Ns3ForUbuntu

Q&A

Q1: g++: internal compiler error: Killed (program cc1plus)

安装教程

=====================================================================================

环境:ubuntu 16.04

安装: ns-3.28

=======================================================================================

Please submit a full bug report,

查了很多资料,最后发现主要原因是内存不足, 临时使用交换分区来解决吧

1
2
3
4
5
6
sudo dd if=/dev/zero of=/swapfile bs=64M count=16
#count的大小就是增加的swap空间的大小,64M是块大小,所以空间大小是bs*count=1024MB
sudo mkswap /swapfile
#把刚才空间格式化成swap格式
sudo swapon /swapfile
#使用刚才创建的swap空间

After compiling, you may wish to

Code:

1
2
sudo swapoff /swapfile
sudo rm /swapfile

开了个临时交换分区以后快了好多【引起舒适】

Q2: install netanim

Step1:安装必要的插件

先简单介绍下synaptic:

新立得(Synaptic)是 debian 及其衍生版本如Ubuntu Linux操作系统的包管理工具apt的图形化前端。
它结合了图形界面的简单操作和 apt-get 命令行工具的强大功能。您可以使用新立得安装、删除、配置、升级软件包,对软件包列表进行浏览、排序、搜索以及管理软件仓库或者升级整个系统。
简单来说就是apt-get的图形化界面,也可以用apt-get代替,看个人爱好
安装很简单

1
$ sudo apt-get install synaptic

启动也很简单

1
$ sudo synaptic

如果已经安装好了,请忽略上面讲述

启动也很简单
sudo synaptic

如果已经安装好了,请忽略上面讲述

先用synaptic安装三个插件:

qt4-qmake:安装工具
libqt4-dev:绘图所需
libxml2-dev:netanim需要读取程序生成的xml文件,离线展示动画
搜索到对应的插件之后如果没有安装,就右键->mark for installation ->Apply

Step2:安装

进入ns3的文件夹,执行命令

1
2
3
4
5
$ cd ns-allinone-3.xx
$ cd netanim-3.xxx
$ make clean
$ qmake NetAnim.pro
$ make

安装完毕

Step3:启动

在当前文件夹下运行下面命令,启动软件

1
$ ./NetAnim

出现界面

Step4:运行

在NS3提供的示例first.py中,并没有生成NetAnim所需要的xml文件,我们尝试用NetAnim来展示first.cc的仿真结果。

首先在first.cc里面,加上头文件

include "ns3/netanim-module.h"

run前面加上三句代码

1
2
3
4
5
6
7
AnimationInterface anim("first.xml");
anim.SetConstantPosition(nodes.Get(0), 1.0, 2.0);
anim.SetConstantPosition(nodes.Get(1), 2.0, 3.0);

Simulator::Run();
Simulator::Destroy();
return 0

保存后退出

第二三行是描绘两个节点的坐标,也可以不要这两行

在ns3文件夹下重新编译程序./waf --run scracth/first
在netanim文件夹下重新启动./NetAnim

Open->first.xml->Play

在2秒附近就可以看到动画演示。//生成的xml文件再ns3.xx文件夹下

Q3: 在NS3下如何用Python脚本,以及PyViz可视化

Method 1:

1
2
./waf shell
python examples/tutorial/first.py

Method 2:

1
./waf --pyrun examples/tutorial/first.py

接下来是下载 PyViz

使用以下命令来安装:

1
2
sudo apt-get install python-dev python-pygraphviz python-kiwi python-pygoocanvas \
python-gnome2 python-gnomedesktop python-rsvg

安装完后运行一个简单的例子:

1
./waf --pyrun src/contrib/flow-monitor/examples/wifi-olsr-flowmon.py --vis

然后你就会看到一个由9个节点组成的网络拓扑:

给咱来个🍰,啾咪