PDU, MTU, MSS, PMTUD, PLPMTUD

sunnyjjang·2025년 6월 2일

네트워크

목록 보기
17/26
post-thumbnail

PDU(protocol data unit) 란?

각 계층의 데이터 단위

  1. 애플리케이션 계층: 메시지
  2. 전송 계층: 세그먼트(TCP), 데이터그램(UDP)
    • 세그먼트: 메세지 + TCP/UDP 헤더 (Source Port+Destination Port)
  3. 인터넷 계층: 패킷
    • 패킷: 세그먼트 + IP 헤더 (Source IP+Destination IP)
  4. 링크 계층: 프레임(데이터 링크 계층), 비트(물리 계층)
    • 프레임: 패킷 + MAC헤더(출발지 MAC 주소+목적지 MAC 주소)/트레일러
      [MAC 헤더] + [IP 헤더] + [TCP 헤더] + 데이터 + [트레일러 (CRC)]

MTU (Maximum Transmission Unit) 란?

네트워크 계층(IP) 에서 한번에 전송 가능한 최대 패킷의 크기

MSS(Maximum Segment Size) 란?

전송 계층(TCP) 에서 헤더를 제외한 전송 가능한 데이터 (순수 payload) 의 최대 크기 MSS = MTU - (IP헤더길이) - (TCP헤더길이)

L3 인터넷 계층에서 조각화가 일어나지 않는 경우

  1. IPv6 처럼 기본적으로 조각화를 허용하지 않는 경우 PMTUD를 통해 조각화를 최소화할 수 있음
  2. IPv4 헤더의 특수 필드 설정으로 인해 조각화가 불가능한 경우, 패킷이 MTU 보다 클 때 조각화하지 않고 패킷을 보내온 쪽으로 ICMP 메세지 (’나 전송 못 해’)를 전송함 (PMTUD와 유사 방식)

PMTUD (Path MTU Discovery) 란?

네트워크 경로에서 가장 작은 MTU를 자동으로 탐색하여 최적의 패킷 크기를 결정하는 기술

동작 방식

  1. 출발지에서 IP 헤더의 DF(Don’t Fragment) 플래그 비트를 1로 설정
    • DF(Don’t Fragment) 플래그 비트 1 = ‘이 패킷은 조각화 불가능~’
  2. 중간 라우터에서 패킷이 MTU보다 크면 ICMP ‘Fragmentation Needed’ 메세지를 출발지로 반환
    • 메시지 안에 해당 라우터에서 허용 가능한 최대 MTU도 같이 전송
  3. 출발지는 ICMP 메시지를 받고 MTU를 줄여서 다시 보냄

→ 이 과정을 통해 경로에서 가장 작은 MTU(Path MTU)를 자동으로 발견

PMTUD 방식의 한계 = 보안 장비가 ICMP를 차단하는 경우 ’출발지에서 ICMP 메세지 받지 못하잖아 ㅠㅠ’

PLPMTUD (Packetization Layer PMTU Discovery) 등장

ICMP 메세지 없이 전송 계층(TCP)에서 경로 MTU를 자동으로 탐색하는 기술

동작 방식

패킷을 점진적으로 큰 크기로 전송하면서 경로의 최대 MTU를 탐색
→ 수신자는 패킷을 정상적으로 수신하면 ACK 응답을 반환
→ 응답이 없으면 이전 단계의 MTU로 다시 전송

profile
지금 이 순간이 다시 넘겨볼 수 있는 한 페이지가 될 수 있게

0개의 댓글