一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

使用路由协议的定向信息分布中的位掩码路线目标的制作方法

2021-11-27 00:02:00 来源:中国专利 TAG:

使用路由协议的定向信息分布中的位掩码路线目标
1.本技术要求于2020年11月5日提交的美国专利申请17/090,621和于2020年5月22日提交的印度临时专利申请第202041021640号的权益,其整体内容通过引用并入于此。
技术领域
2.本发明涉及计算机网络,并且涉及例如使用路由协议的信息(诸如拓扑和/或路由算法信息)分布。


背景技术:

3.各种各样的客户设备连接至服务提供方网络,以访问由基于分组的数据网络(诸如互联网、企业内联网、内容提供方和虚拟私有网络(vpn))提供的资源和服务。每个服务提供方网络通常提供广泛的网络基础设施,以将基于分组的数据服务提供给客户设备。服务提供方网络可以包括广域网(wan)。在一些示例中,每个服务提供方网络可以包括wan内的单个自主系统(as),该wan包括多个as。在其他示例中,每个服务提供方网络可以包括wan内的两个或多个as。
4.服务提供方网络的网络基础设施通常包括由通信链路互连的大量接入节点、聚合节点和高速边缘路由器。这些网络设备通常执行各种协议并且交换信令消息,以锚定和管理与客户设备相关联的订户会话和通信流。控制器(例如软件定义网络(sdn)控制器)可以被包括在网络架构中,以提供服务提供方网络内的订户会话和通信流的集中式控制。在一些情况下,控制器可以提供对包括多个as的整个wan的集中式控制。


技术实现要素:

5.通常,诸如边界网关协议(bgp)等路由协议被扩展的技术被描述,以使用路线目标(rt)控制信息的传播和导入,该路线目标(rt)被指定作为对链路管理组信息编码的位掩码。例如,管理服务提供方网络内的订户会话和通信流的网络控制设备(在本文中称为“控制器”)(例如sdn控制器)可以被配置为将底层网络的一个或多个资源子集(例如节点和链路)分配给在底层网络之上被建立的一个或多个虚拟网络中的每个虚拟网络。资源子集可以被用于引导给定网络切片、虚拟私有网络(vpn)或vpn集合的业务,以最佳地递送端到端服务。在一些示例中,控制器输出路由协议消息,例如边界网关协议

链路状态(bgp

ls),以通告资源子集。根据所公开的技术,控制器生成利用链路管理组信息(例如颜色或其他链路亲和力)被编码的位掩码,该链路管理组信息与链路相关联,并且将被指定作为位掩码的路线目标附接至bgp

ls通告,以控制通告的导入。位掩码的每个位对应于被指派给网络内的链路或链路集合的不同管理组。被指定作为位掩码的路线目标在本文中被称为“位掩码路线目标”。
6.基于通告(例如路由协议消息),pe路由器中的每个pe路由器基于在通告内指定的位掩码路线目标来确定是否导入通告。例如,要导入通告的每个路由器被配置有一个或多个对应的位掩码路线目标。例如,响应于接收到通告,路由器利用被附接至通告的位掩码路
线目标和在路由器上配置的一个或多个位掩码路线目标执行逻辑

与’操作。响应于确定逻辑

与’操作的结果是非零值,路由器导入由路由协议通告携带的信息,诸如拓扑信息和/或算法信息。响应于确定逻辑

