首先我们需要搭建系统环境
sudo apt-get install build-essential sudo apt-get install tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev sduo apt-get install libxmu-dev libxmu-headers其次下载ns2.35,下载地址: http://www.isi.edu/nsnam/ns/ns-build.html 将下载的.tar.gz文件复制到任意目录下,比如我复制到/home下,解压
tar -zxvf ns-allinone-2.35.tar.gz解压之后,cd ns-allinone-2.35进入该解压目录,然后直接运行
./install注意:安装过程可能遇到的问题: 例如:ns-2.35/linkstate中ls.h文件出错,我们可以根据提示,在erase函数前面加上this->,然后重新安装,便可成功。
配置环境变量
sudo vim ~/.bashrc在文件中添加以下代码:
export PATH="/home/wnt/ns-allinone-2.35/bin:/home/wnt/ns-allinone-2.35/tcl8.5.10/unix:/home/wnt/ns-allinone-2.35/tk8.5.10/unix:$PATH" export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/wnt/ns-allinone-2.35/otcl-1.14:/home/wnt/ns-allinone-2.35/lib" export TCL_LIBRARY="$TCL_LIBRARY:/home/wnt/ns-allinone-2.35/tcl8.5.10/library"修改生效
source .bashrc如此,ns2的安装完成。
下载地址mUDP、mUdpSink和mTcpSink 1、新建/ns-allinone-2.35/ns-2.35/measure文件夹,把下载的文件放入其中。 2、修改/ns-allinone-2.31/ns-2.31/common/packet.h,把如下代码段加入struct hdr_cmn{}中。 我加在dir_t direction_;后面
int frametype_; double sendtime_; unsigned int pkt_id_; unsigned int frame_pkt_id_;3、修改/ns-allinone-2.35/ns-2.35/中的Makefile和Makefile.in两个文件,把如下代码段加入OBJ_CC中,我放在xcp/xcpq.o xcp/xcp.o xcp/xcp-end-sys.o \后面
measure/mtcpsink.o measure/mudp.o measure/mudpsink.o \注意:Makefile中还需要修改CCOPT = -O2 -Wall -Wno-write-strings 后面增加-fpermissive
4、修改/ns-allinone-2.35/ns-2.35/tcl/lib/ns-default.tcl,把如下代码段加入Agent/Ping set packetSize_ 64下一行。
Agent/mUDP set packetSize_ 1000当然还要修改mudp.cc源文件 将以下代码
mUdpAgent::mUdpAgent() : id_(0), openfile(0) { bind("packetSize_", &size_); UdpAgent::UdpAgent(); }改为
mUdpAgent::mUdpAgent() :UdpAgent(), id_(0), openfile(0) { bind("packetSize_", &size_); }5、在/ns-allinone-2.35/ns-2.35目录下依次执行 ./configure;make clean;make三个命令。