【问题标题】:In ns-3 simulator when to use p2p nodes, wifistanodes and csmanodes在 ns-3 模拟器中何时使用 p2p 节点、wifistanodes 和 csmanodes
【发布时间】:2017-06-05 16:16:31
【问题描述】:

我正在尝试使用 NS-3 模拟器在随机航点模型和其他一些模型之间进行一些测试。在模拟过程中,我发现当需要运行模拟时,我们需要使用一个名为

的类来启动模型

移动助手

下面的代码是我正在使用的代码的一部分。在初始化过程中,有一些节点需要预先创建,比如

p2p节点

csmaNodes

那么这些节点是什么意思,在什么情况下需要用到它们呢?他们是否指定了某些特定的移动模型?如果有,请提供一些细节,非常感谢!

  NodeContainer p2pNodes;
  p2pNodes.Create (3);

  PointToPointHelper pointToPoint;
  pointToPoint.SetDeviceAttribute ("DataRate", StringValue ("5Mbps"));
  pointToPoint.SetChannelAttribute ("Delay", StringValue ("2ms"));

  NetDeviceContainer p2pDevices;
  p2pDevices = pointToPoint.Install (p2pNodes);

  NodeContainer csmaNodes;
  csmaNodes.Add (p2pNodes.Get (1));
  csmaNodes.Create (nCsma);

  CsmaHelper csma;
  csma.SetChannelAttribute ("DataRate", StringValue ("100Mbps"));
  csma.SetChannelAttribute ("Delay", TimeValue (NanoSeconds (6560)));

  NetDeviceContainer csmaDevices;
  csmaDevices = csma.Install (csmaNodes);

【问题讨论】:

    标签: initialization nodes ns-3


    【解决方案1】:

    p2pNodes 和 csmaNodes 只是这个特定示例中使用的 NodeContainer 的变量名称,以便跟踪两个 newtork(点对点和 CSMA)的节点。您将它们命名为 p2pNodes 或 csmaNodes 只是为了您的方便。重要的是他们安装的 NetDevices 的类型。

    无论如何,这与您安装的 MobilityModel 无关。 P2P 和 CSMA 都是有线网络,我不会考虑在它们上添加随机移动性。用一根连在你身上的电线四处走动是没有意义的..!

    请注意,上面的示例代码会崩溃,因为您已经创建了 3 个 p2pNode,并且只能在两个节点之间实例化点对点链接。

    我建议学习 ns-3 教程以了解节点、NodeContainers(即节点的向量)、NetDevices(即网卡/类型)、MobilityModel 等的概念

    【讨论】:

    • 感谢您的回答,至于使用这两个网络的原因仅仅是因为我是 NS3 的新手并试图更改示例代码以适应我的情况。但是你是对的,发生了一些奇怪的事情:即使我更改了移动模型名称和节点的值,结果仍然保持不变(但不会崩溃)! (和示例代码结果一样)我对此感到困惑,请问为什么?
    • 我很想听听你的一些建议,如果我想在 ns-3 中测试随机路点模型,我需要使用什么样的网络? (我猜应该不是有线网络吧?)
    • 使用 p2p 或 csma 即使您更改移动性也不会对结果产生任何变化,因为它们是有线网络。要查看任何类型的差异,您需要使用无线网络,例如无线上网。 /examples/wireless 文件夹中有几个示例(有些可能使用随机移动)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-13
    • 2017-12-11
    • 2012-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多