与’操作的结果是零,路由器不导入通告。
7.本公开所描述的技术可以提供一个或多个技术优点,该一个或多个技术优点实现了实际应用。例如,代替控制器必须发送相应通告,该相应通告携带针对网络内定义的每个链路管理组的拓扑或算法信息,控制器可以发送如下通告,该通告具有针对多个链路管理组(例如链路管理组的子集甚或所有链路管理组)的拓扑/算法信息,其中通告被引导至的管理链路组中的每个管理链路组由位掩码路线目标中的位中的一个不同位表示。通过这种方式,位掩码路线目标可以被用于选择性地标识任何管理链路组,以由各个路由器控制路线传播和导入,这减少了需要被发送给路由器的通告的数量。
8.在一个示例中,本公开涉及一种网络控制设备,该网络控制设备包括网络接口;以及包括至少一个处理器的控制单元,控制器设备的控制单元被配置为:将底层网络的一个或多个资源子集分配给在底层网络之上建立的一个或多个虚拟网络中的每个虚拟网络,其中被分配给相应虚拟网络的一个或多个资源子集包括底层网络的要由相应虚拟网络使用的一个或多个节点和一个或多个链路;生成利用链路管理组信息被编码的位掩码,链路管理组信息与一个或多个链路相关联,其中位掩码的每个位对应于在网络控制设备上被定义的多个链路管理组中的一个不同的链路管理组,并且其中链路管理组中的每个链路管理组定义底层网络的一个或多个资源子集的不同分组;以及向参与相应虚拟网络的多个提供方边缘(pe)路由器输出路由协议消息,以通告一个或多个资源子集,其中路由协议消息包括被指定作为位掩码的路线目标。
9.在另一示例中,本公开涉及一种路由器,该路由器包括多个网络接口和包括至少一个处理器的控制单元。路由器的控制单元被配置为:接收路由协议消息,该路由协议消息具有被指定作为位掩码的附接路线目标;以及基于位掩码,确定是否导入由路由协议消息携带的信息。
10.在又一示例中,本公开涉及一种方法,包括:由网络控制设备将底层网络的一个或多个资源子集分配给在底层网络之上被建立的一个或多个虚拟网络中的每个虚拟网络,其中被分配给相应虚拟网络的一个或多个资源子集包括底层网络的要由相应虚拟网络使用的一个或多个节点和一个或多个链路;由网络控制设备生成利用一个或多个链路的链路管理组信息被编码的位掩码,其中位掩码的每个位对应于在网络控制设备上被定义的多个链路管理组中的一个不同的链路管理组,并且其中链路管理组中的每个链路管理组定义底层网络的一个或多个资源子集的不同分组;以及由控制器向参与相应虚拟网络的多个提供方边缘pe路由器输出路由协议消息,以通告一个或多个资源子集,其中路由协议消息包括被指定作为位掩码的路线目标。
11.一个或多个示例的细节是在下面的附图和描述中陈述的。其他特征、目的和优点将通过描述和附图以及通过权利要求书而显而易见。
附图说明
12.图1是根据本公开的技术的图示了示例网络的框图,该示例网络用于使用路线目标提供边界网关协议路由信息的传播和导入,该路线目标被指定作为利用链路管理组信息
被编码的位掩码。
13.图2是根据本公开的技术的图示了示例路由器的框图,该示例路由器被配置为使用路线目标提供边界网关协议路由信息的导入,该路线目标被指定作为利用链路管理组信息被编码的位掩码。
14.图3是根据本公开的技术的图示了示例控制器的框图,该示例控制器被配置为使用路线目标提供边界网关协议路由信息的传播,该路线目标被指定作为利用链路管理组信息被编码的位掩码。
15.图4是根据本公开的技术的图示了示例位掩码路线目标的框图。
16.图5是根据本公开所描述的一种或多种示例技术的图示了控制器和pe路由器的示例操作的流程图,该控制器和pe路由器被配置为使用路线目标提供边界网关协议路由信息的导入和传播,该路线目标被指定作为利用链路管理组信息被编码的位掩码。
具体实施方式
17.图1是根据本公开的技术的图示了示例网络的框图,该示例网络用于使用路线目标(rt)提供边界网关协议(bgp)路由信息(例如路线、链路/节点信息、路由算法信息等)的传播和导入,该路线目标被指定作为利用链路管理组信息被编码的位掩码。
18.如图1所图示的,网络系统10包括广域网(wan)12和连接至wan 12的多个远程站点20a至20e(“站点20”),该广域网12具有底层网络拓扑14(“底层拓扑14”)。在一些示例中,wan 12可以支持底层拓扑14上方的一个或多个虚拟网络,以跨wan 12连接一个或多个站点20。例如,虚拟网络可以使站点20能够通过wan 12安全地共享数据。虚拟网络可以包括配置有不同的性能和缩放特性的虚拟私有网络(vpn)或者网络切片。
19.wan 12可以包括互联网或另一公共网络。在一些情况下,wan 12可以包括多协议标签切换(mpls)网络。在一些情况下,wan 12可以包括移动通信网络,诸如5g移动网络。wan 12具有底层拓扑14,该底层拓扑14可以包括节点和链路的互联网协议(ip)结构。尽管在图1中被图示为单个拓扑,但是在一个示例中,wan 12的底层拓扑14可以包括两个或多个自主系统(as)。在该示例中,wan 12和所公开的技术支持as间连接性。每个as可以包括在网络服务提供方的控制下的网络设备集合,该网络服务提供方在访问wan 12的站点20处向客户提供服务。所提供的服务可以包括例如传统的互联网访问、voip、视频和多媒体服务以及安全性服务。wan中的as间连接性的其他示例细节是在2016年3月30日提交的美国专利申请15/084,769中描述的,其全部内容通过引用并入本文。
20.站点20中的每个站点20可以包括局域网(lan)或广域网(wan),其包括多个订户设备,诸如台式计算机、膝上型计算机、工作站、pda、无线设备、网络就绪器具、文件服务器、打印服务器或其他设备。在一些示例中,站点20中的至少一个可以包括数据总线站点,该数据总线站点具有专门的设施,该设施向订户和其他实体提供数据的存储、管理和散布。数据总线站点可以包括例如多个服务器和存储区域网络(san),其为订户/客户提供计算环境。订户设备可以连接至数据总线站点,以请求和接收由数据总线站点提供的服务和数据。
21.在图1的所图示示例中,wan 12包括控制器设备11、提供方边缘(pe)路由器16a至16e(“pe路由器16”)和中转路由器,例如提供方(p)路由器17a至17d。wan 12的控制器11可以包括软件定义网络(sdn)控制器,其提供wan 12内的客户会话和通信流的集中式控制。在
一些示例中,控制器11被配置为将底层拓扑14的一个或多个资源子集分配给相应虚拟网络。被分配给虚拟网络的资源资源包括例如底层网络14的要由虚拟网络使用的一个或多个节点和一个或多个链路。资源子集可以被用于引导给定虚拟网络(例如网络切片、vpn或vpn集合)的业务,以最佳地递送端到端服务。在一些示例中,被分配给虚拟网络的资源子集可以是专用资源子集,该专用资源子集仅被用于转发虚拟网络的业务。在其他示例中,被分配给虚拟网络的资源子集可以被至少部分地共享,并且被用于转发多个虚拟网络的业务。因此,控制器11可以配置和管理wan 12内的路由和切换基础设施(例如包括pe路由器16和p路由器17)。sdn控制器的其他示例细节是在2018年2月20日发布的美国专利9,898,317和2017年10月17日发布的美国专利9,794,165中描述的,这些专利中的每个专利的全部内容通过引用并入本文。
22.pe路由器16中的每个pe路由器16分别经由客户边缘(ce)路由器18a至18e(“ce路由器18”)耦合至一个或多个远程站点20。例如,pe路由器16a经由ce路由器18a被耦合至站点20a,pe路由器16b经由ce路由器18b被耦合至站点20b,pe路由器16c经由ce路由器18c被耦合至站点20c,pe路由器16d经由ce路由器18d被耦合至站点20d,并且pe路由器16e经由ce路由器18e被耦合至站点20e。pe设备16经由链路15a至链路15j(统称为“链路15”)被连接至p路由器17,例如以太网链路。
23.pe路由器16可以计算针对在底层拓扑14之上被建立的虚拟网络的一个或多个路径。作为一个示例,pe路由器16可以使用区段路由技术(例如源分组和路由联网(spring)范例),以通告使用内部网关协议(igp)的节点或使用边界网关协议

链路状态(bgp

ls)的控制器11之间的网络区段,并且在igp域(例如wan 12)内构建单跳或多跳隧道。在区段路由中,针对区段的“路径”信息被散布在igp域内的路由器之间(或者使用bgp

ls的路由器和控制器11之间),作为针对相应域的igp链路状态信息的一部分。入口路由器能够通过将一个或多个区段标识符(sid)追加到分组来操纵分组通过指令或区段的有序列表。换言之,入口路由器可以通过用sid的适当组合(堆栈)追加分组来操纵分组通过节点和链路的期望集合。区段路由允许路由器强制流通过任何拓扑路径和服务链,同时仅在每个域的入口节点处维护每流状态。
24.区段路由是filsfils等人于2018年7月在互联网工程任务组(ietf)的请求评议(rfc 8402)中的“segment routing architecture(区段路由架构)”中进一步描述的,而区段路由用例是filsfils等人于2013年7月在互联网草案draft

filsfils

rtgwg

segment

routing

use

cases

01中的“segment routing use cases(区段路由用例)”中描述的,其中每一个的全部内容通过引用并入本文。关于spring的其他细节是在(1)2014年7月3日的ietf草案:draft

filsfils

spring

segment

routing

04中的“segment routing architecture(区段路由架构)”;(2)s.previdi等人于201年5月在rfc 7855中的“source packet routing in networking(spring)problem statement and requirements(联网中的源分组路由(spring)问题声明和要求)”;以及(3)2014年8月1日的ietf草案:draft

filsfils

spring

segment

routing

mpls

03中的“segment routing with mpls data plane(利用mpls数据平面的区段路由)”中找到的,其中每一个的全部内容通过引用并入本文。
25.在一些示例中,pe路由器16可以实施灵活算法技术,以基于不同算法计算基于约
束的路径。例如,该算法可以定义用于计算路径的计算类型、度量类型和/或约束。例如,计算类型可以包括在“内部网关协议(igp)参数”iana注册中心或其他计算机制下被定义的igp算法。度量类型可以包括用于计算沿着约束拓扑的最佳路径的度量类型,诸如igp度量、最小单向链路延迟、业务工程默认度量等。例如,约束可以将路径限制为具有具体亲和力的链路或者避免具有具体亲和力的链路。约束类型可以是计算沿着子集链路的路径,该子集链路与特定颜色相关联。颜色是通用概念,可以表示网络的任何特点或特性,诸如虚拟拓扑、网络切片、路径计算算法、业务工程约束(例如时延、带宽等)、管理配置文件等。在图1的示例中,链路15a、链路15b和链路15c可以与第一颜色(例如“红色”)相关联,该第一颜色表示具有第一链路属性(例如低时延)的链路,并且可以被用于计算从pe路由器16a到pe路由器16d的基于约束的路径22a。类似地,链路15a、链路15d和链路15g可以与第二颜色(例如“蓝色”颜色)相关联,该第二颜色表示具有第二链路属性(例如高带宽)的链路,并且可以被用于计算从pe路由器16a到pe路由器16d的基于约束的路径22b。颜色约束的附加示例是p.mohapatra等人于2009年4月在互联网工程任务组(ietf)rfc 5512中的“the bgp encapsulation subsequent address family identifier(safi)and the bgp tunnel encapsulation attribute(bgp封装后续地址族标识符(safi)和bgp隧道封装属性)”中描述的,其全部内容通过引用并入本文。灵活算法的其他示例是p.psenak、ed.等人于2020年4月1日在互联网草案draft

ietf

lsr

flex

algo

07.txt中的“igp flexible algorithm(igp灵活算法)”中描述的,其全部内容通过引用并入本文。
26.在一些当前的示例解决方案中,管理员可以将一个或多个管理组(例如颜色)指派给每个路由器的链路(例如经由路由器的命令行接口)。在链路已经被配置之后,路由器通常使用igp来泛洪具有灵活算法定义的igp域,该灵活算法定义包括下述的组合:(a)计算类型,(b)度量类型,以及(c)约束,并且可以由灵活算法标识符标识。灵活算法定义可以包括标识链路属性(例如颜色)的链路管理组信息。然而,在这些示例中,路由器中的每个路由器在igp域中发送和接收灵活算法定义和链路管理组信息,并且每个路由器可以为每种算法计算路径,该路径固有地无法缩放(例如当存在大量算法时)。
27.为了解决可缩放性问题,在一些示例中,网络可以包括控制器,以将底层拓扑14的一个或多个资源子集分配给参与相应虚拟网络的pe路由器16。例如,控制器可以使用bgp

ls,以向参与虚拟网络的pe路由器通告针对虚拟网络的资源子集(例如作为被附接至链路网络层可达性信息(nlri)的bgp

ls属性)。然而,如果链路属于不同的链路管理组,那么控制器通常通告针对链路所属的每个链路管理组的相应bgp

ls通告,其固有地也是无法缩放的(例如当链路具有大量指派颜色时)。而且,在没有本发明的情况下,bgp

ls不支持灵活算法定义的通告。
28.根据本公开所描述的技术,控制器11和pe路由器16使用路线目标提供bgp

ls路线的传播和导入,根据本公开的技术,该路线目标被指定作为利用链路管理组信息被编码的位掩码。
29.在图1的示例中,控制器11可以配置针对wan 12中的每个路由器的链路的链路管理组。如上,链路15a、链路15b和链路15c可以与第一颜色(例如“红色”)相关联,该第一颜色表示具有第一链路属性(例如低时延)的链路,并且可以被用于计算从pe路由器16a到pe路由器16d的基于约束的路径22a。类似地,链路15a、链路15d和链路15g可以与第二颜色(例如

蓝色”颜色)相关联,该第二颜色表示具有第二链路属性(例如高带宽)的链路,并且可以被用于计算从pe路由器16a到pe路由器16d的基于约束的路径22b。在针对一个或多个虚拟网络分配链路之后,控制器11可以生成利用链路管理组信息被编码的位掩码,该链路管理组信息与链路相关联。位掩码的每个位可以对应于指派给网络内的链路或链路集合的不同管理组。在该示例中,控制器11可以利用值
‘1’
设置位掩码的第一位,例如最低有效位,表示链路15a被指派有红色颜色。控制器11还可以利用值
‘1’
设置位掩码的第二位,例如最低有效位的下一位,表示链路15a被指派有蓝色颜色。在该示例中,因此,位掩码被设置为

0011’。示例位掩码仅是示例,并且可以是任何可变长度。
30.控制器11然后可以使用被指定作为位掩码的路线目标来向pe路由器16通告资源子集(例如彩色链路)。例如,控制器11可以将被指定作为位掩码的路线目标附接至bgp

ls通告(例如bgp更新消息)。被指定作为位掩码的路线目标在本文中被称为“位掩码路线目标”。
31.基于相应pe路由器是否参与虚拟网络,pe路由器16中的每个pe路由器16然后可以导入或丢弃通告(例如路由协议消息),如由通告中所包括的位掩码路线目标所指示的。例如,作为示例,pe路由器16a接收路由协议消息,该路由协议消息通告底层网络14的被分配给pe路由器16a所参与的虚拟网络的资源子集。为了导入针对虚拟网络的通告,pe路由器16a可以用附接至路由协议消息的位掩码路线目标和在pe路由器16a上配置的位掩码路线目标来执行逻辑

与’操作。需要学习信息的路由器被配置有一个或多个位掩码路线目标,其中位是针对路由器想要导入的链路管理组设置的。位掩码路线目标可以被存储在导入路线目标列表中。作为一个示例,pe路由器16a可以被配置有被指定作为位掩码0011的路线目标,可以表示pe路由器16a将导入针对链路的路线,该链路与颜色红色(例如第一位)和蓝色(例如第二位)相关联。
32.当pe路由器16a接收bgp

ls通告时,pe路由器16a可以用附接至bgp

ls通告的位掩码路线目标和在pe路由器16a上配置的位掩码路线目标来执行逻辑

与’操作,并且如果逻辑

与’操作的结果是非零值,则pe路由器16a导入由路由协议消息携带的信息,诸如拓扑信息和/或算法信息。备选地或附加地,如果逻辑

与’操作的结果是零,则pe路由器16a不导入由路由协议消息携带的信息。作为一个示例,控制器11可以发送位掩码路线目标作为附接至bgp

ls通告的0011。响应于接收到bgp

ls通告,pe路由器16a用附接至bgp

ls通告的位掩码路线目标(例如0011)及其路线目标导入列表中的位掩码路线目标(例如0011)来执行逻辑

与’操作。在该示例中,pe路由器16a确定逻辑

与’操作的结果产生非零值,并且导入由路由协议消息携带的信息,诸如拓扑信息和/或算法信息。备选地或附加地,pe路由器16a可以导入具有位掩码路线目标0001或位掩码路线目标0010的bgp

ls通告。
33.在一些示例中,控制器11还可以通告bgp

ls通告,包括定义用于算法的拓扑的灵活算法定义(例如计算类型、度量类型、所包括/排除的管理组)。例如,bgp

ls包括新的bgp网络层可达性信息(nlri)编码格式,以指定灵活算法定义。通过这种方式,控制器11可以通告bgp

ls通告,包括指定灵活算法定义的nlri,并且被附接至利用链路管理组被编码的位掩码路线目标,该链路管理组与灵活算法定义相关联。
34.在一些示例中,位掩码路线目标还可以被用于路线目标约束机制。路由器可以使用路线目标约束,以指示对仅接收包括特定路线目标的路线感兴趣。路线目标约束机制的
附加示例是p.marques等人于2006年11月在请求评议4684中的“constrained route distribution for border gateway protocol/multiprotocol label switching(bgp/mpls)internet protocol(ip)virtual private networks(vpns)(用于边界网关协议/多协议标签切换(bgp/mpls)互联网协议(ip)虚拟私有网络(vpn)的约束路线分布)”中描述的,其全部内容通过引用并入本文。根据本公开的技术,例如路由器可以发送bgp通告(例如bgp更新消息),该bgp通告包括路线目标成员信息,该路线目标成员信息标识有兴趣接收的相应位掩码路线目标。例如,bgp对等体(例如pe路由器16)可以分别发送bgp通告,该bgp通告包括路线目标成员nlri,该路线目标成员nlri标识有兴趣接收的位掩码路线目标。接收路线目标成员信息的bgp对等体可以使用路线目标成员nlri,以取决于通告是否包括其他pe路由器所感兴趣的位掩码路线目标,控制后续通告到其他pe路由器16中的每个其他pe路由器16的传播。通过这种方式,为路线目标约束机制实施位掩码路线目标的路由器可以限制通告仅到路由器的传播,该路由器已经通告有兴趣接收包括特定位掩码路线目标的通告,这可以减少网络中的通告数量。
35.图2是根据本公开的技术的图示了示例路由器的框图,该示例路由器被配置为使用路线目标提供边界网关协议路由信息的导入,该路线目标被指定作为利用链路管理组信息被编码的位掩码。
36.通常,路由器80可以基本上类似于图1的任何pe路由器16来操作。在图2的所图示示例中,路由器80包括接口卡88a至88n(“ifc88”),该接口卡88a至88n经由传入链路90a至90n(“传入链路90”)接收分组,并且经由出站链路92a至92n(“出站链路92”)发送分组。ifc 88通常经由多个接口端口(未在图2中示出)被耦合至链路90、链路92。路由器80还包括控制单元82,该控制单元82确定接收到的分组的路线,并对应地经由ifc 88转发分组。
37.控制单元82可以包括路由引擎84和转发引擎86。控制单元82为路由引擎84提供操作环境,并且可以仅被实施在软件或硬件中,或者可以被实施为软件、硬件或固件的组合。例如,控制单元82可以包括执行软件指令的一个或多个处理器(未示出)。在该示例中,路由引擎84可以包括各种软件模块或守护进程(例如一个或多个路由协议过程、管理过程、用户界面等),并且控制单元82可以包括计算机可读存储介质,诸如计算机存储器或硬盘,以用于存储可执行指令。
38.路由引擎84作为针对路由器80的控制平面进行操作,并且包括操作系统,该操作系统提供多任务操作环境以用于执行多个并发过程。路由引擎84可以实施一个或多个协议94,以执行路由过程。例如,协议94可以包括bgp

ls 96、ospf 98和is

is 100,以用于与计算机网络中的其他路由设备交换链路状态信息。路由引擎84使用内部网关协议(igp)链路状态路由协议、ospf 98和/或is

is 100,以与同一igp区域或自主系统(as)中的其他路由设备交换/路由信息,以便发现igp区域或as的拓扑并且更新链路状态数据库(lsdb)102。尽管未被图示在图2中,但是路由引擎84还可以包括区段路由组件,以实施区段路由技术,诸如spring。路由引擎84维护lsdb102,该lsdb 102被配置为存储关于路由器80所驻留的计算机网络内的节点和链路的链路状态信息,例如来自图1的wan 12的底层拓扑14。例如,lsdb 102可以包括以下一项或多项:本地/远程互联网协议(ip)地址、本地/远程接口标识符、链路度量和业务工程(te)度量、链路带宽、可预留带宽、服务类别(cos)预留状态、抢占或共享风险链路组(srlg)。
39.路由引擎84可以使用bgp

