Ubuntu20.04中安装ns3网络仿真器

前言

  • 我的环境: Ubuntu 20.04,安装的是ns3-3.33.1

安装前的准备工作

建议先了解一下ns3的文件结构

参考博客: https://blog.csdn.net/sinat_36418396/article/details/106605673

  • 换源
  • 安装依赖库 请以官网为准:https://www.nsnam.org/wiki/Installation#Ubuntu.2FDebian.2FMint
  • 全程使用root用户进行安装
    ubuntu 20.04已经内置了 C++和python3

安装依赖前,进行 update 和一些可能用到的包

# Update ubuntu and install dev
RUN apt-get update -y && \
    apt-get install -y  apt-utils autoconf automake libxmu-dev libpcap-dev curl  gcc gdb  ipython3  python-tk

安装依赖

可以添加到脚本中运行,为了方便查看那个包安装失败,所以选择如下格式。
版本不同依赖可能有区别,具体以官网为准。如下为官网整理。

官网:https://www.nsnam.org/wiki/Installation#Ubuntu.2FDebian.2FMint

参考博客:https://blog.csdn.net/qq_43005180/article/details/106951199utm_source=app&app_version=4.16.0&utm_source=app

apt-get  install -y gir1.2-goocanvas-2.0 python-gi python-gi-cairo python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython3  
apt-get  install -y g++ python3 
apt-get  install -y python3-dev pkg-config sqlite3  python3-setuptools git
apt-get  install -y  qt5-default mercurial 
apt-get  install -y gir1.2-goocanvas-2.0 python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython3  
apt-get  install -y  openmpi-bin openmpi-common openmpi-doc libopenmpi-dev
apt-get  install -y  autoconf cvs bzr unrar
apt-get  install -y  gdb valgrind 
apt-get  install -y  uncrustify
apt-get  install -y  doxygen graphviz imagemagick texlive texlive-extra-utils texlive-latex-extra texlive-font-utils dvipng latexmk
apt-get  install -y  python3-sphinx dia gsl-bin libgsl-dev libgsl23 libgslcblas0 tcpdump sqlite sqlite3 libsqlite3-dev libxml2 libxml2-dev
apt-get  install -y  cmake libc6-dev libc6-dev-i386 libclang-6.0-dev llvm-6.0-dev automake python3-pip 
python3 -m pip install --user cxxfilt
apt-get  install -y  libgtk-3-dev vtun lxc uml-utilities 
apt-get  install -y libxml2 libxml2-dev libboost-all-dev

安装过程中缺少的依赖

RUN pip3  install  pygccxml castxml
#
RUN pip install pybindgen
RUN apt-get -y install dpdk dpdk-dev libdpdk-dev dpdk-igb-uio-dkms 
RUN apt-get install -y libtiff-dev  screen
RUN apt-get install -y curl libcurl4-openssl-dev

因为笔者需要安装cartopy,Cartopy是一个Python包,用于地理空间数据处理,以便生成地图和其他地理空间数据分析。自动安装过程中发现安装proj版本低,需要手动安装proj库 首先官网下载需要的版本

https://proj.org/download.html
安装命令如下

cd /proj-8.0.0
./configure \
&& make   \
&& make install 
或者# ./configure && make && make install

安装ns3

官网版本:https://www.nsnam.org/releases/

  • 下载后解压
  • 在在ns-allinone-3.30.1文件夹下运行build
sudo ./build.py --enable-examples --enable-tests

看到以下界面就表明build成功,缺少的模块如果需要用到,可以另行添加,如果期间出现红色字体,说明有些功能没有完成,不过不影响。

Ubuntu20.04中安装ns3网络仿真器

使用waf编译与测试

  • 在在ns-allinone-3.30.1/ns-3.30.1文件夹下执行:
./waf configure --build-profile=debug --enable-mpi --enable-examples --enable-tests 
--out=build/debug_all
  • –build-profile build 文件位置??
  • –enable-mpi 开启mpi 默认关闭,不开的话有的模块有问题安装不上
  • –enable-examples 开启历程
  • –enable-tests 开启测试
  • –out=build/debug_all build文件输出位置

最后出现configure finished successfully

使用test.py测试:

sudo ./test.py -c core

运行经典的第一个脚本

sudo ./waf --run hello-simulator

如果出现 Hello Simulator 说明安装成功。
Ubuntu20.04中安装ns3网络仿真器

上一篇:读书笔记-每天5分钟玩转k8s


下一篇:NS3 设置属性和Type 系统