Message forwarding method and device, network equipment and storage medium

CN119605153AInactive Publication Date: 2025-03-11NEW H3C TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202380009328.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-06-07
Publication Date
2025-03-11
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

In complex networking, different networks use different methods to implement deterministic transmission, resulting in deterministic transmission of packets being unable to be realized.

Method used

The network device receives the packets from the target deterministic stream from the first network and converts them into a deterministic transmission format suitable for the second network, forwards according to the target scheduling cycle, and realizes the two networks that realize deterministic transmission. Message conversion.

Benefits of technology

Deterministic transmission of packets is realized in complex networking, avoiding additional jitter and uncertainty factors, and able to control end-to-end deterministic indicators well.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119605153A_ABST
    Figure CN119605153A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a message forwarding method and device, network equipment and a storage medium, the message forwarding method and device are applied to the network equipment, the network equipment is connected with first equipment in a first network and second equipment in a second network, and the method comprises the following steps: receiving a first message sent by the first equipment; if the first message belongs to the target deterministic flow, converting the first message into a second message according to a deterministic transmission packaging format adopted by a second network; and forwarding the second message to the second device according to a target scheduling period corresponding to the target deterministic flow. In the technical scheme provided by the embodiment of the invention, after one network device receives a message of a target deterministic flow from a first network, the first message is converted into a second message capable of performing deterministic transmission in a second network, and the target deterministic flow is transmitted in the second network through the network device. Therefore, the message of the target deterministic flow can be converted between any two networks for realizing deterministic transmission, and the deterministic transmission of the message in a complex network is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Message forwarding method, device, network equipment and storage medium Technical Field

[0001] The present application relates to the field of network communication technology, and more particularly to a message forwarding method, apparatus, network equipment, and storage medium. Background Art

[0002] Currently, many networks offer deterministic transmission, such as FlexE (Flex Ethernet) and DetNet (Deterministic Networking). These networks employ different approaches to achieve deterministic transmission. For example, FlexE uses a hard pipe approach, while DetNet uses a soft pipe approach based on CSFQ (Cyclic Specific Queuing and Forwarding, a cyclically specific queuing and forwarding mechanism based on segment routing). While deterministic transmission can be achieved well within a single network, the actual networking is complex, often consisting of multiple networks implementing deterministic transmission. This makes deterministic packet transmission impossible.

[0003] Summary of the Invention

[0004] The purpose of the embodiments of the present application is to provide a message forwarding method, apparatus, network device and storage medium to achieve deterministic transmission of messages in complex networks.

[0005] In a first aspect, an embodiment of the present application provides a message forwarding method, applied to a network device, wherein the network device is connected to a first device in a first network and a second device in a second network, respectively, the method comprising:

[0006] receiving a first message sent by the first device;

[0007] If the first message belongs to the target deterministic flow, converting the first message into a second message according to the encapsulation format of the deterministic transmission adopted by the second network;

[0008] Forward the second message to the second device according to the target scheduling period corresponding to the target deterministic flow.

[0009] In some embodiments, the step of converting the first message into the second message according to the deterministic transmission encapsulation format adopted by the second network includes:

[0010] Stripping first encapsulation information of the first message to obtain an original message, where the first encapsulation information is encapsulation information for transmitting the target deterministic flow in the first network;

[0011] Acquire second encapsulation information matching the original message, where the second encapsulation information is encapsulation information for transmitting the target deterministic flow in the second network;

[0012] The second encapsulation information is encapsulated into the original message according to the deterministic transmission encapsulation format adopted by the second network to obtain a second message.

[0013] In some embodiments, the step of obtaining second encapsulation information matching the original message includes:

[0014] Obtaining target flow information included in the original message;

[0015] According to the pre-stored correspondence between flow information and encapsulation information, the encapsulation information corresponding to the target flow information is determined as the second encapsulation information matching the original message.

[0016] In some embodiments, the target scheduling period is determined by the following steps:

[0017] Determining an initial scheduling period corresponding to the first encapsulation information according to a pre-stored correspondence between the scheduling period of the first network and the encapsulation information;

[0018] The target scheduling period of the second network corresponding to the initial scheduling period is determined according to a pre-stored correspondence between the scheduling period of the first network and the scheduling period of the second network.

[0019] In some embodiments, the target scheduling period is determined by the following steps:

[0020] According to the pre-stored correspondence between the scheduling period of the second network and the encapsulation information, a target scheduling period corresponding to the second encapsulation information is determined.

[0021] In some embodiments, the target scheduling period is determined by the following steps:

[0022] Obtaining a target timestamp when the first message is received;

[0023] Determine the scheduling period and period offset corresponding to the target timestamp according to the pre-stored correspondence between the timestamp, the scheduling period, and the period offset corresponding to the target deterministic flow;

[0024] A target scheduling period is determined according to the determined scheduling period and period offset.

[0025] In some embodiments, when the number of the target scheduling periods is multiple, the step of forwarding the second message to the device in the second network according to the target scheduling period corresponding to the second message includes:

[0026] According to the arrangement order of the plurality of preset target scheduling periods, searching for a target scheduling period in which the number of forwarded messages does not reach the preset number;

[0027] When the target scheduling period is found, the second message is forwarded to the device in the second network according to the found target scheduling period.

[0028] In some embodiments, the first network is FlexE, and the second network is DetNet; or

[0029] The first network is DetNet, and the second network is FlexE.

[0030] In a second aspect, an embodiment of the present application provides a message forwarding device, applied to a network device, wherein the network device is connected to a first device in a first network and a second device in a second network, respectively, and the device includes:

[0031] a receiving module, configured to receive a first message sent by the first device;

[0032] a conversion module, configured to, if the first message belongs to a target deterministic flow, convert the first message into a second message according to an encapsulation format for deterministic transmission adopted by the second network;

