TCP拥塞窗口大小..?

时间:2013-08-04 05:54:41

标签: tcp congestion-control

我对获取连接的拥塞窗口大小感兴趣。该连接由另一个程序创建。我希望我们可以使用proc中的某个文件获取此拥塞窗口大小,或者,有一个调用从内核获取此信息...

所以我需要更多关于这些方法的潜在客户...

2 个答案:

答案 0 :(得分:3)

如果您使用的是Linux,则可以使用getsockopt()套接字级别和TCP_INFO套接字选项在套接字上使用IPPROTO_TCP

struct tcp_info结构具有成员tcpi_snd_cwnd。可以找到相当广泛的写作here

FreeBSD也有一个similar feature

Windows使用TcpConnectionEstatsSndCong作为统计信息类型,通过GetPerTcpConnectionEStats()调用提供拥塞窗口信息。

答案 1 :(得分:1)

我的解决方案是使用tcpdump来捕获数据包重传,解雇,ecn-cwr。这些表明窗口大小将被折叠,每个窗口大小都有不同的崩溃幅度。但它现在只是计算这些数量并将它们插入initcwnd大小的问题。

我认为这比jxh建议的要容易。