在快速重路由受保护链路发生故障时避免微环的制作方法

文档序号:7947386阅读:255来源:国知局
专利名称:在快速重路由受保护链路发生故障时避免微环的制作方法
技术领域
本发明涉及数据联网,更具体而言涉及在采用受保护链路的数据网络中避免微环。
背景技术
计算机网络是由在比如计算机这样的末端站之间传输数据的通信链路和网段互连的节点的地理上分散的集合。有许多类型的网段可用,其类型从局域网(LAN)到广域网(WAN)不等。LAN一般经由位于诸如建筑物或校园之类的同一个总的物理位置中的专用私有通信链路连接个人计算机和工作站。LAN还可连接同处于较近范围内的路由器。
另一方面,WAN一般经由比如公共载波电话线这样的长距离通信链路连接大量地理上分散的节点。因特网是WAN的一个示例,其连接世界上的不同网络,提供各种网络上的节点之间的全球通信。节点一般通过根据预定的协议交换分立的数据帧或分组来经由网络通信,所述协议例如是传输控制协议/因特网协议(TCP/IP)。在此上下文中,协议由限定节点如何与彼此交互的一组规则构成。
某些节点,例如路由器,常被配置为在网络中的各种节点之间“路由”数据,例如分组。路由一般是在开放系统互连(OSI)参考模型的网络层或第3层(L3)执行的。路由器通常维护着转发数据库(FDB),所述转发数据库一般被配置为保存路由器用来确定数据(例如数据分组)要被转发到何处以到达其目的地的路由信息和接口信息,所述路由信息包括L3地址。例如,路由器可以具有包含一个或多个条目的路由数据库,其中每个条目包含目的地节点的L3目的地地址和关于路由器上经由其可到达目的地节点的接口的接口信息。包含与路由表中的条目的目的地地址相匹配的目的地地址的数据分组被路由器转发到由匹配条目指定的接口,以传送到目的地节点。
路由器可执行一个或多个路由协议,这些协议使得路由器能够路由分组并与网络中的其他路由器交换路由信息。路由器常使用此信息来配置(例如计算)其FDB。路由协议可包括距离向量协议,例如路由信息协议(RIP),或者链路状态协议,例如中间系统到中间系统(IS-IS)协议或开放最短路径优先(OSPF)协议。路由信息一般以通告消息的形式是在路由器之间交换的。例如,执行IS-IS协议的节点利用被称为链路状态分组(LSP)的通告消息交换信息。类似地,执行OSPF协议的节点利用被称为链路状态通告(LSA)的通告消息交换路由信息。这里所使用的通告消息一般是指路由协议用来向网络中的其他中间节点(例如路由器、交换机)传达路由信息的消息。获取通告消息的中间节点可使用其中包含的信息来更新其FDB。
路由器可利用面向连接的协议以“面向连接”的方式通过源和目的地之间的网络传送数据分组。面向连接的协议经由在源和目的地之间建立的预定的路径通过网络传送数据分组,所述路径常被称为连接或电路。在这里,连接或电路是在任何数据被传送之前建立在源和目的地之间的。在连接被建立之后,数据经由连接所限定的路径在源和目的地之间被传送。当不再需要连接时,连接一般被“拆卸”,并且被连接所利用的诸如节点、接口、协议之类的资源被提供给其他连接使用。面向连接的协议的一个示例是多协议标签交换(MPLS)协议。这里所使用的资源是指与中间节点相关联的实体。这些实体可包括中间节点本身、中间节点上的接口(例如端口)以及运行在中间节点上的协议。
一些面向连接的协议利用单向连接,即在从源到目的地的一个方向上传送数据的连接。例如,路由器A和路由器B之间的单向连接在从路由器A到路由器B的一个方向上传送数据。为了在另一方向,即从路由器B到路由器A的方向上传送数据,就必须建立从路由器B到路由器A的另一单向连接。可利用比如资源预留协议(RSVP)这样的信令协议端到端地“通知”连接。连接的发起连接信令的那一端通常被称为连接的“头端”,连接的端接信令的那一端通常被称为连接的“尾端”。容宿着连接的头端的路由器通常被称为头端节点,容宿着连接的尾端的路由器通常被称为尾端节点。从而,例如,在其中路由器A容宿着连接的“头端”而路由器B容宿着连接的尾端的从源到目的地的连接中,路由器A是头端节点,路由器B是尾端节点。
为了提供高可用性,一些面向连接的协议可包括使承载连接的主路径在主路径包含发生故障的链路的情况下迅速被重路由的技术。例如,可从因特网工程任务组(IETF)http://www.ietf.org获得的P.Pan等人的“FastReroute Extensions to RSVP-TE for LSP Tunnels”,draft-ietf-mpls-rsvp-fastreroute-04.txt描述了可用于迅速重路由以避开MPLS标签交换路径中的故障网络元件(例如链路、节点)的MPLS“快速重路由”(FRR)技术。根据该技术,主路径中的一条或多条链路是受保护链路(即它们被备用路径所保护)。如果在受保护链路或节点上发生故障,则流量工程MPLS标签交换路径(TE LSP)上承载的流量被故障上游紧接着的那个节点本地重路由到例如适当的备用路径上。备用路径充当主标签交换路径的FRR,消除了求助于其他可能更昂贵的措施的必要,所述其他措施例如是拆卸主标签交换路径并建立绕开故障网络元件的新的主标签交换路径。注意,本地重路由之后可进行由头端标签交换路由器(LSR)触发的端到端重优化,以使流量遵循更适宜的标签交换路径。
FRR技术的一个问题是由于例如因中间节点对发生故障的链路作出响应而可能形成的微环,其优点(例如迅速重路由以避开故障的能力)可能会有所减弱。例如,在IP网络中,微环一般由于中间节点响应于发生故障的受保护链路重新计算其FDB所花费的时间的差异而发生。图1示出IP数据网络100,其包括经由各种中间节点110a-d和数据链路130a-f通过数据网络100耦合的末端节点120a-b。假定链路130c是与经由节点110b、110a和110d到节点110c的备用路径相关联的受保护链路。还假定主路径从末端节点120a经由节点110a、110b和110c延伸到末端节点120b。现在假定链路130c发生故障,并且中间节点110b已检测到了链路故障并重新计算其FDB,以将以末端节点120b为目的地的流量引导到备用路径。还假定中间节点110a尚未重新计算其FDB以将发生故障的链路130c考虑在内,因而继续在主路径上转发以末端节点120b为目的地的数据。以末端节点120b为目的地的数据被中间节点110a转发到中间节点110b,中间节点110b进而又将数据转发到去往中间节点110a的备用路径上。由于其尚未更新FDB以将发生故障的链路130c考虑在内,因此中间节点110a将数据转发回中间节点110b。因此,节点110a和110b之间的微环形成了。该微环持续存在,直到中间节点110a更新其FDB以将发生故障的链路130c考虑在内为止。
在典型的网络布置中,在FRR方案中从主路径切换到备用路径所涉及的时间量可能是数十毫秒的量级。另一方面,网络中的中间节点使其FDB收敛到某个网络拓扑所花费的时间可能是数百毫秒的量级。收敛过程还可能由于在中间节点使其FDB收敛到网络拓扑的同时在网络中的各个点形成的微环而进一步延迟。在中间节点收敛其FDB的时间期间,网络可能是不可用的。其后果是减弱了快速重路由(即迅速从主路径切换到备用路径的能力)的价值。即使在FRR实现中从主路径到备用路径的切换已迅速地发生(例如在数十毫秒中发生),由于例如由FDB收敛导致的、因微环发生而进一步恶化的网络中断,备用路径也可能在或许数百毫秒中是不可用的。

