NS2.33中安装Noah协议


在NS2中间补充安装协议过程还是有那么一点点的折腾,这里介绍下安装noah协议,NS2中的noah协议,需要添加无线协议的时候需要用到。

noah下载链接:

免费下载地址在 http://linux.bkjia.com/

用户名与密码都是www.bkjia.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 cleanmake一下就行了,noah里面出现noah.o基本就安装好了,里面有个run.sh的脚本,可以试运行下,ok就没问题了

相关内容