본문 바로가기
OS & Network/Network

OSI 7계층

by 코딩공장공장장 2025. 5. 1.

OSI 7계층은 컴퓨터 네트워크 통신이 일어나는 7단계의 표준 프로토콜이다.

네트워크 장비마다 다른 통신 방식으로 발생하는 통신 충돌 현상을 방지하고자 표준 프로토콜을 만들었고,

이를 통해  통신의 과정을 단계별로 분류하여 흐름 파악을 용이하게 하고, 문제 상황 발생시 각 단계에서 대응할 수 있는 구조를 갖추게 되었다.

 

각 계층의 특징


1. 물리계층

  • 데이터를 전기적 신호로 변환하여 전송하는 
  • 오로지 전기적 신호로 변환해서 주고 받는 기능만 존재(데이터를 어디에 보낼지, 어떻게 보낼지에 대한 규칙을 정하는 것은 아님 )
  • PDU : 비트
  • 케이블, 허브, 리피터, 랜이 해당

 

2. 데이터 링크 계층

  • 네트워크 장비(포인트 투 포인트) 간의 데이터 전송
  • CRC 기반의 오류 제어, 흐름제어를 담당함
    CRC는 오륨 검출 코드를 의미함
  • mac 주소를 가지고 통신이 이루어짐
    * mac 주소란
  • 물리계층에서 데이터링크 계층 까지는 하드웨어 영역
  • 전송 단위 : 프레임
  • 이더넷, 브릿지, 스위치
데이터링크 계층의 오류제어와 흐름제어
인접한 네트워크 장치간에 데이터 전송을 담당하고 이로인한 오류제어와 흐름제어를 담당한다.

전송계층의 데이터 전송과 오류제어, 흐름제어와 다른 점은
전송계층은 통신의 종단점 간에 이루어지는 것이고,
데이터 링크 계층은 물리적으로 인접한 네트워크 장비 간의 오류를 잡아내기 위함이다.

따라서 데이터 링크 계층은 전송단위인 프레임에 존재하는 FCS와 같은 값들을 통해 오류를 검출하고
전송계층은 세그먼트에 존재하는 체크섬과 같은 값으로 오류를 검출한다.
각 계층에서 전송되는 단위에 존재하는 값으로 비교를 수행한다.

 

데이터링크 계층에서 혼잡제어 하지 않는 이유
데이터 링크 계층은 하드웨어 영역으로 네트워크 장비간 데이터 전송의 책임이 있다.
혼잡 제어는 네트워크 대역폭 경쟁상황에서 발생할 수 있는 데이터 유실 상황을 방지하고자 함이고 
이는 하드웨어 범위를 벗어남으로 데이터링크 계층이 아닌 전송계층에서 담당한다.

 

L2 프레임 구조 - 이더넷 프레임 예시

  • Preamble : 송신자와 수신자의 동기화를 위해 사용(데이터링크 계층 아님, 물리계층 값)
    - 이더넷 장비가 물리계층과 데이터링크 계층의 역할을 같이 수행하기에 프레임에 같이 나타냄
    - 데이터 전송 전 준비 신호를 보내는 것(박수 세번 시작)
    - 준비 신호를 보내고 SFD(10101011)이 포함되면 실제 데이터 전송 시작
  • 수신지 맥주소
  • 송신지 맥주소
  • Type : 상위 계층에서 사용하는 PDU(프로토콜 data unit) 타입
  • FCS : 오류 검출을 위한 CRC 값
  • DATA

데이터 링크 계층의 오류 제어

FCS를 통해 프레임의 오류를 파악하고 오류가 발견되면 해당 프레임은 버리고 재전송은 하지 않는다.

 

데이터링크 계층의 흐름제어

PAUSE 프레임이라는 프레임 전송을 지정한 시간 동안 멈춰 달라는 요구를 함으로써,

통신 속도 차이를 해결

TYPE을 통해 PAUSE 프레임을 구분 가능

 

* 현대의 컴퓨터는 물리계층 장비와 데이터 링크 계층의 장비가 별도로 구분된다기 보다는 하나의 장비가 두 역할을 모두 수행함

 

 

3. 네트워크 계층

  • 데이터 전송 경로와 순서를 설정하는 라우팅 처리 진행
  • 수신자의 IP주소를 기반으로 라우터가 경로 제공
  • 경로 결정은 라우터의 알고리즘에 의해 제공됨
  • 통신의 종단에 존재하는 기기간의 경로 설정
  • IP 기반으로 설정
  • 패킷의 분할과 재조립
  • 전송 단위 : 패킷

 

4. 전송계층

  • 통신의 종단점에 존재하는 기기간 데이터 전송 담당
  • 데이터 전송, 흐름제어, 오류제어, 혼잡제어를 담당
  • 데이터 전송에 port를 사용
  • 대표적인 프로토콜로 TCP와 UDP가 존재

 

5. 세션계층

  • 통신 단말간 연결인 세션의 생성과 유지
  • 통신 방식(단순, 반이중, 전이중)을 결정
  • 대표적인 프로토콜로 SSH, TLS 등이 존재

 

6. 표현계층

  • 응용계층에서 사용하는 언어와 컴퓨터가 이해할 수 있는 기계어로 변환
  • 인코딩, 디코딩, 암호화, 복호화
  • 확장자의 개념이 이 계층에서 사용됨(인코딩 타입)

 

