’‘’NS-3创建一个开放的用于研究的网络模拟环境,以便于学术团体;这意味着两件事:
-
它需要满足现代网络研究模拟的需要
-
它需要创建一个社区,鼓励贡献、评审并且提高软件质量。
因为创造一个巨大、高质量且被充分测试的网络模拟器需要大量的工作,ns-3项目将任务分配给了社群的各个开发者和用户。‘’‘————维基百科
本贴记录在Ubuntu22.04虚拟机上搭建NS3的具体过程。发帖小白多有不规范,若有冒犯与任何不良嫌疑请及时指出。
官方网站的英文示例链接:Installing ns3 in Ubuntu 22.04 | Complete Instructions
环境搭建
平台:Ubuntu22.04
-
sudo apt update
报错:E: Could not get lock /var/lib/apt/lists/lock. It is held by process 2072 (packagekitd) 解决:
sudo rm /var/lib/dpkg/lock
参考:解决] ubuntu E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用)-CSDN博客
-
sudo apt install g++ python3 python3-dev pkg-config sqlite3 cmake python3-setuptools git qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gir1.2-goocanvas-2.0 python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython3 openmpi-bin openmpi-common openmpi-doc libopenmpi-dev autoconf cvs bzr unrar gsl-bin libgsl-dev libgslcblas0 wireshark tcpdump sqlite sqlite3 libsqlite3-dev libxml2 libxml2-dev libc6-dev libc6-dev-i386 libclang-dev llvm-dev automake python3-pip libxml2 libxml2-dev libboost-all-dev
-
安装依赖和各种软件(Prerequisites) 很顺利,没什么报错
-
下载ns-allinone-3.36.1.tar.bz2 https://www.nsnam.org/releases/ns-allinone-3.36.1.tar.bz2
-
解压在主目录/home/username
tar jxvf ns-allinone-3.36.1.tar.bz2
-
进入解压的文件夹
cd ns-allinone-3.36.1/
执行:
./build.py --enable-examples --enable-tests
会花费一些时间,我使用虚拟机,速度可能会慢一些
-
安装完成运行验证程序
进入目录:cd ns-3.36.1/
运行hello-simulator
./ns3 run hello-simulator
成功
8. 运行案例程序first(C++)
把目录ns-3.36.1/examples/tutorial/first.cc 移动到目录 ns-3.36.1/scratch中
执行C++文件:
./ns3 run scratch/first
收到报文信息
9. 运行案例程序first(Python)
把目录 ns-3.36.1/examples/tutorial/first.py 移动到目录ns-3.36.1/scrath中执行python文件:
./ns3 run scratch/first.py
这时我发生了报错:No module named 'ns'
pip3 install ns
安装完成后再次执行first.py 但还是会报错,报错内容为"no module named ns.applications"
查阅谷歌论坛找到问题,原因是ns3 和python的绑定没有开启
执行:
./ns3 configure --enable-python-bindings
再次运行:
./ns3 run scratch/first.py
我的电脑配置不高,不知什么原因花了比较长的时间才出现结果,但好在成功了
至此NS3安装与配置成功,后续根据研究内容更新相关内容,~~~小白一个求体谅~~~