【发布时间】:2022-01-17 14:56:02
【问题描述】:
我正在使用 boost.asio 从我的 linux 程序创建 TCP 连接。我想知道如何从程序中获取其拥塞窗口(cwnd)的值?我知道的唯一方法是解析/proc/net/tcp,但这感觉不对。我宁愿使用专门的系统调用来获取此信息。
类似问题的解决方案 (How to monitor cwnd and ssthresh values for a TCP connection?) 建议使用 TCP Probe,但感觉更不吸引人。
那么获取 cwnd 值的最佳方法是什么?
【问题讨论】:
-
拥塞窗口是单侧的,不与另一侧通信。它也不断变化,一直增长直到出现问题,然后在再次增长之前缩小。你永远无法从接收者那里得到发送者的拥塞窗口。
-
我明白这一点,我只想知道我的拥塞窗口现在。
-
我认为this question 的答案也能回答你的问题
-
这里也是struct tcp_info。
tcpi_snd_cwnd(第 246 行)应该是拥塞窗口。
标签: c++ linux networking tcp congestion-control