基于共享风险链路群组信息确定网络路由选择信息的方法和装置的制作方法

文档序号:6094540阅读:190来源:国知局
专利名称:基于共享风险链路群组信息确定网络路由选择信息的方法和装置的制作方法
技术领域
本发明一般地涉及网络中的路由选择数据。更具体而言,本发明涉及用于基于共享风险链路群组信息确定网络路由选择信息的方法和装置。
背景技术
本部分中描述的方法可以被实行,但却不一定是先前构想或实行过的方法。因此,除非这里另有指示,否则本部分中的方法并不是本申请的权利要求的现有技术,并且并不因为被包括在本部分中就被承认是现有技术。
在诸如因特网这样的计算机网络中,根据各种路由选择协议之一,数据分组被经由链路(诸如电话线路或光线路之类的通信路径)和节点(通常是沿着连接到它的多个链路中一个或多个引导分组的路由器)的网络从源发送到目的地。
在网络中,某些节点代表末端系统(例如打印机、传真机、电话、PC等等),而其他节点代表网络设备(例如交换机,路由器等等)。数据分组例如是根据网络节点之间共享的路由选择信息在网络中从源发送到目的地的。由于网络包括多个互连的节点,因此网络是相当健壮的。如果节点或链路由于任何原因发生故障,则网络动态地配置以重新路由数据,以避开发生故障的节点。当例如由于修复或通过添加节点因而节点或链路出现在网络上时,网络动态地收敛到所谓的收敛状态,在该状态中,网络的所有路由器具有公共的路由选择信息。
依赖于共享的信息的一类路由选择协议是链路状态协议。链路状态协议的示例是中间系统到中间系统(IS-IS)协议和开放最短路径优先(OSPF)协议。链路状态协议依赖于驻留在每个节点上的路由选择算法。网络上的每个节点在整个网络中通告到相邻节点的链路,并提供与每个链路相关联的成本,该成本可以基于诸如链路带宽或延迟之类的任何适当的度量,并且一般被表达为整数值。链路可以具有非对称成本,即,沿着链路的方向AB上的成本可能不同于方向BA上的成本。
基于链路状态分组(LSP)形式的所通告的信息,每个节点构造作为整个网络拓扑的图的链路状态数据库(LSDB),并且一般从该数据库构造到每个可用节点的单个最优路径。链路可以被视为路由器上的接口。链路的状态是对该接口及其与其相邻路由器的关系的描述。接口描述例如可以包括接口的IP地址、掩码、其连接到的网络的类型、连接到该网络的路由器,等等。整个网络的所有链路状态的集合形成链路状态数据库。
链路状态协议使用链路状态算法来构建和计算到所有已知目的地的最短路径。用于确定最短路径的算法比较复杂,但下文提供链路状态算法的步骤的简化概观。一旦初始化或由于任何变化的路由选择信息,路由器生成链路状态通告分组(LSP)。这个通告代表该路由器上所有链路状态的集合。所有路由器通过洪泛(flooding)交换LSP。每个接收到链路状态更新的路由器在其链路状态数据库中存储复本,然后迅速将更新传播到其他路由器。在每个路由器的数据库完成之后,每个路由器计算到所有目的地的最短(成本最低)的路径,并使用该信息来形成IP路由选择表。在某些情况下,具有相等成本的两个或多个路由器介绍自己,这被称为“等成本路径分割”。一种适当的算法是最短路径优先(SPF)算法。
结果,构造出了“生成树”,其以该节点为根,并且示出去往每个可用目的地节点的最优路径,其中包括中间节点。相反,可以构造“反向生成树”,示出从给定节点可到达的所有节点到该节点的最优路径。由于每个节点具有公共的LSDB(除了所通告的变化在网络中传播时),因此每个节点都能够计算以任何其他节点为根的生成树和反向生成树。SPF的结果被存储在路由选择表中(也称为路由选择信息库(RIB)),并且,基于这些结果,转发信息库(FIB)或转发表被更新,以适当地控制分组的转发。
在链路状态协议中,当链路或节点发生故障并且随后被修复时,或者当网络发生其他变化,例如链路成本变化时,网络的被修复部分所涉及的路由器则必须重新确立收敛。这是通过(一个或多个)路由器在整个网络区域内通告它们自己或者所述变化来实现的。但是,在拓扑变化期间,存在这样的一小段时间,其中在关于变化的信息经过网络传播时,网络上的LSDB、RIB和FIB变得不一致。在这个不一致时段期间生成的路由可能会导致路由选择循环,这种路由选择循环一直持续直到数据库收敛,此时按照定义应当没有循环。
例如,如果第一节点经由构第二节点向目的地节点发送分组,其中根据第一节点的SPF,第二节点构成最优路径,则可能出现这种情形第二节点根据其SPF(基于与第一节点不同的LSDB)确定去往目的地节点的最佳路径是经由第一节点,并将分组发回。循环可能发生在以下情况下第一节点根据其LSDB确信链路成本低于第二节点根据其LSDB所确信的链路成本。这可能无限期地继续下去,虽然通常分组会有最大跳计数,在该计数之后它将会被丢弃。这种循环可以是两个节点之间的直接循环,或者是节点电路中的间接循环。重收敛一般将会花费几百毫秒,从而可能导致持续时间比原本由故障所导致的更长的中断。
此外,IP网络中带宽需求的增大已经引起了在波分复用(WDM)网络基础设施上部署IP。在WDM网络中,来自不同源的数据可以同时经由相同光纤链路传输,其中为每个数据源使用不同的光波长。由于传统上在数学表达式中用希腊字母λ(lambda)来表示波长,因此WDM链路上的不同数据源有时被称为“lambda”。在WDM网络中,路由器可以与光学层所提供的一个或若干个lambda互连。此外,密集型WDM(DWDM)技术当前允许特定颜色光谱内的16个或更多个波长(即数十个lambda)的复用和解复用。
由于一般使用不同的设备来形成IP网络和光学网络,因此在这种网络中常用的做法是不同的互连路由器对具有共享公共光学网络元件的一组lambda。该组lambda被称为共享风险链路群组或SRLG,以指示公共组件的故障可能影响多个资源。例如,光纤切断可能引起穿越发生故障的光纤的所有lambda的故障;穿越该光纤的所有lambda将会共享公共的SRLG。
为了针对解决由于SRLG的使用而产生的收敛问题,已经在GMPLS的上下文中定义了内部网关协议(IGP)的扩展,以分发SRLG。这种扩展在标题为“draft-ietf-isis-gmpls-extensions-16.txt”和“draft-ietf-ccamp-ospf-gmpls-extensions-09.txt”的IETF草案文档中定义,这些文档目前可在IETF网站itetf.org上获得。但是,现有的链路状态协议并没有将此信息用于其最短路径计算中。结果,SRLG的故障可能引起路由器收敛所需时间的增加,或者可能要求在SRLG故障尚未为每个路由器所知并且这些路由器尚未收敛的时间段期间要求路由器使用非最优路径。
基于上述内容,很明显需要一种使用关于共享风险链路群组的信息的确定路由选择路径的改进的方法。


