Windows下NS2-2.33完全安装步骤

来源:互联网 发布:网络协议的三要素定义 编辑:程序博客网 时间:2024/06/05 16:00
安装了一下午+晚上,终于弄成了.
不用安装lunix也可运行NS2
====================
Windows下NS2-2.33完全安装步骤
­
最近安装了NS2-2.33,由于版本过新,安装过程中出现了很多问题,经过反复试验和总结,终于安装成功,现在记录安装步骤如下,以供参考:(注意,对于NS2-2.33,请严格按照以下步骤安装,因为有些涉及补丁之类的无法正常安装)
­
1.先去http://www.cygwin.com/下载安装cygwin的最新版本
­
如果默认安装会安装一些基本的包,但是如果要继续安装NS2需要安装一些必备的包,安装过程中有一个“Select Packages”可以选择备选的安装包,点击“view”按钮,使得后面的状态显示为FULL,然后找到并选中以下必须的包:
gcc
gcc-g++
gnuplot
make
patch
perl
tar
X-startup-scripts
xorg-x11-base
xorg-x11-bin
xorg-x11-devel
xorg-x11-bin-dlls
xorg-x11-bin-lndir
xorg-x11-etc
xorg-x11-fenc
xorg-x11-fnts
xorg-x11-libs-data
xorg-x11-xwin
然后继续安装,cygwin会从你选择的镜像站点下载所需要的包,然后自动进行安装。
­
2.下载NS2-2.33,建议下载allinone版本,下载下来的文件是ns-allinone-2.33.tar.gz
­
在cygwin 目录下创建目录 /home/yourname/,这里yourname代表你的用户名,可以随便起一个名字,用过Linux的人都知道其实这个就是类似于一个Linux 操作系统的目录,然后把这个tar.gz文件拷贝到/home/yourname/目录下,然后使用tar命令进行解压缩,注意:这里不要使用 winrar或者winzip进行解压缩,否则安装过程会出错的
使用tar解压缩的命令是: tar zxvf ns-allinone-2.33.tar.gz
­
然后解压缩后进入目录ns-allinone-2.33,注意:这里要开始打补丁了,由于有个bug,在安装完成以后nam运行是有错误的,所以这里一定要先打补丁才能再开始安装NS2,打补丁的方法如下:
先新建一个文件“tk-8.4.18-tkBind.patch”,用记事本输入这个文件的内容并保存,内容如下:
--- tk8.4.18-orig/generic/tkBind.c 2006-07-21 08:26:54.000000000 +0200
+++ tk8.4.18/generic/tkBind.c 2008-07-05 12:17:10.000000000 +0200
@@ -586,6 +586,9 @@
/* ColormapNotify */ COLORMAP,
/* ClientMessage */ 0,
/* MappingNotify */ 0,
+#ifdef GenericEvent
+ /* GenericEvent */ 0,
+#endif
/* VirtualEvent */ VIRTUAL,
/* Activate */ ACTIVATE,
/* Deactivate */ ACTIVATE,
保存文件后,运行命令: patch -p0 <tk-8.4.18-tkBind.patch
即可完成打补丁
然后输入命令 ./install进行安装
基本上安装2~3个小时
­
这时还需要修改路径信息,把可执行文件的路径加到PATH环境变量中
在/home/yourname下新建文件.bashrc,这里应该是使用VI或者vim来新建的,输入以下内容:
­
export NS_HOME=/home/Administrator/ns-allinone-2.33
export PATH=$NS_HOME/nam-1.13:$NS_HOME/tcl8.4.18/unix:$NS_HOME/tk8.4.18/unix:$NS_HOME/bin:$PATH
export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.18/unix:$NS_HOME/tk8.4.18/unix:$NS_HOME/otcl-1.13:$NS_HOME/lib:$LD_LIBRARY_PATH
export TCL_LIBRARY=$NS_HOME/tcl8.4.18/library
­
­
.bashrc文件可以用记事本打开,不过最好用UE,因为它是unix格式的文本
­
3.测试安装是否成功
先exit出当前的cygwin控制台,然后重启一个控制台,定位到目录/home/yourname/ns-allinone-2.33
先查看bin目录下是否存在ns.exe和nam.exe,一般ns安装成功就会存在ns.exe,如果不存在nam.exe表示nam没有编译安装成功,需要进入ns-allinone-2.33/nam-1.13目录下对name进行编译和安装,命令为:./configure && make && make install,如果安装失败可能缺少需要的包,查看错误提示再利用cygwin下载相应的包即可
运行startxwin.sh (而非startxwin.bat),在新在窗口中对NS操作即可。
(括号里的内容不可行,输入后就出来一个窗口,鼠标变成"X"那种。就算后来输入X-server&xterm -display localhost:0.0后,出来的也是小的,而且有两个窗口是重合着的,根本没法儿弄。看网上是用startxwin.bat运行的,我运行提示找不到,后来我又安装了一遍X-startup-scripts,还是不行,最后试了一下论坛里有一帖子上写的:startxwin.sh 就行了,出现正常的X-server窗口,运行NS命令,也不会出现两个窗口重合的问题。
输入X&启动一个X-server
然后输入xterm -display localhost:0.0启动一个xterm )
这里你要准备一个tcl文件,我发现2.33版本里面好像是没有NS2-TOURIAL-example的,所以大家可以自行准备一个tcl文件,这里给出一个示例,你可以用记事本新建一个“sample.tcl”文件,内容如下:
#Create a simulator object
set ns [new Simulator]
#Define different colors for data flows (for NAM)
$ns color 1 Blue
$ns color 2 Red
#Open the NAM trace file
set nf [open out.nam w]
$ns namtrace-all $nf
#Define a 'finish' procedure
proc finish {} {
global ns nf
$ns flush-trace
#Close the NAM trace file
close $nf
#Execute NAM on the trace file
exec nam out.nam &
exit 0
}
#Create four nodes
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
#Create links between the nodes
$ns duplex-link $n0 $n2 2Mb 10ms DropTail
$ns duplex-link $n1 $n2 2Mb 10ms DropTail
$ns duplex-link $n2 $n3 1.7Mb 20ms DropTail
#Set Queue Size of link (n2-n3) to 10
$ns queue-limit $n2 $n3 10
#Give node position (for NAM)
$ns duplex-link-op $n0 $n2 orient right-down
$ns duplex-link-op $n1 $n2 orient right-up
$ns duplex-link-op $n2 $n3 orient right
#Monitor the queue for link (n2-n3). (for NAM)
$ns duplex-link-op $n2 $n3 queuePos 0.5
­
#Setup a TCP connection
set tcp [new Agent/TCP]
$tcp set class_ 2
$ns attach-agent $n0 $tcp
set sink [new Agent/TCPSink]
$ns attach-agent $n3 $sink
$ns connect $tcp $sink
$tcp set fid_ 1
#Setup a FTP over TCP connection
set ftp [new Application/FTP]
$ftp attach-agent $tcp
$ftp set type_ FTP
­
#Setup a UDP connection
set udp [new Agent/UDP]
$ns attach-agent $n1 $udp
原创粉丝点击