ls 96,以与诸如控制器108(可以表示图1的控制器11的示例实施方式)等外部组件共享链路状态信息,该链路状态信息由igp链路状态路由协议收集。bgp

ls是h.gredler等人于2016年3月在互联网工程任务组(ietf)rfc 7752中的“north

bound distribution of link

state and traffic engineering(te)information using bgp(使用bgp的链路状态和业务工程(te)信息的向北分布)”中进一步描述的,其全部内容通过引用并入本文。根据本公开所描述的技术,路由引擎84还可以使用bgp

ls 96来从控制器108接收一个或多个资源子集,该一个或多个资源子集被分配给路由器80所参与的给定虚拟网络。bgp

ls 96包括新的bgp网络层可达性信息(nlri)编码格式。在bgp

ls 96中,mp_reach_nlri和mp_unreach_nlri属性被用于携带不透明信息,包括被分配给给定虚拟网络的资源子集。例如,每个链路状态nlri描述了节点、链路或前缀。在一些示例中,mp_reach_nlri和mp_unreach_nlri属性还可以被用于携带针对路线目标约束机制的路线目标成员nlri信息。
40.路由信息104可以描述网络内的各种路线以及针对每个路线的适当的下一跳,即,沿着路线中的每个路线的邻近路由设备。路由引擎84分析lsdb 102,以生成路由信息104并且将转发数据结构安装到转发引擎86的转发信息106内。根据所公开的技术,路由引擎84可以为路由器80所参与的虚拟网络中的每个虚拟网络生成路由信息104和转发信息106中的一个单独信息。单独的路由和转发表被称为虚拟路由和转发(vrf)表,该单独的路由和转发表是为路由器80所参与的虚拟网络中的每个虚拟网络创建的。通常,路由信息104中的一个路由信息104包括针对路由器80所驻留的整个计算机网络的全局路由表,例如来自图1的wan 12的底层拓扑14。
41.根据所公开的技术,路由引擎84包括路线导入单元109,该路线导入单元109使用路线目标来控制bgp路线的导入,该路线目标被指定作为对链路管理组信息编码的位掩码。在该示例中,路由引擎84被配置有存储在路由信息104中的位掩码路线目标105。例如,管理员可以经由路由器80的接口(未在图1中示出)配置位掩码路线目标105,并且将位掩码路线目标105存储在路由信息104中的导入路线目标列表中。如本公开所描述的,位掩码路线目标105可以表示利用链路管理组信息被编码的位掩码,其中位掩码的每个位对应于指派给网络内的链路或链路集合的不同管理组。
42.路线导入单元109被配置为基于被附接至传入通告的位掩码路线目标来确定是否导入传入通告(例如bgp

ls更新消息)。例如,当路由器80从控制器108接收bgp

ls通告时,路线导入单元109可以对附接至接收到的bgp

ls更新消息的位掩码路线目标和在路由器80上配置的位掩码路线目标105执行逻辑

与’操作。如果逻辑

与’操作的结果是非零值,则路线导入单元109导入由路由协议通告携带的信息,诸如拓扑信息和/或算法信息,例如通过将路线存储到路由信息104中。如果逻辑

与’操作的结果是零,则路线导入单元109不导入传入路线。
43.在一些示例中,传入的bgp

ls通告包括灵活算法定义。例如,bgp

ls 96包括新的bgp网络层可达性信息(nlri)编码格式,以指定灵活算法定义。例如,在一些实例中,路由器80可以从控制器108接收bgp

ls通告,包括指定灵活算法定义的nlri,并且被附接至利用链路管理组被编码的位掩码路线目标,该链路管理组与灵活算法定义相关联。
44.基于所导入的路线,路由引擎84被配置为注释lsdb 102,以指示计算机网络的底
层拓扑的哪些资源(例如彩色链路)被分配给给定的虚拟网络。作为一个示例,路由引擎84可以将标志或其他指示符添加到lsdb 102,以将所通告的资源子集标注为可用于给定的虚拟网络。在针对给定虚拟网络执行路由服务时,路由引擎84本质上屏蔽或忽略lsdb 102中所包括的计算机网络的底层拓扑的剩余资源。通过这种方式,路由引擎84具有计算机网络的完整底层拓扑的受限视图,因此仅使用受限视图中的资源子集来为给定虚拟网络生成路由表104中的一个路由表104和转发表106中的一个转发表106。
45.转发引擎86作为针对路由器80的数据平面进行操作,以用于转发网络业务。在一些示例中,转发引擎86可以包括一个或多个分组转发引擎(pfe)(未示出),该一个或多个分组转发引擎可以分别包括中央处理单元(cpu)、存储器和一个或多个可编程分组转发专用集成电路(asic)。例如,转发信息106可以将网络目的地与具体的下一跳和ifc 88的对应接口端口相关联。转发信息106可以是被编程为专用转发芯片的基数树、一系列表格、复杂数据库、链表、基数树、数据库、平面文件或各种其他数据结构。
46.图2所图示的路由器80的架构仅出于示例性目的被示出。本公开的技术不被限于该架构。在其他示例中,路由器80可以以各种方式来配置。在一个示例中,控制单元82的一些功能性可以被分布在ifc 88或多个分组转发引擎(pfe)(未示出)内。控制单元82可以仅被实施在软件或硬件中,或者可以被实施为软件、硬件或固件的组合。例如,控制单元82可以包括执行软件指令的一个或多个处理器。在该情况下,控制单元82的各种软件模块可以包括可执行指令,该可执行指令被存储在计算机可读介质(诸如计算机存储器或硬盘)上。
47.图3是根据本公开的技术的图示了示例控制器的框图,该示例控制器被配置为使用路线目标提供边界网关协议路由信息的传播,该路线目标被指定作为利用链路管理组信息被编码的位掩码。出于说明的目的,控制器设备110在本文中可以在图1的网络系统10的上下文内被描述,并且可以表示控制器11。图3所图示的控制器设备110的架构仅出于示例目的被示出,并且不应该被限于该架构。在其他示例中,控制器设备110可以以各种方式来配置。
48.控制器设备110包括被耦合至网络接口114的控制单元112,以通过入站链路116和出站链路118与其他网络设备交换分组。控制单元112可以包括执行软件指令的一个或多个处理器(未示出),诸如被用于定义软件或计算机程序,被存储至计算机可读存储介质(未示出)的那些软件指令。备选地或附加地,控制单元112可以包括用于执行本文描述的技术的专用硬件。
49.控制单元112为路径计算元件(pce)124、网络拓扑萃取器守护进程(ntad)123、资源分配单元132和路线传播单元134提供操作环境。在一个示例中,这些单元可以被实施为一个或多个过程,该一个或多个过程在一个或多个服务器的一个或多个虚拟机上执行。即,尽管通常被图示和描述为在单个控制器设备110上执行,但是这些单元的各个方面可以被委托给其他计算设备。控制单元112还为多个协议120(包括bgp

ls 122)提供操作环境。
50.控制单元112可以使用bgp

ls 122来从计算机网络内的pe路由器接收链路状态信息,例如来自图1的wan 12的底层拓扑14。控制单元112还可以将接收到的链路状态信息转发给ntad 123。ntad123可以基于接收到的链路状态信息来生成网络拓扑(例如来自图1的wan 12的底层拓扑14)。
51.如图3所图示的,pce 124包括路径计算单元126、拓扑单元128和路径供应单元
130。ntad 123可以将拓扑数据转发给pce 124的拓扑单元128。拓扑单元128可以接收拓扑数据,该拓扑数据描述了计算机网络的可用资源,包括访问、聚合和边缘节点、其接口以及互连的通信链路。pce 124的路径计算单元126可以使用由拓扑单元128接收的拓扑数据来计算跨计算机网络的路径。在计算路径时,路径计算单元126可以调度路径,以用于由路径供应单元130进行供应。所计算的路径包括由路径供应单元130可用的路径信息,以在网络中建立路径。例如,路径供应单元130可以将路径信息发送给网络设备,以指示网络设备在网络中建立路径的至少一部分。在提交路径以提供分组传送之前,供应路径可能需要路径验证。
52.控制单元112包括资源分配单元132,该资源分配单元132被配置为将计算机网络的拓扑数据中所包括的一个或多个资源子集(例如节点和/或链路)分配给在计算机网络之上被建立的相应虚拟网络。例如,ntad 123还可以将拓扑数据转发给资源分配单元132。资源分配单元132可以被配置为基于源信息、目的地信息和针对相应虚拟网络的业务的分类信息来将资源子集分配给相应虚拟网络。分类信息可以包括针对业务的链路管理组信息,例如颜色或其他链路属性。
53.根据所公开的技术,控制单元112包括路线传播单元134,该路线传播单元134被配置为使用路线目标提供边界网关协议路线的传播,该路线目标被指定作为利用链路管理组信息被编码的位掩码。例如,ntad 123还可以将拓扑数据转发给路线传播单元134,使得路线传播单元134可以生成位掩码,该位掩码表示链路管理组信息。例如,控制器110可以用位掩码的每个位生成位掩码,该每个位对应于指派给网络内的链路或链路集合的不同管理组。
54.作为一个示例,控制器110可以例如从管理员接收指令,以向链路15a指派第一颜色(例如红色)和第二颜色(例如蓝色)。作为响应,路线传播单元134用位生成位掩码,该位是针对指派给链路15a的颜色中的每个颜色设置的。控制单元112然后可以使用bgp

ls 122来向参与相应虚拟网络的一个或多个网络设备(例如图1的pe路由器16a和16d)通告资源子集,作为相应虚拟网络的底层网络拓扑的受限视图。bgp

ls通告可以使用路线目标来标记,以标识相应虚拟网络。根据所公开的技术,路线目标被指定有由路线传播单元134生成的位掩码。
55.图4是根据本公开所描述的技术的图示了示例位掩码路线目标的框图。在图4的示例中,位掩码路线目标400可以表示r.raszuk、ed.等人于2016年5月31日在互联网草案draft

ietf

idr

registered

wide

bgp

communities

02的“registered wide bgp community values(注册的宽bgp社区值)”中描述的可传递的bgp社区容器,其全部内容通过引用并入本文。bgp社区容器可以包括全局管理员(ga)类型402、全局管理员长度404、全局管理员406、本地管理员408、位掩码长度410和位掩码412。
56.全局管理员类型402可以包括自主系统号、ipv4地址或ipv6地址。针对自主系统号的全局管理员类型402,全局管理员长度404可以包括4个八位字节的长度。针对ipv4地址的全局管理员类型402,全局管理员长度404可以包括4个八位字节的长度。针对ipv6地址的全局管理员类型402,全局管理员长度404可以包括16个八位字节的长度。
57.位掩码412可以具有由位掩码长度410定义的可变长度(例如1个八位字节的位掩码长度)。如本公开所描述的,位掩码412是利用链路管理组信息被编码的。控制器可以将位
掩码路线目标400附接至bgp

ls通告(例如bgp更新消息),并且将bgp

