Method, device, storage medium and electronic device for transmitting BGP routing

JP2025506643AActive Publication Date: 2025-03-13ZTE CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024546302
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-03-16
Filing Date
2022-12-14
Publication Date
2025-03-13
Estimated Expiration
2042-12-14

AI Technical Summary

Benefits of technology

【0020】 本開示により、第2のノードは、第3のノードの第1のBGPルーティングを受信し、前記第1のBGPルーティングは、第1の属性及び第2の属性を含み、前記第2のノードは、前記第2の属性に対して第1の処理を行い、第2のBGPルーティングを得、前記第2のノードは、前記第3のノードと第1のノードとの間に位置し、前記第2のノードは、前記第1の属性を識別することができず、前記第2のノードは、前記第2の属性を識別する能力を備え、前記第1の処理は、前記第2のノードが前記第2の属性を修正することであり、前記第2のノードが前記第1の属性を識別することができないことに応答して、前記第2のノードは、前記第2のBGPルーティングに第1の指示情報を追加すると同時に前記第1の属性を保留し、且つ前記第2のBGPルーティングを前記第1のノードに送信し、前記第1の指示情報は、前記第1の処理が前記第1の属性に影響を与えるか否かを指示する指示情報であり、関連技術では、BGPルーティングが中間ノードにより中継して送信するプロセスにおいて、BGPルーティングの受信側は中間ノードがBGPルーティングにおけるいくつかのBGP属性がフォワーディングプレーンに応用されることを妨げるか否かを識別することができないという問題、特に中間ノードが妨げされるBGP属性によりトラフィックのブラックホールを引き起こすという問題を解決し、ネットワークノードのアップグレードが必要な範囲を短縮し、ネットワークメンテナンスコストを低減するという技術的効果を実現する。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025506643000001_ABST
    Figure 2025506643000001_ABST
Patent Text Reader

Abstract

The present disclosure provides a method, apparatus, storage medium and electronic device for transmitting a BGP route, the method including: a step of a second node receiving a first BGP route from a third node, the first BGP route including a first attribute and a second attribute; a step of the second node performing a first process on the second attribute to obtain a second BGP route, the second node being located between the third node and the first node, the second node being unable to identify the first attribute, the second node being capable of identifying the second attribute, the first process being the second node modifying the second attribute; and a step of the second node adding first indication information to the second BGP route while withholding the first attribute, in response to the second node being unable to identify the first attribute, and transmitting the second BGP route to the first node, the first indication information being indication information indicating whether the first process affects the first attribute.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] (CROSS REFERENCE TO RELATED APPLICATIONS) This disclosure claims priority to a Chinese patent application filed with the China Patent Office on March 16, 2022, bearing application number 202210259238.0 and entitled "BGP routing transmission method, device, storage medium and electronic device," the entire contents of which are incorporated herein by reference.

[0002] The present disclosure relates to the field of communications, and in particular to a method, apparatus, storage medium and electronic device for transmitting BGP routing. [Background technology]

[0003] In a related technology, in an MPLS (Multi-Protocol Label Switching) network, when a Label Switching Router (LSR) device performs a load balancing process for each traffic stream, it needs to extract IP contents loaded into an MPLS message and calculate a HASH KEY, but there is a problem that the extraction process cannot be performed effectively and the extraction performance is degraded.

[0004] In order to solve this problem, RFC6790 proposes the concept of Entropy Label.

[0005] The entropy label is a label generated entirely by the Ingress LSR based on the load balancing information and is not used for forwarding or signaling, but only to improve the load balancing process.

[0006] The entropy label is generated in the Ingress LSR and packaged into the MPLS label stack. If the MPLS label is not packaged in the message in the Ingress LSR, the IP content can be easily obtained. If the Ingress LSR identifies the downstream LSR's ability to enable entropy label, it calculates the entropy label according to the IP content in the message, and pushes the entropy label into the MPLS label stack and transmits the entropy label to the downstream LSR. The transit LSR does not need to extract the inner layer IP data loaded into the MPLS message, and can directly use the entropy label in the label stack to calculate the HASH KEY, and further realizes load balancing by stream.

[0007] In the above process, as shown in Figure 3, the egress LSR (P0) distributes labels upstream and notifies the entropy label capability, the ingress LSR (P4) enters the MPLS forwarding domain to calculate two different entropy labels for the two IP streams, respectively, and pushes them into the label stack, and P3 updates the entropy labels to achieve load balancing on a per-stream basis.

[0008] To support the above scenario, RFC6790 adds an ELC attribute to each label signaling protocol, for example, in the BGP protocol, a selectable transition attribute with an attribute type value of 28, i.e., the ELC attribute (BGP Entropy Label Capability Attribute), is added.

[0009] However, RFC7447 discards this attribute because if the current device does not support entropy label processing, the entropy label capability must be removed when sending the label to the upstream LSR to modify the next hop, otherwise traffic black holes will result.Unfortunately, the ELC attribute is a selectable transition attribute, and according to the processing principle of RFC4271, if the attribute cannot be identified, it will be processed as transparent transmission.

[0010] As for the above traffic black hole generating process, FIG. 4 illustrates it.

[0011] As shown in Figure 4, AS3 is a 6PE network, AS2 is a pure IPV6 network, and AS1 is a 6PE network. In the mixed network, some devices do not support entropy label processing capability and do not recognize ELC attributes. Only PE0 and PE5 support ELC. When egress LSR PE0 sends routing and labels, it includes ELC attributes, but PE1-PE4 do not recognize ELC attributes, so it transmits ELC attributes transparently. PE5 supports ELC and inserts entropy labels into IP1 data stream after receiving the attributes, but after the traffic reaches PE4, PE4 cannot remove the entropy labels, so the traffic is discarded by PE3 after it reaches PE3.

[0012] However, not all nodes that cannot identify ELCA (ELC attribute) will cause traffic black holes. For example, in the following Figure 5, there is a node that cannot identify ELCA (i.e., ABR2 node), but it will not cause traffic black holes.

[0013] After RFC7447 discards the ELC attribute, the prior art does not provide an alternative solution. After the BGP route distributed by the egress node is relayed by an intermediate node, if the intermediate node does not identify an ELC attribute in the BGP route, the prior art lacks a mechanism to allow the ingress node to identify whether the intermediate node is a node that causes a black hole in traffic due to the ELC attribute.

[0014] In the related art, in the process of BGP routing being relayed and transmitted by intermediate nodes, the receiving side cannot identify whether the intermediate nodes prevent some BGP attributes in the BGP routing from being applied to the forwarding plane. The prior art does not propose a solution to this problem. Summary of the Invention [Problem to be solved by the invention]

[0015] The embodiments of the present disclosure provide a method, device, storage medium and electronic device for transmitting BGP routes, which at least solves the problem in the related art that in the process of BGP routes being relayed and transmitted by intermediate nodes, the receiving side cannot identify whether the intermediate nodes prevent some BGP attributes in the BGP routes from being applied to the forwarding plane. [Means for solving the problem]

[0016] According to one aspect of an embodiment of the present disclosure, a method for transmitting a BGP route includes: a step of receiving a first BGP route from a third node, the first BGP route including a first attribute and a second attribute; a step of the second node performing a first process on the second attribute to obtain a second BGP route, the second node being located between the third node and the first node, the second node being unable to identify the first attribute, the second node being capable of identifying the second attribute, the first process being the second node modifying the second attribute; and a step of, in response to the second node being unable to identify the first attribute, the second node adding first indication information to the second BGP route while withholding the first attribute, and transmitting the second BGP route to the first node, the first indication information being indication information indicating whether the first process affects the first attribute.

[0017] According to another aspect of the embodiment of the present disclosure, a sending device for BGP routing applied to a second node is further provided, the sending device including: a receiving module configured to receive a first BGP routing distributed by a third node, the first BGP routing including a first attribute and a second attribute; a processing module configured to perform a first processing on the second attribute to obtain a second BGP routing, the second node being located between the third node and the first node, the second node being unable to identify the first attribute, the second node being capable of identifying the second attribute, the first processing being the second node modifying the second attribute; and a sending module configured to, in response to the second node being unable to identify the first attribute, add first indication information to the second BGP routing while retaining the first attribute, and send the second BGP routing to the first node, the first indication information being indication information indicating whether the first processing affects the first attribute.

[0018] According to yet another aspect of the embodiment of the present disclosure, there is further provided a computer readable storage medium having a computer program stored therein, the computer program being configured to execute the above-mentioned BGP routing transmission method when executed.

[0019] According to yet another aspect of the embodiment of the present disclosure, there is further provided an electronic device, comprising: a memory; a processor; and a computer program stored in the memory and executable by the processor, the processor executing the BGP routing transmission method according to the computer program. Effect of the Invention

[0020] According to the present disclosure, a second node receives a first BGP route of a third node, the first BGP route including a first attribute and a second attribute, the second node performs a first process on the second attribute to obtain a second BGP route, the second node is located between the third node and the first node, the second node is unable to identify the first attribute, the second node has a capability to identify the second attribute, the first process is for the second node to modify the second attribute, and in response to the second node being unable to identify the first attribute, the second node adds a first indication to the second BGP route while modifying the first attribute. and sending the second BGP routing to the first node, where the first indication information is indication information indicating whether the first process will affect the first attribute. In the related technology, in the process of BGP routing being relayed and sent by an intermediate node, the problem that the receiver of the BGP routing cannot identify whether the intermediate node prevents some BGP attributes in the BGP routing from being applied to the forwarding plane is solved, especially the problem that the intermediate node causes traffic blackhole due to the blocked BGP attributes, so as to achieve the technical effects of shortening the scope required for upgrading network nodes and reducing network maintenance costs. [Brief description of the drawings]

[0021] The drawings described herein are intended to provide a further understanding of the present disclosure and constitute a part of the present disclosure, and the illustrative embodiments of the present disclosure and the description thereof are intended to interpret the present disclosure and are not intended to unduly limit the present disclosure. [Figure 1] FIG. 2 is a block diagram of the hardware structure of a selectable computer terminal of the BGP routing transmission method of the embodiment of the present disclosure; [Diagram 2] 2 is a flowchart of a method for transmitting BGP routing according to an embodiment of the present disclosure. [Diagram 3]FIG. 1 is a schematic diagram of a flowchart of a method for transmitting BGP routing based on selectable entropy labels in the related art; [Figure 4] FIG. 1 is a schematic diagram of a process for generating selectable traffic black holes in the related art; [Diagram 5] FIG. 2 is a schematic diagram of a flowchart of a method for transmitting BGP routing based on another selectable entropy label in the related art; [Figure 6] FIG. 1 is a schematic diagram of a flow chart of a method for transmitting selectable BGP routes according to an embodiment of the present disclosure. [Figure 7] FIG. 1 is a schematic diagram of an ELCA structure of a selectable BGP routing transmission method according to an embodiment of the present disclosure; [Figure 8] FIG. 2 is a schematic diagram of a flowchart of a method for transmitting selectable BGP routes in an embodiment of the present disclosure. [Figure 9] FIG. 3 is a schematic diagram of a flowchart of a method for transmitting selectable BGP routes in an embodiment of the present disclosure; [Figure 10] FIG. 2 is a schematic diagram of the ELCA structure of the selectable BGP routing transmission method according to an embodiment of the present disclosure; [Figure 11] FIG. 4 is a schematic diagram of a flowchart of a method for transmitting selectable BGP routes in an embodiment of the present disclosure. [Figure 12] FIG. 5 is a schematic diagram of a flowchart of a method for transmitting selectable BGP routes in an embodiment of the present disclosure. [Figure 13] FIG. 2 is a schematic diagram of a flow chart of a method for transmitting BGP routes with selectable residual PEs in an embodiment of the present disclosure; [Figure 14] FIG. 2 is a structural block diagram of a sending device of BGP routing according to an embodiment of the present disclosure; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0022] In order to make those skilled in the art better understand the solutions of the present disclosure, the following clearly and completely describes the technical solutions of the embodiments of the present disclosure with reference to the drawings in the embodiments of the present disclosure, and obviously, the described embodiments are only some embodiments of the present disclosure, not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present disclosure without any creative effort shall fall within the scope of protection of the present disclosure.

[0023] In addition, the terms "first", "second", etc. in the description of the present disclosure and the claims and the drawings are used to distinguish between similar objects and are not necessarily used to describe a particular order or sequence. It should be understood that the data used in this manner may be appropriately exchanged so that the embodiments of the present disclosure described herein may be performed in an order other than that shown or described herein. In addition, the terms "comprise" and "have" and any variations thereof are intended to cover a non-exclusive inclusion, for example, a process, method, system, product, or apparatus that includes a series of steps or units is not necessarily limited to the steps or units specifically recited, but may include other steps or units that are not specifically recited or that are inherent to such a process, method, product, or apparatus.

[0024] In addition, some of the terms and their interpretations mentioned in the examples of the following applications include the following.

[0025] 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, referring to an EVPN instance, especially an L2 EVPN instance), BD (Broadcast Domain) BUM (Broadcast, Unknown Unicast and Multicast), EC (Extended Community, extended community attribute), The Partial flag is the Partial bit in Attr.Flags defined on page 16 of RFC4271. The transitive flag is the transitive bit in Attr.Flags defined on page 16 of RFC4271.

[0026] The embodiment of the method provided in the embodiment of the present disclosure may be executed in a computer terminal or a similar computing device. Taking the execution in a computer terminal as an example, FIG. 1 is a block diagram of a hardware structure of a computer terminal of the method of sending BGP routing in the embodiment of the present disclosure. As shown in FIG. 1, the computer terminal may include one or more (only one is shown in FIG. 1) processors 102 (processor 102 may include, but is not limited to, a microprocessor (abbreviated as Microprocessor Unit, MPU) or a programmable logic device (abbreviated as Programmable Logic Device, PLD) and a memory 104 for storing data, and in one exemplary embodiment, the computer terminal may further include a transmission device 106 and an input / output device 108 for communication functions. As will be understood by those skilled in the art, the structure shown in FIG. 1 is exemplary and does not limit the structure of the computer terminal. For example, the computer terminal may include more or less components than those shown in FIG. 1, and may have a different arrangement with functions equivalent to or more than those of the components shown in FIG. 1.

[0027] The memory 104 can be used to store computer programs, such as software programs and modules of application software, computer programs corresponding to the method of transmitting BGP routing in the embodiments of the present disclosure, and the processor 102 executes various functional applications and data processing, i.e., realizes the above-mentioned method, by executing the computer programs stored in the memory 104. The memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include memories located remotely to the processor 102, and these remote memories may be connected to the computer terminal via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0028] The transmission device 106 is used to receive or transmit data through a network. A specific example of the network may include a wireless network provided by a carrier of the computer terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, abbreviated as NIC), which can be connected to other network devices through a base station to communicate with the Internet. In one example, the transmission device 106 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0029] FIG. 2 is a flowchart of a method for transmitting BGP routes according to an embodiment of the present disclosure. As shown in FIG. 2, the steps of the method for transmitting BGP routes include: A step S202 in which a second node receives a first BGP routing from a third node, the first BGP routing including a first attribute and a second attribute; a step S204 of the second node performing a first operation on the second attribute to obtain a second BGP routing, the step S204 being such that the second node is located between the third node and the first node, the second node cannot identify the first attribute, the second node has a capability of identifying the second attribute, and the first operation is that the second node modifies the second attribute; and in response to the second node being unable to identify the first attribute, the second node adds first indication information to the second BGP routing while retaining the first attribute, and sends the second BGP routing to the first node, the first indication information being indication information indicating whether the first processing will affect the first attribute.

[0030] In an embodiment of the present disclosure, a second node receives a first BGP route from a third node, the first BGP route includes a first attribute and a second attribute, the second node performs a first process on the second attribute to obtain a second BGP route, the second node is located between the third node and the first node, the second node cannot identify the first attribute, the second node has a capability of identifying the second attribute, the first process is for the second node to modify the second attribute, and in response to the second node being unable to identify the first attribute, the second node adds a first indication to the second BGP route while The first attribute is retained, and the second BGP routing is sent to the first node, and the first indication information is indication information indicating whether the first process will affect the first attribute. In the related technology, in the process of BGP routing being relayed and sent by an intermediate node, the receiving side cannot identify whether an intermediate node prevents some BGP attributes in the BGP routing from being applied to the forwarding plane, particularly the problem that an intermediate node causes traffic blackholes due to the blocked BGP attributes, and the technical effects of shortening the scope required for upgrading network nodes and reducing network maintenance costs are achieved.

[0031] Note that the second node cannot identify the first attribute, meaning that it cannot identify the content portion of the first attribute, but the second node can identify some header information of the first attribute, such as flag bits in Attr.Flags.

[0032] In addition, the embodiment of the present disclosure describes a method for transmitting BGP routing attributes applied to a third node and a second node. In this embodiment, the method for the third node to deliver BGP routing attributes to a first node by the second node is based on the premise that the second node cannot identify a certain BGP routing attribute, and the first node can know whether the second node prevents the first node from applying the BGP routing attribute to the forwarding plane processing of the corresponding BGP routing, thereby realizing good relaying of BGP routing attributes. This embodiment can be realized using different methods, specifically as follows:

[0033] In method 1, a third node distributes a first BGP routing including a first attribute (e.g., ELCA) and X indication information (i.e., a new Smart-Partial flag) to a second node, and the X indication information is used to instruct the second node to perform a Y process and / or to instruct the first node to perform a Z process. Here, the second node is a PE located between the third node and the first node, and the second node relays the first BGP routing to the first node, the second node is a device that cannot identify the first attribute, and the first node is a device that can identify the first attribute.

