一、MSS(MAX Segment size)
即最大段大小,这个是tcp协议中规定的option选项中的一个选项,在三次握手的时候,会传递该mss值,进行mss的协商,这是tcp层的概念。
该值为tcp层数据部分的最大长度(包括option字段)。
二、MTU(MAX translation Unit)
最大传输单元,即所能传输的数据的最大值,这个是三层的概念,即三层数据包的最大长度(三层头部+三层数据部分)
三、MTU与MSS之间的联系
我们假设三层协议为ip层协议,四层协议为tcp协议,则
Mtu = mss+iph.header_length+(tcp.header_length-tcp_options_length)
MSS协商
当两台pc进行tcp三次握手时,在握手的过程中,即会进行mss的协商,最终选择mss值最小的那个值。
一般来说,当两台pc进行tcp协商时,协商的mss值应该是两台pc对应的mss值,但是有时路由设备会通过iptables修改待转发的数据的mss值,以
使两台pc之间协商的mss值,是两台pc之间所有关联设备的最小mss值。