Service data forwarding method and device and readable medium

By binding the target BGP instance of the EVPN instance, we ensure that the next hop of service data forwarding meets expectations, and solves the problem of routing forwarding failure caused by EVPN instances corresponding to multiple BGP instances, improving the reliability and stability of the network.

CN120223631APending Publication Date: 2025-06-27ZTE CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311803795.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-12-25
Publication Date
2025-06-27

AI Technical Summary

Technical Problem

In the case of multiple BGP instances corresponding to the EVPN instance, the routing forwarding may occur in the problem of failure in the forwarding of the service data, because the random selection of the BGP instance causes the next hop of the forwarding of the service data not to meet expectations.

Method used

By obtaining the EVPN instance corresponding to the service data to be forwarded, and binding the corresponding target BGP instance, the target BGP instance is used to forward the service data, thereby ensuring that the next hop of the service data forwarding meets expectations.

Benefits of technology

This method ensures the stability and reliability of service data forwarding, avoids forwarding failure caused by next hop inconsistency, and improves the reliability and stability of the network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120223631A_ABST
    Figure CN120223631A_ABST
Patent Text Reader

Abstract

The invention provides a service data forwarding method and device and a readable medium, and belongs to the technical field of communication. The method comprises the following steps: acquiring an Ethernet virtual private network (EVPN) instance corresponding to service data to be forwarded; obtaining a target border gateway protocol (BGP) instance which is correspondingly bound with the EVPN instance; and forwarding the service data by using the target BGP instance. The method is used for solving the problem of routing failure caused by random selection of a next hop for forwarding service data through an EVPN instance from a plurality of BGP instances.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of communication technologies, and in particular, to a service data forwarding method, device, and readable medium. Background Art

[0002] Ethernet Virtual Private Network (EVPN) is a Virtual Private Network (VPN) technology for interconnecting Layer 2 networks. By extending the Border Gateway Protocol (BGP), the extended reachability information transfers the MAC / IP address learning and publishing process between Layer 2 networks of different sites from the data plane to the control plane. The MAC / IP information is advertised through BGP routes to perform Media Access Control (MAC) / Internet Protocol (IP) address learning between Provider Edge (PE) devices. The learning of MAC / IP addresses is implemented in the control plane, thus greatly reducing the MAC / IP address diffusion of traffic. It can support the multi-homing access of Customer Edge (CE) devices to EVPN, facilitating load sharing.

[0003] The number of BGP instances corresponding to an EVPN instance is uncertain and may be one or more. In the case of multiple BGP instances, when forwarding service data through the EVPN instance, a routing forwarding failure may occur. Summary of the Invention

[0004] Embodiments of the present disclosure provide a service data forwarding method, device, and readable medium.

[0005] In a first aspect, an embodiment of the present disclosure provides a service data forwarding method, including:

[0006] Obtaining an Ethernet Virtual Private Network (EVPN) instance corresponding to the service data to be forwarded;

[0007] Obtaining a target Border Gateway Protocol (BGP) instance bound to the EVPN instance;

[0008] Forwarding the service data by using the target BGP instance.

[0009] In a second aspect, an embodiment of the present disclosure provides an electronic device, including:

[0010] At least one processor;

[0011] A memory storing at least one program, which when executed by at least one processor causes the at least one processor to implement the method according to the first aspect;

[0012] At least one I / O interface, connected between the processor and the memory, configured to implement information interaction between the processor and the memory.

[0013] A third aspect of the embodiments of the present disclosure provides a computer-readable medium storing a computer program, which when executed by a processor implements the method according to the first aspect.

[0014] The embodiments of the present disclosure have the following advantages:

