NS3-如何在模拟运行期间修改点对点通道数据速率

问题描述

我是 NS3 的新手,正在查看 first.cc 教程。 https://www.nsnam.org/doxygen/first_8cc_source.html

在本教程中,使用点对点链接设置了两个节点。 我有兴趣在模拟 run() 期间更改设备/通道的数据速率并分析延迟。例如,我想在模拟大约 3 秒后将数据速率修改为 3Mbps。

我发现以下链接与我要问的问题相同,但似乎没有答案。 How to change the data rate between two nodes during the simulation in NS-3?

解决方法

我认为 thenewjames 的评论是正确的。我还没有运行过这个脚本,但这里有一个让你开始的例子。

static void
DecreaseDataRate(PointToPointNetDevice *dev) {
    dev->SetDeviceAttribute ("DataRate",StringValue ("3Mbps"));
}

int
main(int argv,char* arg[]) {
// setup simulation ...
PointToPointHelper pointToPoint;
// rest of setup

Simulator::Schedule(Seconds(3),&DecreaseDataRate,&pointToPoint);
Simulation::Start();
}