在Ubuntu20.04安装ns3 3.37,并使用SNS3

一. 所使用的软件

VMware Workstation Pro和Ubuntu 20.04的镜像 :

VMware Workstation Pro自己去官网下载,一搜就有。

Ubuntu的镜像:链接:link

Xshell和XFTP软件包官网可以下链接:link

Xshell和XFTP选择家庭/学校免费版,富哥的话当然可以去买咯。主要是为了方便linux和windows之间文件传输。

二. 安装步骤

1. VM安装和ubuntu安装。

20.04版本安装步骤基本和别的版本差不多。

2. xshell和xftp与linux连接并向linux传输文件

2.1 linux上的准备工作

(1)安装网络工具:

sudoapt install net-tools

(2)检查是否开启ssh server:

dpkg-l|grepssh


(3)安装server服务软件包:

sudoapt update

sudoapt install openssh-server

    (4)打开ssh服务:

sudosystemctl enablessh

    (5)  检查ssh服务运行状态(默认端口22)

sudosystemctl statusssh

    (6)确保防火墙允许服务端口:

sudoufw allowssh

      (7)查看IP地址:

ifconfig


2.2 windows上xshell和xftp

1,打开xshell,选择后来,选择新建会话。

在名称处输入查到的ip,点击确定,然后选中自己新建的,点击连接。

然后输入虚拟机的用户名-->确定--->输入虚拟机密码--->确定  (想以后方便可以把记住用户名、密码勾上)连接成功基本如图:

2,打开xftp,选择后来,然后新建会话,也是输入查到的ip

然后在windows那一侧找到自己所要传的文件,右键选择传输即可。

3. 安装ns3 3.37

3.1 安装所需的依赖

命令如下,亲测有效,照着输,安装ns3时基本没报错:

sudoapt installgit

sudoapt-get install g++python3 python3-dev pkg-config sqlite3 cmake

sudoapt-get install mercurial

sudoapt-get install qt5-default

sudoapt-get install autoconf cvs bzr unrar

sudoapt-get install gdb valgrind

sudoapt-get install gsl-bin libgsl-dev libgslcblas0

sudoapt-get install flex bison libfl-dev

sudoapt-get install g++-3.4 gcc-3.4

sudoapt-get install tcpdump

sudoapt-get install sqlite sqlite3 libsqlite3-dev

sudoapt-get install libgtk2.0-0 libgtk2.0-dev

sudoapt-get install libgtk-3-dev

sudoapt-get install libxml2 libxml2-dev

sudoapt-get install vtun lxc uml-utilities

sudoapt-get install uncrustify

sudoapt-get install doxygen graphviz imagemagick

sudoapt-get install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils dvipng latexmk

sudoapt-get install python3-sphinx dia

sudoapt-get install gir1.2-goocanvas-2.0 python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython3

sudoapt-get install libxml2 libxml2-dev libboost-all-dev

sudoapt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev

3.2 ns 3.37

(1)关于安装包:

去官网下,下载链接如下:链接:link可在windows下(比较快),然后通过xshell和xftp传到linux。也可以直接在linux里下,可能会比较慢。

直接git。在ubuntu的终端里 git clone https://gitlab.com/nsnam/ns-3-dev.git ns-3.37

(2)安装:

mkdirtarballs

cdtarballs

cdns-allinone-3.37/ns-3.37

./ns3 configure--enable-examples--enable-tests

(注)从3.36版本开始要使用./ns3,3.35及以前的版本是使用./waf

[GalaxyerKw注:我使用ubuntu18.04版本,尝试配置安装3.35版本时问题百出,建议初次直接随教程尝试3.37版本。]

上面那条configure命令执行完正常应该是:

./ns3 build

./test.py

出现的所有都pass过了基本就安装成功了。可以运行一个脚本测试一下:

./ns3 run first

4. 加入sns3模块

(1)加入satellite module

$ cdns-3.37/contrib

$ gitclone https://github.com/sns3/sns3-satellite.git satellite

(2)traffic 和 magister-stats modules (也是在contrib目录下)

$ gitclone https://github.com/sns3/traffic.git traffic

$ gitclone https://github.com/sns3/stats.git magister-stats

(3)再次build:

$ cdns-3.37

$ ./ns3 clean

$ ./ns3 configure--build-profile=optimized--enable-examples--enable-tests

$ ./ns3 build

(4)下载定义模拟参考场景的数据:在ns-3.37/contrib/satellite下打开终端

$ gitsubmodule update--init--recursive

这个下载真的超级慢(最好科学一下)(5)

$ ./test.py--no-build

由ns3运行一些并行测试,基本都能pass

三. 可能会出现的问题及解决办法:

cmake: command not found

解决办法:先下载合适的cmake包,然后切换到相应目录下,比如cd cmake-版本然后进行编译安装:

./bootstrap--prefix=/usr--datadir=share/cmake--docdir=doc/cmake &&make

sudomakeinstall

检查是否正确:

cmake--version

C++: fatal error: Killed signal terminated program....

解决办法:创建swap分区最好切换到home目录下,我第一次时在ns3目录下直接弄还是会报错。①创建分区路径

sudomkdir-p/var/cache/swap/

②设置分区的大小bs=64M是块大小,count=64是块数量,所以swap空间大小是bs*count=4096MB=4GB

sudoddif=/dev/zeroof=/var/cache/swap/swap0bs=64Mcount=64

③设置该目录权限

sudochmod0600/var/cache/swap/swap0

④创建SWAP文件

sudomkswap /var/cache/swap/swap0

⑤激活SWAP文件

sudoswapon /var/cache/swap/swap0

⑥ 查看SWAP信息是否正确

sudoswapon-s

虚拟机提醒空间不足:

(1)定期清理drag_and_drop目录(文件如果可以从windows直接拖拽到linux)(2)查找大文件并删除

du-h--max-depth=目录级别

(3)扩展硬盘空间,并将多个合并。但是在扩展完硬盘空间后,增加硬盘空间后,系统会提示还需要进入系统进行相应的扩展设置,进入Ubuntu中的Disks,会显示未分配的空间,将其分配给相邻的磁盘即可.

其他

C++ 中浮点数类型与整数类型之间可以进行比较操作。如果你在比较过程中遇到问题,可能是因为一些警告或隐式类型转换引起的。新的 C++ 标准可能会引入更严格的类型检查,从而导致一些警告或错误。解决:显式的类型转换,将浮点数转换为整数,然后再进行比较,这样可以避免潜在的警告或错误。

有关3.35版本的ns3——加入sns3模块(satellite,traffic,magister-states)时,不要像3.37版本一样放入contrib目录下,而是直接零散放在ns-3.35目录下。

在3.36及以后的版本里,运行程序都是./ns3 run <ns3-program>,在3.35及之前的版本里是./waf --run <ns3-program>

总结

鄙人水平有限,接触到的资源和查到的资料也有限,是基于自己的安装经历和查到的别人分享的方法所写,不可能涉及所有可能出现的error,因此只接受批评指正,不接受因错误解决方法不全而带来的不良言论,谢谢阅读。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,444评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,421评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,363评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,460评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,502评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,511评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,280评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,736评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,014评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,190评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,848评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,531评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,159评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,411评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,067评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,078评论 2 352