在这篇关于Windows Server 2008的MSS限制的Technet文章中 ,它提到:
在分析源Windows 2008 Server上收集的networking跟踪之后,我们发现远程系统提供了512字节的TCP MSS大小,而Windows 2008服务器一直在发送MSS大小为536字节的数据包
你怎么去做这个,即做一个networking跟踪,然后确定Windows应该使用和目前正在使用的MSS值?
如果使用SYN和SYN / ACK数据包发起TCP连接的数据包捕获,则可以在选项列表中find各方公布的最大段大小。 你可以使用Wireshark创build这样一个捕获,有趣的部分可以是这样的:
如果 – 如本例所示 – 由131.107.65.14宣布的MSS为1452个字节,则在此连接期间,只能看到TCP段长度等于或小于此值。 请注意,两个主机都在SYN和SYN / ACK数据包中独立通告MSS,并且在连接的整个持续时间内交换的所有段都select较小的两个。
您可以在Wireshark中设置一个显示filter来进行快速validation。 tcp.len>1452 and ip.dst==131.107.65.14将显示任何违反1452字节的MSS限制的数据包到131.107.65.14。 如果你的TCP堆栈正确的话,你显然不应该在应用filter之后看到任何数据包。