logo资料库

AODV路由协议中文说明.pdf

第1页 / 共44页
第2页 / 共44页
第3页 / 共44页
第4页 / 共44页
第5页 / 共44页
第6页 / 共44页
第7页 / 共44页
第8页 / 共44页
资料共44页,剩余部分请下载后查看
1 导言
2 概述
3 AODV术语
4 适用性综述
5 消息格式
6 AODV操作
管理序列号
路由表项和先驱列表
生成路由请求
控制路由请求消息的传播
处理和转发路由请求
生成路由回复
接受和转发路由回复
对单向连接的操作
Hello消息
维护本地连接
路由错误,路由超时和路由删除
本地修复
重启后的操作
接口
7 AODV和集群网络
8 AODV在其他网络中的应用
9 扩展
10 参数配置
RFC 3561 AODV 路由 2003 年 7 月 内容目录 术语 操作 1 导言..................................................................................................................................................3 2 概述..................................................................................................................................................4 3AODV .......................................................................................................................................5 4 适用性综述......................................................................................................................................7 5 消息格式..........................................................................................................................................8 .....................................................................................................................................13 6AODV 管理序列号..................................................................................................................................13 路由表项和先驱列表.................................................................................................................15 生成路由请求..............................................................................................................................16 控制路由请求消息的传播.........................................................................................................17 处理和转发路由请求.................................................................................................................18 生成路由回复..............................................................................................................................20 接受和转发路由回复.................................................................................................................22 对单向连接的操作.....................................................................................................................23 Hello ....................................................................................................................................24 维护本地连接..............................................................................................................................25 路由错误,路由超时和路由删除.............................................................................................26 本地修复......................................................................................................................................28 重启后的操作..............................................................................................................................30 接口..............................................................................................................................................31 .........................................................................................................................31 7AODV 8AODV ........................................................................................................32 9 扩展................................................................................................................................................34 10 参数配置......................................................................................................................................35 和集群网络 在其他网络中的应用 消息 Perkins, et. Al. 试验版 原文页码 1
RFC 3561 AODV 路由 2003 年 7 月 网络组 RFC:3561 类别:试验版 诺基亚研发中心 C. Perkins 加州大学圣芭芭拉分校 E. Belding-Royer 辛辛那提大学 S. Das 2003 年 7 月 Ad hoc 网络中基于距离数组的按需 (AODV)路由协议 本备忘状态 本备忘定义的只是一个试验性质的网络社区协议而已,它不是任何一种类型的网络标 准。我们非常需要各种讨论和建议用于改进这个协议。本备忘录的分发不受任何限制。 版权声明 复制权属于整个因特网社区,保留所有权利。 摘要 本协议用于特定网络中的可移动节点。它能在动态变化的点对点网络中确定一条到目的 地的路由,并且具有接入速度快,计算量小,内存占用低,网络负荷轻等特点。它采用目的 序列号来确保在任何时候都不会出现回环(甚至在路由控制信息出现异常的时候也是如 此),避免了传统的距离数组协议中会出现的很多问题(比如无穷计数问题)。 目录 Perkins, et. Al. 试验版 原文页码 2
RFC 3561 AODV 路由 2003 年 7 月 1 导言 AODV 算法旨在多个移动节点中建立和维护一个动态的,自启动的,多跳路由的专属 网络。AODV 使得移动节点能快速获得通向新的目的节点的路由,并且节点仅需要维护通 向它信号所及范围内的节点的路由,更远的节点的路由信息则不需要维护。网络中连接的断 开和异动会使得网络拓扑结构发生变化,AODV 使得移动节点能适时对这种变化做出响应。 AODV 的操作是无自环的,并且由于解决了 Bellman-Ford“无穷计数”的问题,使得该算法 在网络拓扑变化时(比如一个节点在网络中移动)能够快速收敛。当一个连接断开时 , AODV 会告知所有受到影响的节点,这些节点会让用到这个连接的路由失效。 Perkins, et. Al. 试验版 原文页码 3
RFC 3561 AODV 路由 2003 年 7 月 AODV 的一个显著特点是它在每个路由表项上使用了目的序列号。目的序列号由目的 节点创建,并且被包含在路由信息中,然后这些路由信息将被回发到所有向它发起请求的 节点。目的序列号的使用确保了无回环,并且易于编程。如果到一个目的有两条路由可供选 择,那么收到请求的节点将会选择序列号最大的那一条(由于目的节点每次收到新的请求 都会将目的序列号加一,所以序列号最大表明该路由最新)。 2 概述 路由请求(RREQ),路由回复(RREP)和路由错误(RERR)是 AODV 定义的三种 消息种类。这些消息通过 UDP 和通常的 IP 协议来接收。举个例子,发起请求的节点需要用 它自己的 IP 地址作为消息中的 Originator IP address(发起者 IP)。对于广播,将采用 IP 协 议指定的广播地址(255.255.255.255),这个地址意味着这种消息将不会被盲目转发。但是, AODV 操作确实要求特定的消息(例如 RREQ)得到广泛的散布,甚至有可能散布至整个 专有网络。这些 RREQ 的散布的范围由 IP 头中的 TTL 来指定。作为一个特点,将不会采用 IP 协议中的分片传输。 只要一条通道连接的两个端点都有通向对方的正确路由,AODV 是不工作的。当某节 点需要连接到一个新的目的节点时,它将广播一个 RREQ(路由请求消息)来尝试找到一 条到目的节点的路由。如果 RREQ 消息到达目的节点,这条路由将被找到。另外一种情况下, 路由也可以找到,就是 RREQ 到达了一个中间节点,该中间节点拥有到目的节点的“足够 新鲜”的路由。“足够新鲜”的路由首先要是一条到目的地的正确路由,该路由还需要拥有 一个足够大的序列号,该序列号不得小于 RREQ 中的序列号(A ‘fresh enough’ route is a valid route entry for the destination whose associated sequence number is at least as great as that contained in the RREQ.)。当朝发起 RREQ 的节点单播一个 RREP 后,这条路由就建立了。所 有接到请求的节点都会缓存一条回到发起节点的路由,所以 RREP 就可以通过单播从目的 节点返回到发起节点,或者从一个能够找到目的节点的中间节点返回到发起节点。 节点将相邻节点(next hops)的连接状态保存在活动路由表里(active routes)。当活动 路由表里有一条连接断开时,一条 RERR 消息(路由错误消息)将被用来通知其他节点发 生了连接断裂。RERR 消息指出了不再能到达的目的节点(甚至是目的子网)。为了实现这 种报告机制,每个节点还要维护一个“先驱表”(precursor list),表中包含了一些邻居的 IP,这些邻居可能会将它用作达到目的地的下一跳节点。先驱表里的信息可以很轻易的从回 传 RREP 的过程中获得,因为按照定义,RREP 就该是传往先驱节点的(见 6.6 节)。如果 RREP 有一个非零的前缀长度,那么 RREQ 的发起者将被包括在先驱表里作为子网的路由。 (不是特定的某个精确目的地)。 Perkins, et. Al. 试验版 原文页码 4
RFC 3561 AODV 路由 2003 年 7 月 RREQ 也可以用来请求多播地址。这篇文档将不细述这种类型消息处理的全过程(比如 这种请求的发起者必须要遵循的某种特别的规则)。但是,使中继节点能正确处理多播操作 是非常重要的,特别网络中有没有做过发起节点或目的节点的中继节点,或类似的没有安 装任何对多播有特殊操作的节点。考虑到有这种“对多播不感冒”的节点,处理多播目的 IP 地址必须要和处理其他任何 IP 地址是一样的操作才行。 AODV 是一个路由协议,它的工作就是管理路由表。即使是短期的路由,也必须保留 它在路由表里的信息。比如为 RREQ 临时存储的返回路径。AODV 的每个路由表项将会包含 下列的域: - 目的节点 IP 地址 - 目的节点序列号 - 目的节点序列号是否正确的标志 - 其他状态和路由标志(比如,有效,无效,可修复,正在修复) - 网络接口 - 跳数(到达目的节点需要的跳数) - 下一跳 - 先驱表(在 6.2 节里描述) - 生命(路由过期或应当删除的时间) 管理序列号对避免路由回环至关重要,即使是当连接断裂,一个节点不再可达而无法 提供他自己的序列号信息的时候也是如此。当一条链路断开或失效,导致一个节点不可达, 当这种情况发生时,将通过对序列号的操作和标注路由表项为不正确来使得这条路由失效。 细节请见 6.1 节。 3 AODV 术语 按照惯例,本协议的说明使用全大写的单词,比如 MUST,SHOULD 等等来指出对协 议各项特性的要求级别(参考文献 1)。参考文献 3 中没有定义的其他术语,在这一节定义 如下:(注,汉语中 MUST 会翻译为必须,SHOULD 翻译为应当) Perkins, et. Al. 试验版 原文页码 5
RFC 3561 AODV 路由 2003 年 7 月 Active route(活跃路由) 路由表项里标为“有效”(valid)的通向目的节点的路由。只有活跃路由能用来 转发数据包。 Broadcast (广播) 广播的意思是向 IP 协议规定的广播地址 255.255.255.255 发送数据。广播的包不会 被盲目的转发。但是广播在让 AODV 消息散布到整个专有网络的时候非常有用。 Destination (目的地) 数据包需要被送往的一个 IP 地址。和“目的节点”是同一个意思。当一个节点看到 它自己的 IP 地址和数据包 IP 头特定的字段中的 IP 地址一样时,它就认为自己是这个 数据包的目的节点。到达目的节点的路由可以从 AODV 协议得到,AODV 协议会在路 由发现消息里得到路由信息。 Forwarding node (转发节点) 愿意为其他节点转发数据包的节点。转发节点会将数据包发送到它的下一个节点 (就是在到达目的节点的路径上更靠近目的的那个相邻节点,这条路径由路由控制消 息来建立)。 Invalid route (无效路由) 一个过期的,在路由表项里被标记为无效(invalid)的路由。当一个有效路由失效 时,它会作为无效路由在路由表里再被保存一段时间。无效路由不能用于转发数据包, 但是它能在路由修复和以后的 RREQ 消息中提供一些有用信息。 Perkins, et. Al. 试验版 原文页码 6
RFC 3561 AODV 路由 2003 年 7 月 Originating node (发起节点) Ad hoc 网络内发出 AODV 路由发现消息的节点。AODV 路由发现消息需要被恰当 的处理,然后会被传送到网络内其他节点。例如,一个 RREQ 消息的发起节点就是发 起一个路由发现过程并且将 RREQ 消息广播出去的那个节点。 Reverse route (返回路由) 用于转发回复包的路由,这个回复包就是从目的节点或能达到目的节点的中间节 点返回到发起节点的 RREP 包。 Sequence number (序列号) 一个单调递增的数字,由每个发起节点管理。在 AODV 路由协议的消息里,这个 序列号被其他节点用于检测发起节点发出的信息的新旧程度。 Valid route (有效路由) 见 Active route(活跃路由)。 4 适用性综述 AODV 路由协议被设计用于拥有数十个到上千个移动节点的 Ad hoc 网络。AODV 能应 付低速,中等速度,以及相对高速的移动速度,以及各种级别的数据通信。AODV 被设计 用于节点间可以互相信任的网络,比如预先定义好密钥的网络,或者是确信不会有恶意入 侵节点的网络。为了提升可测量性和效能,AODV 设计成尽力减低控制信息的流量,并且 消除数据流量的影响(原文:AODV has been designed to reduce the dissemination of control traffic and eliminate overhead on data traffic, in order to improve scalability and performance)。 Perkins, et. Al. 试验版 原文页码 7
RFC 3561 AODV 路由 2003 年 7 月 5 消息格式 1.1. 路由请求(RREQ)消息格式 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type (种类) |J|R|G|D|U| Reserved (保留) |Hop Count(跳数)| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RREQ ID (路由请求消息标识) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination IP Address (目标节点 IP 地址) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Sequence Number (目标节点序列号) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Originator IP Address (发起节点 IP 地址) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Originator Sequence Number (发起节点序列号) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 路由请求消息的格式如上所示,包含下面几个域(或字段): Type(种类) 1 J R G D U Join flag (加入标志):为多播保留 Repair flag (修复标志): 为多播保留 Gratuitous RREP flag (免费路由回复标志): 指示是否该向目标节 点 IP 地址域指定的节点发送一个免费路由回复消息。 Destination only flag (仅允许目的节点回复标志):标志置位则仅 允许目的节点回复本条路由请求。 Unknown sequence number (未知序列号): 指示目标节点序列号 未知(见 6.5 节) Reserved Sent as 0 (填充 0): 接收端忽略此字段 Hop Count 从发起节点到处理该请求的节点的跳数。 Perkins, et. Al. 试验版 原文页码 8
分享到:
收藏