[0034] In method 2, a third node distributes a first BGP routing including a first attribute (e.g., ELCA) and X indication information (i.e., a new New-Transitive flag) to a second node, and the X indication information is used to instruct the second node to perform a Y process and / or to instruct the first node to perform a Z process. Here, the second node is a PE located between the third node and the first node, and the second node relays the first BGP routing to the first node, the second node is a device that cannot identify the first attribute, and the first node is a device that can identify the first attribute.

[0035] Here, the processing Y is such that, if the Y condition is satisfied, when the second node relays the first BGP routing to another node, the second node does not set a Partial flag in the first attribute, and at the same time, holds the X indication information as it is; and, if the Y condition is not satisfied, the second node sets a Partial flag in the first attribute only when the second node relays the first BGP routing to another node, and at the same time, holds the X indication information as it is.

[0036] Here, the Z processing is that if the first attribute includes a Partial flag (i.e., includes a Partial flag with a value of 1), the first node does not add a first forwarding plane entity to the data message corresponding to the first BGP routing, and if the first attribute does not include a Partial flag (i.e., does not include a Partial flag with a value of 1), the first node adds a first forwarding plane entity to the data message corresponding to the first BGP routing.

[0037] Here, the Y condition is that the second node satisfies one of the following conditions: the second node does not modify the next hop of the first BGP routing; the second node modifies the next hop of the first BGP routing to itself, but a second attribute included in the first BGP routing satisfies a sixth condition; and the sixth condition is that the second attribute (e.g., a VPN label) is modified along with the next hop, but the modified second attribute does not cause the first forwarding plane entity (e.g., an entropy label) to be exposed to the second node, the second attribute is a routing attribute corresponding to a second forwarding entity (a VPN label in a label stack) in data message packaging of a forwarding plane, and the second forwarding entity is a forwarding plane entity adjacent to the outer layer of the first forwarding plane entity (e.g., an outer layer of the first forwarding plane entity and adjacent to the first forwarding plane entity).

[0038] In addition, in some embodiments, the New-Transitive flag and the Smart-Partial flag, and in other embodiments the New-Partial flag, the No-Partial flag, and the Partial-Disabled flag are all flags in Attr.Flags, and these flags are all located in the four currently unused bits of Attr.Flags (indicated by bits numbered 4 to 7 in Figures 7 and 10), where Attr.Flags is defined on page 16 of RFC4271 (Figure 7 may be referred to).

[0039] In one embodiment, the above BGP routing based transmission method further provides a method for processing a BGP routing attribute with a partial flag, which is applied to the first node and the second node, specifically as follows:

[0040] A first node receives a first BGP routing including a first attribute (e.g., ELCA) that satisfies a ninth condition, performs a third process if the first attribute simultaneously satisfies a seventh condition, and performs a second process if the first attribute does not satisfy the seventh condition, wherein the ninth condition is that a Partial flag of the first attribute is 1, the seventh condition is that the first attribute includes a third indication information (e.g., a new Partial-Disabled flag bit), the third process is to package a first forwarding plane entity into a data message corresponding to the first BGP routing, and the second process is to not package the first forwarding plane entity into a data message corresponding to the first BGP routing.

[0041] Here, the partial flag is set to 1 by the second node, the third indication information is used to indicate that the second node satisfies the eighth condition, and the first forwarding plane entity (e.g., an entropy label) is a forwarding plane entity corresponding to the first attribute (e.g., an ELCA).

[0042] Here, the eighth condition is that the second node satisfies one of the following conditions: the second node does not modify the next hop of the first BGP route; the second node modifies the next hop of the first BGP route to itself, but a second attribute included in the first BGP route satisfies the tenth condition; and the tenth condition is that the second attribute (e.g., a VPN label) is modified along with the next hop, but the modified second attribute does not cause the first forwarding plane entity (e.g., an entropy label) to be exposed to the second node.

[0043] In one exemplary embodiment, the method further includes: If the first operation affects the first attribute, the first instruction information further includes second instruction information; if the first operation does not affect the first attribute, the first instruction information further includes third instruction information, and the second instruction information is different from the third instruction information, the second instruction information is instruction information for instructing the first node to perform a second operation, and the third instruction information is instruction information for instructing the first node to perform a third operation; the second operation is, if the second BGP routing includes the second instruction information, the first node does not add a first forwarding plane entity to a data message corresponding to the second BGP routing, and the first forwarding plane entity is a forwarding plane entity corresponding to the first attribute; and the third operation is, if the second BGP routing includes the third instruction information, instructing the first node to add the first forwarding plane entity to a data message corresponding to the second BGP routing, and the first forwarding plane entity is a forwarding plane entity corresponding to the first attribute.

[0044] In one exemplary embodiment, the first attribute, the first forwarding plane entity, and the second attribute satisfy one of three conditions: a third condition, a fourth condition, and a fifth condition, the third condition including that the first attribute is an entropy label capability attribute ELCA, the first forwarding plane entity is an entropy label indicator ELI label corresponding to the ELCA, and the second attribute is an MPLS label attribute of the first BGP routing; the fourth condition including that the first attribute is a flow label capability attribute FLCA, the first forwarding plane entity is a flow label corresponding to the FLCA, and the second attribute is an MPLS label attribute of the first BGP routing; and the fifth condition including that the first attribute is a control word CW capability attribute CWCA, the first forwarding plane entity is a control word corresponding to the CWCA, and the second attribute is an MPLS label attribute of the first BGP routing.

[0045] In some embodiments, the FLCA and the CWCA are both EVPN Layer 2 Attributes extended community attributes, the flow label capability and the control word capability are each a flag bit of the extended community attribute, and the ELCA is an entropy label capability attribute defined in RFC6790.

[0046] In one exemplary embodiment, the method further includes: the first BGP routing further includes fourth indication information, and the second node determines according to the fourth indication information that the third indication information is fifth indication information, and the fifth indication information includes a Partial flag with a value of 0.

[0047] In one exemplary embodiment, the first BGP routing further includes a fourth indication information, and the second node determines based on the fourth indication information that the second indication information includes one of two indication information, a sixth indication information or a seventh indication information, or determines that the third indication information includes an eighth indication information, wherein the sixth indication information includes a No-Partial flag with a value of 0 and keeps the fourth indication information as is, the seventh indication information includes a New-Partial flag with a value of 1 and keeps the fourth indication information as is, and the eighth indication information includes a Partial flag with a value of 0 and keeps the fourth indication information as is.

[0048] In one exemplary embodiment, before the second node receives the first BGP route distributed by the third node, the third node further includes adding the fourth indication information to the first BGP route.

[0049] In one exemplary embodiment, the second node adds the third indication to the second BGP route only if any modifications to attributes other than the first attribute in the first BGP route do not affect the validity of the first attribute, and the second node sends the second BGP route to the first node.

[0050] In one exemplary embodiment, the fourth indication information is a ninth indication information, and the ninth indication information is configured such that the value of a Transitive flag bit in the first attribute is 1, and the value of a Smart-Partial flag bit in the first attribute is 1.

[0051] In one exemplary embodiment, the fourth indication information is a tenth indication information, and the tenth indication information is configured such that a value of a Transitive flag bit in the first attribute is 0 and a New-Transitive flag bit in the first attribute is 1.

[0052] In one exemplary embodiment, determining that the first operation affects the first attribute if a first condition is not satisfied, or determining that the first operation does not affect the first attribute if a first condition is satisfied, the first condition including one of the following conditions: the second node does not modify a next hop of the first BGP route; the second node modifies a next hop address of the first BGP route to an IP address of the second node; and a second attribute included in the second BGP route satisfies a second condition.

[0053] In one example embodiment, the second condition includes the second attribute not causing the first forwarding plane entity to be exposed to the second node.

[0054] In one exemplary embodiment, the second condition includes that the second attribute does not cause a second forwarding plane entity to be removed from the second node, and the second forwarding plane entity is a forwarding plane entity adjacent to the first forwarding plane entity in an outer layer of the first forwarding plane entity.

[0055] In one exemplary embodiment, the second attribute is a first MPLS label of the first BGP routing, and the first process is the second node modifying the first MPLS label of the first BGP routing to a second MPLS label assigned by the second node, and the method further includes: if the second MPLS label has a corresponding label operation in a forwarding plane of Swap, the second node adds the third indication information before distributing the second BGP routing to the first node, and if the second MPLS label has a corresponding label operation in a forwarding plane of Pop, the second node adds the second indication information before distributing the second BGP routing to the first node.

[0056] In one exemplary embodiment, the third indication comprises a Partial flag bit with a value of 0 in the first attribute.

