本科毕业设计-基于matlab的ad hoc网络aodv协议的最小路由选择

发布时间 : 星期五 文章本科毕业设计-基于matlab的ad hoc网络aodv协议的最小路由选择更新完毕开始阅读

7. 保留:发送时填充0,接收时忽略此字段; 8. 跳数:从发起节点到处理该请求的节点的跳数;

9. RREQ ID:路由请求标识,这是一个序列号,用它和发起节点的IP就可以唯一标识一个RREQ信息。

2.1.2 RREP 路由回复

当节点需要对收到的RREQ消息进行回复时,节点将会根据收到的RREQ消息和路由表信息生成路由回复消息RREP,然后按查找相应的反向路由转发RREP。路由回复消息的格式如表2-2所示。

类型 R A 保留 前缀长度 跳数 目的节点IP地址 目的节点序列号 源节点IP地址 生命期 表2-2 RREP消息格式

RREP路由回复消息部分字段解释如下: 1. 类型:此字段值2; 2. R:Repair flag修复标志

3. A:Acknowledgement required需要确认;

4. 前缀长度:非0代表下一跳节点可作任何具有相同路由前缀节点被请求时的目的节点;

5. 保留:发送时填充0,接收时忽略此字段;

6. 生命期:路由声明时间,单位为毫秒,在这段时间里,收到RREP的节点会认为这条路由是有效的。

2.1.3 RERR 路由错误

在Ad hoc网络中,可能出现节点间因为某一节点退出网络、信息不可达或者路由信息与网络拓扑结构不符等情况,这时节点将会把路由的错误信息RERR发给相邻节点。路由错误消息RERR的消息格式如表2-3所示。

7

类型 N 保留 不可达目的节点数 不可达目的节点IP地址 不可达目的节点序列号 附加不可达目的节点IP(if needed) 附加不可达目的节点序列号(if needed) 表2-3 RERR消息格式

RERR路由请求消息的部分字段解释如下: 1. 类型:此字段置3;

2. N:No delete flag不比删除标志:置位时上游节点就不删除此路由; 3. 不可达目的节点数:本消息包含的不可达目的节点的数目,必须至少为一; 4. 保留:发送时填充0,接收时忽略此字段。

2.1.4 RREP-ACK 路由回复确认

当目的节点成功收到RREP消息后,目的节点将会发送RREP-ACK消息确认路由回复,其消息格式如表2-4所示。

类型 保留位 图2-4 RREP-ACK消息格式

在路由回复确认消息中Type字段置位为4。保留位在发送时填充0,节点接收时忽略此字段。

2.1.5 Hello报文

在AODV路由协议维护整个网络连接情况时,节点利用周期性广播Hello报文来确定与邻居节点是否保持着连接,然后根据网络连接情况对路由进行建立或更新等维护。

Hello报文是 TTL=1的RREP,因此Hello报文只能在相邻节点间传送。对于 Hello报文,设置字段“目的节点IP地址”和“目的节点序列号”为生成本报文的节点IP地址和序列号,跳数设置为0,其余字段无效。

8

2.2 单点路由的建立

2.2.1 路由发现

当一个节点要向某个目的地发数据包时,它先检查路由表,判断是否存在那个节点现成的路由。如果有,就将数据包沿着这条路由向前传送到目的地如果没有就开始初始化路由发现过程。首先,源节点构造一个RREQ(路由请求)包,包内含有源节点的IP地址和当前的序列号还有目的地的IP地址和最后得到的序列号,另外还有一个广播ID,它是随源节点每初始化一个RREQ就增加一次。这样广播ID和源节点的IP地址组成了RREQ唯一的标识符。RREQ构造完后,源节点广播数据包并开始计时等待答复、当一个节点收到RREQ时,首先检查源IP地址和广播ID是否见过任意规定的时间内,每个节点保存收到的RREQ里的源IP地址和广播ID的录.如果发现存在相目的IP地址和广播ID,将放奔数据包如果没有(RREQ第一次到达该节点).将记录源IP地址和广播ID,向前传数据包。传递RREQ的过程,节点路由表中为源节点建立一个相反路由入口。这个相反路由入口包含源节点的IP地址和序列号,还有到源节点的跳数和收到RREQ

的邻点IP地址。这样,对f收到RREQ的节点知道怎样把RREP(路由应答)传回源节

点图1表示RREQ任网络的传播和相反路由入口在每个节点的构成。相反路由入口有它的生命期。如果路由入口扯规定的时间末使用,删除这条路由信息,防止旧路由在路由表中拖延。如果RREQ丢失,源节点再来一次路由发现过程。RREQ重发尝试失败后,必须告知不能到达目的地,如图三所示

9

2.2.2 前向路径建立

当一个点确定它有一条响应RREQ的路由时,它就构造RREP.为了响应RREQ,如果一条路由带有的序列号不小于RREQ里的序列号,我们认为这条路由是通的,发送答复RREQ的RREP包含源、目的地节点的IP地址。如果目的地开始响应,它将当目的序列号放入数据包中,初始化跳数为0,把路由有效时时间长度放入RREP的生命期字段中。但是,如果是中间是一个节点响应,它将目的地序列号的记录放入数据包中,跳数为自到目的地的距离,并且计算自己关于目的地的路由表入口仍然有效的时间。然后,它将通过使用已收到RREQ的节点作为下一跳,单点传送RREP到源节点,当中间的节点收到RREP时,它任路由表中建一个到目的地的前向路径入口。这个入口包含目的地IP地址,RREP要去的邻点IP地址,跳数或是到目的地的距离。为了得到它到目的地的距离,节点将跳数字段的值+1。还有这个入口有RREP设置的生命期。每当路由使用时,相应的生命期就更新。如住规定的时间内仍未使用,将其删除。RREP传递结束时,节点就将RREP传给源节点,如图四所示

2.2.3 路由保持

一旦指定的源/目的地间发现一条路由,这条路由会在源需要时一直保持。Ad Hoc网络中节点的移动只会影响包含这些移动节点的路由,这样的路径称为激活路径。不是沿着激活路径上的移动不会触发任何协议的变化如果源节点在激活期内移动,它会重新开始路由发现并建立新的路由但是,当目的地或中间的某一点移动时.一个路由错误消

10

联系合同范文客服:xxxxx#qq.com(#替换为@)