Ubuntu-16.04下ndnSIM-2.3的安装教程

2017-11-30  本文已影响0人  Olivia_SHEN

1.安装虚拟机Virtual Box,下载ubuntu16.04.iso,安装ubuntu系统。

2.安装,编译 ndnSIM,参见官网http://ndnsim.net/2.4/getting-started.html

可执行平台

ndnSIM2.x 可在以下平台成功编译和使用:
•Ubuntu Linux 16.04 (32- and 64-bit platform)
•macOS 10.10
•macOS 10.11
•macOS 10.12

包的依赖

1)主要依赖
•python >= 2.6
•libsqlite3
•libcrypto++
•pkg-config
•openssl
•Boost libraries >= 1.54
sudo apt-get install build-essential libsqlite3-dev libcrypto++-dev libboost-all-dev libssl-dev git python-setuptools

2)对 NS-3 Python 绑定的依赖
sudo apt-get install python-dev python-pygraphviz python-kiwi python-pygoocanvas python-gnome2 python-rsvg ipython

下载ndnSIM资源
mkdir ndnSIM
cd ndnSIM

1)下载NS3源码
git clone https://github.com/named-data-ndnSIM/ns-3-dev.git ns-3
2)下载pybindgen源码
git clone https://github.com/named-data-ndnSIM/pybindgen.git pybindgen
3)下载nddSIM资源
git clone --recursive https://github.com/named-data-ndnSIM/ndnSIM.git ns-3/src/ndnSIM
如果clone ndnSIM时没有加 recurisive 参数,则子模块 ndn-cxx 和 NDF 没有下载,则需要再敲:
git submodule update --init

编译

ndnSIM使用标准的NS-3编译过程。 通常,以下命令应该足以配置和构建启用了python绑定的ndnSIM:

cd <ns-3-folder>
./waf configure --enable-examples
./waf

./waf configure 执行完成后会显示configuration 成功,虽然在这行字后面可能还有一堆红红的信息说你缺这个那个的,但是确实已经成功了!缺的那些虽然扎眼但是咱不需要。
./waf 执行后会显示已安装和未安装的模块,某些模块没有也没关系。如果之后添加了新文件,再重新编译就行。
Python绑定是NS-3模拟器的一个可选的但不是非常稳定的特性。 可以禁用python绑定编译,以加快编译速度或避免某些编译错误:

./waf configure --disable-python --enable-examples
./waf
使用ndnSIM仿真

如果编译的时候用上了 --enable-examples,那就能直接跑src/ndnSIM/examples 路径下的例子了,例如
./waf --run=ndn-simple
./waf --run=ndn-grid
如果编译时进行了python绑定,可以运行可视化模块
./waf --run=ndn-simple --vis
./waf --run=ndn-grid --vis
这一句启用了日志(logging)模块,只在 NS-3以 debug mode(-d debug) 编译的情况下生效。
NS_LOG=ndn.Producer:ndn.Consumer ./waf --run=<scenario name>
日志等帮助调试的功能,会增加 overhead。所以测数据时,得把 ns-3以优化模式编译:
./waf configure -d optimized

真实场景

仿真场景(脚本)可以直接写在ns-3下的scratch/ 或src/ndnSIM/examples文件夹内
但更推荐的是写在和 ns-3、ndnSIM都不相关的仓库(repository)里。例如:http://github.com/cawka/ndnSIM-scenario-template

mkdir ndnSIM
cd 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

# Build and install NS-3 and ndnSIM
cd ns-3
./waf configure -d optimized
./waf

sudo ./waf install
cd ..

git clone https://github.com/named-data-ndnSIM/scenario-template.git scenario
cd scenario
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

./waf configure

./waf --run <scenario>
上一篇下一篇

猜你喜欢

热点阅读