TCP拥塞窗口大小。。?

TCP拥塞窗口大小。。?,tcp,congestion-control,Tcp,Congestion Control,我对获取连接的拥塞窗口大小感兴趣。连接是由另一个程序创建的。我希望我们可以使用proc中的一些文件来获得这个拥塞窗口的大小,或者,有一个从内核获取此信息的调用 所以我需要更多关于这些方法的线索…如果你在Linux上,你可以在套接字上使用套接字级别和TCP\u INFOsocket选项 该结构具有成员tcpi\u snd\u cwnd。可以找到相当广泛的评论 FreeBSD也有一个 Windows使用tcpconnectionestasndcong作为统计类型为呼叫提供拥塞窗口信息。如果您在Lin

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


所以我需要更多关于这些方法的线索…

如果你在Linux上,你可以在套接字上使用套接字级别和
TCP\u INFO
socket选项

该结构具有成员
tcpi\u snd\u cwnd
。可以找到相当广泛的评论

FreeBSD也有一个


Windows使用
tcpconnectionestasndcong
作为统计类型为呼叫提供拥塞窗口信息。

如果您在Linux上,可以使用套接字级别和
TCP\u INFO
socket选项在套接字上使用

该结构具有成员
tcpi\u snd\u cwnd
。可以找到相当广泛的评论

FreeBSD也有一个


Windows使用
tcpconnectionestasndcong
作为统计类型为呼叫提供拥塞窗口信息。

我的解决方案是使用tcpdump捕获数据包重传、sack、ecn cwr。这表明窗口大小将被折叠,每个窗口都有不同的折叠大小。但现在只需计算这些量级并将其插入initcwnd大小即可


我认为这比jxh建议的要简单。

我的解决方案是使用tcpdump捕获数据包重传、sack、ecn cwr。这表明窗口大小将被折叠,每个窗口都有不同的折叠大小。但现在只需计算这些量级并将其插入initcwnd大小即可


我认为这比jxh建议的要简单。

你可以使用wireshark,这对数据包嗅探有好处什么操作系统?@ABFORCE不,你不能。拥塞窗口大小不会出现在网络上。它保存在发送方内核中。你可以使用wireshark,这对包嗅探有好处。什么操作系统?@ABFORCE不,你不能。拥塞窗口大小不会出现在网络上。它保存在发送方内核中。这是您可以通过搜索找到的。我已经看过了。看来你没有注意到我的要求。我没有FD,sock/FD。@Nikhillite:系统调用的存在意味着如果必须从外部程序执行操作,您可以实现一个内核模块来检索此类信息。嗯,我发现的一个简单方法就是测量sack和超时。每一个都会导致cwindow崩溃。我的方法是使用tcpdump获取这些事件,并根据它计算cwnd。@nikhillite:这并不是向内核询问信息。但是,请注意,有时应用程序没有更多的信息要发送,因此这也会影响通过网络发送的字节数。我并不真正关心如何从内核获取窗口大小。我不明白你的第二句话。如果应用程序不发送任何数据,那么根据定义就不会出现拥塞,这意味着窗口的大小将保持不变。关键是这个解决方案有效,并且比装载/开发KLM更快。这是您可以通过搜索找到的。我已经看过了。看来你没有注意到我的要求。我没有FD,sock/FD。@Nikhillite:系统调用的存在意味着如果必须从外部程序执行操作,您可以实现一个内核模块来检索此类信息。嗯,我发现的一个简单方法就是测量sack和超时。每一个都会导致cwindow崩溃。我的方法是使用tcpdump获取这些事件,并根据它计算cwnd。@nikhillite:这并不是向内核询问信息。但是,请注意,有时应用程序没有更多的信息要发送,因此这也会影响通过网络发送的字节数。我并不真正关心如何从内核获取窗口大小。我不明白你的第二句话。如果应用程序不发送任何数据,那么根据定义就不会出现拥塞,这意味着窗口的大小将保持不变。关键是解决方案有效,并且比装载/开发KLM更快。