Method for bearing MPLS tunnel by using SRv6 tunnel, communication device and hierarchical operator network system
By establishing the association between MPLS labels and MPLS.SID identifiers in the primary operator network and using SRv6 tunnels to carry MPLS tunnels, the problem that primary operators cannot carry secondary operator MPLS VPNs after upgrading to SRv6 VPNs is solved, realizing transparent cross-protocol conversion and service continuity.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-18
- Publication Date
- 2026-04-10
AI Technical Summary
In scenarios where secondary operators use MPLS VPN, after the primary operator upgrades to IPv6, it cannot support SRv6 VPN, affecting the independence and business continuity between the two.
By establishing the association between MPLS labels and MPLS.SID identifiers, and using SRv6 tunnels to carry MPLS tunnels, the independent upgrade and expansion of primary operator networks to SRv6 VPN scenarios can be achieved without affecting the MPLS VPN services of secondary operators.
It enables Tier 1 operators to independently upgrade to SRv6 VPN scenarios without affecting the MPLS VPN services of Tier 2 operators, and achieves cross-protocol bearer and transparent conversion.
Smart Images

Figure CN121842069A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of network data communication, and more particularly to a method, communication device, and hierarchical operator network system for carrying MPLS tunnels using SRv6 tunnels. Background Technology
[0002] Due to the rapid development of IPv6, in scenarios where secondary operators use MPLS VPNs, if a primary operator needs to upgrade to IPv6 and use SRv6 VPN, the primary operator cannot support the secondary operator. This forces the primary operator to rely on the secondary operator for upgrades and maintenance, affecting the independence between the two. Summary of the Invention
[0003] Purpose of the invention: To propose a method, communication device, and hierarchical operator network system for using SRv6 tunnels to carry MPLS tunnels, which enables primary operators to independently upgrade and expand to SRv6 VPN scenarios without affecting the MPLS VPN services of secondary operators.
[0004] In a first aspect, this invention proposes a method for carrying MPLS tunnels using SRv6 tunnels, applicable to a hierarchical operator network architecture comprising user-side edge devices, a primary operator network, and a secondary operator network. This method establishes an association between MPLS labels and MPLS.SID identifiers to enable SRv6 tunnels to carry MPLS tunnels, deploying SRv6 tunnels in the primary operator network and MPLS tunnels in the secondary operator network.
[0005] As a preferred embodiment of the first aspect, the method includes a route association establishment phase, specifically comprising: The edge devices of the secondary operator network send the second MPLS label corresponding to their own backbone routes to the edge devices of the primary operator network; The edge devices of the Tier 1 operator network generate corresponding MPLS.SID identifiers for the second MPLS label corresponding to the backbone route within the target VPN through the MPLS.SID generation and processing module. Edge devices in a Tier 1 carrier network advertise backbone routes carrying the MPLS.SID identifier to edge devices in other Tier 1 carrier networks within the same domain via routing protocols. The edge device of the primary operator network that receives the MPLS.SID identifier generates the first MPLS label corresponding to the backbone route in the target VPN through the MPLS / MPLS.SID table processing module, and sends the first MPLS label to the edge device of the secondary operator network. At the same time, it establishes the association between the first MPLS label and the MPLS.SID identifier. The user-side edge device sends the service route to the edge device of the secondary operator network. The edge device of the secondary operator network generates an inner MPLS label for the service route and publishes the service route carrying the inner MPLS label to the edge device of the peer secondary operator network.
[0006] As a preferred embodiment of the first aspect, the method includes a message transmission phase, specifically comprising: After receiving the target service packet sent by the user side, the edge device of the secondary operator network encapsulates the packet with the inner MPLS label and encapsulates the packet with the first MPLS label based on the next-hop information of the backbone route. After receiving a packet carrying the first MPLS label, the edge device of the Tier 1 operator network removes the first MPLS label based on the association relationship through the MPLS / MPLS.SID table processing module, and uses the MPLS.SID identifier to encapsulate the SRv6 header; After receiving a packet carrying the MPLS.SID identifier, another edge device in a Tier 1 operator network removes the SRv6 header through the MPLS.SID generation and processing module, queries the MPLS label table, and encapsulates the packet with the second MPLS label. After receiving a packet carrying the second MPLS label, the edge device of the secondary operator network removes the second MPLS label and the inner MPLS label in sequence, completes routing forwarding within the target VPN, and sends the packet to the target user-side edge device.
[0007] As a preferred embodiment of the first aspect, the association relationship includes the mapping relationship between routing information, MPLS.SID identifier, MPLS label and corresponding VPN interface.
[0008] As a preferred option in the first aspect, after the receiving device recognizes the MPLS.SID identifier, it deletes the SRv6 header and queries the MPLS label associated with the route in the corresponding VPN to complete the encapsulation.
[0009] In a second aspect, the present invention provides a communication device for implementing an SRv6 tunnel carrying an MPLS tunnel, the communication being configured in an edge node of a hierarchical operator network, including an MPLS.SID generation and processing module and an MPLS / MPLS.SID table processing module.
[0010] The MPLS.SID generation and processing module is used to receive the MPLS label corresponding to the route in the target VPN, generate an associated MPLS.SID identifier for the route, and when a packet carrying the MPLS.SID identifier is received, the SRv6 header of the packet is stripped off, and the MPLS label associated with the route in the corresponding VPN is queried to complete the packet encapsulation. The MPLS / MPLS.SID table processing module is used to receive routing information carrying the MPLS.SID identifier, generate a corresponding MPLS label for the route within the target VPN, and advertise it to adjacent MPLS network nodes. Simultaneously, it establishes and maintains an association mapping table for routes, MPLS.SID identifiers, MPLS labels, and VPN interfaces. Furthermore, when a packet carrying an MPLS label is received, it queries the association mapping table for the MPLS.SID identifier that matches the packet's route and MPLS label, strips the MPLS label from the packet, and uses the MPLS.SID identifier to complete the SRv6 header encapsulation.
[0011] As a preferred embodiment of the second aspect, the association mapping table contains at least one set of correspondences between routes, MPLS.SID identifiers, MPLS labels, and VPN interfaces, wherein the MPLS.SID identifier is a network identifier based on the IPv6 architecture.
[0012] As a preferred embodiment of the second aspect, the communication device is deployed at the edge node of the primary operator's network to enable cross-protocol carrying of the primary operator's SRv6 tunnel and the secondary operator's MPLS tunnel, without requiring functional modifications to the secondary operator's network node.
[0013] A third aspect of the present invention proposes a hierarchical operator network system, which includes at least two communication devices as described in the second aspect. The communication devices are deployed at different edge nodes of the primary operator network to perform label and identifier conversion between the primary operator's SRv6 backbone tunnel and the secondary operator's MPLS VPN tunnel, thereby enabling the transparent bearing of the secondary operator's MPLS services in the primary operator's SRv6 tunnel.
[0014] A fourth aspect of the invention provides a computer-readable storage medium storing at least one executable instruction that, when executed on an electronic device, causes the electronic device to perform the method of carrying an MPLS tunnel using an SRv6 tunnel disclosed in the first aspect and several preferred embodiments thereof.
[0015] Beneficial effects: (1) The function of MPLS.SID in this patent is: after receiving the MPLS label, generate MPLS.SID for the MPLS label of this route. The function of MPLS.SID is: after receiving this SID, delete the header, query the MPLS label of this route in the VPN, and then encapsulate it.
[0016] (2) The two-tier operator scenario addressed by this patent involves the VPN of the first-tier operator and the VPN of the second-tier operator, as well as their respective tunnels.
[0017] (3) This patent uses a solution based on MPLS to generate a new MPLS.SID to solve the problem. It uses the existing function of SRv6's programmability to solve the problem, and does not require a major extension of SRv6.
[0018] (4) This patent does not require the support of secondary operators, while other patents all require the influence of other network nodes. Attached Figure Description
[0019] Figure 1 This is a business diagram illustrating the use of MPLS VPN by secondary operators in the background technology scenario.
[0020] Figure 2 This is a schematic diagram of the operational points of the two redesigned modules in this invention.
[0021] Figure 3 This is a schematic diagram illustrating the process of CE2 routing to CE1 in the embodiment.
[0022] Figure 4 This is a schematic diagram illustrating the process of CE1 sending a message to CE2 in the embodiment. Detailed Implementation
[0023] In the following description, numerous specific details are set forth in order to provide a more thorough understanding of the invention. However, it will be apparent to those skilled in the art that the invention can be practiced without one or more of these details. In other instances, certain technical features well-known in the art have not been described in order to avoid obscuring the invention.
[0024] Before describing the embodiments, some specific terms that may appear in the following text will be explained.
[0025] BGP: Border Gateway Protocol: A dynamic routing protocol used between Autonomous Systems (AS).
[0026] IGP: Operates within an autonomous system. Common IGP protocols include RIP, OSPF, and IS-IS.
[0027] BGP / MPLS VPN: BGP / MPLS IPVPN is a type of L3 VPN (Layer 3 Virtual Private Network). It uses BGP (Border Gateway Protocol) to advertise VPN routes on the service provider's backbone network and uses MPLS (Multiprotocol Label Switch) to forward VPN packets on the service provider's (SP) backbone network. Here, IP refers to the fact that the service provider's backbone network is an IP network.
[0028] BGP / SRv6 VPN: This is a variant of BGP / MPLS VPN, which mainly switches the tunnel from MPLS to SRv6 and is used in scenarios where the backbone network is an IPv6 network.
[0029] PE (Provider Edge): Edge devices in the carrier network. These devices are deployed at the edge of the service provider (SP) network and directly connected to the customer-side CE devices. They also participate in the routing protocols (such as ISIS) and VPN route distribution (such as BGP) of the carrier backbone network. In the solution disclosed in the document, PE1, PE2, PE3, and PE4 are responsible for core functions such as MPLS label generation and distribution, MPLS.SID processing, and SRv6 header encapsulation and decapsulation. They are key nodes for realizing MPLS tunnels carried by SRv6 tunnels.
[0030] CE (Customer Edge): User edge device. This type of device belongs to the edge device of the user network. It is directly connected to the operator's PE device and is used to publish the routing information of the user side (such as CE2 via OSPF protocol in the disclosure) to the PE device. At the same time, it receives the remote user routes issued by the PE device to realize communication between different user sites (such as CE1 and CE2).
[0031] Example 1 This patent enables Tier 1 operators to independently upgrade and expand to SRv6 VPN scenarios without affecting the MPLS VPN services of Tier 2 operators.
[0032] The specific details are as follows: like Figure 1Initially, PE1, PE2, PE3, and the connections between PE3 all use IPv4 and MPLS as the service carrier. At this stage, MPLS label translation allows the primary operator to carry the services of the secondary operator. However, with the expansion of services, the primary operator needs to upgrade to IPv6 ahead of schedule, using SRv6 tunnels. This means that the connections between PE2 and PE3 use IPv6+SRv6 to carry services. At this point, an issue arises where the SRv6 tunnel cannot carry the MPLS tunnel, leading to service failures for the secondary operator.
[0033] This invention enables Tier 1 operators to carry MPLS tunnel services from Tier 2 operators by using a new MPLS.SID.
[0034] This process requires the design of two new modules, whose functions are as follows: Figure 2 : 1. MPLS.SID Generation and Processing Module: Upon receiving an MPLS label, this module generates an MPLS.SID for that route. The function of the MPLS.SID is to remove the header upon receiving the SID, query the VPN for the MPLS label of this route, and then encapsulate it.
[0035] 2. MPLS and MPLS.SID table establishment and processing module: After receiving a route with an MPLS.SID, it generates an MPLS label for the route of this VPN and sends it to other MPLS neighbors, forming a table entry, as shown in Table 1.
[0036] Table 1
[0037] Upon receiving a packet with an MPLS label, query the MPLS.SID associated with this route and MPLS label. Then, remove the MPLS label and encapsulate the SRv6 header using the MPLS.SID.
[0038] The specific process is as follows: The process of CE2 routing to CE1 is as follows: Figure 3 : 1. CE2 sends data to PE4 via OSPF.
[0039] 2. PE4 sends the route to PE1 via BGP and generates an outer MPLS label L4-i for the route of CE2.
[0040] The process of establishing a tunnel from PE4 to PE1, such as Figure 2 : 1. PE4 sends the MPLS label (L4-o) of PE4's Loopback route to PE3. 2. After receiving the MPLS label from PE4, PE3 generates an MPLS.SID (SID3) for the MPLS label of the Loopback route of PE4 for this VPN2.
[0041] 2. PE3 sends the Loopback route of PE4 carrying this MPLS.SID to PE2 via BGP. 3. PE2 generates and sends the MPLS label (L2) of the Loopback route of PE4 to PE1 in VPN2, and establishes the association between L2 and SID3.
[0042] The process of CE1 sending a message to CE2, such as Figure 4 : 1. After PE1 receives the message sent from CE1 to CE2, it queries the route and encapsulates it with the inner MPLS label L4-i; 2. PE1 finds that the next entry is the Loopback address of PE4, so it encapsulates the internal label as L2; 3. After receiving a packet with an L2 label, PE2 removes the MPLS L2 label and encapsulates the MPLS.SID IPv6 header according to the established forwarding table of L2 and MPLS.SID. 4. After receiving MPLS.SID, PE3 executes the functions of MPLS.SID: remove the SRv6 header, query the MPLS table, and encapsulate L4-o.
[0043] 5. After receiving the L4-o label, PE4 removes the label, then checks the L4-i label and removes it. Finally, it routes the L4-o label in VPN1 and sends it to CE2.
[0044] Example 2 Based on the aforementioned Embodiment 1, this embodiment discloses the execution details of a method for carrying MPLS tunnels using SRv6 tunnels. In this embodiment, the method is applied to a network architecture including CE1, PE1, PE2, PE3, PE4, and CE2. Services between PE2 and PE3 are carried using IPv6+SRv6, while services between PE1 and PE2, and between PE3 and PE4, are carried using MPLS. The method includes a route establishment process from PE4 to PE1 and a packet transmission process from CE1 to CE2.
[0045] I. Route establishment process from PE4 to PE1: (1) PE4 sends the MPLS label L4-o corresponding to its own Loopback route to PE3; (2) PE3 generates MPLS.SID (SID3) for the MPLS label L4-o corresponding to the Loopback route of PE4 in VPN2 through its MPLS.SID generation and processing module. (3) PE3 sends the PE4Loopback route carrying the MPLS.SID (SID3) to PE2 via BGP; (4) PE2 establishes and processes the MPLS and MPLS.SID tables through its MPLS and MPLS.SID tables, generates the MPLS label L2 corresponding to the PE4Loopback route in VPN2 and sends it to PE1, while establishing the association between L2 and SID3. (5) CE2 sends its own route to PE4 via OSPF, and PE4 sends the route to PE1 via BGP and generates an outer MPLS label L4-i for the CE2 route.
[0046] II. Message transmission process from CE1 to CE2: (1) After receiving a message sent by CE1 with the destination CE2, PE1 queries the route to encapsulate the message with the inner MPLS label L4-i. (2) PE1 recognizes that the next hop of the packet is the Loopback address of PE4, and encapsulates the packet with an internal MPLS label L2; (3) After receiving a message carrying an L2 label, PE2 removes the L2 label based on the association entry between L2 and SID3, and uses its MPLS and MPLS.SID table to establish and process the module to remove the L2 label and encapsulate the IPv6 header using MPLS.SID (SID3). (4) After receiving a message carrying MPLS.SID (SID3), PE3 removes the SRv6 header through its MPLS.SID generation and processing module, queries the MPLS table, and encapsulates the message with an MPLS tag L4-o. (5) After receiving the message carrying the L4-o label, PE4 removes the L4-o label and then removes the inner L4-i label. After querying the route in VPN1, it sends the message to CE2.
[0047] In this embodiment, the MPLS and MPLS.SID association entries contain the correspondence between routes, MPLS.SIDs, MPLS labels, and interfaces. For example, route 1.1.1.1 corresponds to MPLS.SID 100::1, MPLS labels 100 and 101, and interfaces VPN2-Interface1 and VPN2-Interface2.
[0048] Those skilled in the art will understand that embodiments of this disclosure can be provided as methods, systems, or computer program products. Therefore, this disclosure can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this disclosure can take the form of a computer program product embodied on one or more computer-usable non-transitory storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0049] This disclosure is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus, and systems according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0050] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0051] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0052] The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity, not all possible combinations of the technical features in the above embodiments have been described. However, as long as the combination of these technical features does not contradict each other, it should be considered within the scope of this specification. Although the present invention has been shown and described with reference to specific preferred embodiments, it should not be construed as limiting the invention itself. Various changes in form and detail may be made without departing from the spirit and scope of the invention as defined in the appended claims.
Claims
1. A method for carrying an MPLS tunnel by an SRv6 tunnel, applied to a hierarchical operator network architecture comprising a user-side edge device, a primary operator network, and a secondary operator network; characterized in that: the carrying of the MPLS tunnel by the SRv6 tunnel is implemented by establishing an association between an MPLS label and an MPLS.SID identifier, the SRv6 tunnel is deployed in the primary operator network, and the MPLS tunnel is deployed in the secondary operator network. 2.The method of claim 1, wherein, The method comprises a route association establishment stage, which specifically comprises: the edge device of the secondary operator network sends a second MPLS label corresponding to a backbone route of itself to the edge device of the primary operator network; the edge device of the primary operator network generates, by means of an MPLS.SID generation processing module, a corresponding MPLS.SID identifier for the second MPLS label corresponding to the backbone route in a target VPN; the edge device of the primary operator network publishes the backbone route carrying the MPLS.SID identifier to other edge devices of the primary operator network in the same domain through a routing protocol; the edge device of the primary operator network receiving the MPLS.SID identifier generates, by means of an MPLS / MPLS.SID table processing module, a first MPLS label corresponding to the backbone route in the target VPN, sends the first MPLS label to the edge device of the secondary operator network, and establishes an association between the first MPLS label and the MPLS.SID identifier; the edge device of the secondary operator network generates an inner MPLS label for the service route and publishes the service route carrying the inner MPLS label to the edge device of the opposite secondary operator network. 3.The method of claim 2, wherein, The method comprises a packet transmission stage, which specifically comprises: after receiving the target service packet sent by the user side, the edge device of the opposite secondary operator network encapsulates the inner MPLS label for the packet and encapsulates the first MPLS label for the packet based on next-hop information of the backbone route; after receiving the packet carrying the first MPLS label, the edge device of the primary operator network removes the first MPLS label by means of the MPLS / MPLS.SID table processing module based on the association and encapsulates an SRv6 header by using the MPLS.SID identifier; after receiving the packet carrying the MPLS.SID identifier, the edge device of another primary operator network removes the SRv6 header by means of an MPLS.SID generation processing module, queries an MPLS label table, and encapsulates the second MPLS label for the packet; after receiving the packet carrying the second MPLS label, the edge device of the secondary operator network removes the second MPLS label and the inner MPLS label in sequence, completes route forwarding in the target VPN, and sends the packet to the target user-side edge device. 4.The method of claim 2 or 3, wherein, The association comprises a mapping relationship among route information, an MPLS.SID identifier, an MPLS label, and a corresponding VPN interface. 5.The method of claim 2 or 3, wherein, After the receiving side device identifies the MPLS.SID identifier, the SRv6 header is deleted, and the MPLS label associated with the route is queried in the corresponding VPN to complete the encapsulation. 6.A communication apparatus for implementing an SRv6 tunnel carrying an MPLS tunnel, characterized in that, The communication device is configured in an edge node of a hierarchical operator network, and includes an MPLS.SID generation processing module and an MPLS / MPLS.SID table processing module. The MPLS.SID generation processing module is configured to generate an associated MPLS.SID identifier for a route corresponding to a target VPN after receiving a MPLS label of the route, and to strip an SRv6 header of a packet when the packet carrying the MPLS.SID identifier is received, and to query the MPLS label associated with the route in the corresponding VPN to complete encapsulation of the packet. The MPLS / MPLS.SID table processing module is configured to generate a corresponding MPLS label for the route in the target VPN and publish the MPLS label to a neighboring MPLS network node after receiving route information carrying the MPLS.SID identifier, and to establish and maintain an associated mapping table of the route, the MPLS.SID identifier, the MPLS label, and a VPN interface, and to query the MPLS.SID identifier matching the route and the MPLS label of the packet in the associated mapping table when a packet carrying the MPLS label is received, and to strip the MPLS label of the packet and use the MPLS.SID identifier to complete encapsulation of the SRv6 header.
7. The communication apparatus according to claim 6, wherein The associated mapping table includes a correspondence of at least one group of routes, MPLS.SID identifiers, MPLS labels, and VPN interfaces, and the MPLS.SID identifier is a network identifier based on an IPv6 architecture.
8. The communication apparatus according to claim 6, wherein The communication device is deployed in an edge node of a primary operator network, and is used to implement cross-protocol bearing between a primary operator SRv6 tunnel and a secondary operator MPLS tunnel without functional modification of the secondary operator network node.
9. A hierarchical operator network system, characterized by The communication device includes at least two communication devices as claimed in any one of claims 6 to 8, and the communication devices are respectively deployed in different edge nodes of a primary operator network, and are used to complete conversion of labels and identifiers between a primary operator SRv6 backbone tunnel and a secondary operator MPLS VPN tunnel, and to implement transparent bearing of secondary operator MPLS services in a primary operator SRv6 tunnel.
10. A computer-readable storage medium, characterized in that, The storage medium stores at least one executable instruction, and the executable instruction, when running on an electronic device, causes the electronic device to perform the method for bearing an MPLS tunnel using an SRv6 tunnel as claimed in any one of claims 1 to 5.