为了研究 MSS,我特意抓了 www.baidu.com 的包,但是我发现百度真是一家技术型很强的公司,百度的首页居然控制了总的字符刚好略小于 MSS,这样做的好处就是可以发送一个 TCP 的包,就可以容乃整个首页的内容。
这里只想抓取 HTTP 协议研究,大部分网址都是将 HTTP 请求重定向 HTTPS,所以上了 hao123 看一下哪些网址还是 HTTP 的,发现 ZF 相关网址,人民网和新华网都可以使用 HTTP 协议,测试他们的不知道违不违法,而在这时恰好发现 hao123 可以使用 http 协议访问,所以下面就以 http://www.hao123.com 为例。
所有数据包如下

发送的 syn 包如下(NO 1)

这里希望的 MSS 是 1460。
回复的 ACK 如下(NO 2)

这里希望的 MSS 是 1420,按照 TCP 协议这里会使用两者最小值 1420。
找一个较大的数据包分析(NO 6)

这里总的数据包大小是 1474 字节,mac 头 14 字节,IP 头 20 字节,TCP 头 20 字节,1474-14-20-20 = 1420。
小结
综上所述 MSS 是指 TCP data 部分的长度。
这里其实也蛮好奇为什么不是 1500 呢,而是两个魔数 1420 和 1460。
网友评论