Configuration issuing method, message processing method, and apparatus

By obtaining topology and node attribute information and sending configuration information to the head node, replication node, and elimination node, the problem that the replication elimination function in deterministic networks only supports head node replication and tail node elimination is solved, and support for multiple replication point models and improved message processing efficiency are achieved.

WO2025218200A1PCT designated stage Publication Date: 2025-10-23ZTE CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/138951
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-17
Filing Date
2024-12-12
Publication Date
2025-10-23

AI Technical Summary

Technical Problem

The deduplication function in deterministic networks only supports head node duplication and tail node elimination, and fails to support multi-replication point models.

Method used

Provides a configuration delivery method to obtain topology information, business flow information and node attributes, deliver configuration information to the head node, replication node and elimination node, and process it on the forwarding plane through the message processing method, supporting the multi-replication point model.

Benefits of technology

It implements the duplication elimination function that supports multiple duplication points in a deterministic network, simplifies the message parsing process, and improves the flexibility and efficiency of the network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024138951_23102025_PF_FP_ABST
    Figure CN2024138951_23102025_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the embodiments of the present disclosure are a configuration issuing method, a message processing method, and an apparatus. The configuration issuing method comprises: acquiring topological information, service flow information and a node attribute, the node attribute comprising a replication node and an elimination node; and, on the basis of the topological information, the service flow information and the node attribute, issuing configuration information to a head node, the replication node and the elimination node.
Need to check novelty before this filing date? Find Prior Art

Description

Configuration issuing, packet processing method and device

[0001] Cross-reference to Related Applications

[0002] The present disclosure is based on Chinese Patent Application No. CN202410464386.5 entitled "Configuration issuing, packet processing method and device" filed on April 17, 2024, and claims priority to the patent application, the disclosure of which is incorporated herein in its entirety by reference. TECHNICAL FIELD

[0003] Embodiments of the present disclosure relate to the field of communication technology, in particular to a configuration issuing, packet processing method and device. BACKGROUND

[0004] Currently, the replication elimination function in deterministic networks does not usually support a multi-replication point model or only supports a splicing mode replication manner based on the Segment Routing over Internet Protocol version 6 (SRv6) technology of the Internet Protocol version 6 forwarding plane. FIG. 1 is a schematic diagram of a replication elimination mode based on SRv6 in the related art, as shown in FIG. 1, only head node replication and tail node elimination are supported.

[0005] There is no solution to the problem that the replication elimination function in deterministic networks only supports head node replication and tail node elimination in the related art. SUMMARY

[0006] Embodiments of the present disclosure provide a configuration issuing, packet processing method and device to at least solve the problem that the replication elimination function in deterministic networks only supports head node replication and tail node elimination in the related art.

[0007] According to one embodiment of the present disclosure, a configuration issuing method is provided, applied to a control plane, the method comprising: obtaining topology information, service flow information and node attributes, wherein the node attributes comprise replication nodes and elimination nodes; issuing configuration information to a head node, the replication nodes and the elimination nodes according to the topology information, the service flow information and the node attributes.

[0008] According to another embodiment of the present disclosure, a packet processing method is also provided, applied to a forwarding plane, the method comprising: receiving configuration information issued by a control plane according to topology information, service flow information and node attributes; processing a packet according to the configuration information.

[0009] According to still another embodiment of the present disclosure, there is also provided a configuration delivery device applied to a control plane, comprising: an obtaining module configured to obtain topology information, service flow information and node attributes, wherein the node attributes comprise replication nodes and elimination nodes; and a delivery module configured to deliver configuration information to a head node, the replication nodes and the elimination nodes according to the topology information, the service flow information and the node attributes.

[0010] According to still another embodiment of the present disclosure, there is also provided a packet processing device applied to a forwarding plane, comprising: a receiving module configured to receive configuration information delivered by a control plane according to topology information, service flow information and node attributes; and a processing module configured to process packets according to the configuration information.

[0011] According to still another embodiment of the present disclosure, there is also provided a computer program product comprising computer program instructions, wherein the computer program instructions cause a computer to implement the steps in any of the above method embodiments.

[0012] According to still another embodiment of the present disclosure, there is also provided a computer-readable storage medium having a computer program stored therein, wherein the computer program is configured to execute the steps in any of the above method embodiments when running.

[0013] According to still another embodiment of the present disclosure, there is also provided an electronic device comprising a memory and a processor, wherein the memory has a computer program stored therein, and the processor is configured to run the computer program to execute the steps in any of the above method embodiments. BRIEF DESCRIPTION OF DRAWINGS

[0014] FIG. 1 is a schematic diagram of a SRv6-based replication elimination mode in the related art;

[0015] FIG. 2 is a hardware structure block diagram of a computer device for a configuration delivery method according to an embodiment of the present disclosure;

[0016] FIG. 3 is a flowchart of a configuration delivery method according to an embodiment of the present disclosure;

[0017] FIG. 4 is a flowchart of a configuration delivery method according to an optional embodiment of the present disclosure;

[0018] FIG. 5 is a flowchart of a packet processing method according to an embodiment of the present disclosure;

[0019] FIG. 6 is a flowchart of a packet processing method according to an optional embodiment of the present disclosure;

[0020] FIG. 7 is a schematic diagram of a SRv6-based replication elimination mode according to the present embodiment;

[0021] FIG. 8 is a schematic diagram of an SRv6-based encapsulation format according to the present embodiment;

[0022] FIG. 9 is a schematic diagram of deterministic service forwarding according to the present embodiment;

[0023] FIG. 10 is a flow diagram of control plane issuing configuration information according to the present embodiment;

[0024] FIG. 11 is a flow diagram of forwarding plane service forwarding according to the present embodiment;

[0025] FIG. 12 is an example diagram of network configuration according to the present embodiment;

[0026] FIG. 13 is an example diagram of network configuration according to the present embodiment;

[0027] FIG. 14 is an example diagram of network configuration according to the present embodiment;

[0028] FIG. 15 is a block diagram of a configuration issuing apparatus according to an embodiment of the present disclosure;

[0029] FIG. 16 is a block diagram of a packet processing apparatus according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0030] Hereinafter, the embodiments of the present disclosure will be described in detail with reference to the accompanying drawings and in conjunction with embodiments.

[0031] It should be noted that the terms "first", "second", and the like in the description and claims of the present disclosure and the above-described accompanying drawings are used to distinguish similar objects, and do not necessarily have to describe a specific order or sequence.

[0032] The method embodiments provided in the embodiments of the present disclosure can be executed in a computer device or a similar computing device. Taking an example of running on a computer device, FIG. 2 is a hardware structure block diagram of a computer device of a configuration issuing method according to an embodiment of the present disclosure, as shown in FIG. 2, the computer device can include one or more (only one is shown in FIG. 2) processors 102 (the processor 102 can include but not limited to a processing device such as a microprocessor MCU or programmable logic device) and a memory 104 for storing data, wherein the above-mentioned computer device can further include a transmission device 106 for communication function and an input and output device 108. Those skilled in the art can understand that the structure shown in FIG. 2 is only schematic, which does not limit the structure of the above-mentioned computer device. For example, the computer device can further include more or less components than those shown in FIG. 2, or have a different configuration from that shown in FIG. 2.

[0033] The memory 104 can be used to store computer programs, such as software programs of application software and modules, such as a computer program corresponding to the configuration issuing method in the embodiments of the present disclosure. The processor 102 can execute various functions of the application and the single board matching by running the computer programs stored in the memory 104, that is, implement the method described above. The memory 104 can include a high-speed random access memory, and can also include a non-volatile memory, such as one or more magnetic storage devices, flash memories, or other non-volatile solid-state memories. In some examples, the memory 104 can further include a memory remotely arranged with respect to the processor 102, which can be connected to the computer device through a network. Examples of the network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.

[0034] The transmission device 106 is used to receive or send data via a network. The specific examples of the network can include a wireless network provided by a communication provider of the computer device. In one example, the transmission device 106 includes a network adapter (NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet in a wireless manner.

[0035] In the present embodiment, a configuration issuing method running on the computer device is provided. FIG. 3 is a flowchart of the configuration issuing method according to the embodiments of the present disclosure. As shown in FIG. 3, the method is applied to a control plane, and the flow includes the following steps:

[0036] In step S302, topology information, service flow information, and node attributes are obtained, and the node attributes include a replication node and an elimination node.

[0037] In step S304, configuration information is issued to a head node, a replication node, and an elimination node according to the topology information, the service flow information, and the node attributes.

[0038] Through the above steps S302-S304, the topology information, the service flow information, and the node attributes are obtained, and the node attributes include the replication node and the elimination node. The configuration information is issued to the head node, the replication node, and the elimination node according to the topology information, the service flow information, and the node attributes, which can solve the problem that the replication and elimination function in the deterministic network only supports head node replication and tail node elimination in the related art. The corresponding configuration information is issued to the corresponding head node, replication node, and elimination node based on the node attributes, and a multi-replication point model is supported.

[0039] FIG. 4 is a flow chart of a configuration delivery method according to an optional embodiment of the present disclosure. As shown in FIG. 4, step S304 can specifically include the following steps.

[0040] S402, for the head node and the replication node, generating a service forwarding path according to the topology information, the service flow information and the node attribute, and delivering the replication configuration information to the head node and the replication node according to the service forwarding path;

[0041] S404, for the elimination node, delivering the elimination configuration information;

[0042] The configuration information includes the replication configuration information and the elimination configuration information.

[0043] In an embodiment, in S402, delivering the replication configuration information according to the service forwarding path can specifically include the following steps.

[0044] S4021, for the head node of the replication node, generating a flow ID corresponding to the service flow for the first replication node, and delivering the replication configuration information to the head node according to the replication node on the service forwarding path;

[0045] S4022, for the head node of the non-replication node, determining whether the service forwarding path has a replication node, if not, delivering the general configuration information to the head node, and if yes, generating a flow ID corresponding to the service flow, and delivering the replication configuration information to the head node;

[0046] S4023, for the replication node other than the head node, determining a replication path with the replication node as the head node for the service, and delivering the replication configuration information according to the subsequent replication node on the service forwarding path.

[0047] In an embodiment, S4021 can specifically include the following steps.

[0048] Repeat the following steps until there is no subsequent replication node on the service forwarding path;

[0049] Determine whether there is a subsequent replication node on the service forwarding path;

[0050] If there is a subsequent replication node on the service forwarding path, determine a SID list corresponding to a replication path with the subsequent replication node as the head node for the service, and deliver the replication configuration information to the replication node, wherein the replication configuration information carries the SID list corresponding to the replication path with the subsequent replication node as the head node.

[0051] If there is no subsequent replication node on the service forwarding path, the replication configuration information is issued to the replication node, wherein the replication configuration information carries whether a default replication node or a specific flow ID, and a SID list corresponding to a replication path of each replication node as a head node on the service forwarding path.

[0052] In another embodiment, in the step S402, the service forwarding path is generated according to the topology information, the service flow information and the node attribute, which specifically can include: for a head node being a replication node, performing multi-path calculation according to a destination address of the service and a number of replication nodes to obtain the service forwarding path; and for a head node being a non-replication node, performing path calculation according to the destination address of the service to obtain the service forwarding path.

[0053] In the embodiment, the step S404 specifically can include: repeating the following steps to traverse all elimination nodes, and issuing the elimination configuration information until all elimination nodes are deployed completely, wherein an execution elimination node is a current elimination node: determining whether the current elimination node eliminates all replication service flows by default; issuing default elimination configuration information if the determination result is yes, wherein the default elimination configuration information carries an elimination mode and a corresponding elimination port; and issuing preset flow ID elimination configuration information if the determination result is no, wherein the preset flow ID elimination configuration information carries an elimination mode, a corresponding elimination port and a flow ID to be eliminated.

[0054] In an embodiment, the flow ID is written in a flow label field of an Internet Protocol version 6 (IPv6) packet header when an SRv6 packet is encapsulated.

[0055] In an embodiment, the low byte of the source address field (SIP) of the IPv6 is used to carry the deterministic network related information detnet-info, and the low byte is used to carry the sequence number Seq, reserved bits, and a periodic scheduling indication. Specifically, the low byte can be the low 32 bits, the high 16 bits of which are used to carry the sequence number Seq, the last two 4 bits are used to indicate the periodic scheduling indication, and the middle 8 bits are used to carry the reserved bits. The low two bits of the flags field of the header part of the SRv6 are respectively used to indicate the D / R flag of whether it is a deterministic flow or a replication elimination flow. The D flag is used to indicate that the node parses the SIP according to a preset encapsulation format to obtain the deterministic network related information detnet-info. The R flag is used to indicate the replication node or the elimination node other than the head node to obtain the flow identification flow ID in the flow-label field and the sequence number Seq, and perform replication or elimination processing on the packet according to the flow identification flow ID and the sequence number Seq.

[0056] The embodiments of the present disclosure also provide a packet processing method. FIG. 5 is a flowchart of the packet processing method according to an embodiment of the present disclosure. As shown in FIG. 5, the method is applied to a forwarding plane and includes the following steps.

[0057] In step S502, configuration information issued by a control plane according to topology information, service flow information and node attributes is received.

[0058] In step S504, the packet is processed according to the configuration information.

[0059] FIG. 6 is a flowchart of the packet processing method according to an optional embodiment of the present disclosure. As shown in FIG. 6, step S504 can specifically include the following steps.

[0060] In step S602, for the head node and the replication node, the packet is encapsulated or encapsulated and replicated according to the replication configuration information.

[0061] In step S604, for the elimination node, the packet is eliminated according to the elimination configuration information.

[0062] The configuration information includes the replication configuration information and the elimination configuration information.

[0063] In an embodiment, step S602 can specifically include the following steps.

[0064] In step S6021, for the head node of the replication node, the packet is encapsulated and replicated according to the flow identification flow ID, the sequence number, the D / R flag of whether it is a deterministic flow or a replication elimination flow carried by the replication configuration information.

[0065] Further, the step S6021 can specifically include: for the head node being a replication node, performing general deterministic service flow processing, while starting sequence number processing; adding the flow ID, the sequence number, and the D / R flag in the SRv6 packet encapsulation, and performing packet encapsulation and replication processing according to the SID list carried in the replication configuration information.

[0066] S6022, for the head node being a non-replication node, performing encapsulation processing on the packet according to the flow ID, the sequence number, and the D / R flag carried in the replication configuration information.

[0067] Further, the step S6022 can specifically include: for the head node being a non-replication node, in the case that the flow ID is configured in the replication configuration information, performing general deterministic flow processing, while starting sequence number processing; adding the flow ID, the sequence number, and the D / R flag in the SRv6 packet encapsulation according to the SID list carried in the replication configuration information.

[0068] S6023, for the replication node being a non-head node, performing encapsulation processing and replication processing on the packet according to the SID list carried in the replication configuration information.

[0069] Further, the step S6023 can specifically include: determining whether to perform replication processing according to the flow ID and the D / R flag of the packet; further, if being a default replication point, in the case that the D and the R are both 1, it is determined that the packet needs to be replicated; in the case that the D or the R is 0, it is determined that the packet does not need to be replicated; if being a non-default replication point, in the case that the D and the R are both 1 and the flow ID in the packet matches the flow ID carried in the replication configuration information, it is determined that the packet needs to be replicated; in the case that the D or the R is 0, or the flow ID in the packet does not match the flow ID carried in the replication configuration information, it is determined that the packet does not need to be replicated; in the case that the determination result is yes, performing replication processing on the packet according to the SID list carried in the replication configuration information, and replacing the SID list in the packet with the SID list carried in the replication configuration information.

[0070] In the embodiment, the step S604 can specifically include:

[0071] S6041, if the elimination node is a default elimination node, determining whether elimination processing is needed according to the D / R carried by the packet, specifically, in the case that D and R are both 1, it is determined that elimination processing is needed; in the case that D or R is 0, it is determined that elimination processing is not needed, in the case that the result of the determination is yes, elimination processing is performed according to the flow ID and the corresponding sequence number seq;

[0072] S6042, if the elimination node is a non-default elimination node, matching the flow ID carried by the packet with the configured flow ID, if the matching is successful, elimination processing is performed according to the flow ID and the corresponding sequence number seq.

[0073] In an embodiment, in the step S6041, the elimination processing performed according to the flow ID and the corresponding sequence number seq can specifically include: comparing the sequence number seq corresponding to the flow ID with a recorded sequence number seq; if the sequence number seq corresponding to the flow ID is greater than the recorded sequence number seq, performing elimination processing on the packet corresponding to the flow ID, and updating the recorded sequence number seq; if the sequence number seq corresponding to the flow ID is less than or equal to the recorded sequence number seq, discarding the packet corresponding to the flow ID.

[0074] FIG. 7 is a schematic diagram of an SRv6-based replication elimination mode according to the embodiment, as shown in FIG. 7, only 3 paths path-1 (A-B-D-F-H), path-2 (A-C-E-G-H), path-3 (B-E-G-H) need to be calculated when the control plane is calculated. Replication point 2 only needs to issue the replication configuration of path-3. The replication trigger of the subsequent replication point only needs to judge whether the replication flag R, refer to the format and explanation of 3-1. At the elimination point 1, the service flow is identified by the flow-id, and only the discard operation of the repeated service flow is needed, without the identification operation of the sid list.

[0075] The embodiment of the disclosure improves the carrying mode of flow-id, seq (sequence), and replication elimination identification at the same time, and simplifies the packet analysis. FIG. 8 is a schematic diagram of an SRv6-based encapsulation format according to the embodiment, as shown in FIG. 8, the flow label field of the IPv6 header is used for flow identification (flow-id), which reduces the pressure and analysis depth of the subsequent node to identify the service flow.

[0076] The source address field (SIP) of IPv6 is divided into three segments, in which the low 32 bits are used to carry deterministic network related information (detnet-info), and the 32 bits are further divided into three segments, in which the high 16 bits are used to carry a sequence number (Seq), and the subsequent 8 bits are temporarily reserved. The last two 4 bits are used to guide periodic scheduling.

[0077] In the header part of SRv6, the flags field is used to indicate whether it is a deterministic flow and whether it is a copy-elimination flow by using the low two bits. The deterministic flow indication D is used to guide the node to parse the SIP according to the encapsulation format of the embodiment to obtain the deterministic network related information (detnet-info); and the copy-elimination flow indication R is used to guide the copy node or the elimination node (except the first copy point) to obtain the flow-label and the sequence number (Seq) obtained in the foregoing, and to perform flow replication or elimination processing according to the function of the node.

[0078] FIG. 9 is a schematic diagram of deterministic service forwarding according to the embodiment. As shown in FIG. 9, the embodiment needs the cooperation of the control plane and the forwarding plane. First, the control plane needs to obtain topology, service characteristics, service flow identification, copy point, elimination point and other information, calculate various paths, and form information to be issued. The configuration information is issued to the corresponding nodes. The nodes of the forwarding plane perform actions such as message forwarding, replication and elimination according to service characteristics, message characteristics and node attributes.

[0079] FIG. 10 is a flow chart of the control plane issuing configuration information according to the embodiment. As shown in FIG. 10, it includes:

[0080] 100, the control plane flow is started.

[0081] 101, obtain service, node, copy point, elimination point, flow identification (flow-id) and other information from the APP. Note that the flow identification (flow-id) can be configured, and if it is not configured, it can be automatically generated in step 107. However, it should be noted that the flow identification (flow-id) of different service flows should be different. If it is an aggregated flow, the flow identification (flow-id) of different aggregated flows should also be different.

[0082] 102, the control plane obtains the complete topology and integrates the information obtained in step 101 to form a more complete information base for subsequent path calculation, configuration generation and the like.

[0083] 103, check whether the head node of the service is the copy point of the service. The head node here means that the node needs to perform SRv6 encapsulation processing on the original service, and is also the starting point of deterministic scheduling. If it is a copy point, go to step 105, otherwise go to step 104.

[0084] 104, if the head node of the service is not the corresponding replication point, then the path is calculated according to the destination address to generate a service path and the corresponding SID, and it is checked whether there is a corresponding replication point on the path, if not, it goes to step 112, if yes, it goes to step 106.

[0085] 105, if the head node is the corresponding replication point, then according to the number of copies to be replicated and the corresponding outgoing interface, the calculation of multiple paths is performed, for example, if one copy is to be replicated, two outgoing interfaces are to be specified, and two paths and the corresponding SID list are calculated according to this. If two copies are to be replicated, three outgoing interfaces are to be specified, and three paths and the corresponding SID list are calculated according to this. If the number of specified outgoing interfaces and the number of paths to be calculated are inconsistent, the number of outgoing interfaces can be used as the criterion, or the number of paths can be used as the criterion, which is not limited here.

[0086] 106, if the head node of the service is not the corresponding replication point, but there is a corresponding replication point on the subsequent path, the other replication path and the corresponding SID list are calculated starting from this replication point. Because there is already a packaged service flow passing through the node at this time, if one copy is to be replicated, only one outgoing interface needs to be specified, and one path and the corresponding SID list are calculated according to this. If two copies are to be replicated, two outgoing interfaces need to be specified, and two paths and the corresponding SID list are calculated according to this. And so on.

[0087] [According to Rule 91 Correction 03.01.2025] 107, if the service flow passes through the replication point, a 16-bit flow identifier (flow-id) needs to be generated for the service, which will be issued to the head node of the service, and used to write the flow label field in the IPv6 packet header when SRv6 is encapsulated, as shown in Figure 8.

[0088] 108, it is checked whether there is a replication point on all paths, that is, in addition to the first replication point, multiple subsequent replication points can also be supported. If not, it goes to step 111, if yes, it goes to step 109.

[0089] 109, the other replication path and the corresponding SID list are calculated starting from this replication point. Because it is not the first replication point, there is already one or more packaged service flows passing through the node at this time, if one copy is to be replicated, only one outgoing interface needs to be specified, and one path and the corresponding SID list are calculated according to this. If two copies are to be replicated, two outgoing interfaces need to be specified, and two paths and the corresponding SID list are calculated according to this. And so on.

[0090] 110, check if there is a subsequent replication point in the newly generated path and the remaining nodes of the original path, that is, multiple levels of replication points can be supported. If not, go to step 111, indicating that the replication points along the path of the service have been processed; if yes, go to step 109, iterative processing until all path node scanning processing is completed.

[0091] 111, if there is a replication point after the service, but the head node is not a replication point, the head node needs to be configured with the flow-id corresponding to the service in addition to the regular diversion configuration and path SID list, so that when the head node encapsulates SRv6, the flow label field in the IPv6 packet header is written. If it is a replication point and a subsequent replication point, the configuration related to the replication point needs to be issued, including the replication interface, the replication path SID list, and the flow-id corresponding to the service flow that needs to be replicated by the subsequent replication point or the default replication point configuration information. The so-called default replication point is to configure along the replication path to replicate all deterministic flow indications D=1 and whether to replicate the elimination flow indication R=1 message passing through the node.

[0092] 112, this service does not need to be replicated, and the head node is issued with the regular diversion configuration, path SID list, etc.

[0093] 201, check the elimination nodes in the topology, and prepare to generate and issue configuration.

[0094] 202, is the configuration of the elimination point completed, if not, go to step 204, if yes, go to step 203.

[0095] 203, all elimination point configurations are completed, and the process ends.

[0096] 204, is this elimination point configured as a default elimination point (so-called default elimination point, that is, all deterministic flow indications D=1 and whether to replicate the elimination flow indication R=1 message passing through the node interface will be eliminated, and repeated messages will be discarded), if not, go to step 206, if yes, go to step 205.

[0097] 205, issue the default elimination point configuration (mainly indicating the elimination mode and the corresponding elimination port).

[0098] 206, issue the specific flow-id elimination point configuration (mainly indicating the elimination mode and the corresponding elimination port, flow-id to be eliminated).

[0099] After the control plane issues the relevant configurations, the forwarding plane needs to perform the replication and elimination of service packets according to the configuration information. FIG. 11 is a flow chart of service forwarding of the forwarding plane according to the embodiment, as shown in FIG. 11, including:

[0100] 300, the forwarding plane flow is started.

[0101] 301, according to the configuration, the node role (or node type) is judged, note that the node can be a composite role; if it is a head node, step 302 is entered; if it is a replication point, step 307 is entered; if it is an elimination point, step 309 is entered;

[0102] 302, according to the configuration, it is judged whether the head node is also a replication point, if yes, step 303 is entered; if no, step 304 is entered;

[0103] 303, this node is both the head node of the service and the replication node, so in addition to the general service flow guide and periodic scheduling, the following steps are additionally executed:

[0104] 1, generation and maintenance of sequence number (seq).

[0105] [According to the rules 91 correction 03.01.2025]2, fill in the flow-id, seq, D / R flag, etc. into the encapsulated packet according to the format of FIG. 8.

[0106] 3, encapsulate multiple packets according to the SID list and the number of copies of the replication configuration.

[0107] 4, send the packet according to the out interface specified by the replication or the out interface iterated by the SID list.

[0108] 304, check whether the flow-id is configured for this service (although this node is not a replication node, but the subsequent node of the path has a replication node, so the control plane will configure the flow-id in advance to facilitate the processing of the subsequent replication point), if yes, step 305 is entered; if no, step 306 is entered;

[0109] 305, this node is the head node of the service and is not a replication node, but has a replication node in the subsequent, so in addition to the general service flow guide and periodic scheduling, the following steps are executed:

[0110] 1, generation and maintenance of sequence number (seq).

[0111] [According to the rules 91 correction 03.01.2025]2, fill in the flow-id, seq, D / R flag, etc. into the encapsulated packet according to the format of FIG. 8.

[0112] 306, this node is the head node of the service, not a replication node, and there is no subsequent replication node, so it is a normal deterministic service flow processing, and no special action is needed.

[0113] 307, according to the configuration, it is judged whether the replication node is also the head node, if yes, it goes to step 303; if no, it goes to step 308;

[0114] 308, this node is a subsequent replication node, and the message that needs to be replicated has been encapsulated with flow-id, seq, D / R flag, etc. The node processes according to the flow-id, seq, D / R flag carried in the message and the configured replication information, including the following contents:

[0115] 1. Whether the D and R flags are both 1, if yes, it indicates that it is a service that needs to be replicated.

[0116] 2. Check whether the flow-id in the message matches the configured flow-id (if it is a default replication node, there will be a default flow-id wildcard entry), if yes, it indicates that it is a service that needs to be replicated by the node.

[0117] 3. According to the replication SID list and the out interface issued by the control plane, a copy of the original message is replicated, the original SID list is replaced, and it is sent out from the corresponding out interface (note that the SRv6 header D / R flag needs to be set, and because it is sent from a different port, the forwarding indication of detnet-info in SIP needs to be changed accordingly). In this embodiment, the flow-id and seq are in the IPv6 header, and when replacing the SID list, these information do not need additional processing. The parsing depth is shallow, which facilitates fast extraction.

[0118] 309, according to the configuration information, it is judged whether it is a default elimination point, if yes, it goes to step 311; if no, it goes to step 310;

[0119] 310, it is not a default elimination point, and only specific flow-id is eliminated. The processing flow includes:

[0120] 1. Whether the D and R flags are both 1, if yes, it indicates that it is a service that needs to be eliminated.

[0121] 2. Check whether the flow-id in the message matches the configured flow-id, if yes, check the sequence number seq and update it, if the arrived message is less than or equal to the seq number corresponding to the flow-id, it indicates that the corresponding message has arrived, and the message is discarded, otherwise, the message is forwarded and the sequence number is updated. It needs to be noted that in order to deal with out-of-order, multiple arrived sequence numbers can be retained, and the corresponding processing mode.

[0122] 311, is the default elimination point, then all packets with D, R flags of 1 need to be eliminated. Mainly record the seq number corresponding to the flow-id, and judge the relationship with the original recorded sequence number. If the arrived packet is less than or equal to the seq number corresponding to the flow-id, it indicates that the corresponding packet has arrived, and the packet is discarded, otherwise the packet is forwarded, and the sequence number is updated.

[0123] Figure 12 is an example diagram of a network configuration according to the present embodiment, as shown in Figure 12, the replication point is at the head node A of the service, and the elimination point is at the landing node H of the service. Assuming that the service is a two-layer service, the source MAC address is: 00:0A:02:0B:03:0C, the destination MAC address is: 00:0A:02:0C:03:0C, and the Vlan is: 111. For the convenience of description, it is named as flow1 hereinafter. Among them, the replication point 1 is a specific replication point; the elimination point 1 is a default elimination point.

[0124] Control plane processing: collect topology, service flow, service flow identification, replication point, elimination point information, and integrate to form a complete path information table. The controller checks the replication point configuration and finds that the head node is also a replication point. According to the replication configuration, two paths to the destination need to be calculated. Calculate two paths and the corresponding path SID list: path-1(B-D-F-H); path-2(C-E-G-H). It is found that the flow identification (flow-id) corresponding to this service has been configured: 100, and does not need to be generated. It is found that there is no subsequent replication point on the two paths, and there is no need to continue to calculate another replication path. Replication configuration, flow strategy, flow identification configuration, path-1 and path-2 SID list, etc. are issued to node A. It is found that node H is the default elimination point. There is no other elimination point in the future. The default elimination point configuration is issued to node H.

[0125] Forwarding plane processing:

[0126] Node A: Node A is the head node of the service flow1, and is also a replication point. In addition to the general flow guiding operation, the seq number of flow1 also needs to be processed according to the replication configuration (such as generating the starting sequence number, sequence number growth, etc.). According to the two SID lists of the replication configuration, the packet is encapsulated and replicated. It is sent to the corresponding port, and before the port, the flow-id, seq, D / R flag, scheduling indication, etc. information is encapsulated.

[0127] Node H: is the elimination node, and is the default elimination node. After receiving the SRv6 encapsulated packet of flow1, it is checked that the D / R flags carried by the packet are both 1, and elimination operation is needed. After receiving each packet of flow1, the Flow Label field of the IPv6 header is extracted as flow-id, and the seq sequence number in the S IP of the IPv6 header is extracted. The first time, a table entry corresponding to the flow-id and seq pair is formed in the node, as shown in Table 1.

[0128] Table 1

[0129] In the future, after receiving each packet of flow1, the Flow Label field of the IPv6 header is extracted as flow-id, and the seq sequence number in the S IP of the IPv6 header is extracted. The above table entry is searched. Now flow-id = 100, and the entry with flow-id = 100 in Table 1 is matched. At the same time, the extracted seq = 2 is compared with the seq = 1 in Table 1, which is greater than 1, indicating that it is a new packet. The seq in Table 1 is updated to 2, and the subsequent operation is continued. If it is less than or equal to 1, it indicates that the packet has been received, and the packet is discarded.

[0130] The remaining nodes are not the head node, nor the replication node, nor the elimination node, and can forward the packet according to the normal processing flow.

[0131] Fig. 13 is an example diagram two of a network configuration according to the present embodiment, as shown in Fig. 13, the replication point is at the head node A of the service, and the elimination point is at the landing node H of the service. It is assumed that the service is a two-layer service, the source MAC address is 00:0A:02:0B:03:0C, the destination MAC address is 00:0A:02:0C:03:0C, and the Vlan is 111. For the purpose of description, the following is named as flow1. Among them, the replication point 1 is the default replication point; and the elimination point 1 is the default elimination point.

[0132] Control plane processing: Collect topology, traffic flow, flow identifier, replication point, elimination point information, and integrate to form a complete path information table. The controller checks the replication point configuration and finds that the head node is not a replication point. Calculate the path to the destination and the corresponding path SID list: path-1 (B-D-F-H). Check the path along the way and find that node B is a replication point and has a default replication configuration of two copies. According to the replication configuration, two paths to the destination need to be calculated (here, the replication egress interface can be specified). Calculate two replication paths starting from node B and the corresponding path SID list: path-2 (E-G-H); path-3 (I-F-H). Find that there is no flow identifier (flow-id) configured for this service, generate a flow-id = 101, and note that there cannot be the same flow-id.

[0133] Find that there are no subsequent replication points on the two replication paths, and no additional replication paths need to be calculated. Issue the flow steering policy, flow identifier configuration, SID list of path-1, etc. to node A. Issue the replication configuration and SID list of replication paths path-2 and path-3, etc. to node B. Find that node H is the default elimination point. There are no other elimination points. Issue the default elimination point configuration to node H.

[0134] Forwarding plane processing:

[0135] Node A: Node A is the head node of service flow1 and is not a replication point. However, a flow-id is issued, indicating that there is a subsequent replication node.

[0136] In addition to the general flow steering operation, the sequence number seq of flow1 needs to be processed (such as generating the starting sequence number and sequence number increment). According to the SID list of the configured path-1, perform packet encapsulation (including encapsulating the flow-id, seq, and D / R flag). Send to the corresponding port and add scheduling instructions and other information before egress.

[0137] Node B: Node B is a replication point for service flow1. Node B is not the head node of service flow1. After receiving the SRv6 encapsulated packet of flow1, check that the D / R flags carried by the packet are both 1, indicating that replication is needed. Find that node B is a default replication point, that is, all packets with D / R flags of 1 will be replicated. (Note that this configuration is only reasonable in a specific topology, because in this configuration, the replication SID list of all services is the same.) According to the SID list of the configured replication paths path-2 and path-3, perform the replacement operation of the original SID list of the packet. Send to the corresponding replication port and add scheduling instructions and other information before egress.

[0138] Node H: is the elimination node, at the same time is the default elimination node. After receiving the SRv6 encapsulated packet of flow1, check the D / R flag carried by the packet, both are 1, need to perform elimination operation. Every time a packet of flow1 is received, extract the Flow Label field of the IPv6 header as flow-id, and extract the seq sequence number in the SIP of the IPv6 header. The first time will form a table item corresponding to the flow-id, seq in the node, as shown in Table 2.

[0139] Table 2

[0140] After that, every time a packet of flow1 is received, extract the Flow Label field of the IPv6 header as flow-id, and extract the seq sequence number in the SIP of the IPv6 header. Check the above table item, now flow-id = 101, match the entry with flow-id = 101 in Table 2, and extract seq = 2 and seq = 1 in Table 2 for comparison. Greater than 1 indicates a new packet, update the seq in Table 2 to 2, and continue the subsequent operation. If it is less than or equal to 1, it indicates that the packet has been received, and the packet is discarded.

[0141] The remaining nodes are not the head node, nor the replication node, nor the elimination node, and can forward the packet according to the normal processing flow.

[0142] Figure 14 is an example diagram three of network configuration according to the present embodiment, as shown in Figure 14, the replication point is at the head node A of the service, and the elimination point is at the landing node H of the service. Assuming that the service is a layer 2 service, the source MAC address is 00:0A:02:0B:03:0C, the destination MAC address is 00:0A:02:0C:03:0C, and the Vlan is 111. For the purpose of description, the following is named as flow1. Among them, the replication points 1 and 2 are specific replication points; the elimination point 1 is a specific elimination point, and the elimination point 2 is a default elimination point.

[0143] Control plane processing:

[0144] Topology, traffic flow, traffic flow identifier, replication point, elimination point information are collected and integrated to form a complete path information table. The controller checks the replication point configuration and finds that the head node is also a replication point and only one copy is made. Two paths and corresponding path SID lists are calculated: path-1 (B-D-F-H); path-2 (C-E-G-H). Check the path along the way and find that node B is also a replication point, configured for flow1 flow-id = 102 and one copy. According to the replication configuration, another path starting from B to the destination needs to be calculated (here the replication egress interface can be specified). Calculate one replication path and the corresponding path SID list: path-3 (E-G-H). It is found that the flow identifier (flow-id = 102) corresponding to this service has been configured. Check the 3 paths and find that there are no replication points except node B, so there is no need to continue to calculate additional replication paths. Issue the flow steering strategy, flow identifier configuration, SID list of path-1 and path-2, etc. to node A. Issue the replication configuration and the SID list of the replication path path-3, etc. to node B. It is found that node E is a specific elimination point for flow-id = 102 flow. It is found that node H is the default elimination point. There are no other elimination points later. Issue the specific elimination configuration to node E. Issue the default elimination point configuration to node H.

[0145] Forwarding plane processing:

[0146] Node A: Node A is the head node of service flow1 and is also a replication point. In addition to the general flow steering operation, the sequence number seq of flow1 needs to be processed according to the replication configuration (such as generating the starting sequence number, sequence number increment, etc.). According to the two SID lists of the replication configuration, the packet is encapsulated and replicated. It is sent to the corresponding port, and before the egress port, the flow-id, seq, D / R flag, scheduling indication, etc. information is encapsulated.

[0147] Node B: Node B is a replication point of service flow1. Node B is not the head node of service flow1. After receiving the SRv6 encapsulated packet of flow1, it is found that the D / R flag carried by the packet is 1, indicating that replication is needed. It is found that node B is a specific replication point for flow-id = 102, that is, all packets with D / R flag = 1 and flow-id = 102 will be replicated. According to the SID list of the flow-id = 102 replication path path-3 configured by the node, the original SID list of the packet is replaced. It is sent to the corresponding replication port and the scheduling indication, etc. information is added before the egress port.

[0148] Node E: is the elimination node, and is the elimination node of the specific flow. After receiving the SRv6 encapsulated packet of flow1, it is checked that the D / R flags carried by the packet are both 1, and the elimination operation needs to be performed. Every time a packet of flow1 is received, the Flow Label field of the IPv6 header is extracted as a flow-id, and the elimination configuration table is checked, as shown in Table 3.

[0149] Table 3

[0150] If it matches, the subsequent operation is continued.

[0151] The seq sequence number in the SIP in the IPv6 header is extracted, and the first time a table item corresponding to the flow-id and the seq is formed in the node, as shown in Table 4.

[0152] Table 4

[0153] In the future, every time a packet of flow1 is received, the Flow Label field of the IPv6 header is extracted as a flow-id, and the seq sequence number in the SIP in the IPv6 header is extracted, and the above table item is checked. Now the flow-id = 102, and the entry of the flow-id 102 in Table 4 is matched, and the extracted seq = 2 and the seq = 1 in Table 4 are compared, which is greater than 1, indicating that it is a new packet, the seq in Table 4 is updated to 2, and the subsequent operation is continued. If it is less than or equal to 1, it indicates that the packet has been received, and the packet is discarded.

[0154] Node H: is the elimination node, and is the default elimination node. After receiving the SRv6 encapsulated packet of flow1, it is checked that the D / R flags carried by the packet are both 1, and the elimination operation needs to be performed. Every time a packet of flow1 is received, the Flow Label field of the IPv6 header is extracted as a flow-id, and the seq sequence number in the SIP in the IPv6 header is extracted, and the first time a table item corresponding to the flow-id and the seq is formed in the node, as shown in Table 5.

[0155] Table 5

[0156] In the future, every time a packet of flow1 is received, the Flow Label field of the IPv6 header is extracted as a flow-id, and the seq sequence number in the SIP in the IPv6 header is extracted, and the above table item is checked. Now the flow-id = 102, and the entry of the flow-id 102 in Table 5 is matched, and the extracted seq = 2 and the seq = 1 in Table 5 are compared, which is greater than 1, indicating that it is a new packet, the seq in Table 5 is updated to 2, and the subsequent operation is continued. If it is less than or equal to 1, it indicates that the packet has been received, and the packet is discarded.

[0157] The rest of the nodes are not the head node, nor the replication node, nor the elimination node, and can forward the packet according to the normal processing flow.

[0158] In the embodiment, the reserved label field and the original address field of the multiplexed IPv6 header are used to carry the flow identifier and the sequence number information required for deterministic protection, and the flag reserved in the SRv6 header is used to indicate whether it is a replication service flow, which is beneficial to parsing and replacing more conveniently during service processing. The pre-planned path is pre-encapsulated with the flow identifier, the sequence number, and the replication identifier at the head node when there is a subsequent replication point, which is beneficial to reducing the configuration and the difficulty of identification and replacement of the subsequent replication point. The elimination point only needs to match the flow identifier and the sequence number to perform the elimination operation, without the need to analyze the service field in the content encapsulated in the SRv6, thereby greatly reducing the processing difficulty of the forwarding plane. The control plane information is fully utilized to calculate the path, and the configuration information of the subsequent replication and elimination points is generated by using the flow identifier, thereby reducing the configuration and delivery amount, and being beneficial to reducing the processing difficulty of the forwarding plane. There is no need to configure, manage, and process special redundant SIDs.

[0159] The embodiment of the present disclosure further provides a configuration and delivery device, and FIG. 15 is a block diagram of the configuration and delivery device according to the embodiment of the present disclosure. As shown in FIG. 15, the device is applied to a control plane and includes:

[0160] The obtaining module 152 is configured to obtain topology information, service flow information, and node attributes, wherein the node attributes include replication nodes and elimination nodes.

[0161] The delivery module 154 is configured to deliver configuration information to the head node, the replication nodes, and the elimination nodes according to the topology information, the service flow information, and the node attributes.

[0162] In an embodiment, the delivery module 154 includes:

[0163] The first delivery sub-module is configured to generate a service forwarding path according to the topology information, the service flow information, and the node attributes for the head node and the replication nodes, and deliver replication configuration information to the head node and the replication nodes according to the service forwarding path.

[0164] The second delivery sub-module is configured to deliver elimination configuration information to the elimination nodes.

[0165] The configuration information includes the replication configuration information and the elimination configuration information.

[0166] In an embodiment, the first delivery sub-module includes:

[0167] The first issuing unit is configured to generate a flow ID corresponding to a service flow for a first copy node which is a head node, and issue the copy configuration information to the head node according to the copy node on the service forwarding path.

[0168] The second issuing unit is configured to determine whether there is a copy node on the service forwarding path for a head node which is a non-copy node, and issue general configuration information to the head node if there is no copy node, or generate a flow ID corresponding to a service flow and issue the copy configuration information to the head node if there is a copy node.

[0169] The third issuing unit is configured to determine a copy path with the copy node as a head node for the service for a copy node which is a non-head node, and issue the copy configuration information according to a subsequent copy node on the service forwarding path.

[0170] In an embodiment, the first issuing unit is further configured to repeatedly perform the following steps until there is no subsequent copy node on the service forwarding path:

[0171] determine whether there is a subsequent copy node on the service forwarding path;

[0172] if there is a subsequent copy node on the service forwarding path, determine a SID list corresponding to a copy path with the subsequent copy node as a head node for the service, and issue the copy configuration information to the copy node, wherein the copy configuration information carries the SID list corresponding to the copy path with the subsequent copy node as a head node;

[0173] if there is no subsequent copy node on the service forwarding path, issue the copy configuration information to the copy node, wherein the copy configuration information carries whether to default a copy node or a specific flow ID, and a SID list corresponding to a copy path with each copy node on the service forwarding path as a head node.

[0174] In an embodiment, the first issuing sub-module is further configured to perform multi-path calculation according to a destination address of the service and a number of copy nodes to obtain the service forwarding path for a head node which is a copy node, and perform path calculation according to the destination address of the service to obtain the service forwarding path for a head node which is a non-copy node.

[0175] In an embodiment, the second issuing sub-module is further configured to repeatedly perform the following steps to traverse each elimination node in all elimination nodes, and issue the elimination configuration information until all elimination nodes are deployed, wherein an execution elimination node is a current elimination node.

[0176] determine whether the current elimination node eliminates all copy service flows by default;

[0177] In a case where the determination result is yes, default elimination configuration information is issued, wherein the default elimination configuration information carries an elimination mode and a corresponding elimination port.

[0178] In a case where the determination result is no, elimination configuration information of a preset flow identifier is issued, wherein the elimination configuration information of the preset flow identifier carries an elimination mode, a corresponding elimination port, and a flow identifier flow ID to be eliminated.

[0179] In an embodiment, the flow identifier flow ID is written in a flow label field of a message header of IPv6 when an SRv6 message is encapsulated.

[0180] In an embodiment, a low byte of a source address field of IPv6 is used to carry deterministic network related information detnet-info, and the low byte is used to carry a sequence number Seq, a reserved bit, and a periodic scheduling indication.

[0181] Two bits of a flag field of a header part of the SRv6 are respectively used to indicate whether it is a deterministic flow / whether it is a copy elimination flow D / R flag.

[0182] The D flag is used to indicate that a node parses the source address field according to a preset encapsulation format to obtain the deterministic network related information detnet-info.

[0183] The R flag is used to indicate a copy node or an elimination node other than a head node to obtain a flow identifier flow ID in the flow-label field and the sequence number Seq, and to perform copy or elimination processing of a message according to the flow identifier flow ID and the sequence number Seq.

[0184] Embodiments of the present disclosure also provide a message processing device. FIG. 16 is a block diagram of a message processing device according to an embodiment of the present disclosure. As shown in FIG. 16, the device is applied to a forwarding plane and includes:

[0185] A receiving module 162 is configured to receive configuration information issued by a control plane according to topology information, service flow information, and node attributes.

[0186] A processing module 164 is configured to process a message according to the configuration information.

[0187] In an embodiment, the processing module 164 includes:

[0188] The first processing sub-module is configured to, for the head node and the replication node, perform encapsulation processing or encapsulation and replication processing on the packet according to replication configuration information;

[0189] The second processing sub-module is configured to, for the elimination node, perform elimination processing on the packet according to elimination configuration information;

[0190] The configuration information includes the replication configuration information and the elimination configuration information.

[0191] In an embodiment, the first processing sub-module includes:

[0192] The first processing unit is configured to, for the head node that is a replication node, perform encapsulation and replication processing on the packet according to flow ID, a sequence number, and D / R (deterministic / replication and elimination) flags carried by the replication configuration information;

[0193] The second processing unit is configured to, for the head node that is not a replication node, perform encapsulation processing on the packet according to flow ID, a sequence number, and D / R (deterministic / replication and elimination) flags carried by the replication configuration information;

[0194] The third processing unit is configured to, for the replication node that is not a head node, perform encapsulation processing and replication processing on the packet according to a SID list carried by the replication configuration information.

[0195] In an embodiment, the first processing unit is further configured to, for the head node that is a replication node, perform general deterministic service flow processing while starting sequence number processing; add flow ID, the sequence number, and the D / R flag in SRv6 packet encapsulation, and perform packet encapsulation and replication processing according to a SID list carried by the replication configuration information.

[0196] In an embodiment, the second processing unit is further configured to, for the head node that is not a replication node, perform general deterministic flow processing while starting sequence number processing in the case that flow ID is configured in the replication configuration information;

[0197] According to a SID list carried in the replication configuration information, flow ID, a sequence number, and a D / R flag are added in SRv6 packet encapsulation.

[0198] In an embodiment, the third processing unit includes:

[0199] The judgment sub-unit is configured to judge whether to perform replication processing according to flow ID and D / R flags of the packet;

[0200] The replicator unit is configured to, if the determination result is yes, replicate the packet according to the SID list carried in the replication configuration information, and replace the SID list in the packet with the SID list carried in the replication configuration information.

[0201] In an embodiment, the determination unit is further configured to, if the node is a default replication node, determine that the packet needs to be replicated if D and R are both 1, and determine that the packet does not need to be replicated if D or R is 0; if the node is a non-default replication node, determine that the packet needs to be replicated if D and R are both 1 and a flow ID in the packet matches a flow ID carried in the replication configuration information, and determine that the packet does not need to be replicated if D or R is 0 or the flow ID in the packet does not match the flow ID carried in the replication configuration information.

[0202] In an embodiment, the second processing submodule includes:

[0203] The first elimination unit is configured to, if the elimination node is a default elimination node, determine whether elimination needs to be performed according to D / R carried in the packet, and perform elimination according to a flow ID and a corresponding sequence number seq if the determination result is yes.

[0204] The second elimination unit is configured to, if the elimination node is a non-default elimination node, match a flow ID carried in the packet with a configured flow ID, and perform elimination according to the flow ID and a corresponding sequence number seq if the matching is successful.

[0205] In an embodiment, the first elimination unit is further configured to determine that elimination needs to be performed if D and R are both 1, and determine that elimination does not need to be performed if D or R is 0.

[0206] In an embodiment, the first elimination unit is further configured to compare a sequence number seq corresponding to the flow ID with a recorded sequence number seq, perform elimination on the packet corresponding to the flow ID if the sequence number seq corresponding to the flow ID is greater than the recorded sequence number seq, and update the recorded sequence number seq, and discard the packet corresponding to the flow ID if the sequence number seq corresponding to the flow ID is less than or equal to the recorded sequence number seq.

[0207] The embodiment of the present disclosure further provides a computer program product comprising computer program instructions, wherein the computer program instructions enable a computer to implement the steps in any of the method embodiments.

[0208] The embodiment of the present disclosure further provides a computer readable storage medium, which stores a computer program, wherein the computer program is configured to execute the steps in any of the method embodiments when running.

[0209] In an example embodiment, the computer readable storage medium described above can include, but is not limited to, a U disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and various media that can store computer programs.

[0210] The embodiment of the present disclosure further provides an electronic device comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the computer program to perform the steps in any of the method embodiments.

[0211] In an example embodiment, the electronic device described above can further comprise a transmission device connected to the processor and an input and output device connected to the processor.

[0212] The specific examples in the present embodiment can refer to the examples described in the above embodiments and example embodiments, which will not be repeated here.

[0213] Obviously, those skilled in the art should understand that the modules or steps of the present disclosure described above can be realized by general computing devices, which can be concentrated on a single computing device or distributed on a network composed of multiple computing devices, and can be realized by program codes executable by computing devices, so that they can be stored in storage devices and executed by computing devices, and in some cases, the steps shown or described can be executed in different order, or they can be manufactured into individual integrated circuit modules, or multiple modules or steps can be manufactured into a single integrated circuit module. Thus, the present disclosure is not limited to any specific combination of hardware and software.

[0214] The above only describes the preferred embodiments of the present disclosure and is not intended to limit the present disclosure. For those skilled in the art, the present disclosure can have various modifications and changes. Any modification, equivalent replacement, improvement, etc. within the principles of the present disclosure shall be included in the protection scope of the present disclosure.

Claims

1. A configuration distribution method applied to a control plane, the method comprising: obtaining topology information, service flow information and node attributes, wherein the node attributes comprise a replication node and an elimination node; distributing configuration information to a head node, the replication node and the elimination node according to the topology information, the service flow information and the node attributes.

2. The method of claim 1, wherein, The distributing of the configuration information according to the topology information, the service flow information and the node attributes comprises: for the head node and the replication node, generating a service forwarding path according to the topology information, the service flow information and the node attributes, and distributing replication configuration information to the head node and the replication node according to the service forwarding path; for the elimination node, distributing elimination configuration information; wherein the configuration information comprises the replication configuration information and the elimination configuration information.

3. The method of claim 2, wherein, The distributing of the replication configuration information according to the service forwarding path comprises: for a head node which is a replication node, generating a flow ID corresponding to a service flow for a first replication node, and distributing the replication configuration information to the head node according to a replication node on the service forwarding path; for a head node which is not a replication node, determining whether there is a replication node on the service forwarding path, if not, distributing general configuration information to the head node, and if yes, generating a flow ID corresponding to a service flow, and distributing the replication configuration information to the head node; for a replication node which is not a head node, determining a replication path with the replication node as a head node for the service, and distributing the replication configuration information according to a subsequent replication node on the service forwarding path.

4. The method of claim 3, wherein, The distributing of the replication configuration information according to a subsequent replication node on the service forwarding path comprises: repeating the following steps until there is no subsequent replication node on the service forwarding path; determining whether there is a subsequent replication node on the service forwarding path; if there is a subsequent replication node on the service forwarding path, determining a SID list corresponding to a replication path with the subsequent replication node as a head node for the service, and distributing the replication configuration information to the replication node, wherein the replication configuration information carries the SID list corresponding to the replication path with the subsequent replication node as a head node; if there is no subsequent replication node on the service forwarding path, distributing the replication configuration information to the replication node, wherein the replication configuration information carries whether to default a replication node or a specific flow ID, and a SID list corresponding to a replication path with each replication node on the service forwarding path as a head node.

5. The method of claim 2, wherein, The generating of the service forwarding path according to the topology information, the service flow information and the node attributes comprises: for a head node which is a replication node, performing multi-path calculation according to a destination address of the service and a number of replication nodes to obtain the service forwarding path; for a head node which is not a replication node, performing path calculation according to a destination address of the service to obtain the service forwarding path.

6. The method of claim 2, wherein, The distributing of the elimination configuration information for the elimination node comprises: Repeating the following steps, traversing each of all elimination nodes, and issuing the elimination configuration information until all elimination nodes are completed deployment, wherein the execution elimination node is the current elimination node: Determine whether the current elimination node eliminates all replicated service flows by default; In the case of determining that the result is yes, issue the default elimination configuration information, wherein the default elimination configuration information carries the elimination mode and the corresponding elimination port; In the case of determining that the result is no, issue the elimination configuration information of the preset flow identifier, wherein the elimination configuration information of the preset flow identifier carries the elimination mode, the corresponding elimination port, and the flow identifier flow ID to be eliminated.

7. The method of claim 3, wherein, The flow identifier flow ID is written in the flow label field of the message header of Internet Protocol version 6 IPv6 when encapsulating a segment routing based on Internet Protocol version 6 forwarding plane SRv6 message.

8. The method of claim 7, wherein, The low byte of the source address field of the IPv6 is used to carry deterministic network related information detnet-info, and the low byte is used to carry a sequence number Seq, a reserved bit, and a periodic scheduling indication; Two bits of a flag field of a header part of the SRv6 are respectively used to indicate whether it is a deterministic flow / whether it is a copy elimination flow D / R flag; The D flag is used to indicate that the node parses the source address field according to a preset encapsulation format to obtain the deterministic network related information detnet-info; The R flag is used to indicate a copy node or an elimination node other than a head node to obtain the flow identifier flow ID in the flow-label field and the sequence number Seq, and to perform copy or elimination processing of the message according to the flow identifier flow ID and the sequence number Seq.

9. A message processing method applied to a forwarding plane, the method comprising: receiving configuration information issued by a control plane according to topology information, service flow information, and node attributes; processing a message according to the configuration information.

10. The method of claim 9, wherein, Processing a message according to the configuration information includes: For a head node and a copy node, performing encapsulation processing or encapsulation and copy processing on the message according to copy configuration information; For an elimination node, performing elimination processing on the message according to elimination configuration information; The configuration information includes the copy configuration information and the elimination configuration information.

11. The method of claim 10, wherein, For a head node and a copy node, performing encapsulation processing or encapsulation and copy processing on the message according to copy configuration information includes: For a head node that is a copy node, performing encapsulation and copy processing on the message according to the flow identifier flow ID, the sequence number, whether it is a deterministic flow / whether it is a copy elimination flow D / R flag carried by the copy configuration information; For a head node that is not a copy node, performing encapsulation processing on the message according to the flow identifier flow ID, the sequence number, whether it is a deterministic flow / whether it is a copy elimination flow D / R flag carried by the copy configuration information; For a non-head node of the replication node, the packet is encapsulated and replicated according to a segment identifier (SID) list carried by the replication configuration information.

12. The method of claim 11, wherein, For a head node of the replication node, the packet is encapsulated and replicated according to a flow identifier (flow ID), a sequence number, and a flag indicating whether the flow is deterministic (D) or replication-elimination (R) carried by the replication configuration information, including: For a head node of the replication node, general deterministic flow processing is performed, and sequence number processing is started. The flow ID, the sequence number, and the D / R flag are added to SRv6 packet encapsulation, and the packet is encapsulated and replicated according to a SID list carried by the replication configuration information.

13. The method of claim 11, wherein, For a head node of the non-replication node, the packet is encapsulated according to a flow ID, a sequence number, and a flag indicating whether the flow is deterministic (D) or replication-elimination (R) carried by the replication configuration information, including: For a head node of the non-replication node, general deterministic flow processing is performed, and sequence number processing is started, when a flow ID is configured in the replication configuration information. The flow ID, the sequence number, and the D / R flag are added to SRv6 packet encapsulation according to a SID list carried by the replication configuration information.

14. The method of claim 11, wherein, The packet is encapsulated and replicated according to a SID list carried by the replication configuration information, including: Whether to perform replication processing is determined according to a flow ID and a D / R flag of the packet. When the determination result is yes, the packet is replicated according to a SID list carried by the replication configuration information, and the SID list in the packet is replaced by the SID list carried by the replication configuration information.

15. The method of claim 14, wherein, Whether to perform replication processing is determined according to a flow ID and a D / R flag of the packet, including: If it is a default replication point, when D and R are both 1, it is determined that the packet needs to be replicated; when D or R is 0, it is determined that the packet does not need to be replicated. If it is a non-default replication point, when D and R are both 1 and a flow ID in the packet matches a flow ID carried by the replication configuration information, it is determined that the packet needs to be replicated; when D or R is 0, or the flow ID in the packet does not match the flow ID carried by the replication configuration information, it is determined that the packet does not need to be replicated.

16. The method of claim 10, wherein, For the elimination node, the packet is eliminated according to elimination configuration information, including: If the elimination node is a default elimination node, whether to perform elimination processing is determined according to a D / R carried by the packet, and when the determination result is yes, elimination processing is performed according to a flow ID and a corresponding sequence number (seq). If the elimination node is a non-default elimination node, the flow ID carried by the packet is matched with a configured flow ID, and if the matching is successful, elimination processing is performed according to the flow ID and a corresponding sequence number seq.

17. The method of claim 16, wherein, The determination whether to perform elimination processing according to the D / R carried by the packet includes: In a case where D and R are both 1, it is determined that elimination processing is needed; In a case where D or R is 0, it is determined that elimination processing is not needed.

18. The method of claim 16, wherein, The elimination processing according to the flow ID and the corresponding sequence number seq includes: The sequence number seq corresponding to the flow ID is compared with a recorded sequence number seq; If the sequence number seq corresponding to the flow ID is greater than the recorded sequence number seq, elimination processing is performed on the packet corresponding to the flow ID, and the recorded sequence number seq is updated; If the sequence number seq corresponding to the flow ID is less than or equal to the recorded sequence number seq, the packet corresponding to the flow ID is discarded.

19. A configuration delivery device applied to a control plane, the device comprising: an obtaining module configured to obtain topology information, service flow information and node attributes, wherein the node attributes include a replication node and an elimination node; a delivery module configured to deliver configuration information to a head node, the replication node and the elimination node according to the topology information, the service flow information and the node attributes.

20. A packet processing device applied to a forwarding plane, the device comprising: a receiving module configured to receive configuration information delivered by a control plane according to topology information, service flow information and node attributes; a processing module configured to process a packet according to the configuration information.

21. A computer-readable storage medium having stored therein a computer program, wherein, The computer program is configured to execute the method in any of claims 1 to 8, 9 to 18 when running.

22. An electronic device comprising a memory and a processor, the memory having a computer program stored therein, and the processor being configured to execute the computer program to perform the method in any of claims 1 to 8, 9 to 18.

Citation Information

Patent Citations

  • Method for issuing SR strategy, method for receiving SR strategy, and device

    CN113364680A

  • Segment routing strategy processing method and device

    CN117176631A

  • Data transmission protection method, device, system, and computer readable storage medium

    US20210037121A1

  • Flow reliability in multi-tier deterministic networking

    US20220272040A1

  • Segment routing policy processing method and apparatus

    WO2023226859A1