CN107528779B - 用于网络的方法、路由器以及存储介质 - Google Patents
用于网络的方法、路由器以及存储介质 Download PDFInfo
- Publication number
- CN107528779B CN107528779B CN201710455171.7A CN201710455171A CN107528779B CN 107528779 B CN107528779 B CN 107528779B CN 201710455171 A CN201710455171 A CN 201710455171A CN 107528779 B CN107528779 B CN 107528779B
- Authority
- CN
- China
- Prior art keywords
- igp
- link
- domain
- metrics
- metric
- 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/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- 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/033—Topology update or discovery by updating distance vector protocols
-
- 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/12—Shortest path evaluation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及用于网络的方法、路由器以及存储介质。总体地,描述技术,通过这些技术,提供链路度量的缩放的端到端视图,以整合多个不均匀的内部网关协议(“IGP”)域。例如,包括分配给第一IGP域内的链路的链路度量的累积的内部网关协议(“AIGP”)属性、非可递BGP属性被缩放,以符合第二IGP域的度量尺度。AIGP属性还可以添加分配给第二IGP域内的链路的链路度量,并且可以添加连接IGP域的非IGP链路的静态度量。IGP域可以将其IGP设置为缩放的AIGP属性,使得链路度量可以包括跨IGP域的链路度量的均匀缩放的端到端视图。此外,根据缩放技术,向假链路分配度量值。
Description
本申请要求于2016年6月15日提交的印度专利申请201641020463的优先权,其全部内容通过引证结合于此。
技术领域
本公开的技术涉及计算机网络,并且更具体地,涉及在计算机网络中提供路由信息。
背景技术
计算机网络是交换数据和共享资源的互连计算设备的集合。在诸如因特网等基于数据包的网络中,计算设备通过将数据划分成称为数据包的小块来传送数据,这些小块被单独地跨越网络从源设备路由到目标设备。目标设备从数据包中提取数据,并将数据组装成其原始形式。被称为路由器的网络中的某些设备使用路由协议来交换和累积描述网络的拓扑信息。这允许路由器构建其自己的网络路由拓扑图。接收到传入的数据包后,路由器检查数据包内的关键信息,并根据累积的拓扑信息转发数据包。
许多网络内路由协议使用基于洪泛的分配机制来向网络内的路由器通知拓扑信息。这些网络内路由协议通常依赖于路由算法,这些算法要求每个路由器具有同步的路由拓扑信息。例如,开放最短路径优先(OSPF)路由协议和中间系统到中间系统(IS-IS)路由协议是链路状态协议,这些协议使用传达链路状态表示的消息来确保其路由拓扑相对于与网络链路相关联的可用接口、度量以及其他变量同步。例如,OSPF使用链路状态通告(LSA),而IS-IS使用链路状态协议数据单元(PDU)来交换有关网络拓扑的信息。消息(诸如用于根据链路状态协议传送链路状态表示的消息)在本文中通常被称为链路状态通告(LSA),并且OSFP LSA和IS-IS LS PDU是这种LSA的示例。
接收路由器使用经由链路状态通告接收的信息来构建和维护其自己的网络拓扑。这些链路状态通告可以包括标识与链路相关联的成本度量的信息以及通常用于根据链路状态协议选择通过网络的路径的任何其他约束。这样,给定IGP域内的每个路由器(通常在整个范围内延伸,但不超出自治系统)维护并构造IGP域的拓扑的表示。
IGP域内的每个路由器可以根据分配给沿着两个节点之间的每个路径的每个链路的成本度量,计算该路径的距离。接下来,每个路由器可以在两个节点之间选择所谓的“最佳路径”或“最短路径”,作为具有最短距离(即,根据分配给沿着该路径的每个链路的成本度量计算的最低总成本度量)的两个节点之间的路径。每个路由器可以重复该过程,以识别网络中每对节点之间的最佳路径,从而解决网络拓扑的表示,以识别用于沿着所识别的最佳路径转发网络业务的转发信息。
鉴于IGP仅限于提供关于网络内部的信息,IGP通常在范围上限于单个自治系统。为了将多个自治系统拼接在一起,位于自治系统边缘的路由器(其可以被称为自治系统边界路由器(ASBR)),可以执行外部路由协议,例如,边界网关协议(BGP)或BGP标记的单播协议(BGP-LU)等。BGP在自治系统(AS)之间交换路由和可达性信息。然而,BGP可能不保留链路状态信息,例如,分配给各个链路的成本度量。
为了克服BGP在传送链路状态信息方面的不足之处,核心网络可以执行累积IGP(AIGP),这使得BGP或BGP-LU能够跨越IGP域传送IGP度量。例如,AIGP提供了AIGP属性、非可递的BGP路径属性(包括累积的IGP度量)。路由器可以接收AIGP属性,并使用累积的IGP度量来确定跨越IGP域的两个节点之间的距离。然而,由于IGP在各种IGP域中的不均匀部署,所以使用AIGP可能会将各种问题注入到路径选择过程中。
发明内容
总体地,描述技术,其中链路度量的缩放的端到端视图提供多个不均匀的内部网关协议(“IGP”)域的整合。例如,包括分配给第一IGP域内的链路的链路度量的累积的内部网关协议(“AIGP”)属性、非可递BGP属性被缩放,以符合第二IGP域的度量尺度。缩放的AIGP属性还可以添加分配给第二IGP域内的链路的链路度量,并且可以添加连接IGP域的非IGP链路的静态度量。IGP域可以基于AIGP属性来更新网络的拓扑的表示,使得链路度量可以包括跨IGP域的链路度量的均匀缩放的端到端视图。以这种方式,路由器可以基于网络拓扑的更新表示选择通过网络的路径并且沿所选路径转发网络业务。
在一个示例中,一种方法包括:通过位于第二IGP域的边界上的网络设备接收分配给第一IGP域内的链路的链路度量。该方法还包括通过所述网络设备缩放分配给所述第一IGP域内的所述链路的链路度量,以使得分配给所述第一IGP域内的所述链路的链路度量与所述第二IGP域的度量尺度一致。该方法还包括通过所述网络设备更新包括所述第一IGP域和所述第二IGP域的网络的拓扑的表示,以包括所缩放的链路度量。
在另一示例中,一种路由器包括:至少一个处理器,其耦合到存储器,其中,所述处理器执行软件,所述软件被配置为:接收分配给第一IGP域内的链路的链路度量;缩放分配给所述第一IGP域内的所述链路的链路度量,以使得分配给所述第一IGP域内的所述链路的链路度量与所述第二IGP域的度量尺度一致;并且更新包括所述第一IGP域和所述第二IGP域的网络的拓扑的表示,以包括所缩放的链路度量。
在另一示例中,一种计算机系统,包括:一个或多个处理器,一个或多个计算机可读存储器和一个或多个非暂时计算机可读存储介质;存储在所述一个或多个存储介质中的至少一个存储介质上的程序指令,用于经由所述一个或多个存储器中的至少一个存储器通过所述一个或多个处理器中的至少一个执行,以接收分配给第一IGP域内的链路的链路度量;存储在所述一个或多个存储介质中的至少一个存储介质上的程序指令,用于经由所述一个或多个存储器中的至少一个存储器通过所述一个或多个处理器中的至少一个处理器执行,以缩放分配给所述第一IGP域内的所述链路的链路度量,以使分配给所述第一IGP域内的所述链路的链路度量与所述第二IGP域的度量尺度一致;以及存储在所述一个或多个存储介质中的至少一个存储介质上的程序指令,用于经由所述一个或多个存储器中的至少一个存储器通过所述一个或多个处理器中的至少一个处理器执行,以更新包括第一和第二IGP域的网络的拓扑的表示,以包括缩放的链路度量。
在以下附图和说明书中阐述了这些技术的一个或多个方面的细节。这些技术的其他特征、目的和优点将通过说明书和附图以及通过权利要求书变得显而易见。
附图说明
图1是示出根据本公开中描述的技术的各个方面操作的示例网络的方框图,以将具有IGP的非均匀部署的IGP域连接在一起;
图2是示出根据本公开中描述的技术的使用假链路的示例的方框图;
图3是示出执行本公开中描述的技术的各个方面的示例路由器的方框图;以及
图4是示出在实现本公开中描述的技术时的网络设备的示例操作的流程图。
具体实施方式
图1是示出根据本公开中描述的技术的各个方面操作的示例网络10的方框图,以将具有IGP的非均匀部署的IGP域连接在一起。在图1的示例中,网络10包括多个自治系统4A、4B(统称为“AS 4”)。尽管图1中的图示公开了两个自治系统,但是网络10也可以包括任意数量的自治系统。AS 4中的每一个表示由单个管理实体(例如,工商企业或业务部门)的公共网络管理员控制的单个网络或一组网络。如本文所述,自治系统通常可以被称为路由域或内部网关协议(“IGP”)域。在图1的示例中,AS4中的每一个执行IGP,以形成IGP域5A,而公共核心3执行另一IGP,以形成IGP域5B。
在图1的示例中,公共核心3可以表示用于在相应AS 4的提供商边缘路由器6A、6B(其中,提供商边缘路由器6A、6B可以统称为“PE 6”)之间交换路由的核心网络。公共核心3可以提供路径,用于通过各种协议在不同的自治系统之间交换信息。公共核心3还可以实现包括以下的协议,以便跨越核心转发数据包:边界网关协议标记的单播协议(BGP-LU)、资源预留协议(RSVP)或标签分发协议(LDP)协议。
在图1的示例中,AS4内的路由器可以实现IGP,以在内部交换链路状态信息(例如,成本度量),并且便于在遍布单个路由域(可以称为“IGP域”)的端点设备之间转发数据包或其他数据单元。IGP的示例包括开放最短路径优先(OSPF)路由协议和中间系统到中间系统(IS-IS)路由协议。OSPF和IS-IS是IGP的示例,使用链路状态表示来传送与网络链路相关联的度量、可用接口和其他变量。例如,OSPF使用链路状态通告(LSA),而IS-IS使用链路状态协议数据单元(PDU)来交换信息。在一个示例中,AS 4A、4B可以实现OSPF,以在内部传送链路状态表示,以确保其路由拓扑相对于与网络链路相关联的可用度量、接口和其他变量同步。相反,公共核心3可以实现IS-IS,以传达链路状态表示。
通常,由路由器输出的链路状态通告指定到路由域内的其他路由器的网络链路以及相关联的成本度量。基于所传送的链路状态通告,路由器可以配置拓扑的表示。例如,路由器可以形成数据结构,表示相应路由器之间的链路以及与其相关联的成本度量。路由器然后可以基于链路状态通告来实现路径选择算法(例如,Dijkstra的算法),以关于数据包的每个源和目标确定通过网络的“最短路径”或“最佳路径”。每个路由器可以使用最短路径转发业务。
AS4的PE 6可以通过诸如自治系统边界路由器(“ASBR”)10A-10D、20A-20D等边界路由器互连,其中,每个ASBR用作到相应IGP域外的路由器的网关。ASBR可以经由诸如BGP或BGP-LU等网络间协议来使PE6和公共核心3互连,使得ASBR 10和20可以通告与自治系统的路由器相关联的路由信息。BGP网络内的每个路由器通常根据路由器上存储的路由和数据包的目的地址来转发数据包。然而,BGP不保留链路状态信息,例如,分配给各个链路的成本度量。作为一个示例,ASBR 10C、10D、20C和20D可以将PE 6B和公共核心3互连。同样,ASBR10A、10B、20A和20B可以将PE 6A和公共核心3互连。
链路14A、14B(统称为“链路14”)可以提供ASBR10之间的互连。同样,链路24A、24B(统称为“链路24”)可以提供ASBR20之间的互连。链路14和24是非IGP链路,不包括成本度量。
为了克服缺乏通过BGP的通信链路状态信息的问题,核心网络可以执行累积IGP(AIGP),这使得BGP或BGP-LU能够在跨越IGP域传送IGP度量。例如,AIGP提供了AIGP属性、非可递的BGP路径属性(其包括累积的IGP度量)。路由器可以接收AIGP属性,并使用累积的IGP度量来确定跨越IGP域的两个节点之间的距离。AIGP的另外的示例描述于P.Mohapatra等人于2014年8月提交的题为“The Accumulated IGP Metric Attribute for BGP”的RFC7311中,其全部内容通过引证结合于此。
然而,由于IGP在遍布各种IGP域中的不均匀部署,所以使用AIGP可能会将各种问题注入到路径选择过程中。例如,公共核心3可以使用与AS 4A、4B的IGP度量方案不同的IGP度量方案来操作。AS 4A、4B均可以实现一个IGP(例如,OSPF),其中,该IGP域中的10吉比特以太网链路的度量尺度可以为10,而公共核心3可以实现另一个IGP(例如,IS-IS),其中,该IGP域中的10吉比特以太网链路的度量尺度可以为100。由于不同的度量尺度,所以在IGP域之间不准确地通告成本度量。此外,AIGP不考虑非IGP链路(例如,链路14和24)的成本度量。同样,利用AIGP的路由器可能不准确地确定跨越多个非均匀IGP域的两个节点之间的最短路径(例如,PE 6A至PE 6B)。
根据本公开中描述的技术,ASBR 10和20可以包括用于跨越非均匀IGP域5而使得链路度量一致的缩放技术。如下面进一步描述的,路由器(例如转发由远程PE 6传送的链路度量的ASBR 10和20)应用算术运算,以缩放一个IGP域5的链路度量,以便与另一IGP域5的度量尺度一致。
在操作中,AS 4B可以实现IGP(例如,OSPF),使得来自AS 4B的链路状态通告可以包括与AS 4B中的链路相关联的成本度量。ASBR 10D可以使用BGP(作为AIGP属性)对被分配给AS 4B内的链路的链路度量进行再分配。例如,ASBR 10D可以使用相应的BGP标签来交换IGP标签,并将消息转发给公共核心3。举例而言,AS 4B的累积IGP度量可以为1000。当ASBR10D接收到数据包时,ASBR 10D具有通过远程ASBR(例如,ASBR 10A)到达远程PE(例如,PE6A)的BGP路径。ASBR 10D可以利用相应的BGP标签(其包括具有AS 4B的IGP度量的AIGP属性)交换IGP标签,并向公共核心3转发数据包。
当ASBR 10C(IGP域5B的边界路由器)接收到AIGP属性时,ASBR10C的策略(如下面进一步描述的)被配置为将AIGP属性转换为符合IGP域5B的度量尺度。如上所述,AIGP属性包括IGP域5A(其实现OSPF)的成本度量。实现不同IGP(例如,IS-IS)的IGP域5B可以使用用于10吉比特以太网链路的100的度量尺度,而IGP域5A的AS 4B可以使用用于相同的10吉比特以太网链路的10的度量尺度。网络10的管理员可以将ASBR 10C配置为调整AIGP属性的尺度,例如,通过将AS 4B的AIGP属性(1000)乘以10,使得AIGP属性(其包括IGP域5A的AS 4B的IGP度量)可以符合IGP域5B的度量尺度。ASBR 10C可以推送适当的标签(例如LDP、RSVP等)并转发到ASBR 10B。
ASBR 10B可以将分配给公共核心3内的链路的成本度量与缩放的AIGP属性相加,使得AIGP属性可以使IGP域5A与IGP域5B结合。举例而言,IGP域5B度量值可以为100。ASBR10B可以将IGP域5B的100的IGP度量值与缩放的AIGP属性(包括用于AS 4B的1000的IGP度量)相加。
ASBR 10B可以将AIGP属性转发到目标PE 6A,从而颠倒上面执行的操作。例如,ASBR 10B可以缩放AIGP属性,以符合IGP域5A的度量尺度。使用上述示例,ASBR 10B接收当前被缩放以符合公共核心3(例如,10,000的AS 4B度量;100的核心度量)的AIGP属性。与AS4B一样,AS 4A也可以实现OSPF并使用相同的度量尺度。因此,ASBR 10B可以缩放AIGP属性,以符合IGP域5A的度量尺度。例如,包括用于AS4B(例如,10,000)和公共核心3(例如,100)的IGP度量的AIGP属性除以10,使得AIGP属性符合IGP域5A的尺度。以这种方式,缩放的AIGP属性可以提供网络10的拓扑的更新表示,包括用于AS 4B(例如,1000)和公共核心3(例如,10)的均匀缩放的IGP度量。
本公开的技术还可以针对互连ASBR的非IGP链路14和24将静态度量与AIGP属性相加。作为一个示例,可以在互连ASBR 10C和ASBR 10D的非IGP链路14B上配置BGP会话,并且可以在互连ASBR 10A和ASBR10B的非IGP链路14A上配置另一BGP会话。ASBR 10B、10C可以分别为链路14A、14B分配静态度量(例如,静态度量值1),并将静态度量与加AIGP属性相加。ASBR 10B、10C可以进一步缩放分配给链路14A、14B的静态度量,以使静态度量符合对应的一个IGP域5的度量尺度。以这种方式,AIGP属性可以包括非IGP链路的缩放IGP度量。
举例而言,继续上述示例,ASBR 10C可以针对互连ASBR 10C和ASBR 10D的非IGP链路14B分配静态度量1。ASBR 10C可以将链路14B的静态度量尺度放大至10倍,使得链路14B的静态度量符合IGP域5B的度量尺度。以这种方式,基于IGP域5B的度量尺度,从ASBR 10C到PE 6B的距离可以是10,010(例如,用于放大到ASGP域5B的AS 4B的成本度量10,000,和用于链路14B的静态度量10)。
同样,ASBR 10B可以针对将ASBR 10A互连到ASBR 10B的链路14A分配和添加静态度量。ASBR 10B可以为链路14A分配静态度量(例如,静态度量值1),并将静态度量添加到AIGP属性中。ASBR 10B可以将链路14A的静态度量尺度放大至10倍,使得链路14A的静态度量符合IGP域5A的度量尺度。同样,ASBR可以更新AIGP属性,使得AIGP属性可以提供从ASBR10A到PE 6B的均匀缩放的端到端网络间度量视图,包括分配给非IGP链路的度量链路。
ASBR 10A可以接收更新的AIGP属性,其提供从ASBR 10A到PE 6B的均匀缩放的端到端网络间度量视图。ASBR 10A可以将AIGP属性再分配为AS 4A中PE 6A的IGP度量。在图1的示例中,ASBR 10A可以泄漏AIGP属性(其包括公共核心3度量(例如10)、本地链路14A(例如,1)和14B(例如,1)的静态度量以及AS 4B的度量(例如,1000))作为AS 4A的IGP度量,犹如不同IGP域的成本度量来自单个IGP域。
因此,PE 6A可以选择在跨越具有IGP的非均匀部署的IGP域的两个节点(例如,PE6A至PE 6B)之间的最短路径,其中,沿着所选路径转发网络业务,就像传统的基于BGP的AS间虚拟专用网络那样。并非基于来自单个IGP域的成本度量或跨约不符合的IGP域的成本度量来选择最短距离,PE 6A可以基于从缩放的AIGP属性复制的IGP度量来确定距离,使得PE6A可以准确地确定跨越具有不均匀的IGP部署的IGP域的最短路径。
作为一个示例,PE 6A被多归属到具有直接链路(immediate link)14A、24A的ASBR10A和20A,其中,链路14A具有度量值100,并且链路24A具有度量值500。在一个示例中,ASBR20A-20D可以具有PE 6之间的最短距离。通常,PE 6A基于连接到PE 6A的直接链路的距离,选择沿着最短距离的路由(例如,度量链路14A),而不考虑IGP域5A外的链路。根据本公开的技术,PE 6A的IGP度量被包括在AIGP属性中的均匀缩放的端到端IGP度量值代替。以这种方式,本公开的技术能够实现端到端的统一度量视图,使得PE 6A和PE 6B可以跨越IGP到BGP的转换而发送和接收链路,而不会丢失IGP度量,并且可以利用端到端度量视图综合地评估包括非IGP链路的IGP度量。
图2是示出根据本公开中描述的技术的使用假链路(sham-link)26的示例的方框图。图2类似于图1的网络10,除了如下所述。在一些示例中,AS 4A、4B可以具有传统IGP链路,该链路可以不使用来自公共核心3的路由,因为与其度量无关地,传统IGP链路优选内部链路而不是外部链路。网络100可以包括在AS 4A到AS 4B之间的假链路26以便交换LSA。例如,ASBR 20A、20D可以创建IGP邻接(IGP adjacency),以便能够通告链路,犹如在直接邻接上了解。以这种方式,即使通过BGP(如图1所描述)了解链路,ASBR 20A、20D也或者可以在假链路26上将其作为LSA来通告,从而基于缩放的度量与内部链路竞争。在E.Rosen等人在2006年6月的题为“OSPF as the Provider/Customer Edge Protocol for BGP/MPLS IPVirtual Private Networks(VPNs)”的RFC 4577中描述了假链路的示例,其全部内容通过引证结合于此。
根据本公开的技术,根据本文描述的缩放技术向假链路26分配度量值。例如,假链路26被配置为提供一个区域的PE 6A与另一个区域的PE6B之间的区域间链路,使得可以交换LSA(包括度量)。当在假链路26上通告链路时,ASBR 20D可以将缩放的AIGP属性的度量值(基于图1中描述的技术)分配给假链路26。因此,可以通过具有BGP的公共核心3或假链路26通告链路。
如下面进一步描述的,ASBR 20D可以使用管理配置的BGP社区标记旨在成为假链路端点的路由。这种标记为管理员提供了对使用假链路的管理员精细控制。例如,通过在所有路由器上配置相同的社区/节点管理标签,可以提出完整的假链路网格。如下面进一步描述的,可以配置节点管理标签,使得节点管理标签在区域范围节点管理标签LSA中泛洪。由于泛洪是区域范围,所以只有相关的区域(例如,AS 4A和AS 4B)可能会接收到LSA并提出假链路26。同样,只有存在后门连接(back-door connectivity,其中针对该后门连接提出假链路)时,接收LSA。通过这种方式节点管理标签的配置可以基于BGP路由标签自动发现假链路,以减少配置开销。由S.Hegde等人在2015年11月17日的题为“Advertising per-nodeadministrative tags in OSPF”的Internet Draft(draft-ietf-ospf-node-admin-tag-09.txt)中描述了OSPF节点管理标签的进一步示例,其全部内容犹如所陈述的通过引证结合于此。
或者,通过在不同的路由器对上配置相同的社区/节点管理标签,可以仅在标记的路由器之间提出假链路。换言之,管理员可以选择与某些ASBR的网格-假链路连接和/或为其他ASBR选择成对的假链路。以这种方式,路由器可以针对假链路26公告IGP路由,犹如BGP社区是相邻的IGP网络。
图3是示出执行本公开中描述的技术的各个方面的示例路由器30的方框图。路由器30可以表示图1和图2的示例中所示的自治系统边界路由器10A-10D、20A-20D中的一个。虽然是关于路由器30进行的描述,但是该技术可以由能够实现以下协议的任何其他类型的网络设备来实现:IGP路由协议(例如,IS-IS路由协议或OSPF路由协议)、BGP路由协议(例如,BGP路由协议或BPU-LU路由协议)和/或其他内部/外部网关协议。因此,虽然关于路由器30进行了描述,但是该技术不应该限于关于图3的示例描述的路由器30。
在图3的示例中,路由器30包括分别经由网络链路34A-34N和36A-36N接收和发送数据单元(例如,数据包流)的接口卡32A-32N(“IFC32”)。路由器30可以包括具有多个槽(该槽用于收纳包括IFC 32的一组卡)的底盘(未示出)。每个卡可以被插入到底盘的相应槽内,以经由高速开关(未示出)将卡电耦合到路由组件40,所述高速开关可以包括例如开关光纤、开关设备,可配置网络开关或集线器、或其他高速开关机制。IFC 32可以经由多个物理接口端口(未示出)耦合到网络链路34A-34N和36A-36N。通常,IFC 32均可以表示一个或多个网络接口,通过这些网络接口,路由器30可以与网络的链路(诸如图1的示例中所示的AS4的链路14、24等)接合。
通常,路由器30可以包括控制单元38,其控制接收到的数据包的路由并相应地经由IFC 32转发数据包。在图3的示例中,控制单元38包括路由组件40(控制平面),该路由组件40配置和控制由数据包转发组件60(数据平面)应用的数据包转发操作。
路由组件40为在网络堆栈的不同层执行的各种路由协议44提供操作环境。路由组件40负责维护路由信息42,以反映与路由器30连接的网络和其他网络实体的当前拓扑。特别地,路由协议周期性地更新路由信息42,以基于路由器30接收的路由协议消息准确地反映网络和其他实体的拓扑。协议可以是在一个或多个处理器上执行的软件过程。例如,路由组件40包括在网络堆栈的网络层上操作的网络协议。在图3的示例中,网络协议包括BGP路由协议46和/或IGP路由协议47。
在一些示例中,BGP路由协议46可以包括BGP路由协议、BGP-LU协议或其他外部网关协议。BGP路由协议实现了外部网关协议,用于根据Y.Rhkhter等人在2006年1月的题为“ABorder Gateway Protocol 4”的RFC4271(其全部内容通过引证结合于此)在自治系统之间交换路由和可达性信息。BGP-LU路由协议实现了外部网关协议,用于根据Y.Rekhter等人在2001年5月的题为“Carrying Label Information in BGP-4”的RFC 3107(其全部内容通过引证结合于此)在自治系统之间交换路由和可达性信息。BGP路由协议46还包括AIGP协议,用于使BGP/BGP-LU能够根据由P.Mohapatra在2014年8月的题为“The Accumulated IGPMetric Attribute for BGP”的RFC 7311(其全部内容通过引证结合于此)传送IGP信息。
在一些示例中,IGP路由协议47可以包括根据以下一项或多项的OSPF路由协议:J.Moy在1998年4月的题为“OSPF Version 2”的RFC 2328、R.Coltun等人在2008年7月题为“OSPF for IPv6”的RFC 5340、N.Sheth等人在2013年1月题为“OSPF Hybrid Broadcastand Point-to-Multipoint Interface Type”的RFC 6845、以及A.Lindem等人在2013年7月题为“OSPFv3LSA Extendibility”的网络工作组的互联网草案(draft-acee-ospfv3-lsa-extend-01.txt),犹如其各自的全部内容所陈述的通过引证结合于此。IGP路由协议47还可以包括I-IS路由协议,该协议根据以下内容实现用于在自治系统内交换路由和可达性信息的IGP:D.Oran在1990年2月题为“OSI IS-IS Intra-domain Routing Protocol”的RFC1142,其全部内容通过引证结合于此。
路由组件40还可以包括用于存储路由信息的路由信息库(“RIB”)50和链路状态数据库51(“LINK STATE”)。链路状态数据库51可以存储LSA、度量以及用于标识或以其他方式确定网络拓扑的任何其他信息或数据。通常,IGP 47可以利用用于确定网络拓扑的数据(包括链路,诸如度量)来更新链路状态数据库51。BGP 46可以更新RIB 50或以其他方式存储指定网络的链路的数据。例如,根据本公开的技术,来自链接状态数据库51的链路度量被推送到RIB 50中,使得可以跨越AS边界通告链路度量。路由组件40可以通过一个或多个表、数据库、链接列表、基数树(radix tree)、平面文件、图形或任何其他数据结构的形式维护RIB50和链路状态数据库51。基于RIB 50和/或链路状态数据库51,路由组件40生成用于IFC 32的转发信息62。
路由组件40还可以包括用户界面(UI)组件46。UI组件46可以表示呈现用户界面的组件,管理员或其他用户(例如,管理员45)可以使用该界面交互,以配置缩放组件52、度量组件54和/或再分配组件56的一个或多个策略以及总体上配置路由组件40的一个或多个策略(如下所述)。
路由组件40可以包括根据本公开中描述的技术来缩放AIGP属性的缩放组件52。例如,路由器30可以经由IFC32接收包括具有IGP度量的一个或多个AIGP属性的BGP消息。IFC32可以被配置为将路由协议数据包或控制数据包(例如,接收的AIGP属性)转发到路由组件40。缩放组件52可以被配置为缩放AIGP属性,以符合要转发AIGP属性的IGP域的度量尺度。
例如,可以使用BGP或BGP-LU(其具有在AIGP属性中复制的IGP度量的)来再分配来自自治系统的提供商边缘路由器(例如,AS 4B的PE6B)的IGP度量。路由器30可以经由IFC32接收AIGP属性,其中,IFC32将AIGP属性转发到路由组件40。缩放组件52可以确定接收到的一个IGP域(例如,图1的IGP域5A)的AIGP属性被转发到另一个IGP域(例如,图1的IGP域5B)。缩放组件52可以缩放所接收的AIGP属性,使得AIGP属性符合转发路由的IGP域的度量尺度。
如下所述,管理员45可以将缩放组件52配置成以特定因子缩放(例如,乘以、除以等)AIGP属性,其中,特定因子是一个IGP的度量尺度需要符合另一个IGP域的度量尺度的量值。在一个示例中,如果源IGP域(例如,AS 4B)为用于10吉比特以太网链路的10,并且核心IGP域(例如,公共核心3)为用于10吉比特以太网链路的100,则AIGP属性所乘以的特定因子是10。另一个示例中,如果核心IGP域(例如,公共核心3)为用于10吉比特以太网链路的100,并且目标IGP域(例如,AS 4A)为用于10吉比特以太网链路的10,则AIGP属性所除以的特定因子是10。缩放组件52然后将缩放的AIGP属性更新到RIB 50。
在一个示例中,管理员45可以通过UI组件46将缩放组件52配置成包括策略配置:
set policy-options policy-statement to_core_adjust
term aigp_mul_term then aigp-adjust multiply 10#
multiply aigp by 10
上述策略配置是示例配置,其中,缩放组件52可以将接收到的AIGP属性乘以因子10,使得AIGP属性可以符合不同IGP域(例如,图1的公共核心3)的度量尺度。尽管未示出,但是上述策略配置还可以包括除法或其他算术计算,用于使接收到的AIGP属性从一个IGP域与另一个IGP域一致。
路由组件40还可以包括用于根据本公开中描述的技术向非IGP链路分配静态度量值的度量组件54。例如,路由器30可以经由非IGP链路(例如,图1的本地链路14和24)通信地连接到不同IGP域中的另一个路由器。路由器30可以经由IFC 32从不同IGP域中的路由器接收包括具有IGP度量的一个或多个AIGP属性的路由数据包。IFC 32可以被配置为将路由协议数据包或控制数据包(例如,所接收的AIGP属性)转发到路由组件40。度量组件54可以针对与路由器30互连的非IGP链路确定并分配静态度量,并将静态度量与接收到的AIGP属性相加。在一个示例中,度量组件54可以从BGP会话确定连接路由器30和另一IGP域的链路不运行IGP(例如,图1的本地链路14B),并且可以针对该链路分配静态度量值。度量组件54可以将这些静态度量值与AIGP属性相加(如果需要,则缩放)。度量组件54然后将与静态度量值相加的AIGP属性更新到RIB 50。
在一个示例中,管理员45可以通过UI组件46将度量组件54配置成包括策略配置:
set policy-options policy-statement to_core_adjust
term aigp_add_term then aigp-adjust add 10#add
10to aigp
上述策略配置是示例配置,其中,度量组件54可以分配非IGP链路的静态度量并将其与AIGP属性相加。在该示例中,度量组件54可以针对非IGP链路(例如,图1的本地链路14B)增加静态度量值10。以这种方式,度量组件54可以更新AIGP属性,以提供跨越多个IGP域和非IGP链路的链路的全面的端到端度量视图。
路由组件40可以包括再分配组件56,用于根据本公开中描述的技术将调整的AIGP属性从BGP泄漏到IGP。例如,路由器30可以直接连接到可以实现IGP而不是BGP的目的路由器(例如,PE 6A)。当路由器30接收到经调整的AIGP属性时,路由器组件40可以使用再分配组件56来将调整后的AIGP属性设置为目的路由器的IGP度量,使得该IGP域中的设备可以跨越多个IGP域接收统一缩放的端到端IGP度量。在一个示例中,存储在RIB 50中的经缩放的AIGP属性被复制到链路状态数据库51。
在一个示例中,管理员45可以通过UI组件46将再分配组件56配置成包括策略配置:
#show policy-options policy-statement leak-bgp-to-ospf
term one{
from protocol bgp;
then{
metric aigp;#action to set IGP metric to BGP’s
AIGP value
external{
type 1;
}
accept;
}
}
上述策略配置是示例配置,其中,再分配组件56可以将包括缩放的度量链路和/或非IGP链路的静态度量的更新的AIGP属性设置为目的路由器的IGP度量。在一个示例中,再分配组件56可以将BGP路由(其包括调整的AIGP属性)泄漏到作为目的路由器的IGP的OSPF。作为一个示例,再分配组件56可以将链路信息从RIB 50推送到链路状态数据库51。在一些示例中,再分配组件56可以在相同的物理路由器上从一个虚拟路由和转发(“VRF”)实例(instance)向另一个VRF实例执行泄漏路由前缀。换言之,再分配组件56使得从诸如BGP和OSPF等路由协议中了解的路由能够从源VRF到达目的VRF。
在另一示例(如图2所描述)中,建立假链路,以创建IGP邻接,以能够通告链路,犹如在直接邻接上了解。在假链路端点,一个或多个假链路社区标识符被配置成将假链路端点与BGP社区相关联。作为一个示例,针对区域(其中策略配置连接两个区域(例如,IGP域5A的AS 4A和AS 4B))中的每一个,管理员45可以通过UI组件46为不同的BGP社区配置标签,以包括假链路:
set policy-options community dyn_sham_link
members[<shm_comm_area1><shm_comm_area2>]
在一些示例中,用于配置与接收端相关联的假链路社区标识符的策略配置可以包括:
+set protocol ospf area<area_id1>dynamic_sham_link
<shm_comm_area1>
其中,策略配置将动态假链路与特定区域(例如,ASBR 20A或20D)相关联。例如,可以将假链路分配给IGP域,使得IGP域可以跨越假链路通告IGP。
在另一示例中,管理员45可以针对OSPF节点管理标签而通过UI组件46配置标签。在一个示例中,使用节点管理标签的策略配置可能包括:
set protocol ospf node-admin-tag<tag_value>
该节点管理标签可以在LSA中泛洪。一旦接收到这个LSA,接收节点(例如,ASBR20A)就可以向发起节点管理标签的节点的环回地址提出假链路。以这种方式,假链路26可以用于向配置的远程ASBR提供IGP邻接,从而通告链路,犹如在直接邻接上了解。
在图3的示例中,控制单元38包括转发组件60。转发组件60可以例如经由高速开关和内部数据路径(未示出)耦合到IFC32和/或路由组件40。路由组件40利用转发信息62生成并且编程转发组件60,所述转发信息62根据路由信息42将网络目的地与指定的下一跳和IFC32的对应的接口端口相关联。基于转发信息62,转发组件60将从入站链路34A-34N所接收的数据包转发到对应于与数据包的目的地相关联的下一跳的出站链路36A-36N。
在以这种方式配置路由组件40之后,管理员45然后可以激活或以其他方式启用路由器30,以开始处理数据包,例如,根据转发信息62转发的标准IP数据包。在转发这些数据包之前,缩放组件52、度量组件54和/或再分配组件56可以更新所接收的AIGP属性,以生成跨越各种IGP域的链路的均匀缩放的端到端度量视图。尽管图3提供了经由UI组件46的策略配置的示例,但是路由器30可以动态地配置本公开的技术的策略。
仅为了示例性目的,示出了图3所示的路由器30的架构。本公开的技术不限于此架构。在其他示例中,路由器30可以以各种方式配置。在一个示例中,控制单元38的一些功能可以分布在IFC 32内。在另一示例中,控制单元38可以包括作为从属路由器操作的多个数据包转发引擎。
控制单元38可以仅在软件或硬件内实现,也可以被实现为软件、硬件或固件的组合。例如,控制单元38可以包括执行软件指令的一个或多个处理器。在这种情况下,控制单元38的各种软件模块/组件可以包括存储在诸如计算机存储器或硬盘等计算机可读介质上的可执行指令。
图4是示出图1的示例中所示的诸如ASBR 10、20等网络设备的示例操作的流程图,实现本公开中描述的技术。参考图1所示的示例系统。ASBR 10D可以包括再分配组件56,用于配置第一IGP域(例如,实现OSPF的域)的IGP度量的BGP再分配,其中,具有IGP度量的数据包被复制在AIGP属性(402)中。例如,第一IGP域可以包括累积的IGP度量,对于10吉比特以太网链路,其值为1000。ASBR 10D可以将IGP度量值1000复制到AIGP属性,使得IGP度量可以在BGP中再分配。
然后,ASBR 10D可以通过包括第一IGP域的IGP度量值1000的ASBR 10C在BGP会话中通告AIGP属性(404)。例如,ASBR 10D的转发组件60可以被配置为将AIGP属性转发到互连路由器,例如ASBR 10C。
ASBR 10C可以接收通告的AIGP属性,其包括第一IGP域的IGP度量值1000(406)。例如,ASBR 10C的IFC32可以接收包括AIGP属性的路由。ASBR 10C的IFC 32可以将路由转发到路由组件40。ASBR 10C的缩放组件52可以缩放所接收的AIGP属性,以使IGP度量值1000符合第二IGP域(例如,实现IS-IS的IGP域)的度量尺度(408)。例如,第二IGP域(例如,图1的公共核心3)可以包括用于10吉比特以太网链路的度量尺度100。同样,为了使第一IGP域的度量符合第二IGP域,缩放组件52可以将第一IGP域的度量值1000乘以因子10。以这种方式,将AIGP属性调整为第二IGP域的度量尺度。
连接ASBR 10C和10D的BGP会话使得ASBR 10C能够经由非IGP链路接收AIGP属性。ASBR 10C的度量组件54可以为非IGP链路增加静态度量,使得缩放的AIGP属性还可以包括非IGP链路的度量值(410)。例如,本地链路14B是非IGP链路,并且可以使ASBR 10C和10D互连。ASBR 10C的度量组件54可以向用于将AIGP属性从ASBR 10D通告给ASBR 10C的非IGP链路分配静态度量值,例如1。
然后,ASBR 10C可以通告缩放的AIGP属性,包括第一IGP域的缩放IGP度量值和非IGP链路的静态度量(412)。例如,缩放的AIGP属性包括度量值10,000(IGP度量值1000乘以10)和非IGP链路的静态度量10(静态度量值1乘以10)。例如,ASBR 10C的转发组件60可将缩放的AIGP属性转发到互连路由器,例如ASBR 10B。
ASBR 10B可以接收基于第一IGP域的缩放IGP度量和非IGP链路的缩放静态度量缩放的AIGP属性(414)。例如,ASBR 10B的IFC32可以接收包括缩放的AIGP属性的路由。ASBR10B的IFC32可以将接收到的路由转发到路由组件40。ASBR 10B可以包括度量组件54,其可以将第二IGP域的度量值与缩放的AIGP属性相加(416)。在一个示例中,第二IGP域(例如,实现IS-IS的公共核心3)可以具有度量值100。ASBR 10B的度量组件54可以将度量值100与缩放的AIGP属性相加,使得缩放的AIGP属性包括第一IGP域和第二IGP域的度量值。
ASBR 10B还可以增加连接ASBR 10B和10A的非IGP链路的静态度量值(418)。例如,非IGP链路(例如,图1的本地链路14A)可以使ASBR 10A和10B互连,使得ASBR 10A和10B可以在BGP会话中通告路由。在一个示例中,ASBR 10B的度量组件54可以为非IGP链路分配缩放的静态度量值10(静态度量值1乘以10),并且可以将分配的静态度量与缩放的AIGP属性相加。
ASBR 10B还可以重新缩放AIGP属性,以使AIGP属性的尺度符合第一IGP域(例如,OSPF)的度量尺度(420)。例如,AIGP属性先前根据第二IGP域的度量尺度来缩放。先前缩放的AIGP属性包括第二IGP域的IGP度量值100、第一IGP域的IGP度量值10,000以及每个非IGP链路的静态度量值10(例如,本地链路14A、14B)。ASBR 10B的缩放组件52被配置为通过将先前缩放的AIGP属性除以10来重新缩放AIGP属性,使得AIGP属性可以符合第一IGP域的度量尺度。因此,重新缩放的AIGP属性可以包括公共核心的IGP度量值10、第一IGP域的IGP度量值1,000以及每个非IGP链路的静态度量值1(例如,本地链路14A、14B)。以这种方式,重新缩放的AIGP属性可以包括从ASBR 10B到第一IGP域的PE6B的均匀缩放的端到端度量视图。
然后,ASBR 10B可以将更新的AIGP属性通告给面向客户端的ASBR10A(422)。例如,ASBR 10B的转发组件60可以被配置为将重新缩放的AIGP属性转发到互连路由器,例如,ASBR 10A。
ASBR 10A可以接收重新缩放的AIGP属性(424)并将重新缩放的AIGP属性再分配给IGP(426)。例如,ASBR 10A的IFC32可以接收包括重新缩放的AIGP属性的路由。ASBR 10A的IFC32可以将接收到的路由转发到路由组件40。面向客户端的ASBR 10A可以包括被配置为将重新缩放的AIGP属性从BGP泄漏到IGP的再分配组件56。再分配组件56可以将PE 6A的IGP度量设置为重新缩放的AIGP属性,使得跨越部署非均匀IGP的IGP域知晓成本度量,而不会丢失端到端IGP度量值,并且可以基于跨越多个IGP域的度量的全面的统一缩放视图,进行更准确的路由决策。
在本文中描述的技术可以在硬件、软件、固件或其任何组合内实现。作为模块、单元或元件描述的各种特征可以在集成逻辑装置内共同地或者作为离散的但是互操作的逻辑装置或其他硬件装置单独地实现。在某些情况下,电子电路的各种特征可以作为一个或多个集成电路装置实现,例如,集成电路芯片或芯片组。
如果在硬件内实现,则本公开可以涉及一种设备,例如,处理器或集成电路装置,例如,集成电路芯片或芯片组。可替换地或者此外,如果在软件或固件内实现,则这些技术可以至少部分由包括指令的计算机可读数据储存介质实现,在执行时,这些指令促使处理器执行上面描述的一种或多种方法。例如,计算机可读数据储存介质可以储存这种指令,以由处理器执行。
计算机可读介质可以形成一部分计算机程序产品,该产品可以包括封装材料。计算机可读介质可以包括计算机可读储存介质,例如,随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦可编程只读存储器(EEPROM)、闪速存储器、磁或光学数据储存介质等。在一些示例中,制品可以包括一个或多个计算机可读储存介质。
在一些示例中,计算机可读储存介质可以包括永久性介质。术语“永久性”可以表示储存介质不在载波或传播信号内体现。在某些示例中,永久性储存介质可以储存可以随着时间改变的数据(例如,在RAM或高速缓冲存储器内)。
代码或指令可以是由包括一个或多个处理器的处理电路执行的软件和/或固件,例如,一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他等效的集成或离散逻辑电路。因此,在本文中使用的术语“处理器”可以表示任何上述结构或者适合于实现在本文中描述的技术的任何其他结构。此外,在一些方面,可以在软件元件或硬件元件内提供在本公开中描述的功能。
除了或者代替以上内容,描述以下示例。在任何以下示例中描述的特征可以供在本文中描述的任何其他示例使用。
示例1.一种方法,包括:通过位于第二内部网关协议(IGP)域的边界上的网络设备接收分配给第一IGP域内的链路的链路度量;通过所述网络设备缩放分配给所述第一IGP域内的所述链路的链路度量,以使得分配给所述第一IGP域内的所述链路的链路度量与所述第二IGP域的度量尺度一致;并且通过所述网络设备更新包括所述第一IGP域和所述第二IGP域的网络的拓扑的表示,以包括所缩放的链路度量。
示例2.根据示例1所述的方法,还包括:通过所述网络设备基于所更新的所述网络的拓扑的表示来选择通过所述网络的路径;和通过所述网络设备沿所选择的路径转发网络业务。
示例3.根据示例1所述的方法,其中,接收所述链路度量包括接收所述第一IGP域的累积IGP(AIGP)属性,所述累积IGP属性包括分配给所述第一IGP域内的所述链路的链路度量。
示例4.根据示例1所述的方法,其中,更新所述网络的拓扑的表示包括添加分配给所述第二IGP域内的链路的链路度量。
示例5.根据示例1所述的方法,其中,更新所述网络的拓扑的表示包括添加分配给将所述第一IGP域和所述第二IGP域互连的非IGP链路的静态度量。
示例6.根据示例1所述的方法,还包括:通过所述网络设备构造假链路以便提供隧道的逻辑构造,从而通告作为所述第一IGP域内的内部路由的路由;并且通过所述网络设备基于所更新的所述网络的拓扑的表示来分配所述假链路的链路度量。
示例7.根据示例6所述的方法,其中,配置所述假链路包括:将一个或多个BGP社区设置为到达内部路由的标签。
示例8.一种路由器,包括:至少一个处理器,其耦合到存储器,其中,所述处理器执行软件,所述软件被配置为:接收分配给第一IGP域内的链路的链路度量;缩放分配给所述第一IGP域内的所述链路的链路度量,以使得分配给所述第一IGP域内的所述链路的链路度量与所述第二IGP域的度量尺度一致;并且更新包括所述第一IGP域和所述第二IGP域的网络的拓扑的表示,以包括所缩放的链路度量。
示例9.根据示例8所述的路由器,其中,所述处理器还执行软件,所述软件被配置为:基于所更新的所述网络的拓扑的表示选择通过所述网络的路径;和沿所选择的路径转发网络业务。
示例10.根据示例8所述的路由器,其中,执行配置为接收所述链路度量的软件的所述处理器包括接收所述第一IGP域的累积IGP(AIGP)属性的配置,所述累积IGP属性包括分配给第一IGP域内的所述链路的链路度量。
示例11.根据示例8所述的路由器,其中,执行配置为更新所述网络的拓扑的表示的软件的所述处理器包括配置为添加分配给所述第二IGP域内的链路的链路度量的软件。
示例12.根据示例8所述的路由器,其中,执行配置为更新所述网络的拓扑的表示的软件的所述处理器包括配置为添加分配给将所述第一IGP域和所述第二IGP域互连的非IGP链路的静态度量的软件。
示例13.根据示例8所述的路由器,其中,所述处理器还执行软件,所述软件被配置为:构造假链路以便提供隧道的逻辑构造,从而通告作为所述第一IGP域内的内部路由的路由;并且基于所更新的所述网络的拓扑的表示来分配所述假链路的链路度量。
示例14.根据示例13所述的路由器,其中,配置为构造所述假链路的所述软件包括配置为进行如下操作的软件:将一个或多个BGP社区设置为到达内部路由的标签。
示例15.一种计算机系统,包括:一个或多个处理器,一个或多个计算机可读存储器和一个或多个非暂时计算机可读存储介质;存储在所述一个或多个存储介质中的至少一个存储介质上的程序指令,用于经由所述一个或多个存储器中的至少一个存储器通过所述一个或多个处理器中的至少一个执行,以接收分配给第一IGP域内的链路的链路度量;存储在所述一个或多个存储介质中的至少一个存储介质上的程序指令,用于经由所述一个或多个存储器中的至少一个存储器通过所述一个或多个处理器中的至少一个处理器执行,以缩放分配给所述第一IGP域内的所述链路的链路度量,以使分配给所述第一IGP域内的所述链路的链路度量与所述第二IGP域的度量尺度一致;以及存储在所述一个或多个存储介质中的至少一个存储介质上的程序指令,用于经由所述一个或多个存储器中的至少一个存储器通过所述一个或多个处理器中的至少一个处理器执行,以更新包括第一和第二IGP域的网络的拓扑的表示,以包括缩放的链路度量。
示例16.根据示例15所述的计算机系统,还包括:存储在所述一个或多个存储介质中的至少一个存储介质上的程序指令,用于经由所述一个或多个存储器中的至少一个存储器通过所述一个或多个处理器中的至少一个执行,以基于所更新的网络拓扑的表示选择通过网络的路径;以及存储在所述一个或多个存储介质中的至少一个存储介质上的程序指令,用于经由所述一个或多个存储器中的至少一个存储器通过所述一个或多个处理器中的至少一个执行,以沿所选路径转发网络业务。
示例17.根据示例15所述的计算机系统,其中,用于接收所述链路度量的所述程序指令包括用于接收包括分配给第一IGP域内的链路的所述链路度量的所述第一IGP域的累积IGP(AIGP)属性的程序指令。
示例18.根据示例15所述的计算机系统,其中,用于更新所述网络的拓扑的表示的程序指令包括用于添加分配给所述第二IGP域内的链路的链路度量的程序指令。
示例19.根据示例15所述的计算机系统,其中,用于更新所述网络的拓扑的表示的程序指令包括用于添加分配给使所述第一IGP域和所述第二IGP域互连的非IGP链路的静态度量的程序指令。
示例20.根据示例15所述的计算机系统,还包括:存储在所述一个或多个存储介质中的至少一个存储介质上的程序指令,用于经由所述一个或多个存储器中的至少一个存储器通过所述一个或多个处理器中的至少一个执行,以构造假链路以便提供隧道的逻辑构造,以通知作为所述第一IGP域内的内部路由的路由;以及存储在所述一个或多个存储介质中的至少一个存储介质上的程序指令,用于经由所述一个或多个存储器中的至少一个存储器通过所述一个或多个处理器中的至少一个执行,以基于网络的拓扑的更新的表示来分配假链路的链路度量
此外,上述任何示例中阐述的任何特定特征可以组合成所述技术的有益示例。即,任何具体特征通常适用于本公开的所有示例。已经描述了这些技术的各个方面。这些和其他方面在所附权利要求的范围内。
Claims (11)
1.一种用于提供路由信息的方法,包括:
通过位于第二IGP(内部网关协议)域的边界上的网络设备根据BGP(边界网关协议)接收第一IGP域的累积IGP(AIGP)属性,所述累积IGP属性包括分配给所述第一IGP域内的链路的链路度量;
通过所述网络设备将根据所述第一IGP域的度量尺度分配给所述第一IGP域内的所述链路的所述链路度量转换为所述第二IGP域的度量尺度,以获得符合所述第二IGP域的度量尺度的缩放的链路度量,所述第一IGP域的度量尺度不同于所述第二IGP域的度量尺度;
通过所述网络设备更新包括所述第一IGP域和所述第二IGP域的网络的拓扑的表示,以包括所述缩放的链路度量和添加分配给将所述第一IGP域和所述第二IGP域互连的非IGP链路的静态度量,
将所述静态度量添加至所述链路度量以更新所述累积IGP属性以反映将所述第一IGP域和所述第二IGP域互连的所述非IGP链路;以及
根据BGP通告更新的所述累积IGP属性。
2.根据权利要求1所述的方法,还包括:
通过所述网络设备基于所更新的所述网络的拓扑的表示来选择通过所述网络的路径;和
通过所述网络设备沿所选择的路径转发网络业务。
3.根据权利要求1所述的方法,其中,更新所述网络的拓扑的表示包括添加分配给所述第二IGP域内的链路的链路度量。
4.根据权利要求1-3中任一项所述的方法,还包括:
通过所述网络设备构造假链路以便提供隧道的逻辑构造,从而通告作为所述第一IGP域内的内部路由的路由;并且
通过所述网络设备基于所更新的所述网络的拓扑的表示来分配所述假链路的链路度量。
5.根据权利要求4所述的方法,其中,配置所述假链路包括:
将一个或多个BGP社区设置为到达内部路由的标签。
6.一种路由器,包括:
至少一个处理器,其耦合到存储器,其中,所述处理器执行软件,所述软件配置为:
根据BGP(边界网关协议)接收第一IGP域的累积IGP(AIGP)属性,所述累积IGP属性包括分配给所述第一IGP域内的链路的链路度量;
将根据所述第一IGP域的度量尺度分配给所述链路的所述链路度量转换为第二IGP域的度量尺度,以获得符合所述第二IGP域的度量尺度的缩放的链路度量,所述第一IGP域的度量尺度不同于所述第二IGP域的度量尺度;
更新包括所述第一IGP域和所述第二IGP域的网络的拓扑的表示,以包括所述缩放的链路度量和添加分配给将所述第一IGP域和所述第二IGP域互连的非IGP链路的静态度量;
将所述静态度量添加至所述链路度量以更新所述累积IGP属性以反映将所述第一IGP域和所述第二IGP域互连的所述非IGP链路;以及
根据BGP通告更新的所述累积IGP属性。
7.根据权利要求6所述的路由器,其中,所述处理器还执行软件,所述软件配置为:
基于所更新的所述网络的拓扑的表示选择通过所述网络的路径;和
沿所选择的路径转发网络业务。
8.根据权利要求6所述的路由器,其中,执行配置为更新所述网络的拓扑的表示的软件的所述处理器包括配置为添加分配给所述第二IGP域内的链路的链路度量的软件。
9.根据权利要求6-8中任一项所述的路由器,其中,所述处理器还执行软件,所述软件配置为:
构造假链路以便提供隧道的逻辑构造,从而通告作为所述第一IGP域内的内部路由的路由;并且
基于所更新的所述网络的拓扑的表示来分配所述假链路的链路度量。
10.根据权利要求9所述的路由器,其中,配置为构造所述假链路的所述软件包括配置为进行如下操作的软件:
将一个或多个BGP社区设置为到达内部路由的标签。
11.一种用指令编码的计算机可读存储介质,所述指令用于使一个或多个可编程处理器执行根据权利要求1-5中任一项所述的方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201641020463 | 2016-06-15 | ||
IN201641020463 | 2016-06-15 | ||
US15/199,238 | 2016-06-30 | ||
US15/199,238 US10958559B2 (en) | 2016-06-15 | 2016-06-30 | Scaled inter-domain metrics for link state protocols |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107528779A CN107528779A (zh) | 2017-12-29 |
CN107528779B true CN107528779B (zh) | 2020-09-25 |
Family
ID=60659133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710455171.7A Active CN107528779B (zh) | 2016-06-15 | 2017-06-15 | 用于网络的方法、路由器以及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10958559B2 (zh) |
EP (1) | EP3282648B8 (zh) |
CN (1) | CN107528779B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10958559B2 (en) | 2016-06-15 | 2021-03-23 | Juniper Networks, Inc. | Scaled inter-domain metrics for link state protocols |
CN107948069B (zh) * | 2017-12-29 | 2020-05-08 | 中国联合网络通信有限公司广东省分公司 | 一种基于ip技术的utn网络融合方法 |
US11477289B2 (en) * | 2018-10-09 | 2022-10-18 | Nokia Solutions And Networks Oy | Supporting a routing protocol with a transport layer protocol |
US10924384B2 (en) * | 2018-11-19 | 2021-02-16 | Ciena Corporation | Traffic engineering for border gateway protocol |
US11108652B2 (en) | 2018-12-18 | 2021-08-31 | At&T Intellectual Property I, L.P. | Server assisted network discovery (SAND) |
US10999183B2 (en) | 2019-08-12 | 2021-05-04 | Juniper Networks, Inc. | Link state routing protocol adjacency state machine |
CN110912827B (zh) * | 2019-11-22 | 2021-08-13 | 北京金山云网络技术有限公司 | 一种路由更新方法和用户集群 |
US11601336B2 (en) | 2021-05-18 | 2023-03-07 | Google Llc | Assigning routing paths based on interior gateway protocol metric optimization |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8611359B1 (en) * | 2009-08-31 | 2013-12-17 | Juniper Networks, Inc. | Scaling MPLS across areas of an autonomous system using labeled interior border gateway protocol |
CN105376162A (zh) * | 2014-08-30 | 2016-03-02 | 华为技术有限公司 | 一种链路状态信息通告方法和设备 |
CN105591937A (zh) * | 2015-09-30 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种网络拓扑信息的采集方法和设备 |
Family Cites Families (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5570084A (en) | 1994-06-28 | 1996-10-29 | Metricom, Inc. | Method of loose source routing over disparate network types in a packet communication network |
US6760328B1 (en) | 1999-10-14 | 2004-07-06 | Synchrodyne Networks, Inc. | Scheduling with different time intervals |
WO2002065661A1 (en) | 2001-02-12 | 2002-08-22 | Maple Optical Systems, Inc. | System and method for fast-rerouting of data in a data communication network |
US6985490B2 (en) | 2001-07-11 | 2006-01-10 | Sancastle Technologies, Ltd. | Extension of fibre channel addressing |
US7212526B2 (en) | 2002-01-18 | 2007-05-01 | Hitachi, Ltd. | Method and apparatus for composing virtual links in a label switched network |
US7099286B1 (en) | 2002-05-22 | 2006-08-29 | Cisco Technology, Inc. | Method and system for finding shared risk diverse paths |
US7184437B1 (en) | 2002-07-17 | 2007-02-27 | Juniper Networks, Inc. | Scalable route resolution |
US7324453B2 (en) | 2002-08-30 | 2008-01-29 | Alcatel Lucent | Constraint-based shortest path first method for dynamically switched optical transport networks |
US7178059B2 (en) | 2003-05-07 | 2007-02-13 | Egenera, Inc. | Disaster recovery for processing resources using configurable deployment platform |
US20040223497A1 (en) | 2003-05-08 | 2004-11-11 | Onvoy Inc. | Communications network with converged services |
US7881229B2 (en) | 2003-08-08 | 2011-02-01 | Raytheon Bbn Technologies Corp. | Systems and methods for forming an adjacency graph for exchanging network routing data |
US7519006B1 (en) | 2003-11-26 | 2009-04-14 | Cisco Technology, Inc. | Method and apparatus for measuring one-way delay at arbitrary points in network |
US7821929B2 (en) | 2004-04-05 | 2010-10-26 | Verizon Business Global Llc | System and method for controlling communication flow rates |
US7042838B1 (en) | 2004-05-18 | 2006-05-09 | Cisco Technology, Inc. | Method and apparatus for forwarding data in a data communications network |
US7697439B2 (en) * | 2005-05-10 | 2010-04-13 | Cisco Technology, Inc. | Method of determining transit costs across autonomous systems |
US7602778B2 (en) | 2005-06-29 | 2009-10-13 | Cisco Technology, Inc. | System and methods for compressing message headers |
US7623533B2 (en) | 2005-10-14 | 2009-11-24 | Hewlett-Packard Development Company, L.P. | Switch meshing using multiple directional spanning trees |
US7710872B2 (en) | 2005-12-14 | 2010-05-04 | Cisco Technology, Inc. | Technique for enabling traffic engineering on CE-CE paths across a provider network |
US7873025B2 (en) | 2006-02-23 | 2011-01-18 | Cisco Technology, Inc. | Network device that determines application-level network latency by monitoring option values in a transport layer message |
US7522603B2 (en) | 2006-03-14 | 2009-04-21 | Cisco Technology, Inc. | Technique for efficiently routing IP traffic on CE-CE paths across a provider network |
US7865615B2 (en) | 2006-05-08 | 2011-01-04 | Cisco Technology, Inc. | Maintaining IGP transparency of VPN routes when BGP is used as a PE-CE protocol |
US8718060B2 (en) | 2006-07-31 | 2014-05-06 | Cisco Technology, Inc. | Technique for multiple path forwarding of label-switched data traffic |
US7965699B1 (en) | 2006-08-29 | 2011-06-21 | Tellme Networks, Inc. | Routing/switching on a heterogeneous network |
US8724505B2 (en) | 2006-09-01 | 2014-05-13 | Ciena Corporation | Flexible mechanism for supporting virtual private network services based on source-independent distributed advertisements |
JP4764325B2 (ja) | 2006-12-26 | 2011-08-31 | 富士通株式会社 | 通信装置及びプロトコル処理方法 |
US7693979B2 (en) | 2006-12-26 | 2010-04-06 | Verizon Patent And Licensing Inc. | Traffic fencing mechanism for control plane enabled networks |
US8954601B1 (en) * | 2007-06-15 | 2015-02-10 | Juniper Networks, Inc. | Authentication and encryption of routing protocol traffic |
US7808919B2 (en) | 2008-03-18 | 2010-10-05 | Cisco Technology, Inc. | Network monitoring using a proxy |
US8339959B1 (en) | 2008-05-20 | 2012-12-25 | Juniper Networks, Inc. | Streamlined packet forwarding using dynamic filters for routing and security in a shared forwarding plane |
US8265071B2 (en) | 2008-09-11 | 2012-09-11 | Juniper Networks, Inc. | Methods and apparatus related to a flexible data center security architecture |
US7937492B1 (en) | 2008-09-30 | 2011-05-03 | Juniper Networks, Inc. | LSP ping and traceroute for bypass tunnels |
US8077726B1 (en) | 2008-12-10 | 2011-12-13 | Juniper Networks, Inc. | Fast reroute for multiple label switched paths sharing a single interface |
US8027354B1 (en) | 2009-04-29 | 2011-09-27 | Cisco Technology, Inc. | Network consolidation for virtualized servers |
US8958305B2 (en) | 2009-10-30 | 2015-02-17 | Juniper Networks, Inc. | OSPF point-to-multipoint over broadcast or NBMA mode |
US8576848B2 (en) * | 2010-09-17 | 2013-11-05 | At&T Intellectual Property I, L.P. | Scalable multiprotocol label switching (MPLS) based networks |
CN102457583B (zh) | 2010-10-19 | 2014-09-10 | 中兴通讯股份有限公司 | 一种虚拟机移动性的实现方法及系统 |
US8699499B2 (en) | 2010-12-08 | 2014-04-15 | At&T Intellectual Property I, L.P. | Methods and apparatus to provision cloud computing network elements |
US8909602B2 (en) | 2011-02-03 | 2014-12-09 | Vmware, Inc. | Programmatic snapshot and revert of virtualized data center inventory |
CN103081407B (zh) | 2011-03-03 | 2015-11-25 | 株式会社日立制作所 | 故障分析装置、故障分析系统及故障分析方法 |
US9019865B2 (en) * | 2011-03-04 | 2015-04-28 | Juniper Networks, Inc. | Advertising traffic engineering information with the border gateway protocol |
US20130074066A1 (en) | 2011-09-21 | 2013-03-21 | Cisco Technology, Inc. | Portable Port Profiles for Virtual Machines in a Virtualized Data Center |
US8730980B2 (en) | 2011-12-27 | 2014-05-20 | Cisco Technology, Inc. | Architecture for scalable virtual network services |
US9374270B2 (en) | 2012-06-06 | 2016-06-21 | Juniper Networks, Inc. | Multicast service in virtual networks |
US9338078B2 (en) | 2013-03-13 | 2016-05-10 | Cisco Technology, Inc. | Technique to minimize traffic loss on a router reload/restart |
US9444721B2 (en) | 2013-09-30 | 2016-09-13 | Juniper Networks, Inc. | Two-part metric for link state routing protocols |
US10069716B2 (en) * | 2015-07-29 | 2018-09-04 | At&T Intellectual Property I, L.P. | Methods and apparatus to reflect routes from a remotely located virtual route reflector |
US10958559B2 (en) | 2016-06-15 | 2021-03-23 | Juniper Networks, Inc. | Scaled inter-domain metrics for link state protocols |
-
2016
- 2016-06-30 US US15/199,238 patent/US10958559B2/en active Active
-
2017
- 2017-06-14 EP EP17176067.1A patent/EP3282648B8/en active Active
- 2017-06-15 CN CN201710455171.7A patent/CN107528779B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8611359B1 (en) * | 2009-08-31 | 2013-12-17 | Juniper Networks, Inc. | Scaling MPLS across areas of an autonomous system using labeled interior border gateway protocol |
CN105376162A (zh) * | 2014-08-30 | 2016-03-02 | 华为技术有限公司 | 一种链路状态信息通告方法和设备 |
CN105591937A (zh) * | 2015-09-30 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种网络拓扑信息的采集方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
EP3282648B8 (en) | 2020-10-21 |
EP3282648B1 (en) | 2020-04-29 |
US20170366444A1 (en) | 2017-12-21 |
US10958559B2 (en) | 2021-03-23 |
EP3282648A1 (en) | 2018-02-14 |
CN107528779A (zh) | 2017-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107528779B (zh) | 用于网络的方法、路由器以及存储介质 | |
CN109257278B (zh) | 用于非分段路由启用的路由器的分段路由标签交换路径方法 | |
CN111147373B (zh) | 实现非灵活算法路由器参与灵活算法路由协议 | |
US9749214B2 (en) | Software defined networking (SDN) specific topology information discovery | |
CN101455030B (zh) | 动态共享风险节点组(srng)成员发现 | |
US20090279536A1 (en) | IP forwarding across a link state protocol controlled ethernet network | |
US10742599B2 (en) | Conflict resolution in segment routing | |
CN111865783B (zh) | 用于计算机网络的方法和网络设备 | |
CN109417508B (zh) | 一种分层路径计算单元pce网络拓扑构建方法及装置 | |
CN104518972A (zh) | 用于链路状态路由协议的动态区域过滤 | |
US11743166B2 (en) | Provisioning non-colored segment routing label switched paths via segment routing policies in border gateway protocol | |
CN113452610B (zh) | 跨城域网的无缝端到端分段路由的方法及区域边界路由器 | |
CN112118178B (zh) | 网络装置和用于ip网络中基于类别的流量工程的方法 | |
CN113826362B (zh) | 用于域间分段路由的传输端点分段 | |
EP3975489A1 (en) | Label deduction with flexible-algorithm | |
CN113709033B (zh) | 用于分段路由流量工程的分段跟踪路由 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Juniper Networks, Inc. Address before: California, USA Applicant before: Jungle network |
|
GR01 | Patent grant | ||
GR01 | Patent grant |