网络仿真1:安装ns2

ns2是常用的网络仿真软件,目前最常用的版本是ns-2.34(发布于2009年)和ns-2.35(发布于2011年)。ns2编译安装过程较为繁琐,尤其是需要手工解决一些因编译环境变化而带来的语法错误,对新手很不友好。本文描述了编译运行ns-2.34和ns-2.35的全过程,并提供了解决编译错误的补丁。

系统环境

虚拟机系统: Ubuntu server 17.10.1(全新安装)

宿主机系统:Windows 10

虚拟机管理器:VMWare Workstation

虽然ns-2.35为ns2的最新版,但是由于包括pFabric、PIAS、qJump在内的相当一部分研究工作仍是基于ns-2.34开发的,所以本文重点介绍ns-2.34的安装过程。

安装依赖项

虚拟机系统为全新安装的,所以编译ns2所需要的依赖项较多,包括:

  • gcc
  • g++
  • make
  • libxt-dev
  • libx11-dev
  • libxmu-dev
sudo apt-get install -y gcc g++ make libxt-dev libx11-dev libxmu-dev

安装ns-2.34

下载

下载ns2.34:

wget https://jaist.dl.sourceforge.net/project/nsnam/allinone/ns-allinone-2.34/ns-allinone-2.34.tar.gz

解压缩:

tar -xvf ns-allinone-2.34.tar.gz
cd ns-allinone-2.34

补丁

ns-2.34发布于2009年6月,现在由于编译器版本不兼容等原因,直接编译的话会报一些编译错误,因此需要打补丁。

wget https://raw.githubusercontent.com/zylan29/ns-expr/master/ns-allinone-2.34-bugfix.patch
patch -p1 < ns-allinone-2.34-bugfix.patch

编译

第一次编译时使用install脚本编译ns-2.34的全部组件。

./install

安装ns-2.35

下载

下载ns2.35:

wget https://jaist.dl.sourceforge.net/project/nsnam/allinone/ns-allinone-2.35/ns-allinone-2.35.tar.gz

解压缩:

tar -xvf ns-allinone-2.35.tar.gz
cd ns-allinone-2.35

补丁

ns-2.35发布于2011年11月,在新版本的编译环境下同样需要打补丁才能成功编译。

wget https://raw.githubusercontent.com/zylan29/ns-expr/master/ns-allinone-2.35-bugfix.patch
patch -p1 < ns-allinone-2.35-bugfix.patch

编译

编译ns-2.35的全部组件

./install

运行

运行简单的ns2网络仿真脚本

wget http://nile.wpi.edu/NS/Example/ns-simple.tcl
/path-to-ns2/ns-2.34/ns ns-simple.tcl

参考

  1. ns2项目网址:https://www.isi.edu/nsnam/ns/
  2. ns2项目新网址: http://nsnam.sourceforge.net/wiki/index.php/Main_Page
  3. ns-2.34 bug fix patch: https://github.com/camsas/qjump-ns2/blob/master/ns-allinone-2.34.ubuntu.patch
  4. 解决ns-2.34的"error: narrowing conversion of ‘194’ from ‘int’ to ‘char’ inside { }"问题
    :https://stackoverflow.com/questions/43601538/ns-2-installation-error-narrowing-conversion-of-252-from-int-to-char
  5. 解决ns-2.35 "ambiguous reference"问题:https://stackoverflow.com/questions/21129363/specifying-for-ambiguous-reference
  6. Simple Simulation Example: http://nile.wpi.edu/NS/simple_ns.html
  7. 推荐阅读ns Tutorial:https://www.isi.edu/nsnam/ns/tutorial/nsindex.html

你可能感兴趣的:(网络仿真1:安装ns2)