在附图中以示例方式而非限制方式示出了本发明,附图中类似的标号是指类似的元件,其中图1A是第一假设网络的简化框图;图1B示出图1A的网络的路由器A的最短路径优先树(SPT);图2A是用于基于共享风险链路群组信息确定网络路由选择信息的过程的流程图;图2B是图2A的过程的第一备选方案的更多步骤的流程图;图2C是图2A的过程的第一备选方案或第二备选方案首先执行的图验证步骤的流程图;图2D是图2A的过程的第二备选方案中的更多步骤的流程图;图3是第二假设网络的简化框图;以及图4是示出其上可实现实施例的计算机系统的框图。
具体实施例方式
描述了一种用于基于共享风险链路群组信息来确定网络路由选择信息的方法和装置。在以下描述中,出于说明目的,阐述了许多具体细节,以提供对本发明的详尽理解。但是,对于本领域的技术人员来说显而易见的是,本发明可以在没有这些具体细节的情况下实现。在其他情况下,以框图形式示出公知的结构和设备,以避免不必要地喧宾夺主。
在这里根据以下大纲描述实施例1.0一般概况2.0结构和功能概况2.1链路状态数据库的使用2.2在没有关于共享风险链路群组的信息的情况下确定最短路径3.0用于基于共享风险链路群组信息确定路由选择信息的方法4.0实现机构-硬件概况5.0扩展和备选方案***1.0一般概况前述背景技术中识别的需求,以及将从以下描述中显现出来的其他需求和目的在本发明中实现,本发明在一个方面中包括用于基于共享风险链路群组信息来确定网络路由选择信息的方法。
公开了一种方法和装置,用于部分基于关于关联为共享风险链路群组的链路的信息来执行数据通信网络中的最短路径优先网络路由选择路径确定。通过考虑链路是否在共享风险链路群组内,在计算最短路径优先树时避免了微循环。
在第一种方法中,对于链路状态数据库中的每个链路状态分组,如果发起LSP的节点和所报告的相邻节点之间的链路属于已知其中至少一个组件(本地链路)发生故障的共享风险链路群组,则去除所列出的相邻节点,然后执行最短路径优先计算。
在第二种方法中,在SPT计算期间并且在向路径添加第一节点之后,在且仅在第一节点和相邻节点之间的链路不属于已知其中至少一个组件(本地链路)发生故障的共享风险链路群组的情况下,每个相邻节点被添加到暂定树。
在任一种方法中,可以利用代表网络中的节点和链路的图来执行图验证步骤。如果图断开,则重复SPF确定,而不删除任何未被明确报告为发生故障的链路。此外,在其中可能接收到了新LSP的时间间隔之后,可以使用定时器机构来触发SPF计算的重新执行。
在其他方面中本发明包括被配置成执行上述步骤的计算机装置和计算机可读介质。
这里所描述的方法可以根据任何适当的路由选择协议来实现。一般来说,诸如中间系统到中间系统(IS-IS)或开放最短路径优先(OSPF)这样的链路状态协议是适当的协议。
2.0结构和功能背景2.1链路状态数据库的使用数据通信网络包括多个互连的站点。站点之间的流量被经由网络节点从源路由到目的地。由于各种因素(例如过多的网络流量、硬件故障或软件故障),节点可能进入故障模式,在此期间路由到该节点的数据不被该节点向前路由。
除了故障模式之外,网络变化可能发生在例如由于网络管理员干预而造成链路成本增大或减小之时,并且,在这些情况中的任何一种情况下,都可能发生这种情况在变化被传播经过网络时,网络的暂时性失同步可能引起循环。其他可能的网络变化包括新路由器引入(从效果上来说对应于链路成本从“无穷大”减小)或路由器的去除(从效果上来说对应于链路成本增大到“无穷大”)。
图1A是示出数据通信网络的示例的网络图,该网络以节点和链路作为网络元件,它可以是互联网或子网,例如路由选择域或虚拟网络。图1A所示的网络包括节点A、B、C、D、E、F、G、H、I、J、K,其中每一个都是路由器。图1A中的线条代表节点之间的链路。假定所有的链路都是SRLG不同的,意思是它们不共享任何SRLG,除了分别连接节点A-B和F-B的链路12a、12b都属于SRLG 1之外。作为示例,假定链路12a、12b都穿越相同的光纤。
网络中的每个路由器包括使得路由器能够维护链路状态数据库(LSDB)形式的网络图的软件。只要网络拓扑的某个区域发生变化,LSDB就被更新。如果路由器在多个区域上具有接口,则为每个不同的区域维护LSDB。LSDB是周期性地计算的。如果区域的拓扑未发生变化,则不对区域的LSDB作出改变。
LSDB包含用于区域中的每个路由器连接到的所有网络的条目。它还为路由器的每个网络接口分配传出成本度量。该度量衡量通过接口将流量发送到所连接的网络的成本。通过分配成本,可以基于线路成本、线路速度或任何其他参数来设置路由器偏好。假定除了A-H链路14的成本为2,F-G链路16的成本由变量c给定之外,图1A中所有链路的链路成本都等于1。
LSDB中的条目是基于链路状态分组(LSP)中发送的信息的,其包括由路由器生成的用于描述路由器的可达性的信息。每个LSP包含标识路由器上的接口、该路由器的附接节点或网络以及到达这些节点或网络中每一个的成本的信息。当对于区域中的所有路由器LSDB都相同时,网络被视为收敛。
在LSDB达到收敛状态之后,每个路由器计算通过网络去往每个节点或网络以及每个路由器的最短路径。计算最短路径优先(SPF)树(SPT),并存储信息。每个路由器维护其自己的SPT。在构建SPT之后,通过确定去往每个目的地节点或网络的最低成本路径计算路由选择表。在每个路由器本地计算路由选择表,并相应地更新FIB。图1A的网络导致如下表1所示的LSDB表1


