最短路径优先协议中的路由选择方法及其装置的制作方法

文档序号:7954036阅读:178来源:国知局
专利名称:最短路径优先协议中的路由选择方法及其装置的制作方法
技术领域
本发明涉及通信系统中的路由技术,特别涉及最短路径优先协议中的路由选择方法及其装置。
背景技术
路由器(Router)是工作在国际标准化组织的开放系统互联(InternationalStandard Organization/Open System Interconnection,简称“ISO/OSI”)模型的第三层即网络层上,具有连接不同类型网络的能力,并能够选择数据传送路径的网络设备。
当路由器接收到一个数据包后,检查其中的第三层网络地址,例如互联网协议(Internet Protocol,简称“IP”)地址,如果这个目标地址是其它网络的,就将数据包转发出本地网络。它能够连接的网络类型有以太网(Ethernet)、异步传输模式(Asynchronous Transfer Mode,简称“ATM”)网、光纤分布式数据接口(Fiber Distributed Data Interface,简称“FDDI”)网、令牌环网等,对于不同类型的网络,其传送的数据单元--帧(Frame)格式和大小是不同的。数据从一种类型的网络传输到另一种类型的网络,必须进行帧格式转换,因而路由器还具有帧格式转换的功能。在互联网中,数据从一个节点到另一个节点,可能的传输路径有许多,因而,为了提高通信速度,减轻网络系统通信负荷,节约网络系统资源,路由器还具有选择数据最优传输路径的功能。
路由器一般有三种接入路由器、企业级路由器、骨干级路由器。其中,接入路由器是指将局域网用户接入到广域网中的路由器设备;企业级的路由器用于连接大型企业内成千上万的计算机。与接入路由器相比,企业级路由器支持的网络协议多、速度快,要处理各种局域网类型,支持多种协议,包括IP、互联网络的数据包交换协议(Internetwork Packet Exchange,简称“IPX”)等,还要支持防火墙、包过滤以及大量的管理和安全策略以及虚拟局域网(Virtual Local Area Network,简称“VLAN”);而骨干级路由器用于实现企业级网络的互联,互联网目前由几十个骨干网构成,每个骨干网服务几千个小网络。
在路由器的内部有一个路由表,该表标明了数据将送往的下一跳地址,一般说来,路由的下一跳地址就是与本设备直接相连的对端路由器的地址。当路由器从某个接口收到一个数据包后,它首先把该数据包链路层的包头去掉,即进行拆包,并读取目的IP地址,然后查找路由表,若根据查询可以确定数据包的下一跳地址,则重新打包后将该数据包转发出去;如果不能确定下一跳地址,则根据源地址返回一个信息,并把该数据包丢弃。
网络中路由信息通常都是通过边界网关协议(Border Gateway Protocol,简称“BGP”)/内部网关协议(Interior Gateway Protocol,简称“IGP”,)来分发和收集的,其中,作为IGP主要的协议之一的最短路径优先(OpenShortest Path First,简称“OSPF”)协议,应用非常广泛。OSPF协议属于链路状态协议,它通过多种路由器链路状态通告(Link State Advertisement,简称“LSA”)来收集和扩散网络的拓扑信息以及路由信息。
在OSPF协议中,路由器的识别号(IDentity,简称“ID”)以及接口、邻居信息通过第一类LSA(Router-LSA,也即路由器-LSA)来描述。具体地说,对于点到点的连接,在Router-LSA中描述了其对端路由器的ID以及本地网络对应的接口IP地址;而对于广播网络以及非广播多点访问(Non-broadcast Multiple Access,简称“NBMA”)网络,Router-LSA则描述了本地网络对应的接口IP地址以及指派路由器(Designated Router,简称“DR”)的IP地址。
根据OSPF协议,如图1所示,广播网络或者NBMA网络被抽象为一台虚拟路由器和真实路由器的星型连接,如图2所示,这样可以减少网络上的报文数量。其中,虚拟路由器的职能由广播网络或者NBMA网络上选举出来的一台路由器来担当,这台路由器即为DR。OSPF协议的机制能够保证在路由器A、路由器B、路由器C三台路由器上的选举结果一致,例如,如图1所示,路由器B被选举为DR,因此,路由器B在这个网络上的接口IP地址即为DR的IP地址。
在OSPF协议中,使用第二类LSA(Network-LSA,也即网络-LSA)来描述DR的IP地址、网段掩码、网络上的各个路由器的ID。Network-LSA由DR负责产生。
Router-LSA和Network-LSA共同描述了一个完整的网络拓扑结构,OSPF协议根据最短路径优先(Shortest Path First,简称“SPF”)算法,利用这两类LSA携带的信息,从网络拓扑中计算出一棵以计算路由器(CalculatingRouter,简称“CR”)为根节点的最短路径树,再以这棵树为基础计算网络中的路由。其中,CR是网络拓扑结构的星型连接中的路由器,参见请求评论(Request for Comment,简称“RFC”)2328,CR到网段上其它路由器的出接口都是该路由器连接到该网络的接口;而下一跳地址则分别是其它路由器各自连接到该网络的接口IP地址。CR计算出来的最短路径树中,每个分支的终点是网络中的其它路由器,直观地反映了从根节点到各个分支节点所经过的路径,即为CR到对应路由器的最短路径。具体地说,OSPF协议的路由计算过程包含描述本路由连接的网络拓扑,生成LSA;收集其它路由器发出的LSA,组成链路状态数据库(Link State Database,简称“LSDB”);根据LSDB进行路由计算。
在OSPF协议中还描述了网络节点的邻居状态,有八种状态,分别如下
1、down,表示在过去的dead-interval(门限-间隔)时间未收到邻居节点发来的Hello(你好)报文;2、Attempt,该状态在NBMA网络时出现,表示定时向手工指定的邻居节点发送Hello报文;3、init,表示本节点已收到邻居节点发来的Hello报文,但其中没有本节点的地址,也即邻居节点未收到本节点所发送的Hello报文;4、2-way,表示本节点和邻居节点均收到了对方发来的Hello报文;5、Exstart,表示互相交换数据库描述(Database Description,简称“DD”)报文,建立主从关系;6、exchange,表示双方用DD表述LSDB,互相交换;7、loading,表示发送连接状态请求(Link State Request,简称“LSR”)报文;8、full,表示对方的LSA本节点均有,双方建立邻接关系。
随着网络技术的不断发展,对网络功能的多样性以及可靠性的要求也越来越高,网络环境也相应的愈加复杂,对网络所包含的各种各样的网络设备、连接线路的要求愈高,网络中任何设备、连接线路出现问题都会不同程度地影响到整个网络的正常运行。通常情况下,丰富的网络功能集成于一台网络设备(例如一台路由器)中,因此,网络设备的配置也更复杂,设备上出现的任何配置上的问题都会影响到这台设备所在的网络的正常运行。
如图1所示,根节点路由器A通过以太接口0(Ethernet0)连接到一个广播网络中,网络上还连接了路由器B、路由器C,其中,路由器B是DR,这三台路由器的接口IP地址分别为10.1.1.1/24、10.1.1.2/24、10.1.1.3/24。
这三台路由器的星型连接的拓扑结构如图2所示,在路由器A上进行路由计算,路由器A为CR,其计算结果为路由器A通过接口Ethernet0连接到了DR,DR又连接到了路由器B和路由器C;路由器A到路由器B的出接口是Ethernet0,下一跳地址是路由器B的地址10.1.1.2;路由器A到路由器C的出接口也是Ethernet0,而下一跳地址则是路由器C的地址10.1.1.3。
这样,从路由器A到路由器B的网络流量会直接转发给路由器B,而路由器A到路由器C的网络流量会直接转发给路由器C,如图3所示。
在实际应用中,上述方案存在以下问题网络中存在路由黑洞,使得网络传输不畅通。
造成这种情况的主要原因在于,由于根据OSPF协议,将广播网络或者NBMA网络抽象成星型结构进行路由计算,例如,如图1所示网络结构,路由器间双向连接检查为DR与各个路由器之间的连接检查,如图4所示,当DR与各个路由器之间的连接都正常时,路由器A到路由器C的网络流量根据计算结果将直接由路由器A转发到路由器C,如图3所示,然而,网络侧无法获知路由器A与路由器C之间的连接状态,如图5所示,因此,当路由器A与路由器C之间的连接出现问题(硬件问题或者配置不当等)时,路由计算结果失真,造成路由器A到路由器C的路由黑洞,使得网络传输不畅通。

发明内容
有鉴于此,本发明的主要目的在于提供一种最短路径优先协议中的路由选择方法及其装置,使得路由黑洞得以避免,保证了网络的畅通。
为实现上述目的,本发明提供了一种最短路径优先协议中的路由选择方法,包含以下步骤如果目的路由器的父亲节点是与计算路由器直连的一个网段,则该计算路由器使用该目的路由器的状态进行该计算路由器与该目的路由器间双向连接检查;
如果所述双向连接检查通过,则将所述计算路由器到所述目的路由器的下一跳地址设置为该目的路由器连接所述网段的接口IP地址。
其中,如果所述双向连接检查没有通过,则将所述计算路由器到所述目的路由器的下一跳地址设置为所述网段中指派路由器的IP地址。
此外在所述方法中,如果所述双向连接检查没有通过,所述计算路由器到所述目的路由器的网络流量通过所述指派路由器中转。
此外在所述方法中,如果所述双向连接检查通过,则所述计算路由器到所述目的路由器网络流量直接发送给该目的路由器。
此外在所述方法中,所述目的路由器连接所述网段的接口IP地址是所述计算路由器从该目的路由器收到的路由器链路状态通告中回指所述网段的接口IP地址。
此外在所述方法中,所述目的路由器的状态为大于或等于“2-way”时,所述双向连接检查通过,否则所述双向连接检查没有通过。
此外在所述方法中,所述计算路由器到所述目的路由器的出接口设置为该计算路由器连接这个网段的接口。
本发明还提供了一种最短路径优先协议中的路由选择装置,包含用于判断目的路由器的父亲节点是否为与计算路由器直连的一个网段的模块;用于在判定所述目的路由器的父亲节点是与所述计算路由器直连的一个网段时,使用该目的路由器的状态进行该计算路由器与该目的路由器间双向连接检查的模块;用于在所述双向连接检查通过时,将所述计算路由器到所述目的路由器的下一跳地址设置为来自该目的路由器连接所述网段的接口IP地址的模块。
其中,还包含
用于所述双向连接检查没有通过时,将所述计算路由器到所述目的路由器的下一跳地址设置为所述网段中指派路由器的IP地址的模块。
此外,所述目的路由器和计算路由器是具有指派路由器选举权利的路由器。
通过比较可以发现,本发明的技术方案与现有技术的主要区别在于,在计算直连的广播网络或者NBMA网络的拓扑时,计算路由器使用目的路由器的状态进行双向连接检查,如果检查通过,则将到目的路由器的下一跳地址设为该目的路由器连接到广播网络或者NBMA网络的接口IP地址,网络流量直接发送给该目的路由器。因为所设置的路由和双向连接检查的对象是一致的,所以不会出现路由黑洞,保证了网络的畅通。
如果检查没有通过,则将计算路由器到目的路由器的下一跳地址设置为广播网络或者NBMA网络中指派路由器的IP地址,到目的路由器的网络流量通过指派路由器中转。当非指派路由器的两台路由器之间发生连接故障(例如硬件故障或者错误的配置等)时,通过将去往对方路由器的下一跳地址更改为指派路由器的IP地址,使得这两台路由器之间的网络流量通过指派路由器来中转,从而保持了网络畅通。
通过将目的路由器和计算路由器限制为具有指派路由器选举权利的路由器,可以防止网络流量不必要的中转。这是因为对于NBMA网络,在那些不具有DR选举权利的路由器之间的邻居状态可能始终为DOWN;如果采用目的路由器的状态进行双向连接检查,则计算路由器和目的路由器之间的网络流量都会通过指派路由器来中转,但在网络正常的情况下,这种中转是没有必要的。


