NS3-如何在模拟过程中修改点对点通道数据速率运行

NS3-How to modify pointopoint channel datarate during simulation run

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

在本教程中,使用点对点 link 设置了两个节点。 我有兴趣在模拟 运行() 期间更改 device/channel 的数据速率并分析延迟。例如,我想在模拟后 3 秒左右将数据速率修改为 3Mbps。

我发现以下 link 与我提出的问题相同,但似乎没有答案。 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();
}