当我通过代理服务器使用firefox向网页发出请求时,我正在分析wireshark日志文件。
以下是建立连接的详细信息:
当我在TCP段中打开选项分支时,我注意到了“最大段大小”,从我的PC到代理服务器的[syn]消息的详细信息-它显示1460字节
同样,从代理服务器到我的PC的[syn,ack]消息的最大段大小为1460字节
建立TCP连接后,从代理服务器发送到我的电脑的每个TCP帧不应该都是1460字节吗?我很困惑为什么是590字节。请告知如何设置590尺寸

最佳答案

一个合理的解释是,590被证明是特定连接的MTU路径。
换句话说,当客户机(连接的一个终端节点)接受最大为1460字节有效负载的数据包时,路上的一些节点接受较小的数据包。为了提高效率,路径mtu发现允许数据包的创建者调整数据包的大小,使其适合路径上遇到的较小的mtu,从而避免碎片化。
顺便说一句:
1460是一个非常常见的MTU(MSS),因为它对应于1500,以太网2的最大值,IP头开销减去20+20=40字节)
有关MTU(最大传输单元)的概述和路径MTU发现方法的基本描述(基本上设置DF,即不分段标志,并依赖ICMP“目标不可到达(数据报太大)”消息来检测Ay无法处理数据包,因此尝试使用较小的大小,直到它通过)。
另外,我建议在连接到不同主机(可能是同一网段上的对等主机)时检查数据包,而不必通过上述代理。你很可能会看到1460字节的帧。

07-25 20:20