用于路由策略分发的边界网关协议(BGP)的制作方法


用于路由策略分发的边界网关协议(bgp)
本技术是向中国知识产权局提交的申请日为2019年10月17日、申请号为 201980067031.x、发明名称为“用于路由策略分发的边界网关协议(bgp)”的申请的分案申请。
技术领域
2.本技术涉及通信组网,特别涉及bgp路由策略分发。


背景技术:



3.自治系统(autonomous system,as)是处于单一技术管理下的路由器集合。as通常使用单个内部网关协议(interior gateway protocol,igp)和常见的度量集合在该路由器集合内传播路由信息。互联网由数千个自治系统(autonomous system,as)网络组成,每个as网络由单个机构拥有和运营。
4.边界网关协议(border gateway protocol,bgp)是用于跨as交换可达信息的路由协议。 bgp路由信息包括到达每个目的地的完整路由以及该路由的附加信息(即,路由属性)。到达每个目的地的路由称为as路径。bgp使用as路径和路由属性来维护网络可达信息数据库,并与其它bgp系统交换该数据库。bgp支持进行基于策略的路由。路由策略可以用于在到达目的地的多条路径中进行选择,并控制路由信息的重新分布。bgp使用网络可达信息来构建as连通性图,从而使得bgp能够删除路由循环并执行as级的策略决策。
5.路由标记在外部bgp关系中起着重要作用,即在对等体之间传送各种路由策略。传播路由的各种域内附加信息也是运营商之间非常普遍的最佳做法。bgp团体(community)是目前用来添加路由的附加信息的最常见工具。bgp团体是一组具有共同属性的路由,不考虑路由的网络、自治系统或任何物理边界。bgp团体允许网络共享路由的额外信息。这使得网络运营商能够更好地调整进出他们网络的流量。bgp团体还能够在bgp团体容器(communitycontainer)中指定运营商定义的参数集合或属性集合。原子(atom)提供类型长度值 (type-length-value,tlv)格式的数据类型,tlv可以用于对bgp团体容器的内容进行编码。


技术实现要素:



6.第一方面涉及一种计算机实现的用于扩展bgp以一次修改路由的多个属性的方法。所述方法包括:在bgp广型团体容器中提供表示一次可以修改路由的多个属性的指示;所述路由的一个或多个匹配条件;在所述路由的所述一个或多个匹配条件满足时,对所述路由的所述多个属性执行的动作。所述方法包括将bgp广型团体容器发送到相邻bgp路由器。
7.第二方面涉及一种计算机实现的用于扩展bgp以一次修改路由的多个属性的方法。所述方法包括:接收bgp广型团体容器,其中,所述bgp广型团体容器包括表示一次可以修改路由的多个属性的指示,所述路由的一个或多个匹配条件以及在所述路由的所述一个或多个匹配条件满足时,对所述路由的所述多个属性执行的动作。所述方法包括判断所述
路由的所述一个或多个匹配条件是否满足。所述方法包括:在确定所述路由的所述一个或多个匹配条件满足时,对所述路由的所述多个属性执行所述bgp广型团体容器中指定的所述动作。
8.根据任一上述方面,在所述计算机实现方法的第一种实现形式中,所述指示为修改属性广型团体动作。
9.根据任一上述方面或任一上述方面的任一上述实现形式,在所述计算机实现方法的第二种实现形式中,所述路由的所述一个或多个匹配条件由以下广型团体原子中的至少一个指定: bgp ipv4会话、bgp ipv6会话、ipv4前缀范围、ipv6前缀范围和as路径。
10.根据任一上述方面或任一上述方面的任一上述实现形式,在所述计算机实现方法的第三种实现形式中,对所述路由的所述多个属性执行的所述动作由以下广型团体原子中的至少一个指定:团体、添加as路径、修改med和拒绝。
11.根据任一上述方面或任一上述方面的任一上述实现形式,在所述计算机实现方法的第四种实现形式中,所述bgp ipv4会话广型团体原子包括类型字段、长度字段、本地ipv4地址字段和远端ipv4地址字段。
12.根据任一上述方面或任一上述方面的任一上述实现形式,在所述计算机实现方法的第五种实现形式中,所述bgp ipv6会话广型团体原子包括类型字段、长度字段、本地ipv6地址字段和远端ipv6地址字段。
13.根据任一上述方面或任一上述方面的任一上述实现形式,在所述计算机实现方法的第六种实现形式中,所述ipv4前缀范围广型团体原子包括类型字段、长度字段、标志字段和多个三元组,其中,所述三元组的形式为《ipv4地址字段,masklen字段,lemasklen字段》。
14.根据任一上述方面或任一上述方面的任一上述实现形式,在所述计算机实现方法的第七种实现形式中,所述ipv4前缀范围广型团体原子包括类型字段、长度字段、标志字段和多个三元组,其中,所述三元组的形式为《masklen字段,lemasklen字段,ipv4前缀字段》。
15.根据任一上述方面或任一上述方面的任一上述实现形式,在所述计算机实现方法的第八种实现形式中,所述ipv6前缀范围广型团体原子包括类型字段、长度字段、标志字段和多个三元组,其中,所述三元组的形式为《ipv6地址字段,masklen字段,lemasklen字段》。
16.根据任一上述方面或任一上述方面的任一上述实现形式,在所述计算机实现方法的第九种实现形式中,所述ipv6前缀范围广型团体原子包括类型字段、长度字段、标志字段和多个三元组,其中,所述三元组的形式为《masklen字段,lemasklen字段,ipv6前缀字段》。
17.根据任一上述方面或任一上述方面的任一上述实现形式,在所述计算机实现方法的第十种实现形式中,所述as路径广型团体原子包括类型字段、长度字段、标志字段和as编号序列字段。
18.根据任一上述方面或任一上述方面的任一上述实现形式,在所述计算机实现方法的第十一种实现形式中,所述团体广型团体原子包括类型字段、长度字段、标志字段和团体值字段列表,其中,所述团体值字段列表表示动作列表。
19.根据任一上述方面或任一上述方面的任一上述实现形式,在所述计算机实现方法的第十二种实现形式中,所述添加as路径广型团体原子包括类型字段、长度字段、op字段和as 序列字段。
20.根据任一上述方面或任一上述方面的任一上述实现形式,在所述计算机实现方法
的第十三种实现形式中,所述修改med广型团体原子包括类型字段、长度字段、op字段和值字段。
21.根据任一上述方面或任一上述方面的任一上述实现形式,在所述计算机实现方法的第十四种实现形式中,所述拒绝广型团体原子包括类型字段和长度字段。
22.第三方面涉及一种网络节点。所述网络节点包括网络通信构件、数据存储构件和处理构件,所述网络节点专门用于执行上述方法权利要求中的任一项。
23.为清楚起见,任一上述实施例可以与上述其它任一或多个实施例结合以创建在本发明范围内的新实施例。
24.通过以下结合附图和权利要求书进行的详细描述,将更清楚地理解这些和其它特征及其优点。
附图说明
25.为了更全面地理解本发明,现在参考下文结合附图和详细说明进行的简要描述,其中,相似的参考数字代表相似的部件。
26.图1为本发明实施例提供的网络的示意图。
27.图2为本发明实施例提供的用于扩展bgp以一次修改路由的多个属性的方法的流程图。
28.图3为本发明实施例提供的新广型团体原子的图表。
29.图4为本发明实施例提供的bgp ipv4会话广型团体原子的示意图。
30.图5为本发明实施例提供的bgp ipv6会话广型团体原子的示意图。
31.图6为本发明实施例提供的ipv4前缀范围广型团体原子的示意图。
32.图7为本发明实施例提供的ipv4前缀范围广型团体原子的示意图。
33.图8为本发明实施例提供的ipv6前缀范围广型团体原子的示意图。
34.图9为本发明实施例提供的ipv6前缀范围广型团体原子的示意图。
35.图10为本发明实施例提供的as路径广型团体原子的示意图。
36.图11为本发明实施例提供的团体广型团体原子的示意图。
37.图12为本发明实施例提供的添加as路径广型团体原子的示意图。
38.图13为本发明实施例提供的修改med广型团体原子的示意图。
39.图14为本发明实施例提供的拒绝广型团体原子的示意图。
40.图15为本发明实施例提供的现有广型团体值和新广型团体值的图表。
41.图16为本发明实施例提供的用于修改属性的bgp广型团体容器的示例性编码方案的示意图。
42.图17为本发明实施例提供的用于扩展bgp以一次修改路由的多个属性的方法的流程图。
43.图18为本发明实施例提供的网元的示意图。
具体实施方式
44.首先应理解,尽管下文提供一个或多个实施例的说明性实现方式,但所公开的系统和/或方法可以使用任何数目的技术来实现,无论该技术是当前已知还是现有的。本发明
决不应限于下文所说明的说明性实现方式、附图和技术,包括本文所说明并描述的示例性设计和实现方式,而是可以在所附权利要求书的范围以及其等效物的完整范围内修改。
45.所公开的实施例提供了一种高效技术方案,该技术方案用于扩展bgp以使得一次能够对路由执行多个动作(例如,通过一次修改多个路由属性)。所公开的实施例解决了现有bgp路由策略分发的效率低下问题,即一次只能对路由执行一个动作。所公开的实施例还提供了对某些数据进行高效编码的方案。所公开的实施例可以部署在任何控制器、路由器和交换机中,世界各地的服务提供商使用这些控制器、路由器和交换机向客户提供服务质量(qualityofservice,qos)。
46.图1为本发明实施例提供的bgp网络100的示意图。bgp网络100由多个as网络组成,这些as网络包括但不限于as1、as2、as3和as4等。每个as通常都由单个机构拥有和运营。bgp会话建立在位于as边缘的边界路由器(borderrouter,br)与相邻as(还称为外部bgp(external-bgp,ebgp))中的边界路由器之间。例如,在本实施例中,asl中的边界路由器br11与as2中的br22建立有bgp会话(也称为ebgp会话)。不同as中的边界路由器之间的其它ebgp会话如图1所示。这些ebgp会话用于在相邻as之间交换路由。然后,边界路由器使用内部bgp(internal-bgp,ibgp)将在这些会话上获知的路由分发给非边界(即内部)路由器(即as2中的内部路由器r21至r27)以及同一as中的其它边界路由器(例如,as2中的br23和br24)。另外,as中的路由器通常运行igp来获知内部网络拓扑并计算从一台路由器到另一台路由器的路径。每台路由器将bgp信息和igp信息组合起来以构建一个转发/路由表,该表将每个目的地前缀映射到从网络到所选边界路由器的最短路径上的一个或多个出链路。bgp路由或路径由网络编号、信息经过的as列表(即as路径)和定义的路由属性组成。
47.然后,每台bgp路由器与定义的内部和外部相邻bgp路由器交换它的路由表。一旦在相邻路由器之间交换一个完整的路由表,只交换该信息的修改内容。这些修改内容可能是新的路由通告、路由撤销或对路由属性的修改。路由属性允许路由器根据这些路由属性的值来改变路由器的决策,从而为运营商提供了更大的路由选择控制权。路由属性的非限制性示例包括本地优先级(localpref)和多出口区分(multi-exitdiscriminator,med)。运营商可以使用localpref属性强制优先选择as路径较长的路由。由多条链路连接的两个as通常使用med属性来指示应该使用哪个对等链路到达通告该属性的as。
48.目前,现有的bgp路由策略分发一次只能对路由执行一个动作或一次修改(例如,只能修改一个路由属性)。本发明描述了用于扩展bgp以一次修改路由的多个属性的各种方法和数据结构。本文所使用的短语“一次”是指通过一次通信或使用一个消息。例如,目前需要多条消息来修改多个路由属性。所公开的实施例解决了这种效率低下问题。在一个实施例中,在bpg广型团体容器中提供了表示一次可以修改路由的多个属性的指示,所述bgp广型团体容器包括所述路由的一个或多个匹配条件以及在所述路由的所述一个或多个匹配条件满足时,对所述路由的所述多个属性执行的动作。然后,将所述bgp广型团体容器发送到相邻bgp路由器。
49.图2为本发明实施例提供的用于扩展bgp以一次修改路由的多个属性的方法200的流程图。方法200可以由任意控制器、路由器和交换机等网络节点执行。例如,方法200可以由图1中的br21执行。方法200开始于步骤202:在bgp广型团体容器(或简称bgp广型团体)中提供表示一次可以修改路由的多个属性的指示。在进一步的描述中,bgp广型团体是类型1
的bgp团体容器。bgp广型团体具有可变大小,并且包括可选tlv之后的团体值、源as编号和上下文as编号。tlv是一种编码方案,该编码方案使用类型长度值编码格式或结构为某些协议提供附加信息。通常,类型和长度具有固定大小(通常为1个字节至4个字节),而值字段具有可变大小。
50.根据本发明实施例,bgp广型团体包括“修改属性(change attributes)”广型团体动作,用于指示可以修改多个属性。该动作的参数和操作由与操作相关的bgp广型团体中的原子 (atom)(如本文所述)表示。这些原子包括在bgp广型团体参数tlv中。本文公开的原子的示例包括“添加as路径(add as-path)”和“修改med(change med)”。
51.方法200包括步骤204:在所述bgp广型团体容器中提供所述路由的一个或多个匹配条件。如本文所述,所述路由的所述一个或多个匹配条件由以下新广型团体原子 (wide-community-atom)中的至少一个指定:bgp第四版互联网协议(internet protocol version4,ipv4)会话、bgp第六版互联网协议(internet protocol version 6,ipv6)会话、ipv4前缀范围、ipv6前缀范围和as路径。bgp ipv4会话广型团体原子使用本地ipv4地址和远端ipv4 地址来指定bgp ipv4会话。类似地,bgp ipv6会话广型团体原子使用本地ipv6地址和远端 ipv6地址来指定bgp ipv6会话。ipv4前缀范围和ipv6前缀范围指定前缀范围(例如,从 20.20.15.0/20到20.20.15.0/24的前缀)。as路径广型团体原子指定as编号序列。
52.方法200包括步骤206:在所述bgp广型团体容器中提供在所述路由的所述一个或多个匹配条件满足时,对所述路由的所述多个属性执行的动作。根据所公开的实施例,对所述路由的所述多个属性执行的所述动作由以下新广型团体原子中的至少一个指定:团体 (communities)、添加as路径(add as-path)、修改med(change med)和拒绝(deny)。团体广型团体原子提供表示动作列表的团体值列表。添加as路径广型团体原子提供添加到现有as路径的as编号序列。修改med广型团体原子可以用于修改med属性。当as存在多个入口点时,med属性会影响该as到达某个路由的方式。拒绝广型团体原子用于指示拒绝动作。以下附图详细描述了上文的所有广型团体原子。方法200包括步骤208:将所述 bgp广型团体容器发送到相邻bgp路由器。
53.图3为本发明实施例提供的新广型团体原子的图表300。广型团体原子是一个tlv或者子tlv,可以包括在bgp广型团体容器中。目前定义了8种广型团体原子:自治系统编号列表(类型值1)、ipv4前缀列表(类型值2)、ipv6前缀列表(类型值3)、整数32列表(类型值4)、电气及电子工程师学会(institute of electrical and electronics engineers,ieee)浮点数列表(类型值5)、邻居类列表(类型值6)、邻居类列表(类型值7)、自定义类列表和utf-8 字符串。
54.本发明定义了9种新广型团体原子(从tbd1到tbd9),如图3所示。9种新广型团体原子为:bgp ipv4会话、bgp ipv6会话、ipv4前缀范围、ipv6前缀范围、as路径、团体 (communities)、添加as路径(add as-path)、修改med(change med)和拒绝(deny)。
55.图4为本发明实施例提供的bgp ipv4会话广型团体原子400的示意图。bgp ipv4会话广型团体原子400包括类型字段402、长度字段404、本地ipv4地址字段406和远端ipv4地址字段408。类型字段402指定一个待定(to be determined,tbd)值,以指示这是bgp ipv4 会话广型团体原子400。长度字段404指定本地ipv4地址字段406和远端ipv4地址字段408 的长度。本地ipv4地址字段406包括bgp ipv4会话的本地ipv4地址,远端ipv4地址字段 408
包括bgp ipv4会话的远端ipv4地址。
56.图5为本发明实施例提供的bgp ipv6会话广型团体原子500的示意图。bgp ipv6会话广型团体原子500包括类型字段502、长度字段504、本地ipv6地址字段506和远端ipv6地址字段508。类型字段502指定一个待定(to be determined,tbd)值,以指示这是bgp ipv6 会话广型团体原子500。长度字段504指定本地ipv6地址字段506和远端ipv6地址字段508 的长度。本地ipv6地址字段506包括bgp ipv6会话的本地ipv6地址,远端ipv6地址字段 508包括bgp ipv6会话的远端ipv6地址。在一个实施例中,本地ipv6地址字段506和远端 ipv6地址字段508的长度都是16个字节。
57.图6为本发明实施例提供的ipv4前缀范围广型团体原子600的示意图。ipv4前缀范围广型团体原子600表示ipv4前缀的范围。ipv4前缀范围广型团体原子600包括类型字段602、长度字段604和标志字段606。类型字段602指定一个待定(to be determined,tbd)值,以指示这是ipv4前缀范围广型团体原子600。长度字段604指定ipv4前缀范围广型团体原子 600的长度,这个长度不包括类型字段602和长度字段604。标志字段606可以用于为ipv4 前缀范围广型团体原子600指定一个或多个标志。
58.ipv4前缀范围广型团体原子600包括多个三元组,这些三元组的形式为《ipv4地址字段 608,masklen字段612,lemasklen字段614》
……
《ipv4地址字段608n,masklen字段612n, lemasklen字段614n》。每个三元组《ipv4地址,masklen,lemasklen》表示从ipv4地址 /masklen到ipv4地址/lemasklen的ipv4前缀范围。本文使用的lemasklen是前缀的长度。例如,三元组《10.10.0.0,16,16》表示前缀10.10.0.0/16(即从10.10.0.0/16到10.10.0.0/16)。再如,三元组《20.20.15.0,20,24》表示从20.20.15.0/20到20.20.15.0/24的前缀。在一个实施例中,除了当lemasklen=0之外,masklen必须小于或等于lemasklen。当lemasklen=0 时,三元组《ipv4地址,masklen,o》表示前缀ipv4地址/masklen。
59.图7为本发明实施例提供的ipv4前缀范围广型团体原子700的示意图。ipv4前缀范围广型团体原子700是图6中的ipv4前缀范围广型团体原子600的优化形式。ipv4前缀范围广型团体原子700包括类型字段702、长度字段704和标志字段706。类型字段702指定一个待定 (to be determined,tbd)值,以指示这是ipv4前缀范围广型团体原子700。长度字段704 指定ipv4前缀范围广型团体原子700的长度,这个长度不包括类型字段702和长度字段704。标志字段706可以用于为ipv4前缀范围广型团体原子700指定一个或多个标志。
60.ipv4前缀范围广型团体原子700包括多个三元组,这些三元组的形式为《masklen字段 708,lemasklen字段712,ipv4前缀714》
……
《masklen字段708n,lemasklen字段712n, ipv4前缀714n》。每个三元组《masklen,lemasklen,ipv4前缀》表示从ipv4前缀/masklen 到ipv4前缀/lemasklen的ipv4前缀范围。例如,三元组《16,16,10.10.0.0》表示前缀 10.10.0.0/16(即从10.10.0.0/16到10.10.0.0/16)。再如,三元组《20,24,20.20.15.0》表示从 20.20.15.0/20到20.20.15.0/24的前缀。
61.图8为本发明实施例提供的ipv6前缀范围广型团体原子800的示意图。ipv6前缀范围广型团体原子800表示ipv6前缀的范围。ipv6前缀范围广型团体原子800包括类型字段802、长度字段804和标志字段806。类型字段802指定一个待定(to be determined,tbd)值,以指示这是ipv6前缀范围广型团体原子800。长度字段804指定ipv6前缀范围广型团体原子 800的长度,这个长度不包括类型字段802和长度字段804。标志字段806可以用于为ipv6 前
缀范围广型团体原子800指定一个或多个标志。
62.ipv6前缀范围广型团体原子800包括多个三元组,这些三元组的形式为《ipv6地址字段 808,masklen字段812,lemasklen字段814》
……
《ipv6地址字段808n,masklen字段812n, lemasklen字段814n》。每个三元组《ipv6地址,masklen,lemasklen》表示从ipv6地址 /masklen到ipv6地址/lemasklen的ipv6前缀范围。例如,三元组《10.10.0.0,16,16》表示前缀10.10.0.0/16(即从10.10.0.0/16到10.10.0.0/16)。再如,三元组《20.20.15.0,20,24》表示从20.20.15.0/20到20.20.15.0/24的前缀。在一个实施例中,除了当lemasklen=0之外, masklen必须小于或等于lemasklen。当lemasklen=0时,三元组《ipv6地址,masklen, 0》表示前缀ipv6地址/masklen。
63.图9为本发明实施例提供的ipv6前缀范围广型团体原子900的示意图。ipv6前缀范围广型团体原子900是图8中的ipv6前缀范围广型团体原子800的优化形式。ipv6前缀范围广型团体原子900包括类型字段902、长度字段904和标志字段906。类型字段902指定一个待定 (to be determined,tbd)值,以指示这是ipv6前缀范围广型团体原子900。长度字段904 指定ipv6前缀范围广型团体原子900的长度,这个长度不包括类型字段902和长度字段904。标志字段906可以用于为ipv6前缀范围广型团体原子900指定一个或多个标志。
64.ipv6前缀范围广型团体原子900包括多个三元组,这些三元组的形式为《masklen字段 908,lemasklen字段912,ipv6前缀字段914》
……
《masklen字段908n,lemasklen字段 912n,ipv6前缀字段914n》。每个三元组《masklen,lemasklen,ipv6前缀》表示从ipv6前缀/masklen到ipv6前缀/lemasklen的ipv6前缀范围。
65.图10为本发明实施例提供的as路径广型团体原子1000的示意图。as路径广型团体原子1000包括类型字段1002、长度字段1004和标志字段1006。类型字段1002指定一个待定 (to be determined,tbd)值,以指示这是as路径广型团体原子1000。长度字段1004指定 as路径广型团体原子1000的长度,这个长度不包括类型字段1002和长度字段1004。标志字段1006可以用于为as路径广型团体原子1000指定一个或多个标志。
66.as路径广型团体原子1000表示as编号序列(例如,asl 1008至asn 1008n)。路径上一行内多次出现的as编号由as编号1008和计数1012表示,计数1012指示as编号1008 的出现次数。例如,as路径“123456,6553603,6553603,6553603”由asl=123456,计数 1=1,as2=6553603,计数2=3表示。
67.图11为本发明实施例提供的团体广型团体原子1100的示意图。团体广型团体原子1100 包括类型字段1102、长度字段1104和标志字段1106。类型字段1102指定一个待定(to bedetermined,tbd)值,以指示这是团体广型团体原子1100。长度字段1104指定团体广型团体原子1100的长度,这个长度不包括类型字段1102和长度字段1104。标志字段1106可以用于为团体广型团体原子1100指定一个或多个标志。团体广型团体原子1100表示团体值李贝 (例如,团体1值1108至团体n值1108n)。团体值表示动作列表,例如,图15中描述的动作。
68.图12为本发明实施例提供的添加as路径广型团体原子1200的示意图。添加as路径广型团体原子1200包括类型字段1202、长度字段1204和op字段1206。类型字段1202字段指定一个待定(to be determined,tbd)值,以指示这是添加as路径广型团体原子1200。长度字段1204指定添加as路径广型团体原子1200的长度,这个长度不包括类型字段1202 和长度字段1204。op字段1206包括一个值,该值指定对as路径执行的特定操作。例如,在一个实
施例中,当op 1206=1时,将(as 1208,计数1 1212
……
asn 1208n,计数n 1212n) 表示的as编号序列添加到现有as路径的末端;当op 1206=2时,将(as 1208,计数1 1212
……
asn 1208n,计数n 1212n)表示的as编号序列添加到现有as路径的前面。
69.图13为本发明实施例提供的修改med广型团体原子1300的示意图。修改med广型团体原子1300包括类型字段1302、长度字段1304、op字段1306和值字段1308。类型字段1302 指定一个待定(to be determined,tbd)值,以指示这是修改med广型团体原子1300。长度字段1304指定修改med广型团体原子1300的长度,这个长度不包括类型字段1302和长度字段1304。op字段1306包括一个值,该值指定对bgp med属性执行的特定操作。bgpmed属性提供了一种动态方式,从而当另一个as存在多个入口点时,影响该as到达某个路由的方式。bgp按照系统化程序来选择最佳路径。在考虑med属性之前,还要考虑其它重要属性,例如,权重、本地优先级、始发路由和as路径。在一个实施例中,如果这些其它条件中的任何一个满足,则不考虑med属性。当所有其它条件都相等时,通常优先选择 med最低的出口点。
70.在一个实施例中,修改med广型团体原子1300指示根据op字段1306来修改med属性。在示例性实施例中,如果op字段1306=1,则将值字段1308的值赋给现有med属性;如果op字段1306=2,则将值字段1308的值加上现有med属性的值。在一个实施例中,如果值字段1308的值与现有med属性的值之和大于med属性的最大值,则将最大值赋给med 属性。如果op字段1306=3,则将现有med属性的值减去值字段1308的值。在一个实施例中,如果现有med属性的值与值1308字段的值之差小于0,则将0赋给med属性。
71.图14为本发明实施例提供的拒绝广型团体原子1400的示意图。拒绝广型团体原子1400 包括类型字段1402和长度字段1404。类型字段1402指定一个待定(to be determined,tbd) 值,以指示这是拒绝广型团体原子1400。长度字段1404指定拒绝广型团体原子1400的长度。由于拒绝广型团体原子1400不包括值字段,所以长度为0(0)。拒绝广型团体原子1400用于指示拒绝动作。
72.图15为本发明实施例提供的现有广型团体值和新广型团体值的图表1500。团体值指示路由器在接收到包括bgp广型团体容器的路由时需要执行的动作集合。根据这是私人团体/ 本地团体还是iana注册团体来确定该值的语义。
73.动作的一些现有值(从1到24)和两个新值的定义如图表1500所示。现有广型团体值包括“黑洞(blackhole)”(类型值1)、“源过滤器(source filter)”(类型值2)和“空闲池 (free pool)”(类型值24)。两个新广型团体值包括“修改属性(change attributes)”(类型值tbd11)和“无通告(no advertise)”(类型值tbd12)。
74.在一个实施例中,当使用动作“修改属性”时,可以修改多个属性。动作的参数和操作由与操作相关的原子表示。例如,原子可以是图12所示的添加as路径广型团体原子1200 和/或图13所示的修改med广型团体原子1300。这些原子包括在图16所示的bgp广型团体参数tlv中。当使用“无通告”时,指示bgp对等体不通告该路由。
75.图16为本发明实施例提供的用于修改属性的bgp广型团体容器1600的示例性编码方案的示意图。bgp广型团体容器1600包括类型字段1602。类型字段1602设置为1,以指示这是bgp广型团体容器(或简称bgp广型团体)。bgp广型团体容器1600包括标志字段1604、保留字段1606和长度字段1608。标志字段1604可以用于控制包括bgp广型团体容器1600 的传递性的公共行为。例如,如果将标志字段1604设置为0(0),则bgp广型团体容器1600 中的团体
可以跨as边界传递,但不跨管理边界;如果将标志字段1604设置为1(1),则bgp 广型团体容器1600中的团体可以跨所有as传递。在一个实施例中,在发起bgp广型团体容器1600时,将保留字段1606设置为0,而在接收bgp广型团体容器1600时,忽略保留字段1606。长度字段1608表示bgp广型团体容器1600的总长度,以八位字节为单位,这个长度不包括类型字段1602和长度字段1608。在本实施例中,bgp广型团体容器1600的长度为71个八位字节。
76.bgp广型团体容器1600指定新广型团体动作1612,称为“修改属性”(类型值tbd11),如图15所示。bgp广型团体容器1600包括源as编号1614和上下文as编号1616。源as 编号1614为4个八位字节,指示发起bgp广型团体容器1600的as。上下文as编号1616 为4个八位字节,指示提供语义来解析bgp广型团体容器1600的as。
77.目标tlv字段1618(子类型1)的值是一系列原子tlv,这些tlv定义bgp广型团体容器1600的匹配条件。bgp广型团体容器1600可以具有多个适用的目标。如果任何给定的目标与bgp广型团体容器1600的原子的语义匹配,则认为bgp广型团体容器1600是一个匹配项,并且将执行bgp广型团体容器1600定义的动作。长度字段1622表示目标tlv字段1618的长度,以八位字节为单位。
78.根据所公开的实施例,当路由满足bgp广型团体容器1600中的给定条件时,配置bgp 广型团体容器1600能够修改该路由的多个属性。在本实施例中,使用图7所示的ipv4前缀范围广型团体原子700和图10所示的as路径广型团体原子1000来指定bgp广型团体容器 1600的匹配条件。例如,bgp广型团体容器1600中的ipv4前缀范围广型团体原子700与ipv4 前缀为20.20.15,masklen为20,lemasklen为24的ipv4前缀范围20.20.15.0/20到 20.20.15.0/24匹配。bgp广型团体容器1600中的as路径广型团体原子1000与as路径 6553601 6553601匹配。
79.bgp广型团体容器1600中使用图13所示的修改med广型团体原子1300和图12所示的添加as路径广型团体原子1200来指定在匹配条件满足时要执行的动作。在本实施例中, bgp广型团体容器1600中的修改med广型团体原子1300将12345添加到现有med中(例如,med=med+12345)。bgp广型团体容器1600中的添加as路径广型团体原子1200将 as序列123456、6553602、6553602、6553602、6553602和6553602添加到现有as路径的末端(例如,使用添加as路径123456、6553602、6553602、6553602、6553602、6553602)。
80.bgp广型团体容器1600还可以包括exctargettlv字段1624(类型值2)和参数tlv字段1626。exctargettlv字段1624可以包括可选列表,该可选列表对不需要执行bgp广型团体容器1600中指定的动作的位置进行编码。参数tlv字段1626可以包括可选原子列表,该可选原子列表对附加信息(即参数)进行编码,这些附加信息应用于bgp广型团体容器1600 中的动作。
81.图17为本发明实施例提供的用于扩展bgp以一次修改路由的多个属性的方法1700的流程图。方法1700可以由任意控制器、路由器和交换机等网络节点执行。例如,方法200可以由图1中的br21执行。方法1700开始于步骤1702:接收bgp广型团体容器,其中,所述 bgp广型团体容器包括表示一次可以修改路由的多个属性的指示。所述bgp广型团体容器还包括路由的一个或多个匹配条件。
82.方法1700包括步骤1704:判断所述bgp广型团体容器中指定的所述路由的所述一个或多个匹配条件是否满足。例如,所述一个或多个匹配条件可以是如上所述的ipv4前缀
范围或 ipv6前缀范围。方法1700包括步骤1708:在确定所述路由的所述一个或多个匹配条件满足时,对所述路由的所述多个属性执行所述bgp广型团体容器中指定的动作。可以执行的动作的非限制性示例包括将as编号序列添加到现有as路径中以及修改med属性。如果确定所述bgp广型团体容器中指定的所述路由的所述一个或多个匹配条件不满足,则方法1700包括步骤1706:不处理所述bgp广型团体容器。
83.图18为本发明实施例提供的网元1800的示意图。网元1800可以是任意类型的网络节点、控制器、路由器和交换机,包括但不限于图1中的br21等。网元1800包括接收单元(rx) 1820或接收构件,用于经由入端口1810接收数据。网元1800还包括发送单元(tx)1840 或发送构件,用于经由出端口1850发送数据。
84.网元1800包括存储器1860或数据存储构件,用于存储指令和各种数据。存储器1860可以是能够存储数据和/或指令的任何类型的或组合的存储器组件。例如,存储器1860可以包括易失性存储器和/或非易失性存储器,例如,只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、三态内容寻址存储器(ternary content-addressablememory,tcam)或静态随机存取存储器(static random-access memory,sram)。存储器 1860还可以包括一个或多个磁盘、一个或多个磁带机以及一个或多个固态硬盘。在一些实施例中,存储器1860可以用作溢出数据存储设备,以在选择程序来执行时存储此类程序,或者存储在执行程序过程中读取的指令和数据。
85.网元1800包括一个或多个处理器1830或其它处理构件(例如,中央处理器(centralprocessing unit,cpu),以处理指令。处理器1830可以实现为一个或多个cpu芯片、核(例如,多核处理器)、现场可编程门阵列(field-programmable gate array,fpga)、专用集成电路(application specific integrated circuit,asic)和数字信号处理器(digital signal processor, dsp)。处理器1830经由系统总线与入端口1810、接收单元1820、发送单元1840、出端口 1850和存储器1860通信地耦合。处理器1830可以用于执行存储器1860中存储的指令。因此,处理器1830提供一种构件。当处理器执行适当指令时,该构件用于执行与权利要求相对应的任何计算、比较、确定、启动或配置(例如,设置f位或i位)步骤或任何其它动作。在一些实施例中,存储器1860可以与处理器1830集成。
86.在一个实施例中,存储器1860存储bgp路由策略分发模块1870。bgp路由策略分发模块1870包括用于实现所公开实施例的数据和可执行指令。例如,bgp路由策略分发模块1870 可以包括用于实现图17和图2所示方法的指令。将bgp路由策略分发模块1870包含在内大大改进了网元1800的功能。
87.虽然本发明提供了几个实施例,但应理解,在不脱离本发明的精神或范围的情况下,所公开的系统和方法可能通过其它多种具体形式体现。本发明的示例被视为说明性而非限制性的,且本发明并不限于本文中所给出的详细说明。例如,各种元件或组件可以组合或集成在另一系统中,或者某些特征可以省略或不实施。
88.另外,在不脱离本发明范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法组合或集成。展示或论述为彼此耦合或直接耦合或者通信的其它项也可以采用电方式、机械方式或其它方式经由某一接口、设备或中间组件间接地耦合或通信。其它变更、替换、修改示例对本领域技术人员而言是显而易见的,均不脱离本文中公开的精神和范围。
89.下面的权利要求书是一份可以提交给标准机构并体现本发明的文件。

技术特征:


1.一种用于扩展边界网关协议(border gateway protocol,bgp)以一次修改路由的多个属性的方法,其特征在于,所述方法包括:在所述bgp广型团体容器中提供路由的一个或多个匹配条件;在所述路由的所述一个或多个匹配条件满足时,在所述bgp广型团体容器中提供对所述路由的所述多个属性执行的动作;将所述bgp广型团体容器发送到相邻bgp路由器。2.一种用于扩展bgp以一次修改路由的多个属性的方法,其特征在于,所述方法包括:接收bgp广型团体容器,其中,所述bgp广型团体容器包括路由的一个或多个匹配条件;判断所述路由的所述一个或多个匹配条件是否满足;在确定所述路由的所述一个或多个匹配条件满足时,对所述路由的所述多个属性执行所述bgp广型团体容器中指定的动作。3.根据权利要求1或2所述的方法,其特征在于,所述指示为修改属性广型团体动作。4.根据权利要求1或2所述的方法,其特征在于,所述路由的所述一个或多个匹配条件由以下广型团体原子中的至少一个指定:bgp第四版互联网协议ipv4会话、bgp第六版互联网协议ipv6会话、ipv4前缀范围、ipv6前缀范围和自治系统as路径。5.根据权利要求1或2所述的方法,其特征在于,对所述路由的所述多个属性执行的所述动作由以下广型团体原子中的至少一个指定:修改团体、修改as路径、修改多出口区分med和拒绝。6.根据权利要求4所述的方法,其特征在于,所述bgp ipv4会话广型团体原子包括类型字段、长度字段、本地ipv4地址字段和远端ipv4地址字段。7.根据权利要求4所述的方法,其特征在于,所述bgp ipv6会话广型团体原子包括类型字段、长度字段、本地ipv6地址字段和远端ipv6地址字段。8.根据权利要求4所述的方法,其特征在于,所述ipv4前缀范围广型团体原子包括类型字段、长度字段、标志字段和多个三元组,其中,所述三元组的形式为<ipv4地址字段,masklen字段,lemasklen字段>。9.根据权利要求4所述的方法,其特征在于,所述ipv4前缀范围广型团体原子包括类型字段、长度字段、标志字段和多个三元组,其中,所述三元组的形式为<masklen字段,lemasklen字段,ipv4前缀字段>。10.根据权利要求4所述的方法,其特征在于,所述ipv6前缀范围广型团体原子包括类型字段、长度字段、标志字段和多个三元组,其中,所述三元组的形式为<ipv6地址字段,masklen字段,lemasklen字段>。11.根据权利要求4所述的方法,其特征在于,所述ipv6前缀范围广型团体原子包括类型字段、长度字段、标志字段和多个三元组,其中,所述三元组的形式为<masklen字段,lemasklen字段,ipv6前缀字段>。12.根据权利要求4所述的方法,其特征在于,所述as路径广型团体原子包括类型字段、长度字段、标志字段和as编号序列字段。13.根据权利要求5所述的方法,其特征在于,所述团体广型团体原子包括类型字段、长度字段、标志字段和团体值字段列表,其中,所述团体值字段列表表示动作列表。14.根据权利要求5所述的方法,其特征在于,所述添加as路径广型团体原子包括类型
字段、长度字段、op字段和as序列字段。15.根据权利要求5所述的方法,其特征在于,所述修改med广型团体原子包括类型字段、长度字段、op字段和值字段。16.根据权利要求5所述的方法,其特征在于,所述拒绝广型团体原子包括类型字段和长度字段。17.一种网络节点,其特征在于,所述网络节点包括网络通信构件、数据存储构件和处理构件,所述网络节点专门用于执行上述方法权利要求中的任一项。

技术总结


本发明公开了一种用于路由策略分发的边界网关协议(BGP),提供了一种用于扩展BGP以一次修改路由的多个属性的方法。所述方法包括接收BGP广型团体容器,其中,所述BGP广型团体容器包括表示一次可以修改路由的多个属性的指示以及所述路由的一个或多个匹配条件。所述方法包括判断所述路由的所述一个或多个匹配条件是否满足。所述方法包括:在确定所述路由的所述一个或多个匹配条件满足时,对所述路由的所述多个属性执行所述BGP广型团体容器中指定的动作。的动作。的动作。


技术研发人员:

陈怀谟 李振斌

受保护的技术使用者:

华为技术有限公司

技术研发日:

2019.10.17

技术公布日:

2022/12/16

本文发布于:2024-09-20 12:33:08,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/38746.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:字段   团体   所述   原子
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议