[0057] In one exemplary embodiment, the fourth indication information is a New-Transitive flag bit in the first attribute, and the method further includes: before distributing the first BGP route, the third node sets the No-Partial flag bit to 1, and in response to the New-Transitive flag bit having a value of 1, the second node determines that the third indication information includes the No-Partial flag bit in the first attribute with a value of 1 and the Transitive flag bit with a value of 0.

[0058] In one exemplary embodiment, the fourth indication information is a Smart-Partial flag bit in the first attribute, and the method further includes: determining, in response to the Smart-Partial flag bit having a value of 1, that the second indication information includes the Partial flag bit in the first attribute having a value of 1.

[0059] In one exemplary embodiment, the first process is a process that does not affect the first attribute, a fourth node exists between the first node and the third node, the fourth node is a node that cannot identify a New-Transitive flag bit, a Smart-Partial flag bit, a New-Partial flag bit, a No-Partial flag bit, and the first attribute, and the fourth node sends the fifth BGP routing to the first node, the second node and the fourth node both make modifications to the second attribute that do not affect the first attribute, and the third indication information is different from the value of a corresponding field in the fifth BGP routing.

[0060] In addition, the first node in the above embodiments can be understood to be the first PE, the second node can be understood to be the second PE, the third node can be understood to be the third PE, and the fourth node can be understood to be the fourth PE, and the embodiments of the present disclosure are not limited to this.

[0061] In one embodiment, the method for transmitting BGP routes will be described with reference to FIG. 6, which is a schematic flow chart of a method for transmitting selectable BGP routes in an embodiment of the present disclosure, as shown in FIG.

[0062] The third PE distributes BGP routing to the first PE by the second PE, the BGP routing including at least one selectable, transition-type BGP routing attribute not recognized by the second PE, and assuming that the second PE cannot recognize the BGP routing attribute, when the first PE forwards the data message P0 based on the BGP routing, it inserts a "forwarding plane entity indicated in the BGP routing attribute" into the data message P0 (now called data message P0b), and the data message P0 may be passed through the second PE or may be discarded by the second PE, and the second PE may be discarded by the second PE. Depending on what conditions the PE's processing for the BGP routing satisfies, if the second PE's processing for the BGP routing satisfies a first type of condition, the second PE can determine that it can forward the P0b, and if the second PE's processing for the BGP routing satisfies a second type of condition, the second PE can determine that it discards the P0b, and the second PE informs the first PE through a certain mechanism whether it can forward the P0b, thereby instructing the first PE to decide whether to insert the "data plane entity indicated in the BGP routing attribute" into the data message P0.

[0063] In addition, the BGP routing may be BGP routing such as BGP label unicast BGP-LU routing, EVPN routing, L3VPN routing, etc., and the BGP routing attribute may be an entropy label capability ELC attribute ELCA, an attribute indicating flow label capability, and an attribute indicating control word capability, where the data plane entity indicated by ELCA is the entropy label EL and the entropy label indicator ELI, the data plane entity indicated by the attribute indicating flow label capability is the flow label, and the data plane entity indicated by the attribute indicating control word capability is the control word.

[0064] The method for transmitting BGP routing will now be further described with reference to the following embodiment.

[0065] Example 1 In this embodiment, the BGP route transmission process is described with reference to FIG. 7. FIG. 7 is an ELCA structural schematic diagram of the selectable BGP route transmission method of the embodiment of the present disclosure. As shown in FIG. 7, the specific steps include:

[0066] In S101000, the third PE distributes the first BGP routing to the second PE, and the first BGP routing includes an entropy label capability attribute ELCA, and the ELCA includes one New-Transitive flag bit and one Transitive flag bit with a value of 0, as shown in FIG. 7; In S102000, a second PE receives the first BGP routing, and the second PE can identify the first BGP routing but cannot identify the ELCA; In S103000, the second PE modifies the next hop address of the first BGP route to an IP address that identifies the second PE, and at the same time, the second PE modifies the MPLS label of the first BGP route to an MPLS label (denoted as L1) assigned by the second PE to obtain a second BGP route, and then, in response to the value of the New-Transitive flag bit being 1, the second PE distributes the second BGP route to the first PE.

[0067] Here, step S103000 further includes the following steps.

[0068] In S103010, when the corresponding label operation for label L1 in the forwarding plane is Swap, before distributing the first BGP routing to the first PE, in response to the value of the New-Transitive flag bit being 1, the second PE does not set the Partial flag bit in the ELCA to 1, and at the same time, keeps the New-Transitive flag bit as it is.

[0069] In S103020, if the label operation corresponding to label L1 in the forwarding plane is Pop, the second PE sets the Partial flag bit in the ELCA to 1 before distributing the second BGP routing to the first PE, and at the same time, keeps the New-Transitive flag bit unchanged.

[0070] In S104000, the first PE receives the second BGP routing, and when the first PE forwards the data message P1 based on the second BGP routing, it determines whether to prevent the second PE from adding an entropy label to the P1 message based on the Partial flag in the ELCA of the second BGP routing, and decides whether to add an entropy label to the P1 message based on whether the second PE prevents the second PE from adding an entropy label to the P1 message.

[0071] Here, step S104000 further includes the following steps.

[0072] In S104011, the first PE receives the first BGP routing, and if the Partial flag in the ELCA of the second BGP routing is 1, when forwarding the data message P1 based on the second BGP routing, does not insert an entropy label into the P1 message.

[0073] In S104021, the first PE receives the second BGP routing, and if the Partial flag in the ELCA of the second BGP routing is 0, when forwarding the data message P1 based on the first BGP routing, inserts an entropy label into the P1 message.

[0074] Example 2 In S201000, the third PE distributes the first BGP routing to the second PE, the first BGP routing includes an entropy label capability attribute ELCA, the ELCA does not include a New-Transitive flag bit, but includes a Transitive flag bit with a value of 1; In S202000, a second PE receives the first BGP routing, and the second PE can identify the first BGP routing but cannot identify the ELCA; In S203000, the second PE modifies the next hop address of the first BGP route to an IP address that identifies the second PE, and at the same time, the second PE modifies the MPLS label of the first BGP route to an MPLS label (denoted as L1) assigned by the second PE to obtain a second BGP route, and then the second PE distributes the second BGP route to the first PE.

[0075] Here, step S203000 further includes the following steps.

[0076] In S203010, when the label operation corresponding to the label L1 in the forwarding plane is Swap, the second PE does not set the Partial flag bit in the ELCA to 1 before distributing the second BGP routing to the first PE; In S203020, if the label operation corresponding to the label L1 in the forwarding plane is Pop, the second PE sets the value of the Partial flag bit in the ELCA to 1 before delivering the second BGP routing to the first PE. Note that, since the second node forwarding plane does not support entropy labels, if the first PE sends an entropy label to the second PE through the ELAC at this time, it will cause a black hole of traffic, so setting the value of the Partial flag bit to 1 can be judged as the basis for the first PE to judge that the second PE will cause a black hole of traffic through the ELCA, and the description of similar situations will be omitted.

[0077] In S204000, the first PE receives the second BGP routing, and when the first PE forwards the data message P2 based on the second BGP routing, it judges whether to prevent the second PE from adding an entropy label to the P2 message based on the Partial flag in the ELCA of the second BGP routing, and decides whether to add an entropy label to the P2 message based on whether the second PE prevents the second PE from adding an entropy label to the P2 message, and the description of similar situations is omitted.

[0078] Here, step S204000 further includes the following steps.

[0079] In S204011, when the first PE receives the second BGP routing, and the Partial flag in the ELCA of the second BGP routing is 1, the first PE does not insert an entropy label into the P2 message when forwarding the data message P2 based on the second BGP routing.

[0080] In S204021, the first PE receives the second BGP routing, and if the Partial flag in the ELCA of the second BGP routing is 0, when forwarding the data message P2 based on the second BGP routing, inserts an entropy label into the P2 message.

[0081] Example 3 In this embodiment, the BGP route transmission process will be described with reference to FIG. 8. FIG. 8 is a second schematic flowchart of the selectable BGP route transmission method in the embodiment of the present disclosure. As shown in FIG. 8, the specific steps include:

[0082] In S301000, the third PE distributes the first BGP route to the second PE, and the BGP attribute included in the first BGP route and not recognized by the second PE is an EVPN Layer 2 Attributes extended community attribute (i.e., a flow label capability FLC attribute FLCA), the FLCA includes one New-Transitive flag bit (indicated by NewT in FIG. 8 ) and one transitive flag bit with a value of 0, the first BGP route is a first type EVPN route, and the MPLS label is an MPLS label in the NLRI of the first type EVPN route; In S302000, a second PE receives the first BGP routing, and the second PE can identify the first BGP routing but cannot identify the ELCA; In S303000, the second PE modifies the next hop address of the first BGP route to an IP address that identifies the second PE, and at the same time, the second PE modifies the MPLS label (indicated as L0 in FIG. 8) of the first BGP route to an MPLS label (indicated as RL1) assigned by the second PE to obtain a second BGP route, which is then distributed by the second PE to the first PE, and the first PE is used to determine whether to send a flow label to the second PE.

