我最近开始学习NS3,所以我在website阅读了教程,但是我遇到了一些问题。
例如,我尝试创建一个小型模拟,其中有一些节点,使用wifi,以不同的速度向同一方向移动(基本上是一些带有一些汽车的道路),但我发现只是一些随机模型。是否有一个模型可以帮助我解决这个问题(或者我必须自己改变位置)?
另一个是创建一个小协议。每个节点必须向其他节点发送某个消息(带有一些额外字段的自定义标头),但是节点应该只读取第一个消息并回复,而它必须忽略其他消息。我该怎么办?
答案 0 :(得分:0)
欢迎来到NS3 :)
一个好的起点可能是检查NS3源文件中的可用示例。
在ns3基目录中有一个包含多个方案的“example”文件夹。 “ns3 / src / [module] / examples”目录中的每个模块也有多个示例。
答案 1 :(得分:0)
您可以使用SUMO(模拟城市机动性)跟踪文件来创建车辆运动。然后在您的代码中包含SUMO跟踪文件,如下所示:
#include "ns3/ns2-mobility-helper.h"
...
std::string tracefile= "/home/mert/repos/vanet/highway_s/mobility.tcl";
...
// Create nodes and install mobility to all created nodes
ueVeh.Create (numVeh);
ueAllNodes.Add (ueVeh);
Ns2MobilityHelper ns2 = Ns2MobilityHelper(tracefile);
ns2.Install();
如果您不想使用SUMO,请使用计划的定期函数将新位置加载到节点。
对于第二个问题: 过滤收到的数据包取决于您的应用程序。在示例目录中有很多示例,在ns3 googlegroups中也有类似的问题。如果您指定示例,那么我可以指导。