ndnsim2.3学习总结

        由于研究生的学习可能转向未来网络方面,所以最近在学习使用ndnsim,一开始上来根据ndnsim网站上的说明安装完ndnsim后变没有再看后面的文档,一脸懵逼不知道从何下手,所以耐下性子把文档都看了一遍,发现其实ndnsim网站上的文档还是讲得挺详细的。看完之后做以下总结:

使用ndnsim仿真实验的大体流程:

1.      构建拓扑结构(方法一:代码构建。方法二:使用拓扑插件)

2.      在所有节点安装NDN栈。

3.      安装相应的转发策略。

4.      给各个节点安装对应的消费者应用或者生产者应用

5.      手动或者用globalroutinghelper生成FIB表

6.      确定模拟时间。

7.      使用trace helper获取仿真结果。

8.      开始模拟,模拟技术后销毁。

各种实例见:http://ndnsim.net/2.0/examples.html

 

如何使用自己的仿真代码进行试验?

建议使用ndnsim工作组给出的仿真模板。

具体过程:

(前提已安装ns3和ndnsim,且ns3安装是默认路径。查看usr/local/lib里面有没有ns3相关库,如果没有则重新安装ns3和ndnsim。

cd ns-3

./waf configure -d optimized

./waf

./waf shell(添加的一步)

sudo ./waf install)

cd ndnSIM

git clonehttps://github.com/named-data-ndnSIM/scenario-template.git my-simulations

cd my-simulations

PKG_CONFIG_PATH=/usr/local/lib/ ./wafconfigure

如果编译成功则模板可以正常使用。

之后运行需要使用LD_LIBRARY_PATH=/usr/local/lib ./waf --run <scenario_name>命令。

模板的使用方面:

Scenario文件夹放仿真环境的文件。

Extensions文件夹放应用的文件。

 

为了获取仿真的结果,我们需要使用ndnSIM中提供的trace资源来获取相关的数据。

Packet-leveltrace helpers

l  ndn::L3RateTracer用来估计比特率和统计通过一个节点兴趣包和数据包的数量。

l  ndn::L2Tracer用来记录在第二层丢包率。

Contentstore trace helper

l  ndn::CsTracer用来记录缓存的碰撞率的。(cache hits/cache misses)

Application-leveltrace helper

l  ndn::AppDelayTracer用来记录兴趣包的发送和数据包的接收之间的延时。

Tracer的使用都是在Simulator::Run()前加上tracer类名::InstallAll(“输出文件名”)。

如ndn::AppDelayTracer::InstallAll("app-delays-trace.txt");


还有一点想说的就是网站上给出的例子内容的发布者都是回复的一个虚拟的数据包,所以我们要想实现自己真正的某些收发功能,需要自己写消费者和发布者应用。总的来说难点在于自己编写应用、转发策略、缓存策略等,用现成的策略和应用进行仿真还是很简单的。


最后有一点疑问就是用拓扑插件生成拓扑,中的metric表示什么。。。跳数?优先级?

根据引用\[3\]中的官方教程,安装ndnSIM在Ubuntu 20.04上需要执行以下步骤: 1. 打开终端,执行以下命令安装必要的依赖项: ``` sudo apt install build-essential libsqlite3-dev libboost-all-dev libssl-dev git python3-setuptools castxml sudo apt install gir1.2-goocanvas-2.0 gir1.2-gtk-3.0 libgirepository1.0-dev python3-dev python3-gi python3-gi-cairo python3-pip python3-pygraphviz python3-pygccxml ``` 2. 安装kiwi,执行以下命令: ``` sudo pip3 install kiwi ``` 3. 创建一个名为ndnSIM的文件夹,并进入该文件夹: ``` mkdir ndnSIM cd ndnSIM ``` 4. 克隆ns-3-dev、pybindgen和ndnSIM的仓库: ``` git clone https://github.com/named-data-ndnSIM/ns-3-dev.git ns-3 git clone https://github.com/named-data-ndnSIM/pybindgen.git pybindgen git clone --recursive https://github.com/named-data-ndnSIM/ndnSIM.git ns-3/src/ndnSIM ``` 5. 进入ns-3文件夹,并执行以下命令进行配置和编译: ``` cd ns-3 ./waf configure --enable-examples ./waf ``` 这样,你就可以在Ubuntu 20.04上成功安装ndnSIM了。请注意,这些步骤是根据官方教程提供的信息编写的,确保你的系统满足所有的依赖项,并按照步骤进行操作。 #### 引用[.reference_title] - *1* [在Ubuntu安装ndnSIM](https://blog.csdn.net/qq_44001007/article/details/107575203)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [ndnSIM学习(一)——安装ndnSIM踩坑:克隆ndnSIM时git无法访问(连接超时)的解决方案](https://blog.csdn.net/MamiyaHasaki/article/details/120578299)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值