介绍了MTU和MSS的概念及计算方法,并列举两个MTU相关导致丢包的例子。
MTU: Maxitum Transmission Unit 最大传输单元
MSS: Maxitum Segment Size 最大分段大小
1. MTU是什么
MTU,Maxitum Transmission Unit 最大传输单元,是某层网络中不分包的情况下可传输的最大单元大小,通俗点理解就是某层网络一包数据负载的最大值。我们说MTU一般都是说链路层的,典型的以太网MTU为1500字节。
2. MTU的大小
根据链路层MTU的大小可以逐层推断出各层协议的最大负载。以Ethernet+IP+TCP为例,典型的协议头大小及负载大小如下图所示:
1) 以太网Ethernet
按照规定,以太网帧大小必需在64-1518Byte之间。 除去以太网帧的帧头14Byte和帧尾4Byte,那么Ethernet可承载的数据最大为1500Byte。这个值我们就把它称之为MTU。
2) IP
以太网MTU为1500Byte,除去IP包头数据20Byte,那么IP包可承载的数据最大为1480Byte。
3) TCP
IP层负载最大1480Byte,除去TCP包头数据20Byte,那么TCP包可承载的数据最大为1460Byte(注意:TCP包头数据典型是20Byte,如果加上一些可选项,可达到32Byte,那么TCP包可承载的数据最大值就变为1448Byte)。
3. MSS
<