发明内容
所发明的技术通过结合用于避免采用受保护链路的计算机网络中的微环的高效装置,克服了现有技术的缺点。根据该技术,中间节点基于该中间节点与发生故障的链路之间的距离来延迟更新其转发数据库(FDB)。具体而言,根据所发明的技术,与更远离发生故障的链路(即与发生故障的链路的距离相对较长)的中间节点相比,靠近发生故障的受保护链路(即与发生故障的受保护链路的距离相对较短)的中间节点将更新其FDB的操作延迟更长的一段时间。通过以这种方式更新FDB,可避免微环,从而加速网络中的FDB收敛和中间节点。
在所例示的实施例中,中间节点利用通告消息将受保护链路通告给其邻近的节点。当中间节点检测到受保护链路发生故障时,它生成新的FDB和将发生故障的链路考虑在内的通告消息。中间节点随后将通告消息洪泛(flood)到其邻近的节点。此外,中间节点将更新其FDB的操作延迟一定量的时间,该时间量与中间节点与发生故障的链路的距离有关。在该时间量过去之后,中间节点更新其FDB并开始使用经更新的FDB在例如与发生故障的受保护链路相关联的后备路径上转发数据。
有利地,通过将更新FDB的操作更新延迟一定量的时间并且该时间量与中间节点与到生故障的受保护链路之间的距离有关,所发明的技术避免了在其他情形下可能发生在网络中的微环的形成。


