欢迎来到天天文库
浏览记录
ID:37056768
大小:101.71 KB
页数:7页
时间:2019-05-15
《Ad Hoc网络中按需路由协议AODV分析报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、1AODV协议概述AODV协议是在DSDV协议基础上,综合类似DSR中的按需路由机制进行改进后提出的。不同之处在于AODV采用了逐跳转发报文方式,而DSR是源路由方式。因此,AODV在每个中间结点隐式保存了路由请求和回答的结果,而DSR将结果显式保存在路由请求和路由回答报文中。此外,AODV的另一个显著特点就是加入了组播路由协议扩展,并支持QoS。但是,AODV是基于双信道的假设工作,路由应答报文沿路由请求报文的反方向传至信源,因而不支持单向信道。2AODV路由发现 AODV有三种基本的协议报文类型:RREQ报文、RREP报文和RRER报文。2.1RREQ报文a.RREQ报文格式 结点
2、在需要(没有到信宿的活动路由)时,向其邻居广播RREQ报文用于路由发现。RREQ报文格式如图1所示。图1 RREQ格式0 1 2 3 4 5 6 7 8PacketTypeReservedHopCountBroadcast IDDestination IPDestination Sequence NumberSource IPSource Sequence NumberPacketType―报文类型,RREQ的值为1。Reserved―保留位,为以后扩展升级预留。HopCount―跳计数,RRE
3、Q的跳计数初值为0。Broadcast ID―广播ID,惟一标识了一个RREQ报文。Destination IP―信宿IP地址。Destination Sequence Number―信宿序列号表示信源可接受的“到信源的前进路由”新旧程度,等于过去接收到的信宿的最大序列号。可见,结点需要为每一个信宿维护一个信宿序列号。Source IP―信源IP地址。Source Sequence Number―信源序列号由信源结点维护,用于表示“到信源反向路由”的新旧程度。b.对RREQ的处理接收到RREQ的结点做如下处理:(1)创建一个表项,先不分配有效序列号,用于记录反向路径。(2)如
4、果在“路由发现定时”内已收到一个具有相同标识的RREQ报文,则抛弃该报文,不做任何处理;否则,对该表项进行更新如下:I.信宿序列号=RREQ报文的信源序列号。II.下一跳结点=广播RREQ的邻居。III.跳数=RREQ报文的“跳计数”字段值。IV.设置表项的“过时计时器”。(3)如果满足以下条件,则结点产生“路由回答报文”RREP,并发送到信源;否则更新RREQ报文并广播更新后的RREQ报文。I.该结点是信宿。II.结点的路由表中有到信宿的活动表项,且表项的信宿序列号大于RREQ中的信宿序列号。(4)更新RREQ报文并广播更新后的RREQ报文。I.信宿序列号=本结点收到的信宿相关的最大序列
5、号。II.跳计数加1。2.2RREP报文a.RREP报文格式产生RREP的条件如上所述,图2为RREP报文的格式。图2 RREP格式0 1 2 3 4 5 6 7 8PacketTypeReservedHopCountDestination IPDestination Sequence NumberSource IPLifetimePacketType―报文类型,RREP的值为2。Reserved―保留位,为以后扩展升级预留。HopCount―跳计数,RREQ的跳计数初值为0。Destination
6、 IP―目的IP地址。Destination Sequence Number―目的序列号。Source IP―源IP地址。Lifetime―以毫秒为单位,自收到RREP开始计时以保证线路正确。RREP各字段的设置如下:(1)信宿结点产生RREP。I.如果收到相应的RREQ的信宿序列号与信宿维护的当前序列号相等,则信宿将自己维护的序列号加1,否则不变。II.信宿序列号=信宿维护的序列号。III.跳计数=0。IV.定时器值。(2)中间结点产生的RREP。I.本结点获取的该信宿的最大序列号。II.跳计数=本结点到信宿的跳数(查相应表项即可得到)。III.更新本结点维护的“前向路由表项”的下
7、一跳和“反向路由表项”的前一跳。b.对RREP的处理结点对接收到的RREP作如下处理。(1)如果没有与RREP报文中的信宿相匹配的表项,则先创建一个“前向路表”空表项。(2)否则,满足如下条件对已有表项进行更新。I.现有表项的信宿序列号小于RREP报文中的序列号。II.现有的表项没有激活。III.信宿序列号相同,但RREP报文的“跳计数”值小于表项相对应的值;通过更新或创建,产生一个新的前向路由。IV.下一跳=广播RRE
此文档下载收益归作者所有