预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

1AODV协议概述AODV协议是在DSDV协议基础上,综合类似DSR中的按需路由机制进行改进后提出的。不同之处在于AODV采用了逐跳转发报文方式,而DSR是源路由方式。因此,AODV在每个中间结点隐式保存了路由请求和回答的结果,而DSR将结果显式保存在路由请求和路由回答报文中。此外,AODV的另一个显著特点就是加入了组播路由协议扩展,并支持QoS。但是,AODV是基于双信道的假设工作,路由应答报文沿路由请求报文的反方向传至信源,因而不支持单向信道。2AODV路由发现AODV有三种基本的协议报文类型:RREQ报文、RREP报文和RRER报文。2.1RREQ报文a.RREQ报文格式结点在需要(没有到信宿的活动路由)时,向其邻居广播RREQ报文用于路由发现。RREQ报文格式如图1所示。图1RREQ格式012345678PacketTypeReservedHopCountBroadcastIDDestinationIPDestinationSequenceNumberSourceIPSourceSequenceNumberPacketType―报文类型,RREQ的值为1。Reserved―保留位,为以后扩展升级预留。HopCount―跳计数,RREQ的跳计数初值为0。BroadcastID―广播ID,惟一标识了一个RREQ报文。DestinationIP―信宿IP地址。DestinationSequenceNumber―信宿序列号表示信源可接受的“到信源的前进路由”新旧程度,等于过去接收到的信宿的最大序列号。可见,结点需要为每一个信宿维护一个信宿序列号。SourceIP―信源IP地址。SourceSequenceNumber―信源序列号由信源结点维护,用于表示“到信源反向路由”的新旧程度。b.对RREQ的处理接收到RREQ的结点做如下处理:(1)创建一个表项,先不分配有效序列号,用于记录反向路径。(2)如果在“路由发现定时”内已收到一个具有相同标识的RREQ报文,则抛弃该报文,不做任何处理;否则,对该表项进行更新如下:I.信宿序列号=RREQ报文的信源序列号。II.下一跳结点=广播RREQ的邻居。III.跳数=RREQ报文的“跳计数”字段值。IV.设置表项的“过时计时器”。(3)如果满足以下条件,则结点产生“路由回答报文”RREP,并发送到信源;否则更新RREQ报文并广播更新后的RREQ报文。I.该结点是信宿。II.结点的路由表中有到信宿的活动表项,且表项的信宿序列号大于RREQ中的信宿序列号。(4)更新RREQ报文并广播更新后的RREQ报文。I.信宿序列号=本结点收到的信宿相关的最大序列号。II.跳计数加1。2.2RREP报文a.RREP报文格式产生RREP的条件如上所述,图2为RREP报文的格式。图2RREP格式012345678PacketTypeReservedHopCountDestinationIPDestinationSequenceNumberSourceIPLifetimePacketType―报文类型,RREP的值为2。Reserved―保留位,为以后扩展升级预留。HopCount―跳计数,RREQ的跳计数初值为0。DestinationIP―目的IP地址。DestinationSequenceNumber―目的序列号。SourceIP―源IP地址。Lifetime―以毫秒为单位,自收到RREP开始计时以保证线路正确。RREP各字段的设置如下:(1)信宿结点产生RREP。I.如果收到相应的RREQ的信宿序列号与信宿维护的当前序列号相等,则信宿将自己维护的序列号加1,否则不变。II.信宿序列号=信宿维护的序列号。III.跳计数=0。IV.定时器值。(2)中间结点产生的RREP。I.本结点获取的该信宿的最大序列号。II.跳计数=本结点到信宿的跳数(查相应表项即可得到)。III.更新本结点维护的“前向路由表项”的下一跳和“反向路由表项”的前一跳。b.对RREP的处理结点对接收到的RREP作如下处理。(1)如果没有与RREP报文中的信宿相匹配的表项,则先创建一个“前向路表”空表项。(2)否则,满足如下条件对已有表项进行更新。I.现有表项的信宿序列号小于RREP报文中的序列号。II.现有的表项没有激活。III.信宿序列号相同,但RREP报文的“跳计数”值小于表项相对应的值;通过更新或创建,产生一个新的前向路由。IV.下一跳=广播RREP的邻居结点。V.信宿序列号=RREP中的信宿序列号。VI.跳计数加1。(3)按照上述的过程,任何转发RREP的结点,都记录了到信宿的下一跳,当RREP到达信源时。结点地址匹配,不再转发RREP,信源到信宿的前向路由已经建立起来了。信源可以沿这条前向路径进行数据传输。2.3RRER报文邻居间周期