当前位置:文档之家› 洪泛路由协议实验报告

洪泛路由协议实验报告

实验报告

_________系级专业班成绩

姓名同组人姓名第组日期

[实验项目] 洪泛路由协议的移植

[实验目的] 熟悉对洪泛路由协议的移植

[实验仪器设备] 虚拟机和装有NS的linux系统,五个代码文件

(mflood.h , ,mflood_packet.h ,mflood-seqtable.h ,mflood-seqtable.c c , )

[实验原理] 洪泛(mflood)路由算法是一个简单有效的路由算法,其基本思想是每个节点都是用广播转发收到的分组,若收到重复分组则进行丢弃处理,但是我们需要将此算法移植到NS中,移植的过程就是本实验的重点。

[实验内容] 步骤一:在ns-allinone-2.35/ns-2.35的目录下新建一个目录叫mflood,把这五个文件

(mflood.h , ,mflood_packet.h ,mflood-seqtable.h ,mflood-seqtable.c c ,)置于mflood文件夹内,如图:

如图,已经将五个文件置于新建的文件夹下面了,

步骤二:

修改NS中与mflood协议相关的文件。移植mflood协议时需要修改NS原文件较多的地方,下面对需要修改的文件逐一修改,

(1)ns-2.35/common/packet.h 文件的修改,如图:

用gedit packet.h打开此文件,在如图所示位置添加自定义的类型(阴影为添加的自定义类型,有两处):

一)

二)

(2)ns-2.35/tcl/lib/ns-packet.tcl 文件的修改,如图:

用命令打开文件,修改如图(阴影部分为添加):

(3)ns-2.35/tcl/lib/ns-lib.tcl文件修改;如图打开文件:

修改如图(阴影部分为所添加):

由上图可知,从create-mflood-agent 这个函数的定义中,创建了Agent/MFlood 的一个对象,这个对象最后将和某一移动节点绑定在一起。

步骤三修改makefile 文件,如图所示打开文件:

修改如图(阴影部分为所修改):

保存Makefile,然后回到ns-2.35 目录下,执行make命令重新编译NS

操作命令如图:

出现错误如图:

原因是,mflood 的文件放错地方了,应该把文件放入ns-2.35里面

修改文件夹的路径后在进行编译,如图出现错误:

原因见第一个错误mflood-packet.h 文件未找到,因为存储那五个文件的时候文件名存为mflood_packet.h 了,只要把文件名改成中间用减号(-)连接的就行了,如图,编译完成:

至此,所有移植过程完毕,接下来验证移植结果,把例子4.2的路由协议aodv改成mflood

运行4.2例子

查看仿真后生成trace文件;

相关主题