问题标签 [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.

0 投票
1 回答
423 浏览

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

0 投票
2 回答
229 浏览

tcp - 在 NS3 中丢弃数据包后,TCP New Reno 设置阈值的位置

在 TCP New Reno 中,一旦识别出丢包,它将阈值设置为当前 CWND 的一半。我需要找到完成任务的方法。

tcp-l4-protocol.hTcpClassicRecovery用作恢复方法。在TcpClassicRecovery进入阶段,它使用以下代码段来设置当前的CWND,

然后我假设在调用该EnterRecovery方法之前,cwnd 已经更新。我需要找到更新 cwnd 的地方。

我还更新TcpNewReno::GetSsThresh并分析了输出。但这也不是我需要的方法,因为它不会将 cwnd 减半。

注意:我seventh.cc用来检查 cwnd。它总是将 cwnd 降至 1072。我得到的图表也包括在内。我需要做的是在丢弃数据包后将 cwnd 降低到一半的值。也许seventh.cc没有使用默认值tcp-l4-protocol.h。如果是这样我怎么能改变它?

在此处输入图像描述