A traffic message processing method and device, a storage medium and an electronic device

By using splicing node matching and forwarding table methods, the problem of label discontinuity when SR channels and non-SR channels coexist was solved, enabling normal forwarding of traffic packets and ensuring the continuity and stability of traffic.

CN117354219BActive Publication Date: 2026-05-01ZTE CORP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ZTE CORP
Filing Date
2022-06-29
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

In scenarios where Segment Routing (SR) channels and non-SR channels coexist, the problem of traffic interruption caused by label discontinuity has not yet been effectively resolved.

Method used

By receiving traffic packets carrying SR outgoing labels at the splicing node, matching them to obtain SR incoming labels, and determining non-SR outgoing labels according to the pre-stored label forwarding table, the SR labels and non-SR labels are linked together, thereby ensuring the normal forwarding of traffic packets.

Benefits of technology

This solution resolves the traffic interruption issue caused by label discontinuity in scenarios where SR and non-SR channels coexist, enabling smooth forwarding of traffic packets.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117354219B_ABST
    Figure CN117354219B_ABST
Patent Text Reader

Abstract

This application provides a traffic packet processing method, apparatus, storage medium, and electronic device. The method includes: receiving a first traffic packet sent by a first node through a segmented routing SR channel, the first traffic packet carrying a first target SR outgoing label of the first node; obtaining a first target SR incoming label by matching the first target SR outgoing label; determining a first target non-SR outgoing label corresponding to the first target non-SR incoming label according to a pre-stored first label forwarding table, the label forwarding table storing the correspondence between non-SR incoming labels and non-SR outgoing labels; encapsulating the first target non-SR outgoing label into the first traffic packet, and forwarding it to a second node through a non-SR channel. This can solve the problem of traffic interruption caused by label discontinuity in scenarios where SR channels and non-SR channels coexist in related technologies. By determining the SR outgoing label as a non-SR incoming label, the SR label and non-SR label are associated, thereby determining the forwarding of the traffic packet.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communications, and more specifically, to a traffic message processing method, apparatus, storage medium, and electronic device. Background Technology

[0002] Software-defined networking (SDN) addresses the bottlenecks of traditional networks by proposing a new network architecture, advocating for the physical separation of control and forwarding, centralized network control, and open network programming interfaces. Segment Routing (SR) is a specific local implementation technology based on the SDN concept, but it prioritizes the interests of equipment manufacturers, aiming to retain existing forwarding equipment to the greatest extent possible. SR controls packet forwarding through an ordered list of instructions, i.e., the segment list, contained in the packet header. Examples include the label stack in the Multiprotocol Label Switching (MPLS) forwarding plane or the IPv6 address list in the IPv6 forwarding plane. By maintaining the state of each flow at the ingress node, SR can force a flow through any path and service chain. The ultimate goal of RSVP is to allow a node to specify the forwarding path for a particular packet, rather than forwarding it according to the shortest path as in MPLS LDP (Label Distribution Protocol). Compared with the traditional RSVP-TE (Resource Reservation Protocol-Traffic Engineering) technology, RSVP does not require a dedicated MPLS control protocol. It uses IGP (Interior Gateway Protocol) extensions to implement signaling control, reducing resource consumption, simplifying network operation and maintenance, and enhancing path adjustment and control capabilities.

[0003] The advantages of SR have prompted operators to choose it as the public network tunneling technology in 5G networks, and traditional MPLS networks are evolving from LDP / RSVP-TE to SR. To ensure that the evolution process does not affect existing services, traditional Virtual Private Network (VPN) and MPLS technologies will coexist with SR, thus requiring the selection or combination of traditional MPLS technologies and SR.

[0004] No solution has yet been proposed to address the issue of traffic interruption caused by label discontinuity in scenarios where SR channels and non-SR channels coexist in related technologies. Summary of the Invention

[0005] This application provides a traffic packet processing method, apparatus, storage medium, and electronic device to at least solve the problem of traffic interruption caused by tag discontinuity in scenarios where SR channels and non-SR channels coexist.

[0006] According to one embodiment of this application, a traffic packet processing method is provided, applied to a splicing node, the method comprising:

[0007] The first traffic packet sent by the first node is received through the segmented routing SR channel, wherein the first traffic packet carries the first target SR outgoing label of the first node;

[0008] The first target SR input label is obtained by matching the first target SR output label;

[0009] The first target non-SR outgoing label corresponding to the first target SR incoming label is determined according to the first tag forwarding table stored in advance, wherein the tag forwarding table stores the correspondence between SR incoming labels and non-SR outgoing labels;

[0010] After encapsulating the first target non-SR outgoing label into the first traffic packet, it is forwarded to the second node through the non-SR channel.

[0011] According to another embodiment of this application, a traffic packet processing apparatus is also provided, applied to a splicing node, the apparatus comprising:

[0012] The first receiving module is configured to receive a first traffic packet sent by the first node through a segmented routing SR channel, wherein the first traffic packet carries a first target SR outgoing label of the first node;

[0013] The first determining module is used to obtain the first target SR input label based on the first target SR output label;

[0014] The second determining module is used to determine the first target non-SR outgoing label corresponding to the first target SR incoming label according to the first label forwarding table stored in advance, wherein the label forwarding table stores the correspondence between SR incoming labels and non-SR outgoing labels;

[0015] The first sending module is used to encapsulate the first target non-SR outgoing label into the first traffic packet and then forward it to the second node through the non-SR channel.

[0016] According to yet another embodiment of this application, a computer-readable storage medium is also provided, wherein a computer program is stored therein, wherein the computer program is configured to perform the steps in any of the above method embodiments when it is run.

[0017] According to yet another embodiment of this application, an electronic device is also provided, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.

[0018] In this embodiment, a first traffic packet sent by a first node is received through an SR channel. The first traffic packet carries a first target SR outgoing label of the first node. A first target SR incoming label is obtained by matching the first target SR outgoing label. A first target non-SR outgoing label corresponding to the first target SR incoming label is determined according to a pre-stored first label forwarding table, wherein the label forwarding table stores the correspondence between SR incoming labels and non-SR outgoing labels. After encapsulating the first target non-SR outgoing label into the first traffic packet, it is forwarded to a second node through a non-SR channel. This can solve the problem of traffic interruption caused by label discontinuity in scenarios where SR channels and non-SR channels coexist in related technologies. By determining the SR outgoing label as a non-SR incoming label, the SR label and non-SR label are associated, thereby determining the forwarding of the traffic packet. Attached Figure Description

[0019] Figure 1 This is a hardware structure block diagram of a mobile terminal for a traffic packet processing method according to an embodiment of this application;

[0020] Figure 2 This is a flowchart of a traffic packet processing method according to an embodiment of this application;

[0021] Figure 3 This is a flowchart of a traffic packet processing method according to an optional embodiment of this application;

[0022] Figure 4 This is a schematic diagram of public network tunnel bonding achieved through tag borrowing according to this embodiment. Figure 1 ;

[0023] Figure 5 This is a schematic diagram of public network tunnel bonding achieved through tag borrowing according to this embodiment. Figure 2 ;

[0024] Figure 6 This is a schematic diagram of public network tunnel bonding achieved through tag borrowing according to this embodiment. Figure 3 ;

[0025] Figure 7 This is a schematic diagram of public network tunnel bonding achieved through tag borrowing according to this embodiment. Figure 4 ;

[0026] Figure 8 This is a block diagram of a traffic packet processing apparatus according to an embodiment of this application. Detailed Implementation

[0027] The embodiments of this application will be described in detail below with reference to the accompanying drawings and examples.

[0028] It should be noted that the terms "first," "second," etc., in the specification, claims, and drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.

[0029] The methods and embodiments provided in this application can be executed on a mobile terminal, computer terminal, or similar computing device. Taking running on a mobile terminal as an example, Figure 1 This is a hardware structure block diagram of a mobile terminal for a traffic packet processing method according to an embodiment of this application, as shown below. Figure 1 As shown, a mobile terminal may include one or more ( Figure 1 Only one is shown in the diagram. A processor 102 (which may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.) and a memory 104 for storing data are also shown. The mobile terminal may further include a transmission device 106 for communication functions and an input / output device 108. Those skilled in the art will understand that... Figure 1 The structure shown is for illustrative purposes only and does not limit the structure of the mobile terminal described above. For example, the mobile terminal may also include components that are more... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown.

[0030] The memory 104 can be used to store computer programs, such as application software programs and modules, like the computer program corresponding to the traffic packet processing method in this embodiment. The processor 102 executes various functional applications and service chain address pool slicing processing by running the computer program stored in the memory 104, thus implementing the above-described method. The memory 104 may include high-speed random access memory and non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to the mobile terminal via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0031] The transmission device 106 is used to receive or send data via a network. Specific examples of the network described above may include a wireless network provided by the mobile terminal's communication provider. In one example, the transmission device 106 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 106 may be a Radio Frequency (RF) module, used for wireless communication with the Internet.

[0032] This embodiment provides a traffic packet processing method operating on the aforementioned mobile terminal or network architecture. Figure 2 This is a flowchart of a traffic packet processing method according to an embodiment of this application, such as... Figure 2 As shown, this process, applied to splicing nodes, includes the following steps:

[0033] Step S202: Receive the first traffic packet sent by the first node through the SR channel, wherein the first traffic packet carries the first target SR outgoing label of the first node;

[0034] Step S204: Obtain the first target SR input label by matching the first target SR output label;

[0035] Step S206: Determine the first target non-SR outgoing label corresponding to the first target SR incoming label according to the pre-stored first label forwarding table, wherein the label forwarding table stores the correspondence between SR incoming labels and non-SR outgoing labels;

[0036] Step S208: After encapsulating the first target non-SR outgoing label into the first traffic packet, it is forwarded to the second node through the non-SR channel.

[0037] Through the above steps S202 to A208, the problem of traffic interruption caused by label discontinuity in the scenario where SR channels and non-SR channels coexist can be solved. By determining the SR outgoing label as the non-SR incoming label, the SR label and non-SR label are connected, thereby determining the forwarding of traffic packets.

[0038] In one embodiment, the method further includes: receiving the route Sid of the second node sent by the second node through instance 1, wherein instance 1 is configured between the splicing node and the first node; instance 1 and instance 2 are configured between the splicing node and the second node, instance 1 is used to deploy SR channels, and instance 2 is used to deploy non-SR channels, specifically, it can be a Label Distribution Protocol (LDP) channel or a Traffic Engineering (TE) channel; determining that instance 2 is configured between the splicing node and the second node and that the route corresponding to instance 2 is the same as the route of the second node; determining the SR ingress label 1 of the splicing node according to the Sid of the second node, specifically, the sum of the Sid of the second node and the local segmented route global block (SR Global Block, SRGB) of the splicing node can be determined as the SR ingress label 1 of the splicing node, and the SR ingress label 1 of the splicing node is used as a general ingress label; when the route Sid of the second node cannot be found in instance 2, the general ingress label is determined as the SR ingress label of the splicing node, the non-SR outgress label allocated by the second node is obtained, and the correspondence between the SR ingress label and the non-SR outgress label is stored in the first label forwarding table. The examples 1 and 2 mentioned above can specifically be Intermediate System to Intermediate System (ISIS) examples.

[0039] Figure 3 This is a flowchart of a traffic packet processing method according to an optional embodiment of this application, such as... Figure 3 As shown, the method further includes:

[0040] Step S302: When the non-SR channel is the TE channel, the second traffic packet sent by the second node is received through the TE channel. The second traffic packet carries an outer label and an inner label. The outer label is the TE outgoing label and the inner label is the general outgoing label.

[0041] Step S304: Strip the TE output label, extract the general output label, and obtain the target SR input label of the splicing node by matching the general output label;

[0042] Step S306: Determine the second target SR outgoing label corresponding to the target SR incoming label according to the pre-stored second label forwarding table, wherein the second label forwarding table stores the correspondence between SR incoming labels and SR outgoing labels;

[0043] Step S308: After encapsulating the second target SR outgoing label into the second traffic packet, it is forwarded to the first node through the SR channel.

[0044] In this embodiment, the general outgoing label is determined by the second node based on the first node's routing Sid (specifically, prefix-Sid) sent by the first node through instance 1, and the local sRGB of the splicing node. Instance 1 is configured between the splicing node and the first node; Instance 1 and Instance 2 are configured between the splicing node and the second node. Instance 1 is used to deploy the SR channel, and Instance 2 is used to deploy the TE channel.

[0045] In one embodiment, the method further includes: receiving the routing Sid of the first node announced by the first node; determining the SR ingress label 2 and the SR egress label based on the routing Sid of the first node; specifically, determining the sum of the local sRGB of the splicing node and the routing Sid of the first node as the SR ingress label 2, and determining the sum of the sRGB of the first node and the routing Sid of the first node as the SR egress label; and storing the correspondence between the SR ingress label 2 and the SR egress label in the second label forwarding table.

[0046] In this embodiment, the splicing node establishes a BGP VPN or Ethernet Virtual Private Network (EVPN) neighbor relationship with the first node and the second node through the Loopback interface. The first node and the second node create a virtual route forwarding vrf1, and the routes under this vrf1 are advertised to each other through BGP.

[0047] Figure 4 This is a schematic diagram of public network tunnel bonding achieved through tag borrowing according to this embodiment. Figure 1 ,like Figure 4As shown, R1 (corresponding to the first node mentioned above) and R2 (corresponding to the splicing node mentioned above) deploy ISIS1; R2 and R3 (corresponding to the second node mentioned above) deploy dual-process, dual-plane ISIS1 and ISIS2. ISIS1 enables SR, and ISIS2 enables LDP. The prefix-Sid of R1, R2, and R3 are advertised in the ISIS1 and ISIS2 processes, with ISIS2 routes having higher priority than ISIS1. When R2 receives the prefix-Sid flooded by R3 (corresponding to the route Sid of the second node mentioned above), it checks if there is a local ISIS2 process with the same prefix (corresponding to the route) as its G-prefix. It then calculates inLabel1 (corresponding to the SR in label 1 of the splicing node) using the prefix-Sid and sRGB according to Formula 1 and uses it as the G-inlabel. The G-inlabel is shared by all processes. When the prefix-Sid of R3 cannot be found in ISIS2, the G-inlabel is used as the inlabel of ISIS2 to form the first label forwarding table, thus achieving label adhesion from SR to LDP. Traffic from R1 to R3 carries an SR tag and is sent to R2. R2 then looks up the corresponding LDP outgoing tag based on the SR ingoing tag and encapsulates the traffic with the LDP outgoing tag before forwarding it to R3.

[0048] Formula 1 is: inLabel = local.SRGB + dest.prefix - Sid; route priority can be adjusted by route distance or metric or other routing methods.

[0049] In another scenario, ISIS2 deployed between R2 and R3 enables RSVP automatic routing, with ISIS2 having a higher routing level than ISIS1. Figure 5 This is a schematic diagram of public network tunnel bonding achieved through tag borrowing according to this embodiment. Figure 2 ,like Figure 5As shown, R3's ISIS process 1 receives the prefix-Sid (corresponding to the routing Sid of the first node) flooded by R1. It calculates inLabel2 (the SR ingress label 2 of the splicing node) using Sid and SRGB according to Formula 1 and uses it as G-inlabel. It calculates outlabel according to Formula 2 (OutLabel = nh.SRGB + dest.prefix-Sid) and uses it as G-outlabel. All processes share this. R3 cannot find R1's prefix-Sid in ISIS2, so it uses G-outlabel as R3's outlabel. The optimal exit from R3 to R1 is the RSVP tunnel, forming the SR forwarding outgress label G-outlabel over rsvp from R3 to R1. The ingress label is the G-inlabel calculated by ISIS1. Traffic from R3 to R1 is forwarded to R2 with an outer RSVP-TE label and an inner SR label. R2 removes the RSVP-TE label, finds the corresponding outgress label based on the SR label, and encapsulates the traffic with the SR outgress label before forwarding it to R1. Enabling RSVP automatic routing in ISIS2 is just one way to adjust route priorities; other routing methods, such as static routing, can also be used to adjust them.

[0050] The process of achieving public network tunnel bonding through tag borrowing includes:

[0051] Step 1: As Figure 4 As shown, ISIS instance 1 is configured between R1 and R2, enabling public network loopback routing, and SR-MPLS is deployed on the public network. ISIS instance 1 and ISIS instance 2 are configured between R2 and R3, with loopback routing enabled on both instances simultaneously. ISIS instance 1 deploys SR, and ISIS instance 2 deploys LDP. The optimal route from R2 to R3 is advertised by ISIS1, and the public network route is LDP. Step 2: A BGP VPN or EVPN neighbor is established between R1, R2, and R3 via the loopback interface; vrf1 is created on R1 and R3, and routes under vrf are advertised to each other via BGP.

[0052] Step 2: R2 receives the prefix1-Sid flooded by R3 through ISIS instance 1, checks if there is a local ISIS2 process with the same prefix1, and uses this prefix1 as G-prefix1. Using the corresponding prefix1-Sid and sRGB, it calculates the corresponding ingress label inLabel11 as G-inlabel using formula 1 (inLabel = local.sRGB + dest.prefix-Sid). G-inlabel is shared by all processes, and in the first label forwarding table formed by ISIS2, the ingress label for the corresponding prefix1 is filled in as inLabel1. R1 receives the prefix1-Sid flooded by R3 and calculates the corresponding outgress label as outLabel1 using formula 2 (OutLabel = nh.sRGB + dest.prefix-Sid).

[0053] It is important to note that the outLabel1 calculated on R1 and the inLabel1 calculated on R2 are equal. (local.SRGB in Formula 1 and nh.SRGB in Formula 2 both refer to the sRGB of R2).

[0054] Step 3: When private network traffic from R1 to R3 is forwarded from R1, it carries outLabel1 on the outer layer. On R2, it looks up the first entry in the first label forwarding table based on outLabel1, which has an inbound label of inLabel1 and an outbound label of LDP. At this point, outLabel1 is removed, and LDP outbound label is added before forwarding to R3.

[0055] Another scenario, such as Figure 5 As shown, based on steps 1 to 3, the public network of ISIS instance 2 between R2 and R3 is modified to an RSVP-TE tunnel, and automatic routing is configured on R3 so that the optimal route from R3 to R1 is ISIS instance 2, and the outgoing interface is the RSVP-TE tunnel.

[0056] Step 4: R3 receives the prefix2-Sid flooded by R1 via ISIS instance 1. It calculates inLabel2 as G-inlabel using Sid and sRGB according to formula 1 (inLabel = local.sRGB + dest.prefix - Sid); and calculates outLabel2 as G-outlabel using formula 2 (OutLabel = nh.sRGB + dest.prefix - Sid). All processes share this label. The optimal exit point from R3 to R1 is the RSVP tunnel, with the outgoing label set to outLabel2 and the incoming label set to inLabel2. R2 receives the prefix2-Sid announced by R1 and calculates the corresponding SR incoming label inLabel3 and outgoing label outLabel3 according to formulas 1 and 2. Here, the inLabel3 calculated by R2 and the outLabel2 calculated by R3 are equal.

[0057] Step 5: When private network traffic from R3 to R1 is forwarded from R3, it carries two layers of labels: an inner layer with outLabel2 and an outer layer with RSVP-TE. When it reaches the TE tunnel on R2, the outer TE label is removed. Based on the inner outLabel2, the entry with the inbound label InLabel3 in the second label forwarding table is found, and the outbound label of this entry is outLabel3. At this time, the outLabel2 label of the traffic is removed, and outLabel3 is encapsulated and forwarded to R1.

[0058] In one embodiment, this embodiment provides a method and apparatus for resolving the problem of traffic interruption caused by label discontinuity in SR and traditional MPLS coexistence scenarios through multi-process shared forwarding. R1 and R2 deploy ISIS1; R2 and R3 deploy dual-process dual-plane ISIS1 and ISIS2. ISIS1 enables SR, and ISIS2 enables LDP. The prefix-Sid of R1, R2, and R3 (R1's prefix-Sid is 1, R2's prefix-Sid is 2, and R3's prefix is ​​3) are advertised in the ISIS1 and ISIS2 processes, with ISIS2 routes having a higher priority than ISIS1. R2 receives the prefix-Sid(3) flooded by R3, queries if there is a local ISIS2 process with the same prefix (3.3.3.3 as G-prefix(3.3.3.3), and calculates inLabel(203) using prefix-Sid(3) and SRGB (SRGB[200, 299] on R2) according to Formula 1 as G-inlabel(203). G-inlabel is shared by all processes. When the prefix-Sid of R3 cannot be found in ISIS2, G-inlabel is taken as the inlabel of ISIS2 to form the first label forwarding table, realizing the label adhesion from SR to LDP. Traffic from R1 to R3 carries SR label(203) to R2. R2 queries the corresponding LDP outgoing label(0) according to the SR ingoing label(203) and encapsulates the traffic with LDP outgoing label(0) and forwards it to R3.

[0059] Formula 1 is: inLabel = local.SRGB + dest.prefix - Sid;

[0060] Routing priority can be adjusted using routing distance, metric, or other routing methods.

[0061] The following is a detailed description of this embodiment.

[0062] Figure 6 This is a schematic diagram of public network tunnel bonding achieved through tag borrowing according to this embodiment. Figure 3 ,like Figure 6 As shown, it includes:

[0063] Step 101: Configure public network loopback interfaces on R1, R2, and R3 (R1: 1.1.1.1; R2: 2.2.2.2; R3: 3.3.3.3). Configure ISIS instance 1 between R1 and R2 to advertise public network loopback routes, deploying SR-MPLS on the public network. Configure ISIS instance 1 and ISIS instance 2 between R2 and R3, enabling loopback routes on both instances simultaneously. ISIS instance 1 deploys SR, and ISIS instance 2 deploys LDP. The optimal route from R2 to R3 is the one advertised by ISIS1, with LDP on the public network.

[0064] Step 102: Establish BGP VPN or EVPN neighbors between R1, R2, and R3 via the Loopback interface; create vrf1 on R1 and R3, and advertise routes under vrf1 to each other via BGP (vrf1 address 10.1 on R1, vrf1 address 30.1 on R3).

[0065] Step 103: R2 receives prefix1-Sid(3) flooded by R3 through ISIS instance 1, queries whether there is a local ISIS2 process with the same prefix1 (3.3.3.3), and uses this prefix1 as G-prefix1; uses the corresponding prefix1-Sid(3) and SRGB(R2[200,299] according to formula 1 (inLabel=local.SRGB+dest.prefix-Sid) to calculate the inLabel11(203) corresponding to this prefix1 as G-inLabel11. bel. G-inlabel is shared by all processes. In the first label forwarding table formed by ISIS2, the ingress label corresponding to prefix1 is filled as inLabel1 (203). R1 ​​receives prefix1-Sid (3) flooded by R3, and calculates the corresponding outgress label as outLabel1 (203) according to formula 2 (OutLabel=nh.SRGB+dest.prefix-Sid). Among them, local.SRGB in formula 1 and SRGBnh.SRGB of the next node in formula 2 both refer to the SRGB of R2.

[0066] Step 104: Send a message with a destination address of 30.1 on R1. When the message is forwarded from R1, it carries outLabel1 (203) on the outer layer. On R2, according to outLabel1, the first label forwarding table is found to have an inLabel1 as the inbound label and an LDP label (0) as the outbound label. Then, remove outLabel1, encapsulate it with an LDP outbound label (0), and forward it to R3.

[0067] In another embodiment, this embodiment solves the problem of traffic interruption caused by label discontinuity in the coexistence scenario of SR and traditional MPLS by multi-process shared forwarding. ISIS2 deployed between R2 and R3 enables RSVP automatic routing, and the routing level of ISIS2 is higher than that of ISIS1. R3's ISIS process 1 receives the prefix-Sid (1) flooded by R1, calculates inLabel (301) according to Formula 1 using Sid and SRGB (R3[300, 399]) as G-inlabel; calculates outlabel (201) according to Formula 2 (OutLabel=nh.SRGB+dest.prefix-Sid) as G-outlabel, which is shared by all processes. R3 cannot find R1's prefix-Sid (1.1.1.1) in ISIS2, and uses G-outlabel as R3's outlabel (201). The optimal exit from R3 to R1 is the RSVP tunnel, forming an SR forwarding label G-outlabel over R3 to R1. rsvp; The inbound label is the G-inlabel (301) calculated by ISIS1; The traffic from R3 to R1 is forwarded to R2 with an outer RSVP-TE label (0) and an inner SR label (201). R2 removes the RSVP-TE label, queries the corresponding outbound label (101) based on the SR label (201), and encapsulates the traffic with the SR outbound label (101) before forwarding it to R1.

[0068] Formula 2 is: outLabel = nh.SRGB + dest.prefix - Sid;

[0069] Enabling RSVP automatic routing in ISIS2 is just one way to adjust route priorities; other routing methods, such as static routing, can also be used to adjust them.

[0070] Figure 7 This is a schematic diagram of public network tunnel bonding achieved through tag borrowing according to this embodiment. Figure 4 ,like Figure 7 As shown, it includes:

[0071] Step 201: Configure public network loopback interfaces on R1, R2, and R3 (R1: 1.1.1.1; R2: 2.2.2.2; R3: 3.3.3.3). Configure ISIS instance 1 between R1 and R2 to advertise public network loopback routes, deploying SR-MPLS on the public network. Configure ISIS instance 1 and ISIS instance 2 between R2 and R3, enabling loopback routes on both instances simultaneously. ISIS instance 1 deploys SR, and ISIS instance 2 deploys RSV-TE. The optimal route from R2 to R3 is the one advertised by ISIS1, and the public network route is RSVP-TE.

[0072] Step 202: R1, R2, and R3 establish a BGP VPN or EVPN neighbor relationship through the Loopback interface; create vrf1 on R1 and R3, and advertise routes under vrf1 to each other through BGP (vrf1 address 10.1 on R1, vrf1 address 30.1 on R3).

[0073] Step 203: R3 receives prefix2-Sid(1) flooded by R1 through ISIS instance 1, calculates inLabel2(301) as G-inlabel using Sid and SRGB according to formula 1 (inLabel=local.SRGB+dest.prefix-Sid); calculates outLabel2(201) as G-outlabel using formula 2 (OutLabel=nh.SRGB+dest.prefix-Sid), which is shared by all processes. The optimal exit from R3 to R1 is RSVP tunnel (tunnel13), with outlabel set to outLabel2(201) and inlabel set to inLabel2(301). R2 receives prefix2-Sid(1) announced by R1, and calculates the corresponding SR inlabel inLabel3(201) and outlabel outLabel3(101) according to formulas 1 and 2. Here, inLabel3 calculated on R2 and outLabel2 calculated on R3 are equal.

[0074] Step 204: R3 sends a message with a destination address of 10.1. When forwarding the message from R3, it carries two layers of labels: the inner layer carries outLabel2 (201) and the outer layer carries RSVP-TE label (0). When the TE tunnel terminates on R2, the outer TE label (0) is removed. Based on the inner outLabel2 (201), the entry with the ingress label InLabel3 (201) in the second label forwarding table is found. The outgress label of this entry is outLabel3 (101). At this time, the outLabel2 label of the traffic is removed, and outLabel3 (101) is encapsulated and forwarded to R1.

[0075] According to another embodiment of this application, a traffic packet processing apparatus is also provided, applied to a splicing node. Figure 8 This is a block diagram of a traffic packet processing apparatus according to an embodiment of this application, such as... Figure 8 As shown, the device includes:

[0076] The first receiving module 82 is used to receive a first traffic packet sent by the first node through the segmented routing SR channel, wherein the first traffic packet carries the first target SR outgoing label of the first node;

[0077] The first determining module 84 is used to obtain the first target SR input label based on the first target SR output label;

[0078] The second determining module 86 is used to determine the first target non-SR outgoing label corresponding to the first target SR incoming label according to the first label forwarding table stored in advance, wherein the label forwarding table stores the correspondence between SR incoming labels and non-SR outgoing labels;

[0079] The first sending module 88 is used to encapsulate the first target non-SR outgoing label into the first traffic packet and then forward it to the second node through the non-SR channel.

[0080] In one embodiment, the device further includes:

[0081] The second receiving module is used to receive the routing Sid of the second node sent by the second node through instance 1, wherein instance 1 is configured between the splicing node and the first node; instance 1 and instance 2 are configured between the splicing node and the second node, wherein instance 1 is used to deploy the SR channel and instance 2 is used to deploy the non-SR channel.

[0082] The third determining module is used to determine that there is an instance 2 configured between the second node and the second node, and the route prefix1 corresponding to the instance 2 is the same as the route of the second node. It determines the SR ingress label 1 of the splicing node according to the Sid of the second node and uses the SR ingress label 1 of the splicing node as the general ingress label.

[0083] The extraction module is used to determine the general inbound label as the SR inbound label of the splicing node when the routing Sid of the second node cannot be found in the instance 2, obtain the non-SR outbound label assigned by the second node, and store the correspondence between the SR inbound label and the non-SR outbound label in the first label forwarding table.

[0084] In one embodiment, the third determining module is further configured to obtain the local sRGB of the splicing node; and determine the sum of the Sid of the second node and the local sRGB of the splicing node as the SR input tag 1 of the splicing node.

[0085] In one embodiment, the device further includes:

[0086] The third receiving module is used to receive a second traffic packet sent by the second node through the TE channel when the non-SR channel is the TE channel. The second traffic packet carries an outer label and an inner label. The outer label is a TE outgoing label and the inner label is a general outgoing label.

[0087] The stripping module is used to strip the TE outgoing label, extract the general outgoing label, and match the target SR incoming label of the splicing node according to the general outgoing label.

[0088] The fourth determining module is used to determine the second target SR outgoing label corresponding to the target SR incoming label according to the pre-stored second label forwarding table, wherein the second label forwarding table stores the correspondence between SR incoming labels and SR outgoing labels;

[0089] The second sending module is used to encapsulate the second target SR outgoing label into the second traffic packet and then forward it to the first node through the SR channel.

[0090] In one embodiment, the general outgoing label is an outgoing label determined by the second node based on the first node's routing Sid sent by the first node through instance 1, and the local sRGB of the splicing node. Instance 1 is configured between the splicing node and the first node; instance 1 and instance 2 are configured between the splicing node and the second node. Instance 1 is used to deploy the SR channel, and instance 2 is used to deploy the TE channel.

[0091] In one embodiment, the device further includes:

[0092] The fourth receiving module is used to receive the route Sid of the first node announced by the first node;

[0093] The fifth determining module is used to determine the SR ingress label 2 and the SR egress label based on the routing Sid of the first node;

[0094] The storage module is used to store the correspondence between the SR ingress tag 2 and the SR egress tag in the second tag forwarding table.

[0095] In one embodiment, the fifth determining module is further configured to determine the sum of the local sRGB of the splicing node and the route Sid of the first node as the SR ingress label 2; and to determine the sum of the sRGB of the first node and the route Sid of the first node as the SR egress label.

[0096] In one embodiment, the splicing node establishes a BGP VPN or EVPN neighbor relationship with the first node and the second node through the Loopback interface. A vrf1 is created on the first node and the second node, and the routes under the vrf1 are advertised to each other through BGP.

[0097] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above method embodiments when run.

[0098] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.

[0099] Embodiments of this application also provide an electronic device including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.

[0100] In one exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor and the input / output device is connected to the processor.

[0101] Specific examples in this embodiment can be found in the examples described in the above embodiments and exemplary implementations, and will not be repeated here.

[0102] Obviously, those skilled in the art should understand that the modules or steps of this application described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. They can be implemented using computer-executable program code, and thus can be stored in a storage device for execution by a computing device. In some cases, the steps shown or described can be performed in a different order than those presented here, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, this application is not limited to any particular combination of hardware and software.

[0103] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the principles of this application should be included within the protection scope of this application.

Claims

1. A method for processing traffic packets, characterized in that, Applied to splicing nodes, the method includes: The first traffic packet sent by the first node is received through the segmented routing SR channel, wherein the first traffic packet carries the first target SR outgoing label of the first node; The first target SR input label is obtained by matching the first target SR output label; The first target non-SR outgoing label corresponding to the first target SR incoming label is determined according to the first label forwarding table stored in advance, wherein the first label forwarding table stores the correspondence between SR incoming labels and non-SR outgoing labels; After encapsulating the first target non-SR outgoing label into the first traffic packet, it is forwarded to the second node through the non-SR channel; When the non-SR channel is a TE channel, the second traffic packet sent by the second node is received through the TE channel. The second traffic packet carries an outer label and an inner label. The outer label is a TE outgoing label, and the inner label is a general outgoing label. Strip the TE output label, extract the general output label, and match the target SR input label of the splicing node according to the general output label; The second target SR outgoing label corresponding to the target SR ingoing label is determined according to the pre-stored second label forwarding table, wherein the second label forwarding table stores the correspondence between SR ingoing labels and SR outgoing labels; After encapsulating the second target SR outgoing label into the second traffic packet, it is forwarded to the first node through the SR channel.

2. The method according to claim 1, characterized in that, The method further includes: The second node receives the routing segment identifier Sid of the second node sent by the second node through instance 1, wherein instance 1 is configured between the splicing node and the first node; instance 1 and instance 2 are configured between the splicing node and the second node, wherein instance 1 is used to deploy SR channels and instance 2 is used to deploy non-SR channels; It is determined that instance 2 is configured between the second node and the second node, and the route prefix1 corresponding to instance 2 is the same as the route of the second node. Based on the Sid of the second node, the SR ingress label 1 of the splicing node is determined, and the SR ingress label 1 of the splicing node is used as the general ingress label. If the routing Sid of the second node cannot be found in Example 2, the general inbound label is determined as the SR inbound label of the splicing node, the non-SR outbound label allocated by the second node is obtained, and the correspondence between the SR inbound label and the non-SR outbound label is stored in the first label forwarding table.

3. The method according to claim 2, characterized in that, The SR input tag 1 of the splicing node is determined based on the Sid of the second node, including: Obtain the local sRGB of the splicing node; The sum of the Sid of the second node and the local sRGB of the splicing node is determined as the SR input tag 1 of the splicing node.

4. The method according to claim 1, characterized in that, The general outgoing label is the outgoing label determined by the second node after receiving the routing Sid of the first node sent by the first node through instance 1, based on the routing Sid of the first node and the local sRGB of the splicing node. Instance 1 is configured between the splicing node and the first node; Instance 1 and Instance 2 are configured between the splicing node and the second node. Instance 1 is used to deploy the SR channel, and Instance 2 is used to deploy the TE channel.

5. The method according to claim 1, characterized in that, The method further includes: Receive the route Sid of the first node announced by the first node; The SR ingress label 2 and SR egress label are determined based on the routing Sid of the first node; The correspondence between the SR ingress label 2 and the SR egress label is stored in the second label forwarding table.

6. The method according to claim 5, characterized in that, Based on the routing Sid of the first node, the SR ingress label 2 and SR egress label are determined to include: The sum of the local sRGB value of the splicing node and the route Sid of the first node is determined as the SR ingress label 2; The sum of the sRGB of the first node and the route Sid of the first node is determined as the SR outgoing label.

7. The method according to any one of claims 1 to 6, characterized in that, The splicing node establishes a BGP VPN or EVPN neighbor relationship with the first node and the second node through the Loopback interface. The first node and the second node have a vrf1 created on them, and the routes under the vrf1 are advertised to each other through BGP (Border Gateway Protocol).

8. A traffic message processing device, characterized in that, The device, applied to splicing nodes, includes: The first receiving module is configured to receive a first traffic packet sent by the first node through a segmented routing SR channel, wherein the first traffic packet carries a first target SR outgoing label of the first node; The first determining module is used to obtain the first target SR input label based on the first target SR output label; The second determining module is used to determine the first target non-SR outgoing label corresponding to the first target SR incoming label according to the first label forwarding table stored in advance, wherein the first label forwarding table stores the correspondence between SR incoming labels and non-SR outgoing labels; The first sending module is used to encapsulate the first target non-SR outgoing label into the first traffic packet and then forward it to the second node through the non-SR channel; The third receiving module is used to receive a second traffic packet sent by the second node through the TE channel when the non-SR channel is the TE channel. The second traffic packet carries an outer label and an inner label. The outer label is a TE outgoing label and the inner label is a general outgoing label. The stripping module is used to strip the TE outgoing label, extract the general outgoing label, and match the target SR incoming label of the splicing node according to the general outgoing label. The fourth determining module is used to determine the second target SR outgoing label corresponding to the target SR incoming label according to the pre-stored second label forwarding table, wherein the second label forwarding table stores the correspondence between SR incoming labels and SR outgoing labels; The second sending module is used to encapsulate the second target SR outgoing label into the second traffic packet and then forward it to the first node through the SR channel.

9. A computer-readable storage medium storing a computer program, wherein, The computer program is configured to execute the method described in any one of claims 1 to 7 when it is run.

10. An electronic device comprising a memory and a processor, the memory storing a computer program, the processor being configured to run the computer program to perform the method of any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method and apparatus for publishing address information

    CN105323176A