图1是现有技术中广播网络/NBMA网络连接示意图;
图2是现有技术中根据图1所示的广播网络/NBMA网络连接拓扑结构图;图3是现有技术中根据图1所示的广播网络/NBMA网络连接状态示意图;图4是现有技术中根据图2所示的广播网络/NBMA网络连接拓扑结构的连接检查示意图;图5是现有技术中根据图1所示的广播网络/NBMA网络连接状态示意图;图6是根据本发明第一实施方式的OSPF协议中的路由选择方法流程图;图7是根据本发明第一实施方式的广播网络/NBMA网络连接状态示意图;图8是根据本发明第一实施方式的广播网络/NBMA网络连接状态示意图;图9是根据本发明第一实施方式的根据图8所示的广播网络/NBMA网络连接路由示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
本发明通过CR根据目的路由器的状态来进行CR与该目的路由器间的双向连接检查,并根据检查结果设置下一跳地址。当目的路由器的状态大于或等于“2-way”时,CR的下一跳地址为该目的路由器连接网段的接口IP地址,否则下一跳地址设置为网段中DR的IP地址,最终使得无论CR与目的路由器之间的连接检查是否通过,所设置的路由和双向连接检查的对象是一致的,因此不会出现路由黑洞,保证了网络的畅通。
本发明第一实施方式的OSPF协议中的路由选择方法如图6所示。在广播网络或者NBMA网络中,CR的目的路由器的父亲节点与CR直连一个网段中,如图7所示,CR为路由器A,目的路由器为路由器C。路由器A、路由器B和路由器C的IP地址分别为10.1.1.1/24、10.1.1.2/24、10.1.1.3/24。将CR到目的路由器的出接口设置为该CR连接这个网段的以太接口0。
在步骤601中,根据OSPF协议的Hello报文,CR获取目的路由器的状态。
在步骤602中,CR根据目的路由器的状态来判断CR与该目的路由器间双向连接检查是否通过,如果目的路由器的状态为大于或等于“2-way”,如图3所示,双向连接检查通过,则转入步骤603;否则如图8所示,双向连接检查没有通过,转入步骤605。
在步骤603中,由于CR与目的路由器间双向连接检查通过,CR将到目的路由器的下一跳地址设置为该目的路由器连接网段的接口IP地址,例如直接为路由器C的IP地址10.1.1.3。其中,目的路由器连接网段的接口IP地址是CR从该目的路由器收到的LSA中回指网段的接口IP地址,即在LSA中目的路由器与网段的接口IP地址。例如,在图1所示的系统中,目的路由器C回指网段的接口IP地址是10.1.1.3。
在步骤604中,由于下一跳地址为目的路由器连接网段的接口IP地址,CR将网络流量直接发送给目的路由器。结束本流程。
在步骤605中,由于CR与目的路由器间双向连接检查没有通过,CR将到该目的路由器的下一跳地址设置为网段中DR的IP地址10.1.1.2。
在步骤606中,由于下一跳地址为网段中DR的IP地址10.1.1.2,CR将发往目的路由器的网络流量发送给DR。当非DR的两台路由器A和C之间发生连接故障(例如硬件故障或者错误的配置等)时,通过将去往对方路由器的下一跳地址更改为DR的IP地址,使得这两台路由器之间的网络流量通过DR来中转,从而保持了网络畅通。
在步骤607中,DR将来自CR的网络流量转发给目的路由器,如图9所示。结束本流程。
在上述实施方式中,目的路由器和CR都是具有DR选举权利的路由器。通过将目的路由器和CR限制为具有DR选举权利的路由器,可以防止网络流量不必要的中转。这是因为对于NBMA网络,在那些不具有DR选举权利的路由器之间的邻居状态可能始终为down;如果采用目的路由器的状态进行双向连接检查,则CR和目的路由器之间的网络流量都会通过DR来中转,但在网络正常的情况下,这种中转是没有必要的。
本发明第二实施方式的OSPF协议中的路由选择装置,其中包含三个模块,分别为模块1、模块2和模块3。
其中,模块1用于判断目的路由器的父亲节点是否为与CR直连的一个网段;模块2用于在判定目的路由器的父亲节点是与CR直连的一个网段时,使用该目的路由器的状态进行该CR与该目的路由器间双向连接检查;而模块3则用于在双向连接检查通过时,将CR到目的路由器的下一跳地址设置为来自该目的路由器连接网段的接口IP地址,在双向连接检查没有通过时,将CR到目的路由器的下一跳地址设置为网段中DR的IP地址。
目的路由器和CR必须为具有指派路由器选举权利的路由器,这样可以防止网络流量不必要的中转。这是因为对于NBMA网络,在那些不具有DR选举权利的路由器之间的邻居状态可能始终为DOWN;如果采用目的路由器的状态进行双向连接检查,则计算路由器和目的路由器之间的网络流量都会通过指派路由器来中转,但在网络正常的情况下,这种中转是没有必要的。
虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
权利要求
1.一种最短路径优先协议中的路由选择方法,其特征在于,包含以下步骤如果目的路由器的父亲节点是与计算路由器直连的一个网段,则该计算路由器使用该目的路由器的状态进行该计算路由器与该目的路由器间双向连接检查;如果所述双向连接检查通过,则将所述计算路由器到所述目的路由器的下一跳地址设置为该目的路由器连接所述网段的接口IP地址。
2.根据权利要求1所述的最短路径优先协议中的路由选择方法,其特征在于,如果所述双向连接检查没有通过,则将所述计算路由器到所述目的路由器的下一跳地址设置为所述网段中指派路由器的IP地址。
3.根据权利要求2所述的最短路径优先协议中的路由选择方法,其特征在于,如果所述双向连接检查没有通过,所述计算路由器到所述目的路由器的网络流量通过所述指派路由器中转。
4.根据权利要求1所述的最短路径优先协议中的路由选择方法,其特征在于,如果所述双向连接检查通过,则所述计算路由器到所述目的路由器网络流量直接发送给该目的路由器。
5.根据权利要求1所述的最短路径优先协议中的路由选择方法,其特征在于,所述目的路由器连接所述网段的接口IP地址是所述计算路由器从该目的路由器收到的路由器链路状态通告中回指所述网段的接口IP地址。
6.根据权利要求1至5中任一项所述的最短路径优先协议中的路由选择方法,其特征在于,所述目的路由器的状态为大于或等于“2-way”时,所述双向连接检查通过,否则所述双向连接检查没有通过。
7.根据权利要求1至5中任一项所述的最短路径优先协议中的路由选择方法,其特征在于,所述计算路由器到所述目的路由器的出接口设置为该计算路由器连接这个网段的接口。
8.一种最短路径优先协议中的路由选择装置,其特征在于,包含用于判断目的路由器的父亲节点是否为与计算路由器直连的一个网段的模块;用于在判定所述目的路由器的父亲节点是与所述计算路由器直连的一个网段时,使用该目的路由器的状态进行该计算路由器与该目的路由器间双向连接检查的模块;用于在所述双向连接检查通过时,将所述计算路由器到所述目的路由器的下一跳地址设置为来自该目的路由器连接所述网段的接口IP地址的模块。
9.根据权利要求8所述的最短路径优先协议中的路由选择装置,其特征在于,还包含用于所述双向连接检查没有通过时,将所述计算路由器到所述目的路由器的下一跳地址设置为所述网段中指派路由器的IP地址的模块。
10.根据权利要求8至9中任一项所述的最短路径优先协议中的路由选择方法,其特征在于,所述目的路由器和计算路由器是具有指派路由器选举权利的路由器。
全文摘要
本发明涉及通信系统中的路由技术,公开了一种最短路径优先协议中的路由选择方法及其装置,使得路由黑洞得以避免,保证了网络的畅通。本发明中,在计算直连的广播网络或者NBMA网络的拓扑时,计算路由器使用目的路由器的状态进行双向连接检查,如果检查通过,则将到目的路由器的下一跳地址设为该目的路由器连接到广播网络或者NBMA网络的接口IP地址,网络流量直接发送给该目的路由器。如果检查没有通过,则将计算路由器到目的路由器的下一跳地址设置为广播网络或者NBMA网络中指派路由器的IP地址,到目的路由器的网络流量通过指派路由器中转。
文档编号H04L12/56GK101087240SQ20061002736
公开日2007年12月12日 申请日期2006年6月7日 优先权日2006年6月7日
发明者冯路, 方志刚 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1