ls通告发送给参与特定虚拟网络的pe路由器。
58.图5是根据本公开的技术的图示了控制器和pe路由器的示例操作的流程图,该控制器和pe路由器被配置为使用路线目标提供边界网关协议路由信息的导入和传播,该路线目标被指定作为利用链路管理组信息被编码的位掩码。图5的操作是相对于图1的控制器11和pe路由器16中的一个pe路由器16描述的。在其他示例中,图5的操作可以由图3的控制器110和/或图2的路由器80执行。
59.控制器11将底层网络拓扑14的一个或多个资源子集分配给在底层网络14之上被建立的一个或多个虚拟网络22中的每个虚拟网络22(502)。底层网络14可以包括节点和链路的ip结构。在一些示例中,底层网络14包括wan,该wan包括一个或多个自主系统。如上,虚拟网络可以包括在底层网络14上方的、具有不同的性能和缩放特性的一个或多个vpn或多个网络切片。被分配给相应虚拟网络的资源子集包括底层网络14的要由虚拟网络使用的一个或多个节点和一个或多个链路。在一些示例中,被分配给虚拟网络的资源子集可以是专用资源子集,该专用资源子集仅被用于转发虚拟网络的业务。在其他示例中,被分配给虚拟网络的资源子集可以被至少部分地共享,并且被用于转发多个虚拟网络的业务。
60.控制器11可以基于约束信息将资源子集分配给虚拟网络,以将路径限制为具有具体亲和力的链路或者避免具有具体亲和力的链路。约束类型可以是计算沿着子集链路的路径,该子集链路与特定颜色相关联。例如,控制器11可以分配底层网络14的某些链路,该某些链路被用于根据特定颜色构建源设备与目的地设备对之间的路线。
61.在将资源子集分配给虚拟网络之后,控制器11生成利用链路管理组信息被编码的位掩码,该链路管理组信息与一个或多个链路相关联(504)。位掩码的每个位可以对应于在网络控制设备上定义的多个链路管理组中的一个不同的链路管理组。而且,链路管理组中的每个链路管理组可以定义底层网络的资源子集的不同分组。例如,链路15a可以与第一颜色(例如红色)相关联,该第一颜色表示具有第一链路属性(例如低时延)的链路。链路15a还可以与第二颜色(例如“蓝色”颜色)相关联,该第二颜色表示具有第二链路属性(例如高带宽)的链路。控制器11可以针对与链路15a相关联的链路管理组中的每个链路管理组设置位。例如,控制器11可以设置位掩码的第一位(例如0001)以表示链路与颜色红色相关联,并且设置位掩码的第二位(例如0010)以表示链路与颜色蓝色相关联,这导致位掩码为0011。
62.控制器11然后输出路由协议消息,以向参与虚拟网络的多个pe路由器16(例如pe路由器16a和16d)通告资源子集,其中路由协议消息包括被指定作为位掩码的路线目标(506)。根据所公开的技术,控制器11可以使用bgp

ls通告向多个pe路由器16通告资源子集,该bgp

ls通告包括被指定作为位掩码的路线目标。
63.基于相应pe路由器是否参与虚拟网络,pe路由器16中的每个pe路由器16然后可以导入或丢弃通告,如由通告中所包括的位掩码路线目标所指示的。例如,作为示例,pe路由器16a接收路由协议消息,该路由协议消息通告底层网络14的被分配给pe路由器16a所参与的虚拟网络的资源子集(508)。如先前所讨论的,为了导入针对虚拟网络的通告,pe路由器16a可以用附接至路由协议消息的路线目标和在pe路由器16a上配置的路线目标来执行逻辑

与’操作(510)。需要学习信息的路由器被配置有一个或多个位掩码路线目标,其中位是针对路由器想要导入的链路管理组设置的。作为一个示例,pe路由器16a可以被配置有被指
定作为位掩码0011的路线目标,该位掩码可以表示pe路由器16a将导入针对链路的路线,该链路与颜色红色(例如第一位)和蓝色(例如第二位)相关联。
64.响应于确定用附接至通告的路线目标和在pe路由器16a上配置的路线目标的逻辑

与’操作的结果是非零值(步骤510的“是”),pe路由器16a导入由路由协议消息携带的信息,诸如拓扑信息和/或算法信息(512)。备选地,响应于确定用附接至通告的路线目标和在pe路由器16a上配置的路线目标的逻辑

与’操作的结果是零(步骤510的“否”),pe路由器16a不导入路由协议消息(514)。
65.本文描述的技术可以被实施在硬件、软件、固件或其任何组合中。描述为模块、单元或组件的各种特征可以被一起实施在集成逻辑设备中,或者被单独实施为离散但可共同操作的逻辑设备或其他硬件设备。在一些情况下,电子电路系统的各种特征可以被实施为一个或多个集成电路设备,诸如集成电路芯片或芯片组。
66.如果被实施在硬件中,则本公开可能涉及一种装置,诸如处理器或集成电路设备,诸如集成电路芯片或芯片组。备选地或者附加地,如果被实施在软件或固件中,则技术可以至少部分地由计算机可读数据存储介质实现,该计算机可读数据存储介质包括指令,该指令在被执行时使处理器执行上述方法中的一种或多种。例如,计算机可读数据存储介质可以存储这种指令,以用于由处理器执行。
67.计算机可读介质可以形成计算机程序产品的一部分,该计算机程序产品可以包括封装材料。计算机可读介质可以包括计算机数据存储介质,诸如随机存取存储器(ram)、只读存储器(rom)、非易失性随机存取存储器(nvram)、电可擦除可编码只读存储器(eeprom)、闪存、磁性或光学数据存储介质等。在一些示例中,制品可以包括一个或多个计算机可读存储介质。
68.在一些示例中,计算机可读存储介质可以包括非暂时性介质。术语“非暂时性”可以指示存储介质未被实施在载波或者传播信号中。在某些示例中,非暂时性存储介质可以存储数据(例如在ram或缓存中),该数据可以随着时间变化。
69.代码或指令可以是由处理电路系统执行的软件和/或固件,该处理电路系统包括一个或多个处理器,诸如一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他等效的集成或离散逻辑电路系统。因此,本文使用的术语“处理器”可以指任何前述结构或者适合于实施本文描述的技术的任何其他结构。另外,在一些方面中,本公开所描述的功能性可以被提供在软件模块或硬件模块内。
70.示例1.一种网络控制设备,包括:网络接口;以及包括至少一个处理器的控制单元,控制单元被配置为:将底层网络的一个或多个资源子集分配给在底层网络之上建立的一个或多个虚拟网络中的每个虚拟网络,其中被分配给相应虚拟网络的一个或多个资源子集包括底层网络的要由相应虚拟网络使用的一个或多个节点和一个或多个链路;生成利用链路管理组信息被编码的位掩码,链路管理组信息与一个或多个链路相关联,其中位掩码的每个位对应于在网络控制设备上被定义的多个链路管理组中的一个不同的链路管理组,并且其中链路管理组中的每个链路管理组定义底层网络的一个或多个资源子集的不同分组;以及向参与相应虚拟网络的多个提供方边缘(pe)路由器输出路由协议消息,以通告一个或多个资源子集,其中路由协议消息包括被指定作为位掩码的路线目标。
71.示例2.根据示例1的网络控制设备,其中控制单元被配置为输出路由协议消息,以
使用边界网关协议

链路状态bgp

ls通告来通告一个或多个资源子集。
72.示例3.根据示例2的网络控制设备,其中控制单元被配置为输出路由协议消息,以通告针对一个或多个资源子集的灵活算法定义,其中灵活算法定义被指定作为bgp

