在NS2中间补充安装协议过程还是有那么一点点的折腾,这里介绍下安装noah协议,NS2中的noah协议,需要添加无线协议的时候需要用到。
noah下载链接:
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /2012年资料/6月/25日/NS2.33中安装Noah协议
里面默认有个英语的install的方法的简介,还是挺简单的,不过由于版本问题,这里还是大致介绍下(配置NS2的步骤这里不介绍了,之前有写)
首先在 ns-allinone-2.33/ns-2.33 目录下新建noah这个文件夹
把noah.cc noah.h这两个文件塞到这个文件夹(ns-allinone-2.33/ns-2.33/noah)下,整个文件夹里面东西都塞过去也无所谓,不要少东西就行
把noah.tcl放到 /ns-allinone-2.33/ns-2.33/tcl/mobility 这个目录下
接着修改Makefile
PS:vi中先按:,然后输入set number可以显示行号,:然后直接数字可以跳转到指定行,\然后内容是搜索
这里在OBJ_CC中添加noah/noah.o \,注意不要多加空格,放里面任何一个位置就行
在NS_TCL_LIB 里添加tcl/mobility/noah.tcl \,同样不要多加空格
然后是是修改/ns-allinone-2.33/ns-2.33/tcl/lib/ns-lib.tcl这个文件
这里版本不同,修改行数不同,比较郁闷,建议跳转到附近,看下周围的再改(PS:最好根据我给的图示改下,不一定要精确到特定行)
In ./tcl/lib/ns-lib.tcl line 191 (for v2.29 line 197), add ,在197行附近添加以下这句,
source ../mobility/noah.tcl
In ./tcl/lib/ns-lib.tcl line 603ff (for v2.29 line 649ff), add ,在649行左右添加以下内容,
NOAH {
set ragent [$self create-noah-agent $node]
}
In ./tcl/lib/ns-lib.tcl line 768ff (for v2.29 line 839ff), add,在839行附近添加以下内容
Simulator instproc create-noah-agent { node } {
# Create a noah routing agent for this node
set ragent [new Agent/NOAH]
## setup address (supports hier-addr) for noah agent
## and mobilenode
set addr [$node node-addr]
$ragent addr $addr
$ragent node $node
if [Simulator set mobile_ip_] {
$ragent port-dmux [$node demux]
}
$node addr $addr
$node set ragent_ $ragent
return $ragent
}
添加完了之后重新make clean,make一下就行了,noah里面出现noah.o基本就安装好了,里面有个run.sh的脚本,可以试运行下,ok就没问题了