无线网络实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中南大学

无线网络实验报告

目录

序 (3)

一、实验准备——环境配置以及软件安装············4~8

1.1前提及注意事项 (5)

1.2 MinGW安装 (5)

1.3 OMNET++具体安装步骤···············5~8

二、实验原理——DSDV路由协议·················9~11

2.1基本思想 (9)

2.2消除循环 (10)

2.3全局不变量····················10~11

2.4 DSDV不存在循环 (11)

三、实验过程以及遇到的问题···················12~20

3.1实验步骤··················12~19

3.2遇到的问题及解决方案············19~20

无线网络的网络层有一个叫AD HOC路由协议,该协议应用于多个领域,包括军事、医学、空间探测等。网络拓扑经常性的发生改变需要有效的动态路由协议。经典的AD HOC路由协议先应式路由协议和按需路由协议,先验式路由协议是一种基于表格的路由协议。在这种协议中,每个节点维护一张或多张表格,这些表格包含到达网络中其它所有节点的路由信息。当检测到网络拓扑结构发生变化时,节点在网络中发送路由更新信息。反应式路由协议又称为随选型路由协议或者按需路由协议。是专门针对MANET环境提出来的。与表驱动路由协议相反,该类协议并不事先生成路由,而是仅在源节点需要时才这样做。因此,路由表信息是按需建立的,它可能仅仅是整个拓扑结构信息的一部分。先验式路由协议有像目的编号的距离矢量路由协议(DSDV),而按需路由协议路由协议有动态源路由协议(DSR)以及AODV协议。

本次实验是简单的实现DSDV路由协议的仿真,使用的软件工具是OMNET++,实验环境是Windows10。

一、实验准备——环境配置以及软件安装

1.1前提及注意事项:

1)安装之前首先要确定已经安装好GCC编译环境(例如:MinGW、Cygwin,选择一种安装);(否则OMNeT++会安装不成功)。

2)OMNet++安装路径要是英文路径,以及路径名不能有空格

3)还有就是这个也是个类Eclipse的软件,所以像JDK这样的Java环境就首先要配置好的。

1.2 MinGW安装

1) MinGw只是其中一种GCC编译环境的安装程序,还有像Cygwin也是差不多的;

2) 由于安装的时候有些地方忘了截图,所以图有些是借鉴别人的;

3) 还要就是安装MinGw,最好在一个网络比较好的环境中进行。

一、首先下载好安装包,点击打开,我的版本的安装界面大致是这样的:

二、上一个步骤按照指示一直下一步就好了,完成之后,会自动弹出一个窗口,叫做MinGW Installation Manager,就好像这样:

左边栏选中basic Setup,然后在右边选择,(好像是选GCC和G++就好了,但是在Basic Setup中的所有选项我都选择了),选择的方式是,右键Mark for Installation选择完之后,点击菜单栏的Installation --> apply change,然后让其自动下载安装就好了,它是边下载边安装的,所以最好选个网络好点的环境安装。

1.3 OMNET++具体安装步骤:

一、将下载好的文件(名字就像:omnetpp-5.0-src-windows.zip)解压,其文件内容就像下图所展示那样;

二、双击打开mingwenv.cmd(注意了如果打开mingwenv.cmd之前没有安装好G++编译环境, 这一步的安装会失败),打开之后会首先提示你"按任意键继续...",即进行文件解压(自动完成的);

三、解压完成之后会弹出一个命令行窗口,输入./configure 然后让其自动执行,这一步执行完成而且成功的话,应该是显示:

WARNING: The configuration script...

WPI (optional) PCAP(optional)...

...

Your PATH contains D:/omnetpp-5.0/bin. Good!

(由于安装的时候忘记截图,所以用文字代替,大概就是出现Good! 就好了...吧? 反正能够出现Good!就好了)

四、继续输入make (注意该过程会比较漫长),这一步执行完成而且成功的话,应该是显示:

五、然后可以通过输入

cd samples/dyna

./dyna

来测试,如果出现GUI界面,就是安装成功了。

启动OMNET++如下:

进入bin目录

双击omnetpp.cmd就可以运行了,运行界面如下:

首先选一个或者新建一个工作区间

二、实验原理——DSDV路由协议

DSDV应该算是Ad-hoc中经典的先应式路由协议。协议采用最短路径法则,每个节点维护一张包含到达节点的路由信息的路由表,并根据每个节点broadcast来update router table来适应网络的拓扑变化。协议中使用目的端的端顺序号,避免因使用过时的路由信息而产生无效的路径(包括路由环路和终端的路径)。每个目标节点的路由记录对应一个目的地序列号,这个序列号由目标节点产生。当节点从邻节点的距离/向量报文中得到某一目标节点的另一个路由记录时,若新记录的顺序号比已有的记录大,则节点使用新的路由记录。若2个路由记录的顺序号相同,则节点使用路径长度更短的记录;否则,目标节点的记录不变。

这是一种专门用以解决计数到无穷问题的协议。

2.1基本思想

总体来讲,DSDV协议是对传统的DV协议的一种拓展。它的拓展包括:·给每条路径增加了一个序列号码

·每个目的节点会定期广播一个单调递增的偶数序列号号码

·当一个节点发现它到某个目的节点的路径断开时,它把到这个节点的距离设为∞,并且将这条路径的序列号加1(此时为奇数),然后向网络中广播这个更新包。当这条路径修复时,它又将序列号加1然后广播出去。换另一种方式来说,每个节点都保持着一张路由表,路由表中的每一项记录了它到目的节点的距离和序列号,也就是(s,d)。我们假设有一目的节点为D,当以下任何一情况发生时,都会发送更新。

·D定期将自己的序列号加2并广播出去,即(S,0)。

·如果节点X要通过Y到达节点D,当X和Y之间的连接断开后,X将到D 的路径的序列号加1,同时将路径值设为∞,然后将信息发送给邻居。

我们假设节点A向节点B发送了一个信息(Sa,Da),B在更新前的状态是(Sb,Db)。在收到信息后,B将按照如下方式进行更新:

(1)如果Sa > Sb

更新序列号Sb = Sa。如果Da =∞,那么更新Db =∞;否则Db = Da + d(A, B)。也就是说,如果收到的序列号比自己大,那么一切以这个较大的序列号中的信息为准。

(2)如果Sa == Sb

比较Db 和Da + d(A, B) ,选择较小的值作为新的Db。如果需要经过A到达目的节点,将设置A为下一跳。

相关文档
最新文档