OSI 7계층 vs TCP/IP 4계층

박상후·2025년 5월 2일

네트워크

목록 보기
1/10
post-thumbnail

1. 왜 계층을 나눌까?

복잡한 네트워크 통신을 이해하고 설계하기 위해, 전체 과정을 단계적으로 나눈 것이 계층 모델이다.
각 계층은 독립된 책임을 가지며, 상하 계층과 명확한 인터페이스로만 통신한다.
이런 분리 덕분에 프로토콜 개발, 디버깅, 구현이 효율적으로 가능하다.

2. OSI 7계층

아래 표는 각 계층이 담당하는 역할, 데이터를 다루는 단위, 사용하는 프로토콜, 관련된 장비를 정리한 것이다.
이 구조를 이해하고 있어야, 네트워크 장애나 통신 오류가 발생했을 때 어느 계층에서 원인을 추적할지 판단할 수 있다.

계층주요역할데이터 단위대표 프로토콜주요 장비
7. 응용 계층사용자와 가장 가까운 계층. 사용자에 서비스 제공데이터(메시지)HTTP, FTP, SMTP, DNS- (앱 내부)
6. 표현 계층데이터 인코딩, 압축, 형식 변환, 암호화데이터(메시지)JPEG, MPEG, TLS, SSL-
5. 세션 계층세션 관리(연결 세션 생성, 관리, 종료)데이터(메시지)NetBIOS, RPC, PPTP-
4. 전송 계층양 끝 간 신뢰성 전송(송수신 간 신뢰성, 흐름/혼잡 제어)세그먼트 / 데이터그램TCP, UDP-
3. 네트워크 계층경로 지정, 논리적 주소(IP) 기반 라우팅패킷IP, ICMP, ARP, RIP라우터
2. 데이터링크 계층MAC 주소 기반 전송, 프레임 전달, 오류검출프레임Ethernet, PPP, VLAN스위치
1. 물리 계층실제 전기/광신호 전송비트없음 (케이블/신호 방식)허브, 리피터, 케이블

OSI 모델은 개념적으로 가장 정교하지만, 실제 프로토콜은 일부 계층을 통합하거나 생략한다.

3. OSI 7계층의 한계

OSI 모델은 이상적인 구조를 제공하지만, 세션/표현 계층은 따로 구현되지 않는 경우가 많다.
실제 네트워크 환경에서는 HTTP 같은 응용 계층이 데이터 인코딩이나 세션 유지까지 모두 처리하는 경우가 많다.
이 때문에 계층을 통합적으로 다루는 TCP/IP 4계층 모델이 더 자주 사용된다.

4. TCP/IP 4계층: 실제 인터넷 표준

TCP/IP는 초기 인터넷인 ARPANET에서 실용성과 구현 중심으로 설계된 네트워크 통신 모델이다.
OSI 7계층이 이론적으로 잘 정리되어 있었지만, 실제로는 적용하기 어려운 복잡성 때문에 TCP/IP 모델이 널리 채택되었다.
현재 인터넷 프로토콜 표준은 대부분 TCP/IP를 기반으로 한다.

TCP/IP 계층포함하는 OSI 계층주요 프로토콜주요 장비
4. 응용 계층7. 응용 계층
6. 표현 계층
5. 세션 계층
HTTP, DNS, FTP-
3. 전송 계층4. 전송 계층TCP, UDP-
2. 인터넷 계층3. 네트워크 계층IP, ICMP, ARP라우터
1. 네트워크 인터페이스 계층2. 데이터링크 계층
1. 물리 계층
Ethernet, MACNIC, 스위치

현실에서 대부분의 네트워크는 TCP/IP 4계층 모델을 기준으로 동작한다.
OSI는 분석과 설계에, TCP/IP는 구현과 운용에 기준이 된다.

5. 캡슐화: 계층 간 데이터 전달 방식

상위 계층의 데이터는 하위 계층으로 내려가면서 헤더가 덧붙는 형태로 전달된다.
이를 캡슐화(Encapsulation)라고 하며, 반대 과정은 역캡슐화(Decapsulation)라고 한다.

예시: HTTP 요청이 실제로 전송될 때

응용 계층: HTTP 헤더 + 본문  
↓  
전송 계층: TCP 헤더 추가  
↓  
인터넷 계층: IP 헤더 추가  
↓  
네트워크 계층: MAC 헤더 추가 → 실제 전송

각 계층은 자신의 역할만 수행하고, 아래 계층은 상위 데이터를 알지 못한 채 전달만 한다.
이로써 유연성과 확장성이 보장된다.

