一、背景
环境:vmware下安装ubuntu18.04虚拟机,ns版本2.35
洪泛(mflood)算法是一个简单有效的路由算法,其基本思想是每个节点都使用广播转发收到的数据分组,若收到重复分组则进行丢弃处理。
移植过程参照《NS网络模拟和协议仿真》,黄化吉、冯穗力著。
二、移植过程
1.在NS中新建文件夹放置协议的代码文件。
与mflood协议相关的文件共有5个:mflood.h,mflood.cc,mflood-packet.h,mflood-seqtable.h,mflood-seqtable.cc。这五个文件下载后放在ns-allinone-2.35/ns-2.35目录下新建的mflood文件夹下。协议相关的文件可以通过邮电出版社的官方网址搜索下载,我这里也分享一下(有把注释掉的代码修改一点点)。
mflood协议+移植测试例程下载:https://download.csdn.net/download/hshiya0412/12120596
2.修改ns相关文件。
(1)ns-2.35/common/packet.h
因为mflood协议用到自己定义的分组类型:PT_MFLOOD,我们需要修改定义分组类型的头文件packet.h,添加mflood定义的分组类型,有下面两处改动:
一是:在PT_NTYPE前添加PT_MFLOOD;如图ÿ