我有 2 个 ubuntu 盒子。它们之间有防火墙。我试图模拟 tcp 窗口已满的情况,换句话说,我希望 ubuntu 服务器向客户端发送 tcp 窗口已满标志。以下是 ubuntu 客户端上的 tcp 值。
/proc/sys/net/ipv4/tcp_mem:8970 11963 17940
/proc/sys/net/ipv4/tcp_rmem:4096 87380 3092256
/proc/sys/net/ipv4/tcp_wmem:4096 16384 3092256
我还在客户端上禁用了窗口缩放。
/proc/sys/net/ipv4/tcp_window_scaling:0
测试:然后我使用 scp 将一个 2GB 的文件从服务器传输到此客户端。在防火墙上,我可以捕获数据包。我似乎没有达到 TCP 窗口已满的情况。更大的问题是窗口大小值已达到最大值 65535。有没有办法在 ubuntu 上减小该窗口大小值,以便我可以更快地强制达到 TCP 窗口已满的情况?
答案1
在 ubuntu 上,你可以net.core.wmem_max = 16777216
更改/etc/sysctl.conf