MSS와 MTU
by garimoo
MSS와 MTU
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 터널링
- IP-in-IP 터널링 방식은 다른 것으로 캡슐화 된 하나의 IP패킷과 같다.
MSS가 1440byte인 이유?
- 그림과 같이
Outer IP Header
과Inner IP Header
두개의 헤더를 사용하는 방식이기 때문에, 기존의 1460 byte인 MSS에서 IP header의 크기인 20byte만큼 줄어든 1440byte를 MSS로 갖게 된다.
출처
- 패킷 전송 크기를 지정하는 MTU(Maximum Transmission Unit)
- https://en.wikipedia.org/wiki/IP_in_IP
- http://packetlife.net/blog/2012/feb/27/gre-vs-ipip-tunneling/
- https://blog.apnic.net/2014/12/15/ip-mtu-and-tcp-mss-missmatch-an-evil-for-network-performance/
- https://badlyconnected.wordpress.com/category/mtu/
Subscribe via RSS