WO2023123104A1 - 一种报文传输方法及网络设备 - Google Patents
一种报文传输方法及网络设备 Download PDFInfo
- Publication number
- WO2023123104A1 WO2023123104A1 PCT/CN2021/142637 CN2021142637W WO2023123104A1 WO 2023123104 A1 WO2023123104 A1 WO 2023123104A1 CN 2021142637 W CN2021142637 W CN 2021142637W WO 2023123104 A1 WO2023123104 A1 WO 2023123104A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- message
- queue
- flow
- input
- output
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000005540 biological transmission Effects 0.000 title claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 195
- 238000005538 encapsulation Methods 0.000 claims abstract description 34
- 230000008569 process Effects 0.000 claims description 18
- 239000000872 buffer Substances 0.000 claims description 13
- 230000000737 periodic effect Effects 0.000 claims description 5
- 238000004148 unit process Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 21
- 238000004590 computer program Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009789 rate limiting process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
Definitions
- the present application relates to the technical field of communications, and in particular to a message transmission method and network equipment.
- DetNet Deterministic Network, deterministic network
- DetNet can provide deterministic service functions for bearing services in a network domain, and these deterministic service functions can include delay, packet loss rate, etc.
- TSN Time Sensitive Networking, time-sensitive network
- CQF Cyclic Queuing and Forwarding, periodic queuing and forwarding
- a service flow with deterministic service functions (such as delay, packet loss rate, etc.) transmitted in a deterministic network is called a deterministic flow.
- deterministic service functions such as delay, packet loss rate, etc.
- the best-effort forwarding mode may be used. Therefore, other service flows different from the deterministic flow are called best-effort flows.
- the present application provides a message transmission method, which is applied to a network device, and the network device includes at least an output forwarding processing unit and an output interface unit, and the method includes:
- the output and forwarding processing unit obtains the message, if the message belongs to a deterministic flow, store the message in a deterministic flow input queue; for each message in the deterministic flow input queue, Determine the encapsulation information corresponding to the message, where the encapsulation information includes at least CQ queue information, encapsulate the message based on the encapsulation information, and store the encapsulated message in a deterministic flow output queue;
- the output interface unit obtains a message from the deterministic flow output queue, and stores the message in a CQ queue corresponding to the CQ queue information based on the CQ queue information corresponding to the message;
- the output interface unit determines a target CQ queue corresponding to the current scheduling period, and sends messages in the target CQ queue to the external device within the current scheduling period.
- the present application provides a network device, including an output forwarding processing unit and an output interface unit;
- the output forwarding processing unit is configured to store the message in the deterministic flow input queue if the message belongs to the deterministic flow after obtaining the message; for each of the deterministic flow input queues message, determining the encapsulation information corresponding to the message, the encapsulation information at least including CQ queue information, encapsulating the message based on the encapsulation information, and storing the encapsulated message in a deterministic flow output queue;
- the output interface unit is configured to obtain a message from the deterministic flow output queue, and based on the CQ queue information corresponding to the message, store the message in the CQ queue corresponding to the CQ queue information;
- the output interface unit is configured to determine a target CQ queue corresponding to the current scheduling period, and send messages in the target CQ queue to an external device within the current scheduling period.
- Fig. 1 is a schematic diagram of the working principle of CSQF in an embodiment of the present application
- Fig. 2 is the comparative schematic diagram of CSQF and CQF in one embodiment of the present application
- FIG. 3 is a schematic structural diagram of a network device in an implementation manner of the present application.
- 4A and 4B are schematic structural diagrams of a network device in an embodiment of the present application.
- FIG. 5A is a schematic structural diagram of an input interface unit in an embodiment of the present application.
- FIG. 5B is a schematic structural diagram of an input forwarding processing unit in an embodiment of the present application.
- FIG. 5C is a schematic structural diagram of an output forwarding processing unit in an embodiment of the present application.
- FIG. 5D is a schematic structural diagram of an output interface unit in an embodiment of the present application.
- Fig. 6 is a schematic flowchart of a message transmission method in an implementation manner of the present application.
- first, second, and third may be used in the embodiment of the present application to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of the present application, first information may also be called second information, and similarly, second information may also be called first information. Depending on the context, furthermore, the use of the word “if” could be interpreted as “at” or “when” or "in response to a determination.”
- TSN is a deterministic network based on a local area network.
- CQF is used to ensure deterministic transmission at the forwarding level, thereby providing deterministic service functions for bearer services.
- CQF is just an example of providing deterministic services, and other methods can also be used to ensure deterministic transmission at the forwarding level, which is not limited.
- CQF is a technology close to CSQF, and this embodiment takes CQF as an example.
- the basic working principle of CQF is: the outbound interface of each network device is associated with two queues, and the time domain is divided into two cycles, and the two queues send and receive alternately in these two cycles.
- these two queues are recorded as queue Q1 and queue Q2, and these two cycles are recorded as T0 cycle and T1 cycle.
- the queue Q1 sends and the queue Q2 receives (the receiving of the queue Q1 is turned off, The receiving of queue Q2 is turned on, the sending of queue Q1 is turned on, and the sending of queue Q2 is turned off), in the T1 cycle, the queue Q1 receives, the queue Q2 sends, and so on, so that the queue Q1 and the queue Q2 can alternate according to the odd-even cycle conduct.
- the CQF requires each hop to transmit a cycle, the message is received in a certain cycle of a network device, sent out in the next cycle, and the next network device receives the message in the next cycle, and so on.
- the transmission delay (end-to-end transmission delay) of the message on the path is definite
- the minimum value of the transmission delay is (H-1)*T.
- the maximum value of the delay is (H+1)*T
- H is the number of hops, indicating the total number of network devices passing through the path.
- CQF is a technology based on LAN, it cannot be realized in WAN.
- CSQF Car Specified Queuing and Forwarding, specified cycle queuing and forwarding
- CSQF combines SR (Segment Routing, segment routing) ) application or SRv6 application to realize deterministic transmission of wide area network.
- the SR may be an SR based on MPLS (Multi-Protocol Label Switching, Multi-Protocol Label Switching), and the SRv6 may be an SRv6 based on IPV6.
- the controller 10 is used to collect information of each network device, such as transmission capability, interface, number of cycles, maximum jitter within a node, and the like. For the deterministic transmission requirements between the sender and the receiver, after calculation, the controller 10 finds that there are enough transmission resources, then allocates the transmission path, and sends the information of the transmission path to the edge node, as shown in Fig. 1 As shown, the transmission path between the sender and the receiver may be: network device 11-network device 12-network device 13-network device 14, and the edge node (ie the first network device) of the transmission path is network device 11.
- the information of each network device in the transmission path is added to the message, such as the node identifier of the network device in the path (such as the SID (Segment identifier, SID) of SRv6 Locator (position) in the segment identifier), the sending interface of the network device, and the cycle that needs to be sent in the network device.
- the network device can retrieve the corresponding interface and cycle information, and then store the message in a queue corresponding to the cycle.
- the messages in each queue can be sent according to a certain cycle, that is, each queue corresponds to a cycle, and the messages in the queue can be sent within this cycle. Due to the cycle of the network device Carry out in a fixed mode, therefore, in the network equipment 11, the designated cycle of each message of the sender is constant, the cycle of sending the message from the sender to the receiver is determined in each network device, therefore, the message The entire delay of the text is also determined, so as to achieve deterministic transmission.
- CSQF needs at least 3 queues (such as 3, 6, 8, 9, 10, 12, 15 queues, etc., followed by 15 queues as an example), only one queue is in the sending state in each cycle, while the other queues are in the receiving state.
- CQF the cycle cycle of each network device is required to be strictly synchronized, including the need for phase synchronization.
- CSQF only the frequency synchronization of the cycle cycle is required, and phase synchronization is not required.
- the transmission delay of a certain hop cannot be within one cycle. In the case of completion, you can specify the queue for the next periodic transmission, in this way to adapt to the transmission delay of different network devices in the wide area network.
- FIG. 2 it is a schematic diagram of a comparison between CSQF and CQF.
- CQF for the transmission process of a certain message, the network device 11 sends the message in cycle 1, and the network device 12 receives the message in cycle 1. And the network device 12 sends the message in cycle 2, the network device 13 receives the message in cycle 2, and the network device 13 sends the message in cycle 3, the network device 14 receives the message in cycle 3, and the network device 14 This message is sent in cycle 4.
- network device 11 sends the message in cycle 1
- network device 12 receives the message in cycle 1 or cycle 2
- the network The device 12 sends the message in cycle 3
- the network device 13 receives the message in cycle 3
- the network device 13 sends the message in cycle 4
- the network device 14 receives the message in cycle 4 or cycle 5
- the network device 14 Send the message in cycle 6.
- each network device divides the time slice with a fixed length as the period, and performs unified traffic scheduling for the deterministic service flow, so that it can Forwarding within the time slice.
- the sending time is limited to a specific time slice, so that the delay and jitter of the message on the network device are determined. No matter how many network devices are added, the jitter of the previous network device It will not increase the jitter delay of the next network device. Of course, when the total number of network devices increases, the total packet forwarding delay will also increase.
- the message is only received and sent within a certain time slice, that is, the jitter range of the message on the last network device is limited to a certain time slice.
- the embodiment of the present application proposes a wide-area deterministic network transmission method based on CSQF, which can be applied to network devices, which are also called network nodes or forwarding nodes.
- the network device may include an input interface unit 31 , an input forwarding processing unit 32 , an internal switching unit 33 , an output forwarding processing unit 34 , and an output interface unit 35 .
- the input interface unit 31 can implement deterministic flow reception auxiliary processing, and the functions of the input interface unit 31 can include but not limited to: identify deterministic flow; auxiliary input forwarding processing unit 32 implements traffic classification, so that the deterministic flow enters the deterministic flow Input queue; timestamp function; traffic scheduling function.
- the functions of the input forwarding processing unit 32 may include but are not limited to: the ability to realize the traffic classification function, that is, to distinguish between packets belonging to deterministic flows and packets belonging to best-effort flows, and for packets belonging to deterministic flows, The packet is stored in the deterministic flow input queue, and for the packets belonging to the best-effort flow, the packet is stored in the best-effort flow input queue.
- the priority scheduling function can be implemented, that is, the packets in the deterministic flow input queue are processed first, and the packets in the best-effort flow input queue are processed after the packets in the deterministic flow input queue are processed.
- the input channel processing function of deterministic flow that is, separate the transmission channel of deterministic flow from the transmission channel of best-effort flow, send the message of deterministic flow through the transmission channel of deterministic flow, and transmit the transmission channel of best-effort flow
- the channel sends the packets of the best-effort flow.
- the function of the internal switching unit 33 is to ensure the high-priority channel of the deterministic flow. After the sending is completed, the packet of the best effort flow is sent to the output forwarding processing unit 34 .
- the internal switching unit 33 may include a high-priority switching channel and a normal priority switching channel, the internal switching unit 33 may send a message of a deterministic flow through the high-priority switching channel, and the internal switching unit 33 may switch through the normal priority The channel sends best-effort packets.
- the functions of the output forwarding processing unit 34 may include but not limited to: be able to implement a best-effort output pipeline processing function, that is, process packets of a best-effort flow.
- HQOS scheduling can be performed on best-effort flows, that is, HQOS scheduling is performed on packets of best-effort flows, but HQOS scheduling is not performed on packets of deterministic flows.
- the rate limiting function of the best-effort flow can be realized, that is, the rate-limiting process is performed on the packets of the best-effort flow, but the rate-limiting processing of the packets of the deterministic flow is not performed. It can realize the deterministic flow output pipeline processing function, that is, process the packets of the deterministic flow.
- the functions of the output interface unit 35 may include, but are not limited to: being able to implement a best-effort buffer queue, and store packets of a best-effort flow through the best-effort buffer queue.
- the back pressure function of the best-effort buffer queue can be realized. For example, when the number of packets in the best-effort buffer queue reaches the threshold value, the output forwarding processing unit 34 is controlled to no longer store the packets of the best-effort flow in the Best effort cache queue.
- the CSQF queue that can realize deterministic flow stores packets of deterministic flow through the CSQF queue.
- the combined scheduling of deterministic flows and best-effort flows can be realized, that is, packets of deterministic flows and packets of best-effort flows can be scheduled. For example, packets of a deterministic flow are sent first, and packets of a best-effort flow are sent later.
- the CSQF queue can include SQ (Sending Queue, sending queue), RQ (Receiving Queue, receiving queue) and TQ (Tolerating Queue, tolerance queue), SQ is the queue being sent in CSQF, RQ It is the receiving queue in CSQF. Due to jitter and other reasons, when the received packets cannot enter the RQ normally, such packets enter the TQ. In this embodiment, SQ, RQ and TQ are called CQ (Cyclic Queuing, periodic queue) queues. To sum up, the output interface unit 35 can realize the CQ queue of the deterministic flow, and store the packets of the deterministic flow through the CQ queue.
- the input interface unit 31 can be realized by FPGA (Field Programmable Gate Array, Field Programmable Logic Gate Array), and the input forwarding processing unit 32 can be realized by NP (Network Processor, Network Processor). Processor) implementation, for the convenience of distinguishing, this NP is called Ingress NP (entry NP), the internal switching unit 33 can be realized through the switching network board (fabric), and the output forwarding processing unit 34 can be realized through NP, for the convenience of distinguishing, the This NP is called Egress NP (exit NP), and the output interface unit 35 can be realized by FPGA.
- FPGA Field Programmable Gate Array
- NP Network Processor
- Two channels are created between the input interface unit 31 and the input forwarding processing unit 32, that is, two channels (channels) are created in the physical interface between the input interface unit 31 and the input forwarding processing unit 32.
- the two channels are denoted as the third channel and the fourth channel.
- the third channel is used to transmit packets belonging to the deterministic flow
- the fourth channel is used to transmit packets belonging to the best-effort flow.
- Two passages are created between the output forwarding processing unit 34 and the output interface unit 35, that is, two passages (channels) are created in the physical interface between the output forwarding processing unit 34 and the output interface unit 35.
- these The two channels are denoted as the first channel and the second channel.
- the first channel and the second channel are created on the same Interlaken physical interface.
- the first channel is used to transmit packets belonging to the deterministic flow
- the second channel is used to transmit packets belonging to the best-effort flow.
- the input interface unit 31 and the input forwarding processing unit 32 can be realized by the same device, for example, the input interface unit 31 and the input forwarding processing unit 32 can be realized simultaneously by Ingress NP , the internal switching unit 33 can be realized by a switching fabric board, and the output forwarding processing unit 34 and the output interface unit 35 can be realized by the same device, for example, the output forwarding processing unit 34 and the output interface unit 35 can be realized simultaneously through the Egress NP.
- FIG. 4A and Fig. 4B are only two examples, and there is no limitation on the implementation of the input interface unit 31, input forwarding processing unit 32, internal switching unit 33, output forwarding processing unit 34, and output interface unit 35, as long as it can realize The functions of these units are enough, and the following description will be made by taking FIG. 4A as an example.
- the functions of the input interface unit 31 , the input forwarding processing unit 32 , the internal switching unit 33 , the output forwarding processing unit 34 , and the output interface unit 35 will be described below in conjunction with specific embodiments.
- the input interface unit 31 After receiving a packet from an external device, the input interface unit 31 determines that the packet belongs to a deterministic flow or a best-effort flow. Wherein, if the packet belongs to the deterministic flow, the packet is stored in the deterministic flow output queue, and if the packet belongs to the best-effort flow, the packet is stored in the best-effort flow output queue. On this basis, the input interface unit 31 sends the packets in the deterministic flow output queue to the input forwarding processing unit 32 through the third channel. The input interface unit 31 sends the packets in the best-effort flow output queue to the input forwarding processing unit 32 through the fourth channel.
- the input interface unit 31 After the input interface unit 31 receives the packet from the external device, it parses out the flow characteristic from the packet; if the flow characteristic matches the deterministic flow characteristic in the configured ACL, then it is determined that the packet belongs to Deterministic flow. If the flow characteristics do not match the deterministic flow characteristics in the ACL, the packet is determined to belong to the best-effort flow.
- the ACL may include at least one deterministic flow characteristic.
- the input interface unit 31 can preferentially obtain the message from the deterministic flow output queue, and send the obtained message to the input forwarding processing unit 32 through the third channel; all messages in the deterministic flow output queue After the acquisition is completed, the input interface unit 31 acquires the packet from the best-effort flow output queue, and sends the acquired packet to the input forwarding processing unit 32 through the fourth channel.
- input interface unit 31 can comprise Ethernet interface controller 311, receiving buffer 312, deterministic flow ACL (Access Control Lists, access control list) unit 313, control logic Unit 314, deterministic stream output queue 315, best effort stream output queue 316, and sending DMA (Direct Memory Access, direct memory access) 317.
- Ethernet interface controller 311 receiving buffer 312, deterministic flow ACL (Access Control Lists, access control list) unit 313, control logic Unit 314, deterministic stream output queue 315, best effort stream output queue 316, and sending DMA (Direct Memory Access, direct memory access) 317.
- DMA Direct Memory Access, direct memory access
- the Ethernet interface controller 311 receives the message from the external device through the Ethernet interface, and sends the message to the receiving buffer 312, and the receiving buffer 312 receives and buffers the message.
- the deterministic flow ACL unit 313 is used to obtain the ACL for the deterministic flow, for example, the upper layer application can send the ACL for the deterministic flow to the deterministic flow ACL unit 313, and the ACL can include at least one characteristic of the deterministic flow , a deterministic flow can be identified based on the ACL.
- the deterministic flow characteristic may be a destination IP address, indicating that the packet corresponding to the destination IP address belongs to a deterministic flow.
- the deterministic flow feature may be a destination IP network segment, indicating that the packet corresponding to this IP network segment belongs to a deterministic flow.
- the deterministic flow ACL unit 313 may also store the ACL, so that the control logic unit 314 can query the ACL from the deterministic flow ACL unit 313 .
- control logic unit 314 can obtain the message from the receiving buffer 312, and parse out the flow characteristic (ie, the keyword required by the ACL) from the message. If the flow signature matches any deterministic flow signature in the ACL, the packet can be determined to belong to a deterministic flow; if the flow signature does not match any deterministic flow signature in the ACL, the packet can be determined to be Belongs to best effort flow.
- the flow characteristic ie, the keyword required by the ACL
- the control logic unit 314 can parse the destination IP address from the packet, and if the destination IP address of the packet is the same as a destination IP address in the ACL, then It can be determined that the packet belongs to a deterministic flow, and if the destination IP address in the packet is different from all destination IP addresses in the ACL, it can be determined that the packet belongs to a best-effort flow.
- the control logic unit 314 can add auxiliary information such as a time stamp at the head of the message, and store the message in the deterministic flow output queue 315, and the time stamp is used to indicate that the Ethernet interface control The time when the device 311 receives the message from the external device. If it is determined that the packet belongs to the best-effort flow, the control logic unit 314 stores the packet in the best-effort flow output queue 316 .
- the packet can be stored in the deterministic flow output queue 315, that is, the deterministic flow output queue 315 can include multiple packets belonging to a deterministic flow.
- the packet may be stored in the best-effort flow output queue 316, that is, the best-effort flow output queue 316 may include multiple packets belonging to the best-effort flow.
- the sending DMA 317 can read the message from the deterministic flow output queue 315 , and send the message in the deterministic flow output queue 315 to the input forwarding processing unit 32 through the third channel.
- the sending DMA 317 can read packets from the best-effort flow output queue 316, and send the packets in the best-effort flow output queue 316 to the input forwarding processing unit 32 through the fourth channel.
- the sending DMA 317 may preferentially read packets from the deterministic flow output queue 315 and send the packets to the input forwarding processing unit 32 through the third channel. After all the packets in the deterministic flow output queue 315 are sent, the sending DMA 317 reads the packets from the best-effort flow output queue 316, and sends the packets to the input forwarding processing unit 32 through the fourth channel.
- the sending DMA 317 may read some packets from the deterministic flow output queue 315 and send the packets to the input forwarding processing unit 32 through the third channel. Then, the sending DMA 317 reads some packets from the best-effort flow output queue 316 , and sends the packets to the input forwarding processing unit 32 through the fourth channel. Then, the sending DMA 317 continues to read some messages from the deterministic flow output queue 315 , and sends the messages to the input forwarding processing unit 32 through the third channel. By analogy, until the packets in the deterministic flow output queue 315 and the best effort flow output queue 316 have been sent.
- the message is stored in the deterministic flow input queue; if the message belongs to the best effort flow, the message is stored to the best effort stream input queue.
- the input forwarding processing unit 32 may determine that the packet belongs to a deterministic flow.
- the input forwarding processing unit 32 obtains the packet from the fourth channel, it may determine that the packet belongs to the best-effort flow.
- the queue priority corresponding to the deterministic flow input queue is higher than the queue priority corresponding to the best-effort flow input queue, so that the input forwarding processing unit 32 preferentially processes the packets in the deterministic flow input queue.
- the input forwarding processing unit 32 processes the message in the deterministic flow input queue, if the message includes the CQ queue indication information, then determine the CQ queue corresponding to the CQ queue indication information; otherwise, based on the corresponding CQ queue of the message, The timestamp determines the CQ queue corresponding to the packet. On this basis, the CQ queue information corresponding to the CQ queue is added to the message, and the message is sent to the internal switching unit 33 .
- the input forwarding processing unit 32 can query the outgoing interface based on the forwarding information corresponding to the message, and determine a plurality of CQ queues corresponding to the outgoing interface, each CQ queue Corresponding to a scheduling cycle; based on the time stamp corresponding to the message, select the scheduling cycle corresponding to the time stamp from all scheduling cycles, and determine the CQ queue corresponding to the scheduling cycle.
- the input forwarding processing unit 32 When the input forwarding processing unit 32 sends the packets in the deterministic flow input queue to the internal switching unit 33 , it adds a high-priority mark to the packets, and sends the high-priority packets to the internal switching unit 33 .
- the input forwarding processing unit 32 sends the packets in the best-effort flow input queue to the internal switching unit 33 , it adds a low priority mark to the packets, and sends the low priority packets to the internal switching unit 33 .
- the input forwarding processing unit 32 may include a traffic classification unit 321, a deterministic flow input queue 322, a best effort flow input queue 323, a pipeline scheduling unit 324, a determination Sexual flow input pipeline processing unit 325.
- the traffic classification unit 321 when the traffic classification unit 321 obtains a packet from the third channel, it determines that the packet belongs to a deterministic flow, and stores the packet in the deterministic flow input queue 322 .
- the traffic classification unit 321 obtains the packet from the fourth channel, it determines that the packet belongs to the best-effort flow, and stores the packet in the best-effort flow input queue 323 .
- the input forwarding processing unit 32 can support multiple physical queues, and the priorities of different physical queues can be different.
- the physical queue enters queue 323 as a best effort flow.
- the queue priority corresponding to the deterministic flow input queue 322 can be higher than the best-effort
- the queue priority corresponding to the flow input queue 323 is used to ensure that the packets in the deterministic flow input queue 322 are preferentially processed, that is, the packets belonging to the deterministic flow are preferentially processed.
- the pipeline scheduling unit 324 can forward the packets in the deterministic flow input queue 322, and forward the packets in the best-effort flow input queue 323.
- the pipeline scheduling The unit 324 may be a PMU (Processor Management Unit, processor management unit), that is, the PMU forwards the message, and there is no limitation on the message forwarding process.
- PMU Processor Management Unit, processor management unit
- the pipeline scheduling unit 324 preferentially forwards the packets in the deterministic flow input queue 322. After the packets in the deterministic flow input queue 322 are processed, the pipeline scheduling unit 324 forwards the packets in the best effort flow input queue 323 .
- the pipeline scheduling unit 324 can allocate the message to the forwarding pipeline (allocate processor resources to perform corresponding pipeline processing), and there is no limitation on the pipeline processing process.
- the deterministic flow input pipeline processing unit 325 is used to perform deterministic forwarding processing, that is, on the basis of conventional forwarding processing (the forwarding processing implemented by the pipeline scheduling unit 324 is called conventional forwarding processing), the deterministic flow
- the input pipeline processing unit 325 implements deterministic-related forwarding processing.
- the message does not include the CQ queue indication information (CQ The queue indication information needs to be added in the message by the edge node), therefore, the time stamp can be parsed from the message (added to the message by the input interface unit 31, indicating that the network device receives the time stamp of the message) , and determine the CQ queue corresponding to the packet based on the timestamp.
- CQ CQ queue indication information
- the forwarding table item (used to record the correspondence between the forwarding information and the outgoing interface) can be queried based on the forwarding information (such as the destination IP address) corresponding to the message to obtain The outgoing interface corresponding to the forwarding information. Since each outgoing interface of a network device can correspond to multiple CQ queues, it means that the packets in these CQ queues can be forwarded through this outgoing interface. Therefore, after obtaining the outgoing interface corresponding to the forwarding information, it can be determined that the outgoing interface corresponds to Multiple CQ queues.
- the CQ queue For each CQ queue, the CQ queue can correspond to a scheduling period, indicating that the message in the CQ queue needs to be sent within the scheduling period. On this basis, based on the timestamp corresponding to the message, it can Select the scheduling period corresponding to the timestamp, that is, the timestamp can be located in the scheduling period. Then, the CQ queue corresponding to the scheduling period is determined, and the CQ queue is also the CQ queue corresponding to the message. In the subsequent process, the message needs to be added to the CQ queue.
- a time slot table may also be obtained, and the time slot table includes a mapping relationship between the scheduling period and the CQ queue.
- the time slot table is queried through the scheduling period, and the CQ queue corresponding to the scheduling period can be obtained.
- the deterministic flow input pipeline processing unit 325 can obtain the CQ queue corresponding to the message, and add the CQ queue information corresponding to the CQ queue, such as the queue identifier, to the message.
- the edge nodes it is also possible to determine the CQ queues of the packets in each intermediate node (such as the network device 12, the network device 13, the network device 14, etc.). After obtaining the CQ queue of the message at each intermediate node, you can add CQ queue indication information in the message.
- the CQ queue indication information includes the CQ queue information corresponding to the message at each intermediate node, such as the message corresponding to the network device 12
- the CQ queue information of the CQ queue of the network device 13 the CQ queue information of the CQ queue corresponding to the network device 13, and the CQ queue information of the CQ queue corresponding to the network device 14.
- the text may include CQ queue indication information (the CQ queue indication information is added by the edge node in the message, for example, the CQ queue indication information may be carried in the SID of SRv6, of course, this is only an example), therefore, you can get from this
- the CQ queue indication information is parsed out from the message, and the CQ queue corresponding to the CQ queue indication information is determined.
- the CQ queue indication information can include the CQ queue information of the CQ queue corresponding to the message in the network device 12, therefore, the CQ queue corresponding to the CQ queue information can be directly determined, and this CQ queue is the CQ queue.
- the CQ queue corresponding to the message In the subsequent process, the message needs to be added to the CQ queue.
- the deterministic flow input pipeline processing unit 325 can obtain the CQ queue corresponding to the message, and add the CQ queue information corresponding to the CQ queue, such as the queue identifier, to the message.
- the message in the deterministic flow input queue 322 after being processed by the pipeline scheduling unit 324 and the deterministic flow input pipeline processing unit 325, the message can be sent to the internal switching unit 33, and the message When the message is sent to the internal switching unit 33, a high-priority mark can be added to the message, and the message with the high-priority mark is sent to the internal switching unit 33.
- the message in the best-effort flow input queue 323 after being processed by the pipeline scheduling unit 324, the message can be sent to the internal switching unit 33, and when the message is sent to the internal switching unit 33, the message can be Add a low-priority mark, and send the low-priority mark message to the internal switching unit 33.
- the internal switching unit 33 After the internal switching unit 33 receives a message with a high priority mark (that is, a message belonging to a deterministic flow), it sends the message to the output forwarding processing unit 34 based on the high priority mark. After the priority-marked packets (that is, the packets belonging to the best-effort flow), the packets are sent to the output forwarding processing unit 34 based on the low-priority mark.
- a high priority mark that is, a message belonging to a deterministic flow
- the packets After the priority-marked packets (that is, the packets belonging to the best-effort flow), the packets are sent to the output forwarding processing unit 34 based on the low-priority mark.
- the internal switching unit 33 preferentially sends the message of the high-priority mark to the output forwarding processing unit 34, and after the message sending of the high-priority mark is completed, the internal switching unit 33 before sending the low-priority marked packet to the output forwarding processing unit 34.
- the output forwarding processing unit 34 After the output forwarding processing unit 34 obtains the message, if the message belongs to the deterministic flow, the message can be stored in the deterministic flow input queue; if the message belongs to the best-effort flow, the message can be The text is stored in the best-effort flow input queue. For each message in the deterministic flow input queue, the output forwarding processing unit 34 can determine the encapsulation information corresponding to the message, the encapsulation information at least includes CQ queue information, and encapsulate the message based on the encapsulation information, and encapsulate The final packets are stored in the deterministic flow output queue.
- the output forwarding processing unit 34 may perform HQOS scheduling on the packet, and store the HQOS-scheduled packet in the best-effort flow output queue.
- the output forwarding processing unit 34 may send the packets in the best-effort flow output queue to the output interface unit 35 through the second channel.
- FIG. 5C it is a schematic structural diagram of the output forwarding processing unit 34, which may include a traffic classification unit 341, a deterministic flow input queue 342, a best-effort flow input queue 343, a pipeline scheduling unit 344, and a deterministic flow input pipeline processing unit. 345 .
- the internal switching unit 33 may include a high-priority switching channel and a normal priority switching channel, and the internal switching unit 33 may send a packet of a deterministic flow through a high-priority switching channel, and send a best-effort message through a normal priority switching channel. flow of messages.
- the traffic classification unit 341 obtains a packet from the high-priority switching channel, it determines that the packet belongs to a deterministic flow, and stores the packet in the deterministic flow input queue 342 .
- the traffic classification unit 341 obtains a packet from the common priority switching channel, it determines that the packet belongs to the best-effort flow, and stores the packet in the best-effort flow input queue 343 .
- the output forwarding processing unit 34 can support multiple physical queues, and the priorities of different physical queues can be different.
- the queue enters queue 343 as a best effort flow.
- the queue priority corresponding to the deterministic flow input queue 342 can be higher than the best-effort
- the queue priority corresponding to the flow input queue 343 is used to ensure that the packets in the deterministic flow input queue 342 are preferentially processed, that is, the packets belonging to the deterministic flow are preferentially processed.
- the pipeline scheduling unit 344 forwards the packets in the deterministic flow input queue 342 and forwards the packets in the best-effort flow input queue 343 , and there is no restriction on the packet forwarding process. Since the queue priority corresponding to the deterministic flow input queue 342 is higher than the queue priority corresponding to the best-effort flow input queue 343, the pipeline scheduling unit 344 preferentially forwards the packets in the deterministic flow input queue 342. After the packets in the deterministic flow input queue 342 are processed, the pipeline scheduling unit 344 forwards the packets in the best effort flow input queue 343 .
- the deterministic stream input pipeline processing unit 345 is used to perform deterministic forwarding processing, that is, on the basis of conventional forwarding processing (the forwarding processing implemented by the pipeline scheduling unit 344 is called conventional forwarding processing), the deterministic stream
- the input pipeline processing unit 345 implements deterministic-related forwarding processing.
- the deterministic flow input pipeline processing unit 345 can parse out the CQ queue information (added in the message by the input forwarding processing unit 32) from the message, And determine the CQ queue information as the encapsulation information corresponding to the message.
- the above is just an example of the encapsulation information, and there is no limit to the encapsulation information.
- the MAC address of the interface and the MAC address of the next-hop network device are also used as encapsulation information.
- the deterministic stream input pipeline processing unit 345 can encapsulate the message based on the encapsulation information, for example, encapsulating CQ queue information and other content in the outer layer of the message, and storing the encapsulated message in Deterministic streaming output queue 348 .
- the deterministic flow input pipeline processing unit 345 can also bypass the HQOS scheduling unit 347 implemented for the best-effort flow after encapsulating the packet, that is, it is not necessary to use the HQOS scheduling unit 347 to input the deterministic flow into the queue 342
- the packets in the deterministic flow input queue 342 are scheduled by HQOS, and the packets in the deterministic flow input queue 342 are not subjected to HQOS scheduling, so they will not be affected by best effort scheduling, so that the packets in the deterministic flow input queue 342 can be quickly forwarded .
- the best-effort stream input pipeline processing unit 346 is configured to perform forwarding processing related to best-effort, that is, implement forwarding processing related to best-effort on the basis of conventional forwarding processing. For example, for each message in the best-effort flow input queue 343, the best-effort flow input pipeline processing unit 346 determines the encapsulation information corresponding to the message, such as the MAC address of the outgoing interface of the network device, the next hop The MAC address of the network device, etc., and encapsulate the message based on the encapsulation information, for example, encapsulate the encapsulation information on the outer layer of the message, and send the encapsulated message to the HQOS scheduling unit 347.
- the encapsulation information corresponding to the message such as the MAC address of the outgoing interface of the network device, the next hop The MAC address of the network device, etc.
- the HQOS scheduling unit 347 is used to perform HQOS scheduling for each message in the best-effort flow input queue 343. There is no restriction on the HQOS scheduling process. After the HQOS scheduling process of the message ends, the HQOS scheduling unit 347 can The message is stored in the best effort flow output queue 349 .
- the sending DMA 340 can read the message from the deterministic flow output queue 348 , and send the message in the deterministic flow output queue 348 to the output interface unit 35 through the first channel.
- the sending DMA 340 can read packets from the best effort output queue 349, and send the packets in the best effort output queue 349 to the output interface unit 35 through the second channel. Since the packets in the deterministic flow output queue 348 and the packets in the best-effort flow output queue 349 are transmitted through different channels, when the output interface unit 35 is congested, only the best-effort flow can be back-pressed.
- the transmission channel, that is, the second channel, and the transmission channel that does not back pressure the deterministic flow, that is, the first channel thus providing strong support for latency determinism.
- the sending DMA 340 can preferentially read the message from the deterministic flow output queue 348, and send the message to the output interface unit 35 through the first channel, and all the messages in the deterministic flow output queue 348 have been sent. After that, the sending DMA 340 can read the message from the best effort output queue 349 and send the message to the output interface unit 35 through the second channel.
- the sending DMA340 can read part of the message from the deterministic flow output queue 348, and send the message to the output interface unit 35 through the first channel, and then, the sending DMA340 can read from the best-effort flow output queue 349. Get part of the message, and send the message to the output interface unit 35 through the second channel, then, the sending DMA340 can continue to read part of the message from the deterministic flow output queue 348, and send the message to the output interface unit 35 through the first channel The output interface unit 35, and so on, until the packets in the deterministic flow output queue 348 and the best effort flow output queue 349 have been sent.
- the output interface unit 35 may obtain a message from the deterministic flow output queue 348, and based on the CQ queue information corresponding to the message, store the message in the CQ queue corresponding to the CQ queue information.
- the output interface unit 35 can obtain the message from the best effort flow output queue 349, and store the message in a BEQ (Best Effort Queue, best effort buffer queue) queue.
- BEQ Best Effort Queue, best effort buffer queue
- the output interface unit 35 determines the target CQ queue corresponding to the current scheduling cycle, and sends the report in the target CQ queue to the external device in the current scheduling cycle. arts. If after the message in the target CQ queue is sent, there is still a remaining time slice in the current scheduling cycle, then the output interface unit 35 sends the message in the BEQ queue to the external device within the remaining time slice of the current scheduling cycle. For example, the output interface unit 35 determines the length of the message that can be sent in the remaining time slices. If the length of the message is greater than the configured length (can be configured according to experience), then in the remaining time slices of the current scheduling cycle, BEQ is sent to the external device.
- a message in the queue if the length of the message is not greater than the configured length, stop sending the messages in the BEQ queue to the external device within the remaining time slice of the current scheduling cycle.
- the remaining time slice of the current scheduling period can also be updated, and based on the updated remaining time slice, return to perform the operation of determining the length of the message that can be sent in the remaining time slice .
- the output interface unit 35 can also output a flow control signal for the second channel; the number of messages in the BEQ queue is less than the second preset threshold , the output interface unit 35 may cancel the flow control signal for the second channel.
- the second preset threshold may be less than or equal to the first preset threshold, and there is no limitation on this value.
- the output interface unit 35 can include a control unit 351, a classification unit (Classification) 352, a cycle selection unit (Select by Cycle) 353, SP (Stream Processor, stream processor) ) unit 354, and the MAC layer forwarding unit 355.
- the output interface unit 35 can also include BEQ queues and CQ queues.
- the number of BEQ queues is at least one. Take one BEQ queue as an example in FIG. 5D, and the number of CQ queues is at least three. In FIG. For example, these 15 CQ queues are recorded as CQ1, CQ2, .
- control unit 351 when the control unit 351 obtains a message from the first channel, that is, for the message in the deterministic flow output queue 348 , it may determine that the message belongs to the deterministic flow, and send the message to the classification unit 352 .
- control unit 351 acquires a packet from the second channel, that is, for a packet in the best-effort flow output queue 349, it may determine that the packet belongs to the best-effort flow, and store the packet in the BEQ queue.
- the BEQ queue is a best-effort buffer queue for buffering best-effort flow packets, and these packets have been scheduled in the HQOS scheduling unit 347 .
- Two high and low waterlines are designed in the BEQ queue.
- the flow control signal for the second channel can be output.
- the flow control signal for the second channel may be canceled.
- the sending DMA 340 no longer sends messages through the second channel, that is, the messages in the best-effort flow output queue 349 are not sent to the output interface unit 35 , the control unit 351 will not obtain the packets in the best-effort flow output queue 349 .
- the sending DMA 340 continues to send messages through the second channel, that is, the messages in the best-effort flow output queue 349 are sent to the output interface unit 35, and the control unit 351 can obtain the best-effort flow control signal. And output the message in the queue 349 for the flow, and store the message in the BEQ queue.
- the classification unit 352 is used to divide the packets of the deterministic flow, so as to store the packets in a certain CQ queue among CQ1-CQ15. Since there are 15 CQ queues in total, such as CQ1-CQ15, for packets of a deterministic flow, the classification unit 352 needs to determine which CQ queue the packet belongs to, and store the packet in this CQ queue. For example, because the message is encapsulated with CQ queue information, the CQ queue information can be a queue identifier, etc., used to indicate a certain CQ queue, therefore, the classification unit 352 can parse the CQ queue information from the message, and determine the CQ queue information related to the CQ queue. The CQ queue corresponding to the queue information stores the message in this CQ queue, if the CQ queue information corresponds to CQ5, then stores the message in CQ5.
- the cycle selection unit 353 periodically gives a selection signal under the control of a clock source (Clock), and the length of two adjacent selection signals is one scheduling cycle of CSQF. For example, assume that scheduling period 1 corresponds to CQ1, scheduling period 2 corresponds to CQ2, and so on, scheduling period 15 corresponds to CQ15.
- the period selection unit 353 sends a selection signal to the SP unit 354 connected to CQ1, and the SP unit 354 receives the selection signal Afterwards, it is determined that the target CQ queue corresponding to the current scheduling period is CQ1, the message is read from CQ1, and the read message is sent to the MAC layer forwarding unit 355. At the end of the scheduling period 1, the period selection unit 353 sends a new selection signal to the SP unit 354 connected to CQ1, and the SP unit 354 may stop sending messages after receiving the selection signal.
- the period selection unit 353 sends a selection signal to the SP unit 354 connected to CQ2 After receiving the selection signal, the SP unit 354 determines that the target CQ queue corresponding to the current scheduling period is CQ2, reads the message from CQ2, and sends the read message to the MAC layer forwarding unit 355. At the end of the scheduling period 2, the period selection unit 353 sends a new selection signal to the SP unit 354 connected to CQ2, so that the SP unit 354 stops sending messages.
- the period selection unit 353 may send a selection signal to a certain SP unit 354, so that the SP unit 354 sends a message or stops sending a message based on the selection signal.
- the SP unit 354 is used to forward the message according to the priority under the control of the selection signal, that is, to send the message in the target CQ queue first, and after the message in the target CQ queue is sent, if the current scheduling period If there is still a remaining time slice, the packets in the BEQ queue will be sent within the remaining time slice.
- the SP unit 354 determines the target CQ queue after receiving the selection signal It is CQn, read the message from CQn, and send the read message to the MAC layer forwarding unit 355 .
- the SP unit 354 can also time the timer after receiving the selection signal.
- the length of the remaining time slices is the difference between the duration of the scheduling period and the timing duration of the timer. After obtaining the length of the remaining time slot, determine the length of the message that can be sent in the remaining time slot.
- a configured length can be pre-configured.
- the configured length can be 9600 bytes, and 9600 bytes represent the specified length of the message.
- the SP unit 354 reads the message from the BEQ queue, and the read message Send it to the MAC layer forwarding unit 355. If the length of the message that can be sent in the remaining time slice is not greater than the configured length, then in the remaining time slice of the current scheduling period, the SP unit 354 will no longer send the message in the BEQ queue.
- the SP unit 354 reads a message from the BEQ queue, and after sending the read message to the MAC layer forwarding unit 355, if the message length that can be sent in the remaining time slice of the current scheduling cycle is still greater than the configured length, Then, in the remaining time slice of the current scheduling period, the SP unit 354 continues to read a message from the BEQ queue, and sends the read message to the MAC layer forwarding unit 355, and so on.
- scheduling period 1 corresponds to CQ1.
- the message is taken from CQ1 and sent.
- the remaining time slice is calculated according to the duration of the scheduling period and the timer value. If the remaining time slice can send a For a message with a set length (such as 9600 bytes), take a message from the BEQ queue and send it. Otherwise, the scheduling cycle 1 will not send the message and wait for the next scheduling cycle, that is, the scheduling cycle 2.
- scheduling period 2 corresponds to CQ2.
- scheduling period 2 the message is taken from CQ2 and sent.
- the remaining time slice is calculated according to the duration of the scheduling period and the timer value. If the remaining time slice can send a For a message with a set length, take a message from the BEQ queue and send it, otherwise, the scheduling cycle 2 will not send the message, and wait for the next scheduling cycle, and so on.
- the SP scheduling may not use the frame preemptive scheduling method to simplify implementation.
- the SP scheduling may also use the frame preemptive scheduling method, which will not be repeated here.
- the MAC layer forwarding unit 355 is configured to send the message to an external device after receiving the message. For example, when a message in the CQ queue is received, the message in the CQ queue is sent to the external device, and when a message in the BEQ queue is received, the message in the BEQ queue is sent to the external device.
- HQOS scheduling for best effort flows is maintained, however, HQOS scheduling is not implemented for deterministic flows.
- SR or SRv6 can be constrained to carry deterministic flows, and the deterministic flows can be IP data flows. Identify the deterministic flow as soon as possible at the front end of the receiving side of the network device, and establish an independent data pipeline or path in the network device to ensure that the deterministic flow is not impacted by the best-effort flow.
- a message transmission method is proposed in the embodiment of the present application, which can be applied to network equipment, and the network equipment can include an output forwarding processing unit and an output interface unit, as shown in Figure 6, which is the message proposed in the embodiment of the present application
- a schematic flow diagram of a transfer method which may include:
- Step 601 after the output and forwarding processing unit obtains the message, if the message belongs to the deterministic flow, store the message in the deterministic flow input queue; for each message in the deterministic flow input queue, determine Encapsulation information corresponding to the message, the encapsulation information at least including CQ queue information, encapsulation of the message based on the encapsulation information, and storing the encapsulated message in the deterministic flow output queue.
- Step 602 the output interface unit obtains the message from the deterministic flow output queue, and based on the CQ queue information corresponding to the message, stores the message in the CQ queue corresponding to the CQ queue information.
- Step 603 the output interface unit determines the target CQ queue corresponding to the current scheduling period, and sends the message in the target CQ queue to the external device within the current scheduling period.
- the output forwarding processing unit obtains the message, if the message belongs to the best-effort flow, the message is stored in the best-effort flow input queue; for the best-effort flow input For each packet in the queue, HQOS scheduling can be performed on the packet, and the HQOS-scheduled packet can be stored in the best-effort flow output queue.
- the output interface unit obtains packets from the best-effort flow output queue, and stores the packets in the BEQ queue.
- the output interface unit sends the message in the target CQ queue to the external device in the current scheduling cycle, if the message in the target CQ queue is sent and there is still a remaining time slice in the current scheduling cycle, then The output interface unit sends the message in the BEQ queue to the external device within the remaining time slice of the current scheduling period.
- the network device may further include an input forwarding processing unit. After the input forwarding processing unit obtains the message, if the message belongs to the deterministic flow, the message is stored in the deterministic flow input Queue; if the packet belongs to the best-effort flow, store the packet in the best-effort flow input queue; among them, the queue priority corresponding to the deterministic flow input queue is higher than that corresponding to the best-effort flow input queue level, so that the input forwarding processing unit preferentially processes the packets in the deterministic flow input queue.
- the input forwarding processing unit processes the message in the deterministic flow input queue, if the message includes the CQ queue indication information, then determine the CQ queue corresponding to the CQ queue indication information, otherwise, based on the timestamp corresponding to the message Determine the CQ queue corresponding to the packet, and the timestamp indicates the timestamp when the packet is received by the network device.
- the input forwarding processing unit adds the CQ queue information corresponding to the CQ queue to the message, sends the message to the output forwarding processing unit, and the output forwarding processing unit obtains the message.
- the network device further includes an internal switching unit.
- the input forwarding processing unit sends the message in the deterministic flow input queue to the output forwarding processing unit, it adds a high priority mark to the message and sends the message to the internal switching unit, so that the internal switching unit is based on the high priority
- the flag sends the message to the output forwarding processing unit.
- the input forwarding processing unit sends the packet in the best-effort flow input queue to the output forwarding processing unit, it will add a low priority mark to the packet and send the packet to the internal switching unit, so that the internal switching unit will The level mark sends the message to the output forwarding processing unit.
- the network device may further include an input interface unit. After receiving a message from an external device, the input interface unit determines that the message belongs to a deterministic flow or a best-effort flow; If the packet belongs to the best-effort flow, then store the packet in the output queue of the best-effort flow. The input interface unit sends the message in the deterministic flow output queue to the input forwarding processing unit through the third channel, and the input forwarding processing unit obtains the message from the third channel; The obtained packets belong to the deterministic flow. The input interface unit sends the message in the best-effort flow output queue to the input forwarding processing unit through the fourth channel, and the input forwarding processing unit obtains the message from the fourth channel; The packets obtained by the channel belong to the best-effort flow.
- An embodiment of the present application proposes a network device, including an output forwarding processing unit and an output interface unit.
- the output forwarding processing unit is used to store the message in the deterministic flow input queue if the message belongs to the deterministic flow after obtaining the message; for each message in the deterministic flow input queue, determine The encapsulation information corresponding to the message, the encapsulation information at least includes CQ queue information, the message is encapsulated based on the encapsulation information, and the encapsulated message is stored in the deterministic flow output queue.
- the output interface unit is used to obtain the message from the deterministic flow output queue, and store the message in the CQ queue corresponding to the CQ queue information based on the CQ queue information corresponding to the message.
- the output interface unit is configured to determine the target CQ queue corresponding to the current scheduling period, and send the message in the target CQ queue to the external device within the current scheduling period.
- the output forwarding processing unit is further configured to store the message in the best-effort flow input queue if the message belongs to the best-effort flow after obtaining the packet; for For each packet in the best-effort flow input queue, HQOS scheduling can be performed on the packet, and the HQOS-scheduled packets can be stored in the best-effort flow output queue.
- the output interface unit is further configured to acquire packets from the best-effort flow output queue, and store the packets in the BEQ queue.
- the output interface unit After the output interface unit sends the message in the target CQ queue to the external device in the current scheduling cycle, it is also used: if the message in the target CQ queue is sent, there is still a remaining time slice in the current scheduling cycle, then in the current scheduling cycle In the remaining time slice of the scheduling period, send the packets in the BEQ queue to the external device.
- the network device further includes an input forwarding processing unit; the input forwarding processing unit is configured to store the message in a deterministic flow input queue if the message belongs to a deterministic flow after obtaining the message; If the packet belongs to the best-effort flow, the packet is stored in the best-effort flow input queue; the queue priority corresponding to the deterministic flow input queue is higher than that corresponding to the best-effort flow input queue, so that the input
- the forwarding processing unit preferentially processes the packets in the deterministic flow input queue.
- the input forwarding processing unit is also used to determine the CQ queue corresponding to the CQ queue indication information if the message includes the CQ queue indication information when processing the message in the deterministic flow input queue, otherwise, based on the message
- the time stamp corresponding to the message determines the CQ queue corresponding to the message, and the time stamp is used to represent the time stamp when the network device receives the message.
- the input forwarding processing unit is further configured to add CQ queue information corresponding to the CQ queue to the message, and send the message to the output forwarding processing unit, and the output forwarding processing unit obtains the message.
- the network device further includes an input interface unit.
- the input interface unit is used to determine that the message belongs to the deterministic flow or best-effort flow after receiving the message from the external device; if the message belongs to the deterministic flow, store the message in the deterministic flow output Queue. If the packet belongs to the best-effort flow, store the packet in the best-effort flow output queue.
- the input interface unit is configured to send the message in the deterministic flow output queue to the input forwarding processing unit through the third channel, and the input forwarding processing unit obtains the message from the third channel; wherein, the input forwarding processing unit determines itself from The packets obtained by the third channel belong to the deterministic flow.
- the input interface unit is configured to send the message in the best-effort flow output queue to the input forwarding processing unit through the fourth channel, and the input forwarding processing unit obtains the message from the fourth channel; wherein, the input forwarding processing unit determines itself Packets obtained from the fourth channel belong to the best-effort flow.
- a typical implementing device is a computer, which may take the form of a personal computer, laptop computer, cellular phone, camera phone, smart phone, personal digital assistant, media player, navigation device, e-mail device, game control device, etc. desktops, tablets, wearables, or any combination of these.
- embodiments of the present application may be provided as methods, systems, or computer program products. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
- computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
- these computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising instruction means,
- the instruction means implements the functions specified in one or more procedures of the flowchart and/or one or more blocks of the block diagram.
- These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operational steps are performed on the computer or other programmable equipment to produce computer-implemented processing, so that the information executed on the computer or other programmable equipment
- the instructions provide steps for implementing the functions specified in the flow chart or blocks of the flowchart and/or the block or blocks of the block diagrams.
Abstract
Description
Claims (15)
- 一种报文传输方法,其特征在于,应用于网络设备,所述网络设备至少包括输出转发处理单元和输出接口单元,所述方法包括:所述输出转发处理单元在获取到报文后,若该报文属于确定性流,则将该报文存储到确定性流输入队列;针对所述确定性流输入队列中的每个报文,确定该报文对应的封装信息,所述封装信息至少包括周期队列CQ队列信息,基于所述封装信息对该报文进行封装,将封装后的报文存储到确定性流输出队列;所述输出接口单元从所述确定性流输出队列中获取报文,基于该报文对应的CQ队列信息,将该报文存储到与该CQ队列信息对应的CQ队列;所述输出接口单元确定与当前调度周期对应的目标CQ队列,在所述当前调度周期内,向外部设备发送所述目标CQ队列中的报文。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:所述输出转发处理单元在获取到报文后,若该报文属于尽力而为流,则将该报文存储到尽力而为流输入队列;针对尽力而为流输入队列中的每个报文,对该报文进行分层服务质量HQOS调度,将HQOS调度后的报文存储到尽力而为流输出队列;所述输出接口单元从所述尽力而为流输出队列中获取报文,并将该报文存储到尽力而为缓存队列BEQ队列;所述输出接口单元在所述当前调度周期内,向外部设备发送所述目标CQ队列中的报文之后,所述方法还包括:若所述目标CQ队列中的报文被发送完成后,所述当前调度周期仍有剩余时间片,则所述输出接口单元在所述当前调度周期的剩余时间片内,向外部设备发送所述BEQ队列中的报文。
- 根据权利要求2所述的方法,其特征在于,所述输出接口单元与所述输出转发处理单元之间存在第一通道和第二通道;所述输出接口单元从所述确定性流输出队列中获取报文,包括:所述输出接口单元通过所述第一通道从所述确定性流输出队列中获取报文;所述输出接口单元从所述尽力而为流输出队列中获取报文,包括:所述输出接口单元通过所述第二通道从所述尽力而为流输出队列中获取报文;其中,在所述BEQ队列中的报文数量大于第一预设阈值时,所述输出接口单元输出针对所述第二通道的流控信号;在所述BEQ队列中的报文数量小于第二预设阈值时,所述输出接口单元取消针对所述第二通道的流控信号;当存在针对所述第二通道的流控信号时,暂停通过所述第二通道传输报文;其中,所述第二预设阈值小于或等于所述第一预设阈值。
- 根据权利要求2所述的方法,其特征在于,所述输出接口单元在所述当前调度周期的剩余时间片内,向外部设备发送所述BEQ队列中的报文,包括:所述输出接口单元确定所述剩余时间片能够发送的报文长度,若所述报文长度大于已配置长度,则在所述当前调度周期的剩余时间片内,向外部设备发送所述BEQ队列中的一个报文;若所述报文长度不大于已配置长度,则在所述当前调度周期的剩余时间片内,停止向外部设备发送所述BEQ队列中的报文;所述向外部设备发送所述BEQ队列中的一个报文之后,更新所述当前调度周期的剩余时间片,返回执行确定更新后的剩余时间片能够发送的报文长度。
- 根据权利要求1-4任一项所述的方法,其特征在于,所述网络设备还包括输入转发处理单元,所述方法还包括:所述输入转发处理单元在获取到报文后,若该报文属于确定性流,则将该报文存储到确定性流输入队列;或者,若该报文属于尽力而为流,则将该报文存储到尽力而为流输入队列;其中,所述确定性流输入队列对应的队列优先级高于所述尽力而为流输入队列对应的队列优先级,以使所述输入转发处理单元优先对所述确定性流输入队列中的报 文进行处理;所述输入转发处理单元对所述确定性流输入队列中的报文进行处理时,若该报文包括CQ队列指示信息,确定该CQ队列指示信息对应的CQ队列,否则,基于该报文对应的时间戳确定该报文对应的CQ队列,所述时间戳表示所述网络设备接收到该报文的时间戳;在该报文中添加该CQ队列对应的CQ队列信息,将报文发送给输出转发处理单元,由所述输出转发处理单元获取该报文。
- 根据权利要求5所述的方法,其特征在于,所述输入转发处理单元基于该报文对应的时间戳确定该报文对应的CQ队列,包括:所述输入转发处理单元基于该报文对应的转发信息查询出接口,并确定所述出接口对应的多个CQ队列,每个CQ队列对应一个调度周期;所述输入转发处理单元基于该报文对应的时间戳,从所有调度周期中选取与该时间戳对应的调度周期,并确定该调度周期对应的CQ队列。
- 根据权利要求5所述的方法,其特征在于,所述网络设备还包括内部交换单元,所述方法还包括:所述输入转发处理单元将所述确定性流输入队列中的报文发送给输出转发处理单元时,在报文中添加高优先级标记,将报文发送给内部交换单元,以使所述内部交换单元基于所述高优先级标记将报文发送给输出转发处理单元;所述输入转发处理单元将所述尽力而为流输入队列中的报文发送给输出转发处理单元时,在报文中添加低优先级标记,将报文发送给内部交换单元,以使所述内部交换单元基于所述低优先级标记将报文发送给输出转发处理单元。
- 根据权利要求5所述的方法,其特征在于,所述网络设备还包括输入接口单元,所述方法还包括:所述输入接口单元从外部设备接收到报文后,确定该报文属于确定性流或者尽力而为流;若该报文属于确定性流,则将该报文存储到确定性流输出队列,若该报文属于尽力而为流,则将该报文存储到尽力而为流输出队列;所述输入接口单元通过第三通道将确定性流输出队列中的报文发送给输入转发处理单元,由输入转发处理单元从所述第三通道获取该报文;其中,所述输入转发处理单元确定自身从所述第三通道获取的报文属于确定性流;所述输入接口单元通过第四通道将尽力而为流输出队列中的报文发送给输入转发处理单元,由输入转发处理单元从所述第四通道获取该报文;其中,所述输入转发处理单元确定自身从所述第四通道获取的报文属于尽力而为流。
- 根据权利要求8所述的方法,其特征在于,所述输入接口单元确定该报文属于确定性流或者尽力而为流,包括:所述输入接口单元从该报文中解析出流特征;若所述流特征与已配置的访问控制列表ACL中的确定性流特征匹配,则确定该报文属于确定性流,若所述流特征与所述ACL中的确定性流特征不匹配,则确定该报文属于尽力而为流;其中,所述ACL包括至少一个确定性流特征。
- 根据权利要求8所述的方法,其特征在于,所述输入接口单元通过第三通道将确定性流输出队列中的报文发送给输入转发处理单元,通过第四通道将尽力而为流输出队列中的报文发送给输入转发处理单元,包括:所述输入接口单元优先从所述确定性流输出队列中获取报文,并通过第三通道将获取的报文发送给所述输入转发处理单元;在所述确定性流输出队列中的所有报文获取完成后,从所述尽力而为流输出队列中获取报文,通过第四通道将获取的报文发送给输入转发处理单元。
- 一种网络设备,其特征在于,包括输出转发处理单元和输出接口单元;所述输出转发处理单元,用于在获取到报文后,若该报文属于确定性流,将该报文 存储到确定性流输入队列;针对所述确定性流输入队列中的每个报文,确定该报文对应的封装信息,所述封装信息至少包括周期队列CQ队列信息,基于所述封装信息对该报文进行封装,将封装后的报文存储到确定性流输出队列;所述输出接口单元,用于从所述确定性流输出队列中获取报文,基于该报文对应的CQ队列信息,将该报文存储到与该CQ队列信息对应的CQ队列;所述输出接口单元,用于确定与当前调度周期对应的目标CQ队列,在所述当前调度周期内,向外部设备发送所述目标CQ队列中的报文。
- 根据权利要求11所述的网络设备,其特征在于,所述输出转发处理单元,还用于在获取到报文后,若该报文属于尽力而为流,则将该报文存储到尽力而为流输入队列;针对尽力而为流输入队列中的每个报文,对该报文进行分层服务质量HQOS调度,并将HQOS调度后的报文存储到尽力而为流输出队列;所述输出接口单元,还用于从所述尽力而为流输出队列中获取报文,并将该报文存储到尽力而为缓存队列BEQ队列;所述输出接口单元在所述当前调度周期内,向外部设备发送所述目标CQ队列中的报文之后还用于:若所述目标CQ队列中的报文被发送完成后,所述当前调度周期仍有剩余时间片,则在所述当前调度周期的剩余时间片内,向外部设备发送所述BEQ队列中的报文。
- 根据权利要求11或12所述的网络设备,其特征在于,所述网络设备还包括输入转发处理单元;所述输入转发处理单元,用于在获取到报文后,若该报文属于确定性流,则将该报文存储到确定性流输入队列;或者,若该报文属于尽力而为流,则将该报文存储到尽力而为流输入队列;其中,所述确定性流输入队列对应的队列优先级高于所述尽力而为流输入队列对应的队列优先级,以使所述输入转发处理单元优先对所述确定性流输入队列中的报文进行处理;所述输入转发处理单元,还用于在对所述确定性流输入队列中的报文进行处理时,若该报文包括CQ队列指示信息,则确定该CQ队列指示信息对应的CQ队列,否则,基于该报文对应的时间戳确定该报文对应的CQ队列,所述时间戳用于表示所述网络设备接收到该报文的时间戳;所述输入转发处理单元,还用于在该报文中添加该CQ队列对应的CQ队列信息,将报文发送给输出转发处理单元,由所述输出转发处理单元获取该报文。
- 根据权利要求13所述的网络设备,其特征在于,所述输入转发处理单元基于该报文对应的时间戳确定该报文对应的CQ队列时具体用于:基于该报文对应的转发信息查询出接口,并确定所述出接口对应的多个CQ队列,每个CQ队列对应一个调度周期;基于该报文对应的时间戳,从所有调度周期中选取与该时间戳对应的调度周期,并确定该调度周期对应的CQ队列。
- 根据权利要求13所述的网络设备,其特征在于,所述网络设备还包括输入接口单元;所述输入接口单元,用于在从外部设备接收到报文后,确定该报文属于确定性流或者尽力而为流;若该报文属于确定性流,则将该报文存储到确定性流输出队列,若该报文属于尽力而为流,则将该报文存储到尽力而为流输出队列;所述输入接口单元,用于通过第三通道将确定性流输出队列中的报文发送给输入转发处理单元,由输入转发处理单元从所述第三通道获取该报文;其中,所述输入转发处理单元确定自身从第三通道获取的报文属于确定性流;所述输入接口单元,用于通过第四通道将尽力而为流输出队列中的报文发送给输入转发处理单元,由输入转发处理单元从所述第四通道获取该报文;其中,所述输入转发处理单元确定自身从第四通道获取的报文属于尽力而为流。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21969472.6A EP4336795A1 (en) | 2021-12-29 | 2021-12-29 | Message transmission method and network device |
CN202180004332.5A CN116686272A (zh) | 2021-12-29 | 2021-12-29 | 一种报文传输方法及网络设备 |
PCT/CN2021/142637 WO2023123104A1 (zh) | 2021-12-29 | 2021-12-29 | 一种报文传输方法及网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/142637 WO2023123104A1 (zh) | 2021-12-29 | 2021-12-29 | 一种报文传输方法及网络设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023123104A1 true WO2023123104A1 (zh) | 2023-07-06 |
Family
ID=86996927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/142637 WO2023123104A1 (zh) | 2021-12-29 | 2021-12-29 | 一种报文传输方法及网络设备 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4336795A1 (zh) |
CN (1) | CN116686272A (zh) |
WO (1) | WO2023123104A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116887418A (zh) * | 2023-09-05 | 2023-10-13 | 浙江国利信安科技有限公司 | Epa网络中对高优先级消息进行调度的方法、设备和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112585914A (zh) * | 2020-11-27 | 2021-03-30 | 新华三技术有限公司 | 报文转发方法、装置以及电子设备 |
CN112737979A (zh) * | 2021-01-29 | 2021-04-30 | 西安电子科技大学 | 一种时间敏感网络尽力而为流调度方法 |
CN112995064A (zh) * | 2021-04-21 | 2021-06-18 | 鹏城实验室 | 一种时间敏感网络报文转发方法、装置、终端及存储介质 |
CN113366805A (zh) * | 2019-02-03 | 2021-09-07 | 华为技术有限公司 | 报文调度方法、调度器、网络设备和网络系统 |
CN113382442A (zh) * | 2020-03-09 | 2021-09-10 | 中国移动通信有限公司研究院 | 报文传输方法、装置、网络节点及存储介质 |
CN113708903A (zh) * | 2021-07-09 | 2021-11-26 | 北京邮电大学 | 基于时间戳的信令确定性传输方法、装置、设备及介质 |
-
2021
- 2021-12-29 EP EP21969472.6A patent/EP4336795A1/en active Pending
- 2021-12-29 WO PCT/CN2021/142637 patent/WO2023123104A1/zh active Application Filing
- 2021-12-29 CN CN202180004332.5A patent/CN116686272A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113366805A (zh) * | 2019-02-03 | 2021-09-07 | 华为技术有限公司 | 报文调度方法、调度器、网络设备和网络系统 |
CN113382442A (zh) * | 2020-03-09 | 2021-09-10 | 中国移动通信有限公司研究院 | 报文传输方法、装置、网络节点及存储介质 |
CN112585914A (zh) * | 2020-11-27 | 2021-03-30 | 新华三技术有限公司 | 报文转发方法、装置以及电子设备 |
CN112737979A (zh) * | 2021-01-29 | 2021-04-30 | 西安电子科技大学 | 一种时间敏感网络尽力而为流调度方法 |
CN112995064A (zh) * | 2021-04-21 | 2021-06-18 | 鹏城实验室 | 一种时间敏感网络报文转发方法、装置、终端及存储介质 |
CN113708903A (zh) * | 2021-07-09 | 2021-11-26 | 北京邮电大学 | 基于时间戳的信令确定性传输方法、装置、设备及介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116887418A (zh) * | 2023-09-05 | 2023-10-13 | 浙江国利信安科技有限公司 | Epa网络中对高优先级消息进行调度的方法、设备和介质 |
CN116887418B (zh) * | 2023-09-05 | 2023-12-15 | 浙江国利信安科技有限公司 | Epa网络中对高优先级消息进行调度的方法、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116686272A (zh) | 2023-09-01 |
EP4336795A1 (en) | 2024-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021180073A1 (zh) | 报文传输方法、装置、网络节点及存储介质 | |
KR102239717B1 (ko) | 패킷 처리 방법 및 장치 | |
WO2019033857A1 (zh) | 报文控制方法及网络装置 | |
WO2019127597A1 (zh) | 一种发送报文的方法、设备和系统 | |
JP7231749B2 (ja) | パケットスケジューリング方法、スケジューラ、ネットワーク装置及びネットワークシステム | |
JP2008518552A (ja) | 粗細試験期間を使用したネットワーク・パケットの経験的スケジューリング法 | |
WO2012065477A1 (zh) | 报文拥塞避免方法及系统 | |
US8189463B2 (en) | Method for realizing backpressure of masses of ports and device thereof | |
US10374959B2 (en) | Method for transmitting data in a packet-oriented communications network and correspondingly configured user terminal in said communications network | |
EP4152703A1 (en) | Network control method and device | |
US11038799B2 (en) | Per-flow queue management in a deterministic network switch based on deterministically transmitting newest-received packet instead of queued packet | |
TW202002596A (zh) | 運算裝置中預測封包壽命之佇列系統 | |
EP3032785B1 (en) | Transport method in a communication network | |
KR20140125274A (ko) | 방송 시스템에서 동적 큐 관리 방법 및 장치 | |
WO2023123104A1 (zh) | 一种报文传输方法及网络设备 | |
CN115632925B (zh) | 一种时间内生确定性融合网络架构及数据通信方法 | |
CN114221912B (zh) | 一种针对非周期时间触发业务流的时间敏感网络接入方法 | |
CN110809012B (zh) | 列车网络通信数据调度控制方法 | |
WO2023108479A1 (zh) | 确定性流传输方法及装置 | |
WO2019200568A1 (zh) | 一种数据通信方法及装置 | |
CN115378874A (zh) | 数据发送、接收方法、装置、电子设备、芯片及存储介质 | |
WO2021026740A1 (zh) | 流量均衡方法、网络设备及电子设备 | |
US11968111B2 (en) | Packet scheduling method, scheduler, network device, and network system | |
WO2021244404A1 (zh) | 数据处理方法及设备 | |
WO2024016327A1 (zh) | 报文传输 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 202180004332.5 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21969472 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2023572986 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2021969472 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2021969472 Country of ref document: EP Effective date: 20231208 |