CN116805930A - Bgp路由的发送方法、装置、存储介质及电子装置 - Google Patents
Bgp路由的发送方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN116805930A CN116805930A CN202210259238.0A CN202210259238A CN116805930A CN 116805930 A CN116805930 A CN 116805930A CN 202210259238 A CN202210259238 A CN 202210259238A CN 116805930 A CN116805930 A CN 116805930A
- Authority
- CN
- China
- Prior art keywords
- attribute
- node
- indication information
- bgp route
- bgp
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 194
- 230000008569 process Effects 0.000 claims abstract description 94
- 238000012545 processing Methods 0.000 claims abstract description 28
- 230000004044 response Effects 0.000 claims abstract description 22
- 230000000694 effects Effects 0.000 claims description 35
- 230000005540 biological transmission Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 15
- 230000004048 modification Effects 0.000 claims description 13
- 238000012986 modification Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 239000003550 marker Substances 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000004904 shortening Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 101150057659 Mlac1 gene Proteins 0.000 description 1
- 101100000406 Neosartorya fumigata (strain ATCC MYA-4609 / Af293 / CBS 101355 / FGSC A1100) abr2 gene Proteins 0.000 description 1
- 101100252507 Triticum aestivum ELAC gene Proteins 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012044 lysine affinity chromatography Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
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
- 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
-
- 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/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
Abstract
本申请实施例提出了一种BGP路由的发送方法、装置、存储介质及电子装置,该方法包括:第二节点接收第三节点的第一BGP路由,其中,第一BGP路由携带有第一属性和第二属性;第二节点对第二属性进行第一处理,得到第二BGP路由;其中,第二节点位于第三节点与第一节点之间,第二节点无法识别第一属性,第二节点具备识别第二属性的能力,第一处理为第二节点对第二属性进行修改;响应于第二节点无法识别第一属性,第二节点在第二BGP路由中添加第一指示信息同时保留第一属性,并将第二BGP路由发送给第一节点,其中,第一指示信息为指示第一处理对第一属性是否存在影响的指示信息。
Description
技术领域
本申请涉及通信领域,具体而言,涉及一种BGP路由的发送方法、装置、存储介质及电子装置。
背景技术
相关技术中,在MPLS(Multi-Protocol Label Switching,多协议标记交换)网络里,LSR(Label Switching Router,标签交换路由器)设备在进行流量逐流负载分担过程时,需要提取MPLS报文中承载的IP内容计算HASH KEY(哈希键),但在提取过程中存在着无法有效提取和提取性能低下的问题。
在RFC6790中,提出了熵标签(Entropy Label)的概念,用于解决这一问题。
熵标签是完全由Ingress(入口)LSR基于负载分担均衡信息生成的一个标签,不用于转发、信令,仅用于改进负载分担过程。
熵标签在Ingress LSR上生成并封装到MPLS的标签栈中。在Ingress LSR上的报文还没有封装MPLS标签时,可以很容易获取到IP内容,当Ingress LSR识别到下游LSR使能熵标签能力时,会根据报文中的IP内容计算出熵标签,并将熵标签压入MPLS标签栈,将熵标签传递到下游LSR,transit(传输)LSR无需再提取MPLS报文中承载的内层IP数据,可以直接利用标签栈中的熵标签计算出HASH KEY,进而实现逐流负载分担。
上述过程如附图3所示,engress LSR(P0)向上游分发标签并通告了熵标签能力,ingress LSR(P4)对于两条IP流,进入MPLS转发域并分别计算出两个不同的熵标签,压入标签栈,P3更新熵标签实现逐流负荷分担。
为了支撑上述场景,RFC6790中对各标签信令协议中增加了ELC属性,如BGP协议中,增加了属性类型值为28的可选过渡属性,即ELC属性(BGP Entropy Label CapabilityAttribute)。
但在RFC7447中,废弃了该属性,废弃理由为:当前设备如果不支持处理熵标签,那么向上游LSR发送标签并且修改下一跳时,必须移除熵标签能力,否则会造出流量黑洞。但不幸的是,ELC属性是一个可选过渡属性,按照RFC4271的处理原则,该属性如果不能识别,按透传处理。
对于上述流量黑洞的产生过程,附图4对其进行了描述:
如附图4所示,AS3是6PE网络,AS2是纯IPV6网络,AS1是6PE网络,混合网络中存在部分设备不支持熵标签处理能力以及不识别ELC属性,仅PE0和PE5支持ELC,engress LSRPE0发送路由和标签时携带了ELC属性,但由于PE1-PE4不识别ELC属性,会透传ELC属性。PE5支持ELC,收到该属性之后,对于IP1数据流,进入6PE网络,会插入熵标签,但流量到达PE4后,PE4无法移除熵标签,因此流量在到达PE3后,在PE3上被丢弃。
但是,并非所有不能识别ELCA(ELC属性)的节点都会导致流量黑洞,比如,如下附图5中虽然存在不能识别ELCA的节点(即ABR2节点),但并不会导致流量黑洞。
在RFC7447废弃ELC属性后,现有技术并未给出替代解决方案。在一条由出口节点发布的BGP路由经过中间节点中转以后,当该中间节点不识别该BGP路由中的某个ELC属性时,现有技术中缺少使入口节点识别出该中间节点是否为能通过该ELC属性导致流量黑洞的节点的机制。
针对相关技术中,在BGP路由经过中间节点中转发送的过程中,接收端无法识别中间节点是否会妨碍BGP路由中的某些BGP属性被应用于转发面的问题,现有技术尚未提出解决方案。
发明内容
本申请实施例提供了一种BGP路由的发送方法、装置、存储介质及电子装置,以至少解决相关技术中,在BGP路由经过中间节点中转发送的过程中,接收端无法识别中间节点是否会妨碍BGP路由中的某些BGP属性被应用于转发面的问题。
根据本申请实施例的一方面,提供了一种BGP路由的发送方法,包括:第二节点接收第三节点的第一BGP路由,其中,所述第一BGP路由携带有第一属性和第二属性;所述第二节点对所述第二属性进行第一处理,得到第二BGP路由;其中,所述第二节点位于所述第三节点与第一节点之间,所述第二节点无法识别所述第一属性,所述第二节点具备识别所述第二属性的能力,所述第一处理为所述第二节点对所述第二属性进行修改;响应于所述第二节点无法识别所述第一属性,所述第二节点在所述第二BGP路由中添加第一指示信息同时保留所述第一属性,并将所述第二BGP路由发送给所述第一节点,其中,所述第一指示信息为指示所述第一处理对所述第一属性是否存在影响的指示信息。
在一个可选实施例中,所述方法还包括:当所述第一处理对所述第一属性有影响时,所述第一指示信息还包括第二指示信息,当所述第一处理对所述第一属性无影响时,所述第一指示信息还包括第三指示信息,且所述第二指示信息与所述第三指示信息不同,其中,所述第二指示信息为用于指示所述第一节点执行第二处理的指示信息,且所述第三指示信息为用于指示所述第一节点执行第三处理的指示信息,其中,所述第二处理为:在所述第二BGP路由携带了所述第二指示信息的情况下,所述第一节点不将第一转发面实体添加到与所述第二BGP路由对应的数据报文中;其中,所述第一转发面实体为与所述第一属性对应的转发面实体;所述第三处理包括:在所述第二BGP路由携带了所述第三指示信息的情况下,指示所述第一节点将所述第一转发面实体添加到与所述第二BGP路由对应的数据报文中;其中,所述第一转发面实体为与所述第一属性对应的转发面实体。
在一个可选实施例中,所述第一属性、所述第一转发面实体和所述第二属性满足第三条件、第四条件、第五条件三者之一,其中,所述第三条件包括:所述第一属性为熵标签能力属性ELCA,所述第一转发面实体为与所述ELCA对应的熵标签指示符ELI标签,所述第二属性为所述第一BGP路由的MPLS标签属性;所述第四条件包括:所述第一属性为流标签能力属性FLCA,所述第一转发面实体为与所述FLCA对应的流标签,所述第二属性为所述第一BGP路由的MPLS标签属性;所述第五条件包括:所述第一属性为控制字CW能力属性CWCA,所述第一转发面实体为与所述CWCA对应的控制字,所述第二属性为所述第一BGP路由的MPLS标签属性。
在一个可选实施例中,所述方法还包括:所述第一BGP路由中还携带有第四指示信息,所述第二节点根据所述第四指示信息确定所述第三指示信息为第五指示信息,其中:所述第五指示信息包括值为0的Partial标志。
在一个可选实施例中,包括:所述第一BGP路由中还携带有第四指示信息,所述第二节点根据所述第四指示信息确定所述第二指示信息包括第六指示信息、第七指示信息两者之一,或者确定所述第三指示信息包括第八指示信息,其中:所述第六指示信息包括值为0的No-Partial标志且保持所述第四指示信息不变;所述第七指示信息包括值为1的New-Partial标志且保持所述第四指示信息不变;所述第八指示信息包括值为0的Partial标志且保持所述第四指示信息不变。
在一个可选实施例中,在所述第二节点接收第三节点发布的第一BGP路由之前,还包括:所述第三节点往所述第一BGP路由中添加所述第四指示信息。
在一个可选实施例中,所述第二节点只有在对所述第一BGP路由中对除所述第一属性之外的属性进行的修改均不会对所述第一属性的有效性有影响时,所述第二节点在将所述第二BGP路由发送给所述第一节点时,才往所述第二BGP路由中添加所述第三指示信息。
在一个可选实施例中,所述第四指示信息为第九指示信息,其中,所述第九指示信息由所述第一属性中的Transitive标志位的值为1和所述第一属性中的Smart-Partial标志位为1组成。
在一个可选实施例中,所述第四指示信息为第十指示信息,其中,所述第十指示信息由所述第一属性中的Transitive标志位的值为0和所述第一属性中的New-Transitive标志位为1组成。
在一个可选实施例中,当不满足第一条件时,确定所述第一处理对所述第一属性有影响,或者,当满足第一条件时,确定所述第一处理对所述第一属性无影响,其中,所述第一条件包括以下之一:所述第二节点不修改所述第一BGP路由的下一跳;所述第二节点将所述第一BGP路由的下一跳地址修改为所述第二节点的IP地址,且所述第二BGP路由携带的第二属性满足第二条件。
在一个可选实施例中,包括:所述第二条件包括:所述第二属性不会导致所述第一转发面实体在所述第二节点上暴露。
在一个可选实施例中,所述第二条件包括:所述第二属性不会导致第二转发面实体在所述第二节点上被剥除,所述第二转发面实体为所述第一转发面实体外层中与所述第一转发面实体相邻的转发面实体。
在一个可选实施例中,所述第二属性为所述第一BGP路由的第一MPLS标签,所述第一处理为所述第二节点将所述第一BGP路由的第一MPLS标签修改为所述第二节点分配的第二MPLS标签,所述方法还包括:若第二MPLS标签在转发面对应的标签操作为Swap,在第二节点将所述第二BGP路由发布给第一节点之前,添加所述第三指示信息;若第二MPLS标签在转发面对应的标签操作为Pop,在第二节点将所述第二BGP路由发布给第一节点之前,添加所述第二指示信息。
在一个可选实施例中,所述第三指示信息中包含所述第一属性中的值为0的Partial标志位。
在一个可选实施例中,所述第四指示信息为所述第一属性中的New-Transitive标志位,所述方法还包括:所述第三节点在发布所述第一BGP路由之前,将所述No-Partial标志位置为1;响应于所述New-Transitive标志位的值为1,所述第二节点确定所述第三指示信息中包含所述第一属性中的值为1的所述No-Partial标志位和值为0的所述Transitive标志位。
在一个可选实施例中,所述第四指示信息为所述第一属性中的Smart-Partial标志位,所述方法还包括:响应于所述Smart-Partial标志位的值为1,确定所述第二指示信息中包含所述第一属性中的值为1的所述Partial标志位。
在一个可选实施例中,所述第一处理为对所述第一属性无影响的处理,所述第一节点与所述第三节点之间还存在第四节点,所述第四节点为不能识别New-Transitive标志位、Smart-Partial标志位、New-Partial标志位、No-Partial标志位以及所述第一属性的节点,且所述第四节点将所述第五BGP路由发给所述第一节点,所述第二节点和所述第四节点均对所述第二属性进行了对所述第一属性无影响的修改,所述第三指示信息与所述第五BGP路由中对应字段的值不同。
根据本发明实施例的另一个方面,还提供了一种BGP路由的发送装置,应用于第二节点,包括:接收模块,用于接收第三节点发布的第一BGP路由,其中,所述第一BGP路由携带有第一属性和第二属性;处理模块,用于对所述第二属性进行第一处理,得到第二BGP路由;其中,所述第二节点位于所述第三节点与第一节点之间,所述第二节点无法识别所述第一属性,所述第二节点具备识别所述第二属性的能力,所述第一处理为所述第二节点对所述第二属性进行修改;发送模块,用于响应于所述第二节点无法识别所述第一属性,在所述第二BGP路由中添加第一指示信息同时保留所述第一属性,并将所述第二BGP路由发送给所述第一节点,其中,所述第一指示信息为指示所述第一处理对所述第一属性是否存在影响的指示信息。
根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述BGP路由的发送方法。
根据本申请实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述BGP路由的发送方法。
通过本申请,第二节点接收第三节点的第一BGP路由,其中,所述第一BGP路由携带有第一属性和第二属性;所述第二节点对所述第二属性进行第一处理,得到第二BGP路由;其中,所述第二节点位于所述第三节点与第一节点之间,所述第二节点无法识别所述第一属性,所述第二节点具备识别所述第二属性的能力,所述第一处理为所述第二节点对所述第二属性进行修改;响应于所述第二节点无法识别所述第一属性,所述第二节点在所述第二BGP路由中添加第一指示信息同时保留所述第一属性,并将所述第二BGP路由发送给所述第一节点,其中,所述第一指示信息为指示所述第一处理对所述第一属性是否存在影响的指示信息;解决了相关技术中,在BGP路由经过中间节点中转发送的过程中,BGP路由的接收端无法识别中间节点是否会妨碍BGP路由中的某些BGP属性被应用于转发面的技术问题,尤其是中间节点通过被妨碍的BGP属性导致流量黑洞的问题;实现了缩短网络节点需要升级的范围,降低网络维护成本的技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示例性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例的BGP路由的发送方法的可选的计算机终端的硬件结构框图;
图2是根据本申请实施例的BGP路由的发送方法的流程图;
图3是相关技术中一种可选的基于熵标签的BGP路由的发送方法的流程示意图;
图4是相关技术中一种可选的流量黑洞的产生过程示意图;
图5是相关技术中另一种可选的基于熵标签的BGP路由的发送方法的流程示意图;
图6是本申请实施例的一种可选的BGP路由的发送方法的流程示意图(一);
图7是本申请实施例的一种可选的BGP路由的发送方法的ELCA结构示意图(一);
图8是本申请实施例的一种可选的BGP路由的发送方法的流程示意图(二);
图9是本申请实施例的一种可选的BGP路由的发送方法的流程示意图(三);
图10是本申请实施例的一种可选的BGP路由的发送方法的ELCA结构示意图(二);
图11是本申请实施例的一种可选的BGP路由的发送方法的流程示意图(四);
图12是本申请实施例的一种可选的BGP路由的发送方法的流程示意图(五);
图13是本申请实施例的一种可选的带有遗留PE的BGP路由的发送方法的流程示意图;
图14是根据本申请实施例的BGP路由的发送装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在下列申请实施例中,所提及的部分术语及其释义包括如下:
ELC(Entropy Label Capability,熵标签能力);
ELCA(Entropy Label Capability Attribute,熵标签能力属性);
FL(Flow Label,流标签);
FLC(Flow Label Capability,流标签能力);
CW(Control Word,控制字);
CWC(Control Word Capability,控制字能力);
EL(Entropy Label,熵标签);
ELI(Entropy Label Indicator,熵标签指示符);
EVI(EVPN Instance,EVPN实例,特指L2 EVPN实例);
BD(Broadcast Domain,广播域);
BUM(Broadcast,Unknown Unicast and Multicast,广播、未知单播与组播);
EC(Extended Community,扩展团体属性);
Partial标志,即RFC4271第16页中定义的Attr.Flags中的Partial bit;
Transitive标志,即RFC4271第16页中定义的Attr.Flags中的Transitive bit。
本申请实施例中所提供的方法实施例可以在计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本申请实施例的BGP路由的发送方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器(Microprocessor Unit,简称是MPU)或可编程逻辑器件(Programmable logic device,简称是PLD))和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的BGP路由的发送方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
图2是根据本申请实施例的BGP路由的发送方法的流程图,如图2所示,该BGP路由的发送方法的步骤包括:
步骤S202,第二节点接收第三节点的第一BGP路由,其中,所述第一BGP路由携带有第一属性和第二属性;
步骤S204,所述第二节点对所述第二属性进行第一处理,得到第二BGP路由;其中,所述第二节点位于所述第三节点与第一节点之间,所述第二节点无法识别所述第一属性,所述第二节点具备识别所述第二属性的能力,所述第一处理为所述第二节点对所述第二属性进行修改;
步骤S206,响应于所述第二节点无法识别所述第一属性,所述第二节点在所述第二BGP路由中添加第一指示信息同时保留所述第一属性,并将所述第二BGP路由发送给所述第一节点,其中,所述第一指示信息为指示所述第一处理对所述第一属性是否存在影响的指示信息。
本申请实施例通过第二节点接收第三节点的第一BGP路由,其中,所述第一BGP路由携带有第一属性和第二属性;所述第二节点对所述第二属性进行第一处理,得到第二BGP路由;其中,所述第二节点位于所述第三节点与第一节点之间,所述第二节点无法识别所述第一属性,所述第二节点具备识别所述第二属性的能力,所述第一处理为所述第二节点对所述第二属性进行修改;响应于所述第二节点无法识别所述第一属性,所述第二节点在所述第二BGP路由中添加第一指示信息同时保留所述第一属性,并将所述第二BGP路由发送给所述第一节点,其中,所述第一指示信息为指示所述第一处理对所述第一属性是否存在影响的指示信息;解决了相关技术中,在BGP路由经过中间节点中转发送的过程中,接收端无法识别中间节点是否会妨碍BGP路由中的某些BGP属性被应用于转发面的技术问题,尤其是中间节点通过被妨碍的BGP属性导致流量黑洞的问题;实现了缩短网络节点需要升级的范围,降低网络维护成本的技术效果。
需要说明的是,所述第二节点无法识别所述第一属性,是指无法识别所述第一属性的内容部分,但所述第二节点可以识别所述第一属性的一些头部信息,比如Attr.Flags中的标志位。
需要说明的是,本申请实施例描述了一种应用于第三节点和第二节点的BGP路由的发送方法,在本实施例中,第三节点通过第二节点给第一节点发布BGP路由属性的方法,以使得在第二节点不能识别某个BGP路由属性的前提下,使所述第一节点能够知道所述第二节点是否会妨碍所述第一节点将所述BGP路由属性应用于相应BGP路由的转发面处理,从而可以实现更好的BGP路由属性中转,本实施例可以使用不同的方式实现,具体如下:
方式1,第三节点给第二节点发布携带第一属性(比如ELCA)和第X指示信息(即新的Smart-Partial标志)的第一BGP路由,所述第X指示信息用于指示所述第二节点执行第Y处理和/或指示第一节点执行第Z处理。其中,所述第二节点为位于所述第三节点与所述第一节点之间的PE且所述第二节点会将所述第一BGP路由中转给所述第一节点,所述第二节点为不能识别所述第一属性的设备,所述第一节点为能够识别所述第一属性的设备。
方式2,第三节点给第二节点发布携带第一属性(比如ELCA)和第X指示信息(即新的New-Transitive标志)的第一BGP路由,所述第X指示信息用于指示所述第二节点执行第Y处理和/或指示第一节点执行第Z处理。其中,所述第二节点为位于所述第三节点与所述第一节点之间的PE且所述第二节点会将所述第一BGP路由中转给所述第一节点,所述第二节点为不能识别所述第一属性的设备,所述第一节点为能够识别所述第一属性的设备。
其中,所述第Y处理为:当满足第Y条件时,所述第二节点在将所述第一BGP路由中继给其它节点时,不对所述第一属性设置Partial标志,同时,保持所述第X指示信息不变;且当不满足第Y条件时,所述第二节点在将所述第一BGP路由中继给其它节点时,才对所述第一属性设置Partial标志,同时,保持所述第X指示信息不变。
其中,所述第Z处理为:当所述第一属性携带有Partial标志(即携带有值为1的Partial标志)时,所述第一节点不将第一转发面实体添加到与第一BGP路由对应的数据报文中;且当所述第一属性未携带Partial标志(即未携带值为1的Partial标志)时,所述第一节点将第一转发面实体添加到与第一BGP路由对应的数据报文中。
其中,所述第Y条件为所述第二节点满足以下条件之一:所述第二节点不修改所述第一BGP路由的下一跳;所述第二节点虽然将所述第一BGP路由的下一跳修改为自己,但是,所述第一BGP路由携带的第二属性满足第六条件;其中,所述第六条件为所述第二属性(比如VPN标签)与所述下一跳一起被修改,但修改后的所述第二属性不会导致所述第一转发面实体(比如熵标签)在所述第二节点上暴露,所述第二属性为与转发面的数据报文封装中的第二转发实体(标签栈中的VPN标签)对应的路由属性,其中,所述第二转发实体为所述第一转发面实体(比如ELI标签或流标签)外层紧邻(即在所述第一转发面实体外层且与所述所述第一转发面实体相邻)的转发面实体。
需要说明的是,在一些实施例中,New-Transitive标志和Smart-Partial标志以及其它实施例中的New-Partial标志、No-Partial标志和Partial-Disabled标志均为Attr.Flags中的标志,且这些标志均位于Attr.Flags的目前尚未使用的4位(图7和图10中用编号为4到7的位表示),此处的Attr.Flags为RFC4271第16页中定义的Attr.Flags(也可参见图7)。
在一个实施例中,基于上述BGP路由的发送方法还提出一种带Partial标志的BGP路由属性的处理方法,应用于第一节点和第二节点,具体如下:
第一节点接收到携带有满足第九条件的第一属性(比如ELCA)的第一BGP路由,在所述第一属性同时也满足第七条件时执行第三处理,在所述第一属性不满足第七条件时执行第二处理,其中,所述第九条件为所述第一属性的Partial标志为1,所述第七条件为所述第一属性携带第三指示信息(比如新的Partial-Disabled标志位),所述第三处理为将第一转发面实体封装在与所述第一BGP路由对应的数据报文中,所述第二处理为不将所述第一转发面实体封装在与所述第一BGP路由对应的数据报文中。
其中,所述Partial标志是被第二节点设置为1的,所述第三指示信息用于指示所述第二节点满足第八条件,所述第一转发面实体(比如熵标签)为与所述第一属性(比如ELCA)对应的转发面实体。
其中,所述第八条件为所述第二节点满足以下条件之一:所述第二节点不修改所述第一BGP路由的下一跳;所述第二节点虽然将所述第一BGP路由的下一跳修改为自己,但是,所述第一BGP路由携带的第二属性满足第十条件;其中,所述第十条件为所述第二属性(比如VPN标签)与所述下一跳一起被修改,但修改后的所述第二属性不会导致所述第一转发面实体(比如熵标签)在所述第二节点上暴露。
在一个示例性实施例中,所述方法还包括:当所述第一处理对所述第一属性有影响时,所述第一指示信息还包括第二指示信息,当所述第一处理对所述第一属性无影响时,所述第一指示信息还包括第三指示信息,且所述第二指示信息与所述第三指示信息不同,其中,所述第二指示信息为用于指示所述第一节点执行第二处理的指示信息,且所述第三指示信息为用于指示所述第一节点执行第三处理的指示信息,其中,所述第二处理为:在所述第二BGP路由携带了所述第二指示信息的情况下,所述第一节点不将第一转发面实体添加到与所述第二BGP路由对应的数据报文中;其中,所述第一转发面实体为与所述第一属性对应的转发面实体;所述第三处理包括:在所述第二BGP路由携带了所述第三指示信息的情况下,指示所述第一节点将所述第一转发面实体添加到与所述第二BGP路由对应的数据报文中;其中,所述第一转发面实体为与所述第一属性对应的转发面实体。
在一个示例性实施例中,所述第一属性、所述第一转发面实体和所述第二属性满足第三条件、第四条件、第五条件三者之一,其中,所述第三条件包括:所述第一属性为熵标签能力属性ELCA,所述第一转发面实体为与所述ELCA对应的熵标签指示符ELI标签,所述第二属性为所述第一BGP路由的MPLS标签属性;所述第四条件包括:所述第一属性为流标签能力属性FLCA,所述第一转发面实体为与所述FLCA对应的流标签,所述第二属性为所述第一BGP路由的MPLS标签属性;所述第五条件包括:所述第一属性为控制字CW能力属性CWCA,所述第一转发面实体为与所述CWCA对应的控制字,所述第二属性为所述第一BGP路由的MPLS标签属性。
需要说明的是,在一些实施例中,所述FLCA和所述CWCA均为EVPN Layer2Attributes扩展团体属性,其中,流标签能力和控制字能力分别是该扩展团体属性的一个标志位,所述ELCA为RFC6790中定义的熵标签能力属性。
在一个示例性实施例中,所述方法还包括:所述第一BGP路由中还携带有第四指示信息,所述第二节点根据所述第四指示信息确定所述第三指示信息为第五指示信息,其中:所述第五指示信息包括值为0的Partial标志。
在一个示例性实施例中,所述第一BGP路由中还携带有第四指示信息,所述第二节点根据所述第四指示信息确定所述第二指示信息包括第六指示信息、第七指示信息两者之一,或者确定所述第三指示信息包括第八指示信息,其中:所述第六指示信息包括值为0的No-Partial标志且保持所述第四指示信息不变;所述第七指示信息包括值为1的New-Partial标志且保持所述第四指示信息不变;所述第八指示信息包括值为0的Partial标志且保持所述第四指示信息不变。
在一个示例性实施例中,在所述第二节点接收第三节点发布的第一BGP路由之前,还包括:所述第三节点往所述第一BGP路由中添加所述第四指示信息。
在一个示例性实施例中,所述第二节点只有在对所述第一BGP路由中对除所述第一属性之外的属性进行的修改均不会对所述第一属性的有效性有影响时,所述第二节点在将所述第二BGP路由发送给所述第一节点时,才往所述第二BGP路由中添加所述第三指示信息。
在一个示例性实施例中,所述第四指示信息为第九指示信息,其中,所述第九指示信息由所述第一属性中的Transitive标志位的值为1和所述第一属性中的Smart-Partial标志位为1组成。
在一个示例性实施例中,所述第四指示信息为第十指示信息,其中,所述第十指示信息由所述第一属性中的Transitive标志位的值为0和所述第一属性中的New-Transitive标志位为1组成。
在一个示例性实施例中,当不满足第一条件时,确定所述第一处理对所述第一属性有影响,或者,当满足第一条件时,确定所述第一处理对所述第一属性无影响,其中,所述第一条件包括以下之一:所述第二节点不修改所述第一BGP路由的下一跳;所述第二节点将所述第一BGP路由的下一跳地址修改为所述第二节点的IP地址,且所述第二BGP路由携带的第二属性满足第二条件。
在一个示例性实施例中,所述第二条件包括:所述第二属性不会导致所述第一转发面实体在所述第二节点上暴露。
在一个示例性实施例中,所述第二条件包括:所述第二属性不会导致第二转发面实体在所述第二节点上被剥除,所述第二转发面实体为所述第一转发面实体外层中与所述第一转发面实体相邻的转发面实体。
在一个示例性实施例中,所述第二属性为所述第一BGP路由的第一MPLS标签,所述第一处理为所述第二节点将所述第一BGP路由的第一MPLS标签修改为所述第二节点分配的第二MPLS标签,所述方法还包括:若第二MPLS标签在转发面对应的标签操作为Swap,在第二节点将所述第二BGP路由发布给第一节点之前,添加所述第三指示信息;若第二MPLS标签在转发面对应的标签操作为Pop,在第二节点将所述第二BGP路由发布给第一节点之前,添加所述第二指示信息。
在一个示例性实施例中,所述第三指示信息中包含所述第一属性中的值为0的Partial标志位。
在一个示例性实施例中,所述第四指示信息为所述第一属性中的New-Transitive标志位,所述方法还包括:所述第三节点在发布所述第一BGP路由之前,将所述No-Partial标志位置为1;响应于所述New-Transitive标志位的值为1,所述第二节点确定所述第三指示信息中包含所述第一属性中的值为1的所述No-Partial标志位和值为0的所述Transitive标志位。
在一个示例性实施例中,所述第四指示信息为所述第一属性中的Smart-Partial标志位,所述方法还包括:响应于所述Smart-Partial标志位的值为1,确定所述第二指示信息中包含所述第一属性中的值为1的所述Partial标志位。
在一个示例性实施例中,所述第一处理为对所述第一属性无影响的处理,所述第一节点与所述第三节点之间还存在第四节点,所述第四节点为不能识别New-Transitive标志位、Smart-Partial标志位、New-Partial标志位、No-Partial标志位以及所述第一属性的节点,且所述第四节点将所述第五BGP路由发给所述第一节点,所述第二节点和所述第四节点均对所述第二属性进行了对所述第一属性无影响的修改,所述第三指示信息与所述第五BGP路由中对应字段的值不同。
需要说明的是,上述实施例中的第一节点可以理解为是第一PE,第二节点可以理解为是第二PE,第三节点可以理解为是第三PE,第四节点可以理解为是第四PE,本发明实施例对此不进行限定。
在一个实施例中,结合图6对BGP路由的发送方法进行说明,附图6是本申请实施例的一种可选的BGP路由的发送方法的流程示意图(一),如图6所示:
第三PE通过第二PE给第一PE发布一条BGP路由,其中,所述BGP路由中至少包含一个不能被第二PE识别的可选、过渡类型的BGP路由属性,在第二PE不能识别所述BGP路由属性的前提下,如果第一PE在根据所述BGP路由转发数据报文P0时,将“由所述BGP路由属性指示的转发面实体”插入到所述数据报文P0(此时称为数据报文P0b)中,所述数据报文P0有可能可以通过所述第二PE,也有可能被所述第二PE丢弃,取决于所述第二PE对所述BGP路由的处理满足什么样的条件,其中,当所述第二PE对所述BGP路由的处理满足第一类条件时,所述第二PE可以确定其可以转发所述P0b,当所述第二PE对所述BGP路由的处理满足第二类条件时,所述第二PE可以确定其会丢弃所述P0b,所述第二PE通过某种机制将其是否能够转发所述P0b告诉第一PE,从而指示第一PE决定是否将“由所述BGP路由属性指示的数据面实体”插入到所述数据报文P0。
需要说明的是,所述BGP路由可以是BGP标签单播BGP-LU路由、EVPN路由、L3VPN路由等BGP路由,所述BGP路由属性可以是熵标签能力ELC属性ELCA、指示流标签能力的属性、指示控制字能力的属性。其中ELCA指示的数据面实体为熵标签EL和熵标签指示符ELI,指示流标签能力的属性所指示的数据面实体为流标签,指示控制字能力的属性所指示的数据面实体为控制字。
接下来结合以下实施例对BGP路由的发送方法进行进一步说明。
实施例1
在本实施例中结合附图7对BGP路由的发送过程进行说明,图7是本申请实施例的一种可选的BGP路由的发送方法的ELCA结构示意图(一),如图7所示,具体步骤包括:
S101000:第三PE发布第一BGP路由给第二PE,其中,第一BGP路由中携带熵标签能力属性ELCA,所述ELCA中携带一个New-Transitive标志位和一个值为0的Transitive标志位,如附图7所示;
S102000:第二PE收到所述第一BGP路由,第二PE能识别第一BGP路由,但不能识别所述ELCA;
S103000:第二PE将所述第一BGP路由的下一跳地址修改为标识第二PE的IP地址,同时,第二PE将所述第一BGP路由的MPLS标签修改为第二PE分配的MPLS标签(记为L1),以得到第二BGP路由,然后,响应于所述New-Transitive标志位的值为1,第二PE将所述第二BGP路由发布给第一PE;
其中,步骤S103000还包括如下步骤:
S103010:若标签L1在转发面对应的标签操作为Swap,那么在第二PE将所述第一BGP路由发布给第一PE之前,响应于所述New-Transitive标志位的值为1,不将所述ELCA中的Partial标志位置为1,同时,保持所述New-Transitive标志位不变;
S103020:若标签L1在转发面对应的标签操作为Pop,那么在第二PE将所述第二BGP路由发布给第一PE之前,将所述ELCA中的Partial标志位置为1,同时,保持所述New-Transitive标志位不变。
S104000:第一PE收到所述第二BGP路由,第一PE在根据所述第二BGP路由转发数据报文P1时,根据所述第二BGP路由的所述ELCA中的Partial标志,判断所述第二PE是否会妨碍在P1报文中添加熵标签,并根据所述第二PE是否会妨碍在P1报文中添加熵标签决定是否将熵标签添加到所述P1报文中。
其中,步骤S104000还包括如下步骤:
S104011:第一PE收到所述第一BGP路由,若所述第二BGP路由的所述ELCA中的Partial标志为1,则在根据所述第二BGP路由转发数据报文P1时,不将熵标签插入到所述P1报文中。
S104021:第一PE收到所述第二BGP路由,若所述第二BGP路由的所述ELCA中的Partial标志为0,则在根据所述第一BGP路由转发数据报文P1时,将熵标签插入到所述P1报文中。
实施例2
S201000:第三PE发布第一BGP路由给第二PE,其中,第一BGP路由中携带熵标签能力属性ELCA,所述ELCA中不携带New-Transitive标志位,但携带值为1的Transitive标志位;
S202000:第二PE收到所述第一BGP路由,第二PE能识别第一BGP路由,但不能识别所述ELCA;
S203000:第二PE将所述第一BGP路由的下一跳地址修改为标识第二PE的IP地址,同时,第二PE将所述第一BGP路由的MPLS标签修改为第二PE分配的MPLS标签(记为L1),以得到第二BGP路由,然后,第二PE将所述第二BGP路由发布给第一PE;
其中,步骤S203000还包括如下步骤:
S203010:若标签L1在转发面对应的标签操作为Swap,在第二PE将所述第二BGP路由发布给第一PE之前,不将所述ELCA中的Partial标志位置为1;
S203020:若标签L1在转发面对应的标签操作为Pop,在第二PE将所述第二BGP路由发布给第一PE之前,将所述ELCA中的Partial标志位的值置为1。需要说明的是,因为第二节点转发面不支持熵标签,此时,如果第一PE按所述ELAC给所述第二PE发送了熵标签,将会导致流量黑洞,因此,所述Partial标志位的值置为1就可以作为判断所述第一PE判断所述第二PE会通过所述ELCA导致流量黑洞的依据;类似情况不再重复说明。
S204000:第一PE收到所述第二BGP路由,第一PE在根据所述第二BGP路由转发数据报文P2时,根据所述第二BGP路由的所述ELCA中的Partial标志,判断所述第二PE是否会妨碍在P2报文中添加熵标签,并根据所述第二PE是否会妨碍在P2报文中添加熵标签决定是否将熵标签添加到所述P2报文中;类似情况不再重复说明。
其中,步骤S204000还包括如下步骤:
S204011:第一PE收到所述第二BGP路由,若所述第二BGP路由的所述ELCA中的Partial标志为1,则第一PE在根据所述第二BGP路由转发数据报文P2时,不将熵标签插入到所述P2报文中。
S204021:第一PE收到所述第二BGP路由,若所述第二BGP路由的所述ELCA中的Partial标志为0,则在根据所述第二BGP路由转发数据报文P2时,将熵标签插入到所述P2报文中。
实施例3
在本实施例中结合附图8对BGP路由的发送过程进行说明,图8是本申请实施例的一种可选的BGP路由的发送方法的流程示意图(二),如图8所示,具体步骤包括:
S301000:第三PE发布第一BGP路由给第二PE,其中,第一BGP路由中携带的不能被第二PE识别的BGP属性为EVPN Layer 2Attr ibutes扩展团体属性(即流标签能力FLC属性FLCA),所述FLCA中携带一个New-Transitive标志位(图8中通过NewT表示)和一个值为0的Transitive标志位,其中,所述第一BGP路由为第一类EVPN路由,所述MPLS标签为所述第一类EVPN路由的NLRI中的MPLS标签;
S302000:第二PE收到所述第一BGP路由,第二PE能识别第一BGP路由,但不能识别所述ELCA;
S303000:第二PE将所述第一BGP路由的下一跳地址修改为标识第二PE的IP地址,同时,第二PE将所述第一BGP路由的MPLS标签(图8中用L0表示)修改为第二PE分配的MPLS标签(记为RL1),以得到第二BGP路由,然后,第二PE将所述第二BGP路由发布给第一PE,以供第一PE判断是否给第二PE发送流标签之用;
其中,步骤S303000还包括如下步骤:
S303010:若标签RL1在转发面对应的标签操作为Swap,那么在第二PE将所述第二BGP路由发布给第一PE之前,响应于所述New-Transitive标志位的值为1,不将所述FLCA中的Partial标志位置为1,同时,保持所述New-Transitive标志位不变;
S303020:若标签RL1在转发面对应的标签操作为Pop,那么在第二PE将所述第二BGP路由发布给第一PE之前,将所述FLCA中的Partial标志位置为1,同时,保持所述New-Transitive标志位不变。
S303011:第一PE收到所述第二BGP路由,若所述第二BGP路由的所述FLCA中的Partial标志为1,则在根据所述第二BGP路由转发数据报文P3时,不将流标签插入到所述P3报文中。
S303021:第一PE收到所述第二BGP路由,若所述第二BGP路由的所述FLCA中的Partial标志为0,则在根据所述第二BGP路由转发数据报文P3时,将流标签插入到所述P3报文中。
需要说明的是,多个扩展团体属性可以打包在一起发布,此时,这些扩展团体属性共享同一个Attr.Flags和同一个Attr.Type Code,当EVPN Layer 2Attributes ExtendedCommunity需要设置New-Transitive标志和/或Partial标志而其它扩展团体属性不需要时,两组扩展团体属性要分别进行打包。
实施例4
S401000:第三PE发布第一BGP路由给第二PE,其中,第一BGP路由中携带的不能被第二PE识别的BGP属性为EVPN Layer 2Attributes Extend Community中的C标志(即控制字能力标志),所述CWCA中携带一个New-Transitive标志位和一个值为0的Transitive标志位,其中,所述第一BGP路由为第一类EVPN路由,所述MPLS标签为所述第一类EVPN路由的NLRI中的MPLS标签;
S402000:第二PE收到所述第一BGP路由,第二PE能识别第一BGP路由,但不能识别所述ELCA;
S403000:第二PE将所述第一BGP路由的下一跳地址修改为标识第二PE的IP地址,同时,第二PE将所述第一BGP路由的MPLS标签修改为第二PE分配的MPLS标签(记为L1),以得到第二BGP路由,然后,第二PE将所述第二BGP路由发布给第一PE,以供第一PE判断是否给第二PE发送控制字之用;
其中,步骤403000还包括如下步骤:
S403010:若标签L1在转发面对应的标签操作为Swap,那么在第二PE将所述第二BGP路由发布给第一PE之前,响应于所述New-Transitive标志位的值为1,不将所述CWCA中的Partial标志位置为1,同时,保持所述New-Transitive标志位不变;
S403020:若标签L1在转发面对应的标签操作为Pop,那么在第二PE将所述第二BGP路由发布给第一PE之前,将所述CWCA中的Partial标志位置为1,同时,保持所述New-Transitive标志位不变。
S403011:第一PE收到所述第二BGP路由,若所述第二BGP路由的所述CWCA中的Partial标志为1,则在根据所述第二BGP路由转发数据报文P3时,不将控制字能力标签插入到所述P3报文中。
S403021:第一PE收到所述第二BGP路由,若所述第二BGP路由的所述CWCA中的Partial标志为0,则在根据所述第二BGP路由转发数据报文P3时,将控制字能力标签插入到所述P3报文中。
实施例5
在本实施例中结合附图9对BGP路由的发送过程进行说明,图9是本申请实施例的一种可选的BGP路由的发送方法的流程示意图(三),如图9所示,具体步骤包括:
除特殊说明之处以外,本实施例中的步骤均与实施例1中的步骤相同:
不同之处在于:
1)本实施例中,在第二PE和第三PE之间还存在其它节点,比如图中所示的PE4节点,此时,PE4可能会对原始的第一BGP路由进行修改,比如图中PE4节点在透传ELCA的同时,会去除原始的第一BGP路由中的MPLS标签(图9中用TL0表示),此时第二PE从PE4收到的第一BGP路由,就是第二PE从第三PE收到的第一BGP路由。
2)本实施例中,采用新的New-Partial标志(图9中采用NewP表示)取代实施例1中Partial标志的作用,其中,New-Partial取0相当于Partial标志取0,New-Partial取1相当于Partial标志取1。
需要说明的是,由于第二PE收到的第一BGP路由中已经不带有MPLS标签,相应地,在本实施例中,所谓“第二PE修改所述第一BGP路由的MPLS标签”,指的是添加携带所述MPLS标签(图9中用TL4表示)的路由属性。
实施例6
除特殊说明之处以外,本实施例中的步骤均与实施例5中的步骤相同:
不同之处在于:
1)本实施例中用新的No-Partial标志字段取代New-Partial标志字段,No-Partial标志取0相当于实施例1中Partial标志取1,No-Partial标志取1相当于实施例1中Partial标志取0。
2)当实施例5中将New-Partial标志设置为0时,本实施例中将No-Partial标志设置为1,当实施例5中将New-Partial标志设置为1时,本实施例中将No-Partial标志设置为0。
需要说明的是,在本实施例中,第三PE将第一BGP路由发给PE4时,No-Partial需要设置为1。
实施例7
在本实施例中结合附图10对BGP路由的发送过程进行说明,图10是本申请实施例的一种可选的BGP路由的发送方法的ELCA结构示意图(二),如图10所示,具体步骤包括:
S701000:第三PE发布第一BGP路由给第二PE,其中,第一BGP路由中携带熵标签能力属性ELCA,所述ELCA中携带一个值为1的Smart-Partial标志位和一个值为1的Transitive标志位,如附图11所示;
S702000:第二PE收到所述第一BGP路由,第二PE能识别第一BGP路由,但不能识别所属ELCA;
S703000:第二PE将所述第一BGP路由的下一跳修改为标识第二PE的IP地址,同时,第二PE将所述第一BGP路由的MPLS标签修改为第二PE分配的MPLS标签(记为L1),以得到第二BGP路由,然后,第二PE将所述第一BGP路由发布给第一PE,以供第二PE判断是否给第一PE发送熵标签之用;
其中,步骤S703000还包括如下步骤:
S703010:若标签L1在转发面对应的标签操作为Swap,在第二PE将所述第二BGP路由发布给第一PE之前,响应于所述Smart-Partial标志位的值为1,不将所述ELCA中的Partial标志位置为1,同时,保持所述Smart-Partial标志位不变;
S703020:若标签L1在转发面对应的标签操作为Pop,在第二PE将所述第二BGP路由发布给第一PE之前,将所述ELCA中的Partial标志位置为1,同时,保持所述Smart-Partial标志位不变。
S703011:第一PE收到所述第二BGP路由,若所述第二BGP路由的所述ELCA中的Partial标志为1,则在根据所述第二BGP路由转发数据报文P7时,不将熵标签插入到所述P7报文中。
S703021:第一PE收到所述第二BGP路由,若所述第二BGP路由的所述ELCA中的Partial标志为0,则在根据所述第二BGP路由转发数据报文P7时,将熵标签插入到所述P7报文中。
实施例8
在本实施例中结合附图11-12对BGP路由的发送过程进行说明,图11和12分别是本申请实施例的两种可选的BGP路由的发送方法的流程示意图,如图11-12所示,具体步骤包括:
除特殊说明之处以外,本实施例中的步骤均与实施例7中的步骤相同:
不同之处在于:
1)如图所示,本实施例中在第三PE与第一PE之间还存在一台遗留PE(对应于所述第四节点),且所述遗留PE不会透传所述Smart-Partial标志(对应于第四指示信息)的值;
2)本实施例在步骤S703011中,若所述第二BGP路由的所述ELCA中的Partial标志为1,则在根据所述第二BGP路由转发数据报文P1时,不将熵标签插入到所述P1报文中;
3)本实施例在步骤S703021中,若所述第二BGP路由的所述ELCA中的Partial标志为0,则在根据所述第二BGP路由转发数据报文P1时,将熵标签插入到所述P1报文中。
需要说明的是,附图11-12中所提及的暴露型和非暴露型含义包括:
若第二PE会修改第二属性,且所述第二PE对所述第二属性的修改不会导致第二转发面实体在所述第二PE上被剥除,就可以说所述第二PE对所述第一属性来说是一个相对于所述第二属性的非暴露型节点,其中,所述第二转发面实体为第一转发面实体外层中与所述第一转发面实体相邻的转发面实体,所述第一转发面实体为与所述第一属性对应的转发面实体。反之,若所述第二PE会修改第二属性,且所述第二PE对所述第二属性的修改会导致所述第二转发面实体在所述第二PE上被剥除,则可以说所述第二PE对所述第一属性来说是一个相对于所述第二属性的暴露型节点。
进一步地,如果第一属性可以存在相对于其它某个路由属性的暴露型节点,则称第一属性为可暴露的路由属性,否则,称第一属性为不可暴露(即不可能被暴露)的路由属性。在转发面没有实体与之对应的路由属性均为不可暴露的路由属性。只有对于可暴露的路由属性,第三PE才需要添加Smart-Partial标记,对于不可暴露的路由属性(尤其是将来出现的不可暴露的新的路由属性),则可以不添加Smart-Partial标记。
需要说明的是,在本实施例中,若所述第一处理为对所述第一属性无影响(即不会导致与所述第一属性对应的第一转发面实体在所述第二PE上暴露)的处理(即所述第二PE为非暴露型PE),所述第一PE与所述第三PE之间还存在遗留PE(对应于第四PE),所述遗留PE为不能识别New-Transitive标志位、Smart-Partial标志位、New-Partial标志位、No-Partial标志位以及所述第一属性的节点,且所述遗留PE会将所述第一BPG路由的下一跳修改为标识所述第四PE的IP地址以得到第五BGP路由,所述遗留PE将所述第五BGP路由发给所述第一PE,所述第二PE和所述遗留PE均对所述第二属性进行了对所述第一属性无影响的修改,所述方法还包括:
所述第三指示信息与所述第五BGP路由中对应字段的值不同。
实施例9
S901000:第三PE发布第一BGP路由给第二PE,其中,第一BGP路由中携带熵标签能力属性ELCA,所述ELCA中不携带New-Transitive标志位,但携带值为1的Transitive标志位;
S902000:第二PE收到所述第一BGP路由,第二PE能识别第一BGP路由,但不能识别所述ELCA;
S903000:第二PE将所述第一BGP路由的下一跳修改为标识第二PE的IP地址,同时,第二PE将所述第一BGP路由的MPLS标签修改为第二PE分配的MPLS标签(记为L1),然后,以得到第二BGP路由,第二PE将所述第二BGP路由发布给第一PE,以指示第一PE是否给第二PE封装熵标签;
其中,步骤S903000还包括如下步骤:
S903010:若标签L1在转发面对应的标签操作为Swap,在第二PE将所述第二BGP路由发布给第一PE之前,将所述ELCA中的Partial标志位置为1,同时,将所述ELCA中的Partial-Disabled标志置为1;
S903020:若标签L1在转发面对应的标签操作为Pop,在第二PE将所述第二BGP路由发布给第一PE之前,将所述ELCA中的Partial标志位置为1,同时,不将所述ELCA中的Partial-Disabled标志位置为1;
S903011:第一PE收到所述第二BGP路由,若所述第二BGP路由的所述ELCA中的Partial标志为1,且所述ELCA中的所述Partial-Disabled标志的值为0,则第一PE在根据所述第二BGP路由转发数据报文P9时,不将熵标签插入到所述P9报文中;
S903021:第一PE收到所述第二BGP路由,若所述第二BGP路由的所述ELCA中的Partial标志为1,且所述ELCA中的所述Partial-Disabled标志的值为1,则在根据所述第二BGP路由转发数据报文P9时,将熵标签插入到所述P9报文中;
S903031:第一PE收到所述第二BGP路由,若所述第二BGP路由的所述ELCA中的Partial标志为0,且所述ELCA中的所述Partial-Disabled标志的值为0,则在根据所述第二BGP路由转发数据报文P9时,将熵标签插入到所述P9报文中。
需要说明的是,在本实施例中,当所述第二PE与所述第一PE之间还有第五PE时,第五PE从第二PE收到所述第一BGP路由并将修改后的第一BPG路由发给所述第一PE,此时,第五PE要根据自身的情况修改所述Partial-Disabled标志的值,而不能总是透传收到的Partial-Disabled标志值。由于Partial标志一旦被设置为1就不能被修改,Partial-Disabled标志的可以被每一个中间节点修改的性质,可以最大程度地利用每一个中间节点的熵标签能力,而不是只要任何一个中间节点没有熵标签能力,入口节点上就不再封装熵标签。
上述实施例提出一种实现第三PE通过第二PE给第一PE发布BGP路由属性的BGP路由的发送方法,以使得在第二PE不能识别某个BGP路由属性的前提下,使所述第一PE能够知道所述第二PE是否会妨碍所述第一PE将所述BGP路由属性应用于相应BGP路由的转发面处理,解决了由于第一PE无法识别“第二PE是否会妨碍所述第一PE将所述BGP路由属性应用于相应BGP路由的转发面处理”而导致的两难问题,实现了未来新节点发布的新的BGP路由属性可以安全穿越实现了本申请实施例而不能识别所述新的BGP路由属性的节点,缩短了网络节点需要升级的范围,降低了网络维护成本。
在一个实施例中,结合附图13提供了一种可选的带有遗留PE的BGP路由的发送方法的流程示意图,如图13所示:
遗留PE是不支持控制字能力CWC协商的现有节点,第二PE-a和第二PE-b是不支持控制字能力协商但支持本申请实施例的节点,遗留PE、第二PE-a和第三PE-b在收到EVPN路由以后,均修改其EVPN标签VL和下一跳之后再将该EVPN路由转发给第一PE,其中,VL3是具有控制字破怀性(即CW破坏性,也就是第二PE-b对于CWCA来说是相对于EVPN标签的暴露型节点)的EVPN标签,VL2是不具有控制字破坏性(即具有CW兼容性,也就是第二PE-a对于CWCA来说是相对于EVPN标签的非暴露型节点)的EVPN标签,而VL1是混沌性(可能具有CW破坏性,也可能不具有CW破坏性,且缺乏指示信息指示其是否具有CW破坏性)的EVPN标签。
通过本实施例,第一PE在给第二PE-a发数据时,可以添加控制字(因为第二PE-a指示了其发布的路由具有CW兼容性),而给第二PE-b和遗留PE发数据包时,可以不添加控制字,从而最大可能地利用了控制字能力。
本申请实施例描述的BGP路由的发送方法实现了第三PE通过第二PE给第一PE发布BGP路由属性,即在不升级第二PE的前提下,可以在第一PE和第三PE之间安全扩展新的BGP属性,并且,当第二PE会妨碍所述第一PE将所述新的BGP属性应用于转发面时,第一PE能够将其与第二PE无法妨碍的情况进行不同处理,提高了所述新的BGP属性的适用范围,简化了网络管理的复杂度。
当实施本申请实施例的节点与遗留PE混合组网时,对于以后新增的BGP路由属性,尽管这些中间节点并不能识别这些新增的BGP路由属性,这些中间节点也能够指示头节点(比如第一PE)他们对第一BGP路由所做的修改是否具有CW兼容性,从而使得头节点能够对不同中间节点进行不同处理,并且,对这些指示信息的响应不至于导致入口节点给遗留PE(发布的都是混沌性EVPN标签)也添加控制字。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
在本实施例中还提供了BGP路由的发送装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的设备较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图14是根据本申请实施例的BGP路由的发送装置的结构框图。如图14所示,BGP路由的发送装置包括:
接收模块1402,用于接收第三节点发布的第一BGP路由,其中,所述第一BGP路由携带有第一属性和第二属性;
处理模块1404,用于对所述第二属性进行第一处理,得到第二BGP路由;其中,所述第二节点位于所述第三节点与第一节点之间,所述第二节点无法识别所述第一属性,所述第二节点具备识别所述第二属性的能力,所述第一处理为所述第二节点对所述第二属性进行修改;
发送模块1406,用于响应于所述第二节点无法识别所述第一属性,在所述第二BGP路由中添加第一指示信息同时保留所述第一属性,并将所述第二BGP路由发送给所述第一节点,其中,所述第一指示信息为指示所述第一处理对所述第一属性是否存在影响的指示信息。
通过上述装置,通过第二节点接收第三节点的第一BGP路由,其中,所述第一BGP路由携带有第一属性和第二属性;所述第二节点对所述第二属性进行第一处理,得到第二BGP路由;其中,所述第二节点位于所述第三节点与第一节点之间,所述第二节点无法识别所述第一属性,所述第二节点具备识别所述第二属性的能力,所述第一处理为所述第二节点对所述第二属性进行修改;响应于所述第二节点无法识别所述第一属性,所述第二节点在所述第二BGP路由中添加第一指示信息同时保留所述第一属性,并将所述第二BGP路由发送给所述第一节点,其中,所述第一指示信息为指示所述第一处理对所述第一属性是否存在影响的指示信息;解决了相关技术中,在BGP路由经过中间节点中转发送的过程中,接收端无法识别中间节点是否会妨碍BGP路由中的某些BGP属性被应用于转发面的技术问题,尤其是中间节点通过被妨碍的BGP属性导致流量黑洞的问题;实现了缩短网络节点需要升级的范围,降低网络维护成本的技术效果。
在一个可选实施例中,所述方法还包括:当所述第一处理对所述第一属性有影响时,所述第一指示信息还包括第二指示信息,当所述第一处理对所述第一属性无影响时,所述第一指示信息还包括第三指示信息,且所述第二指示信息与所述第三指示信息不同,其中,所述第二指示信息为用于指示所述第一节点执行第二处理的指示信息,且所述第三指示信息为用于指示所述第一节点执行第三处理的指示信息,其中,所述第二处理为:在所述第二BGP路由携带了所述第二指示信息的情况下,所述第一节点不将第一转发面实体添加到与所述第二BGP路由对应的数据报文中;其中,所述第一转发面实体为与所述第一属性对应的转发面实体;所述第三处理包括:在所述第二BGP路由携带了所述第三指示信息的情况下,指示所述第一节点将所述第一转发面实体添加到与所述第二BGP路由对应的数据报文中;其中,所述第一转发面实体为与所述第一属性对应的转发面实体。
在一个可选实施例中,所述第一属性、所述第一转发面实体和所述第二属性满足第三条件、第四条件、第五条件三者之一,其中,所述第三条件包括:所述第一属性为熵标签能力属性ELCA,所述第一转发面实体为与所述ELCA对应的熵标签指示符ELI标签,所述第二属性为所述第一BGP路由的MPLS标签属性;所述第四条件包括:所述第一属性为流标签能力属性FLCA,所述第一转发面实体为与所述FLCA对应的流标签,所述第二属性为所述第一BGP路由的MPLS标签属性;所述第五条件包括:所述第一属性为控制字CW能力属性CWCA,所述第一转发面实体为与所述CWCA对应的控制字,所述第二属性为所述第一BGP路由的MPLS标签属性。
在一个可选实施例中,所述方法还包括:所述第一BGP路由中还携带有第四指示信息,所述第二节点根据所述第四指示信息确定所述第三指示信息为第五指示信息,其中:所述第五指示信息包括值为0的Partial标志。
在一个可选实施例中,包括:所述第一BGP路由中还携带有第四指示信息,所述第二节点根据所述第四指示信息确定所述第二指示信息包括第六指示信息、第七指示信息两者之一,或者确定所述第三指示信息包括第八指示信息,其中:所述第六指示信息包括值为0的No-Partial标志且保持所述第四指示信息不变;所述第七指示信息包括值为1的New-Partial标志且保持所述第四指示信息不变;所述第八指示信息包括值为0的Partial标志且保持所述第四指示信息不变。
在一个可选实施例中,在所述第二节点接收第三节点发布的第一BGP路由之前,还包括:所述第三节点往所述第一BGP路由中添加所述第四指示信息。
在一个可选实施例中,所述第二节点只有在对所述第一BGP路由中对除所述第一属性之外的属性进行的修改均不会对所述第一属性的有效性有影响时,所述第二节点在将所述第二BGP路由发送给所述第一节点时,才往所述第二BGP路由中添加所述第三指示信息。
在一个可选实施例中,所述第四指示信息为第九指示信息,其中,所述第九指示信息由所述第一属性中的Transitive标志位的值为1和所述第一属性中的Smart-Partial标志位为1组成。
在一个可选实施例中,所述第四指示信息为第十指示信息,其中,所述第十指示信息由所述第一属性中的Transitive标志位的值为0和所述第一属性中的New-Transitive标志位为1组成。
在一个可选实施例中,当不满足第一条件时,确定所述第一处理对所述第一属性有影响,或者,当满足第一条件时,确定所述第一处理对所述第一属性无影响,其中,所述第一条件包括以下之一:所述第二节点不修改所述第一BGP路由的下一跳;所述第二节点将所述第一BGP路由的下一跳地址修改为所述第二节点的IP地址,且所述第二BGP路由携带的第二属性满足第二条件。
在一个可选实施例中,包括:所述第二条件包括:所述第二属性不会导致所述第一转发面实体在所述第二节点上暴露。
在一个可选实施例中,所述第二条件包括:所述第二属性不会导致第二转发面实体在所述第二节点上被剥除,所述第二转发面实体为所述第一转发面实体外层中与所述第一转发面实体相邻的转发面实体。
在一个可选实施例中,所述第二属性为所述第一BGP路由的第一MPLS标签,所述第一处理为所述第二节点将所述第一BGP路由的第一MPLS标签修改为所述第二节点分配的第二MPLS标签,所述方法还包括:若第二MPLS标签在转发面对应的标签操作为Swap,在第二节点将所述第二BGP路由发布给第一节点之前,添加所述第三指示信息;若第二MPLS标签在转发面对应的标签操作为Pop,在第二节点将所述第二BGP路由发布给第一节点之前,添加所述第二指示信息。
在一个可选实施例中,所述第三指示信息中包含所述第一属性中的值为0的Partial标志位。
在一个可选实施例中,所述第四指示信息为所述第一属性中的New-Transitive标志位,所述方法还包括:所述第三节点在发布所述第一BGP路由之前,将所述No-Partial标志位置为1;响应于所述New-Transitive标志位的值为1,所述第二节点确定所述第三指示信息中包含所述第一属性中的值为1的所述No-Partial标志位和值为0的所述Transitive标志位。
在一个可选实施例中,所述第四指示信息为所述第一属性中的Smart-Partial标志位,所述方法还包括:响应于所述Smart-Partial标志位的值为1,确定所述第二指示信息中包含所述第一属性中的值为1的所述Partial标志位。
在一个可选实施例中,所述第一处理为对所述第一属性无影响的处理,所述第一节点与所述第三节点之间还存在第四节点,所述第四节点为不能识别New-Transitive标志位、Smart-Partial标志位、New-Partial标志位、No-Partial标志位以及所述第一属性的节点,且所述第四节点将所述第五BGP路由发给所述第一节点,所述第二节点和所述第四节点均对所述第二属性进行了对所述第一属性无影响的修改,所述第三指示信息与所述第五BGP路由中对应字段的值不同。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
可选的,在本实施例中,上述存储介质可以被设置用于执行以下步骤:
S1,第二节点接收第三节点的第一BGP路由,其中,所述第一BGP路由携带有第一属性和第二属性;
S2,所述第二节点对所述第二属性进行第一处理,得到第二BGP路由;其中,所述第二节点位于所述第三节点与第一节点之间,所述第二节点无法识别所述第一属性,所述第二节点具备识别所述第二属性的能力,所述第一处理为所述第二节点对所述第二属性进行修改;
S3,响应于所述第二节点无法识别所述第一属性,所述第二节点在所述第二BGP路由中添加第一指示信息同时保留所述第一属性,并将所述第二BGP路由发送给所述第一节点,其中,所述第一指示信息为指示所述第一处理对所述第一属性是否存在影响的指示信息。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,第二节点接收第三节点的第一BGP路由,其中,所述第一BGP路由携带有第一属性和第二属性;
S2,所述第二节点对所述第二属性进行第一处理,得到第二BGP路由;其中,所述第二节点位于所述第三节点与第一节点之间,所述第二节点无法识别所述第一属性,所述第二节点具备识别所述第二属性的能力,所述第一处理为所述第二节点对所述第二属性进行修改;
S3,响应于所述第二节点无法识别所述第一属性,所述第二节点在所述第二BGP路由中添加第一指示信息同时保留所述第一属性,并将所述第二BGP路由发送给所述第一节点,其中,所述第一指示信息为指示所述第一处理对所述第一属性是否存在影响的指示信息。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (20)
1.一种BGP路由的发送方法,其特征在于,包括:
第二节点接收第三节点的第一BGP路由,其中,所述第一BGP路由携带有第一属性和第二属性;
所述第二节点对所述第二属性进行第一处理,得到第二BGP路由;其中,所述第二节点位于所述第三节点与第一节点之间,所述第二节点无法识别所述第一属性,所述第二节点具备识别所述第二属性的能力,所述第一处理为所述第二节点对所述第二属性进行修改;
响应于所述第二节点无法识别所述第一属性,所述第二节点在所述第二BGP路由中添加第一指示信息同时保留所述第一属性,并将所述第二BGP路由发送给所述第一节点,其中,所述第一指示信息为指示所述第一处理对所述第一属性是否存在影响的指示信息。
2.根据权利要求1所述的BGP路由的发送方法,其特征在于,所述方法还包括:
当所述第一处理对所述第一属性有影响时,所述第一指示信息还包括第二指示信息,当所述第一处理对所述第一属性无影响时,所述第一指示信息还包括第三指示信息,且所述第二指示信息与所述第三指示信息不同,其中,所述第二指示信息为用于指示所述第一节点执行第二处理的指示信息,且所述第三指示信息为用于指示所述第一节点执行第三处理的指示信息,其中,所述第二处理为:
在所述第二BGP路由携带了所述第二指示信息的情况下,所述第一节点不将第一转发面实体添加到与所述第二BGP路由对应的数据报文中;
其中,所述第一转发面实体为与所述第一属性对应的转发面实体;
所述第三处理包括:
在所述第二BGP路由携带了所述第三指示信息的情况下,指示所述第一节点将所述第一转发面实体添加到与所述第二BGP路由对应的数据报文中;
其中,所述第一转发面实体为与所述第一属性对应的转发面实体。
3.根据权利要求2所述的BGP路由的发送方法,其特征在于,所述第一属性、所述第一转发面实体和所述第二属性满足第三条件、第四条件、第五条件三者之一,其中,
所述第三条件包括:所述第一属性为熵标签能力属性ELCA,所述第一转发面实体为与所述ELCA对应的熵标签指示符ELI标签,所述第二属性为所述第一BGP路由的MPLS标签属性;
所述第四条件包括:所述第一属性为流标签能力属性FLCA,所述第一转发面实体为与所述FLCA对应的流标签,所述第二属性为所述第一BGP路由的MPLS标签属性;
所述第五条件包括:所述第一属性为控制字CW能力属性CWCA,所述第一转发面实体为与所述CWCA对应的控制字,所述第二属性为所述第一BGP路由的MPLS标签属性。
4.根据权利要求2所述的BGP路由的发送方法,其特征在于,所述方法还包括:
所述第一BGP路由中还携带有第四指示信息,所述第二节点根据所述第四指示信息确定所述第三指示信息为第五指示信息,其中:
所述第五指示信息包括值为0的Partial标志。
5.根据权利要求2所述的BGP路由的发送方法,其特征在于,包括:所述第一BGP路由中还携带有第四指示信息,所述第二节点根据所述第四指示信息确定所述第二指示信息包括第六指示信息、第七指示信息两者之一,或者确定所述第三指示信息包括第八指示信息,其中:
所述第六指示信息包括值为0的No-Partial标志且保持所述第四指示信息不变;
所述第七指示信息包括值为1的New-Partial标志且保持所述第四指示信息不变;
所述第八指示信息包括值为0的Partial标志且保持所述第四指示信息不变。
6.根据权利要求4或5所述的BGP路由的发送方法,其特征在于,在所述第二节点接收第三节点发布的第一BGP路由之前,还包括:
所述第三节点往所述第一BGP路由中添加所述第四指示信息。
7.根据权利要求5所述的BGP路由的发送方法,其特征在于,所述第二节点只有在对所述第一BGP路由中对除所述第一属性之外的属性进行的修改均不会对所述第一属性的有效性有影响时,
所述第二节点在将所述第二BGP路由发送给所述第一节点时,才往所述第二BGP路由中添加所述第三指示信息。
8.根据权利要求4或7所述的BGP路由的发送方法,其特征在于,所述第四指示信息为第九指示信息,其中,
所述第九指示信息由所述第一属性中的Transitive标志位的值为1和所述第一属性中的Smart-Partial标志位为1组成。
9.根据权利要求5所述的BGP路由的发送方法,其特征在于,所述第四指示信息为第十指示信息,其中,
所述第十指示信息由所述第一属性中的Transitive标志位的值为0和所述第一属性中的New-Transitive标志位为1组成。
10.根据权利要求1或2所述的BGP路由的发送方法,其特征在于,当不满足第一条件时,确定所述第一处理对所述第一属性有影响,或者,当满足第一条件时,确定所述第一处理对所述第一属性无影响,其中,所述第一条件包括以下之一:
所述第二节点不修改所述第一BGP路由的下一跳;
所述第二节点将所述第一BGP路由的下一跳地址修改为所述第二节点的IP地址,且所述第二BGP路由携带的第二属性满足第二条件。
11.根据权利要求2和10所述的BGP路由的发送方法,其特征在于,包括:所述第二条件包括:所述第二属性不会导致所述第一转发面实体在所述第二节点上暴露。
12.根据权利要求2和10所述的BGP路由的发送方法,其特征在于,所述第二条件包括:所述第二属性不会导致第二转发面实体在所述第二节点上被剥除,所述第二转发面实体为所述第一转发面实体外层中与所述第一转发面实体相邻的转发面实体。
13.根据权利要求2所述的BGP路由的发送方法,其特征在于,所述第二属性为所述第一BGP路由的第一MPLS标签,所述第一处理为所述第二节点将所述第一BGP路由的第一MPLS标签修改为所述第二节点分配的第二MPLS标签,所述方法还包括:
若第二MPLS标签在转发面对应的标签操作为Swap,在第二节点将所述第二BGP路由发布给第一节点之前,添加所述第三指示信息;
若第二MPLS标签在转发面对应的标签操作为Pop,在第二节点将所述第二BGP路由发布给第一节点之前,添加所述第二指示信息。
14.根据权利要求13所述的BGP路由的发送方法,其特征在于,
所述第三指示信息中包含所述第一属性中的值为0的Partial标志位。
15.根据权利要求5和13所述的BGP路由的发送方法,其特征在于,所述第四指示信息为所述第一属性中的New-Transitive标志位,所述方法还包括:
所述第三节点在发布所述第一BGP路由之前,将所述No-Partial标志位置为1;
响应于所述New-Transitive标志位的值为1,所述第二节点确定所述第三指示信息中包含所述第一属性中的值为1的所述No-Partial标志位和值为0的所述Transitive标志位。
16.根据权利要求4和13所述的BGP路由的发送方法,其特征在于,所述第四指示信息为所述第一属性中的Smart-Partial标志位,所述方法还包括:
响应于所述Smart-Partial标志位的值为1,确定所述第二指示信息中包含所述第一属性中的值为1的所述Partial标志位。
17.根据权利要求4或5所述的BGP路由的发送方法,其特征在于,所述第一处理为对所述第一属性无影响的处理,所述第一节点与所述第三节点之间还存在第四节点,所述第四节点为不能识别New-Transitive标志位、Smart-Partial标志位、New-Partial标志位、No-Partial标志位以及所述第一属性的节点,且所述第四节点将所述第五BGP路由发给所述第一节点,所述第二节点和所述第四节点均对所述第二属性进行了对所述第一属性无影响的修改,所述第三指示信息与所述第五BGP路由中对应字段的值不同。
18.一种BGP路由的发送装置,其特征在于,应用于第二节点,包括:
接收模块,用于接收第三节点发布的第一BGP路由,其中,所述第一BGP路由携带有第一属性和第二属性;
处理模块,用于对所述第二属性进行第一处理,得到第二BGP路由;其中,所述第二节点位于所述第三节点与第一节点之间,所述第二节点无法识别所述第一属性,所述第二节点具备识别所述第二属性的能力,所述第一处理为所述第二节点对所述第二属性进行修改;
发送模块,用于响应于所述第二节点无法识别所述第一属性,在所述第二BGP路由中添加第一指示信息同时保留所述第一属性,并将所述第二BGP路由发送给所述第一节点,其中,所述第一指示信息为指示所述第一处理对所述第一属性是否存在影响的指示信息。
19.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至17任一项中所述的方法。
20.一种电子装置,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至17任一项中所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210259238.0A CN116805930A (zh) | 2022-03-16 | 2022-03-16 | Bgp路由的发送方法、装置、存储介质及电子装置 |
PCT/CN2022/139069 WO2023173853A1 (zh) | 2022-03-16 | 2022-12-14 | Bgp路由的发送方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210259238.0A CN116805930A (zh) | 2022-03-16 | 2022-03-16 | Bgp路由的发送方法、装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116805930A true CN116805930A (zh) | 2023-09-26 |
Family
ID=88022155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210259238.0A Pending CN116805930A (zh) | 2022-03-16 | 2022-03-16 | Bgp路由的发送方法、装置、存储介质及电子装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116805930A (zh) |
WO (1) | WO2023173853A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10356227B2 (en) * | 2015-03-31 | 2019-07-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Method of packet marking for flow analytics |
CN106549871B (zh) * | 2015-09-22 | 2020-09-08 | 华为技术有限公司 | 一种报文处理的方法、设备和系统 |
CN113132235B (zh) * | 2019-12-31 | 2023-03-31 | 中兴通讯股份有限公司 | 基于虚电路的数据报文处理方法、转发表项的构建方法 |
US20220029911A1 (en) * | 2021-03-31 | 2022-01-27 | Juniper Networks, Inc. | Route target constraint to filter routes advertised to a node in a seamless mpls or seamless sr network |
-
2022
- 2022-03-16 CN CN202210259238.0A patent/CN116805930A/zh active Pending
- 2022-12-14 WO PCT/CN2022/139069 patent/WO2023173853A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023173853A1 (zh) | 2023-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11533249B2 (en) | Route processing method and apparatus, and data transmission method and apparatus | |
WO2021063232A1 (zh) | 建立bier转发表项的方法、装置和系统 | |
US11855877B2 (en) | Information management method, apparatus, and system | |
CN108737128B (zh) | 一种实现带内操作管理维护ioam的方法及装置 | |
EP3958521A1 (en) | Method and apparatus for providing service for service flow | |
CN107968750B (zh) | 报文传输方法、装置及节点 | |
EP2996290B1 (en) | Packet forwarding method, apparatus, and system | |
CN112054959B (zh) | 一种bier报文的发送方法和装置 | |
EP3979576A1 (en) | Packet forwarding method, device, and computer-readable storage medium | |
WO2018032962A1 (zh) | 一种信息同步的方法,装置及系统 | |
EP4080837A1 (en) | Bier packet forwarding method, device, apparatus, and storage medium | |
CN112511444A (zh) | 一种组播流量传输方法、装置、通信节点及存储介质 | |
CN111213345B (zh) | 用于发送或接收包含控制信息的报文的设备、方法和系统 | |
WO2022127586A1 (zh) | 报文处理方法、节点及计算机可读存储介质 | |
CN112491718A (zh) | 报文头的处理方法及装置、存储介质、电子装置 | |
CN110896379A (zh) | 报文的发送方法、绑定关系的通告方法、装置及存储介质 | |
US20240154902A1 (en) | Packet forwarding method and system, storage medium, and electronic device | |
CN107370654B (zh) | 一种伪线数据报文的封装、解封装方法和相关装置 | |
CN108270673A (zh) | 报文发送方法、装置以及系统 | |
US11799769B2 (en) | Packet processing method, apparatus, system, and device, and storage medium | |
CN112491706A (zh) | 数据报文的处理方法及装置、存储介质、电子装置 | |
CN112737954B (zh) | 报文处理方法、装置、系统、设备及存储介质 | |
CN111865795B (zh) | 控制方法及装置 | |
CN111277426B (zh) | 一种ioam信息的处理方法和装置 | |
CN116805930A (zh) | Bgp路由的发送方法、装置、存储介质及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |