WO2023123104A1 - 一种报文传输方法及网络设备 - Google Patents

一种报文传输方法及网络设备 Download PDF

Info

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
Application number
PCT/CN2021/142637
Other languages
English (en)
French (fr)
Inventor
郭道荣
闻广亮
程臻
林晖
Original Assignee
新华三技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 新华三技术有限公司 filed Critical 新华三技术有限公司
Priority to EP21969472.6A priority Critical patent/EP4336795A1/en
Priority to CN202180004332.5A priority patent/CN116686272A/zh
Priority to PCT/CN2021/142637 priority patent/WO2023123104A1/zh
Publication of WO2023123104A1 publication Critical patent/WO2023123104A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic 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

本申请提供一种报文传输方法及网络设备,该方法包括:输出转发处理单元获取到报文后,若报文属于确定性流,则将报文存储到确定性流输入队列;针对确定性流输入队列中每个报文,确定报文对应的封装信息,封装信息包括CQ队列信息,基于封装信息对报文进行封装,将封装后的报文存储到确定性流输出队列;输出接口单元从确定性流输出队列中获取报文,基于报文对应的CQ队列信息,将报文存储到与该CQ队列信息对应的CQ队列;输出接口单元确定与当前调度周期对应的目标CQ队列,在当前调度周期内向外部设备发送目标CQ队列中的报文。通过本申请的技术方案,能够保证确定性流转发不受尽力而为流转发的影响,并保证尽力而为流转发和确定性流转发的相互兼容。

Description

一种报文传输方法及网络设备 技术领域
本申请涉及通信技术领域,尤其涉及一种报文传输方法及网络设备。
背景技术
DetNet(Deterministic Network,确定性网络)可以在一个网络域内为承载业务提供确定性业务功能,这些确定性业务功能可以包括时延、丢包率等。TSN(Time Sensitive Networking,时间敏感型网络)是基于局域网实现的确定性网络,在TSN中,通过采用CQF(Cyclic Queuing and Forwarding,周期排队转发)确保转发层面的确定性传输,从而为承载业务提供确定性业务功能。
为便于描述,确定性网络中传输的具有确定性业务功能(如时延、丢包率等)的业务流称为确定性流。针对不同于确定性流的其它业务流,可以按照尽力而为转发的方式,因此,将不同于确定性流的其它业务流称为尽力而为流。
发明内容
本申请提供一种报文传输方法,应用于网络设备,所述网络设备至少包括输出转发处理单元和输出接口单元,所述方法包括:
所述输出转发处理单元在获取到报文后,若该报文属于确定性流,则将该报文存储到确定性流输入队列;针对所述确定性流输入队列中的每个报文,确定该报文对应的封装信息,所述封装信息至少包括CQ队列信息,基于所述封装信息对该报文进行封装,将封装后的报文存储到确定性流输出队列;
所述输出接口单元从所述确定性流输出队列中获取报文,基于该报文对应的CQ队列信息,将该报文存储到与该CQ队列信息对应的CQ队列;
所述输出接口单元确定与当前调度周期对应的目标CQ队列,在所述当前调度周期内,向外部设备发送所述目标CQ队列中的报文。
本申请提供一种网络设备,包括输出转发处理单元和输出接口单元;
所述输出转发处理单元,用于在获取到报文后,若该报文属于确定性流,则将该报文存储到确定性流输入队列;针对所述确定性流输入队列中的每个报文,确定该报文对应的封装信息,所述封装信息至少包括CQ队列信息,基于所述封装信息对该报文进行封装,将封装后的报文存储到确定性流输出队列;
所述输出接口单元,用于从所述确定性流输出队列中获取报文,基于该报文对应的CQ队列信息,将该报文存储到与该CQ队列信息对应的CQ队列;
所述输出接口单元,用于确定与当前调度周期对应的目标CQ队列,在所述当前调度周期内,向外部设备发送所述目标CQ队列中的报文。
由以上技术方案可见,本申请实施例中,能够保证确定性流转发不受尽力而为流转发的影响,并保证尽力而为流转发和确定性流转发的相互兼容。基于CSQF(Cycle Specified Queuing and Forwarding,指定周期排队转发)实现广域确定性网络的报文传输,实现确定性流与尽力而为流的共存,便于实现共网和共路的全业务全融合。在确定性流预留带宽没有被确定性流量使用时,能够被尽力而为流使用,在拥塞产生时,确定性流不受影响,通过控制尽力而为流的数量解决拥塞情况。维持尽力而为流的HQOS (Hierarchical Quality of Service,分层服务质量)调度,但是,不对确定性流实现HQOS调度。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1是本申请一种实施方式中的CSQF的工作原理示意图;
图2是本申请一种实施方式中的CSQF和CQF的对比示意图;
图3是本申请一种实施方式中的网络设备的结构示意图;
图4A和图4B是本申请一种实施方式中的网络设备的结构示意图;
图5A是本申请一种实施方式中的输入接口单元的结构示意图;
图5B是本申请一种实施方式中的输入转发处理单元的结构示意图;
图5C是本申请一种实施方式中的输出转发处理单元的结构示意图;
图5D是本申请一种实施方式中的输出接口单元的结构示意图;
图6是本申请一种实施方式中的报文传输方法的流程示意图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
TSN是基于局域网实现的确定性网络,在TSN中,通过采用CQF确保转发层面的确定性传输,从而为承载业务提供确定性业务功能。当然,CQF只是提供确定性业务的示例,还可以采用其它方式确保转发层面的确定性传输,对此不做限制。CQF作为与CSQF接近的技术,本实施例以CQF为例。CQF的基本工作原理是:每个网络设备的出接口关联2个队列,并将时域划分为2个周期,这2个队列在这两个周期内交替发送和接收。比如说,将这2个队列记为队列Q1和队列Q2,将这2个周期记为T0周期和T1周期,在T0周期内,队列Q1进行发送,队列Q2进行接收(队列Q1的接收关,队列Q2的接收开,队列Q1的发送开,队列Q2的发送关),在T1周期内,队列Q1进行接收,队列Q2进行发送,以此类推,这样,队列Q1和队列Q2可以按照奇偶周期交替进行。
CQF要求每一跳传输一个周期,报文在某个网络设备的某一个周期内接收,在下一个周期内发送出去,而下一个网络设备就在下一个周期内接收到该报文,以此类推。这 样,当周期T为确定值,则报文在路径上的传输时延(端到端的传输时延)就是确定的,该传输时延的最小值为(H-1)*T,该传输时延的最大值为(H+1)*T,H为跳数,表示路径上经过的网络设备的总数量。
由于CQF是基于局域网的技术,在广域网中无法实现,为了实现广域网的确定性传输,基于CQF提出了CSQF(Cycle Specified Queuing and Forwarding,指定周期排队转发),CSQF结合SR(Segment Routing,分段路由)应用或者SRv6应用,实现广域网的确定性传输。其中,SR可以是基于MPLS(Multi-Protocol Label Switching,多协议标签交换)的SR,SRv6可以是基于IPV6的SRv6。
参见图1所示,为CSQF的工作原理示意图,控制器10用于收集各网络设备的信息,如发送能力、接口、周期数、节点内最大抖动等。针对发送者到接收者之间的确定性传输需求,控制器10经过计算后,若发现有足够的传输资源,则分配传输路径,并将传输路径的信息下发给边缘节点,参见图1所示,发送者到接收者之间的传输路径可以是:网络设备11-网络设备12-网络设备13-网络设备14,该传输路径的边缘节点(即首个网络设备)是网络设备11。
网络设备11在接收到需要转发的报文(packet)后,在报文中添加传输路径中每个网络设备的信息,如网络设备在路径中的节点标识(如SRv6的SID(Segment identifier,分段标识)中的Locator(位置)等)、网络设备的发送接口、网络设备中需要发送的周期。这样,报文到达某网络设备后,该网络设备可以取出相应的接口和周期信息,然后,将该报文存储到与该周期对应的队列。
针对每个网络设备来说,可以按照一定周期循环对各队列中的报文进行发送,即每个队列对应一个周期,可以在该周期内发送该队列中的报文,由于网络设备的周期循环以固定模式进行,因此,在网络设备11中,对发送者的每个报文的指定周期不变,发送者到接收者的报文在每个网络设备转发的周期是确定的,因此,报文的整个时延也是确定的,从而实现确定性传输。
综上可以看出,CSQF和CQF的实现过程类似,CSQF和CQF的区别可以在于:CSQF至少需要3个队列(如3、6、8、9、10、12、15个队列等,后续以15个队列为例),每一个周期内只有一个队列处于发送状态,而其它队列均处于接收状态。对于CQF来说,要求各网络设备的循环周期严格同步,包括需要相位同步,对于CSQF来说,只要求循环周期的频率同步,不需要相位同步,同时对于某跳传输时延无法在一个周期内完成的情况,可以指定下一个周期传输的队列,通过此方式来适应广域网的不同网络设备的传输时延。
参见图2所示,为CSQF和CQF的对比示意图,对于CQF来说,针对某个报文的传输过程,网络设备11在周期1发送该报文,网络设备12在周期1接收该报文,且网络设备12在周期2发送该报文,网络设备13在周期2接收该报文,且网络设备13在周期3发送该报文,网络设备14在周期3接收该报文,且网络设备14在周期4发送该报文。对于CSQF来说,以CSQF需要3个队列为例,针对某个报文的传输过程,网络设备11在周期1发送该报文,网络设备12在周期1或者周期2接收该报文,且网络设备12在周期3发送该报文,网络设备13在周期3接收该报文,且网络设备13在周期4发送该报文,网络设备14在周期4或者周期5接收该报文,且网络设备14在周期6发送该报文。
在CSQF的实现过程中,能够保证报文的整个时延确定,其原因在于:每个网络设备划分以固定长度为周期的时间片,对确定性的业务流进行统一流量调度,使其在确定时间片内进行转发。在传输路径上的每个网络设备,发送时间被限制在一个特定时间片内,使得报文在该网络设备的时延抖动均是确定的,无论增加多少个网络设备,前一网 络设备的抖动并不会增加后面一个网络设备的抖动时延。当然,当网络设备的总数量增加时,报文转发总延时也会增加。
对于最后一个网络设备来说,报文只在确定的时间片内进行接收和发送,即报文在最后一个网络设备的抖动范围被限制在一个确定时间片内。
虽然CSQF能够实现广域网的确定性传输,为承载业务提供确定性业务功能,但是,各网络设备应该如何实现CSQF,相关技术中并没有合理的解决方案。针对上述问题,本申请实施例提出一种基于CSQF实现的广域确定性网络传输方法,可以应用于网络设备,网络设备也称为网络节点或转发节点。参见图3所示,为网络设备的结构示意图,网络设备可以包括输入接口单元31、输入转发处理单元32、内部交换单元33、输出转发处理单元34、输出接口单元35。
其中,输入接口单元31可以实现确定性流接收辅助处理,输入接口单元31的功能可以包括但不限于:识别确定性流;辅助输入转发处理单元32实现流量分类,使得确定性流进入确定性流输入队列;时间戳功能;流量调度功能。
其中,输入转发处理单元32的功能可以包括但不限于:能够实现流量分类功能,即区分出属于确定性流的报文和属于尽力而为流的报文,针对属于确定性流的报文,将该报文存储到确定性流输入队列,针对属于尽力而为流的报文,将该报文存储到尽力而为流输入队列。能够实现优先级调度功能,即优先处理确定性流输入队列中的报文,在确定性流输入队列中的报文处理完成之后,才处理尽力而为流输入队列中的报文。能够实现确定性流的输入通道处理功能,即将确定性流的传输通道与尽力而为流的传输通道分开,通过确定性流的传输通道发送确定性流的报文,通过尽力而为流的传输通道发送尽力而为流的报文,通过将确定性流的传输通道与尽力而为流的传输通道分开,使得尽力而为流的传输通道被反压(即限速处理)时,确定性流的传输通道不被反压。
其中,内部交换单元33的功能是确保确定性流的高优先级通道,也就是说,内部交换单元33优先将确定性流的报文发送给输出转发处理单元34,在确定性流的报文发送完成后,才将尽力而为流的报文发送给输出转发处理单元34。
比如说,内部交换单元33可以包括高优先级交换通道和普通优先级交换通道,内部交换单元33可以通过高优先级交换通道发送确定性流的报文,内部交换单元33可以通过普通优先级交换通道发送尽力而为流的报文。
其中,输出转发处理单元34的功能可以包括但不限于:能够实现尽力而为输出管道处理功能,即对尽力而为流的报文进行处理。能够对尽力而为流进行HQOS调度,即针对尽力而为流的报文进行HQOS调度,但是,不对确定性流的报文进行HQOS调度。能够实现尽力而为流的限速功能,即针对尽力而为流的报文进行限速处理,但是,不对确定性流的报文进行限速处理。能够实现确定性流输出管道处理功能,即对确定性流的报文进行处理。
其中,输出接口单元35的功能可以包括但不限于:能够实现尽力而为缓存队列,通过尽力而为缓存队列存储尽力而为流的报文。能够实现尽力而为缓存队列的反压功能,比如说,当尽力而为缓存队列中的报文数量达到数量阈值之后,则控制输出转发处理单元34不再将尽力而为流的报文存储到尽力而为缓存队列。能够实现确定性流的CSQF队列,通过CSQF队列存储确定性流的报文。能够实现确定性流与尽力而为流的合成调度,即调度确定性流的报文和尽力而为流的报文。比如说,先发送确定性流的报文,后发送尽力而为流的报文。
示例性的,对于CSQF队列来说,可以包括SQ(Sending Queue,发送队列)、RQ(Receiving Queue,接收队列)和TQ(Tolerating Queue,容忍队列),SQ是CSQF中 正在被发送的队列,RQ是CSQF中正在接收的队列,由于抖动等原因,导致接收的报文无法正常进入RQ时,这样的报文进入TQ。本实施例中,将SQ、RQ和TQ称为CQ(Cyclic Queuing,周期队列)队列。综上,输出接口单元35能够实现确定性流的CQ队列,通过CQ队列存储确定性流的报文。
在一种可能的实施方式中,参见图4A所示,输入接口单元31可以通过FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)实现,输入转发处理单元32可以通过NP(Network Processor,网络处理器)实现,为区分方便,将这个NP称为Ingress NP(入口NP),内部交换单元33可以通过交换网板(fabric)实现,输出转发处理单元34可以通过NP实现,为区分方便,将这个NP称为Egress NP(出口NP),输出接口单元35可以通过FPGA实现。
在输入接口单元31与输入转发处理单元32之间创建两个通道,即在输入接口单元31与输入转发处理单元32之间的物理接口中创建两个通道(channel),为了区分方便,将这两个通道记为第三通道和第四通道。比如说,假设输入接口单元31与输入转发处理单元32之间的物理接口是Interlaken物理接口,则在同一Interlaken物理接口中创建第三通道和第四通道。其中,第三通道用于传输属于确定性流的报文,第四通道用于传输属于尽力而为流的报文。
在输出转发处理单元34和输出接口单元35之间创建两个通道,即在输出转发处理单元34与输出接口单元35之间的物理接口中创建两个通道(channel),为了区分方便,将这两个通道记为第一通道和第二通道。比如说,假设输出转发处理单元34与输出接口单元35之间的物理接口是Interlaken物理接口,则在同一Interlaken物理接口中创建第一通道和第二通道。其中,第一通道用于传输属于确定性流的报文,第二通道用于传输属于尽力而为流的报文。
在另一种可能的实施方式中,参见图4B所示,输入接口单元31和输入转发处理单元32可以通过同一器件实现,比如说,通过Ingress NP同时实现输入接口单元31和输入转发处理单元32,内部交换单元33可以通过交换网板实现,输出转发处理单元34和输出接口单元35可以通过同一器件实现,比如说,通过Egress NP同时实现输出转发处理单元34和输出接口单元35。
当然,图4A和图4B只是两个示例,对此输入接口单元31、输入转发处理单元32、内部交换单元33、输出转发处理单元34、输出接口单元35的实现方式不做限制,只要能够实现这些单元的功能即可,后续以图4A为例进行说明。
以下结合具体实施例,对输入接口单元31、输入转发处理单元32、内部交换单元33、输出转发处理单元34、输出接口单元35的功能进行说明。
第一、输入接口单元31。输入接口单元31从外部设备接收到报文后,确定该报文属于确定性流或者尽力而为流。其中,若该报文属于确定性流,则将该报文存储到确定性流输出队列,若该报文属于尽力而为流,则将该报文存储到尽力而为流输出队列。在此基础上,输入接口单元31通过第三通道将确定性流输出队列中的报文发送给输入转发处理单元32。输入接口单元31通过第四通道将尽力而为流输出队列中的报文发送给输入转发处理单元32。
示例性的,输入接口单元31从外部设备接收到报文后,从该报文中解析出流特征;若该流特征与已配置的ACL中的确定性流特征匹配,则确定该报文属于确定性流,若该流特征与ACL中的确定性流特征不匹配,则确定该报文属于尽力而为流。其中,该ACL可以包括至少一个确定性流特征。
示例性的,输入接口单元31可以优先从确定性流输出队列中获取报文,并通过第三 通道将获取的报文发送给输入转发处理单元32;在确定性流输出队列中的所有报文获取完成之后,输入接口单元31从尽力而为流输出队列中获取报文,并通过第四通道将获取的报文发送给输入转发处理单元32。
参见图5A所示,为输入接口单元31的结构示意图,输入接口单元31可以包括以太接口控制器311、接收缓冲器312、确定性流ACL(Access Control Lists,访问控制列表)单元313、控制逻辑单元314、确定性流输出队列315、尽力而为流输出队列316和发送DMA(Direct Memory Access,直接存储器访问)317。
其中,以太接口控制器311通过以太接口从外部设备接收到报文,并将报文发送给接收缓冲器312,由接收缓冲器312对该报文进行接收缓冲。
其中,确定性流ACL单元313用于获取针对确定性流的ACL,比如说,上层应用可以将针对确定性流的ACL发送给确定性流ACL单元313,该ACL可以包括至少一个确定性流特征,可以基于该ACL识别出确定性流。
比如说,该确定性流特征可以是目的IP地址,表示这个目的IP地址对应的报文属于确定性流。又例如,该确定性流特征可以是目的IP网段,表示这个IP网段对应的报文属于确定性流。当然,上述只是确定性流特征的两个示例,对此确定性流特征不做限制,只要基于确定性流特征能够区分出确定性流即可。
确定性流ACL单元313在得到针对确定性流的ACL之后,还可以存储该ACL,以由控制逻辑单元314从确定性流ACL单元313查询该ACL。
其中,控制逻辑单元314可以从接收缓冲器312中获取报文,并从该报文中解析出流特征(即ACL所需的关键字)。若该流特征与ACL中的任一确定性流特征匹配,则可以确定该报文属于确定性流,若该流特征与ACL中的所有确定性流特征均不匹配,则可以确定该报文属于尽力而为流。
比如说,若确定性流特征是目的IP地址,则控制逻辑单元314可以从该报文中解析出目的IP地址,若该报文的目的IP地址与ACL中的某个目的IP地址相同,则可以确定该报文属于确定性流,若该报文中的目的IP地址与ACL中的所有目的IP地址均不相同,则可以确定该报文属于尽力而为流。
若确定该报文属于确定性流,则控制逻辑单元314可以在报文头部添加时间戳等辅助信息,并将报文存储到确定性流输出队列315,该时间戳用于表示以太接口控制器311从外部设备接收到该报文的时间。若确定该报文属于尽力而为流,则控制逻辑单元314将该报文存储到尽力而为流输出队列316。
综上所述,每次接收到属于确定性流的报文,就可以将报文存储到确定性流输出队列315,即确定性流输出队列315可以包括多个属于确定性流的报文。
每次接收到属于尽力而为流的报文,就可以将报文存储到尽力而为流输出队列316,即尽力而为流输出队列316可以包括多个属于尽力而为流的报文。
其中,发送DMA317可以从确定性流输出队列315中读取报文,并通过第三通道将确定性流输出队列315中的报文发送给输入转发处理单元32。
发送DMA317可以从尽力而为流输出队列316中读取报文,并通过第四通道将尽力而为流输出队列316中的报文发送给输入转发处理单元32。
比如说,发送DMA317可以优先从确定性流输出队列315中读取报文,并通过第三通道将报文发送给输入转发处理单元32。在确定性流输出队列315中的所有报文均发送完成之后,发送DMA317才从尽力而为流输出队列316中读取报文,并通过第四通道 将报文发送给输入转发处理单元32。
又例如,发送DMA317可以从确定性流输出队列315中读取部分报文,并通过第三通道将报文发送给输入转发处理单元32。然后,发送DMA317从尽力而为流输出队列316中读取部分报文,并通过第四通道将报文发送给输入转发处理单元32。然后,发送DMA317继续从确定性流输出队列315中读取部分报文,并通过第三通道将报文发送给输入转发处理单元32。以此类推,一直到确定性流输出队列315和尽力而为流输出队列316中的报文均已经发送完成。
第二、输入转发处理单元32。输入转发处理单元32在获取到报文后,若该报文属于确定性流,则将该报文存储到确定性流输入队列;若该报文属于尽力而为流,则将该报文存储到尽力而为流输入队列。其中,输入转发处理单元32从第三通道获取到报文时,可以确定该报文属于确定性流。输入转发处理单元32从第四通道获取到报文时,可以确定该报文属于尽力而为流。
示例性的,确定性流输入队列对应的队列优先级高于尽力而为流输入队列对应的队列优先级,以使输入转发处理单元32优先对确定性流输入队列中的报文进行处理。在输入转发处理单元32对确定性流输入队列中的报文进行处理时,若该报文包括CQ队列指示信息,则确定该CQ队列指示信息对应的CQ队列,否则,基于该报文对应的时间戳确定该报文对应的CQ队列。在此基础上,在报文中添加该CQ队列对应的CQ队列信息,并将报文发送给内部交换单元33。
其中,在基于时间戳确定该报文对应的CQ队列时,输入转发处理单元32可以基于该报文对应的转发信息查询出接口,并确定该出接口对应的多个CQ队列,每个CQ队列对应一个调度周期;基于该报文对应的时间戳,从所有调度周期中选取与该时间戳对应的调度周期,并确定该调度周期对应的CQ队列。
输入转发处理单元32将确定性流输入队列中的报文发送给内部交换单元33时,在报文中添加高优先级标记,将高优先级的报文发送给内部交换单元33。输入转发处理单元32将尽力而为流输入队列中的报文发送给内部交换单元33时,在报文中添加低优先级标记,将低优先级的报文发送给内部交换单元33。
参见图5B所示,为输入转发处理单元32的结构示意图,该输入转发处理单元32可以包括流量分类单元321、确定性流输入队列322、尽力而为流输入队列323、管道调度单元324、确定性流输入管道处理单元325。
其中,流量分类单元321从第三通道获取到报文时,确定报文属于确定性流,将该报文存储到确定性流输入队列322。流量分类单元321从第四通道获取到报文时,确定报文属于尽力而为流,将该报文存储到尽力而为流输入队列323。
其中,输入转发处理单元32可以支持多个物理队列,不同物理队列的优先级可以不同,在此基础上,可以将高优先级的物理队列作为确定性流输入队列322,可以将低优先级的物理队列作为尽力而为流输入队列323。显然,由于确定性流输入队列322采用高优先级的物理队列,尽力而为流输入队列323采用低优先级的物理队列,因此,确定性流输入队列322对应的队列优先级可以高于尽力而为流输入队列323对应的队列优先级,从而保证确定性流输入队列322中的报文被优先处理,也就是说,属于确定性流的报文被优先处理。
其中,管道调度单元324可以对确定性流输入队列322中的报文进行转发处理,并对尽力而为流输入队列323中的报文进行转发处理,在对报文进行转发处理时,管道调度单元324可以为PMU(Processor Management Unit,处理器管理单元),即由PMU对报文进行转发处理,对此报文转发处理过程不做限制。
由于确定性流输入队列322对应的队列优先级高于尽力而为流输入队列323对应的队列优先级,因此,管道调度单元324优先对确定性流输入队列322中的报文进行转发处理,在确定性流输入队列322中的报文处理完成后,管道调度单元324才对尽力而为流输入队列323中的报文进行转发处理。在管道调度单元324对报文进行转发处理时,可以将报文分配给转发管道(分配处理器资源进行相应的管道处理),对此管道处理的过程不做限制。
其中,确定性流输入管道处理单元325用于进行与确定性相关的转发处理,即在常规转发处理(由管道调度单元324实现的转发处理称为常规转发处理)的基础上,由确定性流输入管道处理单元325实现与确定性相关的转发处理。
比如说,针对边缘节点,如图1的网络设备11,在确定性流输入管道处理单元325对确定性流输入队列322中的报文进行处理时,该报文未包括CQ队列指示信息(CQ队列指示信息需要由边缘节点在报文中添加),因此,可以从该报文中解析出时间戳(由输入接口单元31添加到报文中,表示网络设备接收到该报文的时间戳),并基于该时间戳确定该报文对应的CQ队列。
在基于该时间戳确定该报文对应的CQ队列时,可以基于该报文对应的转发信息(如目的IP地址等)查询转发表项(用于记录转发信息与出接口的对应关系),得到该转发信息对应的出接口。由于网络设备的每个出接口可以对应多个CQ队列,表示可以通过这个出接口转发这些CQ队列中的报文,因此,在得到该转发信息对应的出接口之后,就可以确定该出接口对应的多个CQ队列。
针对每个CQ队列,该CQ队列可以对应一个调度周期,表示需要在该调度周期内发送该CQ队列中的报文,在此基础上,基于该报文对应的时间戳,可以从所有调度周期中选取与该时间戳对应的调度周期,即该时间戳可以位于该调度周期。然后,确定该调度周期对应的CQ队列,这个CQ队列也就是该报文对应的CQ队列,在后续过程中,需要将该报文添加到这个CQ队列中。
为了确定调度周期对应的CQ队列,还可以获取时隙表,该时隙表包括调度周期与CQ队列的映射关系。在此基础上,在得到与该时间戳对应的调度周期之后,通过该调度周期查询该时隙表,就可以得到该调度周期对应的CQ队列。
综上所述,针对边缘节点,确定性流输入管道处理单元325可以得到报文对应的CQ队列,并在报文中添加该CQ队列对应的CQ队列信息,如队列标识。
针对边缘节点来说,还可以确定报文在各中间节点(如网络设备12、网络设备13、网络设备14等)的CQ队列,对此确定过程不再赘述,可以参见CSQF的工作原理。在得到报文在各中间节点的CQ队列之后,可以在报文中添加CQ队列指示信息,该CQ队列指示信息包括报文在各中间节点对应的CQ队列信息,如报文在网络设备12对应的CQ队列的CQ队列信息、在网络设备13对应的CQ队列的CQ队列信息、在网络设备14对应的CQ队列的CQ队列信息。
比如说,针对中间节点,如图1的网络设备12、网络设备13和网络设备14等,在确定性流输入管道处理单元325对确定性流输入队列322中的报文进行处理时,该报文可以包括CQ队列指示信息(CQ队列指示信息是边缘节点在报文中添加,比如说,可以在SRv6的SID中携带该CQ队列指示信息,当然,这只是一个示例),因此,可以从该报文中解析出CQ队列指示信息,并确定该CQ队列指示信息对应的CQ队列。例如,针对网络设备12来说,CQ队列指示信息可以包括报文在网络设备12对应的CQ队列的CQ队列信息,因此,可以直接确定该CQ队列信息对应的CQ队列,这个CQ队列也就是该报文对应的CQ队列,在后续过程中,需要将该报文添加到这个CQ队列 中。
综上所述,针对中间节点,确定性流输入管道处理单元325可以得到报文对应的CQ队列,并在报文中添加该CQ队列对应的CQ队列信息,如队列标识。
参见上述实施例,针对确定性流输入队列322中的报文,在经过管道调度单元324和确定性流输入管道处理单元325的处理之后,可以将报文发送给内部交换单元33,在将报文发送给内部交换单元33时,可以在报文中添加高优先级标记,并将高优先级标记的报文发送给内部交换单元33。针对尽力而为流输入队列323中的报文,在经过管道调度单元324的处理之后,可以将报文发送给内部交换单元33,在将报文发送给内部交换单元33时,可以在报文中添加低优先级标记,并将低优先级标记报文发送给内部交换单元33。
第三、内部交换单元33。内部交换单元33在接收到高优先级标记的报文(即属于确定性流的报文)之后,基于高优先级标记将报文发送给输出转发处理单元34,内部交换单元33在接收到低优先级标记的报文(即属于尽力而为流的报文)之后,基于低优先级标记将报文发送给输出转发处理单元34。
比如说,基于高优先级标记和低优先级标记,内部交换单元33优先将高优先级标记的报文发送给输出转发处理单元34,在高优先级标记的报文发送完成之后,内部交换单元33才将低优先级标记的报文发送给输出转发处理单元34。
第四、输出转发处理单元34。输出转发处理单元34在获取到报文后,若该报文属于确定性流,则可以将该报文存储到确定性流输入队列;若该报文属于尽力而为流,则可以将该报文存储到尽力而为流输入队列。针对确定性流输入队列中的每个报文,输出转发处理单元34可以确定该报文对应的封装信息,该封装信息至少包括CQ队列信息,基于该封装信息对该报文进行封装,将封装后的报文存储到确定性流输出队列。针对尽力而为流输入队列中的每个报文,输出转发处理单元34可以对该报文进行HQOS调度,并将HQOS调度后的报文存储到尽力而为流输出队列。其中,输出接口单元35与输出转发处理单元34之间存在第一通道和第二通道,输出转发处理单元34可以通过第一通道将确定性流输出队列中的报文发送给输出接口单元35,输出转发处理单元34可以通过第二通道将尽力而为流输出队列中的报文发送给输出接口单元35。
参见图5C所示,为输出转发处理单元34的结构示意图,可以包括流量分类单元341、确定性流输入队列342、尽力而为流输入队列343、管道调度单元344、确定性流输入管道处理单元345、尽力而为流输入管道处理单元346、HQOS调度单元347、确定性流输出队列348、尽力而为流输出队列349、发送DMA340。
其中,内部交换单元33可以包括高优先级交换通道和普通优先级交换通道,内部交换单元33可以通过高优先级交换通道发送确定性流的报文,并通过普通优先级交换通道发送尽力而为流的报文。在此基础上,流量分类单元341从高优先级交换通道获取到报文时,确定报文属于确定性流,将该报文存储到确定性流输入队列342。流量分类单元341从普通优先级交换通道获取到报文时,确定报文属于尽力而为流,将该报文存储到尽力而为流输入队列343。
其中,输出转发处理单元34可以支持多个物理队列,不同物理队列的优先级可以不同,在此基础上,可以将高优先级的物理队列作为确定性流输入队列342,将低优先级的物理队列作为尽力而为流输入队列343。显然,由于确定性流输入队列342采用高优先级的物理队列,尽力而为流输入队列343采用低优先级的物理队列,因此,确定性流输入队列342对应的队列优先级可以高于尽力而为流输入队列343对应的队列优先级,从而保证确定性流输入队列342中的报文被优先处理,也就是说,属于确定性流的报文 被优先处理。
其中,管道调度单元344对确定性流输入队列342中的报文进行转发处理,并对尽力而为流输入队列343中的报文进行转发处理,对此报文转发处理过程不做限制。由于确定性流输入队列342对应的队列优先级高于尽力而为流输入队列343对应的队列优先级,因此,管道调度单元344优先对确定性流输入队列342中的报文进行转发处理,在确定性流输入队列342中的报文处理完成后,管道调度单元344才对尽力而为流输入队列343中的报文进行转发处理。
其中,确定性流输入管道处理单元345用于进行与确定性相关的转发处理,即在常规转发处理(由管道调度单元344实现的转发处理称为常规转发处理)的基础上,由确定性流输入管道处理单元345实现与确定性相关的转发处理。
比如说,针对确定性流输入队列342中的每个报文,确定性流输入管道处理单元345可以从该报文中解析出CQ队列信息(由输入转发处理单元32在报文中添加),并将该CQ队列信息确定为该报文对应的封装信息。当然,上述只是封装信息的示例,对此封装信息不做限制,比如说,还可以查询出本网络设备的出接口的MAC地址、下一跳网络设备的MAC地址等,将本网络设备的出接口的MAC地址和下一跳网络设备的MAC地址也作为封装信息。
在得到封装信息之后,确定性流输入管道处理单元345可以基于该封装信息对该报文进行封装,比如说,在报文外层封装CQ队列信息等内容,并将封装后的报文存储到确定性流输出队列348。其中,确定性流输入管道处理单元345在对报文进行封装之后,还可以旁路掉为尽力而为流实现的HQOS调度单元347,即不需要采用HQOS调度单元347对确定性流输入队列342中的报文进行HQOS调度,确定性流输入队列342中的报文不进行HQOS调度,也就不会受到尽力而为调度的影响,使得确定性流输入队列342中的报文可以被快速转发。
其中,尽力而为流输入管道处理单元346用于进行与尽力而为相关的转发处理,即在常规转发处理的基础上,实现与尽力而为相关的转发处理。比如说,针对尽力而为流输入队列343中的每个报文,尽力而为流输入管道处理单元346确定该报文对应的封装信息,如本网络设备的出接口的MAC地址、下一跳网络设备的MAC地址等,并基于该封装信息对该报文进行封装,比如说,在报文外层封装这些封装信息,并将封装后的报文发送给HQOS调度单元347。
其中,HQOS调度单元347用于对尽力而为流输入队列343中的每个报文进行HQOS调度,对此HQOS调度过程不做限制,在报文的HQOS调度过程结束之后,HQOS调度单元347可以将报文存储到尽力而为流输出队列349。
其中,发送DMA340可以从确定性流输出队列348中读取报文,并通过第一通道将确定性流输出队列348中的报文发送给输出接口单元35。发送DMA340可以从尽力而为流输出队列349中读取报文,并通过第二通道将尽力而为流输出队列349中的报文发送给输出接口单元35。由于确定性流输出队列348中的报文和尽力而为流输出队列349中的报文是通过不同通道进行传输,因此,当输出接口单元35出现拥塞时,可以只反压尽力而为流的传输通道,即第二通道,而不反压确定性流的传输通道,即第一通道,从而为时延确定性提供有力支持。
比如说,发送DMA340可以优先从确定性流输出队列348中读取报文,并通过第一通道将报文发送给输出接口单元35,在确定性流输出队列348中的所有报文均发送完成之后,发送DMA340才可以从尽力而为流输出队列349中读取报文,并通过第二通道将报文发送给输出接口单元35。
又例如,发送DMA340可以从确定性流输出队列348中读取部分报文,并通过第一通道将报文发送给输出接口单元35,然后,发送DMA340可以从尽力而为流输出队列349中读取部分报文,并通过第二通道将报文发送给输出接口单元35,然后,发送DMA340可以继续从确定性流输出队列348中读取部分报文,并通过第一通道将报文发送给输出接口单元35,以此类推,一直到确定性流输出队列348和尽力而为流输出队列349中的报文均已经发送完成。
第五、输出接口单元35。输出接口单元35可以从确定性流输出队列348中获取报文,基于该报文对应的CQ队列信息,将该报文存储到与该CQ队列信息对应的CQ队列。输出接口单元35可以从尽力而为流输出队列349中获取报文,并将该报文存储到BEQ(Best Effort Queue,尽力而为缓存队列)队列。
针对每个调度周期,将当前正在进行的调度周期称为当前调度周期,输出接口单元35确定与当前调度周期对应的目标CQ队列,在当前调度周期内,向外部设备发送目标CQ队列中的报文。若目标CQ队列中的报文被发送完成之后,当前调度周期仍有剩余时间片,则输出接口单元35在当前调度周期的剩余时间片内,向外部设备发送BEQ队列中的报文。比如说,输出接口单元35确定剩余时间片能够发送的报文长度,若该报文长度大于已配置长度(可以根据经验配置),则在当前调度周期的剩余时间片内,向外部设备发送BEQ队列中的一个报文;若该报文长度不大于已配置长度,则在当前调度周期的剩余时间片内,停止向外部设备发送BEQ队列中的报文。示例性的,向外部设备发送BEQ队列中的一个报文之后,还可以更新当前调度周期的剩余时间片,基于更新后的剩余时间片,返回执行确定剩余时间片能够发送的报文长度的操作。
示例性的,在BEQ队列中的报文数量大于第一预设阈值时,输出接口单元35还可以输出针对第二通道的流控信号;在BEQ队列中的报文数量小于第二预设阈值时,输出接口单元35可以取消针对第二通道的流控信号。其中,第二预设阈值可以小于或者等于第一预设阈值,对此取值不做限制。在此基础上,当存在针对第二通道的流控信号时,暂停通过第二通道传输报文,也就是说,输出转发处理单元34不再通过第二通道将尽力而为流输出队列349中的报文传输给输出接口单元35。当不存在针对第二通道的流控信号时,继续通过第二通道传输报文,也就是说,输出转发处理单元34将尽力而为流输出队列349中的报文传输给输出接口单元35。
参见图5D所示,为输出接口单元35的结构示意图,输出接口单元35可以包括控制单元351、分类单元(Classification)352、周期选择单元(Select by Cycle)353、SP(Stream Processor,流处理器)单元354、MAC层转发单元355。此外,输出接口单元35还可以包括BEQ队列和CQ队列,BEQ队列的数量为至少一个,图5D中以一个BEQ队列为例,CQ队列的数量为至少三个,图5D中以15个CQ队列为例,将这15个CQ队列分别记为CQ1、CQ2、…、CQ15,当存在15个CQ队列时,也存在15个SP单元354,SP单元354与CQ队列一一对应。
其中,控制单元351在从第一通道获取到报文时,即针对确定性流输出队列348中的报文,可以确定该报文属于确定性流,并将该报文发送给分类单元352。控制单元351在从第二通道获取到报文时,即针对尽力而为流输出队列349中的报文,可以确定该报文属于尽力而为流,并将该报文存储到BEQ队列。
其中,BEQ队列是尽力而为缓存队列,用于缓存尽力而为流的报文,这些报文在HQOS调度单元347中已经完成调度。BEQ队列中设计高低2级水线,当BEQ队列中缓存的报文数量高于设定的高水线(即第一预设阈值)时,则可以输出针对第二通道的流控信号。当BEQ队列中缓存的报文数量低于设定的低水线(即第二预设阈值)时,则可以取消针对第二通道的流控信号。
在此基础上,当存在针对第二通道的流控信号时,发送DMA340不再通过第二通道发送报文,也就是不将尽力而为流输出队列349中的报文发送给输出接口单元35,控制单元351也就不会得到尽力而为流输出队列349中的报文。当取消针对第二通道的流控信号时,发送DMA340继续通过第二通道发送报文,也就是将尽力而为流输出队列349中的报文发送给输出接口单元35,控制单元351能够得到尽力而为流输出队列349中的报文,并将报文存储到BEQ队列。
其中,分类单元352用于对确定性流的报文进行分流,从而将报文存储到CQ1~CQ15中的某个CQ队列。由于一共存在15个CQ队列,如CQ1~CQ15,因此,针对确定性流的报文,分类单元352需要确定这个报文属于哪个CQ队列,并将该报文存储到这个CQ队列。比如说,由于报文封装有CQ队列信息,该CQ队列信息可以是队列标识等,用于指示某个CQ队列,因此,分类单元352可以从报文中解析出CQ队列信息,确定与该CQ队列信息对应的CQ队列,将该报文存储到这个CQ队列,如CQ队列信息对应CQ5,则将该报文存储到CQ5。
其中,周期选择单元353在时钟源(Clock)的控制下,周期性给出选择信号,相邻两个选择信号的长度为CSQF的一个调度周期。例如,假设调度周期1与CQ1对应,调度周期2与CQ2对应,以此类推,调度周期15与CQ15对应。
在此基础上,在当前调度周期是调度周期1时,则在调度周期1的起始时刻,周期选择单元353向CQ1连接的SP单元354发送选择信号,该SP单元354在接收到该选择信号后,确定与当前调度周期对应的目标CQ队列是CQ1,从CQ1中读取报文,并将读取的报文发送给MAC层转发单元355。在调度周期1的结束时刻,周期选择单元353向CQ1连接的SP单元354发送一个新的选择信号,该SP单元354在接收到该选择信号之后,可以停止发送报文。
在当前调度周期是调度周期2时,则在调度周期2的起始时刻(调度周期2的起始时刻是调度周期1的结束时刻),周期选择单元353向CQ2连接的SP单元354发送选择信号,该SP单元354在接收到该选择信号后,确定与当前调度周期对应的目标CQ队列是CQ2,从CQ2中读取报文,并将读取的报文发送给MAC层转发单元355。在调度周期2的结束时刻,周期选择单元353向CQ2连接的SP单元354发送一个新的选择信号,以使该SP单元354停止发送报文。
以此类推,在每个调度周期,周期选择单元353可以向某个SP单元354发送选择信号,以使该SP单元354基于该选择信号发送报文或停止发送报文。
其中,SP单元354用于在选择信号的控制下,按照优先级进行报文转发,即先发送目标CQ队列中的报文,在目标CQ队列中的报文被发送完成后,若当前调度周期仍有剩余时间片,则在剩余时间片内发送BEQ队列中的报文。
比如说,假设当前调度周期是调度周期n,调度周期n与CQn(1≤n≤15)对应,针对与CQn连接的SP单元354,该SP单元354在接收到选择信号之后,确定目标CQ队列是CQn,从CQn中读取报文,将读取的报文发送给MAC层转发单元355。该SP单元354在接收到选择信号后,还可以对计时器进行计时。
在CQn中报文被发送完成后,若当前调度周期仍有剩余时间片,则确定剩余时间片的长度,剩余时间片的长度是调度周期的时长与计时器的计时时长之差。在得到剩余时间片的长度之后,确定该剩余时间片能够发送的报文长度。
基于BEQ队列中一个报文的报文长度,可以预先配置一个已配置长度,如该已配置长度可以是9600字节,9600字节表示报文的规定长度。在此基础上,若剩余时间片能够发送的报文长度大于该已配置长度,则在当前调度周期的剩余时间片内,SP单 元354从BEQ队列中读取报文,将读取的报文发送给MAC层转发单元355。若剩余时间片能够发送的报文长度不大于该已配置长度,则在当前调度周期的剩余时间片内,SP单元354不再发送BEQ队列中的报文。
SP单元354从BEQ队列中读取一个报文,将读取的该报文发送给MAC层转发单元355之后,若当前调度周期的剩余时间片能够发送的报文长度仍然大于该已配置长度,则在当前调度周期的剩余时间片内,SP单元354继续从BEQ队列中读取一个报文,将读取的报文发送给MAC层转发单元355,以此类推。
假设调度周期1对应CQ1,在调度周期1从CQ1中取报文进行发送,当CQ1中报文发空时,根据调度周期的时长和计时器值计算剩余时间片,如果剩余时间片能够发送一个设定长度(如9600字节)的报文,则从BEQ队列中取出一个报文进行发送,否则调度周期1不再发送报文,等待下一个调度周期,即调度周期2。假设调度周期2对应CQ2,在调度周期2从CQ2中取报文进行发送,当CQ2中报文发空时,根据调度周期的时长和计时器值计算剩余时间片,如果剩余时间片能够发送一个设定长度的报文,则从BEQ队列中取出一个报文进行发送,否则调度周期2不再发送报文,等待下一个调度周期,以此类推。
示例性的,如果当前正在发送CQn中的报文,但当前调度周期的剩余时间片不够发送完CQn中的所有报文,则在当前调度周期结束后,可以继续发送CQn中的报文,一直到送CQn中的报文发送完成,才发送下一个CQ中的报文。
示例性的,对于各SP单元354来说,SP调度可以不采用帧抢占调度方式,以简化实现,当然,SP调度也可以采用帧抢占调度方式,在此不再赘述。
其中,MAC层转发单元355用于在接收到报文之后,向外部设备发送该报文。比如说,在接收到CQ队列中的报文时,向外部设备发送CQ队列中的报文,在接收到BEQ队列中的报文时,向外部设备发送BEQ队列中的报文。
由以上技术方案可见,本申请实施例中,能够保证确定性流转发不受尽力而为流转发的影响,并保证尽力而为流转发和确定性流转发的相互兼容。基于CSQF实现广域确定性网络的报文传输,实现确定性流与尽力而为流的共存,便于实现共网和共路的全业务全融合。在确定性流预留带宽没有被确定性流量使用时,能够被尽力而为流使用,在拥塞产生时,确定性流不受影响,通过控制尽力而为流的数量解决拥塞情况。维持尽力而为流的HQOS调度,但是,不对确定性流实现HQOS调度。可以约束SR或SRv6承载确定性流,确定性流可以为IP数据流。在网络设备的接收侧最前端尽快识别确定性流,在网络设备中建立独立的数据管道或通路,以保证确定性流不受尽力而为流的冲击。
本申请实施例中提出一种报文传输方法,该方法可以应用于网络设备,网络设备可以包括输出转发处理单元和输出接口单元,参见图6所示,为本申请实施例中提出的报文传输方法的流程示意图,该方法可以包括:
步骤601,输出转发处理单元在获取到报文后,若该报文属于确定性流,则将该报文存储到确定性流输入队列;针对确定性流输入队列中的每个报文,确定该报文对应的封装信息,该封装信息至少包括CQ队列信息,基于该封装信息对该报文进行封装,将封装后的报文存储到确定性流输出队列。
步骤602、输出接口单元从该确定性流输出队列中获取报文,基于该报文对应的CQ队列信息,将该报文存储到与该CQ队列信息对应的CQ队列。
步骤603、输出接口单元确定与当前调度周期对应的目标CQ队列,在当前调度 周期内,向外部设备发送该目标CQ队列中的报文。
在一种可能的实施方式中,输出转发处理单元在获取到报文之后,若该报文属于尽力而为流,则将该报文存储到尽力而为流输入队列;针对尽力而为流输入队列中的每个报文,可以对该报文进行HQOS调度,并将HQOS调度后的报文存储到尽力而为流输出队列。输出接口单元从该尽力而为流输出队列中获取报文,并将该报文存储到BEQ队列。在此基础上,输出接口单元在当前调度周期内,向外部设备发送目标CQ队列中的报文之后,若目标CQ队列中的报文被发送完成后,当前调度周期仍有剩余时间片,则输出接口单元在当前调度周期的剩余时间片内,向外部设备发送该BEQ队列中的报文。
在一种可能的实施方式中,网络设备还可以包括输入转发处理单元,输入转发处理单元在获取到报文后,若该报文属于确定性流,则将该报文存储到确定性流输入队列;若该报文属于尽力而为流,则将该报文存储到尽力而为流输入队列;其中,确定性流输入队列对应的队列优先级高于尽力而为流输入队列对应的队列优先级,以使输入转发处理单元优先对确定性流输入队列中的报文进行处理。输入转发处理单元对确定性流输入队列中的报文进行处理时,若该报文包括CQ队列指示信息,则确定该CQ队列指示信息对应的CQ队列,否则,基于该报文对应的时间戳确定该报文对应的CQ队列,该时间戳表示网络设备接收到该报文的时间戳。输入转发处理单元在该报文中添加该CQ队列对应的CQ队列信息,将报文发送给输出转发处理单元,由输出转发处理单元获取该报文。
示例性的,网络设备还包括内部交换单元。输入转发处理单元将确定性流输入队列中的报文发送给输出转发处理单元时,在报文中添加高优先级标记,将报文发送给内部交换单元,以使内部交换单元基于高优先级标记将报文发送给输出转发处理单元。输入转发处理单元将尽力而为流输入队列中的报文发送给输出转发处理单元时,在报文中添加低优先级标记,将报文发送给内部交换单元,以使内部交换单元基于低优先级标记将报文发送给输出转发处理单元。
在一种可能的实施方式中,网络设备还可以包括输入接口单元,输入接口单元从外部设备接收到报文后,确定该报文属于确定性流或者尽力而为流;若该报文属于确定性流,则将该报文存储到确定性流输出队列,若该报文属于尽力而为流,则将该报文存储到尽力而为流输出队列。输入接口单元通过第三通道将确定性流输出队列中的报文发送给输入转发处理单元,由输入转发处理单元从第三通道获取该报文;其中,输入转发处理单元确定自身从第三通道获取的报文属于确定性流。输入接口单元通过第四通道将尽力而为流输出队列中的报文发送给输入转发处理单元,由输入转发处理单元从第四通道获取该报文;其中,输入转发处理单元确定自身从第四通道获取的报文属于尽力而为流。
本申请实施例中提出一种网络设备,包括输出转发处理单元和输出接口单元。输出转发处理单元,用于在获取到报文后,若该报文属于确定性流,则将该报文存储到确定性流输入队列;针对确定性流输入队列中的每个报文,确定该报文对应的封装信息,封装信息至少包括CQ队列信息,基于该封装信息对该报文进行封装,将封装后的报文存储到确定性流输出队列。输出接口单元,用于从确定性流输出队列中获取报文,基于报文对应的CQ队列信息,将报文存储到与该CQ队列信息对应的CQ队列。输出接口单元,用于确定与当前调度周期对应的目标CQ队列,在当前调度周期内向外部设备发送目标CQ队列中的报文。
在一种可能的实施方式中,输出转发处理单元,还用于在获取到报文之后,若该报文属于尽力而为流,则可以将该报文存储到尽力而为流输入队列;针对尽力而为流 输入队列中的每个报文,可以对该报文进行HQOS调度,并将HQOS调度后的报文存储到尽力而为流输出队列。输出接口单元,还用于从尽力而为流输出队列中获取报文,并将该报文存储到BEQ队列。输出接口单元在当前调度周期内,向外部设备发送目标CQ队列中的报文之后还用于:若目标CQ队列中的报文被发送完成后,当前调度周期仍有剩余时间片,则在当前调度周期的剩余时间片内,向外部设备发送BEQ队列中的报文。
示例性的,网络设备还包括输入转发处理单元;输入转发处理单元,用于在获取到报文后,若该报文属于确定性流,则将该报文存储到确定性流输入队列;若该报文属于尽力而为流,则将该报文存储到尽力而为流输入队列;确定性流输入队列对应的队列优先级高于尽力而为流输入队列对应的队列优先级,以使输入转发处理单元优先对确定性流输入队列中的报文进行处理。输入转发处理单元,还用于在对确定性流输入队列中的报文进行处理时,若该报文包括CQ队列指示信息,则确定该CQ队列指示信息对应的CQ队列,否则,基于该报文对应的时间戳确定该报文对应的CQ队列,时间戳用于表示网络设备接收到该报文的时间戳。输入转发处理单元,还用于在该报文中添加该CQ队列对应的CQ队列信息,将报文发送给输出转发处理单元,由输出转发处理单元获取报文。
示例性的,网络设备还包括输入接口单元。输入接口单元,用于在从外部设备接收到报文后,确定该报文属于确定性流或者尽力而为流;若该报文属于确定性流,则将该报文存储到确定性流输出队列,若该报文属于尽力而为流,则将该报文存储到尽力而为流输出队列。输入接口单元,用于通过第三通道将确定性流输出队列中的报文发送给输入转发处理单元,由输入转发处理单元从第三通道获取该报文;其中,输入转发处理单元确定自身从第三通道获取的报文属于确定性流。输入接口单元,用于通过第四通道将尽力而为流输出队列中的报文发送给输入转发处理单元,由输入转发处理单元从第四通道获取该报文;其中,输入转发处理单元确定自身从第四通道获取的报文属于尽力而为流。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (15)

  1. 一种报文传输方法,其特征在于,应用于网络设备,所述网络设备至少包括输出转发处理单元和输出接口单元,所述方法包括:
    所述输出转发处理单元在获取到报文后,若该报文属于确定性流,则将该报文存储到确定性流输入队列;针对所述确定性流输入队列中的每个报文,确定该报文对应的封装信息,所述封装信息至少包括周期队列CQ队列信息,基于所述封装信息对该报文进行封装,将封装后的报文存储到确定性流输出队列;
    所述输出接口单元从所述确定性流输出队列中获取报文,基于该报文对应的CQ队列信息,将该报文存储到与该CQ队列信息对应的CQ队列;
    所述输出接口单元确定与当前调度周期对应的目标CQ队列,在所述当前调度周期内,向外部设备发送所述目标CQ队列中的报文。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    所述输出转发处理单元在获取到报文后,若该报文属于尽力而为流,则将该报文存储到尽力而为流输入队列;针对尽力而为流输入队列中的每个报文,对该报文进行分层服务质量HQOS调度,将HQOS调度后的报文存储到尽力而为流输出队列;所述输出接口单元从所述尽力而为流输出队列中获取报文,并将该报文存储到尽力而为缓存队列BEQ队列;
    所述输出接口单元在所述当前调度周期内,向外部设备发送所述目标CQ队列中的报文之后,所述方法还包括:若所述目标CQ队列中的报文被发送完成后,所述当前调度周期仍有剩余时间片,则所述输出接口单元在所述当前调度周期的剩余时间片内,向外部设备发送所述BEQ队列中的报文。
  3. 根据权利要求2所述的方法,其特征在于,
    所述输出接口单元与所述输出转发处理单元之间存在第一通道和第二通道;
    所述输出接口单元从所述确定性流输出队列中获取报文,包括:所述输出接口单元通过所述第一通道从所述确定性流输出队列中获取报文;
    所述输出接口单元从所述尽力而为流输出队列中获取报文,包括:所述输出接口单元通过所述第二通道从所述尽力而为流输出队列中获取报文;
    其中,在所述BEQ队列中的报文数量大于第一预设阈值时,所述输出接口单元输出针对所述第二通道的流控信号;在所述BEQ队列中的报文数量小于第二预设阈值时,所述输出接口单元取消针对所述第二通道的流控信号;当存在针对所述第二通道的流控信号时,暂停通过所述第二通道传输报文;
    其中,所述第二预设阈值小于或等于所述第一预设阈值。
  4. 根据权利要求2所述的方法,其特征在于,所述输出接口单元在所述当前调度周期的剩余时间片内,向外部设备发送所述BEQ队列中的报文,包括:
    所述输出接口单元确定所述剩余时间片能够发送的报文长度,若所述报文长度大于已配置长度,则在所述当前调度周期的剩余时间片内,向外部设备发送所述BEQ队列中的一个报文;若所述报文长度不大于已配置长度,则在所述当前调度周期的剩余时间片内,停止向外部设备发送所述BEQ队列中的报文;
    所述向外部设备发送所述BEQ队列中的一个报文之后,更新所述当前调度周期的剩余时间片,返回执行确定更新后的剩余时间片能够发送的报文长度。
  5. 根据权利要求1-4任一项所述的方法,其特征在于,
    所述网络设备还包括输入转发处理单元,所述方法还包括:
    所述输入转发处理单元在获取到报文后,若该报文属于确定性流,则将该报文存储到确定性流输入队列;或者,若该报文属于尽力而为流,则将该报文存储到尽力而为流输入队列;其中,所述确定性流输入队列对应的队列优先级高于所述尽力而为流输入队列对应的队列优先级,以使所述输入转发处理单元优先对所述确定性流输入队列中的报 文进行处理;
    所述输入转发处理单元对所述确定性流输入队列中的报文进行处理时,若该报文包括CQ队列指示信息,确定该CQ队列指示信息对应的CQ队列,否则,基于该报文对应的时间戳确定该报文对应的CQ队列,所述时间戳表示所述网络设备接收到该报文的时间戳;在该报文中添加该CQ队列对应的CQ队列信息,将报文发送给输出转发处理单元,由所述输出转发处理单元获取该报文。
  6. 根据权利要求5所述的方法,其特征在于,所述输入转发处理单元基于该报文对应的时间戳确定该报文对应的CQ队列,包括:
    所述输入转发处理单元基于该报文对应的转发信息查询出接口,并确定所述出接口对应的多个CQ队列,每个CQ队列对应一个调度周期;
    所述输入转发处理单元基于该报文对应的时间戳,从所有调度周期中选取与该时间戳对应的调度周期,并确定该调度周期对应的CQ队列。
  7. 根据权利要求5所述的方法,其特征在于,
    所述网络设备还包括内部交换单元,所述方法还包括:
    所述输入转发处理单元将所述确定性流输入队列中的报文发送给输出转发处理单元时,在报文中添加高优先级标记,将报文发送给内部交换单元,以使所述内部交换单元基于所述高优先级标记将报文发送给输出转发处理单元;
    所述输入转发处理单元将所述尽力而为流输入队列中的报文发送给输出转发处理单元时,在报文中添加低优先级标记,将报文发送给内部交换单元,以使所述内部交换单元基于所述低优先级标记将报文发送给输出转发处理单元。
  8. 根据权利要求5所述的方法,其特征在于,
    所述网络设备还包括输入接口单元,所述方法还包括:
    所述输入接口单元从外部设备接收到报文后,确定该报文属于确定性流或者尽力而为流;若该报文属于确定性流,则将该报文存储到确定性流输出队列,若该报文属于尽力而为流,则将该报文存储到尽力而为流输出队列;
    所述输入接口单元通过第三通道将确定性流输出队列中的报文发送给输入转发处理单元,由输入转发处理单元从所述第三通道获取该报文;其中,所述输入转发处理单元确定自身从所述第三通道获取的报文属于确定性流;
    所述输入接口单元通过第四通道将尽力而为流输出队列中的报文发送给输入转发处理单元,由输入转发处理单元从所述第四通道获取该报文;其中,所述输入转发处理单元确定自身从所述第四通道获取的报文属于尽力而为流。
  9. 根据权利要求8所述的方法,其特征在于,
    所述输入接口单元确定该报文属于确定性流或者尽力而为流,包括:
    所述输入接口单元从该报文中解析出流特征;若所述流特征与已配置的访问控制列表ACL中的确定性流特征匹配,则确定该报文属于确定性流,若所述流特征与所述ACL中的确定性流特征不匹配,则确定该报文属于尽力而为流;
    其中,所述ACL包括至少一个确定性流特征。
  10. 根据权利要求8所述的方法,其特征在于,所述输入接口单元通过第三通道将确定性流输出队列中的报文发送给输入转发处理单元,通过第四通道将尽力而为流输出队列中的报文发送给输入转发处理单元,包括:
    所述输入接口单元优先从所述确定性流输出队列中获取报文,并通过第三通道将获取的报文发送给所述输入转发处理单元;
    在所述确定性流输出队列中的所有报文获取完成后,从所述尽力而为流输出队列中获取报文,通过第四通道将获取的报文发送给输入转发处理单元。
  11. 一种网络设备,其特征在于,包括输出转发处理单元和输出接口单元;
    所述输出转发处理单元,用于在获取到报文后,若该报文属于确定性流,将该报文 存储到确定性流输入队列;针对所述确定性流输入队列中的每个报文,确定该报文对应的封装信息,所述封装信息至少包括周期队列CQ队列信息,基于所述封装信息对该报文进行封装,将封装后的报文存储到确定性流输出队列;
    所述输出接口单元,用于从所述确定性流输出队列中获取报文,基于该报文对应的CQ队列信息,将该报文存储到与该CQ队列信息对应的CQ队列;
    所述输出接口单元,用于确定与当前调度周期对应的目标CQ队列,在所述当前调度周期内,向外部设备发送所述目标CQ队列中的报文。
  12. 根据权利要求11所述的网络设备,其特征在于,
    所述输出转发处理单元,还用于在获取到报文后,若该报文属于尽力而为流,则将该报文存储到尽力而为流输入队列;针对尽力而为流输入队列中的每个报文,对该报文进行分层服务质量HQOS调度,并将HQOS调度后的报文存储到尽力而为流输出队列;所述输出接口单元,还用于从所述尽力而为流输出队列中获取报文,并将该报文存储到尽力而为缓存队列BEQ队列;
    所述输出接口单元在所述当前调度周期内,向外部设备发送所述目标CQ队列中的报文之后还用于:若所述目标CQ队列中的报文被发送完成后,所述当前调度周期仍有剩余时间片,则在所述当前调度周期的剩余时间片内,向外部设备发送所述BEQ队列中的报文。
  13. 根据权利要求11或12所述的网络设备,其特征在于,
    所述网络设备还包括输入转发处理单元;
    所述输入转发处理单元,用于在获取到报文后,若该报文属于确定性流,则将该报文存储到确定性流输入队列;或者,若该报文属于尽力而为流,则将该报文存储到尽力而为流输入队列;其中,所述确定性流输入队列对应的队列优先级高于所述尽力而为流输入队列对应的队列优先级,以使所述输入转发处理单元优先对所述确定性流输入队列中的报文进行处理;
    所述输入转发处理单元,还用于在对所述确定性流输入队列中的报文进行处理时,若该报文包括CQ队列指示信息,则确定该CQ队列指示信息对应的CQ队列,否则,基于该报文对应的时间戳确定该报文对应的CQ队列,所述时间戳用于表示所述网络设备接收到该报文的时间戳;
    所述输入转发处理单元,还用于在该报文中添加该CQ队列对应的CQ队列信息,将报文发送给输出转发处理单元,由所述输出转发处理单元获取该报文。
  14. 根据权利要求13所述的网络设备,其特征在于,所述输入转发处理单元基于该报文对应的时间戳确定该报文对应的CQ队列时具体用于:基于该报文对应的转发信息查询出接口,并确定所述出接口对应的多个CQ队列,每个CQ队列对应一个调度周期;基于该报文对应的时间戳,从所有调度周期中选取与该时间戳对应的调度周期,并确定该调度周期对应的CQ队列。
  15. 根据权利要求13所述的网络设备,其特征在于,
    所述网络设备还包括输入接口单元;
    所述输入接口单元,用于在从外部设备接收到报文后,确定该报文属于确定性流或者尽力而为流;若该报文属于确定性流,则将该报文存储到确定性流输出队列,若该报文属于尽力而为流,则将该报文存储到尽力而为流输出队列;
    所述输入接口单元,用于通过第三通道将确定性流输出队列中的报文发送给输入转发处理单元,由输入转发处理单元从所述第三通道获取该报文;其中,所述输入转发处理单元确定自身从第三通道获取的报文属于确定性流;
    所述输入接口单元,用于通过第四通道将尽力而为流输出队列中的报文发送给输入转发处理单元,由输入转发处理单元从所述第四通道获取该报文;其中,所述输入转发处理单元确定自身从第四通道获取的报文属于尽力而为流。
PCT/CN2021/142637 2021-12-29 2021-12-29 一种报文传输方法及网络设备 WO2023123104A1 (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116887418A (zh) * 2023-09-05 2023-10-13 浙江国利信安科技有限公司 Epa网络中对高优先级消息进行调度的方法、设备和介质

Citations (6)

* Cited by examiner, † Cited by third party
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 北京邮电大学 基于时间戳的信令确定性传输方法、装置、设备及介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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