NDN helper 学习记录

1、StackHelper 主要用于在请求的节点上安装ndnSIM网络堆栈, 提供一种简单的方法来配置NDN模拟的几个重要参数。(官方解释)

  其实就是给结点装上堆栈

方法:

全部结点一次性安装(比较常用) ndn::StackHelper ndnHelper; ndnHelper.InstallAll(); 分别给结点安装,三种方式(通常用不到) install(const std::string &nodeName) 结点名 install(Ptr< Node > node) 结点 install(const NodeContainer &c) 结点容器

例1,通过结点容器创建的结点,利用get获得:
// Creating nodes
NodeContainer nodes;
nodes.Create(3);
ndn::StackHelper ndnHelper;
ndnHelper.Install(nodes.Get(0));
ndnHelper.Install(nodes.Get(1));
ndnHelper.Install(nodes.Get(2)); 例2,在拓扑txt文件中创建的结点,直接寻名获得结点,注意寻名这个方式必须是在txt已经定义好了结点名,如果是例一这种创建结点的方式,是无法通过寻名的

AnnotatedTopologyReader topologyReader("", 25);
topologyReader.SetFileName("../ns-3/src/ndnSIM/examples/topologies/topo-grid-3x3.txt");
topologyReader.Read();

// Install NDN stack on all nodes
ndn::StackHelper ndnHelper;
ndnHelper.Install(Names::Find<Node>("Node0"));
ndnHelper.Install(Names::Find<Node>("Node1"));
ndnHelper.Install(Names::Find<Node>("Node2"));
ndnHelper.Install(Names::Find<Node>("Node3"));

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwjfxd.html