[0083] Here, step S303000 further includes the following steps.

[0084] In S303010, when the label operation corresponding to the label RL1 in the forwarding plane is Swap, before distributing the second BGP routing to the first PE, in response to the value of the New-Transitive flag bit being 1, the second PE does not set the Partial flag bit in the FLCA to 1, and at the same time, keeps the New-Transitive flag bit as it is; In S303020, if the corresponding label operation for label RL1 in the forwarding plane is Pop, the second PE sets the Partial flag bit in the FLCA to 1 before distributing the second BGP routing to the first PE, and at the same time keeps the New-Transitive flag bit unchanged.

[0085] In S303011, the first PE receives the second BGP routing, and if the Partial flag in the FLCA of the second BGP routing is 1, when forwarding the data message P3 based on the second BGP routing, does not insert a flow label into the P3 message.

[0086] In S303021, the first PE receives the second BGP routing, and if the Partial flag in the FLCA of the second BGP routing is 0, when forwarding the data message P3 based on the second BGP routing, inserts a flow label into the P3 message.

[0087] In addition, multiple extended community attributes can be packed and delivered, and in this case, these extended community attributes share the same Attr.Flags and the same Attr.TypeCode, and when the EVPN Layer 2 Attributes Extended Community needs to set the New-Transitive flag and / or the Partial flag but other extended community attributes do not, two sets of extended community attributes need to be packed respectively.

[0088] Example 4 In S401000, the third PE distributes a first BGP route to the second PE, and a BGP attribute included in the first BGP route and not recognized by the second PE is a C flag (i.e., a control word capability flag) in an EVPN Layer 2 Attributes Extend Community, the CWCA includes one New-Transitive flag bit and one Transitive flag bit whose value is 0, the first BGP route is a first type EVPN route, and the MPLS label is an MPLS label in the NLRI of the first type EVPN route, In S402000, a second PE receives the first BGP routing, and the second PE can identify the first BGP routing but cannot identify the ELCA; In S403000, the second PE modifies the next hop address of the first BGP route to an IP address that identifies the second PE, and at the same time, the second PE modifies the MPLS label of the first BGP route to an MPLS label (denoted as L1) assigned by the second PE to obtain a second BGP route, which is then distributed by the second PE to the first PE, and the first PE is used to determine whether to send a control word to the second PE.

[0089] Here, step 403000 further includes the following steps:

[0090] In S403010, when the label operation corresponding to the label L1 in the forwarding plane is Swap, before distributing the second BGP routing to the first PE, in response to the value of the New-Transitive flag bit being 1, the second PE does not set the Partial flag bit in the CWCA to 1, and at the same time, keeps the New-Transitive flag bit as it is; In S403020, if the label operation corresponding to label L1 in the forwarding plane is Pop, the second PE sets the Partial flag bit in the CWCA to 1 before distributing the second BGP routing to the first PE, and at the same time keeps the New-Transitive flag bit unchanged.

[0091] In S403011, the first PE receives the second BGP routing, and if the Partial flag in the CWCA of the second BGP routing is 1, when forwarding the data message P3 based on the second BGP routing, the first PE does not insert a control word capability label into the P3 message.

[0092] In S403021, the first PE receives the second BGP routing, and if the Partial flag in the CWCA of the second BGP routing is 0, when forwarding the data message P3 based on the second BGP routing, inserts a control word capability label into the P3 message.

[0093] Example 5 In this embodiment, the BGP route transmission process will be described with reference to FIG. 9. FIG. 9 is the third schematic flowchart of the selectable BGP route transmission method in the embodiment of the present disclosure. As shown in FIG. 9, the specific steps include:

[0094] Unless otherwise specified, all steps in this embodiment are the same as those in the first embodiment.

[0095] The differences are as follows:

[0096] 1) In this embodiment, there is another node between the second PE and the third PE, for example, the PE4 node shown in the figure, and at this time, PE4 may modify the original first BGP routing. For example, in the figure, the PE4 node transparently transmits the ELCA and at the same time removes the MPLS label (shown as TL0 in Figure 9) in the original first BGP routing. At this time, the first BGP routing received by the second PE from PE4 is, that is, the first BGP routing received by the second PE from the third PE.

[0097] 2) In this embodiment, a new New-Partial flag (indicated as NewP in FIG. 9) is used instead of the function of the Partial flag in the first embodiment, and New-Partial being 0 corresponds to the Partial flag being 0, and New-Partial being 1 corresponds to the Partial flag being 1.

[0098] In addition, since the first BGP routing received by the second PE does not have an MPLS label, in response, in this embodiment, "the second PE modifies the MPLS label of the first BGP routing" means adding a routing attribute including the MPLS label (shown as TL4 in FIG. 9).

[0099] Example 6 Unless otherwise specified, all steps in this embodiment are the same as those in the fifth embodiment.

[0100] The differences are as follows:

[0101] 1) In this embodiment, a new No-Partial flag field is used instead of the New-Partial flag field, and the No-Partial flag being 0 corresponds to the Partial flag being 1 in the first embodiment, and the No-Partial flag being 1 corresponds to the Partial flag being 0 in the first embodiment.

[0102] 2) In the fifth embodiment, if the New-Partial flag is set to 0, the No-Partial flag is set to 1 in this embodiment, and if the New-Partial flag is set to 1 in the fifth embodiment, the No-Partial flag is set to 0 in this embodiment.

[0103] In this embodiment, the third PE must set No-Partial to 1 when transmitting the first BGP routing to PE4.

[0104] Example 7 In this embodiment, the BGP routing transmission process will be described with reference to FIG. 10. FIG. 10 is a schematic diagram of the ELCA structure of the selectable BGP routing transmission method in the embodiment of the present disclosure. As shown in FIG. 10, the specific steps include:

[0105] In S701000, the third PE distributes the first BGP routing to the second PE, and the first BGP routing includes an entropy label capability attribute ELCA, and the ELCA includes one Smart-Partial flag bit with a value of 1 and one Transitive flag bit with a value of 1, as shown in FIG. 11; In S702000, a second PE receives the first BGP routing, and the second PE can identify the first BGP routing but cannot identify the ELCA to which it belongs; In S703000, the second PE modifies a next hop of the first BGP route to an IP address identifying the second PE, and at the same time, the second PE modifies an MPLS label of the first BGP route to an MPLS label (denoted as L1) assigned by the second PE to obtain a second BGP route, and then the second PE distributes the first BGP route to the first PE, and the second PE is used to determine whether to send an entropy label to the first PE; Here, step S703000 further includes the following steps.

[0106] In S703010, when the label operation corresponding to the label L1 in the forwarding plane is Swap, before delivering the second BGP routing to the first PE, in response to the value of the Smart-Partial flag bit being 1, the second PE does not set the Partial flag bit in the ELCA to 1, and at the same time, keeps the Smart-Partial flag bit as it is; In S703020, if the label operation corresponding to label L1 in the forwarding plane is Pop, the second PE sets the Partial flag bit in the ELCA to 1 before delivering the second BGP routing to the first PE, and at the same time keeps the Smart-Partial flag bit unchanged.

[0107] In S703011, the first PE receives the second BGP routing, and if the Partial flag in the ELCA of the second BGP routing is 1, when forwarding the data message P7 based on the second BGP routing, does not insert an entropy label into the P7 message.

[0108] In S703021, the first PE receives the second BGP routing, and if the Partial flag in the ELCA of the second BGP routing is 0, when forwarding the data message P7 based on the second BGP routing, inserts an entropy label into the P7 message.

[0109] Example 8 In this embodiment, the BGP route transmission process will be described with reference to Figures 11-12. Figures 11 and 12 are respectively flowchart schematic diagrams of two selectable BGP route transmission methods in the embodiments of the present disclosure. As shown in Figures 11-12, the specific steps include:

[0110] Unless otherwise specified, all steps in this embodiment are the same as those in the seventh embodiment.

[0111] The differences are as follows:

[0112] 1) As shown in the figure, in this embodiment, there is another remaining PE (corresponding to the fourth node) between the third PE and the first PE, and the remaining PE does not transparently transmit the value of the Smart-Partial flag (corresponding to the fourth indication information); 2) In this embodiment, in step S703011, if the Partial flag in the ELCA of the second BGP routing is 1, when forwarding the data message P1 according to the second BGP routing, do not insert an entropy label into the P1 message; 3) In this embodiment, in step S703021, if the Partial flag in the ELCA of the second BGP routing is 0, when forwarding the data message P1 according to the second BGP routing, an entropy label is inserted into the P1 message.

[0113] In addition, the meanings of "exposed type" and "non-exposed type" mentioned in Figs. 11 and 12 include the following.

[0114] If a second PE modifies a second attribute and the modification of the second attribute by the second PE does not cause a second forwarding plane entity to be removed by the second PE, the second PE is said to be a non-exposed node for the second attribute, the second forwarding plane entity is a forwarding plane entity adjacent to the first forwarding plane entity in the outer layer of the first forwarding plane entity, and the first forwarding plane entity is a forwarding plane entity corresponding to the first attribute.

[0115] Conversely, if the second PE modifies a second attribute, and the second PE's modification of the second attribute causes the second forwarding plane entity to be removed by the second PE, then the second PE is said to be an exposed node for the second attribute with respect to the first attribute.

[0116] Furthermore, if the first attribute can have an exposed node for some other routing attribute, the first attribute is called an exposable routing attribute, otherwise the first attribute is called a non-exposable (i.e., cannot be exposed) routing attribute. Any routing attribute that does not have a corresponding entity in the forwarding plane is a non-exposable routing attribute. Only for the exposable routing attributes, the third PE needs to add the Smart-Partial label, and for the non-exposable routing attributes (especially new non-exposable routing attributes that may appear in the future), the third PE may not add the Smart-Partial mark.

[0117] In addition, in this embodiment, if the first processing is a processing that does not affect the first attribute (i.e., does not cause a first forwarding plane entity corresponding to the first attribute to be exposed to the second PE) (i.e., the second PE is a non-exposed PE), there is another residual PE (corresponding to a fourth PE) between the first PE and the third PE, the residual PE is a node that cannot identify a New-Transitive flag bit, a Smart-Partial flag bit, a New-Partial flag bit, a No-Partial flag bit, and the first attribute, and the residual PE modifies the next hop of the first BGP routing to an IP address that identifies the fourth PE to obtain a fifth BGP routing, and the residual PE sends the fifth BGP routing to the first PE, and both the second PE and the residual PE make modifications to the second attribute that do not affect the first attribute, and the method further includes the following:

[0118] The third indication information is different from the value of the corresponding field in the fifth BGP routing.

[0119] Example 9 In S901000, the third PE distributes the first BGP routing to the second PE, and the first BGP routing includes an entropy label capability attribute ELCA, and the ELCA does not include a New-Transitive flag bit but includes a Transitive flag bit with a value of 1; In S902000, a second PE receives the first BGP routing, and the second PE can identify the first BGP routing but cannot identify the ELCA; In S903000, the second PE modifies the next hop of the first BGP route to an IP address identifying the second PE, and at the same time, the second PE modifies the MPLS label of the first BGP route to an MPLS label (denoted as L1) assigned by the second PE, subsequently obtaining a second BGP route, and the second PE distributes the second BGP route to the first PE, and the first PE instructs the second PE whether to package an entropy label.

[0120] Here, step S903000 further includes the following steps.

[0121] In S903010, when the label operation corresponding to the label L1 in the forwarding plane is Swap, the second PE sets the Partial flag bit in the ELCA to 1 before delivering the second BGP routing to the first PE, and at the same time, sets the Partial-Disabled flag in the ELCA to 1; In S903020, when the label operation corresponding to the label L1 in the forwarding plane is Pop, the second PE sets the Partial flag bit in the ELCA to 1 before delivering the second BGP routing to the first PE, and at the same time, does not set the Partial-Disabled flag bit in the ELCA to 1; In S903011, when the first PE receives the second BGP routing, and the Partial flag in the ELCA of the second BGP routing is 1 and the value of the Partial-Disabled flag in the ELCA is 0, when the first PE forwards the data message P9 according to the second BGP routing, it does not insert an entropy label into the P9 message; In S903021, the first PE receives the second BGP routing, and when the Partial flag in the ELCA of the second BGP routing is 1 and the value of the Partial-Disabled flag in the ELCA is 1, when forwarding the data message P9 according to the second BGP routing, inserts an entropy label into the P9 message; In S903031, the first PE receives the second BGP routing, and if the Partial flag in the ELCA of the second BGP routing is 0 and the value of the Partial-Disabled flag in the ELCA is 0, when forwarding the data message P9 based on the second BGP routing, inserts an entropy label into the P9 message.

[0122] In addition, in this embodiment, if there is a fifth PE between the second PE and the first PE, the fifth PE receives the first BGP routing from the second PE and sends the modified first BGP routing to the first PE, in which case the fifth PE modifies the value of the Partial-Disabled flag based on its own situation, and cannot always transparently transmit the received Partial-Disabled flag value. Since the Partial flag cannot be modified when it is set to 1, the modifiable nature of the Partial-Disabled flag by each intermediate node can maximize the entropy label capability of each intermediate node, and does not mean that the entropy label is not packaged at the ingress node unless any intermediate node has entropy label capability.

[0123] The above embodiment provides a transmission method for realizing BGP routing, in which a third PE delivers a BGP routing attribute to a first PE through a second PE. Under the premise that the second PE cannot identify a certain BGP routing attribute, the first PE can know whether the second PE prevents the first PE from applying the BGP routing attribute to the forwarding plane of the corresponding BGP routing, and the first PE cannot identify whether the second PE prevents the first PE from applying the BGP routing attribute to the forwarding plane of the corresponding BGP routing. This solves the double problem, in which a new BGP routing attribute delivered by a new node in the future can safely traverse to realize the embodiment of the present disclosure, but a node that cannot identify the new BGP routing attribute can be realized, thereby shortening the scope of the network node that needs to be upgraded, and reducing the network maintenance costs.

[0124] In one embodiment, with reference to FIG. 13, a flow chart diagram of a method for transmitting BGP routes with selectable residual PEs is provided and shown in FIG.

[0125] The residual PE is an existing node that does not support control word capability CWC negotiation, and the second PE-a and the second PE-b are nodes that do not support control word capability negotiation but support the embodiments of the present disclosure, and after receiving the EVPN routing, the residual PE, the second PE-a and the third PE-b all modify their EVPN labels VL and next hops and then forward the EVPN routing to the first PE, and VL3 is an EVPN label that has control word destructiveness (i.e., CW destructiveness, i.e., the second PE-b is an exposed node for EVPN labels for CWCA), VL2 is an EVPN label that does not have control word destructiveness (i.e., CW compatibility, i.e., the second PE-a is a non-exposed node for EVPN labels for CWCA), but VL1 is an EVPN label that is chaotic (may have CW destructiveness, may not have CW destructiveness, and lacks indication information indicating whether it has CW destructiveness or not).

[0126] According to this embodiment, the first PE can add a control word when sending data to the second PE-a (so that the second PE-a indicates that the routing it delivers is CW compatible), and does not need to add a control word when sending data packets to the second PE-b and the remaining PEs, thereby making maximum use of the control word capacity.

[0127] The BGP routing transmission method described in the embodiment of the present disclosure realizes the third PE to distribute BGP routing attributes to the first PE through the second PE, that is, under the premise that the second PE is not upgraded, new BGP attributes can be safely extended between the first PE and the third PE, and if the second PE prevents the first PE from applying the new BGP attribute to the forwarding plane, the first PE can handle it differently from the case where the second PE cannot prevent it, thereby improving the scope of application of the new BGP attribute and simplifying the complexity of network management.

[0128] When implementing mixed networking between the nodes of the embodiments of the present disclosure and the residual PEs, for newly added BGP routing attributes, these intermediate nodes cannot identify these newly added BGP routing attributes, but these intermediate nodes can indicate whether the head node's (e.g., the first PE) modifications to the first BGP routing are CW compatible or not, so that the head node can handle different intermediate nodes differently, and the response to these indications does not lead to the ingress node adding a control word to the residual PEs (all of which are distributed as chaotic EVPN labels).

[0129] From the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be realized in the form of software and a required general-purpose hardware platform, and of course can be realized in hardware, and in many cases the former is a more preferred embodiment. Based on this understanding, the technical solution of the present disclosure can be essentially or in the form of a software product that contributes to the prior art, and the computer software product is stored in a storage medium (e.g., ROM / RAM, magnetic disk, optical disk) and contains several commands to make a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) execute the methods of the embodiments of the present disclosure.

[0130] This embodiment further provides a BGP routing sending device, which is used to realize the above embodiment and preferred embodiment, and the description of what has already been described will be omitted. As used below, the term "module" can realize a combination of software and / or hardware for a given function. The devices described in the following embodiment are preferably realized in software, but may also be realized in hardware or a combination of software and hardware.

[0131] 14 is a structural block diagram of a BGP routing sending device in an embodiment of the present disclosure. As shown in FIG. 14, the BGP routing sending device includes:

[0132] The receiving module 1402 is configured to receive a first BGP route distributed by a third node, the first BGP route including a first attribute and a second attribute; The processing module 1404 is configured to perform a first process on the second attribute to obtain a second BGP routing, the second node being located between the third node and the first node, the second node being unable to identify the first attribute, the second node being capable of identifying the second attribute, and the first process being the second node modifying the second attribute; The sending module 1406 is configured to, in response to the second node being unable to identify the first attribute, add first indication information to the second BGP routing while retaining the first attribute, and send the second BGP routing to the first node, the first indication information being indication information indicating whether the first processing affects the first attribute.

[0133] The apparatus includes receiving, by a second node, a first BGP route of a third node, the first BGP route including a first attribute and a second attribute, the second node performing a first operation on the second attribute to obtain a second BGP route, the second node being located between the third node and the first node, the second node being unable to identify the first attribute, the second node being capable of identifying the second attribute, the first operation being for the second node to modify the second attribute, and in response to the second node being unable to identify the first attribute, the second node adds a first indication to the second BGP route while modifying the first attribute. and retaining the attribute, and sending the second BGP routing to the first node, where the first instruction information is instruction information indicating whether the first process will affect the first attribute. In the related technology, in the process of BGP routing being relayed and sent by an intermediate node, the problem that the receiving side cannot identify whether the intermediate node prevents some BGP attributes in the BGP routing from being applied to the forwarding plane is solved, especially the problem that the intermediate node causes traffic blackhole due to the blocked BGP attributes, and the technical effects of shortening the scope required for upgrading network nodes and reducing network maintenance costs are achieved.

[0134] In one alternative embodiment, the method further includes: If the first operation affects the first attribute, the first instruction information further includes second instruction information; if the first operation does not affect the first attribute, the first instruction information further includes third instruction information, and the second instruction information is different from the third instruction information, the second instruction information is instruction information for instructing the first node to perform a second operation, and the third instruction information is instruction information for instructing the first node to perform a third operation, the second operation being, if the second BGP routing includes the second instruction information, the first node does not add a first forwarding plane entity to a data message corresponding to the second BGP routing, and the first forwarding plane entity is a forwarding plane entity corresponding to the first attribute; and the third operation being, if the second BGP routing includes the third instruction information, instructing the first node to add the first forwarding plane entity to a data message corresponding to the second BGP routing, and the first forwarding plane entity is a forwarding plane entity corresponding to the first attribute.

[0135] In one optional embodiment, the first attribute, the first forwarding plane entity, and the second attribute satisfy one of three conditions: a third condition, a fourth condition, and a fifth condition, the third condition including that the first attribute is an entropy label capability attribute ELCA, the first forwarding plane entity is an entropy label indicator ELI label corresponding to the ELCA, and the second attribute is an MPLS label attribute of the first BGP routing, the fourth condition including that the first attribute is a flow label capability attribute FLCA, the first forwarding plane entity is a flow label corresponding to the FLCA, and the second attribute is an MPLS label attribute of the first BGP routing, and the fifth condition including that the first attribute is a control word CW capability attribute CWCA, the first forwarding plane entity is a control word corresponding to the CWCA, and the second attribute is an MPLS label attribute of the first BGP routing.

[0136] In one alternative embodiment, the method further includes: the first BGP routing further includes fourth indication information, and the second node determines that the third indication information is fifth indication information according to the fourth indication information, and the fifth indication information includes a Partial flag with a value of 0.

[0137] In one alternative embodiment, the first BGP routing further includes a fourth indication information, and the second node determines based on the fourth indication information that the second indication information includes one of two indication information, a sixth indication information or a seventh indication information, or determines that the third indication information includes an eighth indication information, wherein the sixth indication information includes a No-Partial flag with a value of 0 and keeps the fourth indication information as is, the seventh indication information includes a New-Partial flag with a value of 1 and keeps the fourth indication information as is, and the eighth indication information includes a Partial flag with a value of 0 and keeps the fourth indication information as is.

[0138] In one alternative embodiment, before the second node receives the first BGP route distributed by the third node, the third node further includes adding the fourth indication information to the first BGP route.

[0139] In one alternative embodiment, the second node adds the third indication to the second BGP route only if any modifications to attributes other than the first attribute in the first BGP route do not affect the validity of the first attribute, and the second node sends the second BGP route to the first node.

[0140] In one alternative embodiment, the fourth indication information is a ninth indication information, and the ninth indication information is configured such that the value of the Transitive flag bit in the first attribute is 1, and the value of the Smart-Partial flag bit in the first attribute is 1.

[0141] In one alternative embodiment, the fourth indication information is a tenth indication information, and the tenth indication information is configured such that the value of the Transitive flag bit in the first attribute is 0 and the value of the New-Transitive flag bit in the first attribute is 1.

[0142] In one alternative embodiment, determining that the first operation affects the first attribute if a first condition is not met, or determining that the first operation does not affect the first attribute if a first condition is met, the first condition including one of the following conditions: the second node does not modify a next hop of the first BGP route; the second node modifies a next hop address of the first BGP route to an IP address of the second node; and a second attribute included in the second BGP route satisfies a second condition.

[0143] In one alternative embodiment, the second condition includes the second attribute not causing the first forwarding plane entity to be exposed to the second node.

[0144] In one optional embodiment, the second condition includes that the second attribute does not cause a second forwarding plane entity to be removed from the second node, and the second forwarding plane entity is a forwarding plane entity adjacent to the first forwarding plane entity in an outer layer of the first forwarding plane entity.

[0145] In one alternative embodiment, the second attribute is a first MPLS label of the first BGP routing, and the first process is the second node modifying the first MPLS label of the first BGP routing to a second MPLS label assigned by the second node, and the method further includes: if the second MPLS label has a corresponding label operation in a forwarding plane of Swap, the second node adds the third indication information before distributing the second BGP routing to the first node, and if the second MPLS label has a corresponding label operation in a forwarding plane of Pop, the second node adds the second indication information before distributing the second BGP routing to the first node.

[0146] In one alternative embodiment, the third indication comprises a Partial flag bit with a value of 0 in the first attribute.

[0147] In one alternative embodiment, the fourth indication information is a New-Transitive flag bit in the first attribute, and the method further includes: before distributing the first BGP route, the third node sets the No-Partial flag bit to 1, and in response to the New-Transitive flag bit having a value of 1, the second node determines that the third indication information includes the No-Partial flag bit in the first attribute with a value of 1 and the Transitive flag bit with a value of 0.

[0148] In one alternative embodiment, the fourth indication information is a Smart-Partial flag bit in the first attribute, and the method further includes: determining, in response to the Smart-Partial flag bit having a value of 1, that the second indication information includes the Partial flag bit in the first attribute having a value of 1.

[0149] In one alternative embodiment, the first process is a process that does not affect the first attribute, a fourth node exists between the first node and the third node, the fourth node is a node that cannot identify a New-Transitive flag bit, a Smart-Partial flag bit, a New-Partial flag bit, a No-Partial flag bit, and the first attribute, and the fourth node sends the fifth BGP route to the first node, the second node and the fourth node both make modifications to the second attribute that do not affect the first attribute, and the third indication information is different from the value of a corresponding field in the fifth BGP route.

[0150] In one exemplary embodiment, the computer-readable storage medium includes, but is not limited to, various media capable of storing computer programs, such as a U disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a portable hard disk, a magnetic disk, or an optical disk.

[0151] Optionally, in this embodiment, the storage medium is configured to perform the following steps.

[0152] In S1, a second node receives a first BGP route from a third node, the first BGP route including a first attribute and a second attribute; In S2, the second node performs a first operation on the second attribute to obtain a second BGP routing, the second node is located between the third node and the first node, the second node cannot identify the first attribute, the second node has the ability to identify the second attribute, and the first operation is that the second node modifies the second attribute; At S3, in response to the second node being unable to identify the first attribute, the second node adds first indication information to the second BGP route while retaining the first attribute, and sends the second BGP route to the first node, the first indication information being indication information indicating whether the first processing affects the first attribute.

[0153] For specific examples of this embodiment, reference can be made to the examples described in the above examples and exemplary embodiments, and the description of this embodiment will be omitted here.

[0154] An embodiment of the present disclosure further provides an electronic device, comprising a memory and a processor, wherein a computer program is stored in the memory, and wherein the processor is configured to execute the computer program to perform steps of any of the method embodiments described above.

[0155] Optionally, in this embodiment, the processor is configured by a computer program to execute the following steps:

[0156] In S1, a second node receives a first BGP route from a third node, the first BGP route including a first attribute and a second attribute; In S2, the second node performs a first operation on the second attribute to obtain a second BGP routing, the second node is located between the third node and the first node, the second node cannot identify the first attribute, the second node has the ability to identify the second attribute, and the first operation is that the second node modifies the second attribute; At S3, in response to the second node being unable to identify the first attribute, the second node adds first indication information to the second BGP route while retaining the first attribute, and sends the second BGP route to the first node, the first indication information being indication information indicating whether the first processing affects the first attribute.

[0157] In one exemplary embodiment, the electronic device further includes a transmission device and an input / output device, the transmission device being connected to the processor and the input / output device being connected to the processor.

[0158] For specific examples of this embodiment, reference can be made to the examples described in the above examples and exemplary embodiments, and the description of this embodiment will be omitted here.

[0159] Of course, as will be appreciated by those skilled in the art, each module or step of the disclosure above can be implemented by a general-purpose computing device, they can be centralized in a single computing device or distributed across a network of computing devices, they can be implemented in executable program code of the computing device, so that they can be stored in a storage device and executed by the computing device, and in some circumstances the steps shown or described herein can be performed in a different order, or they can be fabricated into respective integrated circuit modules, or multiple of the modules or steps can be fabricated and implemented in a single integrated circuit module. Thus, the disclosure is not limited to any particular combination of hardware and software.

[0160] The above description is merely a preferred embodiment of the present disclosure, and does not limit the present disclosure, and those skilled in the art can make various modifications and changes to the present disclosure. Any modifications, equivalent replacements, improvements, etc. made within the principle of the present disclosure should be included in the protection scope of the present disclosure.

Claims

1. A method for transmitting BGP routing, comprising: receiving, at a second node, a first BGP route from a third node, the first BGP route including a first attribute and a second attribute; the second node performing a first process on the second attribute to obtain a second BGP routing, the second node being located between the third node and the first node, the second node being unable to identify the first attribute, the second node being capable of identifying the second attribute, and the first process being the second node modifying the second attribute; in response to the second node being unable to identify the first attribute, the second node adds first indication information to the second BGP routing while withholding the first attribute, and sends the second BGP routing to the first node, the first indication information being indication information indicating whether the first processing affects the first attribute. How to send BGP routes.

2. The method further comprises: When the first operation affects the first attribute, the first instruction information further includes second instruction information, and when the first operation does not affect the first attribute, the first instruction information further includes third instruction information, and the second instruction information is different from the third instruction information, the second instruction information is instruction information for instructing the first node to execute a second operation, and the third instruction information is instruction information for instructing the first node to execute a third operation, and the second operation is If the second BGP routing includes the second indication information, the first node does not add a first forwarding plane entity to a data message corresponding to the second BGP routing; the first forwarding plane entity is a forwarding plane entity corresponding to the first attribute; The third process includes: If the second BGP routing includes the third indication information, instruct the first node to add the first forwarding plane entity to a data message corresponding to the second BGP routing; the first forwarding plane entity being a forwarding plane entity corresponding to the first attribute; The method of claim 1 for transmitting BGP routing.

3. the first attribute, the first forwarding plane entity, and the second attribute satisfy one of three conditions: a third condition, a fourth condition, and a fifth condition; The third condition includes: the first attribute is an entropy label capability attribute ELCA, the first forwarding plane entity is an entropy label indicator ELI label corresponding to the ELCA, and the second attribute is an MPLS label attribute of the first BGP routing; The fourth condition includes: the first attribute is a flow label capability attribute (FLCA), the first forwarding plane entity is a flow label corresponding to the FLCA, and the second attribute is an MPLS label attribute of the first BGP routing; The fifth condition includes: the first attribute is a control word CW capability attribute CWCA, the first forwarding plane entity is a control word corresponding to the CWCA, and the second attribute is an MPLS label attribute of the first BGP routing; The method for transmitting BGP routing according to claim 2.

4. The method further comprises: The first BGP routing further includes a fourth indication information, and the second node determines that the third indication information is a fifth indication information based on the fourth indication information; The fifth indication information includes a Partial flag having a value of 0. The method for transmitting BGP routing according to claim 2.

5. The first BGP routing further includes a fourth indication information, and the second node determines based on the fourth indication information that the second indication information includes one of two indication information, a sixth indication information, a seventh indication information, or that the third indication information includes an eighth indication information; The sixth instruction information includes a No-Partial flag having a value of 0 and retains the fourth instruction information as is; The seventh instruction information includes a New-Partial flag having a value of 1 and retains the fourth instruction information as is; The eighth instruction information includes a Partial flag having a value of 0 and maintains the fourth instruction information as it is. The method for transmitting BGP routing according to claim 2.

6. Before the second node receives the first BGP routing information distributed by the third node, the second node further the third node adding the fourth indication information to the first BGP routing; A method for transmitting BGP routing according to claim 4 or 5.

7. the second node determines in the first BGP routing that any modifications to attributes other than the first attribute do not affect the validity of the first attribute; the second node adds the third indication information to the second BGP routing only when the second node transmits the second BGP routing to the first node; The method for transmitting BGP routing according to claim 5.

8. the fourth instruction information is a ninth instruction information, the ninth indication information is configured such that a value of a Transitive flag bit in the first attribute is 1, and a value of a Smart-Partial flag bit in the first attribute is 1; A method for transmitting BGP routing according to claim 4 or 7.

9. the fourth instruction information is tenth instruction information, the tenth indication information being configured such that a value of a Transitive flag bit in the first attribute is 0, and a value of a New-Transitive flag bit in the first attribute is 1; The method for transmitting BGP routing according to claim 5.

10. determining that the first operation affects the first attribute if a first condition is not satisfied, or determining that the first operation does not affect the first attribute if a first condition is satisfied, the first condition being: the second node does not modify the first BGP routing next hop; the second node modifies a next hop address of the first BGP route to an IP address of the second node, and a second attribute included in the second BGP route satisfies a second condition. A method for transmitting BGP routing according to claim 1 or 2.

11. the second condition includes the second attribute not causing the first forwarding plane entity to be exposed to the second node. A method for transmitting BGP routing according to claims 2 and 10.

12. the second condition includes that the second attribute does not cause a second forwarding plane entity to be removed from the second node, and the second forwarding plane entity is a forwarding plane entity adjacent to the first forwarding plane entity in an outer layer of the first forwarding plane entity; A method for transmitting BGP routing according to claims 2 and 10.

13. The second attribute is a first MPLS label of the first BGP routing, and the first process is the second node modifying the first MPLS label of the first BGP routing to a second MPLS label assigned by the second node, the method further comprising: When the second MPLS label has a corresponding label operation of "Swap" in the forwarding plane, before the second node distributes the second BGP routing to the first node, the second node adds the third indication information; When the second MPLS label has a corresponding label operation of Pop in the forwarding plane, the second node adds the second indication information before distributing the second BGP routing to the first node; The method for transmitting BGP routing according to claim 2.

14. the third indication information includes a partial flag bit in the first attribute having a value of 0; The method of claim 13 for transmitting BGP routing.

15. The fourth indication information is a New-Transitive flag bit in the first attribute, and the method further includes: said third node setting said No-Partial flag bit to 1 before distributing said first BGP routing; and in response to the New-Transitive flag bit having a value of 1, the second node determines that the third indication information includes the No-Partial flag bit having a value of 1 and the Transitive flag bit having a value of 0 in the first attribute. A method for transmitting BGP routing according to claims 5 and 13.

16. The fourth indication information is a Smart-Partial flag bit in the first attribute, and the method further comprises: determining, in response to the value of the Smart-Partial flag bit being 1, that the second indication information includes the Partial flag bit in the first attribute having a value of 1; A method for transmitting BGP routing according to claims 4 and 13.

17. the first process is a process that does not affect the first attribute, a fourth node exists between the first node and the third node, the fourth node is a node that cannot identify a New-Transitive flag bit, a Smart-Partial flag bit, a New-Partial flag bit, a No-Partial flag bit, and the first attribute, and the fourth node sends the fifth BGP routing to the first node, and both the second node and the fourth node make modifications to the second attribute that do not affect the first attribute, and the third indication information is different from a value of a corresponding field in the fifth BGP routing. A method for transmitting BGP routing according to claim 4 or 5.

18. a receiving module configured to receive a first BGP route distributed by a third node, the first BGP route including a first attribute and a second attribute; a processing module configured to perform a first operation on the second attribute to obtain a second BGP routing, the second node being located between the third node and the first node, the second node being unable to identify the first attribute, the second node being capable of identifying the second attribute, and the first operation being for the second node to modify the second attribute; a sending module configured to, in response to the second node being unable to identify the first attribute, add first indication information to the second BGP routing while withholding the first attribute, and send the second BGP routing to the first node, the first indication information being indication information indicating whether the first processing will affect the first attribute. A sender of BGP routing applied to the second node.

19. A computer readable storage medium having a computer program stored thereon, the computer program being arranged, when executed, to perform the method according to any one of claims 1 to 17.

20. 18. An electronic device comprising a memory and a processor, wherein a computer program is stored in said memory, said processor being arranged to execute the method of any one of claims 1 to 17 by means of said computer program.

Citation Information

Patent Citations

  • Attribute set_id in border gateway protocol

    CN106375221A

  • Path control method, path control system, path control device, and program for path control

    JP2010016642A

  • Handling entropy labels when stitching label-switched paths

    US9178810B1