【问题标题】:what will limit the growth of cwnd(congestion window)?什么会限制 cwnd(拥塞窗口)的增长?
【发布时间】:2014-02-13 07:23:53
【问题描述】:

当我使用 tcp_probe 模块为 TCP 连接收集 cwnd 时,cwnd 将停止增加大约 1467(数据包)。谁能解释这个原因?或者是什么限制了地球上的 cwnd?

TCP 连接是从 host1 (192.168.0.2) 下载 2G 文件到 host2 (192.168.0.25),这是我的连接命令。

@host1:python -m SimpleHTTPServer

@host2:wget http://192.168.0.2:8000/test_2G

这里是使用 tcp_probe 收集 cwnd 的命令:

@host1:modprobe tcp_probe port=800 full=1

以下是您可能想知道的其他一些信息:

@host1:

#ifconfig eth4
eth4      Link encap:Ethernet  HWaddr 90:E2:BA:14:BE:AC  
      inet addr:192.168.0.2  Bcast:192.255.255.255  Mask:255.0.0.0
      inet6 addr: fe80::92e2:baff:fe14:beac/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:15263651 errors:0 dropped:0 overruns:0 frame:0
      TX packets:31145880 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:5000 
      RX bytes:1008133254 (961.4 MiB)  TX bytes:47154490579 (43.9 GiB)
      Memory:fb780000-fb800000 
#cat /proc/sys/net/ipv4/tcp_mem
770373  1027165 1540746
#cat /proc/sys/net/core/rmem_default
212992
#cat /proc/sys/net/core/rmem_max
12582912
#cat /proc/sys/net/core/wmem_default
425984
#cat /proc/sys/net/core/wmem_max
12582912
#cat /proc/sys/net/ipv4/tcp_wmem
10240   87380   12582912
#cat /proc/sys/net/ipv4/tcp_rmem
10240   87380   12582912

【问题讨论】:

    标签: cwnd


    【解决方案1】:

    在深入内核代码后,我发现如果tcp受限于应用程序而不是网络容量,CWND不会调用增加函数。

    所有的魔法都是由文件 tcp_cong.c 中的函数tcp_is_cwnd_limited 引起的。如果 tcp 不受 cwnd 限制,每个拥塞算法都会直接返回。 :)

    【讨论】:

      猜你喜欢
      • 2013-01-18
      • 1970-01-01
      • 2013-09-19
      • 1970-01-01
      • 2016-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多