问题标签 [tcp-new-reno]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ns-3 - 我可以在哪里找到 TCP New Reno 的源代码并在 NS3 上运行它
我计划对现有的传输层协议进行一些拥塞控制调整。在这种情况下,我选择了 TCP New Reno。主要是我有两个问题。
1)主要问题是如何找到TCP New Reno的源代码。
2)另一件事是即使我找到了源代码如何在两个节点之间的NS3内部使用它(在seventh.cc中,他们没有指定协议。它采用默认协议。我需要使用TCP New Reno)
我尝试搜索,但与该问题相关的信息很少。我从 NS3 文档中找到了某种源代码。但我认为这不是 TCP New Reno 的真正源代码。
tcp-newreno.h >> 取自https://www.nsnam.org/docs/release/3.18/doxygen/tcp-newreno_8h_source.html
tcp-newreno.cc >> 取自https://www.nsnam.org/docs/release/3.18/doxygen/tcp-newreno_8cc_source.html#l00247
tcp - 在 NS3 中丢弃数据包后,TCP New Reno 设置阈值的位置
在 TCP New Reno 中,一旦识别出丢包,它将阈值设置为当前 CWND 的一半。我需要找到完成任务的方法。
在tcp-l4-protocol.h
它TcpClassicRecovery
用作恢复方法。在TcpClassicRecovery
进入阶段,它使用以下代码段来设置当前的CWND,
然后我假设在调用该EnterRecovery
方法之前,cwnd 已经更新。我需要找到更新 cwnd 的地方。
我还更新TcpNewReno::GetSsThresh
并分析了输出。但这也不是我需要的方法,因为它不会将 cwnd 减半。
注意:我seventh.cc
用来检查 cwnd。它总是将 cwnd 降至 1072。我得到的图表也包括在内。我需要做的是在丢弃数据包后将 cwnd 降低到一半的值。也许seventh.cc
没有使用默认值tcp-l4-protocol.h
。如果是这样我怎么能改变它?