【问题标题】:New to Network Simulator 3网络模拟器 3 的新手
【发布时间】:2016-10-23 07:43:22
【问题描述】:
我最近开始学习 NS3,所以我阅读了website 中的教程,但我遇到了一些问题。
例如,我正在尝试创建一个小型模拟,其中有一些节点,使用 wifi,以不同的速度向同一方向移动(基本上是一条有一些汽车的道路),但我发现了一些随机模型。有没有模型可以帮助我处理这种情况(或者我必须自己改变位置)?
另一个是创建一个小协议。每个节点都必须向其他节点发送特定消息(带有一些额外字段的自定义标头),但节点应该只读取第一条消息并回复,而它必须忽略其他消息。我该怎么做?
【问题讨论】:
标签:
networking
wifi
simulation
ns-3
【解决方案1】:
您可以使用 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 中的示例目录和类似问题中有很多示例。如果你指定你的例子,那么我可以指导。
【解决方案2】:
欢迎来到 NS3 :)
查看 NS3 源文件中的可用示例可能是一个很好的起点。
ns3 基础目录中有一个“示例”文件夹,其中包含多个场景。 “ns3/src/[module]/examples”目录中的每个模块也有多个示例。