ndnSIM安装教程

版权声明:本文为博主原创文章,如需转载请联系博主。 https://blog.csdn.net/GregoryHanson/article/details/83036964

本文将介绍在Ubuntu18.04与Ubuntu16.04下安装ndnSIM的方法。总体而言,按照官网教程走,Ubuntu16.04下安装比较顺利。可能是因为Ubuntu18.04的版本比较新,ndn官网的教程还是针对低版本的,没有更新,因此装Ubuntu18.04的时候问题会多一些。
如果没有特殊需求,为了简单,建议使用Ubuntu16.04系统安装ndnSIM。
官网教程:http://ndnsim.net/current/getting-started.html

安装步骤

1、安装核心依赖库。

执行以下命令,Ubuntu18.04与Ubuntu16.04这步都能正常运行。

sudo apt-get install build-essential libsqlite3-dev libcrypto++-dev libboost-all-dev libssl-dev git python-setuptools

2、安装ns-3绑定的python相关库。

这部分是py可视化工具的基础,如果需要使用可视化工具一定要装。执行以下命令,

sudo apt-get install python-dev python-pygraphviz python-kiwi python-pygoocanvas python-gnome2 python-rsvg ipython

这步Ubuntu16.04系统将顺利执行。对于Ubuntu18.04系统,将会有两个包显示无法定位软件包。 解决办法:更改镜像源为清华镜像源,并将18.04与16.04的源同时输入进去。
更改镜像源方法
(1)备份原来的源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

(2)打开源文件

gedit /etc/apt/sources.list

(3)复制源

# 18.04 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

# 16.04 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse

(4)保存退出,并更新源

sudo apt-get update
sudo apt-get upgrade

Tips1:在网上搜索解决办法时,应在google下输入"unable to locate package python-pygoocanvas",可以找到一些外文网站,百度里或在google通过中文搜索很难找到。
Tips2:若显示无法定位软件包,可先输入 sudo apt-get update ,更新一下再用apt-get install,有时可以解决问题。

3、boost库

ndnSIM官方文档在第一步最末端,提示需要1.54或以上版本的boost库,并给出了安装教程链接。不需要点进去!!! 我的Ubuntu18.04与Ubuntu16.04自带的boost库都已满足要求,点进去后会引导你安装1.62版本的boost库(比18.04自带的旧,比16.04自带的新),但是安装后在后面的步骤中,我的电脑反而显示找不到boost库的链接了。为了避免不必要的麻烦,就不用点进去重新安装1.62版本的boost库了。

4、下载相关源

执行以下命令

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

先解释一下以上命令: 新建一个ndnSIM文件夹并进入。新建一个ns-3文件夹,将第一个网址里的内容下载并放入。(依旧在ndnSIM目录里)新建一个pybindgen文件夹,将第二个网址里的内容下载并放入。在ns-3/src文件夹里(该目录在第一步成功执行后已存在),新建一个ndnSIM文件夹,通过–recursive方式下载第三个网址里内容放入。

扫描二维码关注公众号,回复: 3610082 查看本文章

如果报错提示没安装git,则执行 sudo apt-get install git 后重新执行上述命令。在Ubuntu16.04系统上,上述命令将没有问题,根据网速快慢大约需要15~60分钟下载完毕。

Ubuntu18.04系统上,第一条git命令在下载到约20%时将报错,提示意外的文件结束符,并自动结束这条下载。
解决方法:手动进入网址https://github.com/named-data-ndnSIM/ns-3-dev,在左上方的branch选项里选择ndnSIM-v2.6,然后点右边绿色的下载按钮。解压后将文件夹名改为ns-3,放入一开始新建的ndnSIM目录中,再执行后两项下载命令。
可能遇到的问题: 若下载这步是在sudo权限下执行的,则下载下来的文件夹默认需要管理员权限才能操作。 直接复制手动下载的ns-3文件夹时,权限不够。
解决办法: 输入 chmod 777 文件夹名 -R 解锁文件夹权限。

注意: 后两步下载命令可以通过命令行完成,不要手动去下载第三项,因为需要–recursive的下载方式,手动下载在编译时会出错。

5、编译与运行

命令行路径进入ns-3文件夹,执行以下命令。

./waf configure --enable-examples
./waf

第一条命令会检查当前环境设置,运行完后会出现约十多条红色的不满足条件的提示,可忽略
第二条命令将编译环境,大概需执行20~30分钟。最后会提示有哪些模块成功安装,哪些模块没有成功安装。我的电脑上有三个模块没有成功安装,有3—5个模块没有成功安装属于正常现象,但是ndnSIM模块一定是要在成功安装列表里的。

6、测试

执行以下命令

./waf --run=ndn-simple --vis

若成功安装,应该可以看到命令行里两三行的绿色提示内容(build sucessfully),并且会出现一个包含两个节点的可视化窗口。点击开始仿真后可视化窗口会显示两个节点的通信发包情况。

希望以后不要有机会写ndnSIM卸载教程了( ´◔ ‸◔’)

猜你喜欢

转载自blog.csdn.net/GregoryHanson/article/details/83036964