CN101485160B - 用于高效确定计算机网络中可接受的基于链路的无环路替代的技术 - Google Patents
用于高效确定计算机网络中可接受的基于链路的无环路替代的技术 Download PDFInfo
- Publication number
- CN101485160B CN101485160B CN2007800250556A CN200780025055A CN101485160B CN 101485160 B CN101485160 B CN 101485160B CN 2007800250556 A CN2007800250556 A CN 2007800250556A CN 200780025055 A CN200780025055 A CN 200780025055A CN 101485160 B CN101485160 B CN 101485160B
- Authority
- CN
- China
- Prior art keywords
- network
- lfa
- equipment
- protected
- edge device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/18—Loop-free operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种用于高效确定计算机网络中可接受的基于链路的无环路替代(LFA)的技术。根据该新颖技术,被配置为保护链路(“受保护链路”)的保护方网络设备将(例如,与保护方网络设备相同域的)其他网络设备区分为网络边缘设备(即,外部网络流量的末端点)或网络核心设备(即,不是外部网络流量的末端点)。保护方网络设备随后可以确定邻居网络设备是否向网络边缘设备环回。如果否,则保护方网络设备可以确定该邻居网络设备是可接受的LFA(例如,对于外部网络流量而言)。特别地,去往核心设备的流量仍可以环回,然而,该流量通常是内部(例如,信令)流量,并且可能不受与外部流量相同的操作约束(例如,保护)。
Description
技术领域
本发明涉及计算机网络,更具体而言,涉及用于高效确定计算机网络中可接受的基于链路的无环路替代(1oop free alternate,LFA)的技术。
背景技术
计算机网络是由通信链路和网段互连的地理上分布的节点的集合,通信链路和网段用于在诸如个人计算机和工作站之类的末端节点之间传输数据。许多类型的网络是可用的,其类型范围从局域网(LAN)到广域网(WAN)。LAN一般通过位于同一总的物理位置(例如建筑物或校园)中的专用私有通信链路连接节点。另一方面,WAN一般通过长距离通信链路连接地理上分散的节点,所述长距离通信链路例如是公共载波电话线、光路径、同步光网络(SONET)或同步数字体系(SDH)链路。因特网是连接全世界的不同网络的WAN的一个示例,其提供了各种网络上的节点之间的全球通信。节点一般通过根据预定义协议交换离散帧或数据分组来经由网络通信,所述预定义协议例如是传输控制协议/因特网协议(TCP/IP)。在这种上下文中,协议由定义节点彼此之间如何交互的一组规则构成。计算机网络还可以由诸如路由器之类的中间网络节点互连,以扩展每个网络的有效“大小”。
由于互连的计算机网络的管理可能证明是繁重的,因此较小的计算机网络的群组可以作为路由域或自治系统被维护。自治系统(AS)内的网络一般通过传统的被配置为执行域内路由协议的“域内”路由器耦合在一起,并且一般受制于一个共同的权力机构。为了提高路由可缩放性,服务提供商(例如ISP)可以将AS划分为多个“区域”或“级别”。然而,可能希望增大能够交换数据的节点的数目;在这种情况下,执行域间路由协议的域间路由器被用于互连各种AS的节点。而且,可能希望互连工作在不同管理域下的各种AS。这里所用的AS、区域或级别通常被称为“域”,并且互连不同域的路由器通常被称为“边界路由器”。
特别地,服务提供商经常被配置为例如跨越域或服务提供商的网络将流量从一个或多个源客户传递到一个或多个目的地客户。具体而言,网络“边缘”设备(例如,边界路由器)可以接收来自外部网络(例如,客户)的数据分组,该数据分组要被转发到一般互连到不同的网络边缘设备的外部网络目的地(例如,客户)。通常,网络边缘设备可以通过服务提供商的网络内的一个或多个网络“核心”设备互连,以发送该“外部网络流量”(或“客户流量”)。这里所用的网络边缘设备是作为外部网络流量的末端点的网络设备,即,外部网络流量可以在网络边缘设备处进入或离开提供商网络。或者,网络核心设备是非外部网络流量末端点的网络设备,并且通常仅用于网络边缘设备之间的外部网络流量的内部中转。
域间路由协议的一个示例是边界网关协议版本4(BGP),其通过在系统的邻居域间路由器之间交换路由和可达性信息来执行域(AS)间的路由。相邻(adjacency)是一种在选定的邻居(对等)路由器之间形成的关系,其目的是交换路由信息消息并抽象网络拓扑。由BGP对等路由器交换的路由信息一般包括目的地地址前缀,即,由路由协议用来进行路由(“下一跳”)判决的目的地地址的那些部分。这种目的地地址的示例包括IP版本4(IPv4)和版本6(IPv6)地址。BGP通常工作在诸如TCP之类的可靠的传输协议上,以建立TCP连接/会话。BGP协议是公知的,并且在1995年3月公布的题为“A Border Gateway Protocol 4(BGP-4)”的注释请求(RFC)1771中有一般描述。
域内路由协议或内部网关协议(IGP)的示例是开放最短路径优先(OSPF)路由协议和中间系统到中间系统(IS-IS)路由协议。OSPF和IS-IS协议是基于链路状态技术的,并且因此被统称为链路状态路由协议。链路状态协议定义了路由信息和网络拓扑信息被在域内交换和处理的方式。该信息通常涉及域内路由器的本地状态(例如,路由器的可用接口和可达邻居或相邻情况)。OSPF协议在1998年4月的题为“OSPF Version2”的RFC 2328中有所描述,并且用在IP上下文中的IS-IS协议在1990年12月的题为“Use ofOSI IS-IS for routing in TCP/IP and DualEnvironments”的RFC 1195中有所描述,这两篇RFC都通过引用结合于此。
中间网络节点经常将其路由信息存储在由路由信息库(RIB)维护和管理的路由表中。路由表是一种可搜索数据结构,其中网络地址被映射到其关联路由信息。然而,本领域技术人员将理解,路由表不需要被组织为表,可替换地也可以是另一类型的可搜索数据结构。尽管中间网络节点的路由表可以被配置具有预定的一组路由信息,但是该节点也可以在其发送和接收数据分组时动态获取(“学习”)网络路由信息。当在中间网络节点处接收到分组时,分组的目的地地址可以用于标识包含与接收的分组相关联的路由信息的路由表条目。除此之外,分组的路由信息还指示分组的下一跳地址。
为了确保其路由表包含最新路由信息,中间网络节点可以与其他中间节点协同以散布代表当前网络拓扑的路由信息。例如,假定中间网络节点检测到其邻居节点(即,相邻网络节点)之一变得不可用,例如由于链路故障或邻居节点“离线”等等。在这种情形下,中间网络节点可以更新存储在其路由表中的路由信息,以确保数据分组不被路由到不可用的网络节点。此外,中间节点还可以将该网络拓扑的改变传达给其他中间网络节点以使得它们可以更新它们的本地路由表并绕开不可用节点。以这种方式,每个中间网络节点都“知道”拓扑的改变。
一般来说,路由信息是根据预定的网络通信协议,例如链路状态协议(例如,IS-IS或OSPF)在中间网络节点之间散布的。传统的链路状态协议使用链路状态通告或链路状态分组(或“IGP通告”)来在互连的中间网络节点(IGP节点)之间交换路由信息。这里所用的IGP通告通常描述IGP路由协议用来在互连的IGP节点(即,路由器和交换机)之间传输路由信息的任何消息。在操作中,第一IGP节点可以生成IGP通告,并通过其每个耦合到其他IGP节点的网络接口“洪泛”(flood)(即,发送)分组。其后,第二IGP节点可以接收被洪泛的IGP通告,并基于包含在接收的IGP通告中的路由信息来更新其路由表。接下来,第二IGP节点可以通过其每个网络接口洪泛接收的IGP通告,但是接收到IGP通告的接口除外。该洪泛过程可以重复,直到每个互连的IGP节点都已接收到IGP通告并更新其本地路由表为止。
在实践中,每个IGP节点一般生成并散布这样的IGP通告,该IGP通告的路由信息包括中间节点的邻居网络节点的列表以及与每个邻居相关联的一个或多个“成本”值。这里所用的与邻居节点相关联的成本值是用于确定与该节点进行通信的相对难易程度的任意度量。例如,成本值可以按照到达邻居节点所需的跳数、分组到达邻居节点的平均时间、耦合到邻居节点的网络链路上的可用带宽或网络流量的量等等方面进行测量。
注意,IGP通告通常被洪泛,直到每个中间网络IGP节点已经从每个其他互连的中间节点接收到IGP通告为止,该IGP通告可被存储在链路状态数据库(LSDB)中。然后,每个IGP节点(例如,在链路状态协议中)可以通过聚集所接收的邻居节点列表和成本值来构造相同的网络拓扑“视图”。为此,每个IGP节点可以将该接收到的路由信息输入到“最短路径优先”(SPF)计算中,该计算确定将中间节点与每个其他网络节点相耦合的最低成本网络路径。例如,Dijkstra算法是一种用于执行这种SPF计算的传统技术,在1999年9月公布的Radia Perlman的课本“Interconnections Second Edition”的12.2.4部分中有更详细的描述,该课本通过引用结合于此,就好像在这里完全公开一样。每个IPG节点基于其SPF计算的结果更新存储在其本地路由表中的路由信息。更具体而言,RIB更新路由表以将目的地节点与和到达这些节点的最低成本路径相关联的下一跳接口相关,如SPF计算所确定的(特别地,创建“最短路径树”或SPT,本领域技术人员将理解这一点)。
偶尔,网络元件(例如,节点或链路)会发生故障,从而导致将最初穿过发生故障的网络元件的流量重定向到绕开故障的其他网络元件。通常,该故障的通知通过新网络拓扑的通告(例如,IGP或BGP通告)被传递到网络中的节点,并且路由表被相应更新以避免故障。利用例如纯IP重路由来响应于网络元件故障而重配置网络可能是费时的。然而,许多恢复技术可用于在网络元件故障的情况下提供快速恢复和/或网络配置,包括“快速重路由”等等,例如IP快速重路由(IP FRR)。IP FRR的一个示例在2006年3月Shand等人的“IP Fast Reroute Framework<draft-ietf-rtgwg-ipfrr-framework-05.txt>”的因特网草案和2006年2月Atlas等人的“Basic Specification for IP Fast-Reroute:Loop-free Alternates<draft-ietf-rtgwg-ipfrr-spec-base-05.txt>”的因特网草案中有所描述,这两篇因特网草案都通过引用结合于此,就好像在这里完全公开一样。
IP FRR已被部署来针对网络元件故障做出保护,其中保护方网络节点(protecting network node)确定受保护网络元件(protected networkelements)的“无环路替代”(LFA)以到达特定目的地。具体而言,传统的LFA通常可以被定义为替代的下一跳节点(即,非当前/选定的下一跳节点),或者对到特定目的地的其他受保护网络元件(例如,链路)的替代,这种替代不会为了到达该目的地而向保护方网络设备或受保护元件(例如,节点/链路)“环回”(返回)流量。例如,如果邻居网络设备已选择了保护方网络设备作为到达目的地的下一跳,则从保护方网络设备向该邻居网络设备发送流量(例如,在网络元件故障的情况下)将导致两个设备之间形成环路(例如,直到网络重新收敛以去除发生故障的网络元件为止)。然而,通过在受保护网络元件发生故障时采用LFA,流量可以被转移到LFA,以在不采用发生故障的网络元件且不创建任何环路的情况下到达目的地。
通常,LFA可以被归类为“基于链路的”LFA和“基于前缀的”LFA。传统的基于链路的LFA技术针对共享从保护方网络设备的相同下一跳/接口的所有目的地地址前缀确定备份路由。换句话说,在特定链路发生故障(例如,下一跳节点、接口或链路故障)的情况下,所有流量(无论其目的地地址前缀如何)都可以被转移到已被确定为不将流量返回到保护方网络设备的一个不同的链路(即,基于链路的LFA)。基于链路的LFA相对容易管理,并且对于许多服务提供商网络来说是具有吸引力的。然而,基于链路的LFA可能在许多现有的网络拓扑中是不够的,这种拓扑经常包括许多形成环路的机会,其中传统的基于链路的LFA技术可能无法为受保护链路定位LFA。具体而言,许多服务提供商采用它们的“核心”内的“方形”拓扑(即,服务提供商的网络的一些部分包括网络核心设备),这种方形拓扑引起了比其他拓扑更少的LFA,本领域技术人员将理解这一点。因此,基于链路的LFA可能更易于实现,但是同时可能提供有限的保护覆盖。
另一方面,传统的基于前缀的LFA技术可以用于针对每个目的地地址前缀确定备份路由(即,基于“每前缀”计算LFA)。每个目的地地址前缀随后可具有到达目的地的主(“选定”或“最优”)下一跳,以及基于前缀的LFA。在网络元件故障的情况下,其目的地地址前缀否则会采用发生故障的网络元件的流量被转移到该目的地地址前缀的LFA。尽管基于前缀的LFA可以提供比基于链路的LFA更大的保护覆盖(基于每前缀计算,本领域技术人员将理解这一点),但是它们可能比基于链路的LFA管理和实现起来更复杂。具体而言,在故障的检测期间,一般对于转发信息库(FIB)和转发表进行实质上的改变,以便实现基于前缀的LFA。即,在故障检测时,基于前缀的LFA要求每个个体前缀被改变到LFA,从而创建与改变的前缀数目成比例的性能成本。基于前缀的LFA可以提供更大的保护覆盖,但是同时这些实质上的改变可能导致不可接受的性能影响。
因此,仍旧需要一种管理和实现起来相对容易的高效LFA技术。具体而言,仍旧需要一种LFA技术,该LFA技术相比于传统的基于链路的LFA扩展了保护覆盖,同时比基于前缀的LFA有更好的性能和更简单的实现方式。
发明内容
本发明涉及一种用于高效确定计算机网络中可接受的基于链路的无环路替代(LFA)的技术。根据该新颖技术,被配置为保护链路(“受保护链路”)的保护方网络设备将(例如,与保护方网络设备相同域的)其他网络设备区分为网络边缘设备(即,外部网络流量的末端点)或网络核心设备(即,不是外部网络流量的末端点)。保护方网络设备随后可以确定邻居网络设备是否将流量引导向网络边缘设备(即,向网络边缘设备环回)。如果否(即,邻居网络设备仅仅向网络核心设备环回),则保护方网络设备可以确定该邻居网络设备是可接受的LFA(例如,对于外部网络流量而言)。特别地,去往核心设备的流量仍可以环回,然而,该流量通常是内部(例如,信令)流量,并且可能不受与外部流量相同的操作约束(例如,保护)。
根据本发明的一方面,每个网络设备例如通过手工或动态配置确定它是网络边缘设备还是网络核心设备。例如,除非另外配置,否则网络设备可以通过检查它们的边界网关协议(BGP)配置来动态确定它们是否是网络边缘设备。具体而言,在网络设备具有任何外部(或外在)BGP(eBGP)对等体或者发起BGP路由的情况下,该网络设备是网络边缘设备(即,外部网络流量可以开始于或结束于该网络设备处)。否则,即,在网络设备不具有任何eBGP对等体或者不发起BGP路由的情况下,该网络设备是网络核心设备(即,外部网络流量并不开始于或结束于该网络设备处)。
根据本发明的另一方面,保护方网络设备例如通过手工或动态配置“学习”哪些网络设备是网络边缘设备且哪些是网络核心设备。作为示例,网络的每个网络设备可以采用内部网关协议(IGP)消息来向每个其他网络设备通告其状态(边缘或核心)。例如,在IGP消息内可以采用新颖的标志或扩展字段来传递网络设备的状态。保护方网络设备(例如,以及每个其他网络设备)将接收的标识网络边缘设备和网络核心设备的信息例如存储在链路状态数据库(LSDB)中。
根据本发明的又一方面,为了确定可接受的LFA,保护方网络设备针对保护方网络设备的受保护链路计算传统的基于链路的LFA。如果保护方网络设备确定对于受保护链路没有传统的LFA可用,则保护方网络设备计算以邻居网络设备为根的最短路径树(SPT)。通告检查SPT的分支,保护方网络设备可以确定包含受保护链路的特定分支是否也包含超出受保护链路的任何网络边缘设备(即,对于外部网络流量,该邻居网络设备是否将采用受保护链路来到达网络边缘设备)。如果否(即,受保护链路将被用于仅到达网络核心设备),则保护方网络设备可以确定对于受保护链路而言邻居网络设备是可接受的LFA,这是因为基本上所有的外部网络流量都被假定是去往网络边缘设备的。
有利地,该新颖技术高效地确定了计算机网络中可接受的基于链路的LFA。通过区分网络边缘设备和网络核心设备,该新颖技术允许了保护方网络设备在传统的基于链路的LFA技术表明不存在LFA时确定可接受的基于链路的LFA。具体而言,该新颖技术定位可能仅环回到网络核心设备的可接受的LFA,网络核心设备不是外部网络流量的末端点,并且因而是可忽略的环路的一部分。另外,本发明扩展了针对更多网络拓扑(即,具有环路)的传统的基于链路的LFA技术的保护覆盖。另外,该新颖技术的动态方面减轻了对麻烦的手工配置的需要。
附图说明
本发明的以上和其他的优点将通过参考下面结合附图的描述得以更好地理解,在附图中相似的标号指示相同或功能类似的元件,附图中:
图1是可以根据本发明使用的示例性计算机网络的示意性框图;
图2是可以有利地用于本发明的示例性网络设备/路由器的示意性框图;
图3是可以被路由器发送的示例性IGP通告的示意性框图;
图4是图示可以有利地用于本发明的可变长度字段(TLV)的示意性框图;
图5是根据本发明的图1的计算机网络中的网络设备的说明性SPT的示意性框图;
图6是图示根据本发明用于区分网络边缘设备和网络核心设备的过程的流程图;以及
图7是图示根据本发明用于高效确定可接受的基于链路的LFA的过程的流程图。
具体实施方式
图1是可以有利地用于本发明的示例性计算机网络100的示意性框图。网络100包括多个互连的网络节点/设备,例如路由器A-J。路由器可以通过如图所示的一条或多条链路互连,例如通过局域网(LAN)链路、无线LAN等,以形成网络100。这里所用的连接路由器的链路被称为由链路互连的两个网络设备。例如,B可以经由链路A-B(或者特别地,链路B-A)从A到达。作为示例,路由器A-D以“全网格”配置互连,其中路由器A-D中的每一个经由一条链路连接到路由器A-D中的另一个(G-J也是全网格配置)。另外,路由器C-F(和E-H)可以如图所示按“方形”或“盒状”配置互连,本领域技术人员将理解这一点。网络100可以被配置为自治系统(域),或者配置为一个或多个区域或级别。特别地,网络100可以被配置为互连一个或多个外部/客户网络(例如,在路由器A、B、I和/或J处)的提供商网络,如这里所描述的。本领域技术人员将理解,任何数目的网络元件(例如设备、路由器、链路等)可以用在计算机网络100中并且按多种方式互连,并且这里所示出的附图进行了简化。
可以利用预定义的网络通信协议在计算机网络100的网络设备之间交换数据分组,所述预定义的网络通信协议例如是传输控制协议/因特网协议(TCP/IP)、用户数据报协议(UDP)、异步传输模式(ATM)协议、帧中继协议、因特网分组交换(IPX)协议等等。利用预定的“内部”网关协议(IGP)(例如传统的距离向量协议或者作为示例的链路状态协议),通过使用IGP通告(例如,链路状态通告或链路状态分组),可以在网络/域100内的路由器之间分发路由信息。另外,利用“外部”网关协议(例如边界网关协议(BGP)),可以在整个网络100(例如,在启用的网络边缘设备处)和其他网络/域(未示出)中交换包含网络路由信息的数据分组。
图2是示例性网络设备200的示意性框图,作为示例,网络设备200是可以有利地用于本发明的路由器,例如作为网络边缘路由器和/或网络核心设备。该路由器包括通过系统总线250互连的多个网络接口210、处理器220和存储器240。网络接口210包含机械的、电的和信令电路,用于通过耦合到网络100的物理链路传输数据。网络接口可以被配置为利用多种不同的通信协议来与互连的网络节点发送和/或接收数据,这些通信协议包括TCP/IP、UDP、ATM、RSVP、同步光网络(SONET)、无线协议、帧中继、以太网、光纤分发数据接口(FDDI)等等。
存储器240包括可由处理器220和网络接口210寻址的多个存储单元,用于存储与本发明相关联的软件程序和数据结构。处理器220可包括适合于执行软件程序并操作数据结构(例如链路状态数据库(LSDB)243)的必要元件或逻辑。路由器操作系统242(例如,思科系统公司的网间操作系统或IOSTM)的一部分一般驻留在存储器240中并由处理器执行,该操作系统在功能上通过调用支持运行在路由器上的软件进程和/或服务的网络操作等等,来组织路由器。根据本发明,这些软件进程和/或服务可包括路由服务247、IGP服务248、BGP服务249和无环路替代(LFA)进程245。本领域技术人员将清楚,其他处理器和存储器装置(包括各种计算机可读介质)可以用于存储和执行与这里描述的创造性技术有关的程序指令。
路由服务247包含由处理器220执行的用于执行由一种或多种路由协议提供的功能的计算机可执行指令,所述路由协议例如是作为IGP服务248的IGP(例如,OSPF和IS-IS)、作为BGP服务249的BGP等等。这些功能可以被配置为管理包含例如用于进行转发判决的数据的转发信息数据库(未示出)。作为示例,路由服务247可以利用一种或多种路径计算技术(例如最短路径优先等)来计算最短路径树(SPT),如上所述,本领域技术人员将理解这一点。特别地,路由服务247还可以执行与虚拟路由协议有关的功能,例如维护VRF实例(未示出),本领域技术人员也将理解这一点。
BGP服务249可以在域之间的启用BGP的设备200(即,网络边缘设备:A、B、I和J)间的网络可达性信息的通信期间使用,例如通过发送并分析BGP通告。可操作地,(例如,远程域的)远程BGP服务可以建立与(例如,本地域(网络100)的)本地BGP服务的BGP会话,并向本地BGP设备发送所生成的BGP通告。之后,本地BGP设备可以接收所发送的BGP通告,并基于接收的BGP通告中包含的路由信息来更新其路由表。注意,本地和远程域之间(域间)的BGP会话是外部(或外在)BGP(eBGP)会话。本地BGP设备随后可以将接收的BGP通告发送到本地域的其他BGP设备,直到本地域的每个互连的BGP设备都已接收到BGP通告并更新了其本地路由表为止。还要注意,域内部(域内)的BGP会话是内部BGP(iBGP)会话。另外,在自治系统内建立了新的地址前缀或者在两个或更多个自治系统之间(例如,在提供商网络和一个或多个客户网络之间)创建了新的连接的情况下,传输改变的更新后的BGP通告可以在BGP设备之间发送,本领域技术人员将理解这一点。
本地域(网络100)内网络拓扑的改变可以利用IGP服务248(例如传统的OSPF和IS-IS链路状态协议)在网络100内的路由器200之间传输。例如,假定传输链路发生故障或者与网络节点相关联的成本值改变。一旦路由器之一检测到网络状态的改变,该路由器就可以向网络中的其他路由器洪泛传达该改变的IGP通告/消息。以这种方式,每个路由器最终“收敛”到相同的网络拓扑视图。
图3图示了可以由路由器200洪泛的示例性IGP通告300。作为示例,IGP通告300被示为IS-IS链路状态分组。然而,本领域技术人员将会理解,根据本发明可以使用其他IGP通告,例如,OSPF链路状态通告,等等。通告300包括存储标识消息的特定协议(例如,IS-IS)的值的域内路由协议鉴别字段302和存储指示通告的标准头部的长度的值的长度指示符字段304。另外,版本/协议ID扩展(ext)字段306可以用于进一步存储定义协议的特定版本的值。预留字段308和“R”字段被预留用于协议的未来使用,ECO和用户ECO字段314和316也是如此,作为示例,所有这些字段都会被接收路由器忽略,直到用于未来版本的协议中的解码为止。
类型字段310(和相应的版本字段312)存储指示所发送的通告300的类型(和版本)的值,该值可以定义通告内其他类型特定字段322的存在。例如,通告的类型可以是“Hello”分组、链路状态分组等等,本领域技术人员将理解这一点。PDU长度字段318存储指示整个PDU(协议数据单元,或通告300)的长度的值,该整个PDU包括头部、类型特定字段和数据字段。源ID字段320存储标识生成并最初广播通告300的路由器的值。
其他类型特定字段322可包括由协议定义的任何数目的字段,例如校验和字段、最大区域地址字段等等,本领域技术人员将理解这一点。例如,序列号字段(未示出)可以存储指示通告300的相对版本的序列号。一般来说,对于通告的每一新版本,字段中存储的序列号例如递增1。因此,如果通告300的序列号小于先前接收的(即,由相同通告节点生成的)通告版本中存储的序列号,则该通告300被认为是“陈旧的”(无效的)。因此,路由器200可以被配置为仅存储和转发通告的最近版本,例如,具有最大序列号的版本。剩余生存时间字段(未示出)也可以用于存储可用于确定通告300是否有效的值。剩余生存时间值一般被初始化为非零整数值,通常以秒为单位。剩余生存时间值可以例如每一秒递减1,直到剩余生存时间值达到零为止,从而表明通告已变得无效。即,存储或洪泛通告300的每一路由器200持续地使分组老化,直到剩余生存时间值等于零为止。本领域技术人员将意识到,可以替换使用其他老化机制,例如从初始值(例如等于零)起递增通告剩余生存时间值,直到剩余生存时间值达到已知的上限为止。
数据部分330包括一个或多个可变长度字段400,每个字段400具有特定的类型(或代码)、长度和值(TLV),这将在下面进一步描述。例如,为了通告网络拓扑,可以使用一对或多对邻居节点字段(未示出)和成本字段(未示出)。邻居节点字段可以存储诸如地址之类的值,该值指示从源ID字段320中标识的中间节点可直接访问的网络节点。成本字段可以存储例如已由通告节点与在邻居节点字段中标识的网络节点相关联的值。注意,在其他实施例中,单个邻居节点可以与多个成本值相关联。其他路由信息也可以被包括在IGP通告300的可变长度字段400中,例如校验和值、填充字段、专属字段等,以及新颖的网络设备状态(边缘/核心)字段,这将在下面进一步描述。通常,所接收的IGP通告被存储在路由器200的LSDB 243中。
具体而言,TLV编码格式被用于标识正传输(传达)的信息类型(T)、传达的信息长度(L)和传达的实际信息值(V)。长度字段中包含的长度(L)参数一般是特定于实现方式的,并且可以表示从对象的类型字段的开头起直到结尾的长度。然而,长度通常表示值(V)字段的长度,而不是类型(T)或长度(L)字段的长度。
图4是可以有利地用于本发明的TLV编码格式400的示意性框图。根据本发明,TLV 400可以用于IGP通告300或其他协议消息中包含的可变长度字段。TLV 400被组织为包括类型字段405和作为可变长度值的长度字段410,类型字段405包含指示TLV 400中包含的数据类型的预定类型值。TLV编码格式400还可包括TLV“有效载荷”(例如,值字段415)内承载的一个或多个无序子TLV 450,每个子TLV 450具有类型字段455、长度字段460和值字段465。特别地,在值字段415(和/或465)内可以包含其他信息,例如标志字段420中的一个或多个标志。根据本发明,TLV 400和(一个或多个)子TLV 450的字段以多种方式使用,包括这里描述的方式。
LFA进程245包含计算机可执行指令,该指令可以由处理器220执行来执行与传统LFA技术(例如,基于链路的和/或基于前缀的)有关的功能。具体而言,LFA进程245可以被配置为针对受保护网络元件确定一个或多个LFA,如上所述。这里所用的LFA通常可以被定义为替代的下一跳节点(即,非当前/选定的下一跳节点),或者对到特定目的地的其他受保护网络元件(例如,链路)的替代,这种替代不会向保护方网络设备或受保护元件(例如,节点/链路)“环回”(返回)流量。另外,LFA进程245可以被配置为执行与这里描述的新颖LFA(扩展)技术有关的功能。
本发明涉及一种用于高效确定计算机网络中可接受的基于链路的LFA的技术。根据该新颖技术,被配置为保护链路(“受保护链路”)的保护方网络设备将(例如,与保护方网络设备相同域的)其他网络设备区分为网络边缘设备(即,外部网络流量的末端点)或网络核心设备(即,不是外部网络流量的末端点)。保护方网络设备随后可以确定邻居网络设备是否将流量导向(即,环向)网络边缘设备。如果否(即,邻居网络设备仅环向网络核心设备),则保护方网络设备可以确定该邻居网络设备是可接受的LFA(例如,对于外部网络流量来说)。
根据本发明的一方面,网络100的每个网络设备(例如,路由器A-J)例如通过手工或动态配置来确定它是网络边缘设备还是网络核心设备。例如,除非另外配置,否则网络设备可以通过检查它们的BGP配置(例如通过BGP服务249)来动态确定它们是否是网络边缘设备。具体而言,网络边缘设备可以被定义为作为进入和/或离开网络100的外部网络流量的末端点的网络设备,例如或者从外部源(例如,客户)接收流量、或者向外部目的地(例如,客户)发送流量的网络设备。可以发送或接收外部流量的网络设备通常可被假设为具有与邻居外部网络设备(未示出)的一个或多个eBGP会话。因此,在网络设备具有任何eBGP对等体的情况下,网络设备可以确定它是网络边缘设备。例如,每个网络设备A、B、I和J都具有与外部网络设备的eBGP会话,如图1所示,因此,根据本发明可以确定它是网络边缘设备。
作为替换或补充,例如对于多协议标签交换虚拟专用网(MPLSVPN),网络设备可以在发起BGP路由的情况下确定它是网络边缘设备,本领域技术人员将理解这一点。MPLS VPN在2006年2月公布的E.Rosen等人的题为“BGP/MPLS IP Virtual Private Networks(VPNs)”的RFC 4364中有所描述,该文件通过引用结合于此,就好像在这里完全公开一样。通过经由BGP服务249检查BGP配置,网络设备可以确定从该设备是否发起了任何BGP路由,如果是,则网络设备可以据此推断它是网络边缘设备。
当它不具有任何eBGP对等体或者未发起BGP路由时,网络设备可以确定它是网络核心设备(即,外部网络流量不在该网络设备处开始或结束)。具体而言,网络核心设备通常仅用在网络100的内部,用于将流量(例如,外部流量)从一个网络边缘设备中转到另一个,并且不发起或终接外部网络流量(例如,客户流量)。作为示例,图1中的路由器C-H是核心路由器,因为它们中的每一个都不具有eBGP会话,也未发起任何BGP路由。
或者,可以执行作为网络边缘设备或网络核心设备的手工配置(例如由系统管理员进行),或者可以以其他方式在网络设备处静态配置。例如,某些网络设备可以被特别配置为仅作为一种特定设备(例如,边缘或核心)工作,并且可以像这样被预先配置。另外,在网络100的配置期间,系统管理员可以确定哪些网络设备是边缘设备且哪些是核心设备,并且可以据此手工地配置这些设备。本领域技术人员将理解用于手工配置设备的其他原因和方法。特别地,手工配置可以优先于动态配置,也可以不优先于动态配置。例如,网络设备(例如,B)可以动态确定它具有与外部网络设备的eBGP会话,并且因而它是网络边缘设备。然而,系统管理员可以确定网络设备B可能没有接收到任何外部网络流量(例如,出于其他原因维持eBGP会话),并且因而可以被配置为“核心”设备。
根据本发明的另一方面,保护方网络设备(例如,C)(也可能是网络100的其他设备)例如通过手工或动态配置获知哪些网络设备是网络边缘设备且哪些是网络核心设备。同样,手工配置可以由具备网络拓扑知识的系统管理员执行,系统管理员可以利用网络100中每个其他网络设备的状态信息来静态配置保护方网络设备(例如,配置为边缘设备或核心设备)。
作为示例,对于根据本发明的动态学习,每个网络设备可以采用IGP消息/通告300(例如,在IS-IS中的路由器能力链路状态分组内,或者在在OSPF中的路由器信息链路状态通告内,本领域技术人员将理解这一点)来向每个其他网络设备通告其状态(边缘或核心)。具体而言,特定设备的状态(尤其是该设备的新添加特性)可以被包含在IGP通告300内,其方式例如是通过使用一个或多个新颖标志或扩展字段(TLV400,例如利用标志字段420)。例如,TLV的特定类型405的值字段415可包括指定通告方网络设备是网络边缘设备还是网络核心设备的信息。作为示例,该信息可以实现在标志字段420内,作为1位指示(例如,核心或边缘)、2位指示(例如,核心、边缘、其他、不能确定等)等等。特别地,本领域技术人员将理解指定信息/字段的其他实施例,并且这些实施例在这里描述的本发明的范围之内。
这些IGP通告300可以在网络100内的网络设备之间洪泛(例如,区域/级别范围的洪泛),以使得每个网络设备可以接收到网络的每个其他网络设备的状态信息。保护方网络设备(例如,以及每个其他网络设备)随后可以例如在LSDB 243中存储所接收的标识网络的网络边缘设备和网络核心设备的信息(作为示例,在图1中,网络设备A、B、I和J被标识为网络边缘设备,且网络设备C-H被标识为网络核心设备)。特别地,根据本发明存储的状态信息可以属于单个LSDB 243,并因而属于单个路由区域/级别,本领域技术人员将理解这一点。
尽管以上描述描述了用于确定网络设备状态并学习其他网络设备状态的手工配置(例如,系统管理员配置)或动态配置(例如,在没有系统管理员干预的情况下由设备自身执行的配置),但是重要的是注意到以下这一点,即根据本发明这两种配置并不是互斥的。换句话说,一个网络设备可以部分被配置为手工或动态配置。例如,并不是网络100的所有网络设备都必须以相同方式配置。另外,尽管根据本发明的一方面一个特定网络设备可以被手工/动态配置,但是根据本发明的另一方面该特定网络设备可以不需要被手工/动态配置。另外,根据本发明,为了学习其他网络设备的状态,一个网络设备可以手工配置某些网络设备的状态,同时动态学习其他网络设备的状态。本领域技术人员将意识到其他手工和动态配置的组合,并且这些组合据此可以用于本发明。
根据本发明的又一方面,为了确定可接受的LFA,保护方网络设备(例如,网络设备C)针对保护方网络设备的受保护链路(例如,链路C-E)计算传统的基于链路的LFA。示例性的传统LFA技术在以上引用的Atlas等人的题为“Basic Specification for IP Fast-Reroute:Loop-freeAlternates”的因特网草案中有所描述。简要地说,保护方网络设备确定除了在受保护链路的另一端的受保护网络设备之外的其邻居网络设备中的任何一个(例如,邻居网络设备A、B或D)是否将绕开受保护元件(例如,链路C-E和/或网络设备E)。例如,假定图1中网络100的每条链路具有相等的成本。本领域技术人员将理解,如果朝向下游的网络设备G的流量将被从保护方网络设备C重定向到邻居网络设备A或B,则这两个邻居网络设备将会根据它们的本地SPT将流量返回(环回)给保护方网络设备(例如,通过受保护元件的最短路径是三跳)。另外,邻居网络设备D可以环回也可以不环回流量(例如,从D到G的所有路径都是三跳),因此保护方网络设备在传统上不能推断出D不能环回流量(如图1所示,标注为“C:D:C”)。
如果保护方网络设备C确定对于受保护链路没有传统的LFA可用(如上所述),则保护方网络设备计算以(例如,非LFA)邻居网络设备(例如,每个非LFA邻居网络设备A、B和D)为根的SPT。作为示例,图5是根据本发明图1的计算机网络100中的邻居网络设备(例如,D)的说明性SPT 500的示意性框图。SPT 500可以利用诸如SPF计算等之类的已知技术计算,并且可以被保护方网络设备用来确定被邻居网络节点用于到达网络100内的各种目的地的路径。
通过检查SPT 500的分支,保护方网络设备C可以确定包含受保护链路的特定分支是否也包含超出受保护链路以外的任何网络边缘设备。例如,受保护链路C-E被包含在SPT分支D-C-E-G上,本领域技术人员将理解这一点。通过将分支的网络设备(特别地,是超出受保护链路的网络设备,因此是设备E和G)与上述学习到的状态信息(例如,其存储在LSDB 243中)相比较,保护方网络设备可以确定网络设备中的任何一个是否是网络边缘设备。如以上所确定的(从图5中可见),网络设备E和G都是网络核心设备,并且因而不是任何外部流量(例如,客户流量)的末端点。具体而言,网络的网络边缘设备(例如,网络边缘设备A、B、I和J)各自位于SPT的一条分支上,该分支并不包括受保护元件(例如,链路C-E)。因此,保护方网络设备C可以确定,对于外部网络流量,邻居网络设备D将不能利用受保护链路C-E来到达网络边缘设备,并且因而不会将外部流量环回到受保护链路C-E。
如果非LFA邻居网络设备D不采用受保护元件(链路C-E)来到达任何网络边缘设备,则保护方网络设备C可以确定该邻居网络设备对于受保护元件(链路C-E)来说是可接受的LFA。具体而言,可以假定基本上穿越网络100的所有外部流量(客户流量)都仅仅以网络边缘设备为目的地。也就是说,在这里描述的说明性示例中,提供商网络通常既不是外部/客户流量的源,也不是其目的地,并且用作两个或更多个客户网络设备之间的中转连接。因此,网络100中的大多数流量都是去往网络边缘设备之一的外部流量。结果,基本上被重定向到可接受的LFA的所有流量都将不会环回到受保护元件,因为受保护元件仅仅被可接受的LFA用于非外部/客户流量。例如,如果可接受LFA邻居网络设备D接收到来自保护方网络设备C的重定向流量,则基本上很有可能流量将被转发到网络边缘设备A、B、I或J。尽管邻居网络设备D可能具有到受保护元件(链路C-E)的一个或多个环路,但是这些环路仅仅是去往网络核心设备(E和G)的。因而,受到环路影响的流量仅仅是去往网络核心设备的流量,这种流量最有可能不是外部流量(例如,管理流量、更新、连通性协议消息等),本领域技术人员将理解这一点。该“内部流量”通常不受与外部流量相同的操作约束,并且因而根据本发明不会为了确定可接受的LFA而被认为是创建了“不可接受环路”。
可接受的LFA被保护方网络设备C以与传统LFA相同的方式使用,如这里所描述的,本领域技术人员将理解这一点。然而,在对于保护方网络设备C来说没有可用的可接受的LFA的情况下,保护方网络设备可以向系统管理员返回错误,或者简单地不能保护受保护元件。特别地,尽管作为示例以上确定可接受的LFA的技术已经被描述为保护方网络设备内的动态过程,但是本发明也可以被除了实际的保护方网络设备之外的网络设备(例如,管理设备)所采用,或者被系统管理员的手工确定和配置所采用。
图6是图示根据本发明用于区分网络边缘设备和网络核心设备的过程的流程图。过程600开始于步骤605,并且继续到步骤610,此时网络设备(A-J)可以被手工或动态配置为网络边缘设备或网络核心设备。如果手工配置,则网络设备在步骤615中被手工配置为网络边缘设备或网络核心设备,如上所述。如果在步骤610中网络设备要被动态配置,则在步骤620中网络设备检查其本地BGP配置(例如,在BGP服务249中)。在步骤625中网络设备具有任何eBGP对等体或者发起了任何BGP路由的情况下,在步骤630中网络设备确定它是网络边缘设备。另一方面,如果在步骤625中网络设备不具有任何eBGP对等体或者未发起任何BGP路由,则在步骤635中网络设备确定它是网络核心设备。
在步骤640,网络设备可以手工或动态更新/存储其他网络设备的状态(即,边缘或核心)。如果手工配置,则网络设备在步骤645中手工配置网络100中其他网络设备的状态,并在步骤660中将其存储在例如LSDB243中。如果在步骤640网络设备被配置为更新/存储状态,则网络设备可以在步骤650中在网络中通告其各自的边缘/核心状态,这例如是通过IGP通告300来进行的。由于在步骤655中网络设备接收到网络中其他网络设备的通告状态,因此在步骤660中这些状态被存储。过程600在步骤695中结束,这时已确定并获知了网络设备的状态(边缘或核心)。特别地,尽管以上描述提到了手工或动态配置,但是这两种配置并不是互斥的,一个网络设备可以被部分配置为手工或动态配置,如上所述。
图7是图示根据本发明用于高效确定可接受的基于链路的LFA的过程的流程图。过程700开始于步骤705,并且继续到步骤710,此时保护方网络设备(例如,网络设备C)针对受保护链路(例如,链路C-E)计算传统的基于链路的LFA。如果在步骤715中找到传统的LFA,则在步骤720中选择LFA,并且过程在步骤795中结束。然而,如果在步骤715中未找到传统的基于链路的LFA,则保护方网络设备在步骤725中计算以非LFA邻居网络设备(例如,邻居网络设备D)为根的SPT。通过在步骤730中检查受保护链路的SPT的分支(D-C-E-G,如上所述),保护方网络节点可以在步骤735中确定该分支是否包含(例如,通向)超出受保护链路之外的任何网络边缘设备,其方式例如是通过将该分支的网络设备与LSDB 243中存储的状态相比较(例如,参见图6)。如果在步骤740沿着受保护链路的分支没有网络边缘设备,则在步骤745中邻居网络设备(D)被确定为可接受的LFA,如上所述。随后在步骤720中可接受LFA邻居网络设备可以被选择为LFA,并且该过程在步骤795中结束。另一方面,如果在步骤740中在受保护链路的分支上存在至少一个网络边缘设备,则在步骤750中邻居网络设备被确定为不是可接受的LFA。如果在步骤755中其他的非LFA邻居网络设备可用于保护方网络设备,则过程700返回到步骤725以计算以可用邻居为根的另一SPT。否则,LFA选择在步骤760中失败,并且过程700在步骤795中结束(例如,在错误之后等等,如上所述)。
有利地,该新颖技术高效地确定了计算机网络中可接受的基于链路的LFA。通过区分网络边缘设备和网络核心设备,该新颖技术允许了保护方网络设备在传统的基于链路的LFA技术表明不存在LFA时确定可接受的基于链路的LFA。具体而言,该新颖技术定位可能仅环回到网络核心设备的可接受的LFA,网络核心设备不是外部网络流量的末端点,并且因而是可忽略的环路的一部分。另外,本发明扩展了针对更多网络拓扑(即,具有环路)的传统的基于链路的LFA技术的保护覆盖。另外,该新颖技术的动态方面减轻了对麻烦的手工配置的需要。
尽管已示出并描述了高效确定计算机网络中可接受的基于链路的LFA的说明性实施例,但是将会理解,在本发明的精神和范围内可以进行各种其他的适应和修改。例如,这里将本发明示出和描述为用于以方形(盒状)拓扑布置的网络设备。然而,本发明在其更广泛的意义上并不限于此,而是实际上可以用于其他的非无环路拓扑,本领域技术人员将理解这一点。另外,尽管以上描述描述了采用IGP通告300来传递网络设备状态,但是本领域技术人员将会理解,根据本发明也可采用其他的通信手段,例如被设计用于发送信息的特定协议。
另外,尽管作为示例以上描述采用了具有网络核心和边缘设备的提供商网络(本领域技术人员将理解这一点),但是本发明也可以被应用于其他网络配置。例如,网络边缘设备可以是连接到一个或多个目的地网络设备(例如,末端站、服务器等)的网络设备,而网络核心设备可以是不连接到任何目的地网络设备的网络设备(例如,仅向其他路由器发送流量的路由器)。换句话说,据此可以基于通过受保护元件环回的SPT分支是否将被用于到达目的地网络设备来确定可接受的LFA。
前述描述涉及本发明的特定实施例。然而,应当清楚,可以对所描述的实施例进行其他变化和修改,且获得某些或全部其优点。例如,明确地提出本发明的教导可以实现为软件(包括具有运行在计算机上的程序指令的计算机可读介质)、硬件、固件或其组合。另外,可以生成电磁信号来通过例如无线数据链路或数据网络(例如因特网)承载实现本发明的某些方面的计算机可执行指令。因此,该描述只能被认为是示例性的,而不是以任何方式限制本发明的范围。因此,权利要求的目的是覆盖在本发明的真实精神和范围内的所有这些变化和修改。
Claims (17)
1.一种用于高效确定计算机网络中可接受的基于链路的无环路替代LFA以保护受保护元件的装置,该装置包括:
用于将所述网络的一个或多个其他网络设备区分为网络边缘设备或网络核心设备的装置,其中网络边缘设备是外部网络流量的末端点,网络核心设备不是外部网络流量的末端点;
用于确定以某一邻居网络设备为根的最短路径树SPT的包括所述受保护元件的分支是否通向网络边缘设备的装置;以及
用于如果以所述邻居网络设备为根的SPT的包括所述受保护元件的分支不通向网络边缘设备,则确定所述邻居网络设备是可接受的LFA的装置。
2.如权利要求1所述的装置,还包括:
用于通过学习来自所述一个或多个其他网络设备的状态来将所述网络的一个或多个其他网络设备区分为网络边缘设备或网络核心设备的装置。
3.如权利要求2所述的装置,还包括:
用于从所述一个或多个其他网络设备接收一个或多个内部网关协议IGP通告的装置,所述IGP通告具有所述一个或多个其他网络设备的状态信息。
4.如权利要求3所述的装置,其中所述一个或多个其他网络设备的状态信息被包含在所述IGP通告的一个或多个标志内。
5.如权利要求1所述的装置,其中所述受保护元件是受保护链路,并且所述用于高效确定计算机网络中可接受的基于链路的无环路替代LFA以保护受保护元件的装置还包括:
用于在保护方网络设备处针对所述受保护链路计算基于链路的LFA的装置;
用于确定没有LFA可用于所述受保护链路的装置;以及
用于作为响应,确定所述可接受的LFA的装置。
6.如权利要求1所述的装置,其中所述受保护元件是受保护链路,并且所述用于高效确定计算机网络中可接受的基于链路的无环路替代LFA以保护受保护元件的装置还包括:
用于计算以所述邻居网络设备为根的SPT的装置,所述SPT具有一个或多个分支;
用于检查所述SPT的包括所述受保护链路的分支的装置;以及
用于如果在所述SPT的包括所述受保护链路的分支上有超出所述受保护链路的任何网络边缘设备则确定所述SPT的包括所述受保护链路的分支通向网络边缘设备的装置。
7.如权利要求1所述的装置,其中所述可接受的LFA环回到所述网络的网络核心设备。
8.如权利要求1所述的装置,其中所述受保护元件是受保护链路,并且所述用于高效确定计算机网络中可接受的基于链路的无环路替代LFA以保护受保护元件的装置还包括:
用于检测所述受保护链路的故障的装置;以及
用于将流量从所述受保护链路重定向到所述可接受的LFA的装置,其中基本上所有被重定向的流量都是去往所述网络的网络边缘设备的外部网络流量。
9.一种用于高效确定计算机网络中可接受的基于链路的无环路替代LFA以保护受保护元件的方法,该方法包括:
将所述网络的一个或多个其他网络设备区分为网络边缘设备或网络核心设备,其中网络边缘设备是外部网络流量的末端点,网络核心设备不是外部网络流量的末端点;
确定以某一邻居网络设备为根的最短路径树SPT的包括所述受保护元件的分支是否通向网络边缘设备;以及
如果以所述邻居网络设备为根的SPT的包括所述受保护元件的分支不通向网络边缘设备,则确定所述邻居网络设备是可接受的LFA。
10.一种用于高效确定计算机网络中可接受的基于链路的无环路替代LFA以保护受保护元件的系统,该系统包括:
被配置作为网络边缘设备或网络核心设备之一工作的多个网络设备,其中网络边缘设备是外部网络流量的末端点,网络核心设备不是外部网络流量的末端点;以及
保护方网络设备,被配置为i)在所述多个网络设备之中的网络边缘设备和网络核心设备之间进行区分,ii)确定以所述保护方网络设备的某一邻居网络设备为根的最短路径树SPT的包括所述受保护元件的分支是否通向网络边缘设备,以及iii)如果以所述邻居网络设备为根的SPT的包括所述受保护元件的分支不通向网络边缘设备,则确定所述邻居网络设备是可接受的LFA。
11.如权利要求10所述的系统,其中所述多个网络设备中的至少一个被配置为:
确定该网络设备是网络边缘设备还是网络核心设备。
12.如权利要求11所述的系统,其中该至少一个网络设备被配置为:
通过检查本地边界网关协议BGP配置来确定该网络设备是网络边缘设备还是网络核心设备。
13.如权利要求12所述的系统,其中该至少一个网络设备被配置为:
确定所述BGP配置是否指示至少一个外部BGP(eBGP)会话;以及
如果是,则确定该网络设备是网络边缘设备。
14.如权利要求12所述的系统,其中该至少一个网络设备被配置为:
确定所述BGP配置是否指示至少一个发起的BGP路由;以及
如果是,则确定该网络设备是网络边缘设备。
15.如权利要求12所述的系统,其中该至少一个网络设备被配置为:
确定所述BGP配置是否指示至少一个外部BGP(eBGP)会话或至少一个发起的BGP路由中的至少一种;
如果是,则确定该网络设备是网络边缘设备;以及
如果否,则确定该网络设备是网络核心设备。
16.一种用于高效确定计算机网络中可接受的基于链路的无环路替代LFA的装置,该装置包括:
用于针对所述网络设备的受保护链路计算传统的基于链路的LFA的装置;
用于确定没有传统的LFA可用于所述受保护链路的装置;
用于作为响应,计算以某一邻居网络设备为根的最短路径树SPT的装置,所述SPT具有一个或多个分支;
用于确定所述SPT的包含所述受保护链路的特定分支是否包含超出所述受保护链路的任何网络边缘设备的装置,其中网络边缘设备是外部网络流量的末端点;以及
用于如果所述SPT的包含所述受保护链路的特定分支不包含超出所述受保护链路的任何网络边缘设备,则确定所述邻居网络设备对于所述受保护链路来说是可接受的LFA的装置。
17.一种用于高效确定计算机网络中可接受的基于链路的无环路替代LFA的方法,该方法包括:
针对保护方网络设备的受保护链路计算传统的基于链路的LFA;
确定没有传统的LFA可用于所述受保护链路;
作为响应,计算以某一邻居网络设备为根的最短路径树SPT,所述SPT具有一个或多个分支;
确定所述SPT的包含所述受保护链路的特定分支是否包含超出所述受保护链路的任何网络边缘设备,其中网络边缘设备是外部网络流量的末端点;以及
如果所述SPT的包含所述受保护链路的特定分支不包含超出所述受保护链路的任何网络边缘设备,则确定所述邻居网络设备对于所述受保护链路来说是可接受的LFA。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/481,350 | 2006-07-05 | ||
US11/481,350 US7986640B2 (en) | 2006-07-05 | 2006-07-05 | Technique for efficiently determining acceptable link-based loop free alternates in a computer network |
PCT/US2007/015454 WO2008005482A2 (en) | 2006-07-05 | 2007-07-03 | A technique for efficiently determining acceptable link-based loop free alternatives in a computer network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101485160A CN101485160A (zh) | 2009-07-15 |
CN101485160B true CN101485160B (zh) | 2012-09-05 |
Family
ID=38895213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800250556A Active CN101485160B (zh) | 2006-07-05 | 2007-07-03 | 用于高效确定计算机网络中可接受的基于链路的无环路替代的技术 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7986640B2 (zh) |
EP (1) | EP2036273B1 (zh) |
CN (1) | CN101485160B (zh) |
WO (1) | WO2008005482A2 (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7340686B2 (en) * | 2005-03-22 | 2008-03-04 | Microsoft Corporation | Operating system program launch menu search |
US7512904B2 (en) * | 2005-03-22 | 2009-03-31 | Microsoft Corporation | Operating system launch menu program listing |
US7957306B2 (en) * | 2006-09-08 | 2011-06-07 | Cisco Technology, Inc. | Providing reachability information in a routing domain of an external destination address in a data communications network |
US7697416B2 (en) | 2006-09-08 | 2010-04-13 | Cisco Technolgy, Inc. | Constructing a repair path in the event of non-availability of a routing domain |
US8111616B2 (en) * | 2006-09-08 | 2012-02-07 | Cisco Technology, Inc. | Constructing a repair path in the event of failure of an inter-routing domain system link |
US8045545B2 (en) * | 2007-12-21 | 2011-10-25 | Futurewei Technologies, Inc. | Intelligent database exchange for OSPF |
US8892773B2 (en) * | 2008-12-26 | 2014-11-18 | Nec Corporation | Path control apparatus, path control method, path control program, and network system |
CN101883040B (zh) * | 2009-05-05 | 2014-12-31 | 中兴通讯股份有限公司 | 一种网络保护方法及网络保护系统 |
CN101599898B (zh) * | 2009-07-01 | 2012-07-25 | 北京邮电大学 | 多链路故障环境下采用lfa方式的路由器避免环路的方法 |
US8576857B2 (en) | 2010-01-22 | 2013-11-05 | Cisco Technology, Inc. | Automatically identifying an edge-facing router |
CA2784456A1 (en) * | 2010-03-26 | 2011-09-29 | Peter Ashwood Smith | Distributed failure recovery in a routed ethernet network |
CN102316029B (zh) * | 2011-09-01 | 2014-06-04 | 福建星网锐捷网络有限公司 | 一种快速重路由方法及路由设备 |
US9049142B1 (en) | 2011-09-20 | 2015-06-02 | Cisco Technology, Inc. | Method and apparatus to enable protection for selective traffic in an MPLS network |
CN103179032B (zh) * | 2011-12-20 | 2016-03-30 | 华为技术有限公司 | 一种路由备份方法及装置 |
CN104639436B (zh) * | 2013-11-07 | 2018-06-22 | 中兴通讯股份有限公司 | 剩余生存时间老化处理方法及装置 |
CN103746828B (zh) * | 2013-12-17 | 2017-06-23 | 福建星网锐捷网络有限公司 | 一种管理网络节点的方法及装置 |
US9734457B2 (en) | 2013-12-31 | 2017-08-15 | Cisco Technology, Inc. | Learning data processor for distributing learning machines across large-scale network infrastructures |
US9300568B2 (en) * | 2014-03-21 | 2016-03-29 | Telefonaktiebolaget L M Ericsson (Publ) | Procedure to add alternate paths for IS-IS default route |
US9455917B2 (en) * | 2014-05-27 | 2016-09-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Simplified approach to verify LFAS in deployment |
US9819573B2 (en) | 2014-09-11 | 2017-11-14 | Microsoft Technology Licensing, Llc | Method for scalable computer network partitioning |
US9544225B2 (en) | 2014-09-16 | 2017-01-10 | Microsoft Technology Licensing, Llc | Method for end point identification in computer networks |
CN109861913B (zh) * | 2018-12-25 | 2020-03-20 | 华为技术有限公司 | 一种跨内部网关协议的前缀标识通告方法和装置 |
EP3915230A4 (en) * | 2019-01-24 | 2022-01-19 | Telefonaktiebolaget LM Ericsson (publ) | METHOD AND SYSTEM TO PREVENT MICRO-LOOPS DURING A NETWORK TOPOLOGY CHANGE |
CN112583898B (zh) * | 2020-11-30 | 2023-08-15 | 北京百度网讯科技有限公司 | 业务流程编排方法、装置、以及可读介质 |
US11824769B2 (en) * | 2021-11-08 | 2023-11-21 | Ciena Corporation | Incrementally eliminating BGP-LU using SR policies and PCE |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1675899A (zh) * | 2002-08-14 | 2005-09-28 | 西门子公司 | 面向分组的网络中的接入控制 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5964841A (en) | 1997-03-03 | 1999-10-12 | Cisco Technology, Inc. | Technique for handling forwarding transients with link state routing protocol |
US6856627B2 (en) | 1999-01-15 | 2005-02-15 | Cisco Technology, Inc. | Method for routing information over a network |
JP3773380B2 (ja) * | 1999-07-28 | 2006-05-10 | 沖電気工業株式会社 | ノード制御装置、ノード装置、光ネットワークシステム及び光パス設定方法 |
US6765880B1 (en) | 2000-01-18 | 2004-07-20 | Cisco Technology Inc. | Method and apparatus for eliminating unprotectable paths from consideration during computation of a protectable shortest path tree |
US6751746B1 (en) | 2000-07-31 | 2004-06-15 | Cisco Technology, Inc. | Method and apparatus for uninterrupted packet transfer using replication over disjoint paths |
US6831898B1 (en) | 2000-08-16 | 2004-12-14 | Cisco Systems, Inc. | Multiple packet paths to improve reliability in an IP network |
US6987740B1 (en) | 2000-09-11 | 2006-01-17 | Cisco Technology, Inc. | STP root guard |
US6856624B2 (en) * | 2001-02-21 | 2005-02-15 | Alcatel | Temporary unique private address |
US20040039839A1 (en) * | 2002-02-11 | 2004-02-26 | Shivkumar Kalyanaraman | Connectionless internet traffic engineering framework |
US8036139B2 (en) | 2002-10-28 | 2011-10-11 | Cisco Technology, Inc. | Internal BGP downloader |
US7792991B2 (en) | 2002-12-17 | 2010-09-07 | Cisco Technology, Inc. | Method and apparatus for advertising a link cost in a data communications network |
GB2421158B (en) * | 2003-10-03 | 2007-07-11 | Avici Systems Inc | Rapid alternate paths for network destinations |
US7539131B2 (en) * | 2003-11-26 | 2009-05-26 | Redback Networks Inc. | Nexthop fast rerouter for IP and MPLS |
US7933197B2 (en) * | 2005-02-22 | 2011-04-26 | Cisco Technology, Inc. | Method and apparatus for constructing a repair path around a non-available component in a data communications network |
EP2424178B1 (en) * | 2005-10-05 | 2014-06-04 | Nortel Networks Limited | Provider link state bridging |
-
2006
- 2006-07-05 US US11/481,350 patent/US7986640B2/en active Active
-
2007
- 2007-07-03 CN CN2007800250556A patent/CN101485160B/zh active Active
- 2007-07-03 WO PCT/US2007/015454 patent/WO2008005482A2/en active Application Filing
- 2007-07-03 EP EP07796679.4A patent/EP2036273B1/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1675899A (zh) * | 2002-08-14 | 2005-09-28 | 西门子公司 | 面向分组的网络中的接入控制 |
Also Published As
Publication number | Publication date |
---|---|
EP2036273A2 (en) | 2009-03-18 |
WO2008005482A2 (en) | 2008-01-10 |
WO2008005482A3 (en) | 2008-04-03 |
US20080008104A1 (en) | 2008-01-10 |
EP2036273B1 (en) | 2015-03-04 |
EP2036273A4 (en) | 2012-04-25 |
US7986640B2 (en) | 2011-07-26 |
CN101485160A (zh) | 2009-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101485160B (zh) | 用于高效确定计算机网络中可接受的基于链路的无环路替代的技术 | |
US8589573B2 (en) | Technique for preventing routing loops by disseminating BGP attribute information in an OSPF-configured network | |
CN101133408B (zh) | 穿过一组自治系统的最短域间流量工程标签交换路径计算 | |
CN101371150B (zh) | 针对一个或多个te-lsp的头端节点的故障的动态保护 | |
CN101606341B (zh) | 用于在穿过提供商网络的ce-ce路径上高效路由ip流量的技术 | |
CN101036126B (zh) | 用于使流量免遭边界路由器故障影响的方法、系统和设备 | |
CN101288266B (zh) | 自治系统间流量工程标签交换路径路由信息的动态检索方法及系统 | |
CN101326762B (zh) | 在自治系统中构造和实现备用路径的方法 | |
US8374092B2 (en) | Technique for protecting against failure of a network element using multi-topology repair routing (MTRR) | |
CN101036355B (zh) | 用于跨域传播可达性信息的方法、系统和装置 | |
TWI499237B (zh) | 廣播網路之標籤分配協定與內部閘道協定同步化 | |
US8174967B2 (en) | Method to reduce routing convergence at the edge | |
CN101164265B (zh) | 用于备份pe选择的算法 | |
US7865615B2 (en) | Maintaining IGP transparency of VPN routes when BGP is used as a PE-CE protocol | |
CN101044728B (zh) | Rfc 2574网络边缘处的快速重路由(frr)保护 | |
CN101395594B (zh) | 用于计算机网络中ip骨干上的数据流的最优路由的技术 | |
US20070133406A1 (en) | Technique for enabling traffic engineering on CE-CE paths across a provider network | |
Raj et al. | A survey of IP and multiprotocol label switching fast reroute schemes | |
CN101455030A (zh) | 动态共享风险节点组(srng)成员发现 | |
CN101099351A (zh) | 用于触发对路径计算请求进行打包 | |
US7957289B2 (en) | Method to reduce IGP routing information | |
KR101797471B1 (ko) | Igp 라우팅 프로토콜을 이용한 인터넷 트래픽 부하 분산 방법 및 시스템 | |
Metsälä | Resilience |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |