MSS와 MTU

Image FCS: Frame Check Sequence - CRC 에러검출

MTU(Maximum Transmassion Unit)

  • TCP/IP Network 등과 같은 Packet 또는 Frame 기반의 네트워크에서 전송될 수 있는 최대 크기의 Packet 또는 Frame
  • 데이터가 MTU 이상이라면 여러개의 패킷으로 분할되어야 한다.
  • 매체에 따라 달라진다.
  • Ethernet Frame을 제외한 IP Datagram의 최대 크기

MSS(Maximum Segment Size)

  • TCP상에서 전송할 수 있는 사용자 데이터의 최대 크기
MSS = MTU - IP Header 크기 (최소 20 Byte) - TCP Header 크기 (최소 20 Byte)

Q. 왜 Ethernet MTU와 IP MTU가 같을까?

A. (Ethernet) MTU와 IP MTU는 다른 용어이다. MTU는 Layer 2에서 인터페이스가 지원하는 최대 패킷의 크기이다. 인터페이스가 L2 MTU를 초과하는 항목을 수신하면 drop된다. IP MTU는 margin of fragmentation이다. IP MTU는 Ethernet MTU와 같을 수도 있고, 새로 IP MTU를 정의할 수 있다.

예를 들어 MTU를 1600, IP MTU를 1550으로 정의한다면, 1550byte 이상에서 단편화가 발생하고, 인터페이스가 1600 byte 크기의 패킷을 처리할 수 있음을 의미한다.

IP-in-IP 터널링

Image

  • IP-in-IP 터널링 방식은 다른 것으로 캡슐화 된 하나의 IP패킷과 같다.

MSS가 1440byte인 이유?

Image

  • 그림과 같이 Outer IP HeaderInner IP Header 두개의 헤더를 사용하는 방식이기 때문에, 기존의 1460 byte인 MSS에서 IP header의 크기인 20byte만큼 줄어든 1440byte를 MSS로 갖게 된다.

출처