[0015] In the case of obtaining an EVPN instance corresponding to service data to be forwarded, the service data is forwarded using the BGP instance bound to the EVPN instance, thereby specifying the next hop for forwarding the service data via the EVPN instance. During the process of forwarding the service data, all control plane activities are completed by the bound BGP instance. Compared with the method of randomly selecting a BGP instance to forward service data, it can ensure that the next hop for forwarding the service data meets the expectation, avoid the situation where the next hop for forwarding the service data does not meet the expectation and causes forwarding failure, and ensure the stability of forwarding and transmitting the service data via the EVPN instance, improving the reliability and stability of the network. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 It is a schematic diagram of the routing relationship in the case where an EVPN instance corresponds to multiple BGPs provided in the embodiments of the present disclosure;

[0017] Figure 2 It is a schematic diagram of the process flow of a service data forwarding method provided in the embodiments of the present disclosure;

[0018] Figure 3 It is a schematic diagram of the structure of a service data forwarding device provided in the embodiments of the present disclosure;

[0019] Figure 4 It is a schematic diagram of the structure of an electronic device provided in the embodiments of the present disclosure. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0020] The following will describe in detail the specific embodiments of the present disclosure with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only for explaining and illustrating the present disclosure, and are not used to limit the present disclosure.

[0021] As used in the present disclosure, the term "and / or" includes any and all combinations of one or more related listed items.

[0022] The terms used in this disclosure are only for describing specific embodiments and are not intended to limit this disclosure. As used in this disclosure, the singular forms "a" and "the" are also intended to include the plural forms unless the context clearly indicates otherwise.

[0023] When the terms "comprising" and / or "consisting of" are used in this disclosure, it specifies the presence of the stated features, wholes, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components, and / or their groups.

[0024] Unless otherwise defined, the meanings of all terms (including technical and scientific terms) used in this disclosure are the same as those commonly understood by those of ordinary skill in the art. It will also be understood that terms such as those defined in common dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and this disclosure, and will not be interpreted as having an idealized or overly formal meaning unless this disclosure clearly so defines.

[0025] The applicant found during the research of the related art that:

[0026] When the number of BGP instances corresponding to an EVPN instance is multiple, the next hop for the EVPN instance to forward service data is randomly selected from multiple BGP instances, and the control plane data will forward the service data through the randomly selected BGP instance. When the EVPN public network is forwarded through a tunnel, that is, by encapsulating a public network label, the next hop for service forwarding and the next hop for public network label lookup may not be the same, which results in the EVPN instance being unable to find the corresponding next hop information when forwarding service data, and thus unable to encapsulate the public network label, resulting in service forwarding failure.

[0027] For example, Figure 1 The figure shows a schematic diagram of the routing relationship in the case where an EVPN instance corresponds to multiple BGPs. The two devices are respectively the Device Under Test (DUT) 1 and DUT2. Both devices are configured with loopback interfaces 1 and loopback2, and each is configured with 2 BGP instances, namely BGP1 instance and BGP2 instance; in the BGP1 instance, the peer loopback1 is respectively configured as a neighbor, and in the BGP2 instance, the peer loopback2 is respectively configured as a neighbor. After configuring the EVPN1 instance, EVPN1 will randomly select the next hop for forwarding. Assuming that the selected one is loopback1, while the next hop of the public network label is loopback2, EVPN1 cannot find the corresponding next hop during the forwarding process, resulting in the inability to encapsulate the public network label and causing service forwarding failure.

[0028] Assume that BGP1 is deleted, and the forwarding next hop formed by EVPN1 becomes loopback2. During the forwarding process of EVPN1, when the corresponding next hop is found, it can be normally forwarded after encapsulating the public network label. In this case, if BGP1 is added again, it may cause the forwarding next hop of EVPN1 to become loopback1, thereby affecting service forwarding.

[0029] To solve this problem, an embodiment of the present disclosure provides a service data forwarding method, which can be applied to any network device, and an EVPN instance and a BGP instance are deployed in the network device. The network device forms a BGP peer (BGP neighbor), also known as a BGP neighbor, with another network device, and both network devices can be PE devices. According to different application scenarios, the PE device can specifically be a router, a switch, a base station controller side gateway, etc. After the PE device learns MAC / IP address information from the CE device, it exchanges EVPN routing information with other PEs through the BGP instance. The PE device maintains the routing information of the directly connected EPVN and the EVPN routing information published by the remote PE.

[0030] For the EVPN technology involved in the embodiments of the present disclosure, reference can be made to the description in Internet Engineering Task Force (IETF) Request For Comments (RFC) 7432.

[0031] In the embodiments of the present disclosure, the operator network is also referred to as the backbone network provided by the service provider, the service provider network, or the public network.

[0032] Figure 2 The following shows a schematic flowchart of the service data forwarding method provided by the embodiments of the present disclosure. The service data forwarding method mainly includes:

[0033] Step 201, obtain the EVPN instance corresponding to the service data to be forwarded.

[0034] Among them, EVPN is a virtual private network. There can be multiple simultaneously existing EVPN instances (EVPN Instance, abbreviated as EVI) on a set of physical devices, and each EVPN instance exists independently. Each EVI connects one or more groups of user networks to form one or more cross-regional layer 2 networks.

[0035] Step 202, obtain the BGP instance bound to the EVPN instance.

[0036] In some embodiments, before obtaining the target Border Gateway Protocol (BGP) instance bound to the EVPN instance, the method further includes: determining a target BGP instance from at least one BGP instance corresponding to the EVPN instance, and binding the EVPN instance to the target BGP instance. By binding a BGP instance to the EVPN instance, further searching for neighbors of the bound BGP instance forms the next hop for the service forwarding corresponding to the EVPN instance.

[0037] In some embodiments, the binding of the EVPN instance to the target BGP instance includes: writing the autonomous system (AS) number of the target BGP instance into the configuration file of the EVPN instance to bind the target BGP instance to the EVPN instance. The target BGP instance bound to the EVPN instance will not change due to the addition or deletion of other BGP instances corresponding to the EVPN instance, thereby specifying the next hop for the service data forwarding through the EVPN instance. By binding a BGP instance to the EVPN instance, further searching for neighbors of the bound BGP instance forms the next hop for the service forwarding corresponding to the EVPN instance.

[0038] In an exemplary embodiment, a routing configuration parameter is added to the configuration file of the EVPN instance. For example, the routing configuration parameter is expressed as "router BGP aaa", that is, when configuring the EVPN instance, the routing configuration parameter is added, so that the EVPN instance is bound to a BGP instance with an AS number of "aaa".

[0039] In some embodiments, the determining of the target BGP instance from at least one BGP instance corresponding to the EVPN instance includes: obtaining the next-hop address indicated by the public network tunnel label of the EVPN instance; determining, from at least one BGP instance corresponding to the EVPN instance, the BGP instance whose neighbor's address is the next-hop address as the target BGP instance.

[0040] The information of the next hop for service data forwarding is recorded in the public network tunnel label. For example, the IP address of the next hop for service data forwarding is recorded in the public network tunnel label. Using the information of the next hop for service data forwarding recorded in the public network tunnel label, a target BGP instance is selected from at least one BGP instance corresponding to the EVPN instance. The information (such as the IP address) of the neighbor of the target BGP instance is consistent with the information (such as the IP address) of the next hop for service data forwarding, and the target BGP instance is bound to the EVPN instance to forward service data through the target BGP instance.

[0041] In some embodiments, before obtaining the target Border Gateway Protocol (BGP) instance bound to the EVPN instance, the method further includes: in response to a binding relationship transmitted by a neighbor EVPN instance of the EVPN instance, the binding relationship being used to indicate the BGP instance bound to the neighbor EVPN instance; and determining the target BGP instance according to the BGP instance bound to the neighbor EVPN instance.

[0042] In some embodiments, the determining the target BGP instance according to the BGP instance bound to the neighbor EVPN instance includes: obtaining information about the neighbor loopback interface of the BGP instance bound to the neighbor EVPN instance; and determining, from among at least one BGP instance corresponding to the EVPN instance, the BGP instance that matches the neighbor loopback interface as the target BGP instance.

