ndnSIM的real application(with ccn-cxx)运行
ndnSIM官网说明可以利用ndnsim以及ndn-cxx、NFD等模块来模拟真实的协议栈实验。
但如果采用官网的教程和模块版本,是无法运行的。因为ndn-tools的版本会和ndn-cxx以及NFD模块版本冲突。具体的冲突原因是由于各个模块的接口api发生变化,导致模板之间的调用出现问题;或者是ndn-tools的编译需要c++14,而waf-tools只支持c++11。
总之各个模块的版本耦合太过严重,而也没有详细的版本变更说明。导致模拟真实的协议栈实验变得困难。
总结下来有两个解决办法:
方法一:
不采用官网实验所用的模块版本,对ns-3,ndnsim,ndn-cxx,NFD模块的版本进行实验,采用ndn-tools最新的版本,采用c++14进行编译。
方法二:
采用官网实验所用的模块版本,包括:ns-3,ndnsim,ndn-cxx,NFD模块,然后改变ndn-tools的版本,使之回退到c++11编译的版本。
最初采用方法一进行实验,验证了模块的所有版本,发现编译仍然报错。
因此采用方法二,结果编译成果,其中各个模块的版本如下:
ns-3:ndnSIM-v2.5
ndnSIM:master
ndn-cxx:(头指针分离于 c37bf16)
NFD:(头指针分离于 0a30676)
ndn-tools:(头指针分离于 ndn-tools-0.5)
接下来详细描述整个实验的运行过程:
1.下载源码
mkdir ns-dev
cd ns-dev
git clone https://github.com/named-data-ndnSIM/ns-3-dev ns-3
这里要注意不用checkout,下载下来就是ndnSIM-v2.5版本
git clone --recursive https://github.com/named-data-ndnSIM/ndnSIM ns-3/src/ndnSIM
这里注意也不需要checkout,下载就是master分支。
--recursive 选项是下载ndnSIM的子模块,ndn-cxx和NFD。
2.编译安装ndnsim
cd ns-3
./waf configure --enable-examples
./waf
sudo ./waf install
注意这里不能用
-d optimized
3.下载真实实验应用代码
cd ..
git clone --recursive https://github.com/named-data-ndnSIM/scenario-ndn-ping my-simulations
加了--recursive 选项是下载应用代码中的一个子模块,ndn-tools。
cd ./my-simulations/ndn-tools
git checkout ndn-tools-0.5
checkout出ndn-tools-0.5版本。
4.对真实实验应用代码进行编译并运行:
cd ..
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
./waf configure --debug./waf --run ping-simple# or
# ./build/ping-simple
ndnSIM的real application(with ccn-cxx)运行相关推荐
- (1) iphone开发,自定义Window-based Application 模板及委托运行机制
Xcode 4.2之前是有这个模板的,但Xcode 4.2之后的更新版本中就没有了此模板,综合来说模板的作用就是为我们编程的时候节省代码量的. 好了让我们开始自定义Window-based Appli ...
- 曲奇的ndnSIM API教程翻译 命名数据网络 NDN ndn simulator
目录 ndnSIM 开发文档 1.入门 1-1介绍 更多文档 支持 日志 1.2下载和编译 可移植性 先决条件 核心依赖项 NS-3 Python绑定的依赖项 下载ndnSIM源码 编译运行ndnSI ...
- powershell设置了权限依旧无法运行脚本_没用的知识汇总+1 Windows 权限维持汇总...
文中所提到的利用方式均在WIN10与2016中进行了测试.文中所提技术仅用于内部测试,请勿进行非法利用. Windows 启动目录: Windows 启动目录分为,用户启动目录,与系统启动目录. 用户 ...
- 【Android 应用开发】 Application 使用分析
博客地址 : http://blog.csdn.net/shulianghan/article/details/40737419 代码下载 : Android 应用 Application 经典用法; ...
- SpringBoot webmvc项目导出war包并在外部tomcat运行产生的诸多问题以及解决方案
背景: 有需求要将原来的Spring(3.2.6) + Springmvc + Hibernate项目重构为Springboot(1.5.2)项目 描述: 记录重构过程,以及期间遇到的种种问题和对应的 ...
- Run application
Run application 运行程序 Runs an application using a command line. 使用命令行运行程序 Description 描述 Optionally, ...
- Native Application 开发详解
文章目录: 1. 引子: 2. Native Application Demo 展示: 3. Native Application 简介: 4. Native Application 有何妙用: 5. ...
- java 编译 器 ide_在没有IDE的情况下编译和运行Java
java 编译 器 ide 最近一个名为" 不使用IDE编译Java软件包 "的Java subreddit线程提出了一个问题:"是否有一个命令将软件包内的一组Java文 ...
- 在没有IDE的情况下编译和运行Java
最近一个名为" 不使用IDE编译Java软件包 "的Java subreddit线程提出了一个问题:"是否有一个命令将软件包内的一组Java文件编译到一个单独的文件夹中( ...
最新文章
- Ubuntu之Gitlab、Gerrit、Jenkins协调工作配置
- 并发编程-10线程安全策略之不可变对象
- Python实现的导弹跟踪算法,燃!
- Python easy_install
- 动手学PaddlePaddle(0):新版本PaddlePaddle安装
- [C语言] 单向链表的构建以及翻转算法_图文详解(附双向链表构建代码)
- 获取URl后的查询参数
- c语言ide 字体大小,配置最小c语言IDE
- 最直白的编译原理-基础知识(清华-王书3版)
- K3S配置IPV6环境
- C++之三大特性 “封装”、“继承”、“多态”
- 在vue中使用unity3D实现webGL将要呈现的效果
- Jupyter Notebook简洁教程
- 服务器连接异常系统无法登录,Win10系统电脑无法登录LOL提示服务器连接异常的原因及解决方法...
- ppt制作:加总页数首页不显示页码
- 计算机微课用什么音乐,有关微课音乐课堂教学
- 关于几种软件测试分类的方法
- 价值 20 万美元的爱马仕包包是用蘑菇做的,你还会买吗?
- NASA电池数据集内容说明
- Java毕业设计_消防安全培训系统
热门文章
- Qz学算法-数据结构篇(排序)
- Vue使用vue-print-nb打印,并去除页眉页脚,打开打印窗口自动打印
- c语言编程的结果怎么输出到文件中,用C语言如何将结果输出到一个文本文件中保存...
- YOLOV5-face视频流
- 主人拿刀帮宠物狗打架 萨摩耶犬被砍4刀险被夺命
- gitee开源程序kkFileView踩坑及解决方案
- 信管专业的目标职位体系与职业认证体系
- MySql初级篇:入门mysql这一篇就够了(bushi)
- 计算机电路基础卡诺图,2019“计算机电路基础”作业.doc
- 互联网精英在家办公指南