본문 바로가기
CS

[TCP] TCP/IP 4계층 + MTU, MSS, PMTUD

by naahy 2024. 7. 1.

TCP/IP  4계층

데이터를 보낼 때 필요한 것

  • 송신자 주소
  • 수신자 주소
  • 오류 체크 기능

 

데이터를 보낼 때 4계층을 통해 보냄

컴퓨터 간 패킷 통신을 위해 거쳐야 하는 계층들

데이터를 올바르게 보내게끔 하는 것이 TCP IP 4계층

 

인터넷 상에서 데이터를 주고받을 때 쓰는 독립적인 프로토콜의 집합

각 계층은 독립적임

인터넷을 통해 데이터를 보낼 때 주로 TCP와 IP를 사용해서 보냄

 

Application Layer SMTP, HTTP/HTTPS, SSH, POP3, DNS 등
Transport Layer UDP, TCP, SCTP 등
Internet Layer IPv4, IPv6
Network Access Layer 이더넷, Wi-Fi 등

 

Application Layer (응용 계층)

  • 최상위 계층
    • 사용자와 가장 가까움
  • 사용자 또는 애플리케이션 등이 네트워크에 접속할 수 있게 함
  • 브라우저라는 인터페이스를 통해 HTTP의 응용 계층 서비스 이용
  • SMTP, HTTP/HTTPS, SSH, POP3, DNS

 

Transport Layer (전송 계층)

  • 애플리케이션에서 받은 메시지를 기반으로 세그먼트 또는 데이터그램으로 데이터를 쪼개고(패킷화) 데이터가 오류 없이 순서대로 전달되도록 도움을 주는 층
  • 통신 노드 간 신뢰성 있는 데이터 전송을 보장
  • TCP, UDP

 

Internet Layer (인터넷 계층)

  • 통신 노드 간 IP 패킷 전송
  • 패킷을 최종 목적지까지 라우팅
  • IP, ICMP, ARP

 

Network Access Layer (링크 계층)

  • 물리적 주소MAC주소를 사용해 알맞은 기기로 데이터를 전달
  • LAN, 패킷망

 

캡슐화 / 비캡슐화

캡슐화

  • 송신자가 수신자에게 데이터를 보낼 때 각 계층을 지나며 각 계층의 특징들이 담긴 헤더들이 붙여지는 과정
  • 응용 계층 --> 전송 계층(세그먼트/데이터그램화) --> 인터넷 계층(패킷화) --> 링크 계층(프레임화)

 

비캡슐화

  • 캡슐화의 반대. 수신자측에서 헤더를 벗겨가는 과정
  • 링크 계층 --> 인터넷 계층(프레임화) --> 전송 계층(세그먼트/데이터그램화) --> 응용 계층(메시지화)

 

PDU(protocol data unit)

TCP/IP 4계층 기반으로 설명했을 때 각 계층의 데이터 단위

Application Layer 메시지
Transport Layer 세그먼트(TCP), 데이터그램(UDP)
Internet Layer 패킷
Network Access Layer 프레임(데이터 링크 계층), 비트(물리 계층)
  • 세그먼트: 적절한 크기로 쪼갠 조각. 데이터그램과 의미는 같음
  • 패킷: 세그먼트에 SP와 DP가 포함된 IP 헤더가 붙은 형태의 조각
  • 프레임: MAC 주소 헤더와 CRC/체크섬 트레일러가 붙은 조각

 

❗ IP헤더

SP: 송신자의 32비트 헤더 주소
DP: 수신자의 32비트 헤더 주소

 

CRC/체크섬 트레일러

  • 데이터의 오류 감지를 위한 수학적 함수가 적용된 값
  • 링크의 오류(과도한 트래픽 등)로 인해 데이터 손상을 감지하는 역할
  • CRC 알고리즘을 기반으로 값을 만들어 해당 값으로 오류 체크

 

OSI 7계층

 TCP/IP 4계층은 TCP/IP 통신 과정에 초점을 맞춰 OSI 7계층을 좀 더 단순화시킨 모델

각각의 역할은 동일하다.

 


MTU (Maximum Transmission Unit)

네트워크에 연결된 장치가 받아들일 수 있는 최대 데이터 패킷의 크기

데이터는 이 크기를 기준으로 쪼개져서 패킷화 된다.

네트워크 장치의 MTU 보다 패킷의 크기가 크면 그 패킷은 분할될 수 있음

  • 라우터, 스위치 등 모든 장비의 MTU를 확인해야 함
  • 장치가 여러 개인 경우 MTU가 가장 작은 장치를 기준으로 해야 함

 

MSS (Maximum Segment Size)

TCP에서 사용할 수 있는 데이터의 크기

TCP 헤더, IP 헤더를 제외한 값

MTU가 1500 바이트 일 때 실제 데이터는 그보다 작은 값으로 전달해야 함

 

💡 MTU와 MSS
MTU는 IP헤더와 TCP헤더의 크기까지 고려
MSS는 데이터(payload) 크기만을 나타냄

 

PMTUD (Path MTU Discovery)

수신자와 송신자의 경로 상에서 장치가 패킷을 누락한 경우 테스트 패킷의 크기를 낮추면서 MTU에 맞게끔 반복해 보내는 과정

  • MTU 크기를 초과했을 때 패킷이 분할되어 보내지는 게 아니라 아예 전송되지 않는 경우 패킷을 줄여서 다시 보냄

댓글