匡绍东
(沈阳理工大学研究生学院,辽宁沈阳110159)
无线Ad Hoc 网络是一种新型的无线移动网络。 目前Ad Hoc 网络路由协议大致分为2 种:表驱动路由协议(如DSDV 等)和按需路由协议(DSR,AODV 等)。 其中动态源路由协议DSR 是按需路由协议中一种既简单又行之有效的路由协议。研究发现,Ad Hoc 网络节点频繁快速的移动使得拓扑结构不断变化,DSR 缓存路由表更新不及时,导致路由性能降低甚至失效。所以在这里我们有必要对它的路由协议进行解析和深入探讨。
DSR 协议是一种基于源路由的按需路由协议, 它是Carnegie-Mellon 大学“Monarch”项目的一部分,主要包括2 个过程:路由发现和路由维护。 当节点S 向节点D 发送数据时,首先检查缓存里是否存在到目的节点D 的有效路由。 如果存在则直接使用,否则启动路由发现过程。 在通信过程中,当中间节点检测到通往目的节点的下一跳链路中断时,它将从自己路由缓存中删去包含该链路的路由并向节点S 返回一个路由出错分组(RERR)。 S 收到RERR 后,触发一次新的路由发现过程。
对路由协议的缓存提出过2 种机制:路径缓存(path cache)和连接缓存(link cache)。局部自适应DSR 路由协议(LSDSR)的总体思想是:全局拓扑采用路径缓存,局部拓扑采用连接缓存。
每个节点维护一个局部连接表。让路由所经过的中间节点掌握半径为几跳范围的局部网络拓扑结构, 局部范围内的节点分为中心节点、转发节点和边界节点。对每条全局路由来说,只让路由上的每个边界节点维护整条路由。边界节点到下一跳边界节点间的局部路由采用自治的方法,对源、目的和不相邻的边界节点透明。
该路由协议有以下几点好处:
(1)例如,C 是S 的边界点,I 是C 的边界点,按照DSR 协议从S 到D 缓存的路径为SABCEIJKLD;而按照LSDSR 协议,缓存中的路径变为SCILD, 这样边界节点的全局路径缓存从逐跳记录变成了边界点记录,有效缩短了路径。
(2)由于局部范围采用连接缓存,节点知道局部完整的拓扑,因此可以采用Dijkstra 算法自行发现最短路径。 如果原先最短路径断路,它会自行查找新的最短路径,从而使得局部路由中的转发节点断路和绕远问题得到解决。 在图1 中, 从C 到I 根据算法先选择最短路径CEI 而不会绕远,当E 跑到E’造成EI 断路后并不产生RRER 报文,而是自动选择另一条路径CFGHI, 这样S 避免了重新启动路由发现过程,也减少了每个上游节点对RRER 报文的处理和转发。
(3)同样,全局路由中的边界节点如果出现绕远现象也可以自动调整。 起先S 到T 的边界点路由为SCILD,经过一段时间后L 移动到L’的位置,C 发现L 跑进了自己的局部范围内,并且LD 并未断路,这样C 把路由自动改为SCLD 后并通知其他各节点,避免绕远。
以上3 点使得优化后的协议明显减少了路由发现次数和传输时延。
本文在DSR 的基础上提出了LSDSR 路由协议,引进了节点局部自适应机制。 每个节点根据自己周围的拓扑结构维护一个局部连接表,通过连接表,使路由发现和维护尽量使用节点已获知的拓扑信息,从局部和全局两方面对路由自动化恢复调整。 从而有效改进了DSR协议较大的路由维护开销和时延以及对网络拓扑结构变化适应能力差等不足,提高了DSR 的传输性能。
[1]丁楠,张力军.移动AdHoc 网络路由协议的分析与比较[J].计算机与数字工程,2007 年07 期.
[2]徐亦璐.移动AdHoc 多径路由算法的研究与优化[D].南昌大学,2008.
[3]熊桂喜,王小虎,等,译.计算机网络[M].3 版.清华大学出版社,1998.
[4]J.Macker and S.Corson.Mobile ad hoc networks(MANET)[Z].
[5]http:www.ietf.og/html.charters/manet-charter,html,1977 [OL].IETF Working Group Charter.