通过结合附图参考以下描述,可以更好地理解本发明的上述和其他优点,在附图中类似的标号指代相同的或功能上类似的元件图1是采用受保护快速重路由链路的数据网络的高级示意框图;图2是可有利地用于本发明的数据网络的高级示意框图;图3是可有利地用于本发明的中间节点的高级示意框图;图4是可用于本发明的监督引擎的部分示意框图;图5是可有利地用于本发明的线路卡的部分示意框图;图6是可有利地用于本发明的包含类型长度值(TLV)类型22的中间系统到中间系统(IS-IS)链路状态分组(LSP)的部分示意框图;图7是可有利地用于本发明的链路属性子TLV的示意框图;图8是根据所发明的技术可用于将中间节点配置为检测数据网络中的发生故障的链路并对其作出响应的步骤序列的流程图;以及图9是根据所发明的技术可用于将中间节点配置为对通告消息中指示的拓扑变化作出响应的步骤序列的流程图。
具体实施例方式
图2是可有利地用于本发明的数据网络200的示意框图。数据网络200包括连接到多个网络实体以形成计算机节点的互连网的通信(数据)链路204的集合,所述网络实体例如是末端节点208和中间节点300。这些互连成网的节点通过根据比如传输控制协议/因特网协议(TCP/IP)这样的预定的协议集交换数据分组来进行通信。这里所使用的协议是描述如何在数据网络中的两个实体之间传送数据的一组形式规则。
图3是中间节点300的高级部分示意框图,该中间节点300例如是路由器。可用于本发明的合适的中间节点包括可从San Jose,CA的CiscoSystems Incorporated获得的Cisco 7200、7600和12000系列路由器。中间节点300包括由背板320互连的一个或多个线路卡500和监督引擎卡400。节点300被配置为(除其他功能外)根据所发明的技术执行各种传统的第2层(L2)和第3层(L3)交换和路由功能,包括转发和处理数据分组。这里所使用的L2和L3分别是指开放系统互连(OSI)参考模型的数据链路层和网络层。节点300还被配置为提供对包括开放最短路径优先(OSPF)、中间系统到中间系统(IS-IS)、多协议标签交换(MPLS)、TCP/IP、IP快速重路由(FRR)、MPLS FRR、以太网、异步传送模式(ATM)和帧中继(FR)在内的协议的各种组合的支持。
背板320包括互连各种卡并允许数据和信号从一个卡传送到另一个的点到点互连总线。线路卡500使中间节点300与网络200相连接(接口)。线路卡500利用诸如ATM和以太网之类的各种协议经由端口315将数据分组传送到网络和从网络获取数据分组。从功能上来说,线路卡500经由端口315从网络200获取数据分组和将数据分组转发到数据总线320,以及将接收自数据总线320的数据分组经由端口315发送到网络200。端口315例如可包括ATM、以太网、快速以太网(FE)、吉比特以太网(GE)和FR端口。
监督引擎400包括(除其他功能外)被配置为管理节点300、维护它分发到线路卡500的集中转发数据库(FDB),执行诸如OSPF、IS-IS和MPLS之类的各种协议,并执行其他功能,其中包括结合所发明的技术的多个方面的功能。图4是可有利地用于本发明的监督引擎的高级部分示意框图。监督引擎400包括处理器420、系统控制器430、接口逻辑460和存储器440。存储器440包括可由系统控制器430寻址的随机访问存储器(RAM)位置,用于存储例如数据结构和软件程序。接口逻辑460耦合到背板320,并且被配置为在背板320和处理器420之间传送数据。
存储器440是包括被配置为实现128兆字节(Mb)随机访问存储器的动态随机访问存储器(DRAM)设备的计算机可读介质。存储器440包含被处理器420使用的各种软件和数据结构,其中包括转发数据库(FDB)444、操作系统442和路由进程446。FDB 444包含传统的转发信息,例如网络中节点的L2和L3地址以及标识经由其可到达与FDB 444中包含的地址相关联的节点的接口(例如端口315)的接口标识符(ID)。操作系统442包含例如通过调用支持在监督引擎400上执行的软件进程的网络操作而从功能上组织中间节点300的计算机可执行指令。这些进程包括路由进程446,该路由进程446被配置为实现由中间节点300支持的各种路由和交换协议,以及本发明的多个方面。本领域的技术人员将会了解到,其他计算机可读介质,例如盘存储设备和闪存设备,也可用来存储实现本发明的多个方面的计算机可执行指令。此外,本领域的技术人员将会了解到,可生成电磁信号来经由例如无线数据链路或比如因特网这样的数据网络运送实现本发明的多个方面的计算机可执行指令。
系统控制器430耦合到处理器420和存储器440,并且包括被配置为使处理器420能够访问(例如读、写)存储器440中包含的存储器位置的电路。处理器420是被配置为执行存储器440中包含的用于(除其他目的外)维护FDB 444的指令的传统中央处理单元(CPU)。具体而言,处理器420执行获取关于被各种线路卡500处理的分组的信息(例如与分组相关联的VLAN ID、端口以及L2和L3地址)的指令并利用该信息来维护FDB 444。此外,处理器420执行指令以根据所发明的技术更新FDB444,并将FDB 444分发到各种线路卡500,这些线路卡500可处理该信息以更新和维护它们的转发数据库版本。
图5是可有利地用于本发明的示例性线路卡500的高级部分示意框图。线路卡500包括网络接口逻辑520、编码地址识别逻辑(EARL)540、背板接口逻辑560和输出排队逻辑550。此外,线路卡500可包括耦合到网络200的一个或多个端口315。
网络接口逻辑520将线路卡500接口到网络200,并使得线路卡500能够经由端口315传送去往和来自网络200的数据。为此,逻辑520包括传统的接口电路,所述传统接口电路可包含将线路卡500与网络的物理介质和在该介质上运行的协议相接口所需的信号、电气和机械特性以及交换电路。
背板接口逻辑560包含将线路卡500接口到背板320并使线路卡500能够将数据传送到耦合到背板320的其他卡并从其他卡获取数据的电路。输出排队逻辑550包含被配置为控制经由端口315将数据分组传送到网络200上的电路,例如输出队列和调度控制逻辑。EARL 540例如实现在专用集成电路(ASIC)中,该ASIC包括被配置为(除其他功能外)获取和处理数据分组的电路,其中包括例如利用EARL 540中包含的线路卡转发数据库(LCFDB)542为分组作出转发判决。LCFDB 542包含使得EARL540能够确定被EARL 540处理的分组的目的地的信息,例如目的地地址和相关联的目的地端口。
从操作上来说,数据分组被网络接口520经由端口315从网络200获取,并被传送到EARL 540,在这里分组被处理。此处理可包括利用LCFDB 542来确定每个分组的目的地,例如耦合到背板320的另一个卡或线路卡500上的端口315。在分组的目的地被确定之后,EARL 540指示背板接口560将分组经由背板320传送到目的地(如果目的地是另一个卡的话)或者传送到输出排队逻辑550(如果目的地是线路卡400上的端口315的话)。以监督引擎400为目的地的数据分组被接口逻辑460从背板320获取,并被置于分组缓冲器450中,在该分组缓冲器450中它们被保存以供处理器420将来处理。
本发明结合了一种用于消除因网络中的中间节点更新其FDB以适应网络拓扑变化而可能在数据网络中形成的微环的影响的技术。根据该技术,受网络拓扑变化影响的中间节点延迟更新其FDB,以便与更远离拓扑变化的节点相比,更靠近发生拓扑变化的点的节点将更新其FDB的操作延迟更长的一段时间。通过以这种方式延迟FDB的更新,可避免在其他情况下可能发生的微环。
作为示例,中间节点300执行一个或多个路由协议,包括IS-IS路由协议。将按照例如用于IS-IS协议和MPLS FRR协议来描述所发明的技术;但是应当注意其他协议,例如OSPF和IP FRR,也可利用所发明的技术。
中间节点300利用被称为链路状态分组(LSP)的通告消息交换IS-IS路由信息。图6是可有利地用于本发明的LSP 600的示意框图。LSP 600包含LSP头部信息610和可选的“类型长度值(TLV)22”字段620。LSP头部字段610包含传统的LSP头部信息,例如域内路由协议鉴别符、长度指示符、版本/协议标识符(ID)扩展、剩余寿命、LSP ID、序列号、校验和等等。“TLV 22”字段620例如包含扩展的IS“可达性”TLV类型22对象,该对象在可从因特网工程任务组(IETF)http://www.ietf.org获得的H.Smit等人的“draft-ietf-isis-traffic-05.txt”中有所描述,这里通过引用将其结合进来,就好像在这里完整阐述了一样。
应当注意,通告消息600可包含可被中间节点300用于维护其FDB444的其他路由信息,例如IP路由信息。可用于在LSP中通告IP路由信息的技术在可从IETF获得的R.Callon的“Use of OSI IS-IS for Routing inTCP/IP and Dual Enviroments”请求评论(RFC)1195中有所描述,这里通过引用将其结合进来,就好像在这里完整阐述了一样。
TLV 22对象620可包含(除其他内容外)一个或多个子TLV对象。例如,TLV 22对象620可包含链路属性子TLV对象,其描述网络200中的受保护链路的属性,例如MPLS快速重路由链路或IP快速重路由链路。可用于本发明的链路属性子TLV对象在可从IETF获得的J.Vasseur等人的“Definition of an IS-IS Link Attribute sub-SLV”draft-vasseur-isis-link-attr-00.txt中有所描述,这里通过引用将其结合进来,就好像在这里完整阐述了一样。
图7是可用于本发明的链路属性子TLV对象700的示意框图。子TLV700包括类型字段720、长度字段730和标志字段770。类型字段720保存着将子TLV标识为链路属性子TLV的值。优选地,此值为19。长度字段730包含着指示子TLV 700的长度的值。优选地,此值为4,以指示子TLV的长度为4个八位字节。
标志字段770例如保存着代表描述与数据链路相关联的属性的标志的按位掩码值。例如,这些标志包括“本地保护可用”(LPA)标志771、“本地保护路径中排除的链路”(LE)标志773和未使用的标志字段774。未使用的标志字段774例如包含足够数目的位,这些位被设置为零并将标志字段770的整体长度填充到2个八位字节。LPA标志771例如是一个一位标志,当其被设置为1时,指示由链路属性子TLV 700所表示的链路受本地保护机制的保护,所述本地保护机制例如是基于MPLS FRR协议或IP FRR协议的机制。LE标志773例如是一个一位标志,当其被设置为1时,指示在计算备用路径(即作为采用该链路的发生故障的主路径的备用的路径)时不应当排除该链路。
如上所述,中间节点300利用通告消息(例如LSP)交换路由信息。在中间节点300接收到通告消息之后,它检查消息并确定网络的拓扑是否已经变化(例如链路发生了故障)。如果是,则中间节点300通过基于变化的拓扑生成新的FDB来对变化的拓扑作出响应。根据所发明的技术,为了避免例如微环,中间节点还延迟利用新FDB更新其FDB 444和将更新后的FDB分发到线路卡500的操作。
图8是根据所发明的技术可用于将中间节点300配置为对拓扑变化作出响应的步骤序列的流程图。假定主MPLS标签交换路径经由中间节点300a、300b、300c和300d被建立在末端节点208a和208b(图2)之间。此外,假定链路204d是受保护的FRR链路,并且链路204d的后备MPLS标签交换路径被经由节点300b、300a、300e、300f和300g从节点300c建立到节点300d。
该序列开始于步骤805,并进行到步骤810,在该步骤中,中间节点300c生成指示链路204d为受保护链路的通告消息。具体而言,在步骤810,中间节点300c生成包含链路204d的链路属性子TLV 700的通告消息,其指示该链路是“受保护”的(例如LPA 771被设置为1)。中间节点300c随后将该通告消息洪泛到其附近的节点300b和300d(步骤820)。
在步骤830,链路204d发生故障,并且在步骤840,中间节点300c检测到发生故障的链路204d。在步骤850,响应于发生故障的链路,中间节点300c生成将发生故障的链路204d考虑在内的新的FDB。例如,中间节点300c通过确定排除链路204d的新网络拓扑来将发生故障的链路204d考虑在内并且基于新的网络拓扑生成新的FDB。在步骤860和870,中间节点300c生成将发生故障的链路204d考虑在内的新的通告消息,并将该新通告消息洪泛到其附近的节点(例如节点300b和300d),如上所述。新的通告消息可例如通过从消息中排除(忽略)发生故障的链路204d来将发生故障的链路204d考虑在内。或者,新的通告消息可包含明确指示链路204d发生了故障的信息。
在步骤880,中间节点300c基于其与发生故障的链路204d的点的距离将利用新FDB中包含的信息更新其FDB 444这一操作延迟一段时间。例如,该时间段是利用以下公式确定的T=(D-N)*K其中“T”是该时间段,“D”是网络直径,“N”是节点300c与拓扑变化点(例如链路204d)之间的跳数,“K”是常数。“K”是可配置的常数,其值取决于各种网络动态,例如通知网络的中间节点链路204d发生故障所花费的最少时间。优选地,“K”约为500毫秒(ms)。最大网络直径优选不大于20跳。这里所使用的网络直径是指网络中的两个最远点之间的最大跳数。例如,假定末端节点208a和208b处于网络100中的最远点,则最大跳数将为5(即从末端节点208a经由中间节点300a、300e、300f、300g和300d到末端节点208b的路径)。
在所述时间段过去之后,序列进行到步骤890,在该步骤中,中间节点300基于新FDB中包含的信息更新其FDB 444。例如,中间节点利用新FDB中包含的信息更新其FDB 444,并将经更新的FDB 444分发到线路卡500。线路卡进而又基于分发的经更新的FDB 444的内容来更新其LCFDB542,并开始基于其经更新的LCFDB来转发数据。序列在步骤895结束。
应当注意,上述用于确定中间节点延迟更新其FDB 444的时间段的公式是可用于本发明的公式的一个示例。其他公式,不论是线性的还是非线性的,也可用于所发明的技术。可使用的非线性公式的一个示例是
T=K1+K2*(log(D-N)2)其中“T”是该时间段,“D”是网络直径,“N”是中间节点300与拓扑变化点(例如发生故障的链路204d)之间的跳数,“K1”和“K2”是如上所述的取决于各种网络动态的常数,“log”是以10为底的对数函数。
网络200中的某些中间节点300可通过检查由该中间节点接收到的通告消息来确定特定受保护链路发生了故障。响应于断定受保护链路发生了故障,中间节点生成新的FDB,并且根据所发明的技术,延迟利用来自新FDB的信息更新其当前FDB,如上所述。图9是根据所发明的技术可用于将中间节点300配置为处理指示发生故障的受保护链路的通告消息的步骤序列的流程图。
假定数据链路204d是受保护链路,并且链路204d发生了故障。此外,假定中间节点300c检测到了发生故障的链路,并且已经如上所述将指示链路204d发生了故障的通告消息洪泛到了网络200的与其相邻的中间节点(例如中间节点300b)。该序列开始于步骤905,并且进行到步骤910,在该步骤中,中间节点300b接收通告消息。接下来,在步骤920,中间节点300b检查通告消息并确定链路204d发生了故障。该确定例如可通过将通告消息中表示的网络拓扑与由先前接收到的通告消息所表示的网络拓扑相比较并断定由于链路204d发生了故障因而链路204d的状态已从可用变为不可用来进行。
在步骤930,中间节点300b生成将发生故障的链路204d考虑在内的新FDB,如上所述。在步骤950,中间节点300b将它从中间节点300c接收到的通告消息洪泛到其邻近中间节点(例如中间节点300a)。例如,通告消息被洪泛到除它从其接收到指示链路204d发生了故障的通告消息的节点(即节点300c)之外的所有邻近节点。在步骤960,中间节点300b基于其到发生故障的链路204d的距离将更新其FDB 444的操作延迟一段时间,如上所述。在步骤970,在所述时间段过去之后,中间节点300b基于新FDB中包含的信息更新其FDB 444,如上所述。序列在步骤995结束。
以上描述针对了本发明的特定实施例。很明显,可以对所描述的实施例作出其他变化和修改,同时仍能获得其优点中的一些或全部。因此,所附权利要求的一个目的是覆盖处于本发明的真实精神和范围之内的所有这样的变化和修改。
权利要求
1.在包括多个中间节点和发生故障的受保护数据链路的数据网络中包含的中间节点中,一种用于避免所述数据网络中的微环的方法包括以下步骤在所述多个中间节点中提供第一转发数据库(FDB);以及将更新所述第一FDB的操作延迟一段时间,该时间段是基于所述中间节点到所述发生故障的受保护数据链路的距离的。
2.如权利要求1所限定的方法,包括以下步骤检测所述发生故障的受保护数据链路。
3.如权利要求1所限定的方法,包括以下步骤接收指示所述受保护链路发生了故障的通告消息。
4.如权利要求1所限定的方法,包括以下步骤生成将所述发生故障的受保护链路考虑在内的第二FDB;以及在所述时间段过去之后基于所述第二FDB中包含的信息更新所述第一FDB。
5.如权利要求1所限定的方法,其中所述中间节点被耦合到一个或多个邻近的中间节点。
6.如权利要求5所限定的方法,包括以下步骤生成通告消息,其中所述消息指示所述发生故障的受保护数据链路是受保护链路;以及将所述通告消息洪泛到所述一个或多个邻近中间节点。
7.如权利要求6所限定的方法,其中所述通告消息包含链路属性子类型长度值(TLV),该链路属性子类型长度值包含指示所述发生故障的受保护链路受到本地保护机制的保护的标志。
8.如权利要求7所限定的方法,其中所述本地保护机制是基于多协议标签交换(MPLS)快速重路由协议的。
9.如权利要求7所限定的方法,其中所述本地保护机制是基于因特网协议(IP)快速重路由协议的。
10.如权利要求6所限定的方法,其中所述通告消息包含链路属性子TLV,该链路属性子TLV包含指示对所述链路的保护当前是活动的的标志。
11.如权利要求5所限定的方法,包括以下步骤生成将所述发生故障的链路考虑在内的通告消息;以及将所述通告消息洪泛到所述一个或多个邻近中间节点。
12.如权利要求11所限定的方法,其中,通过从所述通告消息中排除所述发生故障的链路来将所述发生故障的链路考虑在内。
13.如权利要求11所限定的方法,其中,通过在所述通告消息中包括明确指示所述发生故障的链路发生了故障的信息来将所述发生故障的链路考虑在内。
14.如权利要求1所限定的方法,其中所述时间段是利用以下公式来确定的T=(D-N)*K其中“T”是所述时间段,“D”是网络直径,“N”是所述中间节点与所述发生故障的链路之间的跳数,“K”是常数。
15.如权利要求1所限定的方法,其中所述时间段是利用以下公式来确定的T=K1+K2*(log(D-N)2)其中“T”是所述时间段,“D”是网络直径,“N”是所述中间节点与所述发生故障的链路之间的跳数,“K1”和“K2”是常数,“log”是以10为底的对数。
16.一种耦合到网络的中间节点,其中所述网络包含发生故障的数据链路,所述中间节点包括包含第一转发数据库(FDB)的存储器;以及耦合到所述存储器的处理器,该处理器被配置为基于所述中间节点到所述发生故障的链路的距离延迟更新所述第一FDB。
17.如权利要求16所限定的中间节点,其中所述处理器被配置为检测所述发生故障的受保护链路。
18.如权利要求16所限定的中间节点,其中所述处理器被配置为生成将所述发生故障的受保护链路考虑在内的第二FDB;以及在所述时间段过去之后基于所述第二FDB中包含的信息更新所述第一FDB。
19.如权利要求18所限定的中间节点,其中所述中间节点被耦合到一个或多个邻近的中间节点。
20.如权利要求19所限定的中间节点,其中所述处理器被配置为生成通告消息,其中所述消息指示所述发生故障的受保护数据链路是受保护链路;以及将所述通告消息洪泛到所述一个或多个邻近中间节点。
21.如权利要求19所限定的中间节点,其中所述处理器被配置为生成将所述发生故障的链路考虑在内的通告消息;以及将所述通告消息洪泛到所述一个或多个邻近中间节点。
22.一种耦合到网络的设备,其中所述网络包含发生故障的受保护数据链路,所述设备包括第一转发数据库;以及用于将更新所述第一FDB的操作延迟一段时间的装置,该时间段是基于所述设备到所述发生故障的受保护数据链路的距离的。
23.如权利要求22所述的设备,包括用于生成将所述发生故障的受保护链路考虑在内的第二FDB的装置;以及用于在所述时间段过去之后基于所述第二FDB中包含的信息更新所述第一FDB的装置。
24.一种计算机可读介质,包括用于执行以下步骤的计算机可执行指令检测数据网络中的发生故障的受保护链路;以及基于中间节点到所述发生故障的受保护数据链路的距离将更新转发数据库的操作延迟一段时间。
全文摘要
一种技术结合了用于避免与发生故障的受保护链路相关联的后备路径上的微环的高效装置。中间节点基于中间节点与发生故障的链路的距离延迟更新中间节点中包含的转发数据库(FDB)(图8)。具体而言,与更远离发生故障的链路的节点相比,靠近发生故障的受保护链路的中间节点将更新其FDB的操作延迟更长的一段时间(880)。通过以这种方式更新FDB,在发生故障的链路的后备路径上可避免微环,因为后备路径上的靠近发生故障的链路的节点不会比后备路径上更远离发生故障的链路的节点更早更新其FDB。
文档编号H04L12/56GK1973486SQ200580019393
公开日2007年5月30日 申请日期2005年5月26日 优先权日2004年6月15日
发明者让-菲利普·瓦瑟尔, 斯特凡诺·普雷维蒂, 克拉伦斯·菲尔斯非斯 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1