[0033] A forwarding module is used to forward the second message to the second device according to the target scheduling period corresponding to the target deterministic flow.

[0034] In some embodiments, the conversion module includes:

[0035] an obtaining submodule, configured to strip first encapsulation information of the first message to obtain an original message, where the first encapsulation information is encapsulation information for transmitting the target deterministic flow in the first network;

[0036] an acquisition submodule, configured to acquire second encapsulation information matching the original message, where the second encapsulation information is encapsulation information for transmitting the target deterministic flow in the second network;

[0037] An encapsulation submodule is used to encapsulate the second encapsulation information into the original message according to the encapsulation format of the deterministic transmission adopted by the second network to obtain a second message.

[0038] In some embodiments, the acquisition submodule is specifically configured to:

[0039] Obtaining target flow information included in the original message;

[0040] According to the pre-stored correspondence between flow information and encapsulation information, the encapsulation information corresponding to the target flow information is determined as the second encapsulation information matching the original message.

[0041] In some embodiments, the apparatus further includes: a determination module configured to determine a target scheduling period, specifically configured to:

[0042] Determining an initial scheduling period corresponding to the first encapsulation information according to a pre-stored correspondence between the scheduling period of the first network and the encapsulation information;

[0043] The target scheduling period of the second network corresponding to the initial scheduling period is determined according to a pre-stored correspondence between the scheduling period of the first network and the scheduling period of the second network.

[0044] In some embodiments, the apparatus further includes: a determination module configured to determine a target scheduling period, specifically configured to:

[0045] According to the pre-stored correspondence between the scheduling period of the second network and the encapsulation information, a target scheduling period corresponding to the second encapsulation information is determined.

[0046] In some embodiments, the apparatus further includes: a determination module configured to determine a target scheduling period, specifically configured to:

[0047] Obtaining a target timestamp when the first message is received;

[0048] Determine the scheduling period and period offset corresponding to the target timestamp according to the pre-stored correspondence between the timestamp, the scheduling period, and the period offset corresponding to the target deterministic flow;

[0049] A target scheduling period is determined according to the determined scheduling period and period offset.

[0050] In some embodiments, the forwarding module is specifically configured to:

[0051] When there are multiple target scheduling periods, searching for a target scheduling period in which the number of forwarded messages does not reach the preset number according to the preset order of the multiple target scheduling periods;

[0052] When the target scheduling period is found, the second message is forwarded to the device in the second network according to the found target scheduling period.

[0053] In some embodiments, the first network is FlexE, and the second network is DetNet; or

[0054] The first network is DetNet, and the second network is FlexE.

[0055] In a third aspect, an embodiment of the present application provides a network device, including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other via the communication bus;

[0056] Memory for storing computer programs;

[0057] The processor is configured to implement any one of the method steps provided in the first aspect when executing a program stored in the memory.

[0058] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, any one of the method steps provided in the first aspect is implemented.

[0059] In the technical solution provided by the embodiments of the present application, after receiving a message (e.g., a first message) of a target deterministic flow from a first network, a network device can convert the first message into a second message that can be deterministically transmitted in a second network. In this way, in a complex network consisting of multiple networks that implement deterministic transmission, a single network device can complete the conversion of messages of the target deterministic flow between any two networks that implement deterministic transmission, thereby achieving deterministic transmission of messages in the complex network. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] The drawings described herein are used to provide further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute improper limitations on the present application.

[0061] Figure 1 is a schematic diagram of a data frame structure in FlexE;

[0062] FIG2 is a flow chart of a queue periodic scheduling based on CSFQ in DetNet;

[0063] FIG3 is a schematic diagram of the structure of a first type of network consisting of multiple deterministic networks provided in an embodiment of the present application;

[0064] FIG4 is a flow chart of a message forwarding method provided in an embodiment of the present application;

[0065] FIG5 is a schematic diagram of the structure of a second type of network consisting of multiple deterministic networks provided in an embodiment of the present application;

[0066] FIG6 is a schematic diagram of a first flow chart of a message conversion process provided in an embodiment of the present application;

[0067] FIG7 is a schematic diagram of an implementation flow of message conversion provided in an embodiment of the present application;

[0068] FIG8 is a second flow diagram of a message conversion process provided in an embodiment of the present application;

[0069] FIG9 is a schematic diagram of a detailed flow chart of step S43 provided in an embodiment of the present application;

[0070] FIG10 is a signaling diagram of a message forwarding process using the message forwarding method provided in an embodiment of the present application;

[0071] FIG11 is a schematic structural diagram of a message forwarding device provided in an embodiment of the present application;

[0072] FIG12 is a schematic diagram of the structure of a network device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0073] To make the objectives, technical solutions, and advantages of the present invention more clearly understood, the present invention is further described below with reference to the accompanying drawings and examples. It should be understood that the described examples are only some examples of the present invention, not all examples. All other examples derived by persons of ordinary skill in the art based on the examples of the present invention fall within the scope of protection of the present invention.

[0074] After decades of rapid development, the Internet has enabled seamless connections between people, people and things, and things and things, bringing significant convenience to people's lives and work, and having a profound impact. However, scenarios such as smart grids, telemedicine, audio and video entertainment, and industrial remote control require low latency and low jitter, which in turn requires deterministic transmission. Complex scenarios involving multiple services, high traffic volumes, and wide areas also require end-to-end deterministic transmission.

[0075] Currently, many networks implement deterministic transmission, such as FlexE and DetNet. Different networks use different methods to achieve deterministic transmission. The following uses FlexE and DetNet as examples.

[0076] (1) FlexE uses a hard pipe approach to achieve deterministic transmission.

[0077] FlexE is an interface technology that enables service isolation and network slicing in the bearer network. In recent years, FlexE technology has developed rapidly and has been widely adopted by major standards organizations. Based on time slot division and the flexible combination of time slots, FlexE offers data transmission capabilities such as flexible and variable rates at multiple granularities, decoupling from optical transmission capabilities, and enhanced QoS (Quality of Service) for multi-service transport. It meets requirements for on-demand bandwidth allocation, arbitrary bandwidth expansion, service isolation, and deterministic transmission.

[0078] Taking a 100G interface as an example, 20 lanes are defined, enabling 5G granularity slicing of each lane. Within the 100G interface's 66B bitstream, data blocks are grouped into 20 blocks. The FlexE overhead header is inserted at intervals of 1023 x 20 blocks to create a data frame. In the data frame shown in Figure 1, 1023 x 20 data blocks can be transmitted between two overhead headers, in the order in which they are transmitted. Each time slot represents a lane, as shown in Figure 1 through time slot 19. Each time slot transmits one data block. Timeslots with the same number within a data frame are assigned to one user, transmitting a total of 5G data. A user can occupy one or more timeslots, enabling flexible time slot combinations and ultimately deterministic transmission.

[0079] (2) DetNet is based on CSFQ and uses a soft pipe approach to achieve deterministic transmission.

[0080] CSQF is a key technology used by DetNet to achieve end-to-end deterministic transmission in wide area networks. CSQF introduces the concept of periodic forwarding based on traditional IP (Internet Protocol). The corresponding periodic information is encapsulated in SIDs (Segment Identify) such as SRv6 (Segment Routing IPv6, segment routing based on the IPv6 forwarding plane). At the forwarding node, the time is divided into multiple time slices T using a time division method. Messages for a deterministic flow can only be sent within the time slice specified for that deterministic flow. Therefore, the transmission delay jitter within the forwarding node is limited to within one time slice T. Figure 2 shows a schematic diagram of queue periodic scheduling based on CSFQ. The forwarding node is divided into four time slices, namely T0 to T3. A deterministic flow corresponds to time slice T2. In chronological order, the forwarding node receives packets 1 to 3 belonging to the deterministic flow. Packets 1 to 3 are all forwarded within time slice T2. This achieves controllable upper and lower time limits, limiting the delay jitter of the deterministic flow to within one T2, and achieving the goal of deterministic transmission.

[0081] While deterministic transmission can be achieved well within a single network, actual networking is complex and typically consists of multiple networks implementing deterministic transmission, making deterministic transmission impossible. Figure 3 shows a network with FlexE at both ends and DetNet in the middle. End-to-end deterministic transmission is required between them. That is, from the FlexE on the left to the FlexE on the right, end-to-end deterministic transmission must pass through DetNet. Because different networks implementing deterministic transmission use different approaches to achieve deterministic transmission—for example, FlexE uses a hard pipe approach, while DetNet uses a soft pipe approach based on CSFQ—this makes deterministic packet transmission impossible.

[0082] In order to achieve deterministic transmission in complex networking, as shown in Figure 4, an embodiment of the present application provides a message forwarding method, which is applied to a network device, and the network device is respectively connected to a first device in a first network and a second device in a second network. The method includes the following steps.

[0083] Step S41: Receive a first message sent by a first device.

[0084] Step S42: If the first message belongs to the target deterministic flow, the first message is converted into a second message according to the encapsulation format of the deterministic transmission adopted by the second network.

[0085] Step S43: forward the second message to the second device according to the target scheduling period corresponding to the target deterministic flow.

[0086] In the technical solution provided by the embodiments of the present application, after receiving a message (e.g., a first message) of a target deterministic flow from a first network, a network device can convert the first message into a second message that can be deterministically transmitted in a second network. In this way, in a complex network consisting of multiple networks that implement deterministic transmission, a single network device can complete the conversion of messages of the target deterministic flow between any two networks that implement deterministic transmission, thereby achieving deterministic transmission of messages in the complex network.

[0087] In addition, in the technical solution provided in the embodiment of the present application, message conversion and deterministic transmission between two networks are completed through a network device, which will not introduce additional uncertainty factors such as jitter and can well control the end-to-end deterministic indicators.

[0088] In an embodiment of the present application, the first network and the second network are two networks that use different methods to achieve deterministic transmission. For example, the first network is FlexE and the second network is DetNet; or, the first network is DetNet and the second network is FlexE. The network device is a device that connects the first network and the second network, such as ASBR (Autonomous System Boundary Router) 1 and ASBR 2 in the network shown in Figure 5. The network shown in Figure 5 includes three ASs (Autonomous Systems), namely AS1-AS3, and also includes multiple PE (Provider Edge) devices and multiple P (Provider) devices, such as PE1-PE4, P1-P3, etc. Among them, FlexE is deployed in AS1 and AS3, and DetNet is deployed in AS2. The first network can be FlexE deployed in AS1, and the second network can be DetNet deployed in AS2; the first network can also be DetNet deployed in AS2, and the second network can be FlexE deployed in AS3 or FlexE deployed in AS1.

[0089] In step S41, the first network includes one or more devices, such as PE1-PE4, P1-P3, etc. in Figure 5. The first message can be any message transmitted in the first network, and can be any message of a deterministic flow or any message of a non-deterministic flow.

[0090] During communication between a first network and a second network, a device in the first network sends a first message to a network device, and the network device receives the first message.

[0091] In step S42 above, the encapsulation format of deterministic transmission varies across networks. As shown in the message conversion diagram in Figure 6, the encapsulation format for deterministic transmission in FlexE is: PHY (physical layer) header, FlexE header, IP header, and payload. Information such as the scheduling period for deterministic transmission is encapsulated in the FlexE header. The encapsulation format for deterministic transmission in DetNet is: PHY header, IP header, SRv6 header, and payload. Information such as the scheduling period for deterministic transmission is encapsulated in the SRv6 header.

[0092] After receiving the first message, the network device identifies whether the data stream to which the first message belongs is the target deterministic stream. If the data stream to which the first message belongs is the target deterministic stream, the network device strips the first message of the encapsulation for deterministic transmission on the first network, obtaining the original message. The network device then re-encapsulates the original message according to the encapsulation format for deterministic transmission used by the second network, obtaining a second message. This completes the conversion of the first message into the second message. The second message includes the encapsulation for deterministic transmission used by the second network, and the second message can now be deterministically transmitted on the second network.

[0093] As shown in Figure 6, assume that the first network is FlexE and the second network is DetNet. After receiving a packet 1 from a deterministic flow on FlexE, the ASBR strips off the PHY header and FlexE header, which are encapsulated for deterministic transmission in FlexE, to obtain the original IP packet. It then encapsulates the original IP packet with a PHY header and an SRv6 header according to the DetNet encapsulation format for deterministic transmission, resulting in packet 2, which is forwarded in DetNet. At this point, packet 2 can be deterministically transmitted in DetNet. As shown in Figure 6, packet 2 can be deterministically forwarded along the path from node A to node D in the specified time slice.

[0094] If the data flow to which the first message belongs is not a deterministic flow, the network device converts the first message into a second message according to the encapsulation format of the transmission flow in the second network and forwards the second message.

[0095] In step a1, the network device strips the third encapsulation information from the first message to obtain the original message. The third encapsulation information is the encapsulation information of the flow to which the first message belongs, transmitted on the first network, such as the information carried by the PHY header and FlexE header. Because the data flow to which the first message belongs is not a deterministic flow, the third encapsulation information does not carry information such as the scheduling period for deterministic transmission on the first network.

[0096] In step a2, fourth encapsulation information matching the original message is obtained. The fourth encapsulation information is the encapsulation information of the transmission flow on the second network, such as the information carried by the PHY header and SRv6 header. Because the data flow to which the first message belongs is not a deterministic flow, the fourth encapsulation information does not carry information such as the scheduling period for deterministic transmission on the second network.

[0097] Step a3: encapsulate the fourth encapsulation information into the original message according to the encapsulation format of the transmission stream in the second network to obtain a second message.

[0098] Subsequently, the network device may queue and forward the second message.

[0099] In step S43 above, the target scheduling period is the scheduling period corresponding to the target deterministic flow to which the first message belongs in the second network, that is, the scheduling period corresponding to the target deterministic flow to which the second message belongs. The scheduling period is expressed differently in different networks. For example, in FlexE, the scheduling period is expressed as a time slot, as shown in Figure 1, time slots 0 to 19; in DetNet, the scheduling period is expressed as a time slice (also called a scheduling queue), as shown in Figure 2, time slices T0 to T3.

[0100] After receiving the second message, the network device obtains the target scheduling period and forwards the second message when the target scheduling period is reached. For example, as shown in Figure 6, the time slices include T1-T6. Node A forwards the message in time slice T1, node B forwards the message in time slice T3, node C forwards the message in time slice T4, and node D forwards the message in time slice T6.

[0101] In some embodiments, an implementation process of the message conversion shown in FIG. 7 (ie, converting the first message into the second message in the above step S42 according to the encapsulation format of the deterministic transmission adopted by the second network) may include the following steps.

[0102] Step S71 : stripping first encapsulation information of a first message to obtain an original message, where the first encapsulation information is encapsulation information of a transmission target deterministic flow in a first network.

[0103] Step S72: Acquire second encapsulation information that matches the original message, where the second encapsulation information is encapsulation information of the transmission target deterministic flow in the second network.

[0104] Step S73: encapsulate the second encapsulation information into the original message according to the deterministic transmission encapsulation format adopted by the second network to obtain a second message.

[0105] In the technical solution provided by the embodiments of this application, a network device strips the first encapsulation information of a first message and obtains second encapsulation information that matches the original message, thereby converting the first message, which can be deterministically transmitted on the first network, into a second message. Using a single network device, messages of a target deterministic flow can be converted between any two networks that achieve deterministic transmission, thus achieving deterministic message transmission in complex networks.

[0106] In step S71 above, the first encapsulation information is used to transmit the target deterministic flow to which the first message belongs in the first network, that is, it includes information such as the scheduling period for deterministic transmission of the target deterministic flow in the first network. For example, when the first network is FlexE, the first encapsulation information may include the FlexE header and PHY header shown in Figure 6, which carry information such as the scheduling period. In this embodiment of the present application, the network device strips the first encapsulation information of the first message to obtain the original message.

[0107] In step S72 above, the second encapsulation information is used to transmit the target deterministic flow to which the second message belongs in the second network, that is, it includes information such as the scheduling period for deterministic transmission of the target deterministic flow in the second network. For example, when the second network is a DetNet, the second encapsulation information may include the SRv6 header and PHY header carrying information such as the scheduling period in Figure 6. In this embodiment of the present application, the network device obtains the second encapsulation information that matches the original message so that the second network can subsequently deterministically transmit the second message through the second encapsulation information.

[0108] In an embodiment of the present application, the network device can obtain the second encapsulation information in the following manner: the network device pre-stores the correspondence between flow information and encapsulation information, where the flow information can be a flow identifier or a five-tuple, etc.; the network device obtains the target flow information included in the original message; based on the pre-stored correspondence between the flow information and the encapsulation information, the encapsulation information corresponding to the target flow information is determined as the second encapsulation information that matches the original message.

[0109] In the embodiment of the present application, the network device may also obtain the second encapsulation information in other ways, which is not limited to this.

[0110] In step S73, the network device encapsulates the second encapsulation information obtained in step S72 into the original message, obtaining a second message that can be deterministically transmitted in the second network. For example, as shown in FIG6 , the network device encapsulates the SRv6 header and PHY header obtained in step S72 into the original message to obtain a second message, which includes a PHY header, an IP header, an SRv6 header, and a payload.

[0111] In the embodiment of the present application, when the first message and the second message belong to a target deterministic flow, the target scheduling period can be determined in any of the following ways.

[0112] Method 1: Determine the initial scheduling period corresponding to the first encapsulation information based on the pre-stored correspondence between the scheduling period of the first network and the encapsulation information; determine the target scheduling period of the second network corresponding to the initial scheduling period based on the pre-stored correspondence between the scheduling period of the first network and the scheduling period of the second network.

[0113] In the embodiment of the present application, the network device pre-stores the correspondence between the scheduling period of the first network and the encapsulation information, and the correspondence between the scheduling period of the first network and the scheduling period of the second network.

[0114] The network device can determine the scheduling period corresponding to the target deterministic flow in the first network, i.e., the initial scheduling period, based on the first encapsulation information carried in the first message and the pre-stored correspondence between the scheduling period of the first network and the encapsulation information. The network device can then determine the scheduling period corresponding to the target deterministic flow in the second network, i.e., the target scheduling period, based on the initial scheduling period and the pre-stored correspondence between the scheduling period of the first network and the scheduling period of the second network.

[0115] For example, the message conversion diagram shown in Figure 8 shows that the ASBR stores the corresponding relationship between scheduling queues and time slots, such as the mapping relationship between time slot 1, time slot 2, etc. and the scheduling queue in Figure 8. When the ASBR receives a deterministic flow from FlexE, it determines the scheduling queue corresponding to the forwarding time slot of different deterministic flows from FlexE based on the mapping relationship between scheduling queues and time slots, that is, the target scheduling period. As shown in Figure 8, the deterministic flows from FlexE include FlexE1-FlexE3. The ASBR determines the scheduling queue 1 corresponding to the forwarding time slot of FlexE1, the scheduling queue 2 corresponding to the forwarding time slot of FlexE2, and the scheduling queue 3 corresponding to the forwarding time slot of FlexE3. Then, the ASBR forwards the messages in each scheduling queue in the time slice corresponding to the scheduling queue. Among them, the messages stored in the same scheduling queue are called aggregated messages. For non-deterministic flows, they can be forwarded through the Ethernet port.

[0116] In an embodiment of the present application, the network device pre-stores the correspondence between the scheduling period of the first network and the scheduling period of the second network. The pre-stored correspondence between the scheduling period of the first network and the scheduling period of the second network is used to determine the target scheduling period of the second network corresponding to the initial scheduling period, and forward the message to the second network according to the determined target scheduling period. This can realize scheduling period mapping between the first network and the second network, achieve end-to-end resource planning and consistent information transmission, and transmit messages through the mapping of the scheduling periods of the two networks without intermediate information loss or dislocation, thereby realizing unified planning and unified deployment of deterministic transmission resources for the entire network in complex networking.

[0117] Method 2, obtain the target timestamp when the first message is received; determine the scheduling period and period offset corresponding to the target timestamp based on the correspondence between the pre-stored timestamp, scheduling period and period offset corresponding to the target deterministic flow; determine the target scheduling period based on the determined scheduling period and period offset.

[0118] In an embodiment of the present application, the network device pre-stores a correspondence between a timestamp, a scheduling period, and a period offset. The period offset can be determined based on the time it takes the network device to process a message of the target deterministic flow. For example, the period offset is the number of scheduling periods corresponding to the maximum time required for the network device to process a message of the target deterministic flow. The scheduling period included in the above correspondence is the scheduling period corresponding to the timestamp.

[0119] After receiving the first message, the network device may stamp the first message with a target timestamp, which is the time at which the first message was received. The network device then determines the scheduling period and period offset corresponding to the target timestamp based on the correspondence between the target timestamp, a pre-stored timestamp, the scheduling period, and the period offset corresponding to the target deterministic flow. The network device then offsets the scheduling period corresponding to the target timestamp by the period offset corresponding to the target timestamp to obtain the target scheduling period.

[0120] For example, as shown in FIG6 , the deterministic flows in FlexE include FlexE1 to FlexE3, taking FlexE1 and FlexE2 as examples. In node A, the target timestamp of the message in FlexE1 is 2 microseconds, and the target timestamp of the message in FlexE2 is 12 microseconds. The scheduling period includes time slice T1 (0 microseconds to 10 microseconds), time slice T2 (10 microseconds to 20 microseconds), and time slice T3 (20 microseconds to 30 microseconds). 2 microseconds belongs to the 0-10 microsecond period of time slice T1, and 12 microseconds belongs to the 10-20 microsecond period of time slice T2. The period offset corresponding to the message in FlexE1 is 2 scheduling periods, and the period offset corresponding to the message in FlexE2 is 1 scheduling period. Based on the pre-stored correspondence between the timestamp, scheduling period, and period offset corresponding to the deterministic flow, it can be determined that the scheduling period corresponding to the target timestamp of the message in FlexE1 is time slice T1. Combined with the period offset, the target scheduling period is determined to be T1+2=T3. The scheduling period corresponding to the target timestamp of the message in FlexE2 is time slice T2. Based on the corresponding period offset, the target scheduling period is determined to be T2+1=T3.

[0121] Mode 3: determining the target scheduling period corresponding to the second encapsulation information according to a pre-stored correspondence between the scheduling period of the second network and the encapsulation information.

[0122] In the embodiment of the present application, the second encapsulation information includes information such as the scheduling period. After obtaining the second encapsulation information, the network device can find the scheduling period corresponding to the second encapsulation information as the target scheduling period based on the pre-stored correspondence between the scheduling period of the second network and the encapsulation information.

[0123] In some embodiments, the number of target scheduling periods may be one or more.

[0124] When the number of target scheduling cycles is 1, the network device may store the second message in a scheduling queue corresponding to the target scheduling cycle, and forward the message in the scheduling queue when the target scheduling cycle is reached.

[0125] When the number of target scheduling periods is multiple, step S43 may include the following steps, as shown in FIG9 .

[0126] Step S91 : searching for a target scheduling period in which the number of forwarded messages does not reach a preset number according to the arrangement order of the preset multiple target scheduling periods.

[0127] Step S92: When the target scheduling period is found, the second message is forwarded to the device in the second network according to the found target scheduling period.

[0128] In the technical solution provided by the embodiments of the present application, when multiple target scheduling periods are determined, the network device searches sequentially according to the preset order of the target scheduling periods and forwards the second message according to the first target scheduling period found in which the number of forwarded messages does not reach the preset number. The technical solution provided by the embodiments of the present application avoids the problem of forwarding too many or too few messages in a scheduling period, thereby improving message transmission efficiency.

[0129] In the above step S91, the arrangement order of the scheduling cycles can be set according to actual needs. For example, the scheduling cycles can be sorted according to their serial numbers.

[0130] When there are multiple target scheduling periods determined, the network device searches for a target scheduling period in which the number of forwarded messages does not reach the preset number according to the preset arrangement order of the multiple target scheduling periods.

[0131] For example, the second network is DetNet, and the network device determines that the target scheduling period for the second message in the second network is time slice T1, time slice T2, and time slice T3. The corresponding arrangement order is time slice T1, time slice T2, and time slice T3, and the preset number of messages forwarded in time slices T1, time slice T2, and time slice T3 is 3. The network device first checks whether the scheduling queue corresponding to time slice T1 stores 3 messages, in the order of time slice T1, time slice T2, and time slice T3. If the number of forwarded messages stores 2 messages, and 2<3, it indicates that the number of messages forwarded in time slice T1 has not reached 3. Time slice T1 is set as the target scheduling period, and the operation of checking whether the scheduling queue corresponding to the time slice stores 3 messages ends. If the number of forwarded messages stores 3 messages, it indicates that the number of messages forwarded in time slice T1 has reached 3. The network device continues to check whether the scheduling queue corresponding to time slice T2 stores 3 messages, and so on, until the target scheduling period is found.

[0132] In step S92, the network device forwards the second message to the device in the second network according to the target scheduling period in which the number of forwarded messages found in step S91 does not reach the preset number. For example, in step S91, time slice T2 is the target scheduling period in which the number of forwarded messages found does not reach the preset number, and the network device forwards the second message to the device in the second network (here, DetNet) according to time slice T2.

[0133] The following describes in detail the message forwarding method provided in an embodiment of the present application in conjunction with the signaling diagram of message forwarding shown in Figure 10. The first network is FlexE, and the second network is DetNet. The network device includes a logical interface module connected to FlexE (referred to as the FlexE logical interface module), a logical interface module connected to DetNet (referred to as the DetNet logical interface module), and a packet processing engine.

[0134] In step S101, the FlexE logical interface module receives a message (such as a first message) from the FlexE, and delivers it to the FlexE Client after time slot processing. The received message may be transmitted in the form of a 64B / 66B encoded bit stream.

[0135] In step S102, the FlexE Client timestamps the received message and passes it to the packet processing engine. The FlexE Client is a function integrated into the FlexE logical interface module. The FlexE Client timestamps the received message, which can be understood as the FlexE logical interface module timestamping the received message.

[0136] In step S103, the packet processing engine identifies whether the received message (such as the first message) belongs to a deterministic flow.

[0137] In step S104, if the received message belongs to a deterministic flow, the packet processing engine performs deterministic transmission operations on the message, such as queue mapping, multiple transmission selection, and bypass transmission management (Bypass Transmission Management), to obtain a new message (e.g., the second message). The new message includes an SRv6 header and the queue information carried by the SID in the SRv6 header.

[0138] Step S105: The packet processing engine forwards the new message to the corresponding DetNet logical interface module according to the queue information carried by the SID.

[0139] Step S106: The DetNet logic interface module performs deterministic scheduling according to the queue information carried by the SID.

[0140] In the embodiments of the present application, when forwarding messages from DetNet to FlexE, the network devices follow the same processing principles. For example, when forwarding messages from DetNet to FlexE, messages belonging to deterministic flows are prioritized, including: prioritizing deterministic packets, passing them to the DetNet client after queuing, calendar processing, and time slot interleaving. For details, refer to steps S101 to S106 above.

[0141] By applying the technical solutions provided in the embodiments of this application, a single network device achieves the integration of FlexE and DetNet. The network device supports both FlexE and DetNet, enabling interconnection between FlexE and DetNet while also enabling message conversion between the two. This enables deterministic transmission between the various networks in the network. Furthermore, by mapping time slots between FlexE and DetNet, end-to-end deterministic transmission is achieved, facilitating the unified planning of deterministic transmission resources.

[0142] Corresponding to the above-mentioned message forwarding method, an embodiment of the present application further provides a message forwarding device, as shown in FIG11 , which is applied to a network device, the network device being connected to a first device in a first network and a second device in a second network, respectively, and the device comprising:

[0143] The receiving module 111 is configured to receive a first message sent by a first device;

[0144] a conversion module 112 configured to convert the first message into a second message according to an encapsulation format for deterministic transmission adopted by the second network if the first message belongs to a target deterministic flow;

[0145] The forwarding module 113 is configured to forward the second message to the second device according to the target scheduling period corresponding to the target deterministic flow.

[0146] In the technical solution provided by the embodiments of the present application, after receiving a message (e.g., a first message) of a target deterministic flow from a first network, a network device can convert the first message into a second message that can be deterministically transmitted in a second network. In this way, in a complex network consisting of multiple networks that implement deterministic transmission, a single network device can complete the conversion of messages of the target deterministic flow between any two networks that implement deterministic transmission, thereby achieving deterministic transmission of messages in the complex network.

[0147] In some embodiments, the conversion module 112 may include:

[0148] An obtaining submodule, configured to strip first encapsulation information of the first message to obtain an original message, wherein the first encapsulation information is encapsulation information of a transmission target deterministic flow in the first network;

[0149] An acquisition submodule, configured to acquire second encapsulation information matching the original message, the second encapsulation information being encapsulation information of a transmission target deterministic flow in a second network;

[0150] The encapsulation submodule is used to encapsulate the second encapsulation information into the original message according to the encapsulation format of the deterministic transmission adopted by the second network to obtain a second message.

[0151] In some embodiments, the acquisition submodule may be used to:

[0152] Obtain target flow information included in the original message;

[0153] According to the pre-stored correspondence between the flow information and the encapsulation information, the encapsulation information corresponding to the target flow information is determined as the second encapsulation information matching the original message.

[0154] In some embodiments, the message forwarding apparatus may further include: a determination module configured to determine a target scheduling period, specifically configured to:

[0155] Determining an initial scheduling period corresponding to the first encapsulation information according to a pre-stored correspondence between the scheduling period of the first network and the encapsulation information;

[0156] According to the pre-stored correspondence between the scheduling period of the first network and the scheduling period of the second network, a target scheduling period of the second network corresponding to the initial scheduling period is determined.

[0157] In some embodiments, the message forwarding apparatus may further include: a determination module configured to determine a target scheduling period, specifically configured to:

[0158] According to the pre-stored correspondence between the scheduling period of the second network and the encapsulation information, a target scheduling period corresponding to the second encapsulation information is determined.

[0159] In some embodiments, the message forwarding apparatus may further include: a determination module configured to determine a target scheduling period, specifically configured to:

[0160] Get the target timestamp when the first message is received;

[0161] Determine the scheduling period and period offset corresponding to the target timestamp according to the pre-stored correspondence between the timestamp, the scheduling period, and the period offset corresponding to the target deterministic flow;

[0162] A target scheduling period is determined according to the determined scheduling period and period offset.

[0163] In some embodiments, the forwarding module 113 may be specifically configured to:

[0164] When there are multiple target scheduling periods, searching for a target scheduling period in which the number of forwarded messages does not reach the preset number according to the preset order of the multiple target scheduling periods;

[0165] When the target scheduling period is found, the second message is forwarded to the device in the second network according to the found target scheduling period.

[0166] In some embodiments, the first network may be FlexE, and the second network may be DetNet; or,

[0167] The first network may be DetNet, and the second network may be FlexE.

[0168] In the embodiment of the present application, when the first network is FlexE and the second network is DetNet, the receiving module 111 can be understood as a FlexE logical interface module, the conversion module 112 can be understood as a packet processing engine, and the forwarding module 113 can be understood as a DetNet logical interface module. When the first network is DetNet and the second network is FlexE, the receiving module 111 can be understood as a DetNet logical interface module, the conversion module 112 can be understood as a packet processing engine, and the forwarding module 113 can be understood as a FlexE logical interface module.

[0169] For example, the first network is FlexE and the second network is DetNet. In this case, the receiving module 111 receives a message from FlexE, and after time slot processing, timestamps the received message and passes it to the conversion module 112.

[0170] The conversion module 112 identifies whether the received message belongs to a deterministic flow. If so, it performs deterministic transmission operations such as queue mapping, multiple transmission and selective reception, and bypass TM on the message to obtain a new message. The new message is forwarded to the corresponding forwarding module 113 based on the queue information carried by the SID.

[0171] The forwarding module 113 performs deterministic scheduling according to the queue information carried by the SID.

[0172] The embodiment of the present application further provides a network device, as shown in FIG12 , including a processor 121 , a communication interface 122 , a memory 123 , and a communication bus 124 , wherein the processor 121 , the communication interface 122 , and the memory 123 communicate with each other via the communication bus 124 ;

[0173] Memory 123, for storing computer programs;

[0174] The processor 121 is configured to implement any of the above-mentioned message forwarding methods when executing the program stored in the memory 123 .

[0175] The communication bus mentioned in the network device above may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. This communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, the figure shows only one thick line, but this does not mean that there is only one bus or only one type of bus.

[0176] The communication interface is used for communication between the above network devices and other devices.

[0177] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage. Alternatively, the memory may be at least one storage device located away from the processor.

[0178] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.

[0179] In another embodiment provided by the present application, a computer-readable storage medium is further provided, wherein a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, the steps of any of the above-mentioned message forwarding methods are implemented.

[0180] In another embodiment provided by the present application, a computer program product including instructions is also provided, which, when executed on a computer, enables the computer to execute any message forwarding method in the above embodiments.

[0181] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When software is used for implementation, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website, computer, server or data center to another website, computer, server or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrations. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).

[0182] It should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply the existence of any such actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or device comprising the element.

[0183] Each embodiment in this specification is described in a related manner. Similar portions between the various embodiments can be referenced to each other. Each embodiment focuses on the differences from other embodiments. In particular, the device, equipment, and storage medium embodiments are generally similar to the method embodiments, so their descriptions are relatively simple. For related portions, refer to the descriptions of the method embodiments.

[0184] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.

Claims

1. A message forwarding method, characterized in that: Applied to a network device, the network device is connected to a first device in a first network and a second device in a second network respectively, the method comprising: receiving a first message sent by the first device; If the first message belongs to the target deterministic flow, converting the first message into a second message according to the encapsulation format of the deterministic transmission adopted by the second network; Forward the second message to the second device according to the target scheduling period corresponding to the target deterministic flow.

2. The method according to claim 1, characterized in that The step of converting the first message into the second message according to the encapsulation format of the deterministic transmission adopted by the second network includes: Stripping first encapsulation information of the first message to obtain an original message, where the first encapsulation information is encapsulation information for transmitting the target deterministic flow in the first network; Acquire second encapsulation information matching the original message, where the second encapsulation information is encapsulation information for transmitting the target deterministic flow in the second network; According to the encapsulation format of deterministic transmission adopted by the second network, the second encapsulation information is encapsulated into the original message to obtain a second message.

3. The method according to claim 2, characterized in that The step of obtaining second encapsulation information matching the original message includes: Acquire target flow information included in the original message; According to the pre-stored correspondence between the flow information and the encapsulation information, the encapsulation information corresponding to the target flow information is determined as the second encapsulation information matching the original message.

4. The method according to claim 2 or 3, characterized in that: The target scheduling period is determined by the following steps: Determine an initial scheduling period corresponding to the first encapsulation information according to a pre-stored correspondence between a scheduling period of the first network and encapsulation information; According to a pre-stored correspondence between a scheduling period of the first network and a scheduling period of the second network, a target scheduling period of the second network corresponding to the initial scheduling period is determined.

5. The method according to claim 2 or 3, characterized in that: The target scheduling period is determined by the following steps: According to the pre-stored correspondence between the scheduling period of the second network and the encapsulation information, a target scheduling period corresponding to the second encapsulation information is determined.

6. The method according to any one of claims 1 to 3, characterized in that: The target scheduling period is determined by the following steps: Obtaining a target timestamp when the first message is received; Determine the scheduling period and period offset corresponding to the target timestamp according to the pre-stored correspondence between the timestamp, the scheduling period and the period offset corresponding to the target deterministic flow; A target scheduling period is determined according to the determined scheduling period and period offset.

7. The method according to any one of claims 1 to 3, characterized in that: When the number of the target scheduling periods is multiple, the step of forwarding the second message to the device in the second network according to the target scheduling period corresponding to the second message includes: According to the arrangement order of the preset multiple target scheduling periods, searching for a target scheduling period in which the number of forwarded messages does not reach a preset number; When found, the second message is forwarded to the device in the second network according to the found target scheduling period.

8. The method according to any one of claims 1 to 3, characterized in that: The first network is FlexE, and the second network is DetNet; or, The first network is DetNet, and the second network is FlexE.

9. A message forwarding device, characterized in that: Applied to a network device, the network device is connected to a first device in a first network and a second device in a second network respectively, the device comprises: A receiving module, used to receive a first message sent by the first device; a conversion module, configured to convert the first message into a second message according to an encapsulation format of deterministic transmission adopted by the second network if the first message belongs to a target deterministic flow; A forwarding module is used to forward the second message to the second device according to the target scheduling period corresponding to the target deterministic flow.

10. The device according to claim 9, characterized in that The conversion module comprises: An obtaining submodule, configured to strip first encapsulation information of the first message to obtain an original message, wherein the first encapsulation information is encapsulation information for transmitting the target deterministic flow in the first network; An acquisition submodule, used to acquire second encapsulation information matching the original message, where the second encapsulation information is encapsulation information for transmitting the target deterministic flow in the second network; An encapsulation submodule is used to encapsulate the second encapsulation information into the original message according to the encapsulation format of the deterministic transmission adopted by the second network to obtain a second message.

11. The device according to claim 10, characterized in that The acquisition submodule is specifically used for: Acquire target flow information included in the original message; According to the pre-stored correspondence between the flow information and the encapsulation information, the encapsulation information corresponding to the target flow information is determined as the second encapsulation information matching the original message.

12. The device according to claim 10 or 11, characterized in that The device further includes: a determination module, configured to determine a target scheduling period, specifically configured to: Determine an initial scheduling period corresponding to the first encapsulation information according to a pre-stored correspondence between a scheduling period of the first network and encapsulation information; According to a pre-stored correspondence between a scheduling period of the first network and a scheduling period of the second network, a target scheduling period of the second network corresponding to the initial scheduling period is determined.

13. The device according to claim 10 or 11, characterized in that The device further includes: a determination module, configured to determine a target scheduling period, specifically configured to: According to the pre-stored correspondence between the scheduling period of the second network and the encapsulation information, a target scheduling period corresponding to the second encapsulation information is determined.

14. The device according to any one of claims 9 to 11, characterized in that: The device further includes: a determination module, configured to determine a target scheduling period, specifically configured to: Obtaining a target timestamp when the first message is received; Determine the scheduling period and period offset corresponding to the target timestamp according to the pre-stored correspondence between the timestamp, the scheduling period and the period offset corresponding to the target deterministic flow; A target scheduling period is determined according to the determined scheduling period and period offset.

15. The device according to any one of claims 9 to 11, characterized in that: The forwarding module is specifically used for: When there are multiple target scheduling periods, searching for a target scheduling period in which the number of forwarded messages does not reach a preset number according to the preset arrangement order of the multiple target scheduling periods; When found, the second message is forwarded to the device in the second network according to the found target scheduling period.

16. The device according to any one of claims 9 to 11, characterized in that: The first network is FlexE, and the second network is DetNet; or, The first network is DetNet, and the second network is FlexE.

17. A network device, characterized in that: It includes a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other through the communication bus; Memory, used to store computer programs; A processor, for implementing the method steps described in any one of claims 1 to 8 when executing a program stored in a memory.

18. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method steps described in any one of claims 1 to 8 are implemented.

Citation Information

Patent Citations

  • Message forwarding method and device, electronic equipment and storage medium

    CN114615197A

  • Deterministic stitching of deterministic segments across distinct deterministic domains

    US20190097884A1