在ns-3模拟器中何时使用p2p节点,wifistanodes和csmanodes

时间:2017-06-05 16:16:32

标签: initialization nodes ns-3

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

的类来启动模型
  

MobilityHelper

下面的代码是我正在使用的代码的一部分。在初始化期间,需要预先创建一些节点,例如

  

p2pNodes

     

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);

1 个答案:

答案 0 :(得分:1)

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

在任何情况下,这与您安装的MobilityModel无关。 P2P和CSMA都是有线网络,我不会考虑在这些网络上添加随机移动性。用一条连接在你身上的电线移动是没有意义的。

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

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