Routing device node, system, routing and forwarding method, device, and storage medium

By pre-determining the routing results through the control device and utilizing the SRTE configuration information of the forwarding decision device, the problem of low efficiency in receiving pending service packets by the routing device is solved, and more efficient routing and forwarding is achieved.

WO2026081819A1PCT designated stage Publication Date: 2026-04-23CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD +1
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
Filing Date
2025-09-24
Publication Date
2026-04-23

AI Technical Summary

Technical Problem

After receiving a service packet to be processed, the routing device needs to determine both the routing result and the target forwarding path, resulting in low forwarding efficiency. Furthermore, when the target forwarding path is unavailable, it needs to be recalculated, further reducing efficiency.

Method used

The control device predetermines the routing result of the service packet, and the forwarding decision device determines the target forwarding path according to the pre-configured SRTE configuration information. After receiving the service packet to be processed, the forwarding decision device does not need to calculate the routing result on the spot, but directly determines the forwarding path according to the configuration information.

Benefits of technology

It improves the efficiency of routing and forwarding by pre-determining routing results and forwarding paths, reducing redundant calculations and improving the overall efficiency of business packet forwarding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025123673_23042026_PF_FP_ABST
    Figure CN2025123673_23042026_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure provides a routing device node, a system, a routing and forwarding method, a device, and a storage medium. The routing device node comprises: at least one forwarding decision device and a control device. The control device is used to determine a routing result of at least one service message and send the routing result of the at least one service message to any forwarding decision device. The any forwarding decision device is used to determine, on the basis of the routing result of the at least one service message and at least one piece of SRTE configuration information, a target forwarding path of a first service message to be processed, and on the basis of the target forwarding path, perform encapsulation on the first service message to be processed, and obtain a second service message to be processed, so as to send the second service message to be processed to a target next-hop node, the SRTE configuration information being used for indicating a corresponding forwarding path of the next-hop node. The efficiency of routing and forwarding a service message to be processed is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Routing device nodes, systems, routing forwarding methods, devices and storage media

[0001] This disclosure claims priority to Chinese Patent Application No. 202411448247.X, filed on October 16, 2024, entitled "Route Device Node, System, Routing Forwarding Method, Device and Storage Medium", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This disclosure relates to the field of routing and forwarding, and in particular to a routing device node, system, routing and forwarding method, device, and storage medium. Background Technology

[0003] The Internet includes multiple routing devices, which can route and forward received packets.

[0004] In related technologies, after receiving a service packet to be processed, the routing device needs to perform route calculations on the packet to determine the routing result. The routing result includes the destination address and next-hop address of the packet. Based on the routing result, the routing device can determine the target forwarding path corresponding to the packet and then forward it accordingly.

[0005] However, in the above method, after receiving the service packet to be processed, the routing device needs to determine both the routing result of the service packet to be processed and the target forwarding path of the service packet to be processed, which results in low efficiency in forwarding the service packet to be processed; and when the target forwarding path is unavailable, the routing device also needs to recalculate the target forwarding path corresponding to the service packet to be processed, which further leads to low efficiency in forwarding the service packet to be processed.

[0006] In summary, among the relevant technologies, the efficiency of routing and forwarding business packets is low. Summary of the Invention

[0007] This disclosure provides a routing device node, system, routing forwarding method, device, and storage medium to address the problem of low efficiency in routing and forwarding service packets.

[0008] In a first aspect, embodiments of this disclosure provide a routing device node, the routing device node comprising: at least one forwarding decision device and a control device, wherein,

[0009] The control device is used to determine the routing result of at least one service packet and send the routing result of the at least one service packet to any forwarding decision device. The routing result includes the Border Gateway Protocol (BGP) next-hop address corresponding to the service packet, and the BGP next-hop address is the network address of the next-hop node corresponding to the service packet.

[0010] Any forwarding decision device is configured to determine the target forwarding path of a first service packet to be processed based on the routing result of the at least one service packet and at least one segmented routing traffic engineering (SRTE) configuration information, and process the first service packet to be processed according to the target forwarding path to obtain a second service packet to be processed, so as to send the second service packet to be processed to the target next-hop node. The SRTE configuration information is used to indicate the forwarding path corresponding to the next-hop node.

[0011] In one possible implementation, the routing device node further includes at least one forwarding device, which, together with the at least one forwarding decision device, forms a forwarding matrix;

[0012] The forwarding decision device is also used to send the second service message to be processed to the target forwarding device;

[0013] The forwarding device is used to send the second service message to be processed to the target next-hop node.

[0014] In one possible implementation, the routing result further includes the destination address of the service packet; determining the target forwarding path of the first service packet to be processed based on the routing result of the at least one service packet and at least one SRTE configuration information includes:

[0015] Based on the destination address corresponding to the first service packet to be processed, the target BGP next-hop address corresponding to the first service packet to be processed is found in the routing results of the at least one service packet. The target BGP next-hop address is the network address of the target next-hop node corresponding to the first service packet to be processed.

[0016] Based on the target BGP next-hop address, determine the target SRTE configuration information corresponding to the first service packet to be processed from the at least one SRTE configuration information;

[0017] The target forwarding path corresponding to the first service packet to be processed is determined based on the target SRTE configuration information.

[0018] In one possible implementation, the target SRTE configuration information includes at least one virtual forwarding path between the routing device node and the destination address, wherein any virtual forwarding path corresponds to at least one forwarding path;

[0019] The target forwarding path corresponding to the first service packet to be processed is determined based on the target SRTE configuration information, including:

[0020] Determine the working status of at least one virtual forwarding path in the target SRTE configuration information, wherein the working status is either normal or faulty.

[0021] Based on the working status of the at least one virtual forwarding path, the target virtual forwarding path corresponding to the first service packet to be processed is determined;

[0022] The target forwarding path is determined from at least one forwarding path corresponding to the target virtual forwarding path.

[0023] In one possible implementation, the at least one virtual forwarding path includes at least one of the following: a primary forwarding path, a backup forwarding path, and a fallback forwarding path; determining the target virtual forwarding path corresponding to the first service packet to be processed based on the operating status of the at least one virtual forwarding path includes:

[0024] If the working status of the primary forwarding path is normal, then the primary forwarding path is determined as the target virtual forwarding path;

[0025] If the primary forwarding path is in a fault state and the backup forwarding path is in a normal state, then the backup forwarding path is determined as the target virtual forwarding path.

[0026] If both the primary forwarding path and the backup forwarding path are in a fault state and the fallback forwarding path is in a normal state, then the fallback forwarding path is determined as the target virtual forwarding path.

[0027] In one possible implementation, the virtual forwarding path is used for communication between the routing device node and the destination address; for any virtual forwarding path, determining the operating state of the virtual forwarding path includes:

[0028] A detection message is sent to the destination device corresponding to the destination address through the virtual forwarding path;

[0029] If an echo message corresponding to the detection message sent by the destination device is received within a preset time period, the working state of the virtual forwarding path is determined to be normal.

[0030] If the echo message sent by the destination device is not received within the preset time period, the working state of the virtual forwarding path is determined to be a fault state.

[0031] In one possible implementation, the control device includes at least one destination device proxy component;

[0032] The forwarding decision device is also used to send a fault message to the control device when the working state of the first virtual forwarding path is a fault state.

[0033] The control device is further configured to receive a fault message sent by the forwarding decision device, and to isolate the first destination device proxy component corresponding to the first virtual forwarding path according to the fault message.

[0034] In one possible implementation, the fault message includes the identifier of the forwarding decision device, and the identifier and working status of the first virtual forwarding path; isolation processing is performed on the first destination device proxy component corresponding to the first virtual forwarding path based on the fault message, including:

[0035] Based on the identifier of the first virtual forwarding path, determine the first destination device proxy component corresponding to the first virtual forwarding path in the at least one destination device proxy component;

[0036] In the first destination device proxy component, the routing state of the first destination device is set to an isolated state, which indicates that communication between the first destination device and the forwarding decision device is suspended.

[0037] In one possible implementation, the forwarding device includes a Border Gateway Protocol (BGP) proxy component, and the forwarding device is further configured to:

[0038] The BGP proxy component receives control messages sent by at least one destination device, the control messages including routing information of the at least one service message;

[0039] The control message is sent to the control device through the BGP proxy component;

[0040] The control device further includes a routing calculation component; determining the routing result of at least one service message, including:

[0041] The system receives control messages sent by the forwarding device through the BGP proxy component via any destination device proxy component, and sends the control messages to the routing calculation component.

[0042] The routing calculation component performs routing calculations on the routing information of at least one service message in the control message to obtain the routing result of the at least one service message.

[0043] In one possible implementation, the control device includes preset routing rules, which include equivalent routing results that are equivalent to the target routing result;

[0044] For any given service message, the routing calculation component performs routing calculations on the routing information of the service message to obtain the routing result of the service message, including:

[0045] The target routing result of the service packet is determined by the routing information of the service packet obtained by the routing calculation component.

[0046] When it is determined that the target routing result corresponding to the service message is unavailable, the equivalent routing result that is equivalent to the target routing result is determined as the routing result of the service message according to the preset routing rules.

[0047] In one possible implementation, the forwarding device is further configured to:

[0048] A bidirectional forwarding detection (BFD) process is created using the BGP proxy component;

[0049] The BFD process sends a BFD detection message to the destination device to check whether the communication status between the forwarding device and the destination device is normal.

[0050] Secondly, embodiments of this disclosure provide a routing system, which includes a plurality of routing device nodes and a global control device as described in any of the first aspects, wherein...

[0051] The global control device is used to configure at least one SRTE configuration information for any forwarding decision device.

[0052] Thirdly, embodiments of this disclosure provide a routing and forwarding method applied to a forwarding decision device, the method comprising:

[0053] The system receives routing results for at least one service message sent by a control device. The routing results include the Border Gateway Protocol (BGP) next-hop address corresponding to the service message, where the BGP next-hop address is the network address of the next-hop node corresponding to the service message.

[0054] Based on the routing results of the at least one service packet and the SRTE configuration information of at least one segmented routing traffic engineering, the target forwarding path of the first service packet to be processed is determined, wherein the SRTE configuration information is used to indicate the forwarding path corresponding to the next hop node.

[0055] The first service message to be processed is processed according to the target forwarding path to obtain a second service message to be processed, and then the second service message to be processed is sent to the target next-hop node.

[0056] In one possible implementation, the routing result further includes the destination address of the service packet; determining the target forwarding path of the first service packet to be processed based on the routing result of the at least one service packet and at least one SRTE configuration information includes:

[0057] Based on the destination address corresponding to the first service packet to be processed, the target BGP next-hop address corresponding to the first service packet to be processed is found in the routing results of the at least one service packet. The target BGP next-hop address is the network address of the target next-hop node corresponding to the first service packet to be processed.

[0058] Based on the target BGP next-hop address, determine the target SRTE configuration information corresponding to the first service packet to be processed from the at least one SRTE configuration information;

[0059] The target forwarding path corresponding to the first service packet to be processed is determined based on the target SRTE configuration information.

[0060] In one possible implementation, the target SRTE configuration information includes at least one virtual forwarding path between the routing device node and the destination address, wherein any virtual forwarding path corresponds to at least one forwarding path;

[0061] The target forwarding path corresponding to the first service packet to be processed is determined based on the target SRTE configuration information, including:

[0062] Determine the working status of at least one virtual forwarding path in the target SRTE configuration information, wherein the working status is either normal or faulty.

[0063] Based on the working status of the at least one virtual forwarding path, the target virtual forwarding path corresponding to the first service packet to be processed is determined;

[0064] The target forwarding path is determined from at least one forwarding path corresponding to the target virtual forwarding path.

[0065] In one possible implementation, the at least one virtual forwarding path includes at least one of the following: a primary forwarding path, a backup forwarding path, and a fallback forwarding path; determining the target virtual forwarding path corresponding to the first service packet to be processed based on the operating status of the at least one virtual forwarding path includes:

[0066] If the working status of the primary forwarding path is normal, then the primary forwarding path is determined as the target virtual forwarding path;

[0067] If the primary forwarding path is in a fault state and the backup forwarding path is in a normal state, then the backup forwarding path is determined as the target virtual forwarding path.

[0068] If both the primary forwarding path and the backup forwarding path are in a fault state and the fallback forwarding path is in a normal state, then the fallback forwarding path is determined as the target virtual forwarding path.

[0069] In one possible implementation, the virtual forwarding path is used for communication between the routing device node and the destination address; for any virtual forwarding path, determining the operating state of the virtual forwarding path includes:

[0070] A detection message is sent to the destination device corresponding to the destination address through the virtual forwarding path;

[0071] If an echo message corresponding to the detection message sent by the destination device is received within a preset time period, the working state of the virtual forwarding path is determined to be normal.

[0072] If the echo message sent by the destination device is not received within the preset time period, the working state of the virtual forwarding path is determined to be a fault state.

[0073] In one possible implementation, the method further includes:

[0074] When the working state of the first virtual forwarding path is in a fault state, a fault message is sent to the control device so that the control device can isolate the first destination device proxy component corresponding to the first virtual forwarding path according to the fault message. The fault message includes the identifier of the forwarding decision device, as well as the identifier and working state of the first virtual forwarding path.

[0075] Fourthly, embodiments of this disclosure provide a routing and forwarding method applied to a control device, the method comprising:

[0076] Determine the routing result of at least one service message, wherein the routing result includes the Border Gateway Protocol (BGP) next-hop address corresponding to the service message, and the BGP next-hop address is the network address of the next-hop node corresponding to the service message;

[0077] The routing result of the at least one service packet is sent to any forwarding decision device, so that the forwarding decision device determines the target forwarding path of the first service packet to be processed based on the routing result of the at least one service packet and at least one Segmented Routing Traffic Engineering (SRTE) configuration information, and processes the first service packet to be processed according to the target forwarding path to obtain a second service packet to be processed, and sends the second service packet to the target next-hop node. The SRTE configuration information is used to indicate the forwarding path corresponding to the next-hop node.

[0078] In one possible implementation, the control device includes at least one destination device proxy component and a routing calculation component; determining the routing result of at least one service packet includes:

[0079] The system receives control messages sent by the forwarding device through the BGP proxy component via any destination device proxy component, and sends the control messages to the routing calculation component.

[0080] The routing calculation component performs routing calculations on the routing information of at least one service message in the control message to obtain the routing result of the at least one service message.

[0081] In one possible implementation, the control device includes preset routing rules, which include equivalent routing results that are equivalent to the target routing result;

[0082] For any given service message, the routing calculation component performs routing calculations on the routing information of the service message to obtain the routing result of the service message, including:

[0083] The target routing result of the service packet is determined by the routing information of the service packet obtained by the routing calculation component.

[0084] When it is determined that the target routing result corresponding to the service message is unavailable, the equivalent routing result that is equivalent to the target routing result is determined as the routing result of the service message according to the preset routing rules.

[0085] In one possible implementation, the method further includes:

[0086] The system receives a fault message sent by the forwarding decision device and isolates the first destination device proxy component corresponding to the first virtual forwarding path based on the fault message.

[0087] In one possible implementation, the fault message includes the identifier of the forwarding decision device, and the identifier and working status of the first virtual forwarding path; isolation processing is performed on the first destination device proxy component corresponding to the first virtual forwarding path based on the fault message, including:

[0088] Based on the identifier of the first virtual forwarding path, determine the first destination device proxy component corresponding to the first virtual forwarding path in the at least one destination device proxy component;

[0089] In the first destination device proxy component, the routing state of the first destination device is set to an isolated state, which indicates that communication between the first destination device and the forwarding decision device is suspended.

[0090] Fifthly, embodiments of this disclosure provide a forwarding decision-making device, comprising:

[0091] At least one processor; and

[0092] A memory that is communicatively connected to the at least one processor;

[0093] The memory stores instructions executable by the at least one processor, which, when executed by the at least one processor, cause the forwarding decision device to perform the method described in any of the third aspects.

[0094] Sixthly, embodiments of this disclosure provide a control device, including:

[0095] At least one processor; and

[0096] A memory that is communicatively connected to the at least one processor;

[0097] The memory stores instructions executable by the at least one processor, which, when executed by the at least one processor, cause the control device to perform the method described in any of the fourth aspects.

[0098] In a seventh aspect, embodiments of this disclosure provide a computer-readable storage medium storing computer-executable instructions that, when executed by a processor, are used to implement the method described in any one of the third or fourth aspects.

[0099] Eighthly, embodiments of this disclosure provide a computer program product, including a computer program that, when executed by a processor, implements the method shown in any one of the third or fourth aspects.

[0100] This disclosure provides a routing device node, a system, a routing forwarding method, a device, and a storage medium. The routing device node includes a control device and at least one forwarding decision device. The control device can determine the routing result of at least one service packet and send the routing result of at least one service packet to any forwarding decision device. Any forwarding decision device can determine the target forwarding path of a first service packet to be processed based on the routing result of at least one service packet and at least one SRTE configuration information, and process the first service packet to be processed according to the target forwarding path to obtain a second service packet to be processed, which is then sent to the target next-hop node. Because in this disclosure, the control device can determine the routing result corresponding to at least one service packet before the forwarding decision device receives the service packet to be processed, the efficiency of determining the routing result is improved. After the forwarding decision device receives the first service packet to be processed, it can determine the target forwarding path corresponding to the first service packet based on the pre-configured at least one SRTE configuration information and the routing result of at least one service packet determined by the control device, eliminating the need for the forwarding decision device to temporarily calculate the routing result after receiving the first service packet to be processed, thus improving the efficiency of determining the target forwarding path. Compared to existing technologies where routing devices determine the routing result and target forwarding path only after receiving the first service packet to be processed, this technology comprehensively improves the efficiency of routing and forwarding service packets to be processed. Attached Figure Description

[0101] The accompanying drawings, which are included to provide a further understanding of this disclosure and form part of this disclosure, illustrate exemplary embodiments of the present disclosure and are used to explain the disclosure, but do not constitute an undue limitation of the disclosure. In the drawings:

[0102] Figure 1 is a schematic diagram of an application scenario provided by an exemplary embodiment of this disclosure;

[0103] Figure 2 is a schematic diagram of a routing device node provided in an exemplary embodiment of this disclosure;

[0104] Figure 3 is a schematic diagram of another routing device node provided by an exemplary embodiment of this disclosure;

[0105] Figure 4 is a flowchart illustrating a routing and forwarding method provided by an exemplary embodiment of this disclosure;

[0106] Figure 5 is a flowchart illustrating another routing and forwarding method provided by an exemplary embodiment of this disclosure;

[0107] Figure 6 is a schematic diagram of determining a routing result provided by an exemplary embodiment of this disclosure;

[0108] Figure 7 is a schematic diagram of a routing device node in a network provided by an exemplary embodiment of this disclosure;

[0109] Figure 8 is a schematic diagram of a routing system provided by an exemplary embodiment of the present disclosure;

[0110] Figure 9 is a schematic diagram of the structure of a forwarding decision device provided in an exemplary embodiment of this disclosure;

[0111] Figure 10 is a schematic diagram of the structure of a control device provided by an exemplary embodiment of the present disclosure. Detailed Implementation

[0112] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this disclosure are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with relevant laws, regulations and standards, and corresponding operation entry points are provided for users to choose to authorize or refuse.

[0113] To make the objectives, technical solutions, and advantages of this disclosure clearer, the technical solutions of this disclosure will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this disclosure, and not all of them. All other embodiments obtained by those skilled in the art based on the embodiments of this disclosure without creative effort are within the scope of protection of this disclosure.

[0114] To facilitate understanding of the technical solutions disclosed herein, the concepts involved in this disclosure will first be explained.

[0115] Segment Routing Traffic Engineering (SRTE): A traffic engineering technique based on the source routing concept, which can enable manual traffic specification and rapid convergence.

[0116] Border Gateway Protocol (BGP) is a dynamic routing protocol used between Autonomous Systems (AS).

[0117] The application scenarios of this disclosure will be explained below with reference to Figure 1.

[0118] Figure 1 is a schematic diagram of an application scenario provided by an exemplary embodiment of this disclosure. Referring to Figure 1, the Internet may include multiple routing devices, multiple transmitting devices, and multiple receiving devices.

[0119] For example, multiple routing devices can be named Router 1, Router 2, Router 3, Router 4, Router 5, ...; multiple transmitting devices can be named Transmitter 1, Transmitter 2, ...; multiple receiving devices can be named Receiver 1, Receiver 2, ...

[0120] When a sending device transmits a service message to a receiving device, it needs to pass through multiple routing devices. For example, if the service message to be processed is service message 1 sent by sending device 1 to receiving device 1, then during the process of sending service message 1 by sending device 1 to receiving device 1, sending device 1 can send service message 1 to routing device 1. After receiving service message 1, routing device 1 can send service message 1 to routing device 2. After receiving service message 1, routing device 2 can send service message 1 to receiving device 1, so that receiving device 1 can receive service message 1.

[0121] Any routing device can be considered a routing node. In the above process, after receiving a service packet, any routing device needs to perform route calculations on the service packet to determine the routing result. The routing result can include the destination address and the next-hop address, where the next-hop address is the network address of the next-hop node (i.e., the next routing node).

[0122] Routing devices can determine the target forwarding path for service packets based on routing results. The target forwarding path is the forwarding path that forwards the service packet from the routing device to the destination address. The routing device can then forward the service packet according to the target forwarding path.

[0123] For example, after receiving service packet 1, routing device 1 can perform route calculations on service packet 1 to determine the routing result 1. The routing result 1 can include a destination address of 1 and a next-hop address of the network address of routing device 3. If destination address 1 is the address of receiving device 1, then routing device 1 can determine the target forwarding path 1 corresponding to service packet 1 based on the routing result 1. The target forwarding path 1 can be: routing device 1 → routing device 3 → routing device 6 → receiving device 1. Routing device 1 can then forward service packet 1 to routing device 3 based on the target forwarding path 1.

[0124] If the communication connection between routing device 1 and routing device 3 is suddenly interrupted, routing device 1 needs to recalculate the routing result 2 of the service packet. Assume that routing result 2 can include the destination address as destination address 1 and the next-hop address as the network address of routing device 2. Routing device 1 can determine the target forwarding path 2 corresponding to service packet 1 based on routing result 2. The target forwarding path 2 can be: Routing device 1 → Routing device 2 → Routing device 6 → Receiving device 1. Routing device 1 can then forward service packet 1 to routing device 2 based on the target forwarding path 2.

[0125] After receiving service packet 1, routing device 2 can recalculate the route for service packet 1 to determine the routing result 3. The routing result 3 can include destination address 1 as the destination address and next-hop address as the destination address 1. Routing device 2 can then determine the target forwarding path 3 corresponding to service packet 1 based on the routing result 3. The target forwarding path 3 can be: Routing device 2 → Receiving device 1. Routing device 2 can then forward service packet 1 to receiving device 1 according to the target forwarding path 3.

[0126] In related technologies, after receiving a service packet to be processed, the routing device needs to perform route calculations on the packet to determine the routing result. The routing result includes the destination address and next-hop address of the packet. Based on the routing result, the routing device can determine the target forwarding path corresponding to the packet and then forward it accordingly.

[0127] However, in the above method, after receiving the service packet to be processed, the routing device needs to determine both the routing result of the service packet to be processed and the target forwarding path of the service packet to be processed, which results in low efficiency in forwarding the service packet to be processed; and when the target forwarding path is unavailable, the routing device also needs to recalculate the target forwarding path corresponding to the service packet to be processed, which further leads to low efficiency in forwarding the service packet to be processed.

[0128] In summary, among the relevant technologies, the efficiency of routing and forwarding business packets is low.

[0129] In this embodiment, determining the routing result and determining the target forwarding path are performed in different devices. That is, before the forwarding decision device receives the service packet to be processed, the control device can determine the routing result corresponding to at least one service packet, improving the efficiency of determining the routing result. After the forwarding decision device receives the first service packet to be processed, it can determine the target forwarding path corresponding to the first service packet to be processed based on at least one pre-configured SRTE configuration information and the routing result of at least one service packet determined by the control device. This eliminates the need for the forwarding decision device to temporarily calculate the routing result after receiving the first service packet to be processed, further improving the efficiency of determining the target forwarding path. Compared to the prior art where the routing device determines the routing result and target forwarding path only after receiving the first service packet to be processed, this comprehensively improves the efficiency of routing and forwarding the service packet to be processed.

[0130] The technical solutions disclosed herein will now be described in detail through specific embodiments. It should be noted that the following embodiments may exist independently or in combination with each other; identical or similar content will not be repeated in different embodiments.

[0131] Figure 2 is a schematic diagram of a routing device node provided by an exemplary embodiment of this disclosure. Referring to Figure 2, the routing device node may include at least one forwarding decision device and a control device.

[0132] For example, at least one forwarding decision device can be forwarding decision device 1, forwarding decision device 2, ...

[0133] The control device can determine the routing result of at least one service packet and send the routing result of at least one service packet to any forwarding decision device. Each routing result may include the BGP next-hop address corresponding to the service packet. The BGP next-hop address refers to the network address of the next-hop node corresponding to the service packet. The next-hop node refers to the next routing device node corresponding to the current routing device node.

[0134] For example, the control device can send routing results for 6,000 service packets to both forwarding decision device 1 and forwarding decision device 2.

[0135] It should be noted that the computing power of the control device can be superior to that of ordinary routing devices. By using the control device to determine the routing result of at least one service packet, the efficiency of determining the routing result can be improved.

[0136] Each forwarding decision device can be configured with at least one SRTE configuration. Within each routing device node, the at least one SRTE configuration is identical across all forwarding decision devices. Multiple forwarding decision devices can be used to achieve load balancing.

[0137] For example, both forwarding decision device 1 and forwarding decision device 2 can be configured with 10 SRTE configuration information. The 10 SRTE configuration information in forwarding decision device 1 is the same as the 10 SRTE configuration information in forwarding decision device 2.

[0138] SRTE configuration information can be used to indicate the forwarding path corresponding to the next-hop node. SRTE configuration information can include at least one virtual forwarding path between the routing device node and the destination address. The destination address can correspond to at least one destination device; in other words, the network addresses of these at least one destination device belong to the same destination address. These at least one destination device can be devices from the same operator. That is, one SRTE configuration piece of information is associated with one operator.

[0139] At least one virtual forwarding path may include at least one of the following: a primary forwarding path, a backup forwarding path, and a fallback forwarding path. For any given virtual forwarding path, it may correspond to at least one forwarding path.

[0140] For example, if the SRTE configuration information includes three virtual forwarding paths between the routing device node and the destination address, these three virtual forwarding paths can be: a primary forwarding path, a backup forwarding path, and a fallback forwarding path. The primary forwarding path can correspond to forwarding path 1 and forwarding path 2 (that is, forwarding path 1 and forwarding path 2 are both primary forwarding paths), the backup forwarding path corresponds to forwarding path 3, and the fallback forwarding path can correspond to forwarding path 4.

[0141] It should be noted that a virtual forwarding path is a logical concept, while a forwarding path refers to an actual physical forwarding path. Any virtual forwarding path can correspond to at least one forwarding path.

[0142] For example, a virtual forwarding path is the primary forwarding path, which can correspond to two actual physical forwarding paths: forwarding path 1 and forwarding path 2. In other words, both forwarding path 1 and forwarding path 2 are primary forwarding paths.

[0143] Optionally, the SRTE configuration information may specifically include a preferred-value (pref) for each virtual forwarding path and a list of at least one segment identifier (SID). The preferred-value can be used to indicate the priority of the virtual forwarding path; a higher preferred-value indicates a higher priority.

[0144] For any given SID list, the SID list can include Multiprotocol Label Switching (MPLS) labels. MPLS labels are identifiers used in Multiprotocol Label Switching to identify forwarding paths, improving network transmission efficiency and flexibility. An MPLS label can include an identifier of the forwarding path from the forwarding decision-making device to the destination device. That is, a SID list includes one MPLS label, and one MPLS label identifies one forwarding path.

[0145] For example, if SRTE configuration information 1 includes three virtual forwarding paths, namely the primary forwarding path, the backup forwarding path, and the fallback forwarding path, then SRTE configuration information 1 can be as shown in Table 1:

[0146] Table 1

[0147] The preferred value for the primary forwarding path can be 300. The primary forwarding path can correspond to SID list 1 and SID list 2. SID list 1 includes MPLS label 1, and SID list 2 includes MPLS label 2. Therefore, the primary forwarding path can correspond to forwarding path 1 identified by MPLS label 1 and forwarding path 2 identified by MPLS label 2. Forwarding path 1 and forwarding path 2 can mutually balance load. For example, MPLS label 1 can be: index 10MPLS label 1056, representing forwarding path 1 between the forwarding decision device and destination device 1. Assuming forwarding path 1 can be: forwarding decision device → routing device node 1 → routing device node 2 → ... → destination device 1. Similarly, MPLS label 2 can be used to represent forwarding path 2 between the forwarding decision device and destination device 1. Assuming forwarding path 2 can be: forwarding decision device → routing device node 1 → routing device node 4 → ... → destination device 1.

[0148] The preferred value for the backup forwarding path can be 200. The backup forwarding path can correspond to SID list 3, which includes MPLS label 3. Therefore, the backup forwarding path is the forwarding path 3 identified by MPLS label 3. For example, MPLS label 3 can be used to represent forwarding path 3 between the forwarding decision device and the destination device 2. Assume that forwarding path 3 can be: forwarding decision device → routing device node 1 → routing device node 4 → ... → destination device 2.

[0149] The preferred value for the fallback forwarding path can be 100. The fallback forwarding path can correspond to SID list 4, which includes MPLS label 4. Therefore, the fallback forwarding path is the forwarding path 4 identified by MPLS label 4. For example, MPLS label 4 can be used to represent forwarding path 4 between the forwarding decision device and the destination device 3. Assume that forwarding path 4 can be: forwarding decision device → routing device node 1 → routing device node 6 → ... → destination device 3.

[0150] Among them, the network addresses of destination device 1, destination device 2 and destination device 3 can belong to the same destination address, and destination device 1, destination device 2 and destination device 3 can all be devices of operator 1.

[0151] For any given forwarding decision device, it can receive the routing results of at least one service packet sent by the control device. When the forwarding decision device receives a first service packet to be processed, it can determine the target forwarding path of the first service packet to be processed based on the routing results of at least one service packet and at least one SRTE configuration information. The first service packet to be processed can be any one of the at least one service packets.

[0152] Optionally, the target forwarding path of the first service packet to be processed can be determined based on the routing results of at least one service packet and at least one SRTE configuration information in the following manner: based on the destination address corresponding to the first service packet to be processed, search for the target BGP next-hop address corresponding to the first service packet in the routing results of at least one service packet; based on the target BGP next-hop address, determine the target SRTE configuration information corresponding to the first service packet to be processed in at least one SRTE configuration information; and determine the target forwarding path corresponding to the first service packet to be processed based on the target SRTE configuration information.

[0153] The target BGP next-hop address can be the network address of the target next-hop node corresponding to the first pending service message.

[0154] The forwarding decision-making device can receive the first pending service packet. This first pending service packet may carry a destination address. Based on the destination address corresponding to the first pending service packet, the forwarding decision-making device can search for the target BGP next-hop address corresponding to the first pending service packet in the routing results of at least one service packet.

[0155] For example, if the forwarding decision device stores the routing results of 6000 service packets, as shown in Table 2:

[0156] Table 2

[0157] If the forwarding decision device receives the first pending service message as service message 2, the forwarding decision device can look up the target BGP next-hop address corresponding to service message 2 in Table 2 based on the destination address 2 in service message 2, which is BGP next-hop address 1.

[0158] Optionally, in the forwarding decision-making device, each BGP next-hop address can be associated with an SRTE configuration information.

[0159] For example, the forwarding decision device may include 10 BGP next-hop addresses and 10 SRTE configuration information, as shown in Table 3:

[0160] Table 3

[0161] If the target BGP next-hop address is BGP next-hop address 1, the forwarding decision device can determine the target SRTE configuration information as SRTE configuration information 1 from among the 10 SRTE configuration information based on BGP next-hop address 1.

[0162] After the forwarding decision device determines the target SRTE configuration information, it can determine the target MPLS label corresponding to the first service packet to be processed in the target SRTE configuration information, and determine the forwarding path identified by the target MPLS label as the target forwarding path corresponding to the first service packet to be processed.

[0163] For example, if SRTE configuration information 1 is as shown in Table 1, the forwarding decision device can determine the target MPLS label corresponding to service packet 2 from SRTE configuration information 1. Assuming that the forwarding decision device determines that the target MPLS label corresponding to service packet 2 is MPLS label 1 from SRTE configuration information 1, the forwarding decision device can determine the forwarding path 1 identified by MPLS label 1 as the target forwarding path corresponding to service packet 2.

[0164] After the forwarding decision device determines the target forwarding path of the first service message to be processed, it can process the first service message to be processed according to the target forwarding path to obtain the second service message to be processed.

[0165] Specifically, the forwarding decision-making device can add a target MPLS label to the first service packet to be processed, and then encapsulate the first service packet to be processed to obtain a second service packet to be processed. The second service packet to be processed includes the target MPLS label.

[0166] The forwarding decision-making device can send the second pending service message to the next hop node according to the target forwarding path.

[0167] For example, if the forwarding decision device determines that the target forwarding path of the first service packet to be processed is forwarding path 1 identified by MPLS label 1 in SRTE configuration information 1, then the forwarding decision device can add MPLS label 1 to service packet 2 to obtain service packet 2.1. Service packet 2.1 includes MPLS label 1. If the forwarding path 1 identified by MPLS label 1 is as shown in the example above, then the forwarding decision device can send service packet 2.1 to the target next-hop node (i.e., routing device node 1).

[0168] It should be noted that the forwarding decision-making device can be a single-chip box switch, which has better forwarding performance than ordinary routing devices.

[0169] In this embodiment of the disclosure, the routing device node includes a control device and at least one forwarding decision device. The control device can determine the routing result of at least one service packet and send the routing result of at least one service packet to any forwarding decision device. The forwarding decision device can determine the target forwarding path of a first service packet to be processed based on the routing result of at least one service packet and at least one SRTE configuration information, and process the first service packet to be processed according to the target forwarding path to obtain a second service packet to be processed, so as to send the second service packet to the target next-hop node. Because the computing power of the control device in this disclosure is superior to that of ordinary routing devices, the control device can determine the routing result corresponding to at least one service packet before the forwarding decision device receives the service packet to be processed, thus improving the efficiency of determining the routing result. After the forwarding decision device receives the first service packet to be processed, it can determine the target forwarding path corresponding to the first service packet to be processed based on the pre-configured SRTE configuration information of at least one type and the routing result of at least one service packet determined by the control device, without requiring the forwarding decision device to temporarily calculate the routing result after receiving the first service packet to be processed, thus improving the efficiency of determining the target forwarding path. Furthermore, the forwarding capability of the forwarding decision device is stronger than that of ordinary routing devices, improving the efficiency of forwarding the service packets to be processed. Compared with the prior art, where the routing device determines the routing result and target forwarding path only after receiving the first service packet to be processed, the overall efficiency of routing and forwarding the service packets to be processed is improved.

[0170] Below, based on the embodiment shown in Figure 2, and in conjunction with Figure 3, a schematic diagram of another routing device node is provided.

[0171] Figure 3 is a schematic diagram of another routing device node provided by an exemplary embodiment of this disclosure. Referring to Figure 3, based on the routing device node shown in Figure 2, the routing device node may further include at least one forwarding device.

[0172] For example, at least one forwarding device can be forwarding device 1, forwarding device 2, forwarding device 3, ...

[0173] Any forwarding decision device can communicate with any other forwarding device. These at least one forwarding decision device and at least one forwarding device can form a forwarding matrix. This forwarding matrix can be horizontally expanded, meaning the number of forwarding devices and forwarding decision devices in the routing node can be increased as needed.

[0174] Both the forwarding decision-making device and the forwarding device can be single-chip box switches, which are low in cost and have strong forwarding capabilities.

[0175] The control device can communicate with any forwarding decision device and any forwarding device.

[0176] Optionally, the forwarding device can receive control messages sent by at least one destination device and send control messages to the control device. The control messages may include routing information for at least one service message. Optionally, the routing information may include destination address, routing policy, and other information. Optionally, the routing policy may be a policy that determines the routing result of service messages based on different service requirements. For example, the routing policy may be: for service messages belonging to service 1, the BGP next-hop address in the routing result is the network address of the next routing device node whose communication delay with the current routing device node is less than a preset threshold.

[0177] The control device can determine the routing result of at least one service packet based on the routing information of at least one service packet, and send the routing result of at least one service packet to any forwarding decision device. Each routing result may include the BGP next-hop address corresponding to the service packet.

[0178] Optionally, in this disclosure, the computing performance of the control device can be more than ten times that of a regular routing device, and the speed of calculating routing results is 3-4 times that of a regular routing device. It can support more than 20 million BGP routing results, which greatly improves the efficiency of determining routing results.

[0179] Optionally, if the routing device node includes at least one forwarding device, then any MPLS label in the SRTE configuration information may include multiple identifiers. For example, the MPLS label may include identifiers of the forwarding path from the forwarding decision device to the forwarding device, and identifiers of the forwarding path from the forwarding device to the destination device.

[0180] For example, MPLS label 1 may include: index 10MPLS label 1014, index 20MPLS label 1056. Then, index 10MPLS label 1014 can represent forwarding path 1-1 between the forwarding decision device and forwarding device 1, and index 20MPLS label 1056 can represent forwarding path 1-2 between forwarding device 1 and destination device 1. Forwarding path 1-1 and forwarding path 1-2 can form forwarding path 1, that is, forwarding path 1 identified by MPLS label 1. Assuming that forwarding path 1-1 can be: forwarding decision device → forwarding device 1, and forwarding path 1-2 can be: forwarding device 1 → routing device node 1 → routing device node 2 → ... → destination device 1.

[0181] The forwarding decision device can receive the routing result of at least one service message sent by the control device.

[0182] For any forwarding decision device, at least one SRTE configuration information can be configured in the forwarding decision device.

[0183] When the forwarding decision device receives the first service packet to be processed, it can determine the target forwarding path of the first service packet to be processed based on the routing result of at least one service packet and at least one SRTE configuration information.

[0184] The process of determining the target forwarding path of the first service packet to be processed based on the routing result of at least one service packet and at least one SRTE configuration information can be found in the relevant content of the embodiment in Figure 2, and will not be repeated here.

[0185] For example, if the forwarding decision device receives the first service packet to be processed as service packet 2, and determines that the target forwarding path for service packet 2 is forwarding path 1 identified by MPLS label 1 in SRTE configuration information 1, and if MPLS label 1 includes: index 10 MPLS label 1014, index 20 MPLS label 1056, then the forwarding decision device can add MPLS label 1 to service packet 2 to obtain service packet 2.1. Service packet 2.1 includes MPLS label 1.

[0186] Since the target forwarding path of the first service message to be processed is determined, and the target MPLS label (i.e., the target forwarding path is encapsulated) is encapsulated in the second service message to be processed, the forwarding decision device can send the second service message to the target forwarding device according to the target forwarding path. That is, the forwarding decision device can send the second service message to the target forwarding device according to the target MPLS label in the second service message to be processed.

[0187] The target forwarding device can send a second service message to be processed to the next hop node according to the target forwarding path. That is, the target forwarding device can send a second service message to be processed to the next hop node according to the target MPLS label in the second service message.

[0188] For example, if service message 2.1 encapsulates MPLS label 1, and MPLS label 1 includes index 10 MPLS label 1014 and index 20 MPLS label 1056, then the forwarding decision device can send service message 2.1 to forwarding device 1 according to index 10 MPLS label 1014, and forwarding device 1 can send service message 2.1 to the target next-hop node (i.e., routing device node 1) according to index 20 MPLS label 1056.

[0189] In this embodiment of the disclosure, the routing device node includes a control device, at least one forwarding decision device, and at least one forwarding device. The control device can determine the routing result of at least one service packet and send the routing result of at least one service packet to any forwarding decision device. The forwarding decision device can determine the target forwarding path of a first service packet to be processed based on the routing result of at least one service packet and at least one SRTE configuration information, and encapsulate the first service packet to be processed according to the target forwarding path to obtain a second service packet to be processed, which is then sent to the target forwarding device. The forwarding device can send the second service packet to the target next-hop node. Because the computing power of the control device in this disclosure is superior to that of ordinary routing devices, the control device can determine the routing result corresponding to at least one service packet before the forwarding decision device receives the service packet to be processed, thus improving the efficiency of determining the routing result. After the forwarding decision device receives the first service packet to be processed, it can determine the target forwarding path corresponding to the first service packet to be processed based on the pre-configured SRTE configuration information and the routing result of at least one service packet determined by the control device, without requiring the forwarding decision device to temporarily calculate the routing result after receiving the first service packet to be processed, thus improving the efficiency of determining the target forwarding path. Furthermore, the forwarding capabilities of the forwarding decision device and the forwarding device are stronger than those of ordinary routing devices, improving the efficiency of forwarding the service packets to be processed. Compared with the prior art, where the routing device determines the routing result and target forwarding path only after receiving the first service packet to be processed, the overall efficiency of routing and forwarding the service packets to be processed is improved.

[0190] Below, based on the embodiments in Figure 2 or Figure 3, and in conjunction with Figure 4, the process executed by the forwarding decision device in the above-mentioned routing device node will be described in detail.

[0191] Figure 4 is a flowchart illustrating a routing and forwarding method provided by an exemplary embodiment of this disclosure. Referring to Figure 4, the method may include:

[0192] S401. Receive the routing result of at least one service message sent by the control device.

[0193] The control device can determine the routing result for at least one service packet. For any given routing result, the result may include the destination address and BGP next-hop address of the service packet. The BGP next-hop address can be the network address of the next-hop node corresponding to the service packet.

[0194] The control device can send the routing result of at least one service packet to the forwarding decision device. The forwarding decision device can receive the routing result of at least one service packet and store the routing result of the at least one service packet.

[0195] It should be noted that the number of routing results for at least one service message can be less than or equal to the number of at least one service message. For example, if there are 6,000 service messages, and each service message corresponds to one routing result, then there are 6,000 routing results; if multiple service messages among the 6,000 service messages belong to the same data flow, then these multiple service messages may correspond to the same routing result, and the number of routing results may be less than 6,000.

[0196] For example, the forwarding decision device can receive the routing results of 6,000 service packets sent by the control device, assuming that the routing results of these 6,000 service packets are shown in Table 2.

[0197] S402. Based on the destination address corresponding to the first service message to be processed, find the target BGP next-hop address corresponding to the first service message to be processed in the routing results of at least one service message.

[0198] The target BGP next-hop address can be the network address of the target next-hop node corresponding to the first pending service message.

[0199] The forwarding decision-making device can receive the first pending service packet. This first pending service packet may carry a destination address. Based on the destination address corresponding to the first pending service packet, the forwarding decision-making device can search for the target BGP next-hop address corresponding to the first pending service packet in the routing results of at least one service packet.

[0200] For example, if the forwarding decision device can store the routing results of 6000 service packets, as shown in Table 2, and the forwarding decision device receives the first service packet to be processed, which includes destination address 2, then the forwarding decision device can look up the target BGP next-hop address corresponding to the first service packet to be processed in Table 2 based on destination address 2, which is BGP next-hop address 1.

[0201] S403. Based on the target BGP next-hop address, determine the target SRTE configuration information corresponding to the first service message to be processed from at least one SRTE configuration information.

[0202] Optionally, in the forwarding decision-making device, each BGP next-hop address can be associated with an SRTE configuration information.

[0203] For example, the forwarding decision device may include 10 BGP next-hop addresses and 10 SRTE configuration information, as shown in Table 3. If the target BGP next-hop address is BGP next-hop address 1, the forwarding decision device can determine the target SRTE configuration information as SRTE configuration information 1 from the 10 SRTE configuration information.

[0204] S404. Determine the working status of at least one virtual forwarding path in the target SRTE configuration information.

[0205] Any SRTE configuration information may include at least one virtual forwarding path. For example, at least one virtual forwarding path may be: a primary forwarding path, a backup forwarding path, and a fallback forwarding path.

[0206] For any given virtual forwarding path, the virtual forwarding path can be used for communication between the routing device node and the destination address. That is, if the routing device node does not include a forwarding device, then any virtual forwarding path can be used for communication between the forwarding decision device and the destination address; if the routing device node includes a forwarding device, then any virtual forwarding path can be used for communication between the forwarding decision device, the forwarding device, and the destination address.

[0207] The forwarding decision-making device can determine the operating status of each virtual forwarding path in the target SRTE configuration information. The operating status can be normal or faulty.

[0208] Optionally, for any virtual forwarding path, the working status of the virtual forwarding path can be determined in the following way: send a detection message to the destination device corresponding to the destination address through the virtual forwarding path; if an echo message corresponding to the detection message sent by the destination device is received within a preset time period, the working status of the virtual forwarding path is determined to be normal; if no echo message sent by the destination device is received within the preset time period, the working status of the virtual forwarding path is determined to be faulty.

[0209] Optionally, for any given virtual forwarding path, the forwarding decision device can periodically send detection messages to the corresponding destination device through the virtual forwarding path. Since a virtual forwarding path has at least one corresponding forwarding path, the forwarding decision device sending detection messages to the corresponding destination device through the virtual forwarding path means sending detection messages to the corresponding destination device through at least one forwarding path corresponding to the virtual forwarding path.

[0210] Optionally, if a virtual forwarding path corresponds to at least one forwarding path, a detection message can be sent to the corresponding destination device through that at least one forwarding path. If an echo message is received from one of the forwarding paths, it can be determined that the virtual forwarding path is in a normal operating state; if no echo message is received, it can be determined that the virtual forwarding path is in a fault state.

[0211] Optionally, the preset duration can be manually preset. For example, the preset duration can be 600ms.

[0212] For example, if the main path corresponds to forwarding path 1 and forwarding path 2, then for the main forwarding path, the forwarding decision device can send detection messages to the destination device corresponding to the main forwarding path through forwarding path 1 and forwarding path 2. If an echo message sent by the destination device and returned through forwarding path 1 is received within 600ms, the working state of the main forwarding path can be determined to be normal; if an echo message sent by the destination device and returned through forwarding path 2 is received within 600ms, the working state of the main forwarding path can also be determined to be normal; if no echo message sent by the destination device is received through forwarding path 1 or forwarding path 2 within 600ms, the working state of the main forwarding path can be determined to be faulty.

[0213] By sending detection messages through the forwarding decision setting, the reliability of the forwarding path can be quickly detected. Within a preset time, it can detect whether the forwarding path is faulty and perform a rapid switch.

[0214] S405. Determine the target virtual forwarding path corresponding to the service packet based on the working status of at least one virtual forwarding path.

[0215] After the forwarding decision device determines the working status of at least one virtual forwarding path in the target SRTE configuration information, it can determine the target virtual forwarding path corresponding to the first service packet to be processed based on the working status of at least one virtual forwarding path.

[0216] Since the primary forwarding path has a higher priority than the backup forwarding path, and the backup forwarding path has a higher priority than the fallback forwarding path, the priority order of the target virtual forwarding path is determined based on the working status of at least one virtual forwarding path as follows: primary forwarding path, backup forwarding path, fallback forwarding path.

[0217] Optionally, the target virtual forwarding path corresponding to the first service packet to be processed can be determined according to the working status of at least one virtual forwarding path in the following manner: if the working status of the primary forwarding path is normal, then the primary forwarding path is determined as the target virtual forwarding path; if the working status of the primary forwarding path is faulty and the working status of the backup forwarding path is normal, then the backup forwarding path is determined as the target virtual forwarding path; if the working status of both the primary forwarding path and the backup forwarding path is faulty and the working status of the fallback forwarding path is normal, then the fallback forwarding path is determined as the target virtual forwarding path.

[0218] Because the forwarding decision-making device is pre-configured with SRTE configuration information, and the SRTE configuration information defines at least one virtual forwarding path (i.e., primary forwarding path, backup forwarding path, and fallback forwarding path), when the primary forwarding path fails, the backup forwarding path or fallback forwarding path can be quickly determined based on the SRTE configuration information without having to calculate the forwarding path temporarily, thereby improving the efficiency of determining the target forwarding path.

[0219] For example, if the target SRTE configuration information is SRTE configuration information 1, as shown in Table 1, and the working status of the primary forwarding path in SRTE configuration information 1 is normal, then this primary forwarding path can be determined as the target virtual forwarding path for the first service packet to be processed.

[0220] S406. Determine the target forwarding path from at least one forwarding path corresponding to the target virtual forwarding path.

[0221] Optionally, after the forwarding decision device determines the target virtual forwarding path for the first service packet to be processed, it determines the target forwarding path from at least one forwarding path corresponding to the target virtual forwarding path, which may include the following two cases:

[0222] Case 1: The target virtual forwarding path corresponds to a forwarding path.

[0223] In this case, the forwarding path corresponding to the target virtual forwarding path can be determined as the target forwarding path.

[0224] Specifically, the target virtual forwarding path corresponds to a forwarding path, which means that the target virtual forwarding path corresponds to a SID list. The forwarding decision device can determine the target MPLS label in the SID list and determine the forwarding path identified by the target MPLS label as the target forwarding path.

[0225] For example, if the target virtual forwarding path is a backup forwarding path, and if the backup forwarding path is as shown in Table 1 above, and the backup forwarding path corresponds to a SID list 3, it means that the backup forwarding path corresponds to a forwarding path. Then the forwarding decision device can determine the MPLS label 3 in the SID list 3 and determine the forwarding path 3 identified by the MPLS label 3 as the target forwarding path.

[0226] Scenario 2: The target virtual forwarding path corresponds to multiple forwarding paths.

[0227] In this case, in an optional embodiment, the forwarding decision device can determine the target data stream to which the first service message to be processed belongs, and determine the forwarding path corresponding to the target data stream among the multiple forwarding paths, and then determine the forwarding path corresponding to the target data stream as the target forwarding path corresponding to the first service message to be processed.

[0228] Specifically, the target virtual forwarding path corresponds to multiple forwarding paths, indicating that the target virtual forwarding path corresponds to multiple SID lists. The forwarding decision device can determine the target data stream to which the first service packet to be processed belongs, and determine the target SID list corresponding to the target data stream in the multiple SID lists. Then, it can determine the target MPLS label in the target SID list and determine the forwarding path identified by the target MPLS label as the target forwarding path.

[0229] It should be noted that if multiple pending service messages correspond to the same 5-tuple information, then these multiple pending service messages belong to the same data stream. The 5-tuple information may include the source network address, source port number, destination network address, destination port number, and transport layer protocol.

[0230] For example, if the target virtual forwarding path is the primary forwarding path, and if the primary forwarding path is as shown in Table 1 above, corresponding to SID list 1 and SID list 2, it means that the primary forwarding path corresponds to two forwarding paths. In this case, the forwarding decision device determines the target data stream to which the first service packet to be processed belongs. If the target SID list corresponding to the target data stream is SID list 1, the forwarding decision device can determine MPLS label 1 in SID list 1 and identify forwarding path 1 identified by MPLS label 1 as the target forwarding path.

[0231] In another alternative embodiment, the forwarding decision device can determine any one of the multiple forwarding paths and designate that one forwarding path as the target forwarding path.

[0232] Specifically, the target virtual forwarding path corresponds to multiple forwarding paths, which means that the target virtual forwarding path corresponds to multiple SID lists. The forwarding decision device can determine any one of the multiple SID lists as the target SID list, determine the target MPLS label in the target SID list, and determine the forwarding path identified by the target MPLS label as the target forwarding path.

[0233] For example, if the target virtual forwarding path is the primary forwarding path, and if the primary forwarding path is as shown in Table 1 above, and the primary forwarding path corresponds to SID list 1 and SID list 2, it means that the primary forwarding path corresponds to 2 forwarding paths. Then, the forwarding decision device determines which of the two target SID lists, SID list 1 and SID list 2, can be selected. Assuming that the target SID list is SID list 2, the forwarding decision device can determine MPLS label 2 in SID list 2 and determine the forwarding path 2 identified by MPLS label 2 as the target forwarding path.

[0234] S407. Process the first pending service message according to the target forwarding path to obtain the second pending service message, and send the second pending service message to the target next-hop node.

[0235] After determining the target forwarding path for the first service packet to be processed, the forwarding decision device can determine the SID list corresponding to the target forwarding path, and then determine the target MPLS label from the SID list. The forwarding decision device can add the target MPLS label to the first service packet to be processed, and then encapsulate the first service packet to be processed to obtain the second service packet to be processed. The second service packet to be processed includes the target MPLS label.

[0236] If the routing device node does not include a forwarding device, the forwarding decision device, after obtaining the second service message to be processed, can send the second service message to the target next-hop node according to the target forwarding path (i.e. the forwarding path identified by the target MPLS label).

[0237] For example, if the forwarding decision device determines that the target forwarding path of the first service packet to be processed is forwarding path 1 identified by MPLS label 1 in SRTE configuration information 1, and if MPLS label 1 is index 10MPLS label 1056, then the forwarding decision device can add MPLS label 1 to the first service packet to be processed to obtain the second service packet to be processed. The second service packet to be processed includes MPLS label 1. Then, the forwarding decision device can send the second service packet to the target next-hop node according to index 10MPLS label 1056.

[0238] If the routing device node includes a forwarding device, after the forwarding decision device receives the second pending service packet, it can send the second pending service packet to the target forwarding device according to the target forwarding path. The target forwarding device then sends the second pending service packet to the target next-hop node according to the target forwarding path.

[0239] For example, if the forwarding decision device receives a first pending service packet and determines that the target forwarding path of the first pending service packet is forwarding path 1 identified by MPLS label 1 in SRTE configuration information 1, and if MPLS label 1 includes: index 10MPLS label 1014 and index 20MPLS label 1056, then the forwarding decision device can add MPLS label 1 to the first pending service packet to obtain a second pending service packet. The forwarding decision device can send the second pending service packet to forwarding device 1 according to index 10MPLS label 1014. Forwarding device 1 can send the second pending service packet to the target next-hop node according to index 20MPLS label 1056.

[0240] In this disclosure, determining the target forwarding path of the first service packet to be processed based on SRTE configuration information can significantly improve the efficiency of determining the target forwarding path. Furthermore, in fault conditions, it can be guaranteed that the target forwarding path of the first service packet to be processed is controllable and predictable, whereas the target forwarding path re-determined by ordinary routing devices is unpredictable.

[0241] In this embodiment, the forwarding decision device can receive routing results of at least one service packet sent by the control device. The forwarding decision device can search for the target BGP next-hop address corresponding to the first service packet in the routing results of at least one service packet based on the destination address corresponding to the first service packet, and determine the target SRTE configuration information corresponding to the first service packet in at least one SRTE configuration information based on the target BGP next-hop address. The forwarding decision device can determine the working status of at least one virtual forwarding path in the target SRTE configuration information, and determine the target virtual forwarding path corresponding to the service packet based on the working status of at least one virtual forwarding path, and then determine the target forwarding path among at least one forwarding path corresponding to the target virtual forwarding path. The forwarding decision device can process the first service packet according to the target forwarding path to obtain a second service packet, and send the second service packet to the target next-hop node. Because the forwarding decision-making device is pre-configured with SRTE configuration information, and each SRTE configuration defines at least one virtual forwarding path (i.e., primary forwarding path, backup forwarding path, and fallback forwarding path), the forwarding decision-making device can quickly determine the target virtual forwarding path corresponding to the first service packet to be processed based on the SRTE configuration information, and thus determine the target forwarding path. Especially when the primary forwarding path fails, the backup forwarding path can be directly determined as the target virtual forwarding path. Furthermore, if the backup forwarding path also fails, the fallback forwarding path can be determined as the target virtual forwarding path. This enables the rapid determination of another virtual forwarding path when one virtual forwarding path fails, or at least one forwarding path corresponding to another virtual forwarding path when at least one forwarding path corresponding to the target virtual forwarding path fails, without the need to temporarily calculate a new forwarding path. This improves the efficiency of determining the target virtual forwarding path and the target forwarding path, thereby improving the efficiency of routing and forwarding the service packets to be processed.

[0242] It should be noted that the various processing steps (S401-S407) shown in the embodiment of FIG4 do not constitute a specific limitation on the routing and forwarding process performed by the forwarding decision device. In other embodiments of this disclosure, the routing and forwarding process may include more or fewer steps than in the embodiment of FIG4. For example, the routing and forwarding process may include some of the steps in the embodiment of FIG4, or some steps in the embodiment of FIG4 may be replaced by steps with the same function, or some steps in the embodiment of FIG4 may be split into multiple steps, etc.

[0243] Below, based on the embodiment in Figure 3 and in conjunction with Figure 5, the process executed by the control device in the above-mentioned routing device node will be described.

[0244] Figure 5 is a flowchart illustrating another routing and forwarding method provided by an exemplary embodiment of this disclosure. Referring to Figure 5, the method may include:

[0245] S501. Determine the routing result of at least one service message.

[0246] Optionally, the routing result of at least one service message can be determined in the following way: by receiving a control message sent by the forwarding device through the BGP proxy component through any destination device proxy component, and sending the control message to the routing calculation component; by performing routing calculation on the routing information of at least one service message in the control message through the routing calculation component, the routing result of at least one service message can be obtained.

[0247] Optionally, the control device may include at least one destination device agent component and a routing calculation component.

[0248] One destination device proxy component can correspond to one destination device. The destination device proxy component can include the identifier of the destination device. The destination device proxy component can be regarded as a proxy for the destination device in the control device.

[0249] Since the control device includes at least one destination device proxy component, the control device can receive control messages sent by different forwarding devices through each destination device proxy component.

[0250] For example, if the control device includes a destination device proxy component 1 and a destination device proxy component 2, the control device can receive control message 1 sent by forwarding device 1 through destination device proxy component 1, and can receive control message 2 sent by forwarding device 2 through destination device proxy component 2. For example, control message 1 includes routing information for 2000 service messages; control message 2 may include routing information for 4000 service messages.

[0251] Routing calculation components can be used to perform route calculations. The computing performance of control devices can be superior to that of ordinary routing devices. Performing route calculations within control devices can improve the efficiency of determining route results.

[0252] The control messages received by the control device through the proxy components of each destination device can be aggregated into the routing calculation component. The routing calculation component performs routing calculations on the routing information of the service messages in each control message to obtain the routing results.

[0253] Optionally, the control device may include preset routing rules. The preset routing rules include equivalent routing results that are equivalent to the target routing result. Optionally, equivalence means that the communication latency and / or communication cost between the current routing device node and each of the two next-hop nodes are the same.

[0254] Since the routing results include the BGP next-hop address corresponding to the service packet, and the BGP next-hop address is the network address of the next-hop node corresponding to the service packet, for example, if the communication delay and / or communication cost between the current routing device node and the next-hop node A is the same as (i.e., equivalent) to the communication delay and / or communication cost between the routing device node and the next-hop node B, then the routing result 1 of the service packet may include the BGP next-hop address as the network address of the next-hop node A, and the routing result 2 of the service packet may include the BGP next-hop address as the network address of the next-hop node B. If routing result 1 is the target routing result of the service packet, then routing result 2 is an equivalent routing result to routing result 1.

[0255] In related technologies, routing rules can be: highest weight (WEIGHT) > highest local priority (LOCAL_PREF) > local originating path > shortest autonomous system path (AS_PATH) > lowest origin (ORIGIN) > lowest multi-egress discriminator (MED) > external border gateway protocol (EBGP) > lowest IGP metric (IGP_METRIC) > equal cost route (ECMP) > longest route age (AGE route) > lowest routing device ID (ROUTER_ID) > shortest route reflector cluster ID (CLUSTER_ID) > lowest neighbor address.

[0256] Compared to the routing rules in related technologies, the preset routing rules of this disclosure add one more item: an equivalent routing result that is equivalent to the target routing result. Optionally, the target routing result can be the optimal routing result.

[0257] For example, the preset routing rules can be:

[0258] Highest weight (WEIGHT) > Highest local priority (LOCAL_PREF) > Local originating path > Shortest autonomous system path (AS_PATH) > Lowest origin (ORIGIN) > Lowest multi-egress discriminator (MED) > External border gateway protocol (EBGP) > Lowest IGP metric (IGP_METRIC) > Equal cost route (ECMP) > Equivalent cost route to the best route > Longest route age (AGE route) > Lowest route device ID (ROUTER_ID) > Shortest route reflector cluster ID (CLUSTER_ID) > Lowest neighbor address.

[0259] For any given service packet, the routing calculation component performs route calculations on the packet's routing information to obtain the routing result. This involves determining the target route for the service packet based on its routing information. If the target route is unavailable, an equivalent route, according to preset routing rules, is selected as the routing result for the service packet. The routing result may include the destination address and the BGP next-hop address of the service packet.

[0260] The following section, with reference to Figure 6, explains how the routing result is determined based on preset routing rules.

[0261] Figure 6 is a schematic diagram illustrating a route determination method according to an exemplary embodiment of this disclosure. Referring to Figure 6, it includes at least one access layer device, at least one core network device, at least one routing device node, at least one destination device, and a route reflector.

[0262] For example, at least one access layer device can be access layer device 1 and access layer device 2; at least one core network device can be core network device 1 and core network device 2; at least one routing device node can be routing device node 1 and routing device node 2; at least one destination device can be destination device 1, destination device 2, destination device 3, and destination device 4. Among them, destination device 1, destination device 2, and destination device 3 can belong to operator 1, and destination device 4 can belong to operator 2.

[0263] In related technologies, routing device node 1 and routing device node 2 are ordinary routing devices. If routing device node 2 can determine the target routing result and the equivalent routing result (the equivalent routing result is equivalent to the target routing result) for service packet 1, and assuming the target routing result can include the network address of next-hop node A (which is the routing device node between routing device node 2 and destination device 2), and assuming the equivalent routing result can include the network address of next-hop node B (which can be the routing device node between routing device node 2 and destination device 3), when the target routing result is unavailable (next-hop node A fails, or the communication connection between next-hop node A and routing device node 2 is interrupted), routing device node 2 may, according to the routing principles in related technologies, select the next-hop node C between routing device node 2 and destination device 4, and determine that the routing result includes the network address of next-hop node C. At this point, since the destination device 2 connected to next-hop node A corresponds to operator 1, and the destination device 4 connected to next-hop node C corresponds to operator 2, the operator changes accordingly. Therefore, routing device node 2 needs to re-issue routing-related information about operator 2 in the control plane and transmit this information to core network devices and access layer devices through a routing reflector. During this process, packet loss occurs due to the slow transmission speed of routing-related information. For example, routing-related information may include at least one of the following: network topology information, routing protocol information, and network address allocation information. A routing reflector can be used to reduce the number of connections between routing nodes in a large network. At least one routing reflector can be configured in a large network.

[0264] In this disclosure, routing device node 1 and routing device node 2 are the routing device nodes of this disclosure. To optimize the efficiency of determining the routing result, the control device can prioritize selecting an equivalent routing result that is equivalent to the target routing result according to a preset routing principle. For example, for service packet 1, when the target routing result is unavailable, the control device can prioritize selecting an equivalent routing result that is equivalent to the target routing result according to the preset routing principle, that is, prioritize next-hop node B that is equivalent to next-hop node A, and determine that the routing result of service packet 1 includes the network address of next-hop node B. Compared with the existing routing principle, next-hop node C will not be selected, avoiding the possibility of changing operators, thereby avoiding the transmission of routing-related information of operator 2, reducing communication jitter, and effectively reducing the probability of packet loss.

[0265] For example, if the control device receives control message 1 through destination device proxy component 1 and control message 2 through destination device proxy component 2, and control message 1 and control message 2 are as illustrated above, then the routing calculation component can perform routing calculations on the routing information of a total of 6000 service messages, obtaining routing results for 6000 service messages. Specifically, for any given service message's routing information, when the control device performs routing calculations based on the service message's routing information and obtains a routing result, it can, according to the aforementioned preset routing principles, determine the equivalent routing result as the service message's routing result if it determines that the target routing result corresponding to the service message is unavailable.

[0266] S502. Send the routing result of at least one service packet to the forwarding decision device, so that the forwarding decision device can determine the target forwarding path of the first service packet to be processed based on the routing result of at least one service packet and at least one SRTE configuration information, and process the first service packet to be processed according to the target forwarding path to obtain the second service packet to be processed, so as to send the second service packet to the target next-hop node.

[0267] For example, if the control device determines the routing results of 6,000 service packets, it can send the routing results of the 6,000 service packets to any forwarding decision device in the routing device node. This allows any forwarding decision device to determine the target forwarding path of the first service packet to be processed based on the routing results of the 6,000 service packets and at least one SRTE configuration information. The device can then encapsulate the first service packet to be processed according to the target forwarding path to obtain the second service packet to be processed, and send the second service packet to the target next-hop node.

[0268] It should be noted that the process of the forwarding decision device determining the target forwarding path of the first service packet to be processed based on the routing result of at least one service packet and at least one SRTE configuration information, and encapsulating the first service packet to be processed according to the target forwarding path to obtain the second service packet to be processed, and sending the second service packet to the target next-hop node, can be referred to the embodiment in Figure 4, and will not be described again here.

[0269] In this embodiment, the control device may include at least one destination device proxy component and a routing calculation component. The control device can receive control messages sent by the forwarding device through the destination device proxy component, and perform routing calculations on the routing information of at least one service message through the routing calculation component to obtain the routing result of at least one service message. The control device can send the routing result of at least one service message to any forwarding decision device. Since the computing power of the control device is superior to that of ordinary routing devices, calculating the routing result corresponding to the service message by the control device can improve the efficiency of determining the routing result. Furthermore, the control device includes preset routing rules, and determining the routing result of each service message according to the preset routing rules can reduce communication jitter and packet loss probability. By pre-determining the routing result of at least one service message by the control device and pre-sending the routing result of at least one service message to any forwarding decision device, the efficiency of the forwarding decision device in determining the target forwarding path is improved, thereby comprehensively improving the efficiency of routing and forwarding the service messages to be processed.

[0270] Below, based on any of the above embodiments and in conjunction with Figure 7, the routing device node in the network will be described in further detail.

[0271] Figure 7 is a schematic diagram of a routing device node in a network according to an exemplary embodiment of this disclosure. Referring to Figure 7, it includes at least one access layer device, at least one core network device, a routing device node, and at least one destination device.

[0272] For example, at least one access layer device can be access layer device 1 and access layer device 2; at least one core network device can be core network device 1 and core network device 2; at least one destination device can be destination device 1, destination device 2, destination device 3, and destination device 4. Among them, destination device 1, destination device 2, and destination device 3 can belong to operator 1, and destination device 4 can belong to operator 2.

[0273] A routing device node may include at least one forwarding decision device, at least one forwarding device, and a control device. For example, at least one forwarding decision device may be forwarding decision device 1, forwarding decision device 2, ...; at least one forwarding device may be forwarding device 1, forwarding device 2, forwarding device 3, ...

[0274] In this disclosure, at least one forwarding decision device and at least one forwarding device can form a forwarding matrix to achieve high-speed forwarding of service packets. This forwarding matrix is ​​constructed using standard protocols, avoiding the problems associated with long-term vendor-dependent fault location due to software defects or physical damage in ordinary routing devices, which can impact services. Furthermore, it reduces the troubleshooting costs for operations personnel, eliminating reliance on vendors for fault location.

[0275] The standard protocol can be at least one of the following: Routing Information Protocol (RIP), Open Shortest Path First (OSPF), Intermediate System to Intermediate System (IS-IS), BGP, Enhanced Interior Gateway Routing Protocol (EIGRP), etc.

[0276] Optionally, for any forwarding device, the forwarding device may include a BGP proxy component. Optionally, the BGP proxy component may include services such as network routing interaction service (zebra), BGP daemon service (bgpd), bidirectional forwarding detection (bfdd), and remote call service (grpc_server).

[0277] Optionally, a container can run within the forwarding device. The BGP proxy component can run independently within the container.

[0278] Optionally, the BGP proxy component can share the same network namespace as the host machine (i.e., the forwarding device where the BGP proxy component resides). Therefore, the host machine's interfaces, network addresses, and other information can be seen within the container. Interface, network address, and routing-related configurations can be directly configured on the host machine without needing to be configured in the BGP proxy component. The BGP proxy component and the host machine can share interfaces, network addresses, and routing-related configurations.

[0279] The forwarding device can receive control messages sent by at least one destination device through a BGP proxy component. These control messages may include routing information for at least one service message. Optionally, the routing information may include destination address, routing policy, and other information.

[0280] Alternatively, the forwarding device can send control messages to the control device through a BGP proxy component.

[0281] The control device can receive control messages through the proxy components of each destination device and aggregate them to the route calculation component. The control device can then use the route calculation component to obtain routing information for at least one service message from each control message, perform route calculations, and obtain a routing result for at least one service message. The routing result may include the destination address and BGP next-hop address of the service message. The control device can then send the routing result of at least one service message to each forwarding decision device.

[0282] Each forwarding decision device can be configured with at least one SRTE configuration information. The forwarding decision device can receive the routing results of at least one service packet sent by the control device.

[0283] Any access layer device can send a first service packet to be processed to any core network device, and any core network device can send a first service packet to be processed to any forwarding decision device. For any forwarding decision device, after receiving the first service packet to be processed, the forwarding decision device can determine the target forwarding path of the first service packet to be processed based on the routing results of at least one service packet and at least one SRTE configuration information.

[0284] The process of determining the target forwarding path of the first service packet to be processed based on the routing result of at least one service packet and at least one SRTE configuration information can be found in the embodiment shown in Figure 4, and will not be described in detail here.

[0285] After determining the target forwarding path for the first pending service packet, the forwarding decision device can determine the SID list corresponding to the target forwarding path, and then determine the target MPLS label from the SID list. The forwarding decision device can add the target MPLS label to the first pending service packet, then encapsulate the first pending service packet to obtain the second pending service packet, and send the first pending service packet to the forwarding device according to the target forwarding path. The second pending service packet includes the target MPLS label.

[0286] After receiving the second pending service message, the forwarding device can send the second pending service message to the target next-hop node according to the target MPLS label in the second pending service message.

[0287] Optionally, the forwarding decision device is further configured to: send a fault message to the control device when the working state of the first virtual forwarding path is a fault state, so that the control device can isolate the first destination device proxy component corresponding to the first virtual forwarding path according to the fault message.

[0288] The first virtual forwarding path refers to any virtual forwarding path among the primary forwarding path, backup forwarding path, and fallback forwarding path defined in any SRTE configuration information.

[0289] The fault message may include the identifier of the forwarding decision device, as well as the identifier and working status of the first virtual forwarding path.

[0290] For example, if forwarding decision device 1 determines that the working status of the primary forwarding path in SRTE configuration information 1 is a fault state, then forwarding decision device 1 can send a fault message to the control device. The fault message may include the identifier Spine1 of forwarding decision device 1, the identifier path1 of the primary forwarding path, and the fact that the working status is a fault state.

[0291] After receiving the fault message sent by the forwarding decision device, the control device can determine the first destination device proxy component corresponding to the first virtual forwarding path in at least one destination device proxy component based on the identifier of the first virtual forwarding path, and set the routing state of the first destination device to the isolation state in the first destination device proxy component.

[0292] Since every forwarding path has a corresponding destination device, and each destination device proxy component includes the identifier of the destination device, the control device can determine the first virtual forwarding path and the corresponding destination device based on the identifier of the first virtual forwarding path, and then determine the first destination device proxy component based on the destination device corresponding to the first virtual forwarding path. The first destination device proxy component includes the identifier of the destination device corresponding to the first virtual forwarding path.

[0293] Optionally, the control device may set the routing state of the first destination device to an isolated state within the first destination device agent component. The isolated state indicates that communication between the first destination device and the forwarding decision device is suspended.

[0294] In an optional embodiment, the control device may update the transmit / receive policy corresponding to the first destination device to a bidirectional rejection / rejection policy in the first destination device proxy component, so as to set the routing state of the first destination device to an isolated state.

[0295] Setting the routing state of the first destination device to isolated status prevents the forwarding decision device from sending service packets to the first destination device through the first virtual forwarding path, thus preventing packet loss. The forwarding decision device coordinates with the control device by sending a fault message. Based on the fault message, the control device sets the routing state of the first destination device to isolated status in the first destination device's proxy component. This achieves fine-grained isolation without affecting other destination devices or the forwarding decision device, optimizing the packet loss problem caused by forwarding path failures.

[0296] Optionally, the control device may include routing software, which can be developed by the local control device manufacturer itself, without being constrained by the development cycle of the routing device manufacturer.

[0297] Optionally, the forwarding device can also create a Bidirectional Forwarding Detection (BFD) process through the BGP proxy component, and send BFD detection messages to the destination device through the BFD process to detect whether the communication status between the forwarding device and the destination device is normal.

[0298] It should be noted that the forwarding device can create multiple BFD processes, each BFD process being used to send a BFD detection message to a destination device. Different BFD processes correspond to different destination devices. This is beneficial for detecting the communication status between the forwarding device and each destination device.

[0299] Optionally, the forwarding device can also create a BGP process and associate the aforementioned multiple BFD processes with the BGP process. If one of the BFD processes detects an abnormal communication status between the forwarding device and the destination device, the BGP process can forward the service packets to other destination devices.

[0300] In this embodiment, the routing device node includes a control device, at least one forwarding decision device, and at least one forwarding device. Since the control device has superior computing power compared to ordinary routing devices, calculating the routing result corresponding to the service packet using the control device improves the efficiency of determining the routing result. The forwarding decision device can be pre-configured with at least one SRTE configuration information, which indicates the forwarding path corresponding to the next-hop node. The forwarding decision device can quickly determine the target forwarding path corresponding to the first service packet to be processed based on at least one SRTE configuration information and the routing result of at least one service packet. Furthermore, the forwarding capabilities of the forwarding decision device and the forwarding device are strong; forwarding the second service packet corresponding to the first service packet to be processed using the forwarding decision device and the forwarding device improves forwarding efficiency. In summary, the technical solution of this disclosure improves the efficiency of routing and forwarding service packets to be processed.

[0301] Below, based on the routing device node described in any of the above embodiments, and in conjunction with FIG8, this disclosure also provides a routing system.

[0302] Figure 8 is a schematic diagram of a routing system provided by an exemplary embodiment of this disclosure. Referring to Figure 8, the routing system may include multiple routing device nodes and a global control device.

[0303] For example, the multiple routing device nodes can be routing device node 1, routing device node 2, routing device node 3, routing device node 4, routing device node 5, ... The routing device node is the routing device node described in any of the above embodiments.

[0304] It should be noted that among these multiple routing device nodes, the functions and roles of any one of them are the same. That is, the forwarding decision device in any one of the routing device nodes needs to determine the target forwarding path of the first service packet to be processed. In other words, among these multiple routing device nodes, for the same first service packet to be processed, after the forwarding decision device in the previous hop routing device node determines the target forwarding path of the first service packet to be processed, the forwarding decision device in the next hop routing device node still needs to determine the target forwarding path of the first service packet to be processed. This is because the network state changes in real time, and the forwarding decision devices in different routing device nodes have different configuration information for at least one SRTE. When the first service packet to be processed is passed to the next hop routing device node, the target forwarding path determined by the previous routing device node is no longer accurate. Therefore, the next hop routing device node still needs to determine the target forwarding path of the first service packet to be processed.

[0305] Optionally, the global control device can be used to configure at least one STRE configuration information to the forwarding decision device in any routing device node.

[0306] Optionally, the global control device can also be used to create at least one destination device proxy component in the control device of any routing device node, and configure the corresponding destination device identifier in each destination device proxy component so that each destination device proxy component can proxy the corresponding destination device.

[0307] For example, a global control device can create a destination device proxy component 1 in the control device and configure the identifier of destination device 1 in the destination device proxy component 1, then the destination device proxy component 1 can be used to proxy destination device 1.

[0308] Optionally, the global control device can also configure the BGP proxy component through the remote call service in the BGP proxy component.

[0309] Optionally, the global control device is deployed in the cloud using a two-site, three-center architecture, serving as a unified management controller for multiple routing device nodes. The global control device is primarily responsible for various management-related tasks, such as carrier management, line management, routing device SR Policy management, global policy management, and routing cluster management. Compared to ordinary routing devices, which vary in manufacturer and control and operation methods, making unified management difficult, the multiple routing device nodes in this disclosure provide a standard interface. The global control device can manage each device within any routing device node through a unified remote call interface, simplifying device maintenance and reducing operating costs.

[0310] It should be noted that the two-site, three-center architecture is a data center architecture primarily used to ensure business continuity and data security. The two sites refer to the same city and the different locations, while the three centers refer to the data center itself, the same-city disaster recovery center, and the different-location disaster recovery center.

[0311] For example, a data center can be set up at location 1 in city a, and the data center may include global control equipment; a local disaster recovery center can be set up at location 2 in city a, and the local disaster recovery center may also include global control equipment. The distance between location 1 and location 2 can be greater than a preset distance (e.g., 50km). A remote disaster recovery center can be set up in city b, and the remote disaster recovery center may also include global control equipment.

[0312] The routing device node disclosed herein has the following advantages compared to existing ordinary routing devices, as shown in Table 4:

[0313] Table 4

[0314] In this embodiment of the disclosure, the routing system may include multiple routing device nodes and a global control device. The routing device nodes improve the efficiency of routing and forwarding service packets; the global control device enables unified management of all routing device nodes, reducing maintenance complexity and operating costs.

[0315] Figure 9 is a schematic diagram of a forwarding decision device provided in an exemplary embodiment of this disclosure. Referring to Figure 9, the forwarding decision device 10 may include a processor 11 and a memory 12. Exemplarily, the processor 11 and the memory 12 are interconnected via a bus 13.

[0316] The memory 12 stores computer-executed instructions;

[0317] The processor 11 executes the computer execution instructions stored in the memory 12, causing the processor 11 to perform the method as shown in the above method embodiment.

[0318] Figure 10 is a schematic diagram of a control device provided in an exemplary embodiment of the present disclosure. Referring to Figure 10, the control device 20 may include a processor 21 and a memory 22. Exemplarily, the processor 21 and the memory 22 are interconnected via a bus 23.

[0319] The memory 22 stores computer-executed instructions;

[0320] The processor 21 executes the computer execution instructions stored in the memory 22, causing the processor 21 to perform the method as shown in the above method embodiment.

[0321] Accordingly, this disclosure provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the method described in the above-described method embodiments.

[0322] Accordingly, this disclosure also provides a computer program product, including a computer program, which, when executed by a processor, can implement the methods shown in the above-described method embodiments.

[0323] Those skilled in the art will understand that embodiments of this disclosure can be provided as methods, systems, or computer program products. Therefore, this disclosure can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this disclosure can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0324] This disclosure is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more flowchart illustrations and / or one or more block diagrams.

[0325] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams.

[0326] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.

[0327] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0328] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0329] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0330] It should also be noted that 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 limitation, 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.

[0331] The above description is merely an embodiment of this disclosure and is not intended to limit the scope of this disclosure. Various modifications and variations can be made to this disclosure by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this disclosure should be included within the scope of the claims of this disclosure.

Claims

1. A routing device node, the routing device node comprising: At least one forwarding decision-making device and a control device, wherein, The control device is used to determine the routing result of at least one service packet and send the routing result of the at least one service packet to any forwarding decision device. The routing result includes the Border Gateway Protocol (BGP) next-hop address corresponding to the service packet, and the BGP next-hop address is the network address of the next-hop node corresponding to the service packet. Any forwarding decision device is configured to determine the target forwarding path of a first service packet to be processed based on the routing result of the at least one service packet and at least one segmented routing traffic engineering (SRTE) configuration information, and process the first service packet to be processed according to the target forwarding path to obtain a second service packet to be processed, so as to send the second service packet to be processed to the target next-hop node. The SRTE configuration information is used to indicate the forwarding path corresponding to the next-hop node.

2. The routing device node according to claim 1, wherein the routing device node further comprises at least one forwarding device, and the at least one forwarding device and the at least one forwarding decision device form a forwarding matrix; The forwarding decision device is also used to send the second service message to be processed to the target forwarding device; The forwarding device is used to send the second service message to be processed to the target next-hop node.

3. The routing device node of claim 1 or 2, the routing result further comprising a destination address of the service packet. Based on the routing results of the at least one service packet and at least one SRTE configuration information, the target forwarding path of the first service packet to be processed is determined, including: Based on the destination address corresponding to the first service packet to be processed, the target BGP next-hop address corresponding to the first service packet to be processed is found in the routing results of the at least one service packet. The target BGP next-hop address is the network address of the target next-hop node corresponding to the first service packet to be processed. Based on the target BGP next-hop address, determine the target SRTE configuration information corresponding to the first service packet to be processed from the at least one SRTE configuration information; The target forwarding path corresponding to the first service packet to be processed is determined based on the target SRTE configuration information.

4. The routing device node according to claim 3, wherein the target SRTE configuration information includes at least one virtual forwarding path between the routing device node and the destination address, and any virtual forwarding path corresponds to at least one forwarding path; The target forwarding path corresponding to the first service packet to be processed is determined based on the target SRTE configuration information, including: Determine the working status of at least one virtual forwarding path in the target SRTE configuration information, wherein the working status is either normal or faulty. Based on the working status of the at least one virtual forwarding path, the target virtual forwarding path corresponding to the first service packet to be processed is determined; The target forwarding path is determined from at least one forwarding path corresponding to the target virtual forwarding path.

5. The routing device node according to claim 4, wherein the at least one virtual forwarding path includes at least one of the following: a primary forwarding path, a backup forwarding path, and a fallback forwarding path; determining the target virtual forwarding path corresponding to the first service packet to be processed based on the working status of the at least one virtual forwarding path includes: If the working status of the primary forwarding path is normal, then the primary forwarding path is determined as the target virtual forwarding path; If the primary forwarding path is in a fault state and the backup forwarding path is in a normal state, then the backup forwarding path is determined as the target virtual forwarding path. If both the primary forwarding path and the backup forwarding path are in a fault state and the fallback forwarding path is in a normal state, then the fallback forwarding path is determined as the target virtual forwarding path.

6. The routing device node of claim 4 or 5, the virtual forwarding path for communication between the routing device node and the destination address. For any given virtual forwarding path, determine the working state of the virtual forwarding path, including: A detection message is sent to the destination device corresponding to the destination address through the virtual forwarding path; If an echo message corresponding to the detection message sent by the destination device is received within a preset time period, the working state of the virtual forwarding path is determined to be normal. If the echo message sent by the destination device is not received within the preset time period, the working state of the virtual forwarding path is determined to be a fault state.

7. The routing device node according to any one of claims 4-6, wherein the control device includes at least one destination device proxy component; The forwarding decision device is also used to send a fault message to the control device when the working state of the first virtual forwarding path is a fault state. The control device is further configured to receive a fault message sent by the forwarding decision device, and to isolate the first destination device proxy component corresponding to the first virtual forwarding path according to the fault message.

8. The routing device node of claim 7, the failure message comprising an identification of the forwarding decision device, and an identification and operational status of the first virtual forwarding path; Based on the fault message, the first destination device proxy component corresponding to the first virtual forwarding path is isolated, including: Based on the identifier of the first virtual forwarding path, determine the first destination device proxy component corresponding to the first virtual forwarding path in the at least one destination device proxy component; In the first destination device proxy component, the routing state of the first destination device is set to an isolated state, which indicates that communication between the first destination device and the forwarding decision device is suspended.

9. The routing device node according to claim 7 or 8, wherein the forwarding device includes a Border Gateway Protocol (BGP) proxy component, and the forwarding device is further configured to: The BGP proxy component receives control messages sent by at least one destination device, the control messages including routing information of the at least one service message; The control message is sent to the control device through the BGP proxy component; The control device also includes a routing calculation component; Determine the routing result of at least one service message, including: The system receives control messages sent by the forwarding device through the BGP proxy component via any destination device proxy component, and sends the control messages to the routing calculation component. The routing calculation component performs routing calculations on the routing information of at least one service message in the control message to obtain the routing result of the at least one service message.

10. The routing device node according to claim 9, wherein the control device includes a preset routing rule, and the preset routing rule includes an equivalent routing result that is equivalent to the target routing result; For any given service message, the routing calculation component performs routing calculations on the routing information of the service message to obtain the routing result of the service message, including: The target routing result of the service packet is determined by the routing information of the service packet obtained by the routing calculation component. When it is determined that the target routing result corresponding to the service message is unavailable, the equivalent routing result that is equivalent to the target routing result is determined as the routing result of the service message according to the preset routing rules.

11. The routing device node according to claim 9, wherein the forwarding device is further configured to: A bidirectional forwarding detection (BFD) process is created using the BGP proxy component; The BFD process sends a BFD detection message to the destination device to check whether the communication status between the forwarding device and the destination device is normal.

12. A routing system, comprising a plurality of routing device nodes and a global control device as described in any one of claims 1-11, wherein, The global control device is used to configure at least one SRTE configuration information for any forwarding decision device.

13. A routing and forwarding method, applied to a forwarding decision device, the method comprising: The system receives routing results for at least one service message sent by a control device. The routing results include the Border Gateway Protocol (BGP) next-hop address corresponding to the service message, where the BGP next-hop address is the network address of the next-hop node corresponding to the service message. Based on the routing results of the at least one service packet and the SRTE configuration information of at least one segmented routing traffic engineering, the target forwarding path of the first service packet to be processed is determined, wherein the SRTE configuration information is used to indicate the forwarding path corresponding to the next hop node. The first service message to be processed is processed according to the target forwarding path to obtain a second service message to be processed, and then the second service message to be processed is sent to the target next-hop node.

14. A routing and forwarding method, applied to a control device, the method comprising: Determine the routing result of at least one service message, wherein the routing result includes the Border Gateway Protocol (BGP) next-hop address corresponding to the service message, and the BGP next-hop address is the network address of the next-hop node corresponding to the service message; The routing result of the at least one service packet is sent to any forwarding decision device, so that the forwarding decision device determines the target forwarding path of the first service packet to be processed based on the routing result of the at least one service packet and at least one Segmented Routing Traffic Engineering (SRTE) configuration information, and processes the first service packet to be processed according to the target forwarding path to obtain a second service packet to be processed, and sends the second service packet to the target next-hop node. The SRTE configuration information is used to indicate the forwarding path corresponding to the next-hop node.

15. A forwarding decision-making device, comprising: At least one processor; as well as A memory that is communicatively connected to the at least one processor; The memory stores instructions that can be executed by the at least one processor, which, when executed by the at least one processor, cause the forwarding decision device to perform the method of claim 13.

16. A control device, comprising: At least one processor; as well as A memory that is communicatively connected to the at least one processor; The memory stores instructions that can be executed by the at least one processor to cause the control device to perform the method of claim 14.

17. A computer-readable storage medium storing computer-executable instructions that, when executed by a processor, implement the method as claimed in claim 13 or 14.

18. A computer program product comprising a computer program that, when executed by a processor, implements the method as claimed in claim 13 or 14.

Citation Information

Patent Citations

  • Routing control method and device

    CN112583714A

  • Business processing method and device, storage medium and electronic device

    CN112995030A

  • Message forwarding method, head end device, controller, device and storage medium

    CN117118886A

  • Creating and maintaining segment routed traffic engineering policies via border gateway protocol

    US20180109450A1