自适应动态路由方法

文档序号:7721794阅读:165来源:国知局
专利名称:自适应动态路由方法
技术领域
本发明涉及一种路由方法,尤其涉及在复杂网络拓扑结构下实现的自适应路由方 法。
背景技术
路由选择协议使路由器可以找到一条从源端到目的端的路径。所有的IP路由选 择协议都有方法发现IP地址前缀的可达性,记忆对于每个可达前缀发往该前缀的业务流 所要经过的下一跳路由器。当网络发生变化时,路由选择协议持续不断地重新计算前缀的 可达性以及通往可达前缀的可用的下一跳路由器,该过程称为收敛。对任何路由选择协议 来说,随着网络规模与复杂性的不断增长,其收敛时间也会不断增长。当今正使用的两类路由选择技术为距离矢量路由选择算法和链路状态路由选择 算法。在距离矢量协议中,路由器协作完成分布式计算任务。距离矢量路由选择算法分 别计算达到每个目的前缀的最佳路径,通常采用一个简单的度量值来衡量路径的优劣,尽 量寻找度量值最小的路径。该算法的主要优势是简单,适合于路由聚集。与距离矢量路由选择算法所采用的递增额的分布式计算不同,链路状态路由选择 算法采用了一种冗余分布式数据库方法。按照链路状态路由选择算法,数据库提供关于每 个路由器的局部环境信息该路由器与局部网段和邻居路由器之间的链路,以及每条链路 被赋予的代价。链路状态路由选择算法不用通告每个目的端的路径的代价,而是通过链路 状态路由选择算法通告局部的网络链路和状态。这些链路状态通告被发送给其他所有的路 由器。最后的结果是所有的路由器都能获得相同的由收集到的通告所组成的数据库,这个 数据库描述了当前的网络地图。根据网络地图,每个路由器可运行最短路径算法,生成到达 每个目的前缀的最短路径。目前hternet上有很多动态路由协议,包括0SPF、RIP、BGP等,但这些协议目前都 应用在hternet上,在一些带宽有限的专用网络中,并不适用。路由算法要求正确、简单、 健壮、稳定、公平、最优等,在专用网络带宽有限,信道情况复杂,数据流不均的情况下,并没 有一种适用性高的路由算法。

发明内容
本发明的目的在于解决上述问题,提供了一种自适应动态路由方法,针对专用网 络中带宽有限、信道情况复杂以及数据流不均的情况,这种路由方法简单、稳定、公平、最 优。本发明的技术方案为本发明揭示了一种自适应动态路由方法,包括(1)在网络带宽限制严格的情况下实行距离矢量路由选择算法,维护统一的路由 信息表;(2)在网络带宽限制宽松的情况下实行链路状态路由选择算法,与距离矢量路由选择算法一起维护统一的路由信息表。根据本发明的自适应动态路由方法的一实施例,网络带宽限制严格是指网络传输 速率低于U81ibit/s网络带宽限制宽松是指网络传输速率高于U81ibit/s。根据本发明的自适应动态路由方法的一实施例,网络带宽限制严格是指无线网络 的场合,网络带宽限制宽松是指有线网络的场合。根据本发明的自适应动态路由方法的一实施例,距离矢量路由选择算法进一步包 括初始化;获取一节点的窄带路由报文,精简报文内容;将跳数与传输时延结合,合并宽带窄带路由信息,形成统一报文;从路由信息表获得宽带路由信息并与自身路由表进行比对,采用不带毒性逆转的 水平分隔去除无效报文;搜寻邻居,在邻居超时时及时删除;整合报文并将整合后的报文扩散至各个窄带节点,在收到其余节点扩散过来的信 息后,选择最优路由;在多信道的情况下,除了选择最优路由之外,保存一条备用路由以防止信道故 障;形成距离矢量路由表,存入统一的路由信息表。根据本发明的自适应动态路由方法的一实施例,链路状态路由选择算法进一步包 括创建初始链路状态数据库;发送查询报文,获取邻居结构,形成宽带链路状态通告;从路由信息表提取窄带路由信息并形成窄带链路状态通告,将窄带路由信息与自 身路由表进行比对,合并宽带链路状态通告后生成链路状态通告,并形成统一报文;将合并后的链路状态通告泛洪到各个邻居节点;采用最短路径路由选择算法计算出最优路径;形成链路状态路由表,存入统一的路由信息表。本发明对比现有技术有如下的有益效果本发明的整个路由信息表是由距离矢量 路由和链路状态路由结合而成,在带宽限制严格的场合实行距离矢量路由选择算法,在带 宽限制宽松的场合实行链路状态路由选择算法。对比现有技术,本发明更合适在专用网络 带宽有限、信道情况复杂、数据流不均的情况下使用。


