这些术语作为技术开发人员的基本常识,要掌握,冷不防的面试官问你什么是MTU,结果栽在这么简单的问题上。
一、MSS的含义
MSS是Maximum Segment Size的缩写,指TCP报文段所允许传送的数据部分最大长度
。
如果上层交付下来的数据太大,tcp会对其进行分块。这个分块过程是在传输层完成的,在接收端的传输层对分块的TCP报文段的数据部分进行重组。MSS字段位于TCP首部中的选项字段。
注意:这个MSS指的是TCP报文段中数据部分的最大长度,并不是整个TCP报文段长度。整个TCP报文段长度 = TCP首部长度 + TCP数据部分长度。
二、通信双方如何协商MSS
MSS的值是在TCP三次握手建立连接的过程中,经通信双方协商确定的
。
链路层使用以太网的话,IP层的MTU是1500 byte,这样去掉IP数据报首部(20 byte),在去掉TCP首部(20 byte)后为1460 byte,此时在默认情况下TCP“选项”字段的MSS值为1460 byte = 1500 - 20 - 20。
在 Internet 标准中,IP层的MTU是576 byte,那么此时TCP“选项”字段的MS