[0043] In an exemplary embodiment, as shown in Figure 1 assuming that the EVPN1 instance of DUT1 and the EVPN1 instance of DUT2 are neighbors of each other, and in the case where the EVPN1 instance of DUT1 is bound to the BGP1 instance, the EVPN1 instance of DUT2 obtains the information about the neighbor loopback interface of BGP1 bound to the EVPN1 instance of DUT1, which is lookback1 of the BGP1 instance of DUT2, and accordingly directly binds the EVPN1 instance of DUT2 to the BGP1 instance.

[0044] In some embodiments, the method further includes: performing an error prompt in the case where a target BGP instance is not determined from among at least one BGP instance corresponding to the EVPN instance.

[0045] In an exemplary embodiment, determining whether a target BGP instance is determined from among at least one BGP instance corresponding to the EVPN instance includes:

[0046] determining whether an identifier of the target NGP instance exists in the BGP instance list of the EVPN instance;

[0047] If it exists, determining that the target BGP instance exists in at least one BGP instance corresponding to the EVPN instance, and determining that the target BGP instance is determined from among at least one BGP instance corresponding to the EVPN instance;

[0048] If it does not exist, determining that the target BGP instance does not exist in at least one BGP instance corresponding to the EVPN instance, and determining that the target BGP instance is not determined from among at least one BGP instance corresponding to the EVPN instance.

[0049] Wherein, the identifier of the target NGP instance may be the AS number of the target NGP instance.

[0050] The list of BGP instances in the EVPN instance is updated as the BGP instances corresponding to the EVPN instance change. In the case of deleting a BGP instance, it is necessary to synchronously delete the identifier of the corresponding BGP instance in the BGP instance list. In the case of adding a BGP instance, it is necessary to synchronously add the identifier of the corresponding BGP instance to the BGP instance list.

[0051] Step 203: Forward the service data by using the target BGP instance.

[0052] In some embodiments, the forwarding of the service data by using the target BGP instance includes:

[0053] Forward the service data to the next hop by using the neighbor loopback interface configured in the target BGP instance.

[0054] In an exemplary embodiment, in combination with Figure 1 As shown, it is assumed that the EVPN1 instance in DUT1 is bound to the BGP2 instance, and the neighbor configured by this BGP2 instance is loopback2 of the BGP2 instance in DUT2. That is, the routing information of BGP2 is the IP address of the neighbor loopback interface. The IP address of the neighbor loopback interface of the BGP2 instance bound to the EVPN1 instance is used as the address of the next hop for forwarding the service data.

[0055] In some embodiments, after binding the EVPN instance to the target BGP instance, it further includes: writing the routing information of the target BGP instance as the next hop for service forwarding into the service label table. By querying the next hop recorded in the service label table, the BGP instance bound to the EVPN instance can be verified.

[0056] In the embodiments of the present disclosure, in the case of obtaining the EVPN instance corresponding to the service data to be forwarded, the service data is forwarded by using the BGP instance bound to the EVPN instance, thereby specifying the next hop for forwarding the service data via the EVPN instance. During the process of forwarding the service data, all control plane activities are completed by the bound BGP instance. Compared with the method of randomly selecting a BGP instance to forward the service data, it can ensure that the next hop for forwarding the service data meets the expectation, avoid the situation that the next hop for forwarding the service data does not meet the expectation and causes forwarding failure, and guarantee the stability of forwarding and transmitting the service data via the EVPN example, improving the reliability and stability of the network.

[0057] Moreover, after the EVPN instance is bound to the BGP instance, all control plane activities during the service forwarding process are performed by the bound BGP instance, which can ensure the stability of MAC / IP learning of the EVPN instance, avoid unstable MAC / IP learning, and avoid the data recorded in the service label table from changing due to adding or deleting other BGP instances.

[0058] The service data forwarding method provided by the embodiments of the present disclosure can be applied to network devices such as switches or routers in a symmetric network using tunnels to span the basic network infrastructure layer. For example, it can be applied to the docking scenario of the 5G core network.

[0059] Applying the service data forwarding method provided by the embodiments of the present disclosure to a Multi-Protocol Label Switching (MPLS) tunnel can avoid the impact of multiple Border Gateway Protocol (BGP) instances on service forwarding.

[0060] Adopting the service data forwarding method provided by the embodiments of the present disclosure can eliminate the risk of multiple BGP instances on EVPN service forwarding, and avoid the situation where the EVPN service forwarding fails to encapsulate the public network label due to inconsistent next hops in the case of multiple BGP instances, thereby preventing abnormal EVPN service forwarding, improving the network stability, as well as improving the network quality and user experience.

[0061] The step division of the above various methods is only for clear description. When implemented, they can be combined into one step or some steps can be split into multiple steps. As long as the same logical relationship is included, they are all within the protection scope of the present disclosure; making insignificant modifications to the algorithm or process or introducing insignificant designs, but without changing the core design of the algorithm and process, are all within the protection scope of the present disclosure.

[0062] Based on the same concept, the embodiments of the present disclosure also provide a service data forwarding device. For the specific implementation of this device, reference can be made to the detailed description of the above service data forwarding method, which will not be repeated here. As Figure 3 shown, the device mainly includes:

[0063] A first acquisition module 301, configured to acquire an Ethernet Virtual Private Network (EVPN) instance corresponding to the service data to be forwarded;

[0064] A second acquisition module 302, configured to acquire a target Border Gateway Protocol (BGP) instance bound to the EVPN instance;

[0065] A forwarding module 303, configured to forward the service data by using the target BGP instance.

[0066] The functions or modules included in the device provided by the embodiments of the present disclosure can be used to execute the methods described in the method embodiments. For the specific implementation and technical effects, reference can be made to the description of the above method embodiments. For the sake of brevity, it will not be elaborated here.

[0067] It should be noted that all the modules involved in this embodiment are logical modules. In practical applications, a logical unit can be a physical unit, a part of a physical unit, or a combination of multiple physical units. In addition, to highlight the innovative part of the present disclosure, units that are not closely related to solving the technical problems proposed by the present disclosure are not introduced in this embodiment, but this does not mean that there are no other units in this embodiment.

[0068] Referring to Figure 4 , the embodiment of the present disclosure provides an electronic device, which includes:

[0069] At least one processor 401;

[0070] A memory 402, on which at least one program is stored. When the at least one program is executed by the at least one processor, the at least one processor implements the above method;

[0071] At least one I / O interface 403, connected between the processor and the memory, configured to implement information interaction between the processor and the memory.

[0072] Among them, the processor 401 is a device with data processing capabilities, which includes but is not limited to a central processing unit (CPU), etc.; the memory 402 is a device with data storage capabilities, which includes but is not limited to a random access memory (RAM, more specifically such as SDRAM, DDR, etc.), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory (FLASH); the I / O interface (read / write interface) 403 is connected between the processor 401 and the memory 402 and can implement information interaction between the processor 401 and the memory 402, which includes but is not limited to a data bus (Bus), etc.

[0073] In some embodiments, the processor 401, the memory 402, and the I / O interface 403 are interconnected through a bus and then connected to other components of the computing device.

[0074] This embodiment also provides a computer-readable medium, on which a computer program is stored. When the program is executed by a processor, it implements the method provided in this embodiment. To avoid repeated description, the specific steps of this method are not elaborated here.

[0075] Those of ordinary skill in the art will understand that all or some of the steps in the methods, and the functional modules / units in the systems and devices described above, can be implemented as software, firmware, hardware, and their appropriate combinations. In the hardware implementation, the division of the functional modules / units mentioned above does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be executed by several physical components in cooperation. Some or all of the physical components can be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or can be implemented as hardware, or can be implemented as an integrated circuit, such as an application-specific integrated circuit. Such software can be distributed on a computer-readable medium, which can include a computer storage medium (or non-transitory medium) and a communication medium (or transitory medium). As is well known to those of ordinary skill in the art, the term computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data. Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical disc storage, magnetic cassettes, tapes, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer. In addition, it is well known to those of ordinary skill in the art that a communication medium typically contains computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and can include any information delivery medium.

[0076] It should be noted that, in this article, the term "including", "comprising", or any other variation thereof is intended to cover a non-exclusive inclusion, such that a process, method, article, or device that includes a series of elements includes not only those elements but also other elements not expressly listed, or also includes elements inherent to such process, method, article, or device. Without further limitation, an element defined by the statement "including one..." does not exclude the existence of additional identical elements in the process, method, article, or device that includes such element.

[0077] Those skilled in the art will be able to understand that, although some of the embodiments described herein include certain features included in other embodiments rather than other features, the combination of the features of different embodiments means that it is within the scope of this embodiment and forms different embodiments.

[0078] It is understood that the above embodiments are merely exemplary embodiments adopted to illustrate the principles of the present disclosure. However, the present disclosure is not limited thereto. For those of ordinary skill in the art, various modifications and improvements can be made without departing from the spirit and essence of the present disclosure, and these modifications and improvements are also considered within the protection scope of the present disclosure.

Claims

1. A service data forwarding method, comprising: Obtaining an Ethernet Virtual Private Network (EVPN) instance corresponding to the service data to be forwarded; Obtaining a target Border Gateway Protocol (BGP) instance bound to the EVPN instance; Forwarding the service data by using the target BGP instance.

2. The method according to claim 1, wherein Before obtaining the target Border Gateway Protocol (BGP) instance bound to the EVPN instance, the method further comprises: Determining a target BGP instance from at least one BGP instance corresponding to the EVPN instance, and binding the EVPN instance to the target BGP instance.

3. The method according to claim 2, wherein The binding of the EVPN instance to the target BGP instance includes: Writing the autonomous system number of the target BGP instance into the configuration file of the EVPN instance to bind the target BGP instance to the EVPN instance.

4. The method according to claim 2, wherein The determining of the target BGP instance from at least one BGP instance corresponding to the EVPN instance includes: Obtaining the next-hop address indicated by the public network tunnel label of the EVPN instance; Determining, from at least one BGP instance corresponding to the EVPN instance, the BGP instance whose neighbor address is the next-hop address as the target BGP instance.

5. The method according to claim 1, wherein Before obtaining the target Border Gateway Protocol (BGP) instance bound to the EVPN instance, the method further comprises: Responding to a binding relationship transmitted by a neighbor EVPN instance of the EVPN instance, where the binding relationship is used to indicate the BGP instance bound to the neighbor EVPN instance; Determining the target BGP instance according to the BGP instance bound to the neighbor EVPN instance.

6. The method according to claim 5, characterized in that, The determining of the target BGP instance according to the BGP instance bound to the neighbor EVPN instance includes: Obtaining information about the neighbor loopback interface of the BGP instance bound to the neighbor EVPN instance; Determining, from at least one BGP instance corresponding to the EVPN instance, the BGP instance that matches the neighbor loopback interface as the target BGP instance.

7. The method according to claim 1, characterized in that The forwarding of the service data by using the target BGP instance includes: Forwarding the service data to the next hop by using the neighbor loopback interface configured in the target BGP instance.

8. The method according to claim 2, wherein The method further comprises: Performing an error prompt when the target BGP instance cannot be determined from at least one BGP instance corresponding to the EVPN instance.

9. An electronic device, comprising: At least one processor; A memory having at least one program stored thereon, and when the at least one program is executed by the at least one processor, enabling the at least one processor to implement the method according to any one of claims 1-8; At least one I / O interface connected between the processor and the memory and configured to implement information interaction between the processor and the memory.

10. A computer-readable medium having a computer program stored thereon, and when the program is executed by a processor, implementing the method according to any one of claims 1-8.