ls通告的网络层可达性信息nlri,其中灵活算法定义包括计算类型、度量类型和约束。
73.示例4.根据示例1至3中任一项的网络控制设备,其中链路管理组信息包括与一个或多个链路相关联的颜色。
74.示例5.根据示例1至4中任一项的网络控制设备,其中一个或多个虚拟网络包括在底层网络上方的一个或多个网络切片,其中一个或多个网络切片中的每个网络切片被配置有不同的性能和缩放特性;并且其中路由协议消息通告针对一个或多个网络切片的一个或多个资源子集。
75.示例6.一种路由器,包括:多个网络接口;以及包括至少一个处理器的控制单元,控制单元被配置为:接收路由协议消息,路由协议消息具有被指定作为位掩码的附接路线目标;以及基于位掩码,确定是否导入由路由协议消息携带的信息。
76.示例7.根据示例6的路由器,其中路由协议消息通告底层网络的一个或多个资源子集,一个或多个资源子集被分配给路由器所参与的虚拟网络,其中被分配给虚拟网络的一个或多个资源子集包括底层网络的要由虚拟网络使用的一个或多个节点和一个或多个链路,并且其中位掩码利用链路管理组信息被编码,链路管理组信息与一个或多个链路相关联,其中位掩码的每个位对应于在网络控制设备上被定义的多个链路管理组中的一个不同的链路管理组,并且其中链路管理组中的每个链路管理组定义底层网络的一个或多个资源子集的不同分组。
77.示例8.根据示例6至7中任一项的路由器,其中路线目标包括被附接至路由协议消息的第一路线目标,其中位掩码包括第一位掩码,其中第一路线目标被指定作为第一位掩码,并且其中为了确定是否导入由路由协议消息携带的信息,控制单元被配置为:利用第一位掩码和第二位掩码执行逻辑与操作,其中路由器被配置有被指定作为第二位掩码的第二路线目标;以及响应于确定逻辑与操作的结果是非零值,导入由路由协议消息携带的信息。
78.示例9.根据示例6至7中任一项的路由器,其中路线目标包括被附接至路由协议消息的第一路线目标,其中位掩码包括第一位掩码,其中第一路线目标被指定作为第一位掩码,并且其中为了确定是否导入由路由协议消息携带的信息,控制单元被配置为:利用第一位掩码和第二位掩码执行逻辑与操作,其中路由器被配置有被指定作为第二位掩码的第二路线目标;响应于确定逻辑与操作的结果是零,不导入由路由协议消息携带的信息。
79.示例10.根据示例6至9中任一项的路由器,其中路由协议消息是边界网关协议

链路状态bgp

ls通告。
80.示例11.根据示例10的路由器,其中路由协议消息包括针对一个或多个资源子集的灵活算法定义,其中灵活算法定义被指定作为bgp

ls通告的网络层可达性信息nlri,其中灵活算法定义包括计算类型、度量类型和约束。
81.示例12.根据示例6至11中任一项的路由器,其中链路管理组信息包括与一个或多个链路相关联的颜色。
82.示例13.根据示例6至12中任一项的路由器,其中虚拟网络包括在底层网络上方的一个或多个网络切片,其中一个或多个网络切片中的每个网络切片被配置有不同的性能和
缩放特性。
83.示例14.一种方法,包括:由网络控制设备将底层网络的一个或多个资源子集分配给在底层网络之上被建立的一个或多个虚拟网络中的每个虚拟网络,其中被分配给相应虚拟网络的一个或多个资源子集包括底层网络的要由相应虚拟网络使用的一个或多个节点和一个或多个链路;由网络控制设备生成利用一个或多个链路的链路管理组信息被编码的位掩码,其中位掩码的每个位对应于在网络控制设备上被定义的多个链路管理组中的一个不同的链路管理组,并且其中链路管理组中的每个链路管理组定义底层网络的一个或多个资源子集的不同分组;以及由网络控制设备向参与相应虚拟网络的多个提供方边缘pe路由器输出路由协议消息,以通告一个或多个资源子集,其中路由协议消息包括被指定作为位掩码的路线目标。
84.示例15.根据示例14的方法,其中输出路由协议消息以通告一个或多个资源子集包括:输出路由协议消息,以使用边界网关协议

链路状态bgp

ls通告来通告一个或多个资源子集。
85.示例16.根据示例15的方法,其中输出路由协议消息以通告一个或多个资源子集还包括:输出路由协议消息,以通告针对一个或多个资源子集的灵活算法定义,其中灵活算法定义被指定作为bgp

ls通告的网络层可达性信息nlri,其中灵活算法定义包括计算类型、度量类型和约束。
86.示例17.根据示例14至16中任一项的方法,其中链路管理组信息包括与一个或多个链路相关联的颜色。
87.示例18.根据示例14至17中任一项的方法,还包括:由参与相应虚拟网络的相应pe路由器接收路由协议消息,路由协议消息通告底层网络的被分配给虚拟网络的一个或多个资源子集,路由器参与虚拟网络,其中被分配给相应虚拟网络的一个或多个资源子集包括底层网络的要由虚拟网络使用的一个或多个节点和一个或多个链路,并且其中路由协议消息被附接至路线目标,路线目标被指定作为利用一个或多个链路的链路管理组信息而被编码的位掩码;基于位掩码,确定是否导入由路由协议消息携带的信息。
88.示例19.根据示例18的方法,其中路线目标包括被附接至路由协议消息的第一路线目标,其中位掩码包括第一位掩码,其中第一路线目标被指定作为第一位掩码,并且其中确定是否导入由路由协议消息携带的信息,方法还包括:由相应pe路由器利用第一位掩码和第二位掩码执行逻辑与操作,其中路由器被配置有被指定作为第二位掩码的第二路线目标;以及响应于确定逻辑与操作的结果是非零值,由相应pe路由器导入由路由协议消息携带的信息。
89.示例20.根据示例18的方法,其中路线目标包括被附接至路由协议消息的第一路线目标,其中第一路线目标被指定作为第一位掩码,并且其中确定是否导入由路由协议消息携带的信息,方法还包括:利用第一位掩码和第二位掩码执行逻辑与操作,其中路由器被配置有被指定作为第二位掩码的第二路线目标;以及响应于确定利用被附接至路由协议消息的第一路线目标和被配置在路由器上的第二路线目标的逻辑与操作的结果是零,不由相应pe路由器导入由路由协议消息携带的信息。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献