利用此LSDB,每个路由器计算SPT。图1B示出图1A的路由器A的SPT。这示出了从路由器A到每个网络和每个路由器的最短路径。然后路由器A可以根据此SPT计算A路由选择表。
2.2在没有关于共享风险链路群组的信息的情况下确定最短路径在传统做法中,SPF计算是在不使用关于共享风险链路群组的信息的情况下执行的。因此,如以下两个示例中所说明的,这种计算易受不经意地引入到路由选择表中的循环的影响,并会产生不合需要的结果。
对于两个示例,都假定lsp-gen(X)是节点X在其LSP变化时在发起新LSP之前等待的时间段,spf-gen(X)是在接收到新LSP之后节点X等待触发SPF的时间段。函数lsp-gen和spf-gen都可以是LSP生成和SPF发生的次数的线性的、二次的、指数的或其他函数。两个示例都针对分组从图1A所示的源S到目的地Z所遵循的假设路径,其中源S直接附接到节点A,目的地Z直接附接到节点C。P(A,Z)得出由节点A为去往Z的分组计算的最短路径上的下一跳。例如,在没有链路故障的稳定状态下,对于图1A的网络,P(A,Z)=B。从A到Z的最短路径是A-B-C,因此从A到Z的下一跳是B。
在传统的链路状态协议方法中,在引起SRLG 1故障的光纤切断的情况下,将会发生以下过程。作为第一情况,假定c=10,即F-G链路16的成本是10。在时刻T0,SRLG 1发生故障,从而链路A-B和B-F同时发生故障。在时刻T1,节点A和F检测到链路故障;一般这种检测几乎是同时发生的。
作为响应,在时刻T2,节点A和F各自通过计算lsp-gen(A)和lsp-gen(F)来确定新的下一跳节点,然后发起新的LSP,其中lsp-gen(A)和lsp-gen(F)是由IGP参数设置所确定的。
在时刻T3,节点A和F各自执行新的SPF计算,如spf-trig(A)和spf-trig(F)。A和F收敛,从而P(A,Z)=D。出现这个结果是因为从A到C的最短路径是A-D-E-F-B-C,因为A并不知道链路B-F的故障。此外,P(F,Z)=E,这是因为从F到C的最短路径是F-E-D-A-H-I-J-K-C。此时,形成了微循环A-D-A,因为P(D,Z)=A并且因为最短路径是D-A-B-C。此外,A计算出了包括故障链路的最短路径。
在时刻T4,节点D接收到A的LSP并且基于D-E-F-B-C的最短路径而收敛,其结果是P(D,Z)=E,这是因为D并不知道链路B-F发生了故障。因此,形成了另一个微循环A-D-E-F-E-D-A。
在时刻T5,节点E接收到F的LSP并且收敛,其结果是P(E,Z)=D,从而形成微循环A-D-E-D-A。在时刻T6,D接收到F的LSP并且收敛,其结果是P(D,Z)=A,从而形成微循环A-D-A。在时刻T7,A接收到F的LSP并且收敛,其结果是P(A,C)=H。
在本示例中,可能发生若干个不同的定时序列,这取决于节点之间的LSP传播和队列延迟、lsp-gen和spf-gen的目前(then-current)值、路由器上的处理器负载和其他因素。此外,先前的讨论只识别了所有可能发生的潜在微循环中的某些。但是,该示例表明,不合需要的循环是在没有关于与共享风险链路群组相关联的链路的并发故障的知识的情况下执行SFP计算的必然结果。
考虑第二示例,其中链路F-G的链路成本是5。假定在时刻T0,SRLG 1发生故障,因此链路A-B和B-F同时发生故障。在时刻T1,A和F一般几乎同时检测到链路故障。在时刻T2,A和F分别确定由IGP参数所确定的lsp-gen(A)和lsp-gen(B),然后发起新的LSP。在时刻T3,在计算spf-trig(A)和spf-trig(F)之后,A和F基于F-G-C的最短路径而收敛,其结果是P(A,Z)=D和P(F,Z)=G。此时,形成了微循环A-D-A。
在时刻T4,节点D接收到A的LSP并且收敛,其结果是P(D,Z)=E。在这个阶段,微循环消失了。
在时刻T5,节点E接收到F的LSP并且收敛,其结果是P(E,Z)=F。从而,路径不变。但是,分组从A到C所遵循的路径不是最优的,这是因为它们遵循总成本为9的路径A-D-E-F-G-C,即使最短路径是成本为6的A-H-I-J-K-C。
在时刻T6,D接收到F的LSP并且收敛,其结果是P(D,Z)=A。因此,形成微循环A-D-A。在时刻T7,A接收到F的LSP并且收敛,其结果是P(A,C)=H。
3.0基于共享风险链路群组信息确定路由选择信息的方法以上两个示例清楚地强调了对在响应于SRLG故障确定SPT时考虑SRLG信息的需求。一种针对解决此问题的方法可以是作为计算SPT的一部分删除所有属于一个公共SRLG的链路。但是,如果故障涉及单个链路故障而不是SRLG的故障,则该方法具有计算非最优路径的潜在缺陷。本方法通过在定时器期满之后执行附加的SPF计算来针对解决此问题,如下所述。
根据一个实施例,作为计算最短路径优先树的一部分,执行了使用共享风险链路群组信息的最短路径优先过程。利用这里的技术,如果SRLG发生故障,则收敛时间被减少,这对于要求快速IGP收敛并且具有多个SRLG的网络来说是很关键的。此外,利用这里的技术,选择了更优的路径。
图2A是部分基于关于网络中的共享风险链路群组的信息执行最短路径优先确定的过程的流程图。图2B是图2A的过程中的更多步骤的流程图。图2C是在图2A的过程中使用的定时器期满时执行的步骤的流程图。
首先参考图2A,图示过程一般是在SPF确定被触发时执行的,而SPF确定一般是响应于路由器本地链路发生故障或该路由器接收到新LSP而发生在该路由器内的。在块202中,确定故障链路的身份。例如,可以使用LSP中的链路身份信息,或者路由器可以在本地确定故障链路的身份。在块204中,确定故障链路所属的共享风险链路群组集合S。集合S是基于已在IGP扩展中洪泛的SRLG成员信息来确定的。从而,当链路发生故障时,路由器可以确定所有与故障链路具有至少一个共同的SRLG的链路,并且在本文中该链路集合被表示为S。例如,假定链路L1被通告以SRLG 1、2,链路L2属于SRLG 1,链路L3属于SRLG 3,链路L4属于SRLG 1。所有这种链路都可以连接到不同路由器。如果链路L1在路由器R1上发生故障,则R1知道它必须排除所有属于S的链路,其中S=L1、L2和L4。
在块206中,启动定时器。在下文中进一步描述使用定时器来触发其他步骤。定时器的典型时段是几秒,或者接收到任何其他潜在LSP所需的时间。在一个实施例中,定时器的时段是可配置的。
在块206之后,图2A的过程可以两个备选方案或选项中的任何一种进行下去,其中每一个在部分基于关于共享风险链路群组的信息执行最短路径优先确定方面的效果都是等同的。第一备选方案由图2B、图2C示出;第二备选方案由图2D、图2C示出。
首先参考图2B,在第一备选方案中,在块208中,扫描或审查链路状态数据库中的每个LSP。在块210中,执行测试以确定集合S是否包括发起目前的LSP的节点和LSP中报告的相邻节点之间的链路。如果不是的话,则控制传递到块214,该块与块208形成循环,以扫描LSDB中的每个LSP。如果集合S不包括该链路,则从LSDB中去除所列出的相邻节点,如块212所示。这个步骤具有从LSDB中去除SRLG S中与被报告发生故障的链路相关联的每个链路的效果。然后,如块215所示,基于修改后的LSDB执行SPF计算。
一种实现方式通过例如利用链接列表或树在故障之前为每个链路以及链路集合中每个可能同时发生故障的链路预先计算集合S来减少执行块208-215的处理时间,然后执行最短路径优先树计算。
当如块215所示,已经处理了LDSB中的所有LSP,并且计算了SPF时,控制传递到图2C。
现参考图2C,在块216中,执行图验证步骤,以确定基于产生的修改后LDSB所创建的图是否是断开的图。断开的图是其中一个或多个子节点不再具有父节点的图。如果在块218中测试出图是断开的,则在块220中,确定新的SPF,但并不作为块210和块212的一部分删除任何未在LSP中明确报告发生故障的链路。
图2C的过程使得能够处理链路发生故障但相关联的SRLG没有发生故障的情形。现参考图3描述这种情形的示例,该图是第二假设网络的简化框图。图3的网络与图1A的拓扑类似,只不过不存在路径A-H-I-J-K和路径F-G-C。假定由于本地接口故障而不是SRLG故障,链路A-B在路由器B上发生故障。执行图2A、图2B的过程而不使用图2C的过程将会导致基于发生了SRLG故障的错误假设而创建断开的图,这是因为即使在A和C之间存在可用路径A-D-E-F-B-C,链路B-F作为与链路A-B的SRLG的一部分仍将被认为是不可用的。结合图2C的过程避免了这种结果,其代价是收敛时间略有增加。但是,预期前述情形会相对不频繁地发生,这是因为网络拓扑通常被设计为能够经受得住单个SRLG的故障。然而,可以认为图2C的过程是可选地,并且如果发现它显著增大了SPT计算期间的处理复杂度,则可以省略该过程。
现参考图2D,其中示出了第二备选过程。在块240中,根据若干已知算法中的任何一种执行最短路径优先树计算。在块242中,执行测试以确定是否有节点被添加到了PATH中。为了方便起见,在以下描述中,这种节点被称为节点X。如果是的话,则在块244中,确定节点X的邻居集合N。
在块245中,考虑邻居集合N的邻居Ni。在块246中,执行测试以确定网络链路(X,Ni)是否处于共享风险链路群组S的集合中。在且仅在不处于的情况下,当前邻居Ni被添加到暂定最短路径优先树TENT中,如块248所示。在块250中,对于N中的所有邻居Ni重复步骤245、246、248。然后,控制进行到图2C,并且上述图验证步骤被执行。
从而,在SPT计算期间但在添加了节点X到PATH之后,在且仅在链路(X,Ni)不属于S的情况下,X的每个邻居Ni被添加到TENT中。
在第一选项或第二选项期间的任何时刻,步骤206(图2A)中启动的定时器都可能期满。再将参考图2A,一旦在块222中测试到定时器期满,则触发新SPF计算,如块224中所示。执行新SPF计算是为了确保如果发生可能被认为是SRLG故障的简单链路故障,则重新计算更优的路径。
例如,再次参考图1A,假定链路A-B由于本地接口故障而发生故障。在不执行图2C的过程的情况下,所选择的从A到C的路径是A-H-I-J-K-C,其成本为6。如果执行图2C的过程,则所选择的路径是A-D-E-F-B-C,其成本为5。
前述技术导致可能经历共享风险链路群组中相关联的链路的故障的网络中的路由器的链路状态数据库的更迅速的收敛。虽然前述技术与过去的方法相比要求额外的处理,但是已经发现绝大多数网络链路故障是由SRLG故障引起的。从而,与这里的技术关联的任何缺陷都被在发生SRLG故障的情况下收敛和找出最优路径方面的改进实现的益处超过了。
为了避免可能由于不同路由器执行的不一致的判决而产生的可能的微循环,网络中的所有路由器可以都执行这里所描述的过程。在一个实施例中,在且仅在网络中的所有路由器都支持这些过程的情况下,可以声明和激活路由器内这些过程的可用性。
4.0实现机构-硬件概况图3是示出其上可实现本方法的计算机系统140的框图。该方法是用运行在诸如路由器设备这样的网络元件上的一个或多个计算机程序实现的。从而,在本实施例中,计算机系统140是路由器。
计算机系统140包括用于传输信息的总线142或其他通信机构,以及与总线142相耦合的用于处理信息的处理器144。计算机系统140还包括耦合到总线142的用于存储信息和要被处理器144执行的指令的主存储器146,例如随机访问存储器(RAM)、闪存或其他动态存储设备。主存储器146还可以用于在要由处理器144执行的指令的执行期间存储临时变量或其他中间信息。计算机系统140还包括耦合到总线142的用于存储处理器144的静态信息和指令的只读存储器(ROM)148或其他静态存储设备。提供了存储设备150,例如磁盘、闪存或光盘,其耦合到总线142,用于存储信息和指令。
通信接口158可以与总线142相耦合,用于将信息和命令选择传输到处理器144。接口158是传统串行接口,例如RS-232或RS-422接口。外部终端152或其他计算机系统连接到计算机系统140,并利用接口158向其提供命令。运行在计算机系统140上的固件或软件提供终端接口或基于字符的命令接口,从而使得外部命令可以被提供给计算机系统。
交换系统156耦合到总线142,并且具有输入接口和到外部网络元件的相应的输出接口(总地标示为159)。外部网络元件可以包括多个额外的路由器160或耦合到一个或多个主机或路由器的本地网络,或者具有一个或多个服务器的全球网络,例如因特网。交换系统156根据公知的预定协议和协定将在输入接口上到达的信息流量交换到输出接口159。例如,交换系统156与处理器144合作,可以确定在输入接口上到达的数据分组的目的地,并利用输出接口将其发送到正确的目的地。目的地可以包括本地网络或因特网中的主机、服务器、其他末端站或其他路由选择和交换设备。
计算机系统140作为充当节点的路由器实现上述生成路由选择信息的方法。所述实现是由计算机系统140响应于处理器144执行包含在主存储器146中的一个或多个指令的一个或多个序列而提供的。这种指令可以从另一计算机可读介质被读取到主存储器146中,所述另一计算机可读介质例如是存储设备150。对包含在主存储器146中的指令的序列的执行致使处理器144执行这里所描述的过程步骤。也可以用采取多处理配置的一个或多个处理器来执行包含在主存储器146中的指令序列。在备选实施例中,可以使用硬连线电路来取代软件指令或与软件指令相结合以实现该方法。从而,实施例并不局限于硬件电路和软件的任何特定组合。
这里使用的术语“计算机可读介质”是指任何参与向处理器144提供指令以便执行的介质。这种介质可以采取许多形式,其中包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质例如包括光盘或磁盘,例如存储设备150。易失性介质包括动态存储器,例如主存储器146。传输介质包括同轴电缆、铜线和光纤,其中包括构成总线142的导线。传输介质也可以采取无线链路的形式,例如声波或电磁波,例如在无线电波和红外数据通信期间生成的那些。
计算机可读介质的常见形式例如包括软盘、柔性盘、硬盘、磁带或任何其他磁介质、CD-ROM、任何其他光介质、打孔卡、纸带、或任何其他具有孔图案的物理介质、RAM、PROM、EPROM、FLASH-EPROM、或任何其他存储器芯片或卡式磁带、以下所述的载波,或任何其他计算机可读取的介质。
在将一个或多个指令的一个或多个序列运载到处理器144以便执行时,可涉及各种形式的计算机可读介质。例如,指令最初可能是承载在远程计算机的磁盘上的。远程计算机可将指令加载到其动态存储器中,并利用调制解调器经由电话线发送指令。计算机系统140本地的调制解调器可接收电话线上的数据,并利用红外发射器将数据转换成红外信号。耦合到总线142的红外检测器可以接收承载在红外信号中的数据并将数据置于总线142上。总线142将数据运载到主存储器146,处理器144从主存储器146取回并执行指令。可选地,被主存储器146所接收到的指令可以在被处理器144执行之前或之后被存储在存储设备150上。
接口159还提供与连接到本地网络的网络链路的双向数据通信耦合。例如,接口159可以是综合业务数字服务(ISDN)卡或调制解调器,以提供到相应类型的电话线的数据通信连接。又例如,接口159可以是局域网(LAN)卡,以提供到兼容的LAN的数据通信连接。也可以实现无线链路。在任何这种实现方式中,接口159都发送和接收携带代表各种类型的信息的数字数据流的电、电磁或光信号。
网络链路一般提供通过一个或多个网络到其他数据设备的数据通信。例如,网络链路可以提供通过本地网络到主机计算机或者由因特网服务提供商(ISP)所操作的数据设备的连接。ISP又通过通常称为“因特网”的世界范围的分组数据通信网络提供数据通信服务。本地网络和因特网都使用携带数字数据流的电、电磁或光信号。将数字数据携带到计算机系统140或携带来自计算机系统140的数字数据的经过各种网络的信号和网络链路上的经过接口159的信号是传输信息的载波的示例性形式。
计算机系统140可以通过(一个或多个)网络、网络链路和接口159发送消息和接收数据,其中包括程序代码。在因特网示例中,服务器可以通过因特网、ISP、本地网络和通信接口158发送所请求的应用程序的代码。一个这种下载的应用提供这里所描述的方法。
接收到的代码可以在被接收到时被处理器144所执行,以及/或者被存储在存储设备150中或其他非易失性存储设备中,以便将来执行。这样一来,计算机系统140可以以载波形式获得应用代码。
5.0扩展和备选方案在以上说明中,已经参考本发明的特定实施例描述了本发明。但是,显而易见的是,可以对其做出各种修改和改变,而不脱离本发明的更宽的精神和范围。因此,说明书和附图应当被视为说明性的而不是限制性的。
可以采用任何适当的路由选择协议和机构来实现本发明。所阐述的方法步骤可以以任何适当的顺序来执行,并且来自所述示例和实施例的方面可以适当地并列或交换。可以使用任何适当的路由选择协议,例如中间系统到中间系统(IS-IS)或开放最短路径优先(OSPF)。类似地,任何适当的网络都可以提供用于实现本发明的方法。
权利要求书(按照条约第19条的修改)1.一种在包括节点和链路的数据通信网络中基于共享风险链路群组信息确定网络路由选择信息的方法,该方法包括以下由计算机实现的步骤接收标识所述网络中的故障链路的信息;接收定义所述故障链路所属的一个或多个共享风险链路群组的信息;访问链路状态数据库,该链路状态数据库存储定义一个或多个链路和相邻节点的信息;确定所述链路状态数据库中定义的每个链路是否处于所述一个或多个共享风险链路群组中;以及对于任何被确定为处于所述共享风险链路群组之一的链路,从所述链路状态数据库中去除相邻节点;在所述访问步骤之前启动定时器;当所述定时器期满时,确定通过所述网络去往目的地网络元件的新的最短路径。
2.如权利要求1所述的方法,是作为确定通过所述网络从源到目的地的最短路径的一部分执行的。
3.如权利要求1所述的方法,还包括以下步骤确定基于所述链路状态数据库的所述数据通信网络的图是否断开;以及如果所述图断开,则确定通过所述网络去往目的地网络元件的新的最短路径,而不去除任何未被另一网络元件明确报告为发生故障的链路。
4.如权利要求1所述的方法,其中所述链路所属的共享风险链路群组被表示为S;其中在最短路径优先树的计算期间,在向路径添加节点X之后,在且仅在链路(X,Ni)不属于S的情况下,将节点X的每个邻居Ni添加到暂定树。
5.如权利要求1所述的方法,还包括以下步骤启动最短路径优先树的计算;
作为所述计算的一部分,将第一节点添加到路径中;确定所述第一节点的邻居集合;以及在且仅在所述第一节点和每个邻居节点之间的链路不属于所述共享风险链路群组之一的情况下,将所述邻居节点添加到暂定树。
6.如权利要求5所述的方法,还包括以下步骤确定代表所述数据通信网络的图是否断开;以及如果所述图断开,则确定通过所述网络去往目的地网络元件的新的最短路径,而不去除任何未被另一网络元件明确报告为发生故障的链路。
7.一种以链路和节点作为元件的数据通信网络中的计算机可读介质,包括一个或多个指令序列,用于在包括节点和链路的数据通信网络中基于共享风险链路群组信息确定网络路由选择信息,所述指令在被一个或多个处理器执行时,致使所述一个或多个处理器执行如权利要求1、2或3中任何一条所述的方法的步骤。
8.一种以链路和节点作为元件的数据通信网络中的计算机可读介质,包括一个或多个指令序列,用于在包括节点和链路的数据通信网络中基于共享风险链路群组信息确定网络路由选择信息,所述指令在被一个或多个处理器执行时,致使所述一个或多个处理器执行如权利要求4、5或6中任何一条所述的方法的步骤。
9.一种用于在以节点和链路作为元件的数据通信网络中基于共享风险链路群组信息确定网络路由选择信息的装置,包括用于接收标识所述网络中的故障链路的信息的装置;用于接收定义所述故障链路所属的一个或多个共享风险链路群组的信息的装置;用于访问链路状态数据库的装置,该链路状态数据库存储定义一个或多个链路和相邻节点的信息;用于确定所述链路状态数据库中定义的每个链路是否处于所述一个或多个共享风险链路群组中的装置;用于对于任何被确定为处于所述共享风险链路群组之一的链路,从所述链路状态数据库中去除相邻节点的装置。
用于在所述访问步骤之前启动定时器的装置;用于当所述定时器期满时确定通过所述网络去往目的地网络元件的新的最短路径的装置。
10.如权利要求9所述的装置,是作为用于确定通过所述网络从源到目的地的最短路径的装置一部分执行的。
11.如权利要求10所述的装置,还包括用于确定基于所述链路状态数据库的所述数据通信网络的图是否断开的装置;以及用于在所述图断开的情况下确定通过所述网络去往目的地网络元件的新的最短路径而不去除任何未被另一网络元件明确报告为发生故障的链路的装置。
12.如权利要求9所述的装置,其中所述故障链路所属的所述一个或多个共享风险链路群组被表示为S,并且还包括用于在最短路径优先树的计算期间,在向路径添加节点X之后,在且仅在链路(X,Ni)不属于S的情况下,将节点X的每个邻居Ni添加到暂定树的装置。
13.如权利要求9所述的装置,还包括用于启动最短路径优先树的计算的装置;用于作为所述计算的一部分将第一节点添加到路径中的装置;用于确定所述第一节点的邻居集合的装置;以及用于在且仅在所述第一节点和每个邻居节点之间的链路不属于所述共享风险链路群组之一的情况下将所述邻居节点添加到暂定树的装置。
14.如权利要求13所述的装置,还包括用于确定代表所述数据通信网络的图是否断开的装置;以及用于在所述图断开的情况下确定通过所述网络去往目的地网络元件的新的最短路径而不去除任何未被另一网络元件明确报告为发生故障的链路的装置。
15.一种用于在以链路和节点作为元件的数据通信网络中生成路由选择信息的装置,该装置包括一个或多个处理器;
网络接口,其可通信地耦合到所述处理器,并且被配置为在所述处理器和网络之间传输一个或多分组流;以及计算机可读介质,其包括一个或多个指令序列,用于生成路由选择信息,所述指令在被一个或多个处理器执行时,致使所述一个或多个处理器执行如权利要求1、2或3中任何一条所述的方法的步骤。
16.一种用于在以链路和节点作为元件的数据通信网络中生成路由选择信息的装置,该装置包括一个或多个处理器;网络接口,其可通信地耦合到所述处理器,并且被配置为在所述处理器和网络之间传输一个或多分组流;以及计算机可读介质,其包括一个或多个指令序列,用于生成路由选择信息,所述指令在被一个或多个处理器执行时,致使所述一个或多个处理器执行如权利要求4、5或6中任何一条所述的方法的步骤。
权利要求
1.一种在包括节点和链路的数据通信网络中基于共享风险链路群组信息确定网络路由选择信息的方法,该方法包括以下由计算机实现的步骤接收标识所述网络中的故障链路的信息;接收定义所述故障链路所属的一个或多个共享风险链路群组的信息;访问链路状态数据库,该链路状态数据库存储定义一个或多个链路和相邻节点的信息;确定所述链路状态数据库中定义的每个链路是否处于所述一个或多个共享风险链路群组中;以及对于任何被确定为处于所述共享风险链路群组之一中的链路,从所述链路状态数据库中去除相邻节点。
2.如权利要求1所述的方法,是作为确定通过所述网络从源到目的地的最短路径的一部分执行的。
3.如权利要求1所述的方法,还包括以下步骤确定基于所述链路状态数据库的所述数据通信网络的图是否断开;以及如果所述图断开,则确定通过所述网络去往目的地网络元件的新的最短路径,而不去除任何未被另一网络元件明确报告为发生故障的链路。
4.如权利要求1、2或3中任何一条所述的方法,还包括以下步骤在所述访问步骤之前启动定时器;当所述定时器期满时,确定通过所述网络去往目的地网络元件的新的最短路径。
5.一种在包括节点和链路的数据通信网络中基于共享风险链路群组信息确定网络路由选择信息的方法,该方法包括以下步骤接收标识所述网络中的故障链路的信息;接收定义所述故障链路所属的一个或多个共享风险链路群组S的信息;在最短路径优先树的计算期间,在向路径添加节点X之后,在且仅在链路(X,Ni)不属于S的情况下,将节点X的每个邻居Ni添加到暂定树。
6.一种在包括节点和链路的数据通信网络中基于共享风险链路群组信息确定网络路由选择信息的方法,该方法包括以下步骤接收标识所述网络中的故障链路的信息;接收定义所述故障链路所属的一个或多个共享风险链路群组的信息;启动最短路径优先树的计算;作为所述计算的一部分,将第一节点添加到路径中;确定所述第一节点的邻居集合;以及在且仅在所述第一节点和每个邻居节点之间的链路不属于所述共享风险链路群组之一的情况下,将所述邻居节点添加到暂定树。
7.如权利要求6所述的方法,还包括以下步骤确定代表所述数据通信网络的图是否断开;以及如果所述图断开,则确定通过所述网络去往目的地网络元件的新的最短路径,而不去除任何未被另一网络元件明确报告为发生故障的链路。
8.如权利要求6或7中任何一条所述的方法,还包括以下步骤在所述访问步骤之前启动定时器;当所述定时器期满时,确定通过所述网络去往目的地网络元件的新的最短路径。
9.一种以链路和节点作为元件的数据通信网络中的计算机可读介质,包括一个或多个指令序列,用于在包括节点和链路的数据通信网络中基于共享风险链路群组信息确定网络路由选择信息,所述指令在被一个或多个处理器执行时,致使所述一个或多个处理器执行如权利要求1、2或3中任何一条所述的方法的步骤。
10.一种以链路和节点作为元件的数据通信网络中的计算机可读介质,包括一个或多个指令序列,用于在包括节点和链路的数据通信网络中基于共享风险链路群组信息确定网络路由选择信息,所述指令在被一个或多个处理器执行时,致使所述一个或多个处理器执行如权利要求5、6或7中任何一条所述的方法的步骤。
11.一种用于在以节点和链路作为元件的数据通信网络中基于共享风险链路群组信息确定网络路由选择信息的装置,包括用于接收标识所述网络中的故障链路的信息的装置;用于接收定义所述故障链路所属的一个或多个共享风险链路群组的信息的装置;用于访问链路状态数据库的装置,该链路状态数据库存储定义一个或多个链路和相邻节点的信息;用于确定所述链路状态数据库中定义的每个链路是否处于所述一个或多个共享风险链路群组中的装置;以及用于对于任何被确定为处于所述共享风险链路群组之一中的链路,从所述链路状态数据库中去除相邻节点的装置。
12.如权利要求11所述的装置,是作为用于确定通过所述网络从源到目的地的最短路径的装置一部分执行的。
13.如权利要求11所述的装置,还包括用于确定基于所述链路状态数据库的所述数据通信网络的图是否断开的装置;以及用于在所述图断开的情况下确定通过所述网络去往目的地网络元件的新的最短路径而不去除任何未被另一网络元件明确报告为发生故障的链路的装置。
14.如权利要求11、12或13中任何一条所述的装置,还包括用于在所述访问步骤之前启动定时器的装置;用于当所述定时器期满时确定通过所述网络去往目的地网络元件的新的最短路径的装置。
15.一种用于在包括节点和链路的数据通信网络中基于共享风险链路群组信息确定网络路由选择信息的装置,该装置包括用于接收标识所述网络中的故障链路的信息的装置;用于接收定义所述故障链路所属的一个或多个共享风险链路群组S的信息的装置;用于在最短路径优先树的计算期间,在向路径添加节点X之后,在且仅在链路(X,Ni)不属于S的情况下,将节点X的每个邻居Ni添加到暂定树的装置。
16.一种用于在包括节点和链路的数据通信网络中基于共享风险链路群组信息确定网络路由选择信息的装置,该装置包括用于接收标识所述网络中的故障链路的信息的装置;用于接收定义所述故障链路所属的一个或多个共享风险链路群组的信息的装置;用于启动最短路径优先树的计算的装置;用于作为所述计算的一部分将第一节点添加到路径中的装置;用于确定所述第一节点的邻居集合的装置;以及用于在且仅在所述第一节点和每个邻居节点之间的链路不属于所述共享风险链路群组之一的情况下将所述邻居节点添加到暂定树的装置。
17.如权利要求16所述的装置,还包括用于确定代表所述数据通信网络的图是否断开的装置;以及用于在所述图断开的情况下确定通过所述网络去往目的地网络元件的新的最短路径而不去除任何未被另一网络元件明确报告为发生故障的链路的装置。
18.如权利要求16或17中任何一条所述的装置,还包括用于在所述访问步骤之前启动定时器的装置;用于当所述定时器期满时确定通过所述网络去往目的地网络元件的新的最短路径的装置。
19.一种用于在以链路和节点作为元件的数据通信网络中生成路由选择信息的装置,该装置包括一个或多个处理器;网络接口,其通信耦合到所述处理器,并且被配置为在所述处理器和网络之间传输一个或多分组流;以及计算机可读介质,其包括用于生成路由选择信息的一个或多个指令序列,所述指令在被一个或多个处理器执行时,致使所述一个或多个处理器执行如权利要求1、2或3中任何一条所述的方法的步骤。
20.一种用于在以链路和节点作为元件的数据通信网络中生成路由选择信息的装置,该装置包括一个或多个处理器;网络接口,其通信耦合到所述处理器,并且被配置为在所述处理器和网络之间传输一个或多分组流;以及计算机可读介质,其包括用于生成路由选择信息的一个或多个指令序列,所述指令在被一个或多个处理器执行时,致使所述一个或多个处理器执行如权利要求5、6或7中任何一条所述的方法的步骤。
全文摘要
公开了一种方法和装置,用于部分基于关于关联为共享风险链路群组的链路的信息来执行数据通信网络中的最短路径优先网络路由选择路径确定。通过考虑链路是否在共享风险链路群组内,在计算最短路径优先树时避免了微循环。
文档编号G01S13/00GK1879356SQ200480033399
公开日2006年12月13日 申请日期2004年11月9日 优先权日2003年11月21日
发明者让·菲利普·瓦瑟尔, 斯特凡诺·B·普雷维蒂, 克拉伦斯·菲尔斯非斯, 戴维·沃德 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1