需要帮助了解数据传输的wireshark结果

在我的局域网中,我有一台运行Samba服务器的路由器,我的电脑连接到路由器。

在从PC上传文件到桑巴服务器的过程中,

以下是wireshark结果的一个快捷方式,

在这里输入图像说明

可以看出,在服务器在帧7560中回复之后,我的PC发送了几个全尺寸的数据包(1514字节的帧)。

在这里输入图像说明

但在帧7560中,通告的窗口大小是94字节。

上述情况贯穿整个结果。

所以,我不明白的是,我的个人电脑怎么能发送近30000 +字节,而从服务器的最后数据包只宣传一个94字节的窗口。

窗口大小受networking缓冲区大小的影响,Linux 2.6中的默认设置应该是好的,如果networking缓冲区太小,请使用以下推荐的千兆位以太网

sysctl -w net.ipv4.tcp_rmem="40960 1048560 4194304" sysctl -w net.ipv4.tcp_wmem="40960 196608 4194304" sysctl -w net.core.rmem_max=4194304 sysctl -w net.core.wmem_max=4194304 

更多详情http://honglus.blogspot.com/2010/01/double-network-throughput-by-tuning.htm

您可以使用iperf来检测窗口大小,如果服务器的本地NIC报告正常,那么它可能是路由器或应用程序的问题

我会认为这是在工作中的TCP窗口缩放 – 它可能已经在连接设置协商,并没有考虑到Wireshark。 所以广告的窗口大小不是94字节,而是(2 ^ x )* 94,其中x是缩放因子。