7. 응용계층

  • 사용자가 직접 사용하는 응용프로그램이 위치하는 공간
  • 데이터 전송을 위한 인터페이스 제공
  • HTTP, FTP

 

왜 우리는 OSI 7 계층을 알아야하나?

 

네트워크 기반 서비스 설계

네트워크 문제 추적 및 해결

 

 

 

각 계층에서 사용되는 장비


물리 계층

리피터
물리적으로 거리가 먼 원격지에 전기적 신호를 전송하기 위해 중간에 전파를 중폭시키는 증폭장치이다.
현재는 네트워크 장비에 기본적으로 탑재되어있어 별도로 사용하지는 않는다.

L1 스위치 : 허브

** 자신과 연결된 모든 장비에 데이터를 전달**

포트를 여러개 가지고 있고 리피터 허브라고 불림
리피터는 1:1 통신만 가능하지만 허브는 여러개의 포트를 통해 여러대의 컴퓨터와 통신할 수 있음
컴퓨터 여러대를 서로 연결하는 장치이기에 컴퓨터끼리 연결하지 않아도 통신 가능하게함
하지만, 허브는 허브에 연결된 모든 컴퓨터에 데이터를 전송한다는 특징이 있다.

* 허브 또한 최신 컴퓨터 네트워크 통신에서는 사용하지 않음
허브의 비효율적인 통신 방식으로 인해 사용하지 않고 대신 스위치에 리피터를 포함하여 사용됨

 

 

데이터링크 계층

 

L2 스위치 : 스위치와 브릿지

스위치와 브릿지는 허브와 다르게 특정 포트에게만 프레임을 전송할 수 있다.

신호를 필요로 하는 포트로만 전달을 하기 위해서 스위치는 자신과 연결된 장비들의 MAC 주소와 포트를 기억하고 있어야한다.

수신지의 맥주소와 포트를 기억하고 신호를 필요로 하는 곳에 전송할 수 있다.

 

스위치와 브릿지 모두 물리적 주소(MAC) 기반으로 프레임 전송을 담당한다.

데이터링크 계층에서 하는 역할은 동일하다고 보면 된다.

다만 스위치의 경우 L3에서 담당하는 라우팅 기능을 포함하는 스위치가 존재하는데 이를 L3 스위치라고 한다.

개념이 혼동될 수 있는데, OSI 7계층은 이론적인 개념에 해당하는 내용이고 이를 바탕으로 기술을 제공하는 실제 장비들은 7계층 마다 별도의 장비들로 구성되지 않고 여러 계층의 역할을 한번에 처리하는 장비들이 제공되고 있다.

그러나 각 계층에서 처리하는 역할은 모두 수행한다고 보면 된다.

 

브릿지와 스위치의 또다른 차이는

브릿지의 포트를 2개만 제공하지만 스위치는 여러개를 제공한다는 것이다.

 

L2 스위치의 동작 방식

1. Learning

출발지 주소가 MAC 주소 테이블에 없다면 주소 저장

 

2. Flooding

목적지 주소가 MAC 주소 테이블에 없으면 전체 Port로 Broadcasting 전달 수행

 

3. Forwardiing

목적지 주소가 MAC 주소 테이블에 있으면 해당 Port로 Unicasting 전달 수행

 

4. Filtering

출발지와 목적지가 같은 네트워크 영역이면 다른 네트워크로 전달하지 않음

 

* Collision Domain

충돌 도메인이란 동일한 Collision Domain에서 하나의 PC가 통신 불가능한 경우 연결된 모든 PC의 통신이 불가능하다.

허브의 경우 연결된 모든 PC를 대상으로 프레임을 전달하기에  허브에 연결된 모든 PC가 하나의 Collision Domain으로 묶이지만,

스위치(브릿지도 동일)는 포트 단위로 프레임을 전달하기에 포트 단위로 Collision Domain이 나뉜다.

 

5. Aging

 

MAC 주소 테이블의 각 주소는 일정 시간 이후 삭제된다.

기본 300초 저장 기간

프레임의 송수신이 발생하면 0으로 초기화

 

 

 

 

 

PDU 데이터가 전송되는 단위

 

TCP/IP 4계층


 

 

 

 

 

 

 

 

 

----------------------- ----------------------- ----------------------- ----------------------- ----------------------- -----------------------

전송 계층 관련
“TCP와 UDP의 차이점은?”

“PG 결제에선 왜 TCP를 사용해야 할까?”

“TCP 3-way handshake 설명해보세요”

🔸 보안/세션 관련
“SSL/TLS는 OSI 7계층 중 어디에 해당되나요?”

“HTTPS는 어느 계층에서 암호화되나요?”

“TLS 핸드셰이크는 어떻게 진행되나요?”

🔸 실무 시나리오형
“PG 요청 보냈는데 결과가 안 돌아와요. 어디서 문제가 생겼을 수 있나요?”

“패킷이 잘려서 오면 어디 계층에서 복구하나요?”

“HTTP는 어떤 계층에서 동작하나요?”

반응형

'OS & Network > Network' 카테고리의 다른 글

TLS 연결 수립 과정  (0) 2025.05.04
DNS, GSLB, CDN  (0) 2025.05.02
HTTP 통신 깊게 알아보기  (0) 2023.08.16
TCP 깊게 이해하기  (0) 2023.08.15