A routing processing method and device
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- NEW H3C TECH CO LTD
- Filing Date
- 2026-05-08
- Publication Date
- 2026-06-05
AI Technical Summary
When SFC is applied in MPLS to SRv6 networking, there is a problem of packet loss due to oscillation, and the maintenance cost of the SID list on the SFF node is high.
By publishing private network routes carrying preset label parameters to interconnecting devices through network devices in the MPLS domain, a fixed End.T SID is generated based on the preset label parameters, and the function field of the preset SID is replaced with it to ensure that the End.T SID does not change due to network fluctuations, and it is configured on the SFF node.
It solved the packet dropping problem caused by oscillation, reduced the maintenance cost of the SID list on the SFF node, and achieved stable communication between the MPLS domain and the SRv6 domain.
Smart Images

Figure CN122160313A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a routing processing method and apparatus. Background Technology
[0002] In a Multiprotocol Label Switching to Segment Routing IPv6 (MPLS to SRv6) network, the interconnecting devices between the MPLS and SRv6 domains associate the MPLS labels of each Virtual Private Network (VPN) instance with the segment identifiers (SIDs) in the Endpoint.Table (End.T). This association between the MPLS labels and End.T SIDs of each VPN instance enables communication between the MPLS and SRv6 domains. The SRv6 Service Function Chain (SFC) allows packets to be forwarded within the SRv6 domain to Service Function (SF) nodes for filtering and other operations before being forwarded back to the network devices for service forwarding.
[0003] In MPLS to SRv6 networking, when using SFC, for Service Function (SF) nodes that cannot recognize SRv6 packets, a list of SIDs needs to be manually configured on the Service Function Forwarder (SFF) nodes. This list includes the End.T SIDs on interconnecting devices. When an SFF node receives a packet processed by an SF node, it queries the SID list for the included End.T SIDs, re-encapsulates the packet with an SRv6 header, and forwards it. Upon receiving the packet forwarded by the SFF node, the interconnecting devices utilize the association between MPLS labels and End.T SIDs under each VPN instance to encapsulate the packet with an MPLS label, and then iteratively forward the packet to the specified Label Switched Path (LSP) tunnel.
[0004] When fluctuations occur in an MPLS to SRv6 network, the association between MPLS labels and End.TSIDs on interconnected devices may change, causing the End.TSIDs included in the SID list on the SFF node to become invalid. If the SFF node continues to repackage packets with SRv6 headers using the invalid End.TSIDs included in the SID list, the interconnected devices will discard the packets because they cannot recognize the SRv6 headers. To resolve this issue, users need to query the new End.TSID corresponding to the discarded packets from the interconnected devices and update the SID list on the SFF node with the new End.TSID. However, in actual network deployments, with complex services and numerous VPN instances, updating the SID list on the SFF node using the above method is very difficult and has extremely high maintenance costs when frequent network fluctuations occur. Summary of the Invention
[0005] The purpose of this application is to provide a routing processing method and apparatus to solve the problem of packet loss due to oscillation when applying SFC in MPLS to SRv6 networking, and to reduce the maintenance cost of the SID list on the SFC node. The specific technical solution is as follows:
[0006] In a first aspect, embodiments of this application provide a routing processing method applied to interconnecting devices in an MPLS to SRv6 network. The method includes: receiving a private network route published by a network device included in an MPLS domain, the private network route including preset label parameters of the network device under a VPN instance; determining the End.T segment corresponding to the network device based on the preset label parameters; replacing the functional fields included in a preset SID with the End.T segment to obtain the End.TSID of the network device, wherein the length of the End.T segment is the same as the length of the functional fields.
[0007] In some embodiments, the preset label parameters include the device identifier of the network device and the offset of the MPLS label of the network device relative to the label base value, and the End.T segment includes the device identifier and the offset.
[0008] In some embodiments, the preset label parameters further include the label base value of the network device; the method further includes: superimposing the label base value and the offset included in the preset label parameters to obtain the MPLS label of the network device under the VPN instance; and associating the MPLS label with the End.T SID.
[0009] In some embodiments, the preset label parameters include the device identifier and label base value of the network device, and the offset of the MPLS label of the network device relative to the label base value; the private network route includes BGP path attributes and extended community attributes, wherein the BGP path attributes carry the label base value; and the extended community attributes carry the device identifier and the offset.
[0010] In some embodiments, the extended community attribute includes a first field and a second field, the first field carrying the device identifier and the second field carrying the offset, the first field and the second field being in consecutive positions, and the order of the first field and the second field being consistent with the order of the device identifier and the offset in the End.T segment.
[0011] Secondly, embodiments of this application provide a routing processing method applied to network devices within an MPLS domain in an MPLS to SRv6 network. The method includes: obtaining preset label parameters of the network device under a VPN instance; sending a private network route to interconnecting devices in the MPLS to SRv6 network, the private network route including the preset label parameters; enabling the interconnecting devices to determine the End.T segment corresponding to the network device based on the preset label parameters; replacing the functional fields included in the preset SID with the End.T segment to obtain the End.T SID of the network device, wherein the length of the End.T segment is the same as the length of the functional fields.
[0012] In some embodiments, the step of obtaining the preset label parameters of the network device under the VPN instance includes: after enabling the fixed label function, obtaining the preset label parameters of the network device under the VPN instance.
[0013] In some embodiments, the preset label parameters include the device identifier and label base value of the network device, and the offset of the MPLS label of the network device relative to the label base value; the private network route includes BGP path attributes and extended community attributes, wherein the BGP path attributes carry the label base value; and the extended community attributes carry the device identifier and the offset.
[0014] In some embodiments, the extended community attribute includes a first field and a second field, the first field carrying the device identifier and the second field carrying the offset, the first field and the second field being in consecutive positions, and the order of the first field and the second field being consistent with the order of the device identifier and the offset in the End.T segment.
[0015] Thirdly, this application provides a routing processing apparatus applied to interconnecting devices in an MPLS to SRv6 network. The apparatus includes: a receiving module for receiving private network routes published by network devices within an MPLS domain, wherein the private network routes include preset label parameters of the network devices under a VPN instance; a determining module for determining the End.T segment corresponding to the network device based on the preset label parameters; and a replacement module for replacing the functional fields included in the preset SID with the End.T segment to obtain the End.T SID of the network device, wherein the length of the End.T segment is the same as the length of the functional fields.
[0016] Fourthly, this application provides a routing processing apparatus applied to network devices within an MPLS domain in an MPLS to SRv6 network. The apparatus includes: an acquisition module for acquiring preset label parameters of the network device under a VPN instance; and a sending module for sending a private network route to interconnecting devices in the MPLS to SRv6 network, the private network route including the preset label parameters; enabling the interconnecting devices to determine the corresponding End.T segment of the network device based on the preset label parameters; and replacing the functional fields included in the preset SID with the End.T segment to obtain the End.T SID of the network device, wherein the length of the End.T segment is the same as the length of the functional fields.
[0017] Fifthly, embodiments of this application provide a network device, including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other via the communication bus; the memory is used to store computer programs; and the processor is used to execute the program stored in the memory to implement any of the methods provided in the first aspect or any of the methods provided in the second aspect.
[0018] In a sixth aspect, embodiments of this application provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements any of the methods provided in the first aspect or any of the methods provided in the second aspect.
[0019] This application also provides a computer program product containing instructions that, when run on a computer, cause the computer to perform any of the methods provided in the first aspect or any of the methods provided in the second aspect.
[0020] Beneficial effects of the embodiments in this application:
[0021] In the technical solution provided in this application embodiment, when network devices in the MPLS domain advertise private network routes to interconnecting devices in an MPLS to SRv6 network, the private network routes carry preset label parameters under the VPN. The interconnecting devices generate an End.T SID under the VPN based on the preset label parameters and the preset SID. Since the preset label parameters and the preset SID of the network devices under the VPN are fixed, the End.T SID generated by the interconnecting devices based on the fixed information is also fixed and will not change due to frequent network fluctuations. When users configure the End.T SID generated by the technical solution provided in this application embodiment on the SFF node, the End.T SID on the SFF node will not become invalid when frequent network fluctuations occur, thus eliminating the need to manually update the SID list on the SFF node. This solves the problem of packet drop due to fluctuations when applying SFC in an MPLS to SRv6 network, and also reduces the maintenance cost of the SID list on the SFF node.
[0022] Of course, implementing any product or method of this application does not necessarily require achieving all of the advantages described above at the same time. Attached Figure Description
[0023] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other embodiments can be obtained based on these drawings.
[0024] Figure 1 A schematic diagram of an MPLS to SRv6 network;
[0025] Figure 2 This is a schematic diagram of a first flowchart of a routing processing method provided in an embodiment of this application;
[0026] Figure 3 A schematic diagram illustrating the extended community attributes provided in this application embodiment;
[0027] Figure 4 This is a second flowchart illustrating the routing processing method provided in the embodiments of this application;
[0028] Figure 5 This is a schematic diagram of a third type of routing processing method provided in an embodiment of this application;
[0029] Figure 6a A schematic diagram of the routing announcement process provided in an embodiment of this application;
[0030] Figure 6bA schematic diagram of the message forwarding process provided in the embodiments of this application;
[0031] Figure 7 This is a schematic diagram of a first structure of the routing processing apparatus provided in an embodiment of this application;
[0032] Figure 8 This is a second structural schematic diagram of the routing processing device provided in the embodiments of this application;
[0033] Figure 9 This is a schematic diagram of the structure of a network device provided in an embodiment of this application. Detailed Implementation
[0034] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art based on this application are within the scope of protection of this application.
[0035] For ease of understanding, the terms appearing in the embodiments of this application are explained below.
[0036] SRv6 Service Function Chain (SFC): A technology that guides packets through application layer service devices such as firewalls or intrusion prevention systems along a specified path by adding SRv6 path information to the original packets.
[0037] Service Function (SF) nodes: Nodes that provide specific application services for business traffic. SF nodes are application layer service devices. SF nodes that cannot recognize SRv6 packets are called SRv6-unaware SF nodes, while SF nodes that can recognize SRv6 packets are called SRv6-aware SF nodes.
[0038] Service Function Forwarder (SFF) nodes act as service chain proxies for SF nodes. Based on SRv6 encapsulation information, they forward packets to several SF nodes associated with the SFF node. After processing the packet, the SF node returns the packet to the SFF node, which then decides whether to continue forwarding the packet.
[0039] Endpoint.Table (End.T) SID: In cross-domain VPN scenarios (such as Option B scenarios), Autonomous System Boundary Routers (ASBRs) in the Segment Routing IPv6 (SRv6) domain based on the IPv6 forwarding plane assign End.T SIDs according to the Forwarding Equivalence Class (FEC) and advertise them to other SRv6 nodes in the network via the Interior Gateway Protocol (IGP). The forwarding action corresponding to the End.T SID is: remove the outer IPv6 header and look up the Forwarding Information Base (FIB) table based on the End.T SID to forward the packet.
[0040] Endpoint.Autonomous System (End.AS) SID: The core SID type in the static proxy mode of SRv6 SFC. The End.AS SID is used to identify a specific application service node in the SRv6 SFC network. The forwarding action corresponding to the End.AS SID is:
[0041] 1) Before a message is sent from the Service Function Forwarder (SFF) node to the SF node, the SFF node first decapsulates the message, removes the outer IPv6 header, and then forwards the message according to the outgoing interface associated with the destination address (i.e., End.AS SID).
[0042] 2) After a message is sent from the SF node to the SFF node, the SFF node re-encapsulates the message based on the ingress interface (or the End.AS SID associated with the ingress interface and the Virtual Local Area Network (VLAN) and its configuration. Different SFC service instances cannot share the same ingress interface.
[0043] Static Proxy (SFC): This is suitable for scenarios where the SF node cannot recognize SRv6 packets. Since the SF node cannot recognize SRv6 packets, the SFF node needs to decapsulate the SRv6 packet to obtain the original data packet, and then forward the original data packet to the SF node for processing. After processing the original data packet, the SF node forwards it back to the SFF node, which then decides whether to continue forwarding the packet in the SRv6 SFC network. If forwarding continues in the SRv6 SFC network, the SFF node recapsulates the SRv6 header of the processed original data packet according to a manually configured SID list and forwards it. The manually configured SID list can also be called a cache list.
[0044] In an MPLS to SRv6 network, the interconnecting device assigns MPLS labels and End.T SIDs to network devices in the MPLS domain under each VPN instance, associates the MPLS label with the End.T SID, and advertises SRv6 routes carrying the End.T SID to network devices in the SRv6 domain. Network devices in the SRv6 domain insert the SRv6 route into the corresponding VPN instance based on the Route Target (RT) attribute in the SRv6 route and advertise the SRv6 route to user equipment. Subsequently, user equipment can send data packets to network devices in the MPLS domain based on this SRv6 route.
[0045] When a data packet enters the MPLS domain from the SRv6 domain, the header node encapsulates the data packet with an End.T SID. The interconnecting devices, based on the destination address (i.e., the End.T SID), query the IPv6 Forwarding Information Base (FIB) table to encapsulate the data packet with an MPLS label, and then iteratively forward the packet to the specified LabelSwitched Path (LSP) tunnel. When a data packet enters the SRv6 domain from the MPLS domain, the interconnecting devices, based on the MPLS label carried by the data packet, query the label forwarding table to convert the MPLS label carried by the data packet into an SID, and then forward the packet to the tail node.
[0046] When applying SFC in an MPLS to SRv6 network, such as Figure 1The network topology shown is as follows: from the cloud provider's network edge (PE) device to the aggregation device, it is an SRv6 domain; from the aggregation device to the access device, it is an MPLS domain. Multiple VPN instances are configured on the access devices. Aggregator devices 1 and 2 are interconnecting devices, and each aggregation device contains the association between the MPLS labels and End.T SIDs of the access devices under multiple VPN instances. Firewalls 1 and 2 are SF nodes and cannot recognize SRv6 packets. Core devices 1 and 2 are SFF nodes, and each core device contains a manually configured SID list, which includes multiple End.T SIDs from aggregation devices 1 and 2.
[0047] Taking core device 1 as an example, core device 1 decapsulates the SRv6 packet from the cloud PE device to obtain the original data packet, and then forwards the original data packet to firewall 1 for processing. After firewall 1 processes the original data packet, it forwards it back to core device 1. Core device 1 recapsulates the SRv6 header for the processed original data packet according to the End.T SID in the manually configured SID list, and forwards it to aggregation device 1. Aggregation device 1 queries the IPv6 FIB table according to the End.T SID in the data packet, encapsulates the data packet with an MPLS label, and then iterates the packet to the designated LSP tunnel for forwarding to the access device.
[0048] When fluctuations occur in an MPLS to SRv6 network, the association between the MPLS label and the End.TSID on aggregation device 1 may change, causing the End.TSIDs included in the SID list on core device 1 to become invalid. If core device 1 continues to repackage the SRv6 header with packets using the invalid End.TSIDs included in the SID list, aggregation device 1 will discard the data packet because it cannot recognize the End.TSID in the data packet. To solve this problem, users need to query the new End.TSID corresponding to the discarded packet from aggregation device 1 and update the SID list on the SFF node with the new End.TSID. However, in actual network deployments, services are complex, VPN instances are numerous, and updating the SID list on the SFF node using the above method is very difficult and has extremely high maintenance costs when frequent network fluctuations occur.
[0049] To address the issue of packet loss due to oscillations when using SFC in MPLS to SRv6 networks, and to reduce the maintenance cost of the SID list on the SFC node, this application provides a routing processing method, such as... Figure 2 As shown, the method for interoperability devices applied in MPLS to SRv6 networking includes:
[0050] Step S201: Receive private network routes published by network devices included in the MPLS domain. The private network routes include the preset label parameters of the network devices under the VPN.
[0051] Step S202: Determine the End.T segment corresponding to the network device according to the preset tag parameters;
[0052] Step S203: Replace the function fields included in the preset SID with the End.T segment to obtain the End.T SID of the network device. The length of the End.T segment is the same as the length of the function fields.
[0053] In the technical solution provided in this application embodiment, when network devices in the MPLS domain advertise private network routes to interconnecting devices in an MPLS to SRv6 network, the private network routes carry preset label parameters under the VPN. The interconnecting devices generate an End.T SID under the VPN based on the preset label parameters and the preset SID. Since the preset label parameters and the preset SID of the network devices under the VPN are fixed, the End.T SID generated by the interconnecting devices based on the fixed information is also fixed and will not change due to frequent network fluctuations. When users configure the End.T SID generated by the technical solution provided in this application embodiment on the SFF node, the End.T SID on the SFF node will not become invalid when frequent network fluctuations occur, thus eliminating the need to manually update the SID list on the SFF node. This solves the problem of packet drop due to fluctuations when applying SFC in an MPLS to SRv6 network, and also reduces the maintenance cost of the SID list on the SFF node.
[0054] In this embodiment, the MPLS to SRv6 network includes an MPLS domain and an SRv6 domain. The MPLS domain includes one or more network devices, and the SRv6 domain includes one or more network devices. Interconnection devices are the boundary devices between the MPLS and SRv6 domains, enabling communication between them. For ease of understanding, the network devices included in the MPLS domain will be referred to as MPLS devices, and the network devices included in the SRv6 domain will be referred to as SRv6 devices.
[0055] In step S201 above, the preset label parameters are the label parameters pre-configured on the MPLS device, and the preset label parameters are used to generate the End.T SID. In this embodiment, the preset label parameters may include, but are not limited to, the device identifier (ID) of the MPLS device, the label base value (label_value) of the MPLS device, the offset (offset_value) of the MPLS label of the MPLS device relative to the label base value, and the MPLS label of the MPLS device.
[0056] Each MPLS device has a unique device ID within the MPLS domain. Users can use the Netconf protocol to assign a unique device ID to each MPLS device. For example, an MPLS domain may contain 256 network devices, with device IDs ranging from 0 to 255.
[0057] Each MPLS device is configured with one or more VPN instances. Each MPLS device reserves a range of labels for configuring fixed MPLS labels for each VPN instance. This means that all routes advertised by the MPLS device from that VPN instance to interconnected devices are assigned this fixed MPLS label. Different VPN instances on an MPLS device are configured with different fixed MPLS labels, while the same VPN instance on different MPLS devices can have the same or different fixed MPLS labels.
[0058] A fixed MPLS label can be broken down into a label base value and an offset; that is, the label base value and the offset are summed to obtain the fixed MPLS label. In this embodiment, the label base value can be a global variable of the MPLS device, meaning that an MPLS device configures the same label base value for each VPN instance. The label base value can be represented using the global command `mpls-srv6-label label_value`. The offset advertised by an MPLS device to interconnecting devices under different VPN instances is different; the offset under a VPN instance can be represented using the offset command `mpls-srv6-offset offset_value`. In this case, the fixed MPLS label advertised by the MPLS device to interconnecting devices under a VPN instance can be represented as `label_value + offset_value`. In this embodiment, using a label base value and an offset to represent MPLS labels can prevent significant deviations that may exist in the range of label segments supported by different device manufacturers.
[0059] In this embodiment, the MPLS device obtains preset label parameters and publishes a private network route carrying those preset label parameters. The interconnecting device receives the private network route.
[0060] In step S202 above, the End.T segment is used to generate the string of the End.T SID. After receiving the private network route, the interconnecting device extracts the preset label parameters from the private network route and uses the preset label parameters to generate the End.T segment.
[0061] In this embodiment, the End.T segment may include a device ID and an offset, such as {Device ID, Offset}. In this case, the preset tag parameters can be represented in the following form to facilitate interoperability between devices to obtain the End.T segment.
[0062] In Form 1, the preset label parameters include the MPLS device's device ID and the MPLS device's offset within the VPN instance. In this case, the interconnecting devices can extract the device ID and offset from the preset label parameters and combine them to obtain the End.T segment.
[0063] In some examples, private network routes may include extended community attributes, such as the MPLS_Interworking_SRv6 extended community attribute, which carries the device ID and offset. Extended community attributes are BGP attributes; using them to pass device IDs and offsets is compatible with existing standards and simple to implement.
[0064] In this embodiment of the application, the extended community attribute may include a first field and a second field. The first field carries the device ID, and the second field carries the offset. The positions of the first field and the second field are consecutive, and the position order of the first field and the second field is consistent with the position order of the device identifier and the offset in the End.T segment.
[0065] For example, if the End.T segment is {Device ID, Offset}, then the structure of the extended community attribute can be found in [reference needed]. Figure 3 As shown, the Type field carries the type of the extended community attribute, indicating that the extended community attribute is an MPLS_Interworking_SRv6 type identifier, the ID field (first field) carries the device ID, and the Label_Offset field (second field) carries the offset. Figure 3 Each field in the extended community attribute is 2 bytes long, for example only. In this embodiment, the type field in the extended community attribute takes a value within a reserved private range (0x4300~0x43FF), such as the type field taking a value of 0x4301. The ID field takes a value of 0x0000~0xFFFF (i.e., 0~65535), and the tag offset field takes a value of 0x0001~0xFFFF to avoid the End.T segment containing all zeros. The extended community attribute is 8 bytes long, and the remaining part of the extended community attribute is reserved fields, such as... Figure 3 As shown, the last 2 bytes are reserved fields, which can be filled with 0.
[0066] In the extended community attribute, the first and second fields are in consecutive positions, and the order of the first and second fields is consistent with the order of the End.T segment, including the device identifier and offset. In this way, interoperable devices can directly extract the End.T segment from the extended community attribute, which improves the efficiency of generating the End.T SID.
[0067] Form 2: The preset label parameters include the MPLS device ID and the MPLS label of the MPLS device under the VPN instance. In this case, the interoperability device has a pre-set label base value, i.e., the preset label base value. The interoperability device extracts the device ID and MPLS label from the preset label parameters, subtracts the preset label base value from the MPLS label to obtain the offset, and combines the device ID and the offset to obtain the End.T segment.
[0068] In this embodiment, the private network route may include BGP path attributes, which carry MPLS labels. The MPLS labels can be transmitted using existing BGP path attributes, such as the Multiprotocol_Reachable_Network Layer Reachability Information (MP_REACH_NLRI) attribute. This is consistent with existing standards.
[0069] Form 3: The preset label parameters include the MPLS device's device ID, the MPLS device's label base value, and the MPLS label of the MPLS device under the VPN instance. In this case, the interconnecting device extracts the device ID, label base value, and MPLS label from the preset label parameters, subtracts the label base value from the MPLS label to obtain the offset, and combines the device ID and the offset to obtain the End.T segment.
[0070] In this embodiment, the private network route may include BGP path attributes, which carry MPLS labels and label base values. MPLS labels and label base values can be transmitted using existing BGP path attributes; for example, MPLS labels can be transmitted using the MP_REACH_NLRI attribute. This is consistent with existing standards.
[0071] In this embodiment of the application, the preset label parameters can also be represented in other forms, as long as the End.T segment can be determined.
[0072] In step S203 above, the preset SID is a pre-configured SID on the interconnecting device, which is a dedicated locator used by the MPLS to SRv6 service, such as `locator xxx ipv6-prefix 1000:1000:1000:1000:: 64args 32`. Users can use the Netconf protocol to issue the preset SID to the interconnecting device. The length of the functional fields included in the preset SID is the same as the length of the End.T segment. For example, if the length of the End.T segment is 4 bytes, the length of the functional fields included in the preset SID is also 4 bytes.
[0073] After obtaining the End.T segment, the interoperating device can replace the function fields included in the preset SID with the obtained End.T segment. The replaced preset SID becomes the MPLS device's End.T SID. Then, the interoperating device can advertise SRv6 routes carrying this End.T SID to the SRv6 device. The SRv6 device, based on the RT attribute in the SRv6 route, inserts the SRv6 route into the corresponding VPN instance and advertises the SRv6 route to user equipment. Subsequently, user equipment can send data packets to the MPLS device based on this SRv6 route.
[0074] Furthermore, the End.T SID of MPLS devices on interconnecting devices is generated based on fixed information, and this End.T SID is also fixed. When applying SFC in MPLS to SRv6 networking, after the user configures this fixed End.T SID in the SID list (i.e., cache list) of the SFF node, the End.T SID in the SFF node's SID list will no longer need to be frequently modified due to network instability.
[0075] In some embodiments, the preset label parameters include the network device's device identifier, the network device's label base value, and the offset of the network device's MPLS label relative to the label base value. In this case, such as... Figure 4 As shown, a routing processing method is also provided, which is applied to interconnecting devices in an MPLS to SRv6 network. The method may include steps S401 to S405, and steps S401 to S403 are the same as steps S201 to S203 above.
[0076] Step S404: Overlay the label base value and offset included in the preset label parameters to obtain the MPLS label of the network device under the VPN instance;
[0077] Step S405: Associate the MPLS tag with the End.T SID.
[0078] In the technical solution provided in this application embodiment, the interconnection device generates an MPLS label under the VPN instance using fixed information. This MPLS label is fixed and is associated with the End.T SID. When the MPLS domain and the SRv6 domain interconnect, the interconnection device can use the association between the fixed MPLS label and the fixed End.T SID to achieve stable interconnection between the MPLS domain and the SRv6 domain. This eliminates the need to refresh the association between the MPLS label and the End.T SID due to network instability, thus reducing the burden on the interconnection device.
[0079] In this embodiment, the private network route may include BGP path attributes, which carry label base values. The label base values can be transmitted using existing BGP path attributes; for example, MPLS labels can be transmitted using the MP_REACH_NLRI attribute. This is consistent with existing standards and facilitates implementation.
[0080] In this embodiment of the application, the interconnection device can also directly assign MPLS labels under the VPN instance to the MPLS device and associate the assigned MPLS labels with a fixed End.T SID.
[0081] Corresponding to the routing processing method applied to interconnecting equipment described above, this application also provides a routing processing method, such as... Figure 5 As shown, the method, applied to network devices within the MPLS domain in an MPLS to SRv6 network, includes:
[0082] Step S501: Obtain the preset label parameters of the network device under the VPN instance;
[0083] Step S502: Send a private network route to the interconnecting devices in the MPLS to SRv6 network. The private network route includes preset label parameters. This enables the interconnecting devices to determine the End.T segment corresponding to the network device based on the preset label parameters. Replace the function fields included in the preset SID with the End.T segment to obtain the End.T SID of the network device. The length of the End.T segment is the same as the length of the function fields.
[0084] In the technical solution provided in this application embodiment, when network devices in the MPLS domain advertise private network routes to interconnecting devices in an MPLS to SRv6 network, the private network routes carry preset label parameters under the VPN. The interconnecting devices generate an End.T SID under the VPN based on the preset label parameters and the preset SID. Since the preset label parameters and the preset SID of the network devices under the VPN are fixed, the End.T SID generated by the interconnecting devices based on the fixed information is also fixed and will not change due to frequent network fluctuations. When users configure the End.T SID generated by the technical solution provided in this application embodiment on the SFF node, the End.T SID on the SFF node will not become invalid when frequent network fluctuations occur, thus eliminating the need to manually update the SID list on the SFF node. This solves the problem of packet drop due to fluctuations when applying SFC in an MPLS to SRv6 network, and also reduces the maintenance cost of the SID list on the SFF node.
[0085] In some embodiments, step S501 may be: after enabling the fixed label function, obtaining the preset label parameters of the network device under the VPN instance.
[0086] In this embodiment, the fixed label function can be implemented using commands under the corresponding address cluster, such as peerx.xxx advertise MPLS_Interworking_SRv6. MPLS devices can add commands under the corresponding address cluster to implement the fixed label function, thereby controlling whether to advertise the preset label parameters of the VPN instance in the private network route.
[0087] For example, in an MPLS to SRv6 network, when SFC is used and the SFF node cannot recognize SRv6 packets, the fixed label function is enabled to control the MPLS device's advertisement of the default label parameters for the VPN instance in the private network route. As another example, in an MPLS to SRv6 network, when SFC is used and the SFF node can recognize SRv6 packets, the fixed label function is disabled to control the MPLS device from advertising the default label parameters for the VPN instance in the private network route.
[0088] In this embodiment, the fixed tag function is used to control the MPLS device to announce preset tag parameters. While meeting the requirements, it can reduce the amount of information transmitted in the network and save network bandwidth.
[0089] In some embodiments, the preset label parameters include the device identifier and label base value of the network device, and the offset of the MPLS label of the network device relative to the label base value; the private network route includes BGP path attributes and extended community attributes, the BGP path attributes carrying the label base value; and the extended community attributes carrying the device identifier and offset.
[0090] In some embodiments, the extended community attribute includes a first field and a second field, the first field carrying the device identifier and the second field carrying the offset, the positions of the first field and the second field being consecutive, and the positional order of the first field and the second field being consistent with the positional order of the device identifier and the offset in the End.T segment.
[0091] The following is combined with Figure 1 The network topology shown illustrates the routing processing method provided in this application embodiment. The structure of the extended community attribute can be found in [reference needed]. Figure 3 As shown. Figure 1In the configuration, VPN instance 1 and VPN instance 2 are configured on the access device. The device ID of the access device is 2, the tag base value is 70000, the offset under VPN instance 1 is 11, and the offset under VPN instance 2 is 12. The extended community attribute 1 under VPN instance 1 is 0x43010002000B0000, which means that the End.T segment under VPN instance 1 is 0x0002000B. The extended community attribute 2 under VPN instance 2 is 0x43010002000C0000, which means that the End.T segment under VPN instance 2 is 0x0002000C. The default SID (i.e., dedicated Locator) on aggregation device 1 is locator xxx ipv6-prefix 1000:1000:1000:1000:: 64 args 32.
[0092] During the route publication phase, such as Figure 6a As shown, after receiving the route, the access device advertises extended community attribute 1 and extended community attribute 2 to the aggregation device 1. Aggregation device 1 extracts the End.T segment from extended community attribute 1 and replaces it with the Function field of the preset SID, obtaining a fixed End.T SID 1, i.e., 1000:1000:1000:1000:0002:000B::, and advertises SRv6 route 1 carrying End.T SID 1 to core device 1. Aggregation device 1 extracts the End.T segment from extended community attribute 2 and replaces it with the Function field of the preset SID, obtaining a fixed End.T SID 2, i.e., 1000:1000:1000:1000:0002:000C::, and advertises SRv6 route 2 carrying End.T SID 2 to core device 1. After receiving SRv6 route 1 and SRv6 route 2, core device 1 inserts the corresponding private network VPN instance 1 and VPN instance 2 according to the route RT attribute, and publishes SRv6 route 1 and SRv6 route 2 to user equipment.
[0093] The user retrieves End.T SID 1 and End.T SID 2 from the SID list of core device 1. During the packet forwarding phase, such as... Figure 6bAs shown, core device 1 decapsulates the SRv6 packet from the cloud PE device to obtain the original data packet, and then forwards the original data packet to firewall 1 for processing. After processing the original data packet, firewall 1 forwards it back to core device 1. Core device 1 recapsulates the SRv6 header for the processed original data packet according to the End.TSID (such as End.TSID 2) in the manually configured SID list, and forwards it to aggregation device 1. Aggregation device 1 queries the IPv6 FIB table according to End.TSID 2 in the data packet, encapsulates the MPLS label for the data packet, and then iterates the packet to the specified LSP tunnel for forwarding to the access device. After receiving the packet, the access device removes the MPLS label from the packet and forwards the packet to the user equipment.
[0094] The routing processing method proposed in this application embodiment can ensure a stable association between End.T SIDs and MPLS labels in MPLS to SRv6 networks. It can prevent changes in the association between End.T SIDs and MPLS labels caused by network instability when applying static proxy of service chain in MPLS to SRv6 networks. It also prevents data packets from returning from firewalls and other SF nodes to SFF nodes from still encapsulating a SID list containing invalid End.T SIDs and being discarded by interconnecting devices, thus reducing the maintenance costs of failures when applying SFC in MPLS to SRv6 networks.
[0095] This application also provides a routing processing device, such as... Figure 7 As shown, the interconnection equipment used in MPLS to SRv6 networking includes:
[0096] The receiving module 701 is used to receive private network routes published by network devices included in the MPLS domain, wherein the private network routes include the preset label parameters of the network devices under the VPN instance;
[0097] The determination module 702 is used to determine the End.T segment corresponding to the network device based on preset tag parameters;
[0098] Replacement module 703 is used to replace the function fields included in the preset SID with the End.T segment to obtain the End.T SID of the network device. The length of the End.T segment is the same as the length of the function fields.
[0099] In some embodiments, the preset label parameters include the device identifier of the network device and the offset of the MPLS label of the network device relative to the label base value. The End.T segment includes the device identifier and the offset.
[0100] In some embodiments, the preset label parameters further include the label base value of the network device; the apparatus further includes:
[0101] The association module is used to overlay the label base value and offset, which are included in the preset label parameters, to obtain the MPLS label of the network device under the VPN instance; and associate the MPLS label with the End.T SID.
[0102] In some embodiments, the preset label parameters include the device identifier and label base value of the network device, and the offset of the MPLS label of the network device relative to the label base value;
[0103] Private network routing includes BGP path attributes and extended community attributes. BGP path attributes carry the base value of the label; extended community attributes carry the device identifier and offset.
[0104] In some embodiments, the extended community attribute includes a first field and a second field, the first field carrying the device identifier and the second field carrying the offset, the positions of the first field and the second field being consecutive, and the positional order of the first field and the second field being consistent with the positional order of the device identifier and the offset in the End.T segment.
[0105] In the technical solution provided in this application embodiment, when network devices in the MPLS domain advertise private network routes to interconnecting devices in an MPLS to SRv6 network, the private network routes carry preset label parameters under the VPN. The interconnecting devices generate an End.T SID under the VPN based on the preset label parameters and the preset SID. Since the preset label parameters and the preset SID of the network devices under the VPN are fixed, the End.T SID generated by the interconnecting devices based on the fixed information is also fixed and will not change due to frequent network fluctuations. When users configure the End.T SID generated by the technical solution provided in this application embodiment on the SFF node, the End.T SID on the SFF node will not become invalid when frequent network fluctuations occur, thus eliminating the need to manually update the SID list on the SFF node. This solves the problem of packet drop due to fluctuations when applying SFC in an MPLS to SRv6 network, and also reduces the maintenance cost of the SID list on the SFF node.
[0106] This application also provides a routing processing device, such as... Figure 8 As shown, the network device applied to the MPLS domain in an MPLS to SRv6 network includes:
[0107] Module 801 is used to obtain the preset label parameters of the network device under the VPN instance;
[0108] The sending module 802 is used to send private network routes to interconnecting devices in an MPLS to SRv6 network. The private network routes include preset label parameters. This enables the interconnecting devices to determine the corresponding End.T segment of the network device based on the preset label parameters. The End.T segment replaces the function fields included in the preset SID to obtain the End.T SID of the network device. The length of the End.T segment is the same as the length of the function fields.
[0109] In some embodiments, the acquisition module 801 is specifically used to acquire the preset tag parameters of the network device under the VPN instance after enabling the fixed tag function.
[0110] In some embodiments, the preset label parameters include the device identifier and label base value of the network device, and the offset of the MPLS label of the network device relative to the label base value;
[0111] Private network routing includes BGP path attributes and extended community attributes. BGP path attributes carry the base value of the label; extended community attributes carry the device identifier and offset.
[0112] In some embodiments, the extended community attribute includes a first field and a second field, the first field carrying the device identifier and the second field carrying the offset, the positions of the first field and the second field being consecutive, and the positional order of the first field and the second field being consistent with the positional order of the device identifier and the offset in the End.T segment.
[0113] In the technical solution provided in this application embodiment, when network devices in the MPLS domain advertise private network routes to interconnecting devices in an MPLS to SRv6 network, the private network routes carry preset label parameters under the VPN. The interconnecting devices generate an End.T SID under the VPN based on the preset label parameters and the preset SID. Since the preset label parameters and the preset SID of the network devices under the VPN are fixed, the End.T SID generated by the interconnecting devices based on the fixed information is also fixed and will not change due to frequent network fluctuations. When users configure the End.T SID generated by the technical solution provided in this application embodiment on the SFF node, the End.T SID on the SFF node will not become invalid when frequent network fluctuations occur, thus eliminating the need to manually update the SID list on the SFF node. This solves the problem of packet drop due to fluctuations when applying SFC in an MPLS to SRv6 network, and also reduces the maintenance cost of the SID list on the SFF node.
[0114] This application also provides a network device, such as the aforementioned interconnection device and MPLS device, such as... Figure 9As shown, the device includes a processor 901, a communication interface 902, a memory 903, and a communication bus 904. The processor 901, communication interface 902, and memory 903 communicate with each other via the communication bus 904. The memory 903 stores computer programs. When the processor 901 executes the program stored in the memory 903, it implements any of the routing processing methods described above for interoperable devices, or any of the routing processing methods described above for MPLS devices.
[0115] The communication bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus.
[0116] The communication interface is used for communication between the aforementioned network devices and other devices.
[0117] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.
[0118] The processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0119] In another embodiment provided in this application, a computer-readable storage medium is also provided, which stores a computer program. When the computer program is executed by a processor, it implements any of the routing processing methods described above for interoperability devices, or implements any of the routing processing methods described above for MPLS devices.
[0120] In another embodiment provided in this application, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to execute any of the routing processing methods described above for interconnection devices, or to execute any of the routing processing methods described above for MPLS devices.
[0121] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid state disk (SSD)).
[0122] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0123] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the embodiments for apparatus, network devices, storage media, and program products are basically similar to the method embodiments, so the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0124] The above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application are included within the scope of protection of this application.
Claims
1. A routing processing method, characterized in that, The method, applied to interconnection devices in MPLS to SRv6 networking, includes: Receive private network routes published by network devices within the MPLS domain, wherein the private network routes include preset label parameters of the network devices under the VPN instance; Based on the preset tag parameters, determine the End.T segment corresponding to the network device; The End.T segment is replaced with the functional fields included in the preset SID to obtain the End.T SID of the network device. The length of the End.T segment is the same as the length of the functional fields.
2. The method according to claim 1, characterized in that, The preset label parameters include the device identifier of the network device and the offset of the MPLS label of the network device relative to the label base value. The End.T segment includes the device identifier and the offset.
3. The method according to claim 2, characterized in that, The preset label parameters also include the label base value of the network device; the method further includes: By superimposing the label base value and the offset included in the preset label parameters, the MPLS label of the network device under the VPN instance is obtained; Associate the MPLS tag with the End.T SID.
4. The method according to claim 2 or 3, characterized in that, The preset label parameters include the device identifier and label base value of the network device, and the offset of the MPLS label of the network device relative to the label base value; The private network route includes BGP path attributes and extended community attributes. The BGP path attributes carry the tag base value, and the extended community attributes carry the device identifier and the offset.
5. The method according to claim 4, characterized in that, The extended community attribute includes a first field and a second field. The first field carries the device identifier, and the second field carries the offset. The positions of the first field and the second field are consecutive, and the positional order of the first field and the second field is consistent with the positional order of the device identifier and the offset in the End.T segment.
6. A routing processing method, characterized in that, The method, applied to network devices within an MPLS domain in an MPLS to SRv6 network, includes: Obtain the preset label parameters of the network device under the VPN instance; Send a private network route to the interconnecting devices in the MPLS to SRv6 network. The private network route includes the preset label parameters. So that the interconnecting devices determine the End.T segment corresponding to the network device according to the preset label parameters. Replace the functional fields included in the preset SID with the End.T segment to obtain the End.T SID of the network device. The length of the End.T segment is the same as the length of the functional fields.
7. The method according to claim 6, characterized in that, The step of obtaining the preset label parameters of the network device under the VPN instance includes: after enabling the fixed label function, obtaining the preset label parameters of the network device under the VPN instance.
8. The method according to claim 6 or 7, characterized in that, The preset label parameters include the device identifier and label base value of the network device, and the offset of the MPLS label of the network device relative to the label base value; The private network route includes BGP path attributes and extended community attributes. The BGP path attributes carry the tag base value, and the extended community attributes carry the device identifier and the offset.
9. The method according to claim 8, characterized in that, The extended community attribute includes a first field and a second field. The first field carries the device identifier, and the second field carries the offset. The positions of the first field and the second field are consecutive, and the positional order of the first field and the second field is consistent with the positional order of the device identifier and the offset in the End.T segment.
10. A routing processing device, characterized in that, Interconnection equipment used in MPLS to SRv6 networking, the device comprising: The receiving module is used to receive private network routes published by network devices included in the MPLS domain, wherein the private network routes include preset label parameters of the network devices under the VPN instance; The determination module is used to determine the End.T segment corresponding to the network device based on the preset tag parameters; The replacement module is used to replace the functional fields included in the preset SID with the End.T segment to obtain the End.T SID of the network device, wherein the length of the End.T segment is the same as the length of the functional field.
11. A routing processing device, characterized in that, A network device applied to the MPLS domain in an MPLS to SRv6 network, the device comprising: The acquisition module is used to acquire the preset tag parameters of the network device under the VPN instance; The sending module is used to send a private network route to the interconnecting devices in the MPLS to SRv6 network. The private network route includes the preset label parameters. The interconnecting devices determine the End.T segment corresponding to the network device based on the preset label parameters. The End.T segment replaces the functional fields included in the preset SID to obtain the End.TSID of the network device. The length of the End.T segment is the same as the length of the functional fields.
12. A network device, characterized in that, The system includes a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other via the communication bus; the memory is used to store computer programs; and the processor, when executing the program stored in the memory, implements the method described in any one of claims 1-9.
13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method described in any one of claims 1-9.