图1是本发明所适用的系统框图。图2是本发明中距离矢量协议状态机的示意图。图3是本发明的自适应动态路由算法的实施例的流程图。
具体实施例方式下面结合附图和实施例对本发明作进一步的描述。
请参见图1,在无线网络中使用距离矢量路由选择算法,在有线网络中使用链路状 态路由选择算法。本发明的自适应动态路由方法的实质就是在网络带宽限制严格(一般 传输速率低于U81Ait/S,比如无线网络信道)的情况下实行距离矢量路由选择算法,同时 在这种算法中维护统一的路由信息表。在网络带宽限制宽松(一般传输速率高于USlcbit/ s,比如有线网络信道)的情况下实行链路状态路由选择算法,同时在这种算法中和距离矢 量路由选择算法一起维护统一的路由信息表。在带宽限制严格的场合(例如无线链路状态下)使用距离矢量路由选择算法, 这一算法中采用的协议参考了 IP网络上通用的RIP协议(路由选择信息协议)第二版 (RFC1723,以下简称为RIPv2协议)。为了适应专用网络的特点,对RIPv2协议进行了大规 模的改良,删除了 RIP报文中大量的无用字段和保留字段,以节省带宽。并且,不同于RIP固 定了最大跳数为16,本协议的最大跳数的限制是可以根据要求人为设置的,缺省为10(即 默认10跳即定义为路由不可达),最大为15。图2示出了距离矢量协议状态机,状态机共有4个状态启动、静默、查询、正常。 以下分别对这4个状态进行说明。启动当设备的某个端口启动了协议,首先进入的就是启动状态,在启动状态下协 议对这一端口进行相关的配置,准备在这一端口上接收或发送协议报文,并判断这一端口 是否应进入静默状态,否则进入查询状态。静默如果端口已经配置了静默,该端口进入静默状态。在这一状态下,设备不通 过这一端口发送任何协议报文,但是接收来自这一端口的协议报文并更新自己的路由信息表。如果用户对一个处于静默状态下的端口进行配置,关闭其静默,则这一端口进入 查询状态。查询如果这一端口没有配置静默,则进入查询状态。设备通过这一端口发送查询 报文。查询报文有两个作用一是通知所有接收到该查询报文的设备,发送一条反馈报文来 汇报那台设备的路由信息表;二是通过该端口向外界通告查询报文发送者本身的路由信息表。当该端口处在查询状态时,如果收到来自其他设备的查询报文或反馈报文时,也 要更新路由信息表,并视情况给出相应反馈。该状态在发送完查询报文之后,无条件进入正 常状态正常查询状态之后,该端口进入正常状态。在该状态下,设备在一个(T+/_t)的 时间间隔内,通过该端口向外界通告自身的路由信息表。其中T是一个用户可以配置的基 准时间间隔,默认配置是30秒。t是一个随机生成时间间隔,正负范围控制在T/10内,即缺 省为3秒。例如,如果用户配置了基准时间间隔为20秒,即T = 20,t = 2,那么设备会在 (18s 22s)内,每次随机挑选一个时间作为定期发送反馈报文的定时器,当定时器超时, 就会发送一个反馈报文来通告自己的路由信息表。当该端口在正常状态下收到一个查询报文时,设备要更新自己的路由信息表,并 且向外界发送反馈报文。本协议支持触发更新。不同于一般的定时更新,当设备中的某一条路由条目的度 量值被更新了,设备在t (即T/10)时间内发送一条反馈报文。但是该报文仅通告更新的路由条目,而不是所有的路由条目。之所以不是立即更新,而是等待t时间后进行更新,是考 虑到了路由可能由于包括链路状态不稳定在内等多种原因,在短时间内被不正常的快速反转。图3示出了本发明的自适应动态路由方法的细化步骤,距离矢量路由选择算法和 链路状态路由选择算法在进行一系列的操作之后会形成统一的路由表,然后再从统一的路 由表中提取信息,继续扩散,形成新的路由信息。请参见图3,下面是对应用在本发明的自适 应动态路由方法中的距离矢量路由选择算法的进一步描述。步骤S100:初始化。步骤S 101 获取节点的窄带路由报文,精简报文内容。步骤S102 将路由跳数与传输时延结合,合并宽带窄带路由信息,形成统一报文。步骤S103 将从步骤S108获得的路由信息与自身路由表进行比对,采用不带毒性 逆转(poison reverse)的水平分隔(split horizon)无效 艮文。步骤S104 搜寻邻居,在邻居超时时及时删除。步骤S105:整合报文,将整合后的报文扩散至各个窄带节点,在收到其余节点扩 散过来的信息后,选择最优路由。步骤S106 在多信道的情况下,除了选择最优路由之外,还保存一条备用路由,以 防止信道故障。步骤S107 形成距离矢量路由表,存入统一的路由信息表中。步骤S108 从统一的路由信息表中提取宽带路由信息。在网络带宽限制不严格的场合(例如有线链路状态下)使用链路状态路由选择算 法。系统网络中各节点每一接口主动测试所有邻接节点的状态(即发送hello报文),同时 每一节点定期将链路状态(LSA)传播给所有其它的路由选择节点,根据接收到的链路状态 报文,路由节点定时更新网络拓扑图,利用最短路径算法之一的Dijkstra算法计算最短路由。路由启动后,各接口主动发送hello报文请求(该报文信息中包括本节点地址), 同时接收邻居节点hello报文请求及应答,记录该邻居节点地址,形成邻接关系,并得出接 口代价。各节点根据邻接关系组装本地的LSA分组,同时接收其它邻居节点发至的LSA分 组,加入链路状态数据库;将各分组扩散至各邻居节点,最后在全网络形成统一的链路状态 数据库即网络拓扑图。邻居关系表及链路状态数据库都需要定时更新维护。系统采用Dijkstra算法计算最佳路由。即在网络中,两个节点之间一条路由的代 价是它所经过的链路权值之和,因此这两点间的最佳路由为两点间所有可能路由中具有最 小代价的那条路由。所谓权值也称代价,可考虑以距离、信道带宽、平均通信量、通信开销、 队列平均长度、时延等因素的函数计算得出。根据链路状态数据库利用Dijkstra算法得出下一跳路由表,结合本地邻居表得 出出接口号,形成最终路由信息表,一旦数据库或邻居节点表更新,则整个路由信息表同步 更新。距离矢量路由选择算法和链路状态路由选择算法都可以完成路由信息表的学习, 在路由信息表中会同时存在由两种算法学习得到的路由信息。因此,距离矢量路由协议通告中的跳数将同链路状态路由协议的权值结合成为一致的路由权值,使两者共同维护路由 信息表,以保证在无线/有线网络中路由信息表的完整性。距离矢量协议中通告的路由信息表信息为完整信息(即包括根据链路状态协议 学习到的路由信息),而链路状态协议中增加了一条LSA通告,将距离矢量协议学习到的路 由信息扩散至整个协议网络,实现两者结合。请参见图3,下面对应用在本发明的自适应动态路由方法中的链路状态路由选择 算法进行进一步的说明。步骤S200 创建初始链路状态数据库。步骤S201 发送查询报文,获取邻居结构,形成宽带链路状态通告。步骤S202 根据从步骤S206获取到的窄带路由信息形成窄带链路状态通告并将 窄带路由信息与自身路由表进行比对,合并宽带链路状态通告后生成链路状态通告,并形 成统一报文。步骤S203 将合并后的链路状态通告泛洪到各个邻居节点。步骤S204 运用最短路径路由选择算法计算出最优路径。步骤S205 形成链路状态路由表,存入统一的路由信息表中。步骤S206 从统一的路由信息表中提取并形成窄带链路状态通告。上述实施例是提供给本领域普通技术人员来实现或使用本发明的,本领域普通技 术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而 本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的 最大范围。
权利要求
1.一种自适应动态路由方法,包括(1)在网络带宽限制严格的情况下实行距离矢量路由选择算法,维护统一的路由信息表;(2)在网络带宽限制宽松的情况下实行链路状态路由选择算法,与距离矢量路由选择 算法一起维护统一的路由信息表。
2.根据权利要求1所述的自适应动态路由方法,其特征在于,网络带宽限制严格是指 网络传输速率低于128kbit/s网络带宽限制宽松是指网络传输速率高于128kbit/s。
3.根据权利要求1所述的自适应动态路由方法,其特征在于,网络带宽限制严格是指 无线网络的场合,网络带宽限制宽松是指有线网络的场合。
4.根据权利要求1所述的自适应动态路由方法,其特征在于,距离矢量路由选择算法 进一步包括初始化;获取一节点的窄带路由报文,精简报文内容; 将跳数与传输时延结合,合并宽带窄带路由信息,形成统一报文; 从路由信息表获得宽带路由信息并与自身路由表进行比对,采用不带毒性逆转的水平 分隔去除无效报文;搜寻邻居,在邻居超时时及时删除;整合报文并将整合后的报文扩散至各个窄带节点,在收到其余节点扩散过来的信息 后,选择最优路由;在多信道的情况下,除了选择最优路由之外,保存一条备用路由以防止信道故障; 形成距离矢量路由表,存入统一的路由信息表。
5.根据权利要求1所述的自适应动态路由方法,其特征在于,链路状态路由选择算法 进一步包括创建初始链路状态数据库;发送查询报文,获取邻居结构,形成宽带链路状态通告;从路由信息表提取窄带路由信息并形成窄带链路状态通告,将窄带路由信息与自身路 由表进行比对,合并宽带链路状态通告后生成链路状态通告,并形成统一报文; 将合并后的链路状态通告泛洪到各个邻居节点; 采用最短路径路由选择算法计算出最优路径; 形成链路状态路由表,存入统一的路由信息表。
全文摘要
本发明公开了自适应动态路由方法,针对专用网络中带宽有限、信道情况复杂以及数据流不均的情况,这种路由方法简单、稳定、公平、最优。其技术方案为方法包括(1)在网络带宽限制严格的情况下实行距离矢量路由选择算法,维护统一的路由信息表;(2)在网络带宽限制宽松的情况下实行链路状态路由选择算法,与距离矢量路由选择算法一起维护统一的路由信息表。
文档编号H04L12/56GK102118299SQ20091024794
公开日2011年7月6日 申请日期2009年12月31日 优先权日2009年12月31日
发明者赵立 申请人:中国电子科技集团公司第五十研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1