一.什么是NS 2
NS 2是一种针对网络技术的源代码公开的、免费的软件模拟平台,研究人员使用它可以很容易的进行网络技术的开发,而且发展到今天,它所包含的模块非常丰富,几乎涉及到了网络技术的所有方面。
NS 2(Network Simulator, version 2)是一种面向对象的网络仿真器,本质上是一个离散事件模拟器。由UC Berkeley开发而成。它本身有一个虚拟时钟,所有的仿真都由离散事件驱动的。目前NS2可以用于仿真各种不同的IP网,已经实现的一些仿真有:网络传输协议,比如TCP和UDP;业务源流量产生器,比如FTP, Telnet, Web CBR和VBR;路由队列管理机制,比如Droptail , RED和CBQ;路由算法,比如Dijkstra等。NS2也为进行局域网的仿真而实现了多播以及一些MAC 子层协议。
二.NS 2的安装
1.我使用的是ubuntu9.04,为确保linux系统已经安装gcc .make之类的软件
可以使用 sudo apt-get install build-essential
2.除了这些还要安装一些必要的依赖软件
sudo apt-get install g++ patch perl gnuplot
sudo apt-get install tcl8.4
sudo apt-get install tcl8.4-dev
sudo apt-get install tk8.4
sudo apt-get install tk8.4-dev
sudo apt-get install libxmu-dev
3.下载NS 2安装软件包
(1)登入http://www.isi.edu/nsnam/ns/ns-build.html 下载安装软件包,我下的是ns-allinone-2.34.rar.gz,由于ns-allinone套件已经有NS 2在执行时会用到的其他模组,应此安装过程较为简单。
(2)以root登录ubuntu,在/home/velkan(velkan 是我的用户名)下建立ns2文件夹,将ns-allinone-2.34.tar.gz放在该文件夹下,在终端运行cd
Here are the installation places:
tcl8.4.18: /home/velkan/ns2/ns-allinone-2.34/{bin,include,lib}
tk8.4.18: /home/velkan/ns2/ns-allinone-2.34/{bin,include,lib}
otcl: /home/velkan/ns2/ns-allinone-2.34/otcl-1.13
tclcl: /home/velkan/ns2/ns-allinone-2.34/tclcl-1.19
ns: /home/velkan/ns2/ns-allinone-2.34/ns-2.34/ns
nam: /home/velkan/ns2/ns-allinone-2.34/nam-1.14/nam
xgraph: /home/velkan/ns2/ns-allinone-2.34/xgraph-12.1
gt-itm: /home/velkan/ns2/ns-allinone-2.34/itm, edriver, sgb2alt, sgb2ns, sgb2comns, sgb2hierns
----------------------------------------------------------------------------------
Please put /home/velkan/ns2/ns-allinone-2.34/bin:/home/velkan/ns2/ns-allinone-2.34/tcl8.4.18/unix:/home/velkan/ns2/ns-allinone- 2.34/tk8.4.18/unix
into your PATH environment; so that you'll be able to run itm/tclsh/wish/xgraph.
IMPORTANT NOTICES:
(1) You MUST put /home/velkan/ns2/ns-allinone-2.34/otcl-1.13, /home/velkan/ns2/ns-allinone-2.34/lib,
into your LD_LIBRARY_PATH environment variable.
If it complains about X libraries, add path to your X libraries
into LD_LIBRARY_PATH.
If you are using csh, you can set it like:
setenv LD_LIBRARY_PATH <paths>
If you are using sh, you can set it like:
export LD_LIBRARY_PATH=<paths>
(2) You MUST put /home/velkan/ns2/ns-allinone-2.34/tcl8.4.18/library into your TCL_LIBRARY environmental
variable. Otherwise ns/nam will complain during startup.
After these steps, you can now run the ns validation suite with
cd ns-2.34; ./validate
For trouble shooting, please first read ns problems page
http://www.isi.edu/nsnam/ns/ns-problems.html. Also search the ns mailing list archive
for related posts.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/velkan/ns2/ns-allinone-2.34/otcl-1.13 : /home/velkan/ns2/ns-allinone-2.34/lib(不能有空格)
export TCL_LIBRARY=/home/velkan/ns2/ns-allinone-2.34/tcl8.4.18/library