专利名称:一种基于maodv协议的多路径扩展方法
技术领域:
本发明涉及移动通信网络技术,尤其是涉及移动自组织网络技术。
技术背景移动自组织网组播路由技术作为一种点到多点、多点到多点的数据传输 技术,不但可以提高网络的可扩展性,更能使网络资源得到高效的利用。组 播路由技术一般应用于视频会议、文件分发、资源共享等团队密切合作的业 务。但是,目前绝大多数对移动自组织网组播路由协议的性能研究都是在低 发送速率下进行的,组播路由协议和算法在高数据发送速率的环境下运行性 能变差,网络负载不均,容错能力差,无法实用于诸如视频会议这种要求较 高速率的应用。与本发明最接近的现有算法和协议有AOMDV(A. Nasipuri and S.R. Das. On-Demand Multipath Routing for Mobile Ad Hoc Networks. Proceedings of the 8th Int. Conf. On Computer Communications and Networks (IC3N) , Boston, October 1999)禾口 MA0DV (Royer E M, Perkins C E. "Multicast Ad hoc On-Demand Distance Vector(MAODV) Routing" ,IETF, Internet Draft :draft-ietf-manet-maodv-00. txt. 2000) 。 A0MDV是在移动自 组织网络按需距离矢量路由协议基础之上扩展而成的多路径路由算法。它通 过在一次路由寻找中使用泛洪来计算出多条链路不相交路径,并且通过在路 由表中增加一个广告跳数字段来维护多条开环路径。当发生路由中断的时候, 使用备用路由继续发送数据。A0MDV可以显著改善端到端延时,减少路由开销。 但是,AOMDV是单播路由协议的多路径扩展,不能提供组播服务。MAODV协议 是支持组播功能的按需距离矢量路由协议的扩展,它采用双向共享树组播分 发机制,按需创建组播树。MAODV协议同时支持单播和组播,通过单播控制消 息,可以减少控制开销。然而,AOMDV和MAODV在源节点向目的节点发送数据 时,都是向一条路由路径传输数据,当数据发送速率增加时,容易出现负载 不均,造成网络拥塞。发明内容本发明所要解决的技术问题是设计一种基于MAODV协议的多路径扩展方 法。该方法在MAODV协议的基础上提供更好的负载均衡和容错能力、提高网络 吞吐量,从而改善在较高数据发送速率下,传统MAODV协议出现的网络负载不 均、路径拥塞、可扩展性不好等问题。本发明解决上述技术问题的技术方案是,对传统的MA0DV协议进行多路 径扩展。该方法主要包括以下步骤多路径选择与建立、多路径路由维护、 和负载分配。多路径选择与建立负责多路径路由的寻找、选择和建立。源节点根据 收到的网络上其他节点发回的路由回复消息RREP以及多路径选择消息MACT-S 的路由回复消息RREP-S的信息,选择一条时延最短路径和与该时延最短路径 节点不相交且序列号最大跳数最少的路径,进行数据分组的分流发送。多路径路由维护当有路径出现断链的时候,断链的上游节点将单播路 由错误消息RERR发送给源节点,判断路由是否失效,如果只有一条路由失效, 则源节点继续使用另一条路径发送数据,当两条路径都断开后,源节点重新 触发多路径寻找进程,选择、寻找新的路径。负载分配组播路由建立完成以后,实施数据在多路径上的传输分配。 源节点找到并激活第一条路径以后,立即将所有数据分组发送到该条路径上 进行数据传输,直到源节点找到并激活第二条路径以后,就分流向两条路径 发送数据分组。在路由激活消息MACT消息的R字段后面添加一个S字段,在RREP消息 的A字段后面添加一个S字段,源节点对接收到的RREP和RREP-S的信息进 行判断,当S字段为1时,查询缓存器判断到达源节点的RREP消息是否是第 一条,如是,则该路径为第一条路径。源节点若在规定时间内没有收到RREP 消息,则重新广播一条RREQ消息,并将RREQ消息的广播跳数字段加1,若源 节点在广播RREQ重复次数次的RREQ消息后,依然没有接收到RREP消息,则 该源节点成为组播组的组长节点。将未激活路径的路由激活消息转发给下一 跳节点,直到该消息转发到组播组节点,该组播组节点向该条路由单播一条RREP-S消息,收到RREP-S消息的中间节点激活其备用路由表中的相关路由项 后继续将RREP-S消息转发给源节点,如在规定时间内收到多条RREP-S消息, 则选择序列号最大,跳数最小的路由作为第二条路径。采用本发明的MA0DV协议的多路径扩展方法,可以有效平衡网络负载, 减轻网络拥塞,提高MA0DV协议的容错能力和可扩展性。中间节点通过对 MACT-S消息判断自己是否已经成为第一条路径上的节点来选择两条节点不相 交路径,方法简单,不会造成过多的路由计算开销。由于只有当两条路径都 中断的情况下,源节点才会广播路由请求消息来重新寻找路由,可以减少路 由恢复频率,达到降低路由开销的目的。 说明书附1基于MA0DV协议的多路径扩展方法体系结构图 图2多路径扩展方法中源节点处理控制消息流程图 图3带S字段的MACT消息 图4带S字段的RREP消息具体实施方式
如
图1所示为基于MA0DV协议的多路径扩展方法体系结构图。该方法包 括如下3个步骤① 多路径选择与建立阶段源节点多路径寻找进程触发,负责多路径路 由的寻找、选择和建立。源节点选择最短时延路由作为第一条路径,选择与 第一条路径节点不相交且序列号最大跳数最少的路径作为第二条路径。源节 点根据收到的网络上其他节点发回的路由回复消息RREP以及路由激活消息的 路由回复消息RREP-S的信息,选择一条时延最短路径和与该时延最短路径节 点不相交且序列号最大跳数最少的路径,进行数据分组的分流发送。只建立 两条节点不相交路径既可以平衡网络负载提高协议容错能力,又不会因为路 径过多引起的路由计算开销。② 多路径路由维护阶段源节点与目标节点进行数据传输,当有多路径 出现断链的时候,断链的上游节点需要发送单播路由错误消息RERR给源节点, 如果只有一条路由失效,则源节点继续使用另一条路径发送数据分组,删除无效路由信息。当两条路径都断开,源节点重新进行多路径寻找,这样可以 减少因为频繁触发路由寻找进程带来的开销。③负载分配阶段负载组播路由建立完成以后,数据在多路径上的传输 分配。该部分源节点找到并激活第一条路径以后,立即将所有数据分组发送 到该条路径上进行数据传输,直到源节点找到并激活第二条路径以后,就将 每个数据分组轮流发送在两条路径上,以实现数据分组的分流发送。源节点根据广播路由请求消息RREQ寻找路由路径后,需要等待一段时间 来接收其他节点发回的路由回复消息RREP。在这段等待时间内,源节点可能 收到多条RREP消息,多路径建立部分会根据这些路由回复消息,选择第一条 到达的RREP消息所建立的路由即最短时延路由作为第一条路径,激活该路径 并立即发送数据分组,同时单播路由激活消息MACT-S消息来回复收到的其他 RREP消息发送节点。收到MACT-S的中间节点通过査询该路径的单播路由表项 来判断该路径是否已经激活,如果已经激活,则丢弃收到的MACT-S消息,如 果没有激活就继续转发该MACT-S消息,从而选择一条与第一条路径节点不相 交的路径作为第二条路径。当有节点发现链路中断时,中断处的节点会向路 由上行节点发送一条RERR消息,接收到RERR消息的中间节点删除其备用路 由表中的相关路由项,继续向上游节点转发该RERR消息,收到RERR的源节 点首先判断是否两条路径都已经失效,如果只有一条路径失效,则继续使用 另一条路径发送数据,如果两条路径都已经失效,则源节点重新发送路由请 求消息触发路由寻找进程,重新寻找新的路径。如图2所示为多路径扩展方法中源节点处理控制消息流程图。设置RREP-S消息等待时间,如本实例设置RREP-S消息等待时间(RREP-S WAIT TIME)为RREP消息等待时间(RREP WAIT TIME)的0. 5倍。建立一个备 用路由表来存储和标识建立的第二条路径。当一个源节点需要发送组播数据给目前还没有路由到达的组播组的时 候,广播一条路由请求消息RREQ来寻找路由。收到RREQ消息的任何中间节 点只要有足够新的路由到达组播组,则单播一条RREP消息给源节点以响应路 由请求消息。如果一个接收到RREQ消息的中间节点不是组播组的成员节点,也没有到达组播组的路由,则这个中间节点继续广播该RREQ消息。源节点若 在1. 5x(RREP WAIT TIME )时间内没有收到RREP消息,则重新广播一条RREQ 消息,并将RREQ消息的广播跳数字段(Broadcastj:D)加1,若源节点在这段 时间结束前仍然没有接收到RREP消息,则继续重新广播RREQ消息,每次广 播前将RREQ消息的Broadcast—ID字段加1,最多广播RREQ重复次数 (RREQ—RETRIES, —般设置为2)次RREQ消息。若源节点在广播RREQ_RETRIES 次RREQ消息后,依然没有接收到RREP消息,则该源节点自己成为组播组的 组长节点,并初始化组播组序列号。若源节点在1. 5x(RREP WAIT TIME )时间内收到一条或多条RREP消息, 先通过査询缓存判断到达的RREP消息是否是第一条RREP消息。若是第一条 到达的RREP消息,该路由为第一条路径,则缓存该RREP消息并单播一条路 由激活消息(MACT)来激活该条路由,然后向这条已经建立的路径发送数据分 组,这样可以尽量减少路由寻找带来的时延。收到MACT消息的中间节点缓存 该消息并激活单播路由表中相关条目,然后继续发送MACT消息给下一跳节点, 直到组播组成员节点收到MACT消息才停止发送。如果源节点收到的不是第一条RREP消息,先在MACT消息的R字段后面 添加一个S字段,并设置该S字段为1,表示该MACT消息为MACT-S消息,带 S字段的MACT消息如图3所示,该消息格式中,类型字段取值为4, J字段设 置为1时用于激活组播树,P字段设置为1时用于修剪组播树,G字段设置为 1时表示需要进行组长节点选举,U字段设置为1时表示路由修复后需要进行 更新,R字段设置为1时表示节点需要重新启动。再回复MACT-S消息给下一 跳节点,收到MACT-S消息的中间节点通过该路径的单播路由表项来判断该路 径是否己经激活,如果已经激活,则丢弃该MACT-S消息;如果没有,则将该 路由添加到备用路由表中,并标记该路由为未激活,然后将该未激活路径的 MACT-S消息转发给下一跳节点,直到该MACT-S消息转发到组播组成员节点为 止。这样选出的第二条路径与第一条时延最短路径节点不相交。收到该MACT-S 的组播组节点先在RREP消息的A字段后面添加一个S字段,并设置该S字段 为1,表示该RREP消息为RREP-S消息,带S字段的RREP消息如图4所示,该消息格式中,类型字段取值为2, R字段设置为1时用于应答组播树修复请 求,A字段表示要求应答。然后组播组节点向该条路由单播一条RREP-S消息, 收到RREP-S消息的中间节点激活其备用路由表中的相关路由项然后继续转发 给源节点。源节点先将该RREP-S消息缓存,如果在1.5x(RREP WAIT T頂E ) 时间内收到多条RREP-S消息,则选择序列号最大,跳数最小的RREP-S消息 而忽略其他消息,将相关路由项添加到备用路由表并且激活该路由项。当两条路径都选择完毕后,源节点将每个数据分组轮流发送在两条路径 上,即在第一条路径上发送一个数据分组,再在第二条路径上发送下一个数 据分组,如此循环来实现向目的节点分流发送数据。多路径路由维护部分负责多路径发生断链后的操作。由于节点的移动性、 网络拓扑变化等原因,链路容易发生断裂。节点在一段时间内没有收到相邻 节点发送的任何消息或者不能将数据分组发送给路由上的下一跳节点,则判 断其链路中断。当有节点发现链路中断时,中断处的上游节点向源节点单播 一条路由错误消息(RERR),以通知源节点该条路径已经中断。该路由上的中 间节点收到RERR消息以后,删除其备用路由表中的相关路由项,然后继续转 发该RERR消息,直到源节点收到该RERR消息。收到RERR的源节点删除其备 用路由表中的相关路由项,然后通过査询路由表相关项来判断到达该目的节 点的两条路径是否都已经失效,如果只有一条路由失效,则继续使用另一条 路径发送数据,并将所有数据分组都发送到正常的那条路径上。如果两条路 径都已经中断,源节点才广播RREQ消息来进行路由寻找。本发明的基于MA0DV协议的多路径扩展方法,与MA0DV原协议以及其他 一些自组织网络多路径算法比较,具有以下优点 支持多路径路由的组播协议,有效平衡网络负载,减轻网络拥塞,提高 MAODV协议的容错能力; 支持多路径的节点不相交; 采用MA0DV原有的MACT消息来选择两条节点不相交路径,方法简单, 不会造成过多的路由计算开销; 考虑到选择两条以上的备用路由并不能提升很多路由性能,所以只选择了两条路径,可以减少资源消耗,提高计算效率; 最短时延路由建立完毕,就开始发送数据分组,当第二条节点不相交路 径建立以后,再向两条路径分流发送数据分组,这样可以保证时延最小,又 能平衡网络负载; 只有当两条路径都中断,源节点才重新进行路由寻找,减少了路由寻找 次数,从而控制路由开销。本发明可用于移动自组织网络相关应用领域。
权利要求
1、一种基于MAODV协议的多路径扩展方法,其特征在于,包括如下步骤,源节点根据收到的路由回复消息RREP以及路由激活消息的路由回复消息RREP-S的信息,选择一条时延最短路径作为第一条路径,选择与第一条路径节点不相交且序列号最大跳数最少的路径作为第二路径;源节点找到并激活第一条路径后,将所有数据分组发送到该条路径上,当源节点找到并激活第二条路径以后,向两条路径发送数据分组以平衡网络负载;当路径出现断链的时候,断链的上游节点将单播路由错误消息发送给源节点,判断路由是否失效。
2、 根据权利要求1所述的方法,其特征在于,选择第一条路径的步骤具体包 括,在路由激活消息MACT的R字段后面添加一个S字段,在RREP消息的A 字段后面添加一个S字段,源节点对接收到的RREP和RREP-S的信息进行判 断,当S字段为1时,查询缓存器判断到达源节点的RREP消息是否是第一条, 如是,则该路径为第一条路径。
3、 根据权利要求1所述的方法,其特征在于,所述选择第二条路径的步骤包 括,将未激活路径的路由激活消息转发给下一跳节点,直到该消息转发到组 播组节点,该组播组节点向该条路由单播一条RREP-S消息,收到RREP-S消 息的中间节点激活其备用路由表中的相关路由项后继续将RREP-S消息转发给 源节点,如在规定时间内收到多条RREP-S消息,则选择序列号最大,跳数最 小的路由作为第二条路径。
4、 根据权利要求2所述的方法,其特征在于,源节点若在规定时间内没有收 到RREP消息,则重新广播一条路由请求消息RREQ,并将RREQ消息的广播跳 数字段加l,若源节点在广播RREQ重复次数次的RREQ消息后,依然没有接收 到RREP消息,则该源节点成为组播组的组长节点。
全文摘要
本发明请求保护一种基于MAODV协议的多路径扩展方法,涉及移动通信网络技术。本发明所采用的技术方案是,源节点根据收到的网络上其他节点发回的路由回复消息RREP以及路由激活消息的路由回复消息RREP-S的信息,选择一条时延最短路径作为第一条路径,选择与第一条路径节点不相交且序列号最大跳数最少的路径作为第二路径,按照负载分配的原则将数据分组分别发送到两条路径上,以平衡网络负载,减轻网络拥塞,提高MAODV协议的容错能力。本发明可用于移动自组织网络相关应用领域。
文档编号H04L29/08GK101232458SQ200810069338
公开日2008年7月30日 申请日期2008年1月31日 优先权日2008年1月31日
发明者刘宴兵, 红 唐, 飞 薛 申请人:重庆邮电大学