6. HTTP 요청은 어떻게 계층을 따라 이동하는가?

웹 브라우저에서 HTTP 요청을 보낼 때, 이 요청은 단순히 인터넷으로 "날아가는 문자열"이 아니다.
네트워크 계층 구조에 따라 단계적으로 포장되고(캡슐화), 목적지 서버에서 다시 벗겨지는(역캡슐화) 흐름을 거친다.

전송 흐름 요약 (송신 측 → 수신 측)

  1. 응용 계층 (HTTP)
    사용자가 주소창에 입력한 URL은 HTTP 요청 메시지로 변환된다. 이 요청은 "GET /index.html HTTP/1.1" 같은 형식이다.

  2. 전송 계층 (TCP)
    HTTP 요청은 TCP 세그먼트로 포장된다. TCP는 송수신 간 신뢰성 있는 전송을 보장하기 위해 시퀀스 번호, ACK, 윈도우 크기 등의 정보가 담긴 헤더를 붙인다.

  3. 인터넷 계층 (IP)
    TCP 세그먼트는 IP 패킷으로 포장된다. 이때 송신자와 수신자의 IP 주소, TTL(Time to Live), 패킷 식별자 등이 헤더에 포함된다.

  4. 네트워크 인터페이스 계층 (Ethernet)
    IP 패킷은 이더넷 프레임으로 감싸지며, 송신자와 수신자의 MAC 주소, 에러 검출용 CRC 등이 헤더와 트레일러에 포함된다.

  5. 물리 매체를 통해 전송
    이더넷 프레임은 전기 신호로 변환되어 케이블, 스위치, 라우터 등을 거쳐 목적지 서버로 이동한다.

7. 서버 측에서 역캡슐화는 어떻게 이루어지는가?

  1. 서버의 네트워크 카드(NIC)는 프레임을 수신하고, MAC 주소가 자신의 것인지 확인한 뒤, 이더넷 헤더를 제거한다.

  2. IP 계층은 IP 주소와 TTL 등을 검사하고, IP 헤더를 제거한 뒤 상위 TCP 계층으로 전달한다.

  3. TCP 계층은 포트 번호를 기준으로 적절한 응용 계층으로 데이터를 넘기며, 세그먼트 재조립, 순서 정렬, ACK 확인 등을 수행한다.

  4. 마지막으로 HTTP 요청이 완성된 형태로 응용 계층(Web 서버)로 전달되어, 요청한 리소스를 처리하게 된다.

정리

  • TCP/IP 4계층은 실제 웹 요청, 서버 운영, 로깅, 디버깅 과정에서 가장 많이 등장한다.
    예를 들어, HTTP 요청이 실패했을 때 개발자는 응용 계층 오류인지, TCP 전송 문제인지, IP 라우팅 오류인지 구분할 줄 알아야 한다.

  • 캡슐화 구조를 이해하면 Wireshark 같은 툴로 패킷을 분석할 때 각 계층의 헤더를 읽고, 어디서 문제가 발생했는지를 파악하는 능력이 생긴다.

면접 대비 요약

  1. 면접에서 관련 질문이 나올 경우, '7계층 중 몇 계층이 어디까지 구현되느냐'보다 'HTTP 요청이 사용자에서 서버까지 어떤 계층을 거쳐 전달되는지'를 흐름 중심으로 설명할 수 있어야 한다.

  2. 면접에서 "캡슐화란 무엇인가요?"라고 묻는 경우, 단순히 "헤더를 붙이는 과정"이라고만 답하면 부족하다.
    예를 들어, HTTP 요청을 전송할 때 어떤 계층에서 어떤 헤더가 추가되고, 그것이 수신 측에서 어떻게 제거되어 상위 계층에 전달되는지까지 설명할 수 있어야 한다.

  3. 면접에서는 “HTTP 요청이 왜 실패했는가”를 분석할 수 있는 사고력을 본다.
    예를 들어, 브라우저에선 요청이 나갔지만 응답이 없다면,
    1) DNS 응답이 안 온 것인지(응용 계층 문제)
    2) TCP 연결이 안 되는 것인지(전송 계층 문제)
    3) 라우팅이 안 되는 것인지(인터넷 계층 문제)
    4) 혹은 MAC 주소 전달에서 실패한 것인지(데이터링크 계층 문제)
    를 계층 흐름에 따라 분리해서 추적할 수 있어야 한다.

profile
성장보다 성과를

0개의 댓글