A message forwarding method and device
By introducing extended SIDs to carry forwarding mode information in SRv6 networks, the problem of inflexible modification of packet forwarding modes in SRv6 networks is solved, enabling on-demand adjustment of forwarding modes and improvement of transmission efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- NEW H3C TECH CO LTD
- Filing Date
- 2023-03-31
- Publication Date
- 2026-06-05
AI Technical Summary
In SRv6 networks, existing technologies cannot flexibly modify packet forwarding modes, especially when it is necessary to change from IP routing forwarding to flow table forwarding. The controller must modify the forwarding tables of all devices along the way in real time and cannot send information identifiers in advance to inform the device nodes of their forwarding behavior.
By introducing extended SIDs in the SRv6 head node and intermediate nodes to carry packet forwarding mode information, flexible packet forwarding on the SRv6 tunnel is achieved. The head node determines the tunnel and forwarding mode based on service attributes and controller policies, and encapsulates the SID in the tunnel header. Intermediate nodes forward packets based on the SID, resolving and replacing the destination address.
It enables on-demand adjustment of forwarding mode on SRv6 tunnels, reduces tunnel header length, improves transmission efficiency, and allows the controller to control the path through the source device, reducing the need for real-time modification of devices along the route.
Smart Images

Figure CN116418729B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of network communication technology, and in particular to a message forwarding method and apparatus. Background Technology
[0002] Software Defined Networking (SDN) is a novel network architecture that separates the control and forwarding layers of network devices to achieve flexible control over network traffic and provide a robust platform for innovation in core networks and applications. Segment Routing (SR) employs a source path selection mechanism, pre-encapsulating the SegmentID (SID) assigned by the nodes the path will traverse at the source node. When a packet passes through an SR endpoint, that node forwards the packet based on its SegmentID.
[0003] An SRv6 network refers to the use of SR (Segment Routing) within an IPv6 network. It forwards packets using IPv6 addresses as SIDs, and the tunnels between nodes are SRv6 tunnels. The source node (SR) encapsulates the packet with an SRv6 tunnel header and forwards it to the next-hop intermediate node along the tunnel path. The SRv6 intermediate node checks the SL value in the SRH header. If SL > 0, it decrements the SL value by 1, updates the destination address to the next SRv6 node address indicated by SL, and continues forwarding the packet to the next hop until the tail node. The tail SRv6 node receives the packet, checks the SL value in the SRH header, and finds SL = 0. It then decapsulates the packet, removes the encapsulated IPv6 basic header and SRH, and forwards the packet according to the original destination address.
[0004] Currently, during packet transmission, the forwarding mode of the nodes on the SRv6 tunnel is fixed. When it is necessary to modify the packet forwarding mode (such as changing from IP routing forwarding to flow table forwarding), the controller must modify the forwarding table of all devices along the way in real time, and it is impossible to send it in advance. There is no information in the current packet to inform the device nodes of their forwarding behavior. Summary of the Invention
[0005] This application provides a message forwarding method and apparatus.
[0006] Firstly, this application provides a message forwarding method applied to an SRv6 head node, the method comprising:
[0007] Receive the original message and determine the service attributes of the original message;
[0008] Based on the service attributes of the original message and the traffic redirection and forwarding strategy issued by the controller, the SRv6 tunnel and message forwarding mode for forwarding the original message are determined.
[0009] Based on the SRv6 tunnel that forwards the original message, the original message is encapsulated in SRv6 to obtain an encapsulated SRv6 message, wherein the extended SID of the SRH header of the encapsulated SRv6 message carries the message forwarding mode of the original message.
[0010] Based on the packet forwarding mode of the original packet, the encapsulated SRv6 packet is sent to the next-hop SRv6 node.
[0011] Optionally, the packet forwarding mode includes: route forwarding, flow table forwarding, and policy forwarding.
[0012] Optionally, if the packet forwarding mode is route forwarding, then the step of encapsulating the original packet with SRv6 based on the SRv6 tunnel that forwards the original packet to obtain the encapsulated SRv6 packet includes:
[0013] The extended SID List of each SRv6 node included in the SRv6 tunnel that forwards the original packet, corresponding to the routing forwarding mode, is encapsulated into the SRH header to obtain the encapsulated SRv6 packet. In this packet, the extended SID of an SRv6 node corresponding to the routing forwarding mode carries the packet forwarding mode information of the original packet.
[0014] If the packet forwarding mode is flow table forwarding / policy forwarding, then the steps of encapsulating the original packet with SRv6 based on the SRv6 tunnel that forwards the original packet to obtain the encapsulated SRv6 packet include:
[0015] The extended SIDs of the SRv6 head node and SRv6 tail node of the SRv6 tunnel that forwards the original packet, corresponding to flow table forwarding / policy forwarding, are encapsulated into the SRH header to obtain the encapsulated SRv6 packet. Among them, the extended SID of an SRv6 node corresponding to the flow table forwarding / policy forwarding mode carries the packet forwarding mode information and the service attribute information of the original packet.
[0016] Optionally, the packet forwarding mode information of the original packet is carried in the Function field of the corresponding extended SID; the service attribute information of the original packet is carried in the Arguments field of the corresponding extended SID.
[0017] Secondly, this application provides a message forwarding method applied to SRv6 intermediate nodes, wherein each SRv6 node maintains an extended SID of each SRv6 node included in each SRv6 tunnel; the method includes:
[0018] Receive the encapsulated SRv6 message forwarded by the previous SRv6 node, wherein the extended SID of the SRH header of the encapsulated SRv6 message carries the message forwarding mode of the original message.
[0019] Parse the encapsulated SRv6 message to obtain the forwarding mode of the original message;
[0020] Based on the packet forwarding mode of the original packet, the encapsulated SRv6 packet is sent to the next-hop SRv6 node.
[0021] Optionally, the packet forwarding mode includes: route forwarding, flow table forwarding, and policy forwarding;
[0022] If the packet forwarding mode is route forwarding, the SRH header of the encapsulated SRv6 packet carries an extended SID List of each SRv6 node included in the SRv6 tunnel forwarding the original packet. In the route forwarding mode, the extended SID of an SRv6 node carries the packet forwarding mode information of the original packet. The step of sending the encapsulated SRv6 packet to the next-hop SRv6 node includes:
[0023] The next-hop SRv6 node of the encapsulated SRv6 message is determined, and the destination extended SID of the encapsulated SRv6 message is replaced with the extended SID of the next-hop SRv6 node, and then forwarded to the next-hop SRv6 node.
[0024] Optionally, if the packet forwarding mode is flow table forwarding / policy forwarding, the SRH header of the encapsulated SRv6 packet carries the extended SID of the SRv6 head node and SRv6 tail node included in the SRv6 tunnel forwarding the original packet. In the flow table forwarding / policy forwarding mode, the extended SID of an SRv6 node carries the packet forwarding mode information and the service attribute information of the original packet. The step of sending the encapsulated SRv6 packet to the next-hop SRv6 node includes:
[0025] Based on the SIDs of the first and last nodes in the SRH header carried by the encapsulated SRv6 message and the service attribute information of the original message, the target SRv6 tunnel for transmitting the original message is determined.
[0026] Based on the extended SIDs of the SRv6 head node and SRv6 tail node carried in the encapsulated SRv6 message, and the extended SIDs of each SRv6 node included in the target SRv6 tunnel maintained locally, the next-hop SRv6 node is determined, the destination extended SID of the encapsulated SRv6 message is replaced with the extended SID of the next-hop SRv6 node, and forwarded to the next-hop SRv6 node.
[0027] Thirdly, this application provides a message forwarding device applied to an SRv6 head node, the device comprising:
[0028] A receiving unit is used to receive the original message and determine the service attributes of the original message;
[0029] The determining unit is used to determine the SRv6 tunnel and packet forwarding mode for forwarding the original packet based on the service attributes of the original packet and the traffic redirection and forwarding policy issued by the controller.
[0030] An encapsulation unit is used to encapsulate the original packet in SRv6 based on the SRv6 tunnel that forwards the original packet, to obtain an encapsulated SRv6 packet, wherein each extended SID in the SRH header of the encapsulated SRv6 packet carries the packet forwarding mode of the original packet.
[0031] The sending unit is used to send the encapsulated SRv6 message to the next-hop SRv6 node based on the message forwarding mode of the original message.
[0032] Optionally, the packet forwarding mode includes: route forwarding, flow table forwarding, and policy forwarding.
[0033] Optionally, if the packet forwarding mode is route forwarding, then when the original packet is encapsulated into an SRv6 packet based on the SRv6 tunnel that forwards the original packet, the encapsulation unit is specifically used for:
[0034] The extended SID List of each SRv6 node included in the SRv6 tunnel that forwards the original packet, corresponding to the routing forwarding mode, is encapsulated into the SRH header to obtain the encapsulated SRv6 packet. In this packet, the extended SID of an SRv6 node corresponding to the routing forwarding mode carries the packet forwarding mode information of the original packet.
[0035] If the packet forwarding mode is flow table forwarding / policy forwarding, then when the original packet is encapsulated into an SRv6 packet based on the SRv6 tunnel that forwards the original packet, the encapsulation unit is specifically used for:
[0036] The extended SIDs of the SRv6 head node and SRv6 tail node of the SRv6 tunnel that forwards the original packet, corresponding to flow table forwarding / policy forwarding, are encapsulated into the SRH header to obtain the encapsulated SRv6 packet. Among them, the extended SID of an SRv6 node corresponding to the flow table forwarding / policy forwarding mode carries the packet forwarding mode information and the service attribute information of the original packet.
[0037] Optionally, the packet forwarding mode information of the original packet is carried in the Function field of the corresponding extended SID; the service attribute information of the original packet is carried in the Arguments field of the corresponding extended SID.
[0038] Fourthly, this application provides a message forwarding apparatus applied to SRv6 intermediate nodes, wherein each SRv6 node maintains an extended SID for each SRv6 node included in each SRv6 tunnel; the apparatus includes:
[0039] The receiving unit is used to receive the encapsulated SRv6 message forwarded by the previous SRv6 node, wherein the extended SID of the SRH header of the encapsulated SRv6 message carries the message forwarding mode of the original message.
[0040] The parsing unit is used to parse the encapsulated SRv6 message to obtain the forwarding mode of the original message;
[0041] The sending unit is used to send the encapsulated SRv6 message to the next-hop SRv6 node based on the message forwarding mode of the original message.
[0042] Optionally, the packet forwarding mode includes: route forwarding, flow table forwarding, and policy forwarding;
[0043] If the message forwarding mode is route forwarding, the SRH header of the encapsulated SRv6 message carries an extended SID List of each SRv6 node included in the SRv6 tunnel forwarding the original message, wherein, corresponding to the route forwarding mode, the extended SID of an SRv6 node carries the message forwarding mode information of the original message; when sending the encapsulated SRv6 message to the next-hop SRv6 node, the sending unit is specifically used for:
[0044] The next-hop SRv6 node of the encapsulated SRv6 message is determined, and the destination extended SID of the encapsulated SRv6 message is replaced with the extended SID of the next-hop SRv6 node, and then forwarded to the next-hop SRv6 node.
[0045] Optionally, if the packet forwarding mode is flow table forwarding / policy forwarding, the SRH header of the encapsulated SRv6 packet carries the extended SID of the SRv6 head node and SRv6 tail node included in the SRv6 tunnel forwarding the original packet. In the flow table forwarding / policy forwarding mode, the extended SID of an SRv6 node carries the packet forwarding mode information and the service attribute information of the original packet. When sending the encapsulated SRv6 packet to the next-hop SRv6 node, the sending unit is specifically used for:
[0046] Based on the SIDs of the first and last nodes in the SRH header carried by the encapsulated SRv6 message and the service attribute information of the original message, the target SRv6 tunnel for transmitting the original message is determined.
[0047] Based on the extended SIDs of the SRv6 head node and SRv6 tail node carried in the encapsulated SRv6 message, and the extended SIDs of each SRv6 node included in the target SRv6 tunnel maintained locally, the next-hop SRv6 node is determined, the destination extended SID of the encapsulated SRv6 message is replaced with the extended SID of the next-hop SRv6 node, and forwarded to the next-hop SRv6 node.
[0048] Fifthly, embodiments of this application provide a message forwarding apparatus, which includes:
[0049] Memory, used to store program instructions;
[0050] A processor is configured to invoke program instructions stored in the memory and execute the steps of the method as described in any one of the first aspects above, according to the obtained program instructions.
[0051] In a sixth aspect, embodiments of this application also provide a computer-readable storage medium storing computer-executable instructions for causing the computer to perform the steps of the method as described in any of the first aspects above.
[0052] Seventhly, embodiments of this application provide a message forwarding apparatus, the message forwarding apparatus comprising:
[0053] Memory, used to store program instructions;
[0054] A processor is configured to invoke program instructions stored in the memory and execute the steps of the method as described in any one of the second aspects above, according to the obtained program instructions.
[0055] Eighthly, embodiments of this application also provide a computer-readable storage medium storing computer-executable instructions for causing the computer to perform the steps of the method as described in any of the second aspects above.
[0056] In summary, the packet forwarding method provided in this application embodiment is applied to an SRv6 first node. The method includes: receiving an original packet and determining the service attributes of the original packet; determining the SRv6 tunnel and packet forwarding mode for forwarding the original packet based on the service attributes of the original packet and the traffic redirection and forwarding policy issued by the controller; encapsulating the original packet with SRv6 based on the SRv6 tunnel for forwarding the original packet to obtain an encapsulated SRv6 packet, wherein the extended SIDs of the SRH header of the encapsulated SRv6 packet carry the packet forwarding mode of the original packet; and sending the encapsulated SRv6 packet to the next-hop SRv6 node based on the packet forwarding mode of the original packet.
[0057] The packet forwarding method provided in this application changes the processing mode of SRv6 packets on the tunnel path. Instead of the device determining the processing mode, it is determined by the destination SRv6 SID of the tunnel packet. By controlling how user-side packets enter the tunnel on the source device, all devices along the path can maintain the same forwarding method. The traffic redirection strategy when performing tunnel encapsulation on the source SR device is issued by the controller, thus enabling the controller to control the path of user packets. Simultaneously, due to the extended SRv6 SID encoding, it can carry tunnel characteristics (in this case, the Color attribute, which is path-related). When using flow table forwarding / policy forwarding, the SRH in the tunnel header can remove redundant Segment Lists, thereby reducing the length of the SRv6 packet header and improving the transmission efficiency of the SRv6 tunnel. Attached Figure Description
[0058] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments of this application or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings of the embodiments of this application.
[0059] Figure 1 A detailed flowchart of a message forwarding method provided for an embodiment of this application;
[0060] Figure 2 A schematic diagram of an SRv6 SID extension provided in an embodiment of this application;
[0061] Figure 3 A detailed flowchart of another message forwarding method provided in this application embodiment;
[0062] Figure 4A schematic diagram of the structure of an SRv6 tunnel message using an extended SRv6 SID is provided for an embodiment of this application;
[0063] Figure 5 This application provides a schematic diagram of SRv6 tunnel packet multipath forwarding in an SRv6 network.
[0064] Figure 6 This is a schematic diagram of the structure of a message forwarding device provided in an embodiment of this application;
[0065] Figure 7 A schematic diagram of another message forwarding device provided in the embodiments of this application;
[0066] Figure 8 A schematic diagram of the hardware architecture of a message forwarding device provided in this application embodiment;
[0067] Figure 9 This application provides a schematic diagram of the hardware architecture of a message forwarding device. Detailed Implementation
[0068] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to limit the application. The singular forms “a,” “the,” and “the” as used in this application and claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to any and all possible combinations comprising one or more of the associated listed items.
[0069] It should be understood that although the terms first, second, third, etc., may be used to describe various information in embodiments of this application, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" may also be interpreted as "when," "when," or "in response to a determination."
[0070] For example, see Figure 1 The diagram shown is a detailed flowchart of a message forwarding method provided in an embodiment of this application. This method is applied to the SRv6 head node and includes the following steps:
[0071] Step 100: Receive the original message and determine the service attributes of the original message.
[0072] In practical applications, the controller can send the service attributes of each service and the corresponding traffic redirection and forwarding strategies to the SRv6 head node. Specifically, for service 1, the controller configures the service attribute as color1 and the traffic redirection and forwarding strategy corresponding to service 1 as forwarding strategy 1. For service 2, the controller configures the service attribute as color1 and the traffic redirection and forwarding strategy corresponding to service 2 as forwarding strategy 2. For service 3, the controller configures the service attribute as color2 and the traffic redirection and forwarding strategy corresponding to service 3 as forwarding strategy 3, and so on.
[0073] Therefore, after receiving a raw message, the SRv6 head node can parse the raw message to obtain its characteristics and determine its service attributes based on those characteristics.
[0074] Step 110: Based on the service attributes of the original message and the traffic redirection and forwarding strategy issued by the controller, determine the SRv6 tunnel and message forwarding mode for forwarding the original message.
[0075] In this embodiment of the application, the packet forwarding mode includes: route forwarding, flow table forwarding, and policy forwarding.
[0076] For example, the traffic forwarding strategy corresponding to service 1 is route forwarding, the traffic forwarding strategy corresponding to service 2 is flow table forwarding (Openflow flow table forwarding), and the traffic forwarding strategy corresponding to service 3 is policy forwarding.
[0077] In this embodiment of the application, the color attribute configured for each service corresponds to the color of the SRV6 tunnel carrying the service. For example, if the service attribute configured for service 1 is color1, then service 1 is transmitted using an SRV6 tunnel with color1.
[0078] Once the SRv6 head node determines the service attributes of the original message, it can determine the target SRV6 tunnel for transmitting the service based on these attributes. Then, according to the traffic redirection and forwarding policy issued by the controller, it determines the SRv6 tunnel for forwarding the original message.
[0079] Step 120: Based on the SRv6 tunnel that forwards the original packet, encapsulate the original packet with SRv6 to obtain an encapsulated SRv6 packet, wherein the extended SID of the SRH header of the encapsulated SRv6 packet carries the packet forwarding mode of the original packet.
[0080] In this embodiment of the application, a preferred implementation is as follows: if the packet forwarding mode is route forwarding, then the step of encapsulating the original packet with SRv6 based on the SRv6 tunnel that forwards the original packet to obtain the encapsulated SRv6 packet includes:
[0081] The extended SID List of each SRv6 node included in the SRv6 tunnel that forwards the original packet, corresponding to the routing forwarding mode, is encapsulated into the SRH header to obtain the encapsulated SRv6 packet. In this packet, the extended SID of an SRv6 node corresponding to the routing forwarding mode carries the packet forwarding mode information of the original packet.
[0082] Specifically, after receiving an SRv6 message sent by the previous SRv6 node, the intermediate SRv6 node parses the SRv6 message to determine the forwarding method of the SRv6 message. If it is determined to be route forwarding, it determines the next-hop SRv6 node based on the extended SIDList in the SRH header of the SRv6 node, replaces the destination extended SID of the SRv6 message with the extended SID of the next-hop SRv6 node, and forwards it to the next-hop SRv6 node.
[0083] In this embodiment of the application, another preferred implementation is that, if the packet forwarding mode is flow table forwarding / policy forwarding, the step of encapsulating the original packet with SRv6 based on the SRv6 tunnel that forwards the original packet to obtain the encapsulated SRv6 packet includes:
[0084] The extended SIDs of the SRv6 head node and SRv6 tail node of the SRv6 tunnel that forwards the original packet, corresponding to flow table forwarding / policy forwarding, are encapsulated into the SRH header to obtain the encapsulated SRv6 packet. Among them, the extended SID of an SRv6 node corresponding to the flow table forwarding / policy forwarding mode carries the packet forwarding mode information and the service attribute information of the original packet.
[0085] Specifically, after receiving an SRv6 packet sent by the previous SRv6 node, the SRv6 intermediate node parses the SRv6 packet to determine the forwarding method. If it is determined to be flow table forwarding / policy forwarding, it determines the target SRv6 tunnel for transmitting the original packet based on the SIDs of the first and last nodes in the SRH header carried by the encapsulated SRv6 packet and the service attribute information of the original packet. Based on the extended SIDs of the SRv6 first and last nodes carried by the encapsulated SRv6 packet and the extended SIDs of each SRv6 node included in the target SRv6 tunnel maintained locally, it determines the next-hop SRv6 node, replaces the destination extended SID of the encapsulated SRv6 packet with the extended SID of the next-hop SRv6 node, and forwards it to the next-hop SRv6 node.
[0086] Furthermore, in this embodiment of the application, the packet forwarding mode information of the original packet is carried in the Function field of the corresponding extended SID; the service attribute information of the original packet is carried in the Arguments field of the corresponding extended SID.
[0087] For example, see Figure 2 The diagram shown illustrates an SRv6 SID extension provided in this application embodiment. An SRv6 SID consists of three parts: Locator (device / network segment address, unique identifier), Function, and Arguments. The Locator occupies the high bits of the IPv6 address, while the Function and Arguments parts occupy the remaining portion of the IPv6 address. The Locator has a location function and is generally unique within the SRv6 network. Other SRv6 nodes in the network can locate this SRv6 node through the Locator network segment routing. The Function represents the device's instructions, which are pre-defined by the device to instruct the SRv6 SID generating node to perform corresponding functional operations. The Arguments field can define information such as packet flow and services (flow attributes, audio, data flow, etc.).
[0088] In this embodiment, building upon the excellent extensibility of the programmable features of SRv6 SID, the Function (which defines fields that carry forwarding policy information (Forward Method)) and Arguments (which define fields that carry service attributes (Color)) in SRv6 SID are further extended. Extending the Function does not simply define the forwarding instructions on the device, but rather defines the forwarding method the device should use for the packet. That is, the forwarding method is not determined by the device itself, but by the information characteristics carried by the tunnel packet. For example, the device can forward IPv6 packets using Route forwarding, Policy forwarding, or Openflow flow table forwarding. When multiple forwarding tables for the destination IP address of a packet are issued simultaneously on the device, the packet determines which method to use. Extending Arguments adds service characteristics to define the tunnel, achieving a comprehensive definition of the flow and the tunnel itself, such as color markings for the services carried by the tunnel, with the color markings corresponding to the colors of the SRv6 TE tunnel.
[0089] In practical applications, when an SRv6 node advertises its Prefix SegmentID (extended SID), the Forward Method in the Function field is set to the default value "Route," and the Color in the Arguments field is set to the default value "no color." The controller generates SRv6 IDs with different forwarding methods and colors for each SRv6 node based on the services carried by the network. When forwarding packets, the SRv6 source node device encapsulates SRv6 extended tunnels according to the traffic redirection policy issued by the controller. Once the encapsulated tunnel is specified, each SRV6 node along the path processes the packet according to the forwarding method specified in the tunnel. The color characteristics of the SRv6 tunnel often determine the tunnel path.
[0090] Step 130: Based on the packet forwarding mode of the original packet, send the encapsulated SRv6 packet to the next-hop SRv6 node.
[0091] Specifically, the SRv6 head node determines the next-hop SRv6 node, sets the destination address of the encapsulated SRv6 message to the extended SID of the next SRv6 node, and sends it to the next-hop SRv6 node.
[0092] For example, see Figure 3 The diagram shown is a detailed flowchart of a message forwarding method provided in an embodiment of this application. This method is applied to SRv6 intermediate nodes, where each SRv6 node maintains an extended SID for each SRv6 node included in each SRv6 tunnel. The method includes the following steps:
[0093] Step 300: Receive the encapsulated SRv6 message forwarded by the previous SRv6 node, wherein the extended SID of the SRH header of the encapsulated SRv6 message carries the message forwarding mode of the original message.
[0094] Step 310: Parse the encapsulated SRv6 message to obtain the forwarding mode of the original message.
[0095] Step 320: Based on the packet forwarding mode of the original packet, send the encapsulated SRv6 packet to the next-hop SRv6 node.
[0096] In this embodiment of the application, the packet forwarding mode includes: route forwarding, flow table forwarding, and policy forwarding.
[0097] If the message forwarding mode is route forwarding, the SRH header of the encapsulated SRv6 message carries an extended SID List of each SRv6 node included in the SRv6 tunnel forwarding the original message. In the route forwarding mode, the extended SID of an SRv6 node carries the message forwarding mode information of the original message. A preferred implementation for sending the encapsulated SRv6 message to the next-hop SRv6 node is as follows:
[0098] The next-hop SRv6 node of the encapsulated SRv6 message is determined, and the destination extended SID of the encapsulated SRv6 message is replaced with the extended SID of the next-hop SRv6 node, and then forwarded to the next-hop SRv6 node.
[0099] If the packet forwarding mode is flow table forwarding / policy forwarding, the SRH header of the encapsulated SRv6 packet carries the extended SID of the SRv6 head node and SRv6 tail node included in the SRv6 tunnel forwarding the original packet. In the flow table forwarding / policy forwarding mode, the extended SID of an SRv6 node carries the packet forwarding mode information and the service attribute information of the original packet. When sending the encapsulated SRv6 packet to the next-hop SRv6 node, a preferred implementation is as follows:
[0100] Based on the SIDs of the first and last nodes in the SRH header carried by the encapsulated SRv6 message and the service attribute information of the original message, the target SRv6 tunnel for transmitting the original message is determined. Based on the extended SIDs of the SRv6 first node and SRv6 last node carried by the encapsulated SRv6 message, and the extended SIDs of each SRv6 node included in the target SRv6 tunnel maintained locally, the next-hop SRv6 node is determined. The destination extended SID of the encapsulated SRv6 message is replaced with the extended SID of the next-hop SRv6 node, and forwarded to the next-hop SRv6 node.
[0101] For example, the controller issues two SRv6 SIDs based on OpenFlow flow table forwarding / policy forwarding: one carrying a red service marker (SRv6 SID1) and the other carrying a blue service marker (SRv6 SID2). The red marker indicates low-latency services, and the blue marker indicates low-packet-loss services. The traffic redirection policy selects one SRv6 SID for tunnel encapsulation based on the original packet header. If the red, low-latency SRv6 SID1 is selected, all devices along the path will perform OpenFlow flow table forwarding on the tunnel packet and select the path based on the red policy tunnel between the source and destination nodes. Optionally, when forwarding SRv6 packets based on OpenFlow flow table / policy, the SRH header information can be further modified to reduce the packet length. That is, the SRH header only needs to carry the extended SIDs of the first and last SRv6 nodes, without carrying the extended SIDs of intermediate SRv6 nodes.
[0102] For example, see Figure 4 The diagram shows a structural illustration of an SRv6 tunnel message using an extended SRv6 SID, provided in an embodiment of this application. In the extended SRv6 tunnel, the source address in the IPv6 header is the SRv6 source device address, and the destination address is the SRv6 SID of the tunnel's next-hop node, consistent with existing implementations. The SRH only contains the Segment IDs of the SRv6 head node and the SRv6 tail node, used to inform each SRv6 intermediate node of the source and end points of the SRv6 tunnel. The remaining segments and the head segment are both 1. The Static flag in the Flag is a new flag, used to indicate that intermediate nodes do not modify the Segment Left (remaining segments) in the SRH field. Only the SRv6 tail node performs the tunnel termination operation.
[0103] The process of the message forwarding method provided in this application embodiment will be described in detail below with reference to specific application scenarios.
[0104] For example, see Figure 5The diagram illustrates multipath forwarding of SRv6 tunnel packets in an SRv6 network according to an embodiment of this application. Two SRv6 tunnels of different colors exist between SR1 and SR6, each with a different path list. The controller assigns two different colored SRv6 SIDs to the Prefix SID of each SR router node. For example, the Prefix SID of SR1 is 2001:CB8:1::1, the red extension SRv6 SID for OpenFlow forwarding is 2001:CB8:1::1:1, and the blue extension SRv6 SID is 2001:CB8:1::1:2. The Prefix SID of SR2 is 2001:CB8:2::1, the red extension SRv6 SID for OpenFlow forwarding is 2001:CB8:2::1:1, and the blue extension SRv6 SID is 2001:CB8:2::1:2, and so on. The Prefix SID of SR6 is 2001:CB8:6::1, the red extension SRv6 SID for OpenFlow forwarding is 2001:CB8:6::1:1, and the blue extension SRv6 SID is 2001:CB8:6::1:2.
[0105] The controller issues a traffic redirection policy on SR1, redirecting user packets to TE Policy1 and TE Policy2 respectively. Taking the red path as an example, SR1 encapsulates the tunnel packet with the source IP 2001:CB8:1::1 (SR1's Prefix SID), the destination IP 2001:CB8:2::1:1 (SR2's extended SRv6 SID), sets the Static flag in the SRH, sets the SegmentID to 2001:CB8:6::1:1 (SRv6's extended SRv6 SID), and forwards the packet.
[0106] Openflow flow tables are sent to intermediate nodes of the SR. The matching items are the destination IP of the tunnel packet (Locator field, Forward Method field, and Color field in SRv6 SID), the source node and tail node of SRH SegmentID, the action item is to change the destination IP of the packet to the IP of the next-hop SR of the red TE Policy tunnel, and the outgoing interface is the routing outgoing interface of the next-hop SR. Taking SR2 as an example, after receiving an SRv6 tunnel packet from SR1, the destination IP address in the tunnel header is 2001:CB8:2::1:1. The Function / Forward Method of this address SID is Openflow, triggering Openflow flow table forwarding. The matching items are the destination IP (2001:CB8:2::1:1), the source node SID of the SRH (2001:CB8:1::1:1), and the tail node SID (2001:CB8:6::1:1). Based on the source node SID, tail node SID, and tunnel color, the tunnel containing the packet is identified as the red tunnel between SR1 and SR6. Based on the red SRv6 SID of the tunnel destination IP (SR2), the red SRv6 SID of the next-hop device IP (SR3) (2001:CB8:3::1:1) is obtained. The action is to modify the red SRv6 tunnel destination IP to SR3. SID (2001:CB8:3::1:1), the outgoing interface is the SR3 routing outgoing interface, and then the packet is forwarded to SR3; after receiving the packet, SR3 processes it in the same way as SR2, forwarding the packet to SR6 through the Openflow flow table; after receiving the packet, SR6 will also trigger Openflow flow table forwarding, but the SegmentID and the destination IP of the packet in the SRH are both this device, triggering tunnel termination, popping the SRv6 tunnel and forwarding the inner user packet.
[0107] For example, see Figure 6 The diagram shown is a structural schematic of a message forwarding device provided in an embodiment of this application. This device is applied to an SRv6 head node and includes:
[0108] The receiving unit 60 is used to receive the original message and determine the service attributes of the original message;
[0109] The determining unit 61 is used to determine the SRv6 tunnel and packet forwarding mode for forwarding the original packet based on the service attributes of the original packet and the traffic redirection and forwarding strategy issued by the controller.
[0110] Encapsulation unit 62 is used to encapsulate the original packet in SRv6 based on the SRv6 tunnel that forwards the original packet, to obtain an encapsulated SRv6 packet, wherein each extended SID in the SRH header of the encapsulated SRv6 packet carries the packet forwarding mode of the original packet.
[0111] The sending unit 63 is used to send the encapsulated SRv6 message to the next-hop SRv6 node based on the message forwarding mode of the original message.
[0112] Optionally, the packet forwarding mode includes: route forwarding, flow table forwarding, and policy forwarding.
[0113] Optionally, if the packet forwarding mode is route forwarding, then when the original packet is encapsulated in SRv6 based on the SRv6 tunnel that forwards the original packet to obtain the encapsulated SRv6 packet, the encapsulation unit 62 is specifically used for:
[0114] The extended SID List of each SRv6 node included in the SRv6 tunnel that forwards the original packet, corresponding to the routing forwarding mode, is encapsulated into the SRH header to obtain the encapsulated SRv6 packet. In this packet, the extended SID of an SRv6 node corresponding to the routing forwarding mode carries the packet forwarding mode information of the original packet.
[0115] If the packet forwarding mode is flow table forwarding / policy forwarding, then when the original packet is encapsulated into an SRv6 packet based on the SRv6 tunnel that forwards the original packet, the encapsulation unit 62 is specifically used for:
[0116] The extended SIDs of the SRv6 head node and SRv6 tail node of the SRv6 tunnel that forwards the original packet, corresponding to flow table forwarding / policy forwarding, are encapsulated into the SRH header to obtain the encapsulated SRv6 packet. Among them, the extended SID of an SRv6 node corresponding to the flow table forwarding / policy forwarding mode carries the packet forwarding mode information and the service attribute information of the original packet.
[0117] Optionally, the packet forwarding mode information of the original packet is carried in the Function field of the corresponding extended SID; the service attribute information of the original packet is carried in the Arguments field of the corresponding extended SID.
[0118] For example, see Figure 7 The diagram shown is a structural schematic of a message forwarding device provided in an embodiment of this application. This device is applied to an SRv6 intermediate node and includes:
[0119] The receiving unit 70 is used to receive the encapsulated SRv6 message forwarded by the previous SRv6 node, wherein the extended SID of the SRH header of the encapsulated SRv6 message carries the message forwarding mode of the original message.
[0120] The parsing unit 71 is used to parse the encapsulated SRv6 message to obtain the forwarding mode of the original message;
[0121] The sending unit 72 is used to send the encapsulated SRv6 message to the next-hop SRv6 node based on the message forwarding mode of the original message.
[0122] Optionally, the packet forwarding mode includes: route forwarding, flow table forwarding, and policy forwarding;
[0123] If the message forwarding mode is route forwarding, the SRH header of the encapsulated SRv6 message carries an extended SID List of each SRv6 node included in the SRv6 tunnel forwarding the original message, wherein, corresponding to the route forwarding mode, the extended SID of an SRv6 node carries the message forwarding mode information of the original message; when sending the encapsulated SRv6 message to the next-hop SRv6 node, the sending unit 72 is specifically used for:
[0124] The next-hop SRv6 node of the encapsulated SRv6 message is determined, and the destination extended SID of the encapsulated SRv6 message is replaced with the extended SID of the next-hop SRv6 node, and then forwarded to the next-hop SRv6 node.
[0125] Optionally, if the packet forwarding mode is flow table forwarding / policy forwarding, the SRH header of the encapsulated SRv6 packet carries the extended SID of the SRv6 head node and SRv6 tail node included in the SRv6 tunnel forwarding the original packet. In the flow table forwarding / policy forwarding mode, the extended SID of an SRv6 node carries the packet forwarding mode information and the service attribute information of the original packet. When sending the encapsulated SRv6 packet to the next-hop SRv6 node, the sending unit 72 is specifically used for:
[0126] Based on the SIDs of the first and last nodes in the SRH header carried by the encapsulated SRv6 message and the service attribute information of the original message, the target SRv6 tunnel for transmitting the original message is determined.
[0127] Based on the extended SIDs of the SRv6 head node and SRv6 tail node carried in the encapsulated SRv6 message, and the extended SIDs of each SRv6 node included in the target SRv6 tunnel maintained locally, the next-hop SRv6 node is determined, the destination extended SID of the encapsulated SRv6 message is replaced with the extended SID of the next-hop SRv6 node, and forwarded to the next-hop SRv6 node.
[0128] These units can be one or more integrated circuits configured to implement the above methods, such as one or more Application Specific Integrated Circuits (ASICs), one or more digital signal processors (DSPs), or one or more Field Programmable Gate Arrays (FPGAs). Alternatively, when one of these units is implemented using processing element scheduler code, the processing element can be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor capable of calling program code. Furthermore, these units can be integrated together to form a system-on-a-chip (SOC).
[0129] Furthermore, regarding the message processing apparatus provided in this application embodiment, from a hardware perspective, the hardware architecture schematic diagram of the message processing apparatus can be found in [reference needed]. Figure 8 As shown, the message processing device may include: a memory 80 and a processor 81.
[0130] The memory 80 is used to store program instructions; the processor 81 calls the program instructions stored in the memory 80 and executes the method embodiment applied to the SRv6 head node according to the obtained program instructions. The specific implementation method and technical effect are similar, and will not be described again here.
[0131] Optionally, this application also provides an SRv6 head node device, including at least one processing element (or chip) for performing the above-described method embodiments applied to the SRv6 head node.
[0132] Optionally, this application also provides a program product, such as a computer-readable storage medium storing computer-executable instructions for causing the computer to execute the above-described method embodiment applied to the SRv6 head node.
[0133] Furthermore, regarding the message processing apparatus provided in this application embodiment, from a hardware perspective, the hardware architecture schematic diagram of the message processing apparatus can be found in [reference needed]. Figure 9 As shown, the message processing device may include: a memory 90 and a processor 91.
[0134] The memory 90 is used to store program instructions; the processor 91 calls the program instructions stored in the memory 90 and executes the method embodiment applied to the SRv6 intermediate node according to the obtained program instructions. The specific implementation and technical effects are similar, and will not be described in detail here.
[0135] Optionally, this application also provides an SRv6 intermediate node device, including at least one processing element (or chip) for performing the above-described method embodiments applied to an SRv6 intermediate node.
[0136] Optionally, this application also provides a program product, such as a computer-readable storage medium storing computer-executable instructions for causing the computer to execute the above-described method embodiments applied to SRv6 intermediate nodes.
[0137] Here, a machine-readable storage medium can be any electronic, magnetic, optical, or other physical storage device that can contain or store information, such as executable instructions, data, etc. For example, a machine-readable storage medium can be: RAM (Random Access Memory), volatile memory, non-volatile memory, flash memory, storage drives (such as hard disk drives), solid-state drives, any type of storage disk (such as optical discs, DVDs, etc.), or similar storage media, or combinations thereof.
[0138] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which can take the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email sending and receiving device, game console, tablet computer, wearable device, or any combination of these devices.
[0139] For ease of description, the above devices are described separately by function as various units. Of course, in implementing this application, the functions of each unit can be implemented in one or more software and / or hardware.
[0140] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, embodiments of this application can take the form of a computer program product implemented 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.
[0141] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. 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, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0142] Furthermore, these computer program instructions can also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in the process. Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0143] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0144] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.
Claims
1. A message forwarding method, characterized in that, Applied to the first node of SRv6, the method includes: Receive the original message and determine the service attributes of the original message; Based on the service attributes of the original packet and the traffic redirection and forwarding policy issued by the controller, the SRv6 tunnel and packet forwarding mode for forwarding the original packet are determined, wherein the packet forwarding mode includes: route forwarding, flow table forwarding and policy forwarding. Based on the SRv6 tunnel that forwards the original packet, the original packet is encapsulated in SRv6 to obtain an encapsulated SRv6 packet. The packet forwarding mode of the original packet is carried in each extended SID of the SRH header of the encapsulated SRv6 packet. The packet forwarding mode information of the original packet is carried in the Function field of the corresponding extended SID. Based on the packet forwarding mode of the original packet, the encapsulated SRv6 packet is sent to the next-hop SRv6 node.
2. The method as described in claim 1, characterized in that, If the packet forwarding mode is route forwarding, then the steps of encapsulating the original packet with SRv6 based on the SRv6 tunnel that forwards the original packet to obtain the encapsulated SRv6 packet include: The extended SIDList of each SRv6 node included in the SRv6 tunnel that forwards the original packet, corresponding to the routing forwarding mode, is encapsulated into the SRH header to obtain the encapsulated SRv6 packet. In this packet, the extended SID of an SRv6 node corresponding to the routing forwarding mode carries the packet forwarding mode information of the original packet. If the packet forwarding mode is flow table forwarding / policy forwarding, then the steps of encapsulating the original packet with SRv6 based on the SRv6 tunnel that forwards the original packet to obtain the encapsulated SRv6 packet include: The extended SIDs of the SRv6 head node and SRv6 tail node of the SRv6 tunnel that forwards the original packet, corresponding to flow table forwarding / policy forwarding, are encapsulated into the SRH header to obtain the encapsulated SRv6 packet. In the flow table forwarding / policy forwarding mode, the extended SID of an SRv6 node carries the packet forwarding mode information and the service attribute information of the original packet.
3. The method as described in claim 2, characterized in that, The service attribute information of the original message is carried in the Arguments field of the corresponding extended SID.
4. A message forwarding method, characterized in that, The method is applied to SRv6 intermediate nodes, where each SRv6 node maintains an extended SID for each SRv6 node included in each SRv6 tunnel; the method includes: Receive the encapsulated SRv6 message forwarded by the previous SRv6 node, wherein each extended SID in the SRH header of the encapsulated SRv6 message carries the message forwarding mode of the original message, wherein the message forwarding mode includes: route forwarding, flow table forwarding and policy forwarding, and the message forwarding mode information of the original message is carried in the Function field of the corresponding extended SID. Parse the encapsulated SRv6 message to obtain the forwarding mode of the original message; Based on the packet forwarding mode of the original packet, the encapsulated SRv6 packet is sent to the next-hop SRv6 node.
5. The method as described in claim 4, characterized in that, If the packet forwarding mode is route forwarding, the SRH header of the encapsulated SRv6 packet carries an extended SID List of each SRv6 node included in the SRv6 tunnel forwarding the original packet. In the route forwarding mode, the extended SID of an SRv6 node carries the packet forwarding mode information of the original packet. The step of sending the encapsulated SRv6 packet to the next-hop SRv6 node includes: The next-hop SRv6 node of the encapsulated SRv6 message is determined, and the destination extended SID of the encapsulated SRv6 message is replaced with the extended SID of the next-hop SRv6 node, and then forwarded to the next-hop SRv6 node.
6. The method as described in claim 4, characterized in that, If the packet forwarding mode is flow table forwarding / policy forwarding, the SRH header of the encapsulated SRv6 packet carries the extended SID of the SRv6 head node and SRv6 tail node included in the SRv6 tunnel forwarding the original packet. In the flow table forwarding / policy forwarding mode, the extended SID of an SRv6 node carries the packet forwarding mode information and the service attribute information of the original packet. The step of sending the encapsulated SRv6 packet to the next-hop SRv6 node includes: Based on the SIDs of the first and last nodes in the SRH header carried by the encapsulated SRv6 message and the service attribute information of the original message, the target SRv6 tunnel for transmitting the original message is determined. Based on the extended SIDs of the SRv6 head node and SRv6 tail node carried in the encapsulated SRv6 message, and the extended SIDs of each SRv6 node included in the target SRv6 tunnel maintained locally, the next-hop SRv6 node is determined, the destination extended SID of the encapsulated SRv6 message is replaced with the extended SID of the next-hop SRv6 node, and forwarded to the next-hop SRv6 node.
7. A message forwarding device, characterized in that, Applied to the SRv6 head node, the device includes: A receiving unit is used to receive the original message and determine the service attributes of the original message; The determining unit is used to determine the SRv6 tunnel and packet forwarding mode for forwarding the original packet based on the service attributes of the original packet and the traffic redirection and forwarding policy issued by the controller. The packet forwarding mode includes: route forwarding, flow table forwarding and policy forwarding. An encapsulation unit is configured to encapsulate the original packet using SRv6 based on the SRv6 tunnel that forwards the original packet, to obtain an encapsulated SRv6 packet. The encapsulated SRv6 packet carries the packet forwarding mode of the original packet in each extended SID of the SRH header. The packet forwarding mode information of the original packet is carried in the Function field of the corresponding extended SID. The sending unit is used to send the encapsulated SRv6 message to the next-hop SRv6 node based on the message forwarding mode of the original message.
8. The apparatus as claimed in claim 7, characterized in that, If the message forwarding mode is route forwarding, then when the original message is encapsulated into an SRv6 message based on the SRv6 tunnel that forwards the original message, the encapsulation unit is specifically used for: The extended SIDList of each SRv6 node included in the SRv6 tunnel that forwards the original packet, corresponding to the routing forwarding mode, is encapsulated into the SRH header to obtain the encapsulated SRv6 packet. In this packet, the extended SID of an SRv6 node corresponding to the routing forwarding mode carries the packet forwarding mode information of the original packet. If the packet forwarding mode is flow table forwarding / policy forwarding, then when the original packet is encapsulated into an SRv6 packet based on the SRv6 tunnel that forwards the original packet, the encapsulation unit is specifically used for: The extended SIDs of the SRv6 head node and SRv6 tail node of the SRv6 tunnel that forwards the original packet, corresponding to flow table forwarding / policy forwarding, are encapsulated into the SRH header to obtain the encapsulated SRv6 packet. In the flow table forwarding / policy forwarding mode, the extended SID of an SRv6 node carries the packet forwarding mode information and the service attribute information of the original packet.
9. A message forwarding device, characterized in that, Applied to SRv6 intermediate nodes, each SRv6 node maintains an extended SID for each SRv6 node included in each SRv6 tunnel; the device includes: The receiving unit is configured to receive the encapsulated SRv6 message forwarded by the previous SRv6 node, wherein each extended SID in the SRH header of the encapsulated SRv6 message carries the message forwarding mode of the original message, wherein the message forwarding mode includes: route forwarding, flow table forwarding, and policy forwarding; the message forwarding mode information of the original message is carried in the Function field of the corresponding extended SID. The parsing unit is used to parse the encapsulated SRv6 message to obtain the forwarding mode of the original message; The sending unit is used to send the encapsulated SRv6 message to the next-hop SRv6 node based on the message forwarding mode of the original message.
10. The apparatus as claimed in claim 9, characterized in that, If the message forwarding mode is route forwarding, the SRH header of the encapsulated SRv6 message carries an extended SID List of each SRv6 node included in the SRv6 tunnel forwarding the original message, wherein, corresponding to the route forwarding mode, the extended SID of an SRv6 node carries the message forwarding mode information of the original message; when sending the encapsulated SRv6 message to the next-hop SRv6 node, the sending unit is specifically used for: The next-hop SRv6 node of the encapsulated SRv6 message is determined, and the destination extended SID of the encapsulated SRv6 message is replaced with the extended SID of the next-hop SRv6 node, and then forwarded to the next-hop SRv6 node.
11. The apparatus as claimed in claim 9, characterized in that, If the packet forwarding mode is flow table forwarding / policy forwarding, the SRH header of the encapsulated SRv6 packet carries the extended SID of the SRv6 head node and SRv6 tail node included in the SRv6 tunnel forwarding the original packet. In the flow table forwarding / policy forwarding mode, the extended SID of an SRv6 node carries the packet forwarding mode information and the service attribute information of the original packet. When sending the encapsulated SRv6 packet to the next-hop SRv6 node, the sending unit is specifically used for: Based on the SIDs of the first and last nodes in the SRH header carried by the encapsulated SRv6 message and the service attribute information of the original message, the target SRv6 tunnel for transmitting the original message is determined. Based on the extended SIDs of the SRv6 head node and SRv6 tail node carried in the encapsulated SRv6 message, and the extended SIDs of each SRv6 node included in the target SRv6 tunnel maintained locally, the next-hop SRv6 node is determined, the destination extended SID of the encapsulated SRv6 message is replaced with the extended SID of the next-hop SRv6 node, and forwarded to the next-hop SRv6 node.
12. A message forwarding device, characterized in that, The message forwarding device includes: Memory, used to store program instructions; A processor is configured to invoke program instructions stored in the memory and execute the steps of the method as described in any one of claims 1-3 or 4-6 according to the obtained program instructions.
13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions for causing the computer to perform the steps of the method as described in any one of claims 1-3 or 4-6.