CN101401083B - 在ospf配置的网络中散布bgp属性信息来防止路由环的技术 - Google Patents

在ospf配置的网络中散布bgp属性信息来防止路由环的技术 Download PDF

Info

Publication number
CN101401083B
CN101401083B CN200780008232XA CN200780008232A CN101401083B CN 101401083 B CN101401083 B CN 101401083B CN 200780008232X A CN200780008232X A CN 200780008232XA CN 200780008232 A CN200780008232 A CN 200780008232A CN 101401083 B CN101401083 B CN 101401083B
Authority
CN
China
Prior art keywords
ospf
tlv
network
bgp
route
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
Application number
CN200780008232XA
Other languages
English (en)
Other versions
CN101401083A (zh
Inventor
西纳·米尔托比
穆希塔尔·沙依克
彼得·普森纳克
穆罕默德·艾哈迈德·莫依祖蒂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN101401083A publication Critical patent/CN101401083A/zh
Application granted granted Critical
Publication of CN101401083B publication Critical patent/CN101401083B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/033Topology update or discovery by updating distance vector protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

提供了一种用于在开放式最短路径优先(OSPF)配置的网络中散布边界网关协议(BGP)属性信息来防止路由环的新技术。具体地,引入了新的OSPF子类型长度值(TLV),用于通过OSPF配置的网络传输传统的BGP自治系统(AS)路径属性。像BGP AS路径属性一样,新的OSPFAS路径子TLV被配置为存储与一条或多条所通告的路由的AS路径相对应的AS号的集合。这样,当网络设备接收到包含新的AS路径子TLV的OSPF链路状态通告(LSA)时,该网络设备确定其是否位于AS号被存储在子TLV中的自治系统中。如果是,则该网络设备不在其链路状态数据库中安装LSA的所通告的路由,因为如果安装的话,该路由将导致路由环。

Description

在OSPF配置的网络中散布BGP属性信息来防止路由环的技术
技术领域
本发明一般地涉及在计算机网络中防止路由环(routing loop),更具体地,涉及一种用于在开放式最短路径优先(OSPF)配置的网络中传输边界网关协议(BGP)属性信息以防止路由环的新技术。
背景技术
计算机网络是在网络节点之间传输数据的互相连接的子网络(诸如,局域网(LAN))的地理分布的集合。如这里所使用的,网络节点是计算机网络中的适用于发送和/或接收数据的任何设备。所以,在本公开的上下文中,术语“节点”和“设备”可交换使用。网络拓扑由(一般,通过诸如路由器和交换机的一个或多个中间网络节点)相互通信的多个网络节点的排列定义。除了位于相同网络中的网络节点之间的网络内通信外,数据还可以在位于不同网络中的节点之间交换。对此,位于第一计算机网络的逻辑外边界的“边缘设备”可以适用于利用位于相邻(即,临近)网络中的边缘设备发送和接收数据。网络间和网络内通信一般都是通过根据预定协议交换离散数据包实现的。在此上下文中,协议包括定义网络节点如何相互作用的规则的集合。
每个数据包一般都包括通过根据网络通信协议格式化的至少一个网络头部前置(“封装”)的“有效载荷”数据。网络头部包括使能网络节点有效通过计算机网络路由信息包的信息。通常,信息包的网络头部包括由传输控制协议/互联网协议(TCP/IP)模型定义的数据链路(层2)头部、互联网(层3)头部、以及传输(层4)头部。TCP/IP参考模型在由Andrew Tanenbaum于2003年出版布的名为“Computer Networks,FourthEdition”的参考书的Section1.4.2.中详细描述,其全部内容结合于此作为参考。
数据包可以从源节点发起,然后依次沿着逻辑数据路径从节点“跳”到节点直到到达其目的地为止。定义数据流的逻辑数据路径的网络地址通常被作为互联网协议(IP)地址存储在信息包的互联网头部中。通常根据IP版本4(IPv4)协议对IP地址进行格式化,其中,使用32比特(4字节)的值来对网络节点进行寻址。尽管IPv4在今天的大多数网络中盛行,但是已经引入了IP版本6(IPv6)以将IP地址的长度增加到128比特(16字节),从而增加可用IP地址的数目。一般,为网络或子网络分配预定的IP地址的集合,这些IP地址可以被分配到位于该网络或子网络中的网络节点。这里,子网络是较大的计算机网络的子集,从而子网络中的网络节点可以被配置为与位于其他子网络中的节点通信。
可以使用子网掩码来从子网的分配地址空间内的IP地址中选择邻接的高阶比特的集合。子网掩码长度指示通过子网掩码选择的邻接高阶比特的数目,并且N比特的子网掩码长度在下文中表示为/N。通常,根据在给定子网络中对节点进行清楚地寻址所需的比特数目,来选择给定子网络的子网掩码长度。如这里所使用的,将“地址前缀”定义为将子网掩码应用于网络地址(诸如,IP地址)的结果。所以,地址前缀指定子网络中的网络地址的范围,并且在IPv4中,/32地址前缀对应于特定网络地址。这里,将“路由”定义为地址前缀及其相关的路径属性。路径属性一般包括定义地址前缀的特征的任何信息,并可以包括各种协议特定属性,诸如,传统的边界网络协议属性。
内部网关协议(IGP)
计算机网络可以包括可以作为独立的自治系统管理的一个或多个子网络的更小的分组。如这里所使用的,自治系统(autonomous system,AS)被广泛地构建为公共管理下的互联网络节点的集合。通常,AS由诸如公司、学术机构、或政府分支的一个管理实体管理。例如,AS可以作为企业网络、服务提供者任何其他类型的网络或子网络操作。为每个AS分配诸如唯一的AS号的唯一标识符,用于从计算机网络中的多个AS中标识出AS。
AS可以包括具有到位于相邻网络或子网络中的其他边缘设备的对等连接的一个或多个边缘设备(或“自治系统边界路由器”(ASBR))。所以,信息包通过适当的ASBR进入或离开AS。可以在逻辑上将AS分割为多个不同的“路由区域”。每个路由区域包括被配置为共享路由和拓扑信息的指定的网络节点的集合。这样,路由区域中的网络节点共享一致的网络拓扑“视图”。由于区域内、区域间、以及AS间信息的一致集合通常在AS的网络节点之间分布,所以节点可以计算通过AS的“最佳路径”的一致集合,例如,使用传统的最短路径优先(SPF)计算或其他路由计算。计算出的最佳路径对应于用于在一对源和目的地节点之间传输数据的优选数据路径。基于源和目的地节点的位置,最佳路径可以是区域内的、区域间的、或AS间的数据路径。
诸如区域边界路由器(ABR)的区域边界设备位于两个或两个以上的路由区域的逻辑边界处。因此,每个ABR设备都参与到多个路由区域中,并且通常为其参与的每个相邻路由区域保持路由和拓扑信息的独立集合。路由区域中的每个网络节点一般都保持其自身的链路状态数据库(LSDB)。LSDB被配置为存储利用节点的路由区域通告的拓扑信息。由于ABR(通过定义)参与到了多个路由区域中,所以每个ABR都为其自已的路由区域保持独立的LSDB。
位于同一个路由区域中的网络节点一般使用诸如链路状态协议的“内部网关”路由协议(IGP)来交换路由信息和网络拓扑信息。传统的链路状态协议的示例是开放式最短路径优先(OSPF)协议,该开放式最短路径优先协议在可通过互联网工程任务小组(IETF)获得的、于1998年4月公开的名为“OSPF Version2”的Request for Comments(RFC)2328中详细描述,其全部内容结合与此作为参考。
OSPF采用传统的链路状态通告(LSA)来在一组相互连接的中间网络节点(即,路由器和交换机)之间交换路由和拓扑信息。实际上,可以使用不同类型的LSA来传送路由和拓扑信息。例如,OSPF版本2说明(RFC2328)定义了以下类型的LSA:路由器、网络、汇总和AS外部LSA(Summary and AS-External LSA)。路由器和网络LSA用于在路由区域内传送链路信息。具体地,路由器LSA通告路由器接口链路(即,连接到路由器的链路)和他们的相关的开销值,而网络LSA在路由区域内通告网络接口链路(即,连接到子网络的链路)和他们的相关的开销值。
汇总和AS外部LSA用于在路由区域之间散布路由信息。汇总LSA一般由ABR生成,并用于在路由区域之间通告内部AS(“内部”)路由。首先,ABR接收在第一路由区域中通告的各种LSA。ABR通过在可能的情况下聚集路由来“汇总”所通告的路由。接着,ABR在汇总LSA中存储所汇总的路由,然后在第二路由区域中通告所汇总的路由。这样,可以使得第二区域中的节点获知可以通过ABR到达的第一路由区域中的路由。AS外部LSA存储可到达的AS间(“外部”)路由,即位于AS外部的路由的列表。AS外部LSA一般由ASBR生成,并被传播到AS的各处以标识哪些外部路由可以通过广播ASBR获得。与汇总LSA不同,通常不对存储在AS外部LSA中的路由进行聚集。
不透明LSA提供与OSPF协议一起使用的可扩展LSA格式,该不透明LSA在由R.Coltun于1998年7月出版的名为“The OSPF Opaque LSAOption”的IETE公开RFC2370中详细描述,其全部内容结合于此作为参考。如在RFC2370中所述,可以在网络节点(链路范围)之间、路由区域(区域范围)内或AS的各处(AS范围)通告(泛洪(flood))不透明LSA。尽管传统的路由器、网络、汇总、和AS外部LSA被OSPF协议说明(RFC2328)中阐述的他们各自的格式所限制,但是不透明LSA在他们能够传输什么内容方面通常是比较灵活的。例如,不透明LSA可以被配置为存储包含与在不透明LSA中通告的路由相关的所选择OSPF属性的一个或多个类型长度值(type-length-value,TLV)元组。
由S.Mirtorabi等于2005年8月公开的名为“Extensions to OSPFv2forAdvertising Optional Route/Link Attributes”的互联网草稿公开<draft-mirtorabi-ospf-tag-01.txt>(其全部内容结合于此作为参考)描述了可以被用于传输至少一个区域间/外部路由属性TLV(RA-TLV)的OSPF路由器属性(RA)不透明LSA。RA-TLV可以包含被编码为RA-TLV内的子TLV的一个或多个路由属性。当前,RA-TLV仅被用于传输包含与RA不透明LSA中所通告的OSPF路由相关的OSPF标签、扩展标签、以及多拓扑标识符的子TLV。
PE-CE网络拓扑
虚拟专用网(VPN)是在共享骨干网上建立专用通信的网络节点的集合。以前,VPN通过在共享网络中嵌入专用线(leased line)来实现。可以仅为参与到VPN中的这些网络节点中的网络流量预留专用线(即,通信链路)。今天,上述的VPN实现方式基本已经被公用网络中采用的专用“虚拟电路”所取代。具体地,每个虚拟电路都定义参与到VPN中的一对网络节点之间的逻辑的端到端数据路径。
属于相同VPN的网络节点可以位于不同的子网络或“客户现场(customer site)”中。每个客户现场可以参与到一个或多个不同VPN中,尽管大多数情况下每个客户现场只与一个VPN相关,并且在下文中,说明性的实施例将假设客户现场和VPN之间是一对一的对应关系。例如,可以在统计上将由共同的管理实体(诸如,集团企业)拥有或管理的客户现场分配到企业的VPN。这样,位于企业的不同客户现场的网络节点参与到相同的VPN中,从而被允许安全地相互通信。
客户现场一般通过服务提供者网络(“提供者网络”)相互通信。提供者网络是用作骨干网络的AS,通过该提供者网络可以在客户现场之间交换VPN信息。提供者网络可以包括用作位于提供者网络的逻辑外边缘处的ASBR的提供者边缘(PE)设备、以及位于提供者网络的内部(“核心”)的提供者(P)设备。因此,每个客户现场都包含耦合至提供者网络中的PE设备的至少一个客户边缘(CE)设备。客户现场可以多宿(milti-homed)到提供者网络,即,其中,一个或多个客户的CE设备被耦合至多个PE设备。PE-CE数据链路可以在诸如传统的有线链路、光学链路、无线链路等的各种物理介质上建立,并可以传送使用包括ATM、帧中继、以太网、光纤分布数据接口(FDDI)等的各种网络通信协议格式化的数据。
在普及的VPN配置中,提供者网络通常通过利用了IP和/或多协议标签交换(MPLS)技术的层3基于网络的VPN服务来提供客户现场。通常说,这些网络提供“MPLS/VPN”服务。这种广泛采用的MPLS/VPN结构在由E.Rosen等于1999年3月公开的名为“BGP/MPLS VPNs”的IETF公开RFC2547中更详细地描述,其全部内容结合于此作为参考。
最一般地,PE和CE设备被配置为根据边界网关协议(BGP)在他们各自的PE-CE数据链路上交换路由信息。BGP协议是公知的,并在由Y.Rekhter和T.Li于1995年3月公开的名为“A border Gateway Protocol4(BGP-4)”的RFC1771中描述,其全部内容结合于此作为参考。通常使用BGP协议的变形(公知为内部BGP(iBGP))来在提供者网络中的PE设备之间分配路由和可到达性信息。为了实现iBGP,PE设备必须是“完全网状的”,以使每个PE设备都(例如)通过传输控制协议(TCP)连接而耦合至每个其他PE设备。本领域技术人员将理解,完全网状的PE设备可以直接连接,也可以通过(例如)一个或多个传统的BGP路由反射器耦合。
BGP使能的PE和CE设备基于BGP路由策略执行包括发送和接收BGP消息以及提交路由决定的各种路由功能。每个BGP使能的设备都保持有列出了去往可到达(即,可访问)的网络节点和子网络的可行路由的本地BGP路由表。BGP表还可以将一个或多个BGP属性与其存储的每条路由相关联。例如,可以将传统的BGP AS路径属性与BGP路由相关联,以标识出可以用来到达那条路由的特定AS路径。通常,AS路径由AS号的有序序列标识表示,这些AS号对应于为了到达路由的相关联的节点或子网络必须经过的AS。
尽管最常见在PE-CE数据链路上执行BGP,但是也可以使用其他协议来在客户现场CE设备和提供者网络PE设备之间交换路由和拓扑信息。例如,由Rosen等于2005年11月公开的名为“OSPF as theProvider/Customer Edge Protocol for BGP/MPLS VPNs”的互联网草稿公开<draft-ietf-13vpn-ospf-2547-05.txt>(其全部内容结合于此作为参考)描述了一种在PE-CE链路上执行OSPF的实施方式。在这种情况下,PE设备用作用于包含CE设备的客户现场的ABR,所以PE设备既保持包含客户现场的IGP拓扑信息的OSPF LSDB,也保持包含(例如)已经经由iBGP在提供者网络内分配的BGP路由的BGP表。
路由环
诸如OSPF和BGP的路由协议一般执行用于选择向目的地节点或子网络传输数据的优选数据路径的“最佳路径”计算。所以,两个或两个以上的网络或子网络可能会选择彼此作为到达某个目的地的最佳路径。在这种情况下,如果寻址到那个目的地的数据在该两个或两个以上的网络或子网络中循环并且可能从来没有实际到达其想要到达的接收者,则该“路由环”会产生。传统的路由环的实例如图1中所示。
图1示出了包括耦合到两个客户现场120和130(分别标记为“A”和“B”)的提供者网络AS1110的示例性网络100。这里,客户现场A和B参与到同一个VPN中,例如VPN1,从而通过提供者网络110相互通信。如图所示,客户现场120包括分别耦合到提供者网络中的PE设备115a和115b(PE1和PE2)的CE设备125a和125b(CE1和CE2)。另外,客户现场130包括耦合到提供者网络中的PE设备115c(PE3)的CE设备135c(CE3)。
假设CE3在PE3-CE3数据链路上通告指示CE3可以到达目的地前缀(prefix)“X”的消息。PE3接收所通告的前缀,然后例如在iBGP更新消息中依次向提供者网络中的设备PE1和PE2分发所通告的前缀。在PE1接收到iBGP通告后,PE1在PE1-CE1数据链路上通告前缀X,从而向客户现场120中的节点发送指示可以经由PE1到达前缀X的信号。然后,使用适当的IGP协议在客户现场120内分发前缀X。CE2可以在PE2-CE2数据链路上通告其可以到达前缀X。响应于接收CE2的通告,PE2可以将这个可到达性信息分发给提供者边缘设备PE1和PE3。尽管图1示出了沿着连续数据流CE3-PE3-PE1-CE1-CE2-PE2-PE1通告的前缀X,但是前缀X也可以沿着类似的环路(未示出)CE3-PE3-PE2-CE2-CE1-PE1-PE2通告。
作为上述通告的结果,客户现场120中的网络节点变得意识到可以通过PE1到达前缀X,并且PE1变得意识到可以经由PE2或PE3到达前缀X。在这种情况下,如果在PE1处执行的最佳路径计算确定寻址到目的地前缀X的数据应该经由PE2被路由到客户现场120而不是通过PE3直接将数据路由的客户现场130,则路由环可能产生。所以,寻址到前缀X的数据可以被在AS1和客户现场120之间向前或向后传,例如,围绕路由环CE1-PE2-PE2-CE2-CE1。
在以上结合的名为“OSPF as the Provider/Customer Edge Protocol forBGP/MPLS IP VPNs”的互联网草稿公开<draft-ietf-13vpn-ospf-2547-05.txt>中描述了一种用于在PE-CE数据链路上执行OSPF的情况下防止路由环的解决方案。所提出的解决方案依靠用于标识一个或多个所通告的路由已经在何时被从PE设备通告到CE设备的OSPF路由标记。因此,当在PE设备处接收到包含所通告的路由和对应于OSPF路由标记的LSA时,该PE设备可以识别路由标记并确定所接收的路由先前已经被提供者网络中的PE设备通告过。基于这个确定,PE设备可以得出这样的结论:所接收的路由不应该被通过提供者网络再次传送。
这个已知的OSPF路由标记解决方案遭受了这样的缺点:在PE-CE数据链路上交换汇总LSA是不适当。更具体地,汇总LSA没有被以这样的方式格式化:使汇总LSA能够传输OSPF路由标记。相反,路由标记通常在携带外部路由信息的AS外部LSA中传输。所以,这个解决方案通常是不期望的,因为他排除了对用于在PE-CE链路上通告内部路由的汇总LSA的使用,从而不允许传统上使用的用于减少在OSPF路由区域中处理的路由数目的传统的路由聚合技术。另外,本领域技术人员将理解,OSPF外部路由标记解决方案没有牵涉到多宿网络。
在由Rosen等于2004年3月公开的名为“Using an LSA Options Bit toPrevent Looping in BGP/MPLS IP VPNs”的互联网草稿公开<draft-ietf-ospf-2547-dnbit-04.txt>中(其全部内容结合于此作为参考)描述了用于在PE-CE数据链路上执行OSPF的情况下防止路由环的另一种解决方案。这种解决方案提出使用传统的LSA选项字段中的最高比特,即“DN”比特来指示OSPF LSA已经被从PE设备通告给了CE设备。由于每个LSA都传输LSA选项字段,所以这个DN比特解决方案不仅限于AS外部LSA。当PE设备接收到其DN比特为“设置”的LSA时,从PE设备的SPF计算中排除在所接收的LSA中传输的路由信息(例如,OSPF LSDB中没有存储LSA)。这样,没有在PE设备的路由表中安装LSA的所通告的路由。通过这种方式,没有将未安装的路由重新分配到提供者网络的BGP表中,从而确保了不会在提供者网络和包含CE设备的客户现场之间产生路由环。
图2示出了其中采用了DN比特解决方案来防止路由环的示例性网络100。首先,CE3在PE3-CE3数据链路上通告前缀X。PE3接收所通告的前缀X,然后在(例如)iBGP更新消息中将该前缀通告给设备PE1和PE2。在PE1接收到iBGP通告后,PE1在PE1-CE1数据链路上通告包含前缀X的传统的OSPF LSA。然而,根据这个DN比特解决方案,PE1设置所通告的LSA中的DN比特,以指示可以通过提供者网络到达前缀X。在客户现场120的各处分布其DN比特被设置了的LSA。CE2可以在PE2-CE2链路上将LSA转发给提供者网络110。然而,由于在LSA中设置DN比特,所以PE2可以确定LSA是由提供者网络中的另一个PE设备(PE1)生成的。在作出这个确定之后,PE2不在其路由表中安装前缀X,从而防止了在客户现场120和提供者网络110之间产生任何潜在的路由环。也就是说,客户现场120中的网络节点知道可以经由PE1到达前缀X,并且PE1仅知道可以经由PE3到达前缀X。
尽管这种用于防止路由环的传统的DN比特解决方案在很多网络拓扑中都工作良好,但是其在具有没有被配置为相互直接通信的多个提供者网络(AS)的拓扑中遭受了各种问题,例如,由于契约条款或缺少网络连通性。例如,考虑图3中所示的示例性网络300。这里,提供者网络AS1310耦合到参与到相同VPN(例如,VPN1)中的客户现场330、340、和350(分别标记为“A”、“B”、和“C”)。另外,客户现场340和350也耦合至第二提供者网络AS2320。在这种情况下,提供者网络AS1可以用作主(primary)互联网服务提供者(ISP),而提供者网络AS2用作备用ISP,在去往AS1的PE-CE链路失效的情况下,客户现场330-350可以通过该备用ISP通信。注意,AS1和AS2没有被配置为直接相互通信。
如图所示,客户现场330包括耦合至位于AS1中的PE设备315a(PE1)的CE设备335a(CE1)。另外,AS1还包括耦合至位于客户现场340中的CE设备345b、并耦合至耦合到位于客户现场350中的CE设备355c(CE3)的PE设备315c(PE3)的PE设备315b(PE2)。另外,客户现场340中的CE设备345d(CE4)耦合至AS2中的PE设备325d(PE4),并且客户现场350中的CE设备355e(CE5)耦合至AS2中的PE设备325e(PE5)。进一步假设每条PE-CE数据链路都被配置为执行OSPF。
在这种说明性的拓扑中,CE1可以向PE1通告可以经由CE1到达前缀X。作为响应,PE1在(例如)iBGP更新消息中将前缀X传送到设备PE2和PE3。接着,PE2和PE3中的每一个都可以将包含前缀X的LSA通告给用户边缘设备CE2和CE3。根据传统的DN比特技术,在PE2-CE2和PE3-CE3数据链路上所通告的LSA使得他们的DN比特被设置为预定值,以指示可以通过PE设备到达前缀X。当在PE4-CE4和PE5-CE5数据链路上转发LSA时,提供者边缘设备PE4和PE5注意到在所接收的LSA中设置了DN比特,从而从他们的OSPF和BGP路由表中排除前缀X。结果,客户现场340和350没有获知可以经由ISP AS2到达前缀X。换言之,对于ISP AS2而言AS2的备用连通性被“破坏”了,因为仅使客户现场340和350获知可以通过主ISP AS1到达前缀X。
例如,在PE2-CE2链路失效的情况下,客户现场340不知道可以可选地通过AS2到达前缀X,例如,经由备用数据路径CE4-PE4-PE5-CE5-CE3-PE3-PE1-CE1。类似地,如果PE3-CE3数据链路失效,则客户现场350不知道可以通过AS2到达前缀X,例如,经由备用数据路径CE5-PE5-PE4-CE4-CE2-PE2-PE1-CE1。
在具有没有被配置为相互通信的多个提供者网络的网络中,如图3中所示,通常期望在不破坏拓扑的备用连通性的条件下执行路由环防止技术。该技术不应该被局限于在PE-CE链路上发送的AS外部LSA,而相反应该可以利用在PE-CE数据链路上发送的任何类型的OSPF LSA操作。
发明内容
本发明通过提供一种通过在OSPF配置的网络中散布BGP属性信息来防止路由环的新技术克服了现有技术的缺点。具体地,引入了新的OSPF子TLV,用于通过OSPF配置的网络传输传统的BGP AS路径属性。像BGP AS路径属性一样,OSPF AS路径子TLV被配置为存储对应于一条或多条所通告的路由的AS路径的AS号的集合。当网络设备接收到包含新AS路径子TLV的OSPF LSA时,该网络设备确定其是否位于AS号被存储在所接收的子TLV中的自治系统中。如果是,则该网络设备确定LSA的所通告的路由已经预先被通告给了自治系统,所以该网络设备不在其路由表中安装该些路由,因为如果安装这些路由的话,可能会造成多个自治系统之间的路由环。然而,如果该网络设备确定其自治系统的AS号没有被存储在所接收的AS路径子TLV中,则该网络设备可以在其路由表中安装LSA的所通告的路由,然后将这些路由传播到其他自治系统。在这种情况下,可以沿着存储有包括该网络设备的自治系统的AS号的AS路径的更新后的AS路径子TLV传送路由。在这种方式中,可以将LSA的所通告的路由传送通过多个自治系统,而不会造成作为他们的传送结果的路由环。
有利地,新的AS路径子TLV可以被用于在不破坏具有多个没有被配置为相互通信的自治系统的网络中的备用连通性的情况下防止路由环。例如,与现有实施方式不同,本发明的技术可以在路由被从第一客户现场通告到主AS、进而通告到第二客户现场、然后通告到不与初始AS通信的次(“备用”)AS时防止路由环产生。更一般地,该技术可以被用来防止单AS和多AS环境中的路由环。另外,本发明的技术可以被用于防止在OSPF路由区域中通告的内部和外部路由的路由环。
附图说明
通过结合附图参考以下描述,可以更好地理解本发明的上述及其他优点,其中,相同的参考标号指示相同或功能类似的元件,其中:
前面描述的图1是其中可能产生路由环的示例性计算机网络;
前面描述的图2是被配置为在PE-CE数据链路上执行OSPF协议的示例性计算机网络,其中,在PE-CE数据链路上采用了DN比特解决方案来防止路由环;
前面描述的图3是其中的传统DN比特解决方案没有有效防止路由环的示例性网络拓扑,其中,该拓扑包括没有被配置为相互直接通信的多个提供者网络;
图4是其中可以优选地采用本发明的说明性实施例来防止路由环的示例性计算机网络;
图5是可以被用于在其他事物中传输根据说明性实施例的新的AS路径子TLV的示例性OSPF LSA;
图6是可以被用于在其他事物中传输根据说明性实施例的BGP AS路径属性的示例性BGP更新消息;
图7是可以被优选地在本发明的说明性实施例中采用的示例性PE设备的示意性框图;
图8是示出根据说明性实施例的可以被示例性PE设备用来在OSPF和BGP协议之间重新分配路由和AS路径信息的示例性软件程序配置的示意性框图;
图9是示出根据说明性实施例的可以由被配置为通告OSPF路由及其相关的AS路径子TLV的网络设备执行的步骤序列的流程图;以及
图10是示出根据说明性实施例的可以由网络设备执行用来防止路由环的步骤序列的流程图。
具体实施方式
图4示出了可以采用本发明的说明性实施例的示例性计算机网络400。网络400包括第一提供者网络AS1410和第二提供者网络AS2420。提供者网络AS1和AS2没有被配置为相互直接通信,例如,由于合同协议或缺乏连通性。示例性网络400还包括参与到同一个VPN(例如,VPN1)中的一组客户现场430、440、和450(分别标记为“A”、“B”、和“C”)。客户现场430-450中的每一个都耦合至AS1,该AS1用作用于在VPN1客户现场中交换数据的“主”ISP。另外,客户现场440和450还耦合至AS2,该AS2用作在去往AS1的PE-CE链路失效的情况下的“备用”ISP。
如图所示,客户现场430包括耦合至位于AS1中的PE设备700a(PE1)的CE设备470a(CE1)。另外,AS1还包括PE设备700b(PE2),PE设备700b(PE2)耦合至位于客户现场440中的CE设备470b(CE2)并耦合至与位于客户现场450中的CE设备470c(CE3)耦合的PE设备700c(PE3)。另外,客户现场440中的CE设备470d(CE4)耦合至AS2中的PE设备700d(PE4),并且客户现场350中的CE设备470e(CE5)耦合至AS2中的PE设备700e(PE5)。数据链路PE1-CE1460a、PE2-CE2460b、PE3-CE3460c、PE4-CE4460d、以及PE5-CE5460e中的每一条都优选地被配置为适应OSPF协议的执行,并且设备PE1-PE5中的每一个都用作为用于其各自的相邻OSPF配置的客户现场430-450的ABR设备。
在所示拓扑中,CE1可以向PE1通告OSPF LSA500a,指示可以经由CE1到达前缀X。作为响应,PE1在(例如)iBGP更新消息(下文中称为“BGP更新消息”)中向其他完全网状的设备PE2和PE3传送前缀X。BGP更新消息可以被直接发送到PE2和PE3,或可以使用传统的路由反射器被转发,如现有技术中已知的。为了说明和解释的简洁,仅示出了BGP更新消息600a被转发到PE2。在接收到消息600a后,PE2可以向CE2通知可以通过PE2到达前缀X。至此,PE2可以在OSPF LSA500b中将前缀X转发到CE2。
与现有的实施方式不同,PE2可以被配置为在LSA500b中存储诸如AS路径信息的BGP路径属性信息。根据本发明,AS路径信息可以被用于防止路由环。更具体地,LSA500b包括被配置为存储在OSPF配置的PE2-CE2数据链路460b上传统的BGP AS路径属性的新的OSPF子TLV550b。像传统的BGP AS路径属性一样,OSPF AS路径子TLV被配置为存储对应于一条或多条所通告的路由的AS路径的AS号的集合。因此,在这种情况下,子TLV550b存储提供者网络AS1的AS号,因为LSA500b正在被位于AS1中的PE1通告。
CE2从PE2接收LSA500b,并将该LSA散布到OSPF配置的客户现场400的各处。注意,客户现场440可以包含通过其可传送LSA500b的一个或多个路由区域。当CE4接收到LSA500b时,它在PE4-CE4数据链路上将LSA转发到位于AS2中的PE4。根据说明性实施例,PE4被配置为将前缀X及其相关的AS路径信息通告到AS2中的其他PE设备,只要AS2的AS号没有包括在前缀的AS路径中。在这种情况下,AS路径子TLV550b指示用于前缀X的AS路径仅包括AS1,所以子TLV不存储PE4所在的提供者网络AS2的AS号。由于AS2的AS号没有被存储在所接收的AS路径子TLV550b中,所以PE4将BGP更新消息600b中的前缀X和传统的BGP AS路径属性650b一起通告到提供者网络AS2中的其他完全网状的PE设备。BGP属性650b存储在AS路径子TLV550b中所接收的AS号的相同列表,从而仅存储AS1的AS号。
响应于接收BGP更新消息600b,PE5可以将前缀X及其AS路径信息存储在OSPF LSA500c中并将LSA500c发送到客户边缘设备CE5,从而向CE5发出用于通知可以通过PE5到达前缀X的信号。因此,PE5包括LSA500c中的新的AS路径子TLV550c,其中,该AS路径子TLV550c存储有与所通告的前缀X相关的AS路径。优选地,PE5通过向已经存储在所接收的BGP AS路径属性650b中的AS号列表前置添加提供者网络AS2的AS号,来生成AS路径子TLV550c。所以,在这个示例中,子TLV550c传输AS号的有序序列{AS2,AS1}。当然,本领域技术人员将理解,AS号不需要像本文中的说明性描述的那样被顺序前置,更一般地,可以以各种顺序或无序的方式将AS号的集合列在AS路径子TLV中。
在接收到OSPF LSA500c后,CE5将LSA500c散布到客户现场450的各处。CE3接收LSA500c,并在PE3-CE3数据链路460c上将其转发到PE3。根据说明性实施例,PE3确定所接收的AS路径子TLV550c是否包括对应于AS1(即,PE3所在的提供者网络)的AS号。在这种情况下,由于AS路径子TLV550c包含AS1的AS号,所以PE3确定前缀X(由LSA500c传输)已经被预先通告到了提供者网络AS1的各处。因此,PE3不在其路由表中安装前缀X,以防在网络400中产生潜在的路由环。尽管按照CE1-PE1-PE2-CE2-CE4-PE4-PE5-CE5-CE3-PE3的顺序描述了上述数据流,但是本领域技术人员将明白,类似地,PE2可以根据本发明识别潜在路由环,如果PE2接收到前缀X和包含AS1的AS号的AS路径子TLV,其中,数据流为CE1-PE1-PE3-CE3-CE5-PE5-PE4-CE4-CE2-PE2。
注意,如参考图2和图3所描述的,本发明可以与DN比特一起使用。具体地,DN比特通过从SPF计算中排除利用出口边界路由器(例如,PE设备)设置的DN比特接收的任何所通告的前缀,来防止路由环的发生。如上所述,这个解决方案的一个问题在于,在各种网络配置(诸如,图3和图4的备用服务提供者配置)中可能发生不必要的排除。通过继续利用DN比特,本发明通过使在接收AS路径子TLV550LSA500之前接收DN比特LSA的PE设备排除(可能不必要)一个或多个可到达的地址前缀(例如,前缀X)来“改善”DN比特性能。然而,一旦AS路径子TLV550LSA500被接收,则基于AS路径子TLV的在其路由表中排除/包括前缀(X)的决定取代了基于DN比特的任何决定。换句话说,如果DN比特排除适当,则不进行改变,但是如果不适当,则需要相应地添加前缀。
图5示出了根据说明性实施例的可以被用于传输新的AS路径子TLV550的示例性OSPF LSA500。LSA500可以被格式化为以上结合的名为“The OSPF Opaque LSA Option”的RFC2370中定义的类型10不透明LSA。除其他事项外,不透明LSA500包括LSA头部510和一个或多个TLV(诸如,在以上结合的名为“Extensions to OSPFv2for advertisingOptional Route/Link Attributes”的IETF互联网草稿公开<draft-mirtorabi-ospf-tag-01.txt>中更加详细描述的RA-TLV530)。LSA500还可以存储链路状态信息和图5中未明确示出的其他TLV。本领域技术人员将理解,尽管这里描述了类型10不透明LSA,但是根据本发明可以使用其他类型。
LSA头部510包括链路状态(LS)年龄字段512、LSA选项字段514、LS类型字段516、不透明类型字段518、实例字段520、通告路由器字段522、LS序列号字段524、LS校验和字段526、以及长度字段528。LS年龄字段512存储可以被用于确定LSA500是否有效的例如以秒计的年龄值。该年龄值通常被初始化为零,并以例如每秒加一的速度增大,直到达到预定的最大值,从而指示LSA已经变得无效。选项字段514存储可以被用于用信号通知LSA的通告路由器是否支持某些性能的多个标记值。例如,一个标记可以指示通告路由器是否被配置为接收和转发不透明LSA。
类型字段516等于10,以指示LSA500具有区域宽的范围,从而不能泛洪超过其最初泛洪的路由区域。不透明类型字段518存储将LSA500标识为标签映射LSA的值。如果OSPF的多个实例在同一条数据链路460上执行,则实例字段520存储标识特定OSPF实例的值,其中,LSA500为该特定OSPF实例传输链路状态信息。通告路由器字段522存储用于标识生成并最初广播LSA500的路由器的值(诸如,回送IP地址)。LS序列号字段524存储指示LSA的相关版本的序列号。一般,对于LSA的每个新版本,序列号增加(例如)1。LS校验和字段526存储可以被用于使LSA的内容有效的校验和(或其他数据完整性校验)。长度字段528(例如)以字节存储LSA500的长度。
除其他事项外,RA-TLV530包括TLV类型字段532、TLV长度字段534、链路状态标识符(ID)字段536、保留比特538、前缀长度字段540、保留字段542、以及AS路径子TLV550。TLV类型字段532存储指示存储在RA-TLV530中的路由属性信息的类型(例如,区域间或外部路由属性)的值。TLV长度字段534存储RA-TLV的长度(例如,以字节)。链路状态ID字段536存储域在RA-TLV中传输的路由属性相关的数据链路的地址前缀。前缀长度字段540存储在链路状态ID字段536中存储的前缀的长度。保留比特538和保留字段542当前未被使用。
RA-TLV530可以被配置为存储诸如新的AS路径子TLV550的一个或多个子TLV。尽管AS路径子TLV550优选地被格式化为RA-TLV530中的子TLV,但是还可以清楚地预见,AS路径子TLV可以可选地被格式化为其他类型的OSPF TLV中的子TLV。另外,在一些实施例中,AS路径子TLV可以被格式化为实际TLV而不是子TLV。AS路径子TLV550被配置为尤其存储子TLV类型字段552、子TLV长度字段554、以及一个或多个AS号的列表556。子TLV类型字段552存储将AS路径子TLV标识为包含AS路径信息的值。子TLV长度字段554存储AS路径子TLV550的长度(例如,以字节)。AS号的列表556指示与存储在链路状态ID字段536中的地址前缀相关的AS路径。注意,该列表优选地是AS号的有序序列556,尽管该列表可选地可以基于特定实施方式而被配置为存储无序列表。
图6示出了根据说明性实施例的可以被使用的示例性BGP更新消息600。更新消息600包括BGP头部610、撤销的路由的集合620、路径属性的集合630、以及网络层可达信息(NLRI)的集合640。除其他事项外,BGP头部610可以被配置为存储消息600的长度(以字节)、将消息标识为BGP更新消息的类型值(例如,等于2)、以及传统的16字节BGP标志(如本领域公知的)。该撤销的路由的集合620被配置为存储不再可以通过发送PE设备到达的零个或零个以上的地址前缀。例如,PE设备可以响应于拓扑改变而提取一个路由集,诸如失效的数据链路或网络节点,从而导致网络流量变得不可能通过撤销的路由访问。相反,NLRI640指定对于发送PE设备来说可到达(即,可访问)的零个或零个以上的地址前缀。例如,在示例性的更新消息600中,NLRI存储前缀X645。
路径属性的集合630被配置为存储描述存储在NLRI640中的前缀的特性的零个或零个以上的属性。在该上下文下,路径属性通常是可以与NLRI前缀相关的任何性质或特性。例如,路径属性的集合可以包括携带与存储在NLRI中的前缀相关的AS路径信息的AS路径属性650。AS路径属性650包括属性标记的集合652、代码字段654、长度字段656、以及一个或多个AS号的列表658。属性标记的集合652是公知的,并且在以上结合的RFC1771中被更加详细地描述。代码字段654存储用于将BGP属性标识为包含AS路径信息的值。长度字段656存储属性650的长度(例如,以字节)。AS号的列表658可以包含描述存储在NLRI640中的前缀的AS路径的AS号的有序或无序集合。注意,其他BGP路径属性和他们的格式一般也是公知的,并被在以上结合的RFC1771中更加详细地描述。
图7是可以优选地用在说明性实施例中的示例性PE设备700的示意性框图。为了说明和描述的简单,在通用硬件平台上对PE设备700进行说明。然而,在说明性实施例中,PE设备可以包含通过交换结构(即,背板逻辑和电路)与路由处理引擎相互连接的多个线卡。因此,本领域技术人员将明白,所描述的PE设备仅是示例性的,本发明的优点可以在具有各种软件性能的不同硬件平台上实现。
PE设备700包括通过系统总线790互相连接的多个网络接口710、处理器720、以及存储器740。网络接口720包括用于在耦合到计算机网络400中的其他网络节点的物理链路上传送数据的机械的、电的、以及信令的逻辑和电路。网络接口可以被配置为使用各种不同的通信协议传送和/或接收数据,尤其包括TCP/IP、异步传输模式(ATM)、用户数据报协议(UDP)、同步光纤网(SONET)、同步数字体系(SDH)、各种无线协议、帧中继、以太网(Ethernet)、光纤分布数据接口(FDDI)等。
存储器740包括可以被处理器720和网络接口710寻址的多个存储位置。存储器存储位置适用于存储与本发明相关的程序代码和数据结构。处理器720包括适用于执行程序代码和处理数据结构的电路和逻辑。
存储器740优选地包括一种形式的一般通过功率循环或其他重新启动操作进行清除(例如,其是“易失”存储器)的随机存取存储器(RAM)。本领域技术人员将明白,存储器740还可以包括其他存储器装置(包括用于存储涉及PE设备700的操作的程序指令和数据结构的各种计算机可读介质)。另外,本领域技术人员将明白,存储器740的至少一部分可以被具体化为从远程存储器元件传送到PE设备700的电磁信号。
除其他事项外,存储器740存储用于执行路由操作系统750(尤其通过对PE设备700在功能上进行组织)、调用支持在PE设备中执行的软件处理和服务的网络操作的计算机可读指令。Cisco系统公司的IOSTM是这种路由操作系统750的一个示例。路由操作系统支持的软件处理和服务包括BGP处理760、OSPF处理770、以及导入(import)/导出(export)处理780(例如,本领域技术人员将理解的,说明性地与路由表775一起执行)。BGP处理包括使能处理器720实现外部BGP(eBGP)和内部BGP(iBGP)功能的计算机可执行指令。BGP处理760可以被配置为管理列出对于PE设备700来说可通过相邻的客户现场到达(即,访问)的所有可行路由的BGP表765的内容。此外,BGP“路由”包括地址前缀及其相关的BGP路径属性。
PE设备700可以对其耦合到的每个VPN执行独立的OSPF处理770。为了简单,说明性的客户现场430-450中的每一个都参与到了同一个VPN(例如,VPN1)中。因此,说明性的PE设备700a-e中的每一个都仅执行用于管理VPN1中的可到达性信息的一个OSPF处理770。OSPF处理770可以被配置为管理包含链路状态信息的LSDB772(例如,用于VPN1)。更具体地,LSDB可以被配置为存储VPN中的可到达的目的地(节点、网络、或子网络)集合,并可以被进一步配置为存储与去往可到达目的地的数据链路相关的传统OSPF开销度量。另外,对于每个可到达的目的地,LSDB772还可以被配置为存储一个或多个相关的OSPF TLV或子TLV,诸如,AS路径子TLV550。
图8示出可以用于在路由表775和BGP表765之间重新分配路由的示例性处理配置800的示意性框图。例如,当在PE设备700处接收到OSPFLSA500时,OSPF处理770在LSDB772中的适当条目中存储LSA的所通告的前缀(例如,前缀X)。OSPF处理770还在LSDB中存储任何OSPF开销度量或其他链路状态信息,诸如,在LSA500中接收的AS路径子TLV550。在LSDB772中安装所通告的OSPF路由后,OSPF处理770可以执行最短路径优先(SPA)计算,以计算去往存储在路由表775中的VPN1中的可到达的目的地的最佳路径(例如,最低开销路径)。在这种情景下,每条“最佳路径”都是标识去往可到达的目的地的优选数据路径的路由。注意,由于在LSDB中存储前缀和AS路径信息以及在路由表中存储路由的相互关系,可以交替地使用他们,如本领域技术人员将可以理解的。换言之,通过从LSDB772(或者,从路由计算)中排除LSA,本发明排除了对基于路由表775中的被排除LSA的路由的存储。
导入/导出处理780将来自路由表775的计算出的OSPF最佳路径重新分配到BGP表765中。至此,导入/导出处理可以(例如)通过添加适当的路由识别符(RD)值(如每RFC2547),来将OSPF路由转换为功能上等效的BGP路由。导入/导出处理780还可以将OSPF最佳路径的OSPFAS路径子TLV550转换为可以被存储在BGP表765中的功能上等效的BGP AS路径属性650。
当在PE设备700处接收到BGP更新消息600时,BGP处理760在BGP表765中存储所通告的BGP路由和他们的相关的BGP AS路径属性650。BGP处理760可以为存储在BGP表中的可到达的路由确定BGP最佳路径的集合。然后,导入/导出处理780可以将来自BGP表765中的BGP最佳路径和他们的相关的BGP AS路径属性650重新分配到路由表775中。具体地,导入/导出处理780可以通过将BGP路由和他们的相关的BGP AS路径属性转换为可以被存储在路由表775中的功能上等效的OSPF路由和OSPF AS路径子TLV来重新分配BGP最佳路径。
根据说明性实施例,OSPF处理770被配置为通过基于存储在路由的相关AS路径子TLV550中的AS路径信息有选择地在路由表775中安装OSPF路由来防止路由环。更具体地,当PE设备700接收到包含AS路径子TLV550的OSPF LSA500时,PE设备的OSPF处理770确定PE设备是否位于其AS号被存储在所接收的AS路径子TLV550中的自治系统中。如果是,则OSPF处理确定LSA的所通告的OSPF路由已经被预先通告给该自治系统,所以OSPF处理不在其路由表775中安装该些路由,因为如果安装这些路由的话会导致路由环。这样,所接收的OSPF路由被从路由表(和SPF计算)中排除,并不被重新分配到BGP中用于将来传送通过自治系统。注意,OSPF处理还可以被配置为基于如上所述的附加的DN比特性能来防止暂时的路由环。
另一方面,如果OSPF处理770确定PE设备的自治系统的AS号没有被存储在所接收的AS路径子TLV550中,则OSPF处理可以在路由表775中安装LSA的所通告的OSPF路由。在这种情况下,所安装的OSPF路由和他们的相关的AS路径子TLV可以(例如)通过导入/导出处理780被重新分配到BGP表765中。重新分配的路由可以在BGP更新消息600中被传送到自治系统中的其他完全网状的PE设备700。随后接收BGP更新消息600的PE设备700可以在其本地BGP表中存储所通告的BGP路由,将所接收的BGP路由重新分配到其本地OSPF路由表中,然后将重新分配的路由通告给相邻的OSPF配置的CE设备。在这种场景中,PE设备优选地向CE设备发送包含更新的AS路径子TLV550的LSA500,其中,该更新的AS路径子TLV存储有包括PE设备的自治系统的AS号的AS路径。
图9示出了根据说明性实施例的可以由PE设备700(例如,作为出口PE设备)执行的步骤序列。该序列在步骤900开始,并进行到步骤910,在步骤910,在PE设备处接收包含至少一个所通告的BGP前缀645和相关的BGP AS路径属性650的BGP更新消息600。在步骤920,BGP处理760将所接收的BGP前缀和AS路径属性存储在BGP表765中。接着,在步骤930,导入/导出处理780将前缀和AS属性重新分配到OSPF路由表775中。对此,BGP前缀可以从VPN-IPv4BGP前缀转换为传统的OSPFIPv4前缀,并BGP AS路径属性可以转换为功能上等效的OSPF AS路径子TLV550。在步骤940,在PE设备700中执行的OSPF处理770生成被配置为存储重新分配的OSPF前缀和其相关的AS路径子TLV的LSA500。注意,PE设备还可以通过将PE设备的提供者网络的AS号前置添加到存储在AS路径子TLV中的AS号列表中来更新存储在AS路径子TLV中的AS路径信息。在步骤950,OSPF处理经由OSPF配置的PE-CE数据链路460,将LSA500转发到CE设备470。在步骤960,该序列终止。
图10示出了根据说明性实施例的PE设备700(例如入口PE设备)可以执行的用于防止路由环的步骤序列。该序列在步骤1000开始,并进行到步骤1010,在步骤1010,PE设备接收包含至少一个前缀和存储用于该至少一个前缀的AS路径信息的相关的AS路径子TLV550的一个或多个OSPF LSA500。在步骤1020,在PE设备中执行的OSPF处理770确定所接收的AS路径子TLV是否存储有包含该PE设备的提供者网络的AS号。如果是,则该序列进行到步骤1030,在步骤1030,OSPF处理确定路由已经被通告到提供者网络的各处,所以PE设备不在其路由表775中安装该路由;该序列在步骤1080终止。
另一方面,如果在步骤1020,PE设备700确定所接收的AS路径子TLV550没有存储包含PE设备的提供者网络的AS号,则在步骤1040,在PE设备中执行的OSPF处理770在路由表775中存储所通告的路由(例如,存储来自LSDB772中的LSA的前缀及其AS路径信息)。(注意,在路由表中存储所通告的路由可以取代先前的基于DN比特的决定,以排除该路由)。然后,在步骤1050,导入/导出处理780将前缀和AS路径信息重新分配到BGP表765中。在步骤1060,在PE设备中执行的BGP处理760生成包含重新分配的前缀和存储该路由的相关的AS路径信息的BGP AS路径属性650的BGP更新消息600。在步骤1070,BGP处理将所生成的BGP更新消息600转发到PE设备的提供者网络中的其他PE设备。在步骤1080,该序列终止。
有利地,新的AS路径子TLV可以被用于在不破坏具有多个没有被配置为相互通信的自治系统的网络中的备用连通性的条件下防止路由环。例如,与现有实施方式不同,本发明的技术可以防止在路由被从第一客户现场通告到主AS、从主AS通告到第二客户现场、然后从第二客户现场通告到不与主AS通信的次(“备用”)AS时的路由环的产生。更一般地,该技术被用来防止单AS和多AS环境中的路由环。另外,本发明的技术可以被用于防止在OSPF路由区域中所通告的内部和外部路由的路由环。
前述的是本发明的说明性实施例的详细说明。在不脱离本发明的精神和范围的条件下,可以进行各种修改和添加。例如,当在PE-CE数据链路上执行OSPF时,尽管说明性实施例利用新的AS-路径子-TLV来防止路由环,但是还清楚地预见,当在PE-CE数据链路上执行其他IGP协议时同样可以使用本发明的教导。例如,如果在PE-CE链路460上执行中间系统到中间系统(IS-IS)的协议,则这里描述的OSPF AS路径子TLV可以被(例如)能够在传统的IS-IS链路状态数据包(LSP)中传输的功能上等效的IS-IS AS路径子TLV代替。本领域技术人员将理解,本发明不限于诸如OSPF和BGP的任何特定的网络通信协议,而可以被推广到与各种不同的内部和外部网关协议一起防止路由环的网络通信协议。
本发明一般地可用于在OSPF LAS中传输任何类型的BGP属性信息。所以,尽管说明性实施例使用了用于携带BGP AS路径属性信息通过OSPF配置的网络的新的子TLV550,但是本领域技术人员将理解,新的子TLV更一般地可以被格式化为携带任何类型的BGP属性信息,诸如,传统上在以上结合的REC1771中描述并存储的BGP属性的信息。广泛地陈述,新的OSPF子TLV可以被配置为存储传统上被存储在一个或多个BGP属性中的BGP信息。
还可以清楚地预见,本发明的教导可以实施为软件(包括具有存储在其上的程序指令的计算机可读介质)、硬件、固件、携带由处理器执行的指令的电磁信号、或他们的任意组合。更一般地,本发明的技术可以以硬件和/或软件的各种组合实现。因此,本描述仅通过实例示出,而不用于限制本发明的范围。

Claims (19)

1.一种用于通过散布边界网关协议BGP属性信息来防止路由环的方法,包括:
在第一网络设备处接收包含具有相关的BGP属性的至少一条路由的BGP消息,所述第一网络设备位于第一自治系统AS的边缘处;
将所接收的BGP属性转换为功能等同的开放式最短路径优先OSPF类型长度值元组TLV;
将包含与所述至少一条路由相关的OSPF TLV的OSPF链路状态通告LSA发送到第二网络设备,所述第二网络设备位于与所述第一AS不同的第二AS的边缘处;
将包含与所述至少一条路由相关的OSPF TLV的OSPF LSA从所述第二网络设备传播到第三网络设备,所述第三网络设备位于第三AS的边缘处,所述第三AS没有与所述第一AS直接通信;
在所述第三网络设备处确定所接收的OSPF TLV是否存储有对应于所述第三AS的AS号;以及
响应于确定出所接收的OSPF TLV存储有对应于所述第三AS的AS号,从存储在所述第三网络设备处的OSPF路由集中排除所述至少一条路由。
2.根据权利要求1所述的方法,还包括:
响应于确定出所接收的OSPF TLV没有存储对应于所述第三AS的AS号,将所接收的OSPF TLV转换为功能等同的BGP属性;以及
将包含与所述至少一条路由相关的BGP属性的BGP更新消息从所述第三网络设备发送到所述第三AS中的一个或多个其他网络设备。
3.根据权利要求2所述的方法,还包括:
响应于所接收的具有设置的DN比特的LSA,从存储在所述第三网络设备处的所述OSPF路由集中排除所述至少一条路由;以及
响应于确定出所接收的OSPF TLV没有存储对应于所述第三AS的AS号,通过将所接收的OSPF TLV转换为功能等同的BGP属性来取代所述排除。
4.根据权利要求1所述的方法,其中,所述第一网络设备是提供者边缘PE设备并且所述第一AS是第一提供者网络,所述第二网络设备是客户边缘CE设备并且所述第二AS是位置相邻于所述第一提供者网络的客户现场,并且所述第三网络设备是PE设备并且所述第三AS是位置相邻于所述客户现场的第二提供者网络,所述第二提供者网络没有与所述第一提供者网络直接通信。
5.根据权利要求1所述的方法,其中,所述BGP属性是BGP AS路径属性,并且所述OSPF TLV是OSPF AS路径子TLV。
6.根据权利要求5所述的方法,其中,所述OSPF AS路径子TLV存储在区域间/外部路由属性类型长度值元组RA-TLV中。
7.根据权利要求1所述的方法,还包括:
在将所述OSPF LSA发送到所述第二网络设备之前,将所述至少一条路由从虚拟专用网络互联网协议版本4即VPN-IPv4格式转换到IPv4格式。
8.一种计算机网络,具有多个自治系统AS,所述计算机网络包括:
第一设备,位于第一AS中,所述第一设备被配置为执行以下步骤:
接收包含具有相关的边界网关协议BGP属性的至少一条路由的BGP消息;
将所接收的BPG属性转换为功能等同的开放式最短路径优先OSPF类型长度值元组TLV;以及
通告包含与所述至少一条路由相关的OSPF TLV的OSPF链路状态通告LSA;
第二网络设备,位于第二AS中,所述第二AS没有被配置为与所述第一AS直接通信,所述第二网络设备被配置为接收所通告的OSPFLSA,并且还被配置为执行以下步骤:
确定所接收的OSPF TLV是否存储有对应于所述第二AS的AS号;
响应于确定出所接收的OSPF TLV存储有对应于所述第二AS的AS号,从存储在所述第二网络设备处的OSPF路由集中排除所述至少一条路由。
9.根据权利要求8所述的计算机网络,其中,所述第二网络设备还被配置为执行以下步骤:
响应于确定出所接收的OSPF TLV没有存储对应于所述第二AS的AS号,将所接收的OSPF TLV转换为功能等同的BGP属性;以及
将包含与所述至少一条路由相关的BGP属性的BGP更新消息从所述第二网络设备通告到所述第二AS中的一个或多个其他网络设备。
10.根据权利要求9所述的计算机网络,其中,所述第二网络设备还被配置为执行以下步骤:
响应于所接收的具有设置的DN比特的LSA,从存储在所述第三网络设备处的所述OSPF路由集中排除所述至少一条路由;以及
响应于确定出所接收的OSPF TLV没有存储对应于所述第三AS的AS号,通过将所接收的OSPF TLV转换为功能等同的BGP属性来取代所述排除。
11.根据权利要求8所述的计算机网络,其中,所述BGP属性是BGP自洽系统AS路径属性,并且所述TLV是OSPF AS路径子TLV。
12.根据权利要求11所述的计算机网络,其中,所述OSPF AS路径子TLV被存储在区域间/外部路由属性类型长度值元组RA-TLV中。
13.一种用于通过散布边界网关协议BGP属性信息来防止路由环的系统,包括:
用于在第一网络设备处接收包含具有相关的BGP属性的至少一条路由的BGP消息的装置,所述第一网络设备位于第一自治系统AS的边缘处;
用于将所接收的BGP属性转换为功能等同的开放式最短路径优先OSPF类型长度值元组TLV的装置;
用于将包含与所述至少一条路由相关的所述OSPF TLV的OSPF链路状态通告LSA发送到第二网络设备的装置,所述第二网络设备位于与所述第一AS不同的第二AS的边缘处;
用于将包含与所述至少一条路由相关的所述OSPF TLV的所述OSPFLSA从所述第二网络设备传播到第三网络设备的装置,所述第三网络设备位于第三AS的边缘处,所述第三AS没有与所述第一AS直接通信;
用于在所述第三网络设备处确定所接收的OSPF TLV是否存储有对应于所述第三AS的AS号的装置;以及
用于响应于确定出所接收的OSPF TLV存储有对应于所述第三AS的AS号,从存储在所述第三网络设备处的OSPF路由集中排除所述至少一条路由的装置。
14.根据权利要求13所述的系统,还包括:
用于响应于确定出所接收的OSPF TLV没有存储对应于所述第三AS的AS号,将所接收的OSPF TLV转换为功能等同的BGP属性的装置;以及
用于将包含与所述至少一条路由相关的BGP属性的BGP更新消息从所述第三网络设备发送到所述第三AS中的一个或多个其他网络设备的装置。
15.根据权利要求14所述的系统,还包括:
用于响应于所接收的具有设置的DN比特的LSA,从存储在所述第三网络设备处的所述OSPF路由集中排除所述至少一条路由的装置;以及
用于响应于确定出所接收的OSPF TLV没有存储对应于所述第三AS的AS号,通过将所接收的OSPF TLV转换为功能等同的BGP属性来取代所述排除的装置。
16.根据权利要求13所述的系统,其中,所述第一网络设备是提供者边缘PE设备并且所述第一AS是第一提供者网络,所述第二网络设备是客户边缘CE设备并且所述第二AS是位置邻近于所述第一提供者网络的客户现场,并且所述第三网络设备是PE设备并且所述第三AS是位置邻近于所述客户现场的第二提供者网络,所述第二提供者网络没有与所述第一提供者网络直接通信。
17.根据权利要求13所述的系统,其中,所述BGP属性是BGP AS路径属性,并且所述OSPF TLV是OSPF AS路径子TLV。
18.根据权利要求17所述的系统,其中,所述OSPF AS路径子TLV存储在区域间/外部路由属性类型长度值元组RA-TLV中。
19.根据权利要求13所述的系统,还包括:
用于在将所述OSPF LSA发送到所述第二网络设备之前,将所述至少一条路由从虚拟专用网络互联网协议版本4即VPN-IPv4格式转换到IPv4格式的装置。
CN200780008232XA 2006-03-08 2007-02-06 在ospf配置的网络中散布bgp属性信息来防止路由环的技术 Active CN101401083B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/370,468 US8589573B2 (en) 2006-03-08 2006-03-08 Technique for preventing routing loops by disseminating BGP attribute information in an OSPF-configured network
US11/370,468 2006-03-08
PCT/US2007/003033 WO2007102965A2 (en) 2006-03-08 2007-02-06 Technique for preventing routing loops by disseminating bgp attribute information in an ospf-configured network

Publications (2)

Publication Number Publication Date
CN101401083A CN101401083A (zh) 2009-04-01
CN101401083B true CN101401083B (zh) 2012-05-02

Family

ID=38475331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780008232XA Active CN101401083B (zh) 2006-03-08 2007-02-06 在ospf配置的网络中散布bgp属性信息来防止路由环的技术

Country Status (4)

Country Link
US (1) US8589573B2 (zh)
EP (1) EP1997017B1 (zh)
CN (1) CN101401083B (zh)
WO (1) WO2007102965A2 (zh)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7813265B2 (en) * 2006-03-09 2010-10-12 Cisco Technology, Inc. Backup BGP paths for non-multipath BGP fast convergence
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
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
ES2452340T3 (es) * 2006-11-09 2014-04-01 Huawei Technologies Co., Ltd. Un método y nodo de borde para el anuncio de información de conexión de borde de un sistema
US20080159150A1 (en) * 2006-12-28 2008-07-03 Furquan Ahmed Ansari Method and Apparatus for Preventing IP Datagram Fragmentation and Reassembly
US7885294B2 (en) * 2007-08-23 2011-02-08 Cisco Technology, Inc. Signaling compression information using routing protocols
US7894450B2 (en) * 2007-12-31 2011-02-22 Nortel Network, Ltd. Implementation of VPNs over a link state protocol controlled ethernet network
JP4922972B2 (ja) * 2008-03-13 2012-04-25 株式会社日立製作所 通信システム
CN101237462B (zh) * 2008-03-13 2011-01-05 杭州华三通信技术有限公司 一种处理ospf报文乱序的方法及ospf路由器
US8223669B2 (en) * 2008-04-07 2012-07-17 Futurewei Technologies, Inc. Multi-protocol label switching multi-topology support
US7894462B2 (en) * 2008-12-29 2011-02-22 At&T Intellectual Property I, L.P. Boundary routers providing redistribution and related backbone networks, computer program products, and methods
EP2209267B1 (en) * 2009-01-15 2017-05-03 Teliasonera AB A system and a method for routing data traffic
FR2945903B1 (fr) 2009-05-22 2011-05-20 Alcatel Lucent Procede de prevention et d'evitement de boucles en inter-domaine
US8644315B2 (en) * 2009-06-04 2014-02-04 Cisco Technology, Inc. Label distribution protocol label filtering
US9515916B2 (en) * 2010-10-21 2016-12-06 Cisco Technology, Inc. Redirection of requests for target addresses
US9049140B2 (en) 2010-11-18 2015-06-02 Microsoft Technology Licensing, Llc Backbone network with policy driven routing
US9391796B1 (en) * 2010-12-22 2016-07-12 Juniper Networks, Inc. Methods and apparatus for using border gateway protocol (BGP) for converged fibre channel (FC) control plane
CN102217254B (zh) 2011-05-23 2014-06-04 华为技术有限公司 传递自举消息的方法和装置
EP2859683A1 (en) * 2012-06-08 2015-04-15 Telefonaktiebolaget L M Ericsson (Publ) Propagation of network configuration update from network manager to network nodes using routing protocol
US9225627B2 (en) 2012-08-21 2015-12-29 Avaya Inc. Redistributing routes in backbone edge bridge multi-chassis link aggregation group topologies between two routing protocols
US9137155B2 (en) 2012-09-29 2015-09-15 Avaya Inc. Network virtualization in access networks
CN103888359B (zh) * 2012-12-21 2017-04-12 杭州华三通信技术有限公司 路由计算方法及网络设备
US9270574B2 (en) * 2013-01-09 2016-02-23 Avaya Inc. Method and apparatus providing delayed path calculations based on service type
US9413610B2 (en) * 2013-04-24 2016-08-09 Ciena Corporation Network-based DHCP server recovery
CN104158737B (zh) 2013-05-15 2017-07-28 华为技术有限公司 一种控制路由信息发布的方法、装置和系统
CN104283813B (zh) * 2013-07-11 2019-03-12 中兴通讯股份有限公司 一种处理rsvp-te信令的方法及系统
US9258210B2 (en) * 2013-10-01 2016-02-09 Juniper Networks, Inc. Dynamic area filtering for link-state routing protocols
CN104767687B (zh) * 2014-01-03 2019-04-23 国际商业机器公司 传播关键路由以及建立和更新路由表的方法和设备
US9722919B2 (en) * 2014-01-22 2017-08-01 Cisco Technology, Inc. Tying data plane paths to a secure control plane
US10003520B2 (en) * 2014-12-22 2018-06-19 Cisco Technology, Inc. System and method for efficient name-based content routing using link-state information in information-centric networks
US10469360B1 (en) * 2015-09-30 2019-11-05 Juniper Networks, Inc. Reverse metric advertisement for border gateway protocol route reflection inhierarchical networks
US9853915B2 (en) 2015-11-04 2017-12-26 Cisco Technology, Inc. Fast fail-over using tunnels
US9781029B2 (en) * 2016-02-04 2017-10-03 Cisco Technology, Inc. Loop detection and prevention
CN106453080B (zh) * 2016-09-22 2020-06-05 新华三技术有限公司 一种链路状态清除报文的溯源方法及装置
CN106878186B (zh) 2017-02-04 2019-11-29 华为技术有限公司 网络中路由更新的方法、网络设备和系统
WO2019164637A1 (en) * 2018-02-23 2019-08-29 Futurewei Technologies, Inc. Advertising and programming preferred path routes using interior gateway protocols
WO2019190699A1 (en) 2018-03-28 2019-10-03 Futurewei Technologies, Inc. Method and apparatus for preferred path route information distribution and maintenance
CN112055954B (zh) 2018-04-26 2022-08-26 华为技术有限公司 网络中优选路径路由的资源预留和维护
WO2019212678A1 (en) 2018-05-04 2019-11-07 Futurewei Technologies, Inc. Explicit backups and fast re-route mechanisms for preferred path routes in a network
WO2019236221A1 (en) 2018-06-04 2019-12-12 Futurewei Technologies, Inc. Preferred path route graphs in a network
CN112953822A (zh) * 2019-12-10 2021-06-11 华为技术有限公司 一种减少路由环路的方法、装置及系统
CN113037629B (zh) * 2019-12-24 2022-07-12 中国电信股份有限公司 非直连自治系统间流量调度方法和系统
CN114172836B (zh) * 2020-08-19 2024-05-14 瞻博网络公司 用于路由反射的路由反射器、计算机可读介质和方法
CN112311649B (zh) * 2020-11-03 2022-11-22 优刻得科技股份有限公司 Pe设备的动态灾备方法、系统、设备、介质和混合云系统
US11848856B2 (en) * 2021-02-05 2023-12-19 Extreme Networks, Inc. Shortest path bridging (SPB) multi area and virtual SPB node
US11689446B2 (en) * 2021-02-05 2023-06-27 Extreme Networks, Inc. Shortest path bridging (SPB) multi area
CN114024836B (zh) * 2021-11-03 2023-08-25 中盈优创资讯科技有限公司 一种stn网络a环断点确定方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6603756B1 (en) * 1999-03-29 2003-08-05 Cisco Technology, Inc. Hierarchical label switching across multiple OSPF areas

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6130889A (en) * 1996-10-02 2000-10-10 International Business Machines Corporation Determining and maintaining hop-count for switched networks
US6604146B1 (en) * 1999-06-15 2003-08-05 Viasat, Inc. Efficient internet service implementation for mesh satellite networks using centralized router server for distribution of destination tables
CA2379630C (en) * 1999-07-19 2007-04-24 British Telecommunications Public Limited Company Method of communications routing
US6415323B1 (en) * 1999-09-03 2002-07-02 Fastforward Networks Proximity-based redirection system for robust and scalable service-node location in an internetwork
US7752024B2 (en) * 2000-05-05 2010-07-06 Computer Associates Think, Inc. Systems and methods for constructing multi-layer topological models of computer networks
US7403482B2 (en) * 2000-10-30 2008-07-22 Nec Corporation Path provisioning for service level agreements in differentiated service networks
CN100377380C (zh) * 2001-02-28 2008-03-26 剑桥显示技术有限公司 供沉积在基材上的材料配方和方法
US7831733B2 (en) 2001-07-06 2010-11-09 Avaya Holdings Limited Policy-based forwarding in open shortest path first (OSPF) networks
US20040039839A1 (en) * 2002-02-11 2004-02-26 Shivkumar Kalyanaraman Connectionless internet traffic engineering framework
US7280752B2 (en) * 2002-02-22 2007-10-09 Intel Corporation Network address routing using multiple routing identifiers
US7260645B2 (en) * 2002-04-26 2007-08-21 Proficient Networks, Inc. Methods, apparatuses and systems facilitating determination of network path metrics
US7310685B2 (en) * 2002-08-29 2007-12-18 International Business Machines Corporation Method and system for reducing look-up time in packet forwarding on computer networks
ATE449493T1 (de) * 2002-11-27 2009-12-15 Research In Motion Ltd Zuweisen einer temporären ipv6-adresse zu einer temporären ipv4-adresse, um in einem ipv4- netzwerk mit einem schnurlosen gerät zu kommunizieren
US20040177157A1 (en) * 2003-02-13 2004-09-09 Nortel Networks Limited Logical grouping of VPN tunnels
US6970464B2 (en) * 2003-04-01 2005-11-29 Cisco Technology, Inc. Method for recursive BGP route updates in MPLS networks
US7965620B2 (en) * 2004-05-25 2011-06-21 Telcordia Licensing Company, Llc Method, computer product and system for correlating events in a network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6603756B1 (en) * 1999-03-29 2003-08-05 Cisco Technology, Inc. Hierarchical label switching across multiple OSPF areas

Also Published As

Publication number Publication date
EP1997017A2 (en) 2008-12-03
EP1997017A4 (en) 2011-04-20
US20070214275A1 (en) 2007-09-13
WO2007102965A3 (en) 2008-01-24
EP1997017B1 (en) 2012-05-23
WO2007102965A2 (en) 2007-09-13
CN101401083A (zh) 2009-04-01
US8589573B2 (en) 2013-11-19

Similar Documents

Publication Publication Date Title
CN101401083B (zh) 在ospf配置的网络中散布bgp属性信息来防止路由环的技术
CN101606341B (zh) 用于在穿过提供商网络的ce-ce路径上高效路由ip流量的技术
CN101133408B (zh) 穿过一组自治系统的最短域间流量工程标签交换路径计算
CN101164265B (zh) 用于备份pe选择的算法
EP2933958B1 (en) Segment routing - egress peer engineering (SP-EPE)
US7865615B2 (en) Maintaining IGP transparency of VPN routes when BGP is used as a PE-CE protocol
CN101455030B (zh) 动态共享风险节点组(srng)成员发现
US9660897B1 (en) BGP link-state extensions for segment routing
EP3200402B1 (en) Segment routing information obtainment method and segment routing network establishment method
CN101288266B (zh) 自治系统间流量工程标签交换路径路由信息的动态检索方法及系统
CN101485160B (zh) 用于高效确定计算机网络中可接受的基于链路的无环路替代的技术
CN101036355B (zh) 用于跨域传播可达性信息的方法、系统和装置
US9432213B2 (en) IP forwarding across a link state protocol controlled ethernet network
CN101960785B (zh) 在链路状态协议受控以太网网络上实现vpn
CN101044728B (zh) Rfc 2574网络边缘处的快速重路由(frr)保护
TWI499237B (zh) 廣播網路之標籤分配協定與內部閘道協定同步化
CN101142791A (zh) 用于在自治系统之间提供虚拟专用网络服务的方法
US8923162B2 (en) Management of private virtual networks
CN113452610B (zh) 跨城域网的无缝端到端分段路由的方法及区域边界路由器
EP3975489A1 (en) Label deduction with flexible-algorithm
US10212075B1 (en) Convergence optimization of local switching for flexible cross-connect in ethernet virtual private network (EVPN) environments
US7957289B2 (en) Method to reduce IGP routing information
WO2023016234A1 (zh) Rt4路由报文r4的发布方法及装置、存储介质及电子装置
Litkowski et al. IS-IS for IP Internets P. Sarkar, Ed. Internet-Draft H. Gredler Intended status: Standards Track S. Hegde Expires: May 7, 2016 Juniper Networks, Inc.

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