CN107409092B - 针对最优路由反射的优化边界网关协议最佳路径选择方法和系统 - Google Patents
针对最优路由反射的优化边界网关协议最佳路径选择方法和系统 Download PDFInfo
- Publication number
- CN107409092B CN107409092B CN201680006984.1A CN201680006984A CN107409092B CN 107409092 B CN107409092 B CN 107409092B CN 201680006984 A CN201680006984 A CN 201680006984A CN 107409092 B CN107409092 B CN 107409092B
- Authority
- CN
- China
- Prior art keywords
- cluster
- paths
- nodes
- available
- path
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- 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/42—Centralised 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/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
提供了针对最优路由反射的优化最佳路径选择的实施例,该实施例包括由基于云的节点配置自治系统中的节点的第一集群,并且确定在节点的第一集群中是否存在针对网络地址前缀的任何路径可用。实施例还包括如果在第一集群中针对网络地址前缀的一条或多条路径可用,则从该一条或多条路径中选择最佳路径。实施例还包括向第一集群中的一个或多个节点通告最佳路径。更具体的实施例包括如果在第一集群中没有针对网络地址前缀的路径可用,则在自治系统的节点的第二集群中确定针对网络地址前缀的另一路径是可用的,并且选择该另一路径作为最佳路径。
Description
相关申请
本申请依据35 U.S.C§119(e)要求于2015年2月20日递交的、由 Keyur Patel等所著的题为“OPTIMIZED BORDER GATEWAY PROTOCOL BEST PATH SELECTION FOR OPTIMALROUTE REFLECTION IN A NETWORK ENVIRONMENT(针对网络环境中的最优路由反射的优化边界网关协议最佳路径选择)”的美国临时申请No.62/119,036的权益,该申请的内容通过引用全部结合于此。
技术领域
本公开总地涉及联网领域,更具体地,涉及针对网络环境中的最优路由反射(Optimal Route Reflection,ORR)的优化边界网关协议(Border Gateway Protocol,BGP)最佳路径选择。
背景技术
在计算机联网中,网络管理员常常考虑怎样将经过网络的从一个端点到另一个端点的流量进行最佳路由。路由器可以被用在自治系统(AS)中以确定经过自治系统传播的网络流量应该被转发到哪个节点。路由器与自治系统中的其他路由器进行通信以确定经过自治系统到达目的地地址的最佳路径。可以使用各种协议,包括用于在自治系统之间进行路由的边界网关协议(GBP)以及用于在同一自治系统中的路由器之间进行路由的内部边界网关协议(iBGP)。内部网关协议(IGP)用于在自治系统内向内部目的地进行路由。
在“热土豆”(hot potato)式路由(也称为“烫手山芋”式路由)中,分组不被存储(或缓存),而是被持续传输以尝试将分组移动到它们的最终目的地。“热土豆”式路由尝试将流量引导到在给定BGP网络中最近的自治系统(AS)的出口端点。出口端点是可以用于到达外部目的地节点的自治系统的出口点(例如,存在点(POP)或边界路由器)。在BGP路由反射器部署中,针对路由反射器和其客户端的出口点的选择将是距离路由反射器(而不一定是其客户端)最近的出口端点。因此,在BGP路由反射部署中实现“热土豆”式路由的能力可能会对网络管理员带来重大的挑战。
附图说明
为了更完善地理解本公开及其特性和优点,下面结合附图参考以下的描述,其中相似的标号表示相似的部分,其中:
图1是根据本公开的至少一个实施例的具有用于为最优路由反射提供优化最佳路径选择的通信系统的网络环境的简化框图;
图2是示出根据至少一个实施例的与通信系统中的示例节点相关联的可能细节的简化框图;
图3是根据至少一个实施例的通信系统的可能配置的简化框图;
图4是示出图3的通信系统的附加的可能元素和细节的简化框图;
图5是示出根据至少一个实施例的与通信系统相关联的可能操作的简化框图;以及
图6是示出根据至少一个实施例的通信系统的另一可能配置的简化框图。
具体实施方式
概述
本公开描述了一种用于最优路由反射的优化边界网关协议(BGP)最佳路径选择。在本公开的一个示例中,提供了一种方法,该方法包括由基于云的节点配置自治系统中的节点的第一集群。方法还包括确定在节点的第一集群中是否存在针对网络地址前缀的任何路径是可用的。该方法还包括:如果确定在第一集群中针对网络地址前缀的一条或多条路径是可用的,则从该一条或多条路径中选择最佳路径。方法当前还包括向在第一集群中的一个或多个节点通告最佳路径。
在特定的实施例中,基于云的节点可以是路由反射器。在另一特定的实施例中,基于由基于云的节点从第一集群中的一个或多个边缘节点接收的可达性信息,一条或多条路径可以被确定为在第一集群中是可用的。另一特定的实施例可以包括:如果在第一集群中不存在可用的针对网络地址前缀的路径,则确定在自治系统的节点的第二集群中针对网络地址前缀的另一路径可用,并且选择该另一路径作为最佳路径。
在其他实施例中,该方法可以包括:如果在第一集群中没有针对网络地址前缀的路径可用,则确定在自治系统的节点的至少第二集群中针对网络地址前缀的两条或更多条路径是可用的,并且至少部分地基于对该两条或更多条其他路径的度量比较,来从该两条或更多条其他路径中选择最佳路径。度量可以包括两条或更多条其他路径中的每一条路径的成本或距离之一。该方法还可以包括从内部网关协议(IGP)的一个或多个协议消息中提取度量。
在其他特定实施例中,基于云的节点可以用一个或多个网关协议 (BGP)会话来向节点的第一集群中的一个或多个节点通告最佳路径。基于云的节点可以是云网络中的虚拟路由反射器。如果一条或多条路径包括两条或更多条路径,则可以基于策略从一条或多条路径中选择最佳路径。最佳路径可以不被通告到第一集群中那些曾向基于云的节点通告网络地址前缀的可达性信息的任何节点。更特定的实施例可以包括在第一集群被配置之前,将第一集群的节点标识为基于云的路由反射器的客户端。
一些或全部的元素、操作和特性可以被包括在用于执行所描述的功能的相应的系统、装置以及设备中。此外,一些或全部的特性可以在至少一种机器可读存储介质中实现。
具体描述
图1是网络环境110的简化框图,该网络环境110包括为自治系统AS1 中的最优路由反射提供优化最佳路径选择的通信系统100。网络环境110表示用于接收和发送经过网络传播的信息分组的互连通信路径的一系列端点或节点。网络环境110提供节点之间的通信接口,并且可以包括任何局域网(LAN)、无线局域网(WLAN)、城域网(MAN)、内联网、外联网、广域网(WAN)(例如互联网)、云网络、虚拟专用网络(VPN)、或在网络环境中辅助通信的任何其他适合的架构或系统。此外,在本公开的特定实施例中,网络环境110可以实现UDP/IP连接并且使用TCP/IP通信语言协议。或者,可以实现用于在网络环境110内发送和接收数据分组的任何其他合适的通信协议。
网络环境110示出了经过通信链路12互连的分布式节点20、30和50。节点50位于自治系统AS1中,并且节点20位于自治系统AS2中。自治系统AS1和AS2可以被配置为不同的路由域。节点50和20是例如路由器的网络元件,该网络元件可以为它们各自的自治系统AS1和AS2内的端节点25之间的电子数据提供域内路由。节点20和50中的至少一些为自治系统AS1中的端节点25和自治系统AS2中的其他端节点25之间的电子数据提供域间路由。节点30是例如路由器的网络元件,并且可以在云网络15中被提供作为AS1的基于云的路由反射器。在至少一个实施例中,云网络15 可以物理地远离自治系统AS1并且可以通过互联网或其他广域网被访问。节点30可以是与自治系统AS1相同的路由域的部分。节点30与节点50协作以便能够实现具有优化的最佳路径选择的基于云的路由反射。
端节点25意在包括用于在网络环境110中发起通信的设备,例如,台式计算机、膝上型计算机、服务器、应用设备、移动设备、或者能够发起网络环境110内的语音、音频、视频、媒介、或数据交换的任何其他设备、组件、元件或对象。端节点还可以包括试图代表另一实体或元件发起通信的任何设备,该元件例如是程序、数据库、或能够在网络环境110内发起交换的任何其他组件、设备、元件或对象。应当注意,图1是用于在自治系统中提供具有优化的最佳路径选择的基于云的最优路由反射的通信系统的可能元件的表示。因此,可以在通信系统中配置任何数量的链路12、节点20、30和50、以及端节点25。例如,一些自治系统可以包含数千个节点50以及甚至更多数量的端节点25和链路12。
出于说明本文公开的系统的特定示例的技术的目的,理解可能正在遍历网络的通信和用来实现这种通信的协议是重要的。以下基础信息可以被视作可用来适当解释本公开内容的基础。
可以在通信系统100中实现各种路由协议以实现从自治系统AS1到自治系统AS2的适合的路由。边界网关协议(BGP)是能够实现自治系统之间的域间路由的示例性路由协议。外部BGP(eBGP)会话为允许自治系统到达其他自治系统的路由提供路由信息。内部BGP(iBGP)会话为在自治系统内部到外部目的地的路由提供路由信息。BGP是在请求注解(Request for Comments,RFC)4271中定义的众所周知的路由协议,参见 Rekhter,Y.,Ed.,Li,T.,Ed.,和S.Hares,Ed.,的“A Border Gateway Protocol 4 (BGP-4)”RFC 4271,DOI10.17487/RFC4271,2006年1月,可通过 http://www.rfc-editor.org/info/rfc4271获得。
当BGP邻居路由器(本文也被称为“对等节点”)建立连接以便“用 BGP说话”时,BFP会话可以被建立。通常使用诸如传输控制协议(TCP) 之类的面向连接的协议来建立该连接,这保证了在相连接的对等节点之间的消息的传递。相连接的对等节点可以用BGP说话以交换包含路由信息的更新消息。更新消息被用来更新被包含在接收方对等节点的路由信息库 (RIB)中的信息。更新消息可以宣布新的路由,或者撤销之前宣布的路由。更新消息可以包括诸如网络层可达性信息(NLRI)之类的各种字段。 NLRI可以包括在更新消息中被通告的可行路由的互联网协议(IP)地址前缀。相反地,已撤销路由的字段可以包括正被撤销的路由的IP地址前缀,因为它们不再是可到达的。路由是将一组目的地与到那些目的地的路径的属性进行配对的信息单元。路径可以由一个或多个属性定义,并且是通常意在指的是网络(例如自治系统)中的两点之间的路由。从IPv4或IPv6池中获取的IP地址可以被拆分为包括网络分区和主机分区的两个部分。网络分区标识一组目的地并且被称为前缀。目的地地址中的前缀被路由协议用来为路径中的下一跳做出路由决定。前缀还可以被称为“路由前缀”。
自治系统可以使用iBGP来通告针对自治系统外部的目的地(例如,路由器)的网络地址前缀的可达性信息。然而,为了实现iBGP,需要实现全网格化(full mesh),其中自治系统内的每一路由器都经过诸如TCP之类的连接而被连接到每一其他路由器。该全网格化要求可能会严重限制运行iBGP会话的自治系统的可扩展性。
在BGP网络中,常常期望实现路由反射,因为这样可以避免全网格化实现方式。路由反射器部署可以导致网络中所需的iBGP会话数量的显著减少。路由反射是在RFC 4456中定义的公知的路由协议,参见Bate,T., Chen,E.,和R.Chandra的“BGP Route Reflection:An Alternative to Full Mesh Internal BGP(iBGP)”,RFC4456,DOI 10.17487/RFC4456,2006 年4月,可通过http://www.rfc-editor.org/info/rfc4457获得。
路由反射器(RR)是在BGP网络中用于实现路由反射的网络元件。在BGP路由反射部署中,一个或多个路由器被指定为路由反射器,并且允许接受iBGP路由和向它们的客户端传播iBGP路由。所指定的路由反射器可以用路由反射器之间的iBGP对等会话来实现全网格化。每个路由反射器可以与多个路由器配对,这些路由器在本文中可以被称为路由反射器客户端(‘RR-客户端’)或客户端。在一些实现方式中,每个路由反射器的客户端形成该路由反射器所连接到的路由器的集群。路由器的集群可以经由iBGP通过他们共享的路由反射器而连接。路由反射器可以向它的客户端路由器传播它从其他路由反射器接收的路由信息,并且可以将其客户端路由器的路由信息传播到其他路由反射器。因此,BGP网络中所需的会话数量可以很大地降低。
在“热土豆”式路由中,路由器(例如,路由反射器)尝试做出最佳路径路由决定,该决定将网络流量导向给定BGP网络内距离做出决定的路由器最近的自治系统(AS)的出口端点。通常,路由反射器基于从其内部网关协议(IGP)数据库计算得出的IGP度量来选择最佳路径,并且将该路径宣布给它的客户端BGP说话者。度量是用于测量到给定网络的距离的量化值。对于“热土豆”式路由,到网络的最佳路径是具有最低度量的路径。
路由反射器可以实现为任何类型的路由器,例如包括部署在自治系统周边的边界路由器或边缘路由器,或者云网络中的分布式路由器。尽管路由反射器通常位于集群内的转发路径中(例如,在存在点(POP)边界处) 并且与网络的实际拓扑保持一致,但是虚拟路由反射器(vRR)和可能的其他路由反射器可以位于集群的外部。例如,环形拓扑(使得难以自然形成路由反射器集群)和隧道式应用(例如第三层虚拟专用网络(L3VPN)) 不一定需要路由反射器位于转发路径中。此外,分布式路由反射器可以作为网络上的路径聚合点,以便减少向边缘路由器(可能具有有限的CPU和存储器)分发BGP信息。
对于不在最优转发路径中的路由反射器(包括诸如vRR之类的集中式路由反射器)来说,“热土豆”式路由变得成问题。不在最优转发路径中的路由反射器,或者以不与网络拓扑保持一致的方式被放置的路由反射器,可能失去向其客户端通告最佳路径以获得“热土豆”式路由的能力。因为路由反射器和其客户端的外出端点的选择是最接近路由反射器的出口端点,所以在BGP路由反射器部署中(其中路由反射器不在转发路径中),所选择的出口端点可能不一定是到路由反射器客户端(RR-客户端)的最近出口端点。因此,由路由反射器做出的并且通告给RR-客户端的最佳路径路由决定可能不是到目的地的最佳路径(例如,具有最优度量)。因此,路由反射器的部署可能被局限于适合的集群边界或者在辅助最优“热土豆”式路由的适合的中央位置。
BGP最优路由反射(BGP-ORR)允许路由反射器根据云环境操作而不会危害“热土豆”式路由。BGP-ORR要求路由反射器(RR)将它们的 RR-客户端与最优路由反射器(ORR)根地址进行关联,作为BGP-ORR功能的一部分。ORR根地址是网络中的一个地址,IGP SPF(内部网关协议最短路径优先)以此处为根来计算最短路径优先(SPF)拓扑。BGP-ORR 是在域间路由工作组互联网草案(Inter-Domain Routing Working Group Internet Draft)中定义的路由协议,参见Raszuk,R.,Cassar,C,Aman,E., Decraene,B.和S.Litkowski的“BGPOptimal Route Reflection(BGP-ORR) (BGP最优路由反射)”,draft-ietf-idr-bgp-optimal-route-reflection-08, 2014年10月22日,可通过https://tools.ietf.org/html/draft-ietf-idr-bgp- optimal-route-reflection-08获得。
BGP-ORR要求路由反射器向其RR客户端宣布定制的BGP最佳路径。为了宣布定制的最佳路径,路由反射器可以执行以下操作:1)存储IGP数据库,就像它以RR-客户端为根一样;以及2)多次运行最佳路径算法 (对每个客户端运行一次)。存储IGP数据库就像它以RR-客户端为根一样,可能需要大量的存储空间和CPU资源。对于每个单独的客户端运行最佳路径算法也可能占用大量的CPU资源。随着网络规模的升级,这可能变得更加成问题。
本公开的至少一个实施例可以解决上述与确定和选择自治系统中的最佳路径相关联的问题(以及更多的问题),该自治系统被划分为具有其自己的IGP域的多个集群。可以在运行BGP-ORR的网络中提供本公开中的实施例,其中在云网络的虚拟的或物理的路由器中实现路由反射。根据至少一个实施例,本公开的基于云的路由反射器可以标识自治系统内的集群,并且可以对每个集群运行一次最佳路径计算。IGP度量值可以被存储在基于集群/RR-客户端的存储介质(例如,基于云的路由反射器的数据库或路由信息表(RIB))中。可以使用适合的数据库或RIB表来执行最佳路径计算。在至少一个实施例中,基于云的路由反射器自动地优先选择集群内客户端路径而不是集群间路径,这可以被表示为eBGP>集群内(intracluster)>集群间(intercluster)。当集群内路径不可用时,使用由位于集群边界处的区域边界路由器(ABR)注入到集群/区域域内的区域间链路状态通告(LSA)的IGP成本,来执行集群间路径的比较。这允许从转发路径中移除路由反射器,而不会危害在BGP网络中的“热土豆”式路由。此外,BGP路由通告可以被配置为向集群中的客户通告针对给定集群所计算的最佳路径。
标识自治系统内的集群并且对每个集群计算最佳路径的基于云的路由反射器提供了一些优点。首先,在云中的路由反射器的实现辅助了快速部署。此外,可以减少基于云的路由反射器上的存储器和CPU资源的使用,并且系统可以更易于扩展。此外,这种解决方案避免了改变路由反射器现有部署的需求。现有的路由反射器(部署在云中或不在云中)可以作为针对多个集群而不是作为其成员的单个集群的最优路由反射器。
参考图2,图2是如图1所示的节点30和节点50的可能实施例的简化框图。节点30和节点50可以各自包括多个网络接口35和55、至少一个存储器元件37和57、以及至少一个处理器39和59。处理器39和59可以可操作地耦接到相应网络接口35和55,该接口35和55包括用于在网络环境 110中通过通信链路12进行通信的适合的发送和接收组件。此外,节点30和/或节点50可以在物理的或虚拟的环境或其合适的组合中实现。
路由协议可以在节点30和50中实现以实现优化的最佳路径决定。具有优化最佳路径选择逻辑62的边界网关协议最优路由反射器(BGP-ORR) 60可以被实现在节点30中。边界网关协议(BGP)65可以被实现在节点 50中。内部网关协议(IGP)70可以被实现在节点30和50中。BGP通信可以通过传输协议(例如,TCP/IP)在节点30和其客户端(例如,节点50) 之间被发送和接收。在至少一个实施例中,节点30的BGP-ORR 60还包括优化最佳路径选择逻辑62,该优化最佳路径选择逻辑62用于计算经过自治系统AS1以到达诸如自治系统AS2之类的外部目的地的最佳路径。可以在节点50和节点30之间建立网络连接,以用BGP说话并且交换路由信息,路由信息可以被用于将数据从自治系统AS1的内部节点路由到外部目的地。
在至少一个实施例中,与本文描述的实施例相关联的数据可以分别被存储在节点30和50的存储器元件37和57中。在节点30中,该数据可以包括但不局限于集群路由表80。集群路由表80可以包括对于每个BGP下一跳的IGP度量(例如,成本),该IGP度量可以从被称为“根节点”的指定节点测量得到。此外,集群路由表80(或一些其他合适的存储结构) 可以包括针对由节点30的客户端通告的网络地址前缀的可达性信息。在至少一个实施例中,集群路由表80可以被实现为路由信息库(RIB)表,该 RIB表可以包括在通信系统100中运行的所有路由协议的路由信息。
在节点50中,所存储的数据可以包括本地路由表51,该本地路由表 51包括使得节点50能够在自治系统AS1内路由网络流量并且可能向外部目的地路由网络流量的路由信息。具体而言,当最佳路径被选出并且由节点30通告之后,本地路由表51可以包含用于网络地址前缀的最佳路径信息。本地路由表51的内容可以至少部分地取决于它在自治系统AS1中的位置。例如,路由信息可以基于节点被分配到的路由器的集群而变化。针对存储在一个集群的路由器中的特定前缀的最佳路径可以相对于针对存储在同一自治系统中的另一集群的另一路由器中的相同前缀的最佳路径而变化。
图3是示出用于为自治系统中的最优路由反射提供优化的最佳路径选择的通信系统300的可能配置的框图。自治系统中的节点可以被划分为两个集群380(例如,集群A和集群B)。集群A中的节点包括区域边界路由器350(例如,ABR1)和边缘路由器355(例如,ER1和ER2)。集群 B中的节点包括另一区域边界路由器350(例如,ABR2)和其他边缘路由器355(例如,ER3和ER4)。边缘路由器355可以代表自治系统边界路由器(ASBR)、消费者边缘路由器(CE)、提供商边缘路由器(PE)、以及在自治系统的边缘或周边提供的可以用基于云的路由反射器330(例如CBRR)参与云网络315中的BGP会话的任何其他节点。也可以在集群中提供诸如内部路由器之类的其他节点(未示出)。
区域边界路由器ABR1和ABR2代表位于内部网关协议(IGP)的一个或多个区域的边界附近的路由器。IGP是用于在自治系统内部的路由器之间交换针对内部目的地的路由信息的路由协议。IGP的示例包括开放最短路径优先(OSPF)和中间系统到中间系统(IS-IS)。在通信系统300中,每个集群可以具有它自己的IGP域(例如,OSPF的区域或IS-IS的级别)。通常,IGP的区域/级别是可以小于自治系统的自治系统路由组。在至少一些实施例中,IGP路由组对应于通信系统300的集群。然而,在其他实现方式中,集群可以不具有与路由组一对一对应的关系。ABR1和ABR2可以各自为流向它们相应的路由组的节点的网络流量或从它们相应的路由组流向自治系统中的其他路由组中节点的网络流量提供入口端点和出口端点。然而,在一些实现方式中,IGP可以具有单一平坦区域。在该示例中,为了便于说明,集群A和集群B对应于不同的IGP区域。因此,在该示例中, ABR1和ABR2可以执行在集群A和B之间的数据路径转发。
IGP邻居(具有公共链路的两个路由器)可以形成用来交换路由协议分组的邻域。由路由器传送的路由协议分组可以包含路由器的本地路由拓扑,包括例如路由器ID、路由器的IP地址、到路由器的区域内的其他路由器的链路、以及每条链路的路由度量。链路状态通告(LSA)和链路状态分组(LSP)是分别用来在OSPF和IS-IS中进行通信的路由协议分组。为了便于说明,本文描述的实施例通常指的是在OSPF中使用的“链路状态通告”(或“LSA”)和“区域”。然而,很显然,本文所描述的实施例可以被用于任何其他合适的IGP,包括但不限于IS-IS。在IS-IS中,路由协议分组被称为“链路状态分组”(或“LSP”),并且路由组被称为“级别”。
在IGP中,每个路由器具有它自己唯一的路由器ID。作为示例,OSPF 可以通过配置路由器的回送接口上的IP地址来设置路由器ID。在IS-IS中,路由器ID(或系统ID)可以由管理员以各种合适的方式配置(例如,回送接口的IP地址、介质访问控制(MAC)地址、序列号等等)。
基于云的路由反射器(CBRR)330包括路由反射能力。边缘路由器 ER1、ER2、ER3和ER4,以及区域边界路由器ABR1和ABR2是CBRR 330的客户端。CBRR可以是云网络315中的虚拟路由器或物理路由器。 CBRR 330不在自治系统的转发路径中,因此可以使用优化最佳路径选择逻辑62来运行BGP-ORR 60,并且被配置为仅接收和发送控制平面信息。
在操作方面,依据一个特定的实施例,IGP可以向自治系统中的每个节点(例如,ABR1、ABR2、ER1、ER2、ER3和ER4)通告到CBRR 330 的路由器信息。CBRR 330可以将ER1、ER2和ABR1标识为客户端并且可以将它们分组到集群A中。CBRR 330可以将ER3、ER4和ABR2标识为客户端并且可以将它们分组到集群B中。可以使用各种方法将节点分组到集群中,包括例如手动配置集群或使用来自现有协议(例如,BGP、IGP) 的信息以标识客户并且将客户分组到集群中。在至少一些实施例中, CBRR 330可以使用作为BGP属性的集群标识符来确定哪些节点在相同的集群中。在其他实施例中,集群可以对应于IGP区域(或级别),因此,集群可以基于IGP区域成员关系而被配置。在其他实施例中,集群可以被手动配置。
在图3的实施例中,边缘路由器ER1、ER2、ER3、ER4以及区域边界路由器ABR1和ABR2是CBRR 330的客户端,并且各自可以建立与CBRR 330的连接或BGP会话316(例如,TCP连接)以便用BGP说话。在BGP 会话316中,边缘节点ER1-ER4可以向CBRR 330提供更新消息以通告网络层可达性信息(NLRI)。例如,由ER1通告的NLRI可以包括ER1能够将其接收到的网络流量路由到的网络地址的IP前缀。非边缘路由器的在集群A和B中的其他路由器(例如,内部路由器)也可以与CBRR建立BGP 会话并且发送更新消息。然而,这些内部路由器可能不向任何外部目的地通告可达性。在一些情况下,多个边缘节点可以通告相同前缀的路由。在这种情况下,CBRR 330可以得知到该前缀的多条路径。
在至少一个实施例中,对于每个网络地址前缀,CBRR 330对于自治系统中的每个集群选择一条最佳路径。选定的最佳路径可以在集群之间变化。对于特定的前缀,CBRR3300可以向集群内的客户端通告针对该集群选定的最佳路径。接收通告的客户端可以使用最佳路径信息来将流量路由到与前缀相关联的外部目的地。例如,针对集群A中的客户端选定的用来到达网络地址前缀1.1.1.1/24的最佳路径可以由CBRR 330在与集群A中的客户端(例如,ER1、ER2、ABR1)所建立的BGP会话中通告。集群A中的客户端可以使用最佳路径信息来向与1.1.1.1/24网络地址前缀相关联的外部目的地路由流量。
在至少一个实施例中,当对于特定集群选择最佳路径时,CBRR 330 可以自动地优选该集群内的路径(即,集群内路径),而不是与其他集群相关联的路径(即,集群间路径)。如果已经通告了多于一条的集群内路径,则CBRR 330可以使用任何合适的打破僵局的策略,该策略包括但不限于基于IGP度量比较选择最佳路径、选择与最低(或最高)边缘路由器标识符(ID)相关联的最佳路径、或者基于边缘路由器的参数(例如, CPU负载、容量等等)选择最佳路径。
如果在特定集群中无法得到针对某一前缀的集群内路径,则CBRR 330可以比较由其他集群中的边缘节点所通告的针对该前缀的集群间路径。在至少一个实施例中,CBRR330可以使用在IGP通告中携带的IGP度量 (例如,成本)来进行比较。例如,由边缘节点发起并且发送到CBRR 330的链路状态通告(LSA)可以包括被通告的路径的成本。在LSA被转发到CBRR 330之前,集群的区域边界路由器可以将该成本注入LSA中。边缘节点和区域边界路由器可以被分组为与CBRR 330正在尝试针对前缀找到最佳路径的特定集群不同的集群。应当注意,在至少一些实施例中,当比较可用的集群间路径的成本时,从CBRR 330到达ABR的成本不被考虑在内。
图4是示出通信系统300的附加元件和集群的简化框图。如图4中所示,通信系统300还可以包括被划分到第三集群380(例如,集群C)中的附加节点。集群C包括区域边界路由器350(例如,ABR3)和边缘路由器 355(例如,ER5和ER6)。也可以在集群C中提供其他节点(例如,内部路由器)(未示出)。通信系统300还可以包括被实现为在基于云的路由反射器(CBRR)330和ABR1之间的路由器357的节点(例如,R1)。
图4中示出了包括集群路由表395的附加元件,该集群路由表395可以由CBRR 330维护。在至少一个实施例中,集群路由表395被配置为路由信息库(RIB),并且可以包括与外部网络地址的前缀相关联的路由信息。该路由信息可以由通信系统300中的边缘节点ER1-ER6通告。集群路由表395可以包括针对自治系统中的每一集群的按集群的路由信息。
集群路由表395中的路由信息可以包括但不限于能够实现针对CBRR 330的客户端(例如,ER1-ER6)的最优路径选择的路由器ID和IGP度量 (例如成本、距离)。存储在集群路由表395中的IGP度量可以从集群的根节点(例如,ABR1、ABR2、ABR3)到集群内的客户端(例如,ER1- ER6)测量得到。通信系统300中的节点之间的每一跳的示例IGP成本在 390处表示。IGP下一跳成本390被用来计算存储在集群路由表395中的 IGP成本。例如,如云路由表395的集群A信息所示,从ABR1到ER1和到ER2的成本各自是1,因为每条路径遍历具有成本为1的一跳。从ABR1 到ER3和到ER4的成本各自是2,因为每条路径遍历两跳并且每一跳的成本为1。从ABR1到ER5和到ER6的成本各自是3,因为每条路径遍历两跳,其中一跳成本为1且另一跳成本为2。
根据本文所公开的实施例,当CBRR 330正在为集群选择最佳路径时,可以在至少一些情况下考虑IGP度量。例如,在至少一个实施例中,当针对特定的集群标识多条集群内路径时,指示将会选择哪条路径的打破僵局策略可以是基于IGP度量的。一种可能的策略可以要求选择具有最低IGP 度量的路径。然而,在图4的示例中,集群内的每个边缘路由器具有相同的成本。因此,在这种情况下可以使用另一种打破僵局策略(例如,最低/ 最高路由器ID、边缘路由器的参数,等等)。
在另一示例中,当集群不具有集群内路径时,可以比较集群间路径以确定哪条路径提供最低的成本。例如,假设路径ER3和ER5向CBRR 330 通告相同的网络地址前缀。最佳路径计算可以包括从集群A的根节点 ABR1的角度比较ER3和ER5的路由。最佳路径计算可以指示从ABR1的角度ER3具有成本2,而从ABR1的角度E5具有成本3。因此,E3可以被选择为针对网络地址前缀的最佳路径。
图5是可以与本文所描述的实施例相关联的操作的可能流程500的流程图。在至少一个实施例中,一组或多组操作对应于图5的活动。基于云的路由反射器(例如,30、330、430)可以采用这一组或多组操作。基于云的路由反射器可以包括用于执行操作的装置,例如至少一个处理器(例如,39)。在实施例中,流程500的至少一些操作可以由在基于云的路由反射器中的边界网关协议最优路由反射器(例如,60)的优化最佳路径选择逻辑(例如,62)执行。
在502处,基于云的路由反射器(CBRR)从自治系统中的客户端(例如,边缘路由器、内部路由器)接收可达性信息。在至少一个实施例中,该可达性信息可以以在CBRR和每个客户端之间所建立的BGP会话中的更新消息的形式接收。更新消息可以通告在更新消息中被通告的可行路由的互联网协议(IP)地址前缀。网络地址前缀与自治系统外部的一组目的地相关联。
在504处,CBRR可以在自治系统中标识它的客户端,该自治系统包括例如边缘节点和区域边界路由器。在506处,CBRR可以将经标识的客户端分组为集群。该集群分组可以基于在现有协议中接收到的信息手动地或自动地执行,该信息例如包括集群标识符,集群标识符是BGP属性,并且可以被CBRR 330用于确定哪些节点是在相同的集群中。边缘节点和区域边界路由器两者都是BGP节点,并且如果它们在相同的集群中则共享相同的集群ID。在其他实施例中,集群可以对应于IGP的区域(或级别)。在其他实施例中,集群可以手动配置。
图5中示出的后续操作可以针对特定的集群和特定的网络地址前缀而执行。然而,可以重复这种操作以对每个集群选择针对每个可能的网络地址前缀的最佳路径。在508处,CBRR确定针对网络地址前缀的集群内路径是否在该集群中可用。为了做出决定,可以评估来自BGP更新消息的可达性信息以确定是否有在集群中的任何客户端(例如,边缘路由器)已经通告针对该网络地址前缀的路径。
在510处,确定是否在集群中标识了一条或多条集群内路径。如果已经标识了一条或多条集群内路径,则在518处,从所标识的一条或多条集群内路径中为集群选择单个最佳路径。如果标识了多个集群内路由,则可以使用任何适合的打破僵局策略(例如,IGP度量比较、最低或最高边缘路由器标识符(ID)、边缘路由器参数,等等)以做出该决定。
如果在510处确定一条或多条集群内路径不可用,则在512处,CBRR 可以确定在其他集群中针对网络地址前缀的集群间路径是否可用。为了做出该决定,可以评估来自BGP更新消息的可达性信息以确定在其他集群中的任何客户端(边缘路由器)是否已经通告针对该网络地址前缀的路径。
在514处,确定是否标识了一条或多条集群间路径。如果标识了一条或多条集群间路径,则在522处从所标识的一条或多条集群间路径中为集群选择单个最佳路径。在至少一个实施例中,如果标识了多条集群间路径,则CBRR可以使用例如从IGP通告中获得的IGP度量来比较所标识的集群间路径。通常,具有最低成本或最低跳数的集群间路径可以被确定为最佳路径并且被CBRR选定为针对该集群的最佳路径。
一旦已经为集群选定单个最佳路径(集群间或集群内),则在524处, CBRR可以向集群中的每个客户端通告最佳路径。该通告还可以包括与最佳路径相关联的网络地址前缀。然而,在至少一些实施例中,如果选定的最佳路径是集群内路径,则CBRR可以不向从其接收到该路径的客户端通告选定的最佳路径。
在至少一个实施例中,当CBRR接收到BGP更新消息时,在一些情况下可以重新评估最佳路径。例如,来自客户端的更新消息可包括正被撤销的IP地址前缀(因为路由被认为不再可达)。在该情况下,可以重新计算针对被撤销的IP地址前缀的任何最佳路径选择,以选择新的有效的(即,可用的)最佳路径。在另一示例中,来自客户端的更新消息可以包括新的IP地址前缀(因为现在路由被客户端认为是可达的)。如果客户端被分组到当前使用集群间路径作为最佳路径的集群中,则可以重新计算针对集群的最佳路径选择以选择新的集群内路径以供集群内的节点使用。
现参考图6,图6是示出自治系统中的优化最佳路径选择的通信系统 600的另一可能配置的框图。通信系统600包括基于云的虚拟路由反射器 630、区域边界路由器650、以及提供商边缘路由器650。更具体地,通信系统600包括基于云的虚拟路由反射器1(VRR1)、基于云的虚拟路由反射器2(VRR2)、提供商边缘路由器1(PE1)、提供商边缘路由器2 (PE2)、提供商边缘路由器3(PE3)、提供商边缘路由器4(PE4)、提供商边缘路由器5(PE5)、提供商边缘路由器6(PE6)、区域边界路由器1(ABR1)、以及区域边界路由器2(ABR2)。在一些情况下,两个集群(集群1和集群2)中的每一个可以具有其自己的IGP区域。VRR1包括作为其客户端的PE1、PE2、PE3和ABR1。VRR2包括作为其客户端的PE4、 PE5、PE6和ABR2。VRR1和VRR2在它们之间对等地运行内部边界网关协议(iBGP),而无需客户端。此外,VRR1和VRR2可以是用优化最佳路径选择逻辑运行BGP-ORR的虚拟路由反射器(因为VRR1和VRR2不在转发路径中)。在至少一个实施例中,VRR1和VRR2可以在基于Linux 的平台上运行。ABR1和ABR2在集群1和集群2之间执行实际的数据路径转发。
在以上的情况中,根据至少一个实施例,VRR1可以执行若干种功能。首先,VRR1可以标识PE1、PE2、PE3和ABR1作为其客户端并且将它们在同一策略(例如,集群)下分组。其次,可以向客户端路径赋予优先级。例如,VRR1可以从PE1、PE2或PE3接收的路径中自动地优选某路径作为它的最佳路径,并且向VRR1的所有客户端宣布该最佳路径。如果VRR1 必须在多条客户端路径中进行选择,则VRR1可以或者执行IGP度量比较,或者选择最低的路由器ID,并选择最佳路径。再次,在不具有客户端(集群内)路径的情况中,VRR1可以针对从其iBGP VRR接收的给定前缀比较集群间路径。该比较可以使用由相应集群的ABR和ABR1注入的区域间子网链路状态通告(LSA)的IGP成本。基于该比较,VRR1可以决定针对其客户端的最佳路径。iBGP VRR可以包括VRR2和在其他集群中的任何其他VRR。作为示例,在以上情况下,区域间LSA的IGP成本可以由 ABR1和ABR2注入。例如,VRR1可以从ABR1接收PE4、PE5和PE6的区域间LSA。VRR1可以获得区域间LSA中携带的度量成本(由ABR1计算得到)作为集群间路径的下一跳的IGP度量成本(无需增加到达ABR1 的成本)。基于该信息,VRR1可以决定最佳路径。
在至少一个实施例中,本文所表示的概念可以使用开放最短路径优先 (OSPF)作为集群内的内部网关协议(IGP)而实现。OSPF是基于链路状态通告(LSA)的最短路径优先的针对互联网协议(IP)网络的IGP。也可以实现VRR1和ABR1之间的OSPF对等互联。在至少一个实施例中,根据特定需求可以实现OSPF下比特扩展(downbit extension),以避免区域间LSA的泄露。在至少一个其他实施例中,本文所表示的概念可以使用中间系统到中间系统(IS-IS)或任何其他合适的内部网关协议来实现。可以使用IS-IS对等互联或BGP-链路状态(BGP-LS)对等互联。BGP-LS是用来通告拓扑信息的一组简单扩展。
变化和实现方式
网络环境中的通信在本文中指的是“网络流量”或“流量”,其可以包括分组。分组是格式化的数据单元,并且可以包含控制信息(例如,源地址和目的地地址等等)和数据(也被称为有效载荷)两者。可以根据任何合适的通信消息传送协议来发送和接收网络流量。合适的通信消息传送协议可以包括诸如开放系统互联(OSI)模型之类的多层级方案或其任何衍生或变体(例如,传输控制协议/IP(TCP/IP)、用户数据报协议/IP (UDP/IP)等等)。本文使用的术语“数据”指的是任何类型的二进制、数字的、音频的、视频的、文本的、或脚本数据、或任何类型的源代码或目标代码、或能够从电子设备和/或网络的一个端点被传送到另一个端点的任何适合形式的任何其他合适的信息。此外,广告、消息、请求、响应、回复、查询等等都是网络流量的形式,因此可以包括分组。
如本文所使用的术语“网络元件”意为包括任何前述元件,以及路由器、交换器、无线接入点(WAP)、网关、桥接器、负载平衡器、装置、防火墙、服务器、处理器、模块(任何可以在物理硬件上物理地或虚拟地实现)或可操作用来在网络环境中交换信息的任何合适的设备、组件、元件、专用设备或对象。网络元件可以包括辅助以上各项操作的任何合适的硬件、软件、组件、模块、接口或对象。这可以包括允许有效交换数据或信息的适合的算法和通信协议。
在至少一个示例的实现方式中,具有优化最佳路径选择能力的节点 (例如,节点30、基于云的路由反射器330、基于云的虚拟路由反射器630) 包括用来实现(或促进)本文概述的活动的逻辑。这可以包括为不具有转发能力的节点提供可达性信息的TLV元件的实现方式。应当注意,在至少一个示例中,这些元件中的每一个都可以具有内部结构(例如,处理器、存储元件、网络接口卡等等)以辅助本文描述的一些操作。在一些实施例中,用于选择最佳路径的这些活动可以在这些元件外部执行,或者被包括在一些其他网络元件中以实现该预期的功能。在至少一个实施例中,这些节点可以包括可与其他网络元件协调以便实现本文所述的操作的逻辑(或往复逻辑)。此外,一个或若干个设备可以包括辅助以上各项操作的任何合适的算法、硬件、固件、软件、组件、模块、接口或对象。
在某些示例的实现方式中,本文所概述的优化最佳路径选择功能可以由在一种或多种有形介质中编码的逻辑来实现,例如,在专用集成电路 (ASIC)中提供的嵌入式逻辑,数字信号处理器(DSP)指令,由一个或多个处理器或其他类似机器执行的软件(很可能包括对象代码和源代码),在软件、硬件、固件、或以上各项的组合中的指令,等等。在至少一个实施例中,该有形介质可以是非暂态的。在一些这种示例中,一个或多个存储器元件能够存储用于执行本文描述的操作的数据。这包括能够存储被执行以实施本文描述的活动的软件、逻辑、代码、和/或处理器指令的存储器元件。处理器可以执行与数据相关联的任何类型的指令以实现本文详述的操作。在一个示例中,处理器可以将元件或文本(例如,数据)从一个状态或状况转换到另一个状态或状况。在另一示例中,本文概述的活动可以用固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)实现,并且本文标识的元件可以是一些类型的可编程处理器、可编程数字逻辑 (例如,现场可编程门阵列(FPGA)、可擦除可编程只读存储器 (EPROM)、电可擦除可编程ROM(EEPROM))、或者包括数字逻辑、软件、代码、电子指令、或以上各项任何合适的组合的ASIC。
任何这些元件(例如,网络元件)可以包括用于存储用于实现本文所描述的优化最佳路径选择特征的信息的存储器。此外,这些网络元件可以包括可执行用来实现本文描述的优化最佳路径选择操作的软件、算法、或其他指令的至少一个处理器。这些网络元件还可以在任何合适的存储器元件(随机存取存储器(RAM)、只读存储器(ROM)、EPROM、ASIC等等)、软件、硬件、或任何适合的组件、设备、元件、或适合并且基于特定需求的对象中维护信息,该信息用于实现本文所讨论的优化最佳路径选择活动。本文讨论的任何存储项(例如,资源库、存储、数据库、表、高速缓存、缓存器等)应当被理解为被包括在广义术语“存储器元件”中。类似地,本文描述的任何可能的处理元件、模块以及机器应当被理解为包括在广义术语“处理器”中。网络元件中的每一个还可以包括用于在网络环境中接收、发送和/或以其他方式传送数据或信息的合适的接口。
应当注意,通过本文所描述的示例,可以在两个、三个、或更多网络元件方面描述交互。然而,这仅仅出于清晰和示例的目的而做出。在某些情境中,通过仅引用有限数量的网络元件来描述给定的一组流程的一个或多个功能可能更加容易。应当意识到,本文描述的系统是易于扩展的,并且可以容纳大量的组件和更加复杂/繁复的布置和配置。因此,所提供的示例不应限制可能用于大量其他架构和实现方式的优化最佳路径选择特性的范围或抑制其广义教导。
如本文所使用的,除非另有明确说明,短语“至少一个”的使用指的是指定元素、条件或活动的任何组合。例如,“X、Y和Z中的至少一个”意在指下列各项中的任何一个:1)X,但不是Y也不是Z;2)Y,但不是 X也不是Z;3)Z,但不是X也不是Y;4)X和Y,但不是Z;5)X和 Z,但不是Y;6)Y和Z,但不是X;或7)X、Y和Z。此外,除非另有明确说明,术语“第一”、“第二”、“第三”等等旨在区分它们修饰的特定项目(例如,元素、条件、模块、活动、操作等等)。除非另有明确说明,这些术语的使用不意在指示所修饰项目的任何类型的顺序、等级、重要性、时间序列或层级结构。例如,“第一X”和“第二X”旨在指示两个单独的X元素,不一定由这两个元素的任何顺序、等级、重要性、当前序列、或层级结构所限制。
应当注意,在本说明书中提到“优化”、“优化的”、“经优化的”、“最优”和相关术语是指特定结果的速度和/或效率方面的进步的技术领域的术语,并且不意在指示特定结果的过程已实现,或能够实现完美速率/完美效率的状态。
还应当注意,本文所示和所描述的活动、交互和操作仅说明了一些可能的优化最佳路径选择的情况和方式,该优化最佳路径选择可以由具有优化最佳路径选择能力的节点执行或在该节点中执行。该活动、交互和/或操作中的一些可以在适合的地方被删除或移除,或可以很大程度上修改或改变而不离开本公开的范围。此外,一些这种活动、交互和/或操作已被描述为与一个或多个附加的活动、交互和/或操作同时或并行执行。然而,这些活动、交互和/或操作的时间可以在很大程度上被改变。出于示例和讨论的目的,提供了上述操作的流程。具有优化最佳路径选择能力的节点提供了大量的灵活性,其中可以提供任何合适的布置、时序、配置和时间机制,而不脱离本公开的教导。此外,可以通过各种模块和/或组件来辅助这些活动,这些模块和/或组件可以以任何适合的方式被结合或以任何适合的方式被划分,并且可以基于特定的配置和/或配设需求。
尽管已经参考特定的布置和配置详细描述了本公开,这些示例的配置和布置可以被显著改变,而并不脱离本公开的范围。此外,某些组件可以基于特定的需求和实现方式而被组合、分开、减少或增加。此外,尽管已经参考特定的元素和协议示出了本文的实施例,这些元素和协议可以由实现本文所公开的具有优化最佳路径选择能力的节点的预期功能的任何合适的架构、协议和/或过程替代。
Claims (16)
1.一种用于为最优路由反射提供优化最佳路径选择的方法,包括:
由基于云的路由反射器配置自治系统中的节点的第一集群,其中,所述第一集群的节点是所述基于云的路由反射器的客户端;
确定在所述节点的第一集群中是否存在针对网络地址前缀的任何集群内路径可用;
如果确定在所述第一集群中针对所述网络地址前缀的一条或多条集群内路径可用,则从所述一条或多条集群内路径中选择最佳集群内路径;
如果在所述第一集群中没有针对所述网络地址前缀的集群内路径可用,则确定在所述自治系统的节点的至少第二集群中是否存在针对所述网络地址前缀的任何集群间路径可用;
从一条或多条集群间路径中选择最佳集群间路径;以及
向所述第一集群中的一个或多个节点通告最佳路径。
2.根据权利要求1所述的方法,其中,基于由所述基于云的路由反射器从所述第一集群中的一个或多个边缘节点接收到的可达性信息,一条或多条路径被确定为在所述第一集群中可用。
3.根据权利要求1所述的方法,其中,从可用路径中选择最佳路径是至少部分地基于针对所述可用路径的度量的比较来进行的。
4.根据权利要求3所述的方法,其中,所述度量包括所述可用路径中的每条路径的成本或距离之一。
5.根据权利要求3所述的方法,还包括:
从内部网关协议(IGP)的一个或多个协议消息中提取所述度量。
6.根据权利要求1所述的方法,其中,所述基于云的路由反射器使用一个或多个边界网关协议(BGP)会话以向所述节点的第一集群中的所述一个或多个节点通告所述最佳路径。
7.根据权利要求1所述的方法,其中,所述基于云的路由反射器是云网络中的虚拟路由反射器。
8.根据权利要求1所述的方法,其中,如果一条或多条路径包括两条或更多路径,则基于策略从所述一条或多条路径中选择所述最佳路径。
9.根据权利要求1所述的方法,其中,所述最佳路径不被通告到向所述基于云的路由反射器通告针对所述网络地址前缀的可达性信息的所述第一集群中的任何节点。
10.一种用于为最优路由反射提供优化最佳路径选择的系统,包括:
基于云的路由反射器,包括:
一个或多个处理器;以及
优化最佳路径选择逻辑,当所述优化最佳路径选择逻辑由所述一个或多个处理器执行时,执行以下操作:
配置自治系统中的节点的第一集群,其中,所述第一集群的节点是所述基于云的路由反射器的客户端;
确定在所述节点的第一集群中是否存在针对网络地址前缀的任何集群内路径可用;
如果确定在所述第一集群中针对所述网络地址前缀的一条或多条集群内路径可用,则从所述一条或多条集群内路径中选择最佳集群内路径;
如果在所述第一集群中没有针对所述网络地址前缀的集群内路径可用,则确定在所述自治系统的节点的至少第二集群中是否存在针对所述网络地址前缀的任何集群间路径可用;
从一条或多条集群间路径中选择最佳集群间路径;以及
向所述第一集群中的一个或多个节点通告最佳路径。
11.根据权利要求10所述的系统,其中,当所述优化最佳路径选择逻辑由所述一个或多个处理器执行时,执行以下操作:
基于由所述基于云的路由反射器从所述第一集群中的一个或多个边缘节点接收到的可达性信息,确定一条或多条路径在所述第一集群中可用。
12.根据权利要求10所述的系统,其中,所述基于云的路由反射器使用一个或多个边界网关协议(BGP)会话以向所述节点的第一集群中的所述一个或多个节点通告所述最佳路径。
13.至少一种计算机可读存储介质,所述计算机可读存储介质包括存储在其上的指令,当所述指令被执行时使得一个或多个处理器执行以下操作:
由基于云的路由反射器配置自治系统中的节点的第一集群,其中,所述第一集群的节点是所述基于云的路由反射器的客户端;
确定在所述节点的第一集群中是否存在针对网络地址前缀的任何集群内路径可用;
如果确定在所述第一集群中针对所述网络地址前缀的一条或多条集群内路径是可用的,则从所述一条或多条集群内路径中选择最佳集群内路径;
如果在所述第一集群中没有针对所述网络地址前缀的集群内路径可用,则确定在所述自治系统的节点的至少第二集群中是否存在针对所述网络地址前缀的任何集群间路径可用;
从一条或多条集群间路径中选择最佳集群间路径;以及
向所述第一集群中的一个或多个节点通告最佳路径。
14.根据权利要求13所述的至少一种计算机可读存储介质,其中,当所述指令被执行时使得所述一个或多个处理器执行以下操作:
基于由所述基于云的路由反射器从所述第一集群中的一个或多个边缘节点接收到的可达性信息,确定一条或多条路径在所述第一集群中可用。
15.根据权利要求13所述的至少一种计算机可读存储介质,其中,从可用路径中选择最佳路径是至少部分地基于对所述可用路径的度量的比较来进行的。
16.根据权利要求15所述的至少一种计算机可读存储介质,其中,所述度量包括所述可用路径中的每条路径的成本或距离之一。
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201562119036P | 2015-02-20 | 2015-02-20 | |
| US62/119,036 | 2015-02-20 | ||
| US14/805,300 | 2015-07-21 | ||
| US14/805,300 US10097449B2 (en) | 2015-02-20 | 2015-07-21 | Optimized border gateway protocol best path selection for optimal route reflection |
| PCT/US2016/017786 WO2016133821A1 (en) | 2015-02-20 | 2016-02-12 | Optimized border gateway protocol best path selection for optimal route reflection |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN107409092A CN107409092A (zh) | 2017-11-28 |
| CN107409092B true CN107409092B (zh) | 2021-04-09 |
Family
ID=56690077
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201680006984.1A Active CN107409092B (zh) | 2015-02-20 | 2016-02-12 | 针对最优路由反射的优化边界网关协议最佳路径选择方法和系统 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US10097449B2 (zh) |
| EP (1) | EP3259886B1 (zh) |
| CN (1) | CN107409092B (zh) |
| WO (1) | WO2016133821A1 (zh) |
Families Citing this family (41)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9992161B2 (en) * | 2014-06-03 | 2018-06-05 | The Viki Group, Inc. | DDOS protection infrastructures using IP sharing across wide area networks |
| US10015073B2 (en) | 2015-02-20 | 2018-07-03 | Cisco Technology, Inc. | Automatic optimal route reflector root address assignment to route reflector clients and fast failover in a network environment |
| US9787579B2 (en) | 2015-04-06 | 2017-10-10 | Verizon Digital Media Services Inc. | Application controlled path selection based on type-of-service |
| US10033628B2 (en) | 2015-04-06 | 2018-07-24 | Verizon Digital Media Services Inc. | Application controlled path selection over different transit providers |
| US9736059B2 (en) | 2015-04-06 | 2017-08-15 | Verizon Digital Media Services Inc. | Purging failover through application controlled transit selection |
| US10469360B1 (en) * | 2015-09-30 | 2019-11-05 | Juniper Networks, Inc. | Reverse metric advertisement for border gateway protocol route reflection inhierarchical networks |
| EP3422645B1 (en) * | 2017-06-30 | 2020-04-29 | Juniper Networks, Inc. | Conflict resolution in segment routing |
| US10742599B2 (en) * | 2017-06-30 | 2020-08-11 | Juniper Networks, Inc. | Conflict resolution in segment routing |
| US10491483B2 (en) * | 2017-10-19 | 2019-11-26 | Nicira, Inc. | Using application programming interface calls for communication between network functions |
| US10476779B1 (en) * | 2018-03-19 | 2019-11-12 | Juniper Networks, Inc. | Configuring a topology of devices to support scaling of an exchange point |
| US10778563B1 (en) * | 2018-03-22 | 2020-09-15 | Amazon Technologies, Inc. | Brick identifier attribute for routing in multi-tier computer networks |
| EP3777327A1 (en) * | 2018-03-29 | 2021-02-17 | GOOEE Limited | System and method for managing and controlling a dynamic tunneling protocol in a mesh network |
| TWI889632B (zh) | 2018-08-23 | 2025-07-01 | 美商阿爾克斯股份有限公司 | 具有主機確定學習及本地化路由與橋接整合的主機路由覆蓋機制的系統 |
| US11398973B2 (en) | 2018-09-26 | 2022-07-26 | Hewlett Packard Enterprise Development Lp | Route selection using cumulative cost |
| CN110971522B (zh) * | 2018-09-30 | 2021-09-17 | 华为技术有限公司 | 一种确定路由泄露的方法、设备和系统 |
| US10917330B1 (en) * | 2019-01-28 | 2021-02-09 | Juniper Networks, Inc. | Minimizing or reducing traffic loss when an external border gateway protocol (eBGP) peer goes down |
| CN118612135B (zh) * | 2019-03-20 | 2025-08-05 | 华为技术有限公司 | 一种区域间srmpls igp网络中进行最优路由的方法、节点及其系统 |
| US11201813B2 (en) * | 2019-05-10 | 2021-12-14 | Level 3 Communications, Llc | System and method for distribution of routes in a telecommunications network |
| US11153420B2 (en) | 2019-10-18 | 2021-10-19 | Arista Networks, Inc. | Neighbor equivalence groups |
| US11121963B2 (en) | 2019-11-04 | 2021-09-14 | Arrcus Inc. | Best path computation offload in a network computing environment |
| US11405308B2 (en) * | 2019-12-05 | 2022-08-02 | Juniper Networks, Inc. | Automatic discovery of route reflection peering end-points |
| US11329880B2 (en) * | 2020-01-09 | 2022-05-10 | Dell Products L.P. | Automatic route reflector configuration system |
| CN113364683B (zh) | 2020-03-05 | 2022-12-30 | 华为技术有限公司 | 一种路由发送方法及设备 |
| CN111614557B (zh) * | 2020-04-02 | 2021-09-24 | 深圳创维-Rgb电子有限公司 | Mesh网络的数据传输方法、装置、网关及存储介质 |
| CN113595901B (zh) * | 2020-04-30 | 2025-06-13 | 华为云计算技术有限公司 | 一种基于边界网关协议的路由选择方法及装置 |
| CN111817954B (zh) * | 2020-06-19 | 2022-07-26 | 聚好看科技股份有限公司 | 路由反射模式的切换方法及网络架构系统 |
| US11394636B1 (en) * | 2020-12-10 | 2022-07-19 | Amazon Technologies, Inc. | Network connection path obfuscation using global access points |
| WO2022169446A1 (en) * | 2021-02-03 | 2022-08-11 | Arrcus Inc. | Best path computation offload in a network computing environment |
| CN115277527A (zh) * | 2021-04-30 | 2022-11-01 | 华为技术有限公司 | 一种路由信息的处理方法及装置 |
| US11601336B2 (en) | 2021-05-18 | 2023-03-07 | Google Llc | Assigning routing paths based on interior gateway protocol metric optimization |
| US11736340B2 (en) * | 2021-06-09 | 2023-08-22 | Cisco Technology, Inc. | Signaling a prefix unreachability in a network utilizing a route summarization |
| CN114143807B (zh) * | 2021-10-27 | 2023-08-08 | 中盈优创资讯科技有限公司 | 一种路由注册完整率评价方法及装置 |
| CN114124780B (zh) * | 2021-11-15 | 2023-07-21 | 迈普通信技术股份有限公司 | 路由发布方法、装置、电子设备及存储介质 |
| US12218908B2 (en) * | 2022-02-22 | 2025-02-04 | Cisco Technology, Inc. | Secured advertisement of autoconfigured internet protocol prefixes in a cloud environment |
| US11575596B1 (en) * | 2022-03-07 | 2023-02-07 | Ciena Corporation | Identifying an ingress router of a flow in inter-AS VPN option-C networks with visibility in one AS |
| CN116806010A (zh) * | 2022-03-18 | 2023-09-26 | 华为技术有限公司 | 报文传输方法及通信装置 |
| EP4262169A1 (en) | 2022-04-12 | 2023-10-18 | Arista Networks, Inc. | Implementing border gateway protocol (bgp) optimal route reflection |
| US12463877B2 (en) * | 2022-06-16 | 2025-11-04 | AIO Technology Reserve Pte. Ltd. | Data storage method and system |
| US12381805B2 (en) * | 2022-08-16 | 2025-08-05 | Cisco Technology, Inc. | Method to select best path for SaaS using application and network telemetry |
| US12363031B2 (en) | 2023-10-31 | 2025-07-15 | Cisco Technology, Inc. | Systems and methods for optimizing access to cloud resources using preferential localization |
| CN119621263A (zh) * | 2024-11-12 | 2025-03-14 | 北京邮电大学 | 算力网络的任务调度方法和系统 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1883146A (zh) * | 2003-12-23 | 2006-12-20 | 思科技术公司 | 在路由选取协议的实现中分布路由选择的系统和方法 |
| CN102148832A (zh) * | 2011-04-07 | 2011-08-10 | 清华大学 | 高效的边界网关路由协议路径鉴定方法 |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6148000A (en) * | 1996-10-02 | 2000-11-14 | International Business Machines Corporation | Merging of data cells at network nodes |
| US6711152B1 (en) * | 1998-07-06 | 2004-03-23 | At&T Corp. | Routing over large clouds |
| EP1089517B1 (en) * | 1999-10-01 | 2005-12-14 | Nortel Networks Limited | Establishing connections accross a communications network |
| US6954790B2 (en) * | 2000-12-05 | 2005-10-11 | Interactive People Unplugged Ab | Network-based mobile workgroup system |
| US20060029035A1 (en) | 2004-03-25 | 2006-02-09 | Chase Christopher J | Method and apparatus for selecting routes for distribution within IP networks |
| US7769886B2 (en) * | 2005-02-25 | 2010-08-03 | Cisco Technology, Inc. | Application based active-active data center network using route health injection and IGP |
| US20060291446A1 (en) | 2005-06-24 | 2006-12-28 | Donald Caldwell | Systems, methods, and devices for managing routing |
| US20070091794A1 (en) | 2005-10-20 | 2007-04-26 | Clarence Filsfils | Method of constructing a backup path in an autonomous system |
| US7660296B2 (en) * | 2005-12-30 | 2010-02-09 | Akamai Technologies, Inc. | Reliable, high-throughput, high-performance transport and routing mechanism for arbitrary data flows |
| 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 |
| US8549616B2 (en) * | 2008-10-31 | 2013-10-01 | At&T Intellectual Property I, L.P. | Methods and apparatus to dynamically control access from virtual private networks to network-based shared resources |
| EP2213933A1 (en) | 2009-01-30 | 2010-08-04 | Energias Renovables del Principado, S.A. | Photovoltaic solar lampposts with network connection |
| US9036504B1 (en) * | 2009-12-07 | 2015-05-19 | Amazon Technologies, Inc. | Using virtual networking devices and routing information to associate network addresses with computing nodes |
| US8537840B1 (en) | 2011-07-26 | 2013-09-17 | Cisco Technology, Inc. | Angular distance calculation for BGP best path selection |
| US8452871B2 (en) * | 2011-08-27 | 2013-05-28 | At&T Intellectual Property I, L.P. | Passive and comprehensive hierarchical anomaly detection system and method |
| US9450817B1 (en) * | 2013-03-15 | 2016-09-20 | Juniper Networks, Inc. | Software defined network controller |
| US10015073B2 (en) | 2015-02-20 | 2018-07-03 | Cisco Technology, Inc. | Automatic optimal route reflector root address assignment to route reflector clients and fast failover in a network environment |
-
2015
- 2015-07-21 US US14/805,300 patent/US10097449B2/en not_active Expired - Fee Related
-
2016
- 2016-02-12 WO PCT/US2016/017786 patent/WO2016133821A1/en not_active Ceased
- 2016-02-12 CN CN201680006984.1A patent/CN107409092B/zh active Active
- 2016-02-12 EP EP16706723.0A patent/EP3259886B1/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1883146A (zh) * | 2003-12-23 | 2006-12-20 | 思科技术公司 | 在路由选取协议的实现中分布路由选择的系统和方法 |
| CN102148832A (zh) * | 2011-04-07 | 2011-08-10 | 清华大学 | 高效的边界网关路由协议路径鉴定方法 |
Non-Patent Citations (1)
| Title |
|---|
| BGP Optimal Route Reflection(BGP-ORR) draft ietf -idr-bgp-optimal-route-reflection-08;R.Raszuk等;《IETF》;20141022;参见第3节 * |
Also Published As
| Publication number | Publication date |
|---|---|
| EP3259886A1 (en) | 2017-12-27 |
| US20160248663A1 (en) | 2016-08-25 |
| EP3259886B1 (en) | 2019-07-24 |
| CN107409092A (zh) | 2017-11-28 |
| WO2016133821A1 (en) | 2016-08-25 |
| US10097449B2 (en) | 2018-10-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN107409092B (zh) | 针对最优路由反射的优化边界网关协议最佳路径选择方法和系统 | |
| US10541905B2 (en) | Automatic optimal route reflector root address assignment to route reflector clients and fast failover in a network environment | |
| US8537840B1 (en) | Angular distance calculation for BGP best path selection | |
| CN101606341B (zh) | 用于在穿过提供商网络的ce-ce路径上高效路由ip流量的技术 | |
| US7978708B2 (en) | Automatic route tagging of BGP next-hop routes in IGP | |
| US9019865B2 (en) | Advertising traffic engineering information with the border gateway protocol | |
| RU2580063C2 (ru) | Способ и узел для поддержки маршрутизации через путь между автономными системами | |
| US11290394B2 (en) | Traffic control in hybrid networks containing both software defined networking domains and non-SDN IP domains | |
| CN101133408A (zh) | 穿过一组自治系统的最短域间流量工程标签交换路径计算 | |
| US8667174B2 (en) | Method and system for survival of data plane through a total control plane failure | |
| CN101455030A (zh) | 动态共享风险节点组(srng)成员发现 | |
| CN112118178B (zh) | 网络装置和用于ip网络中基于类别的流量工程的方法 | |
| US8014318B2 (en) | Routing-based proximity for communication networks to routing-based proximity for overlay networks | |
| US7957289B2 (en) | Method to reduce IGP routing information | |
| CN101155119B (zh) | 一种确定自治系统边界节点的方法、装置及路径计算方法 | |
| CN111245716A (zh) | 域间路由方法、设备和系统 | |
| Kumar et al. | Improving routing in large networks inside autonomous system | |
| CN103036786B9 (zh) | 基于性能的路由方法和设备 | |
| CN103036786B (zh) | 基于性能的路由方法和设备 | |
| Alam | A Proportional Performance Investigation Route Relocation Amongthree Different Routing Protocols Using Opnet Simulation | |
| Cakaj | Implementing OSPF for ISP |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |