WO2022028456A1 - 拥塞控制方法和装置、网络节点设备,及计算机可读存储介质 - Google Patents

拥塞控制方法和装置、网络节点设备,及计算机可读存储介质 Download PDF

Info

Publication number
WO2022028456A1
WO2022028456A1 PCT/CN2021/110501 CN2021110501W WO2022028456A1 WO 2022028456 A1 WO2022028456 A1 WO 2022028456A1 CN 2021110501 W CN2021110501 W CN 2021110501W WO 2022028456 A1 WO2022028456 A1 WO 2022028456A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
message
information
delay threshold
node device
Prior art date
Application number
PCT/CN2021/110501
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 EP21853344.6A priority Critical patent/EP4195594A1/en
Publication of WO2022028456A1 publication Critical patent/WO2022028456A1/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/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0858One way delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • 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/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • 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/33Flow control; Congestion control using forward notification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports

Definitions

  • the present application relates to the field of communication technology.
  • the traditional Ethernet network is a lossy network, which can cause local congestion, resulting in performance losses such as delay, packet loss, and network throughput reduction, affecting customer experience. Therefore, the low-latency service of the data center needs the support of the lossless network, and the congestion control of the packet transmission in the lossless network is performed.
  • An aspect of the embodiments of the present application provides a congestion control method, including: calculating a forwarding delay value of the message inside the device of the node according to the reception time stamp information and the transmission time stamp information of the received message; and, responding to If the forwarding delay value of the packet in the device of the local node is greater than the preset delay threshold value of the packet, the packet is marked with a congestion notification, so as to perform congestion control on the packet through the congestion notification marking.
  • a congestion control device including: a delay threshold calculation module, configured to calculate, according to the reception timestamp information and the transmission timestamp information of the received packet, the device of the current node for the packet. internal forwarding delay value; and, the congestion notification flag carrying module is configured to perform congestion notification on the message in response to the forwarding delay value of the message inside the device of the node being greater than the preset delay threshold value of the message Marking to perform congestion control on packets through congestion notification marking.
  • a network node device including: one or more processors; and, a memory on which one or more programs are stored, when the one or more programs are processed by one or more The processor executes, so that one or more processors implement at least one step of the congestion control method provided by the embodiment of the present application.
  • Another aspect of the embodiments of the present application provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, implements at least one step of the congestion control method provided by the embodiments of the present application.
  • FIG. 1 shows a schematic flowchart of a congestion control method provided by an embodiment of the present application.
  • FIG. 2 shows a schematic structural diagram of a centralized forwarding network node device provided by an embodiment of the present application.
  • FIG. 3 shows a schematic structural diagram of a distributed forwarding network node device provided by an embodiment of the present application.
  • FIG. 4 shows a schematic flowchart of congestion marking according to an ingress port provided by an embodiment of the present application.
  • FIG. 5 shows a schematic flowchart of congestion marking according to an egress port provided by an embodiment of the present application.
  • FIG. 6 shows a schematic flowchart of congestion marking according to ingress ports and priorities provided by an embodiment of the present application.
  • FIG. 7 shows a schematic flowchart of congestion marking according to egress ports and priorities provided by an embodiment of the present application.
  • FIG. 8 shows a schematic flowchart of congestion marking according to an access control list provided by an embodiment of the present application.
  • FIG. 9 shows a schematic structural diagram of a network node provided by an embodiment of the present application that can achieve time stamp information acquisition and congestion notification marking on a physical interface.
  • FIG. 10 shows a schematic structural diagram of a congestion control apparatus provided by an embodiment of the present application.
  • FIG. 11 shows a schematic diagram of an exemplary hardware architecture of a computing device provided by an embodiment of the present application.
  • the low-latency service of the data center needs the support of the lossless network, and the explicit congestion notification (Explicit Congestion Notification, ECN) and the priority-based flow control (Priority-based Flow Control, PFC) technology are used to avoid
  • ECN Exlicit Congestion Notification
  • PFC Priority-based Flow Control
  • ECN congestion marking is usually performed on packets with ECN capability when the egress queue is congested.
  • Source The source that sends the packet slows down the congested flow.
  • speed reduction can also avoid local buffering of a large number of packets, which will bring greater transmission delay.
  • the traditional ECN marking method usually decides whether to carry out ECN marking according to the congestion degree of the egress queue when the packet is enqueued or dequeued. If the queue depth exceeds the set ECN marking threshold, ECN marking is performed on the packet; otherwise, no ECN marking is performed on the packet.
  • the above marking method is a method of simplifying the congestion of packets in the local network node to the congestion of the exit queue.
  • the complete forwarding process of a packet by a network node will go through multiple stages such as receiving the packet at the ingress port, ingress buffering, upstream forwarding processing, upstream traffic management, switching network, downstream forwarding processing, and downstream traffic management.
  • the congestion level of the egress queue only reflects the congestion status of the packets in the egress queue during the traffic management phase, and does not fully reflect the complete internal congestion of the packets from the ingress port to the egress port of the local network node.
  • PFC technology is also a congestion control technology often used in lossless networks, but using PFC technology will cause head-of-line blocking (HOL). Packets coming from the same ingress may be forwarded to multiple egress, including congested egress and non-congested egress. However, the PFC flow control of the ingress will cause all traffic of the same priority of the ingress to stop being sent, so the flows forwarded to other non-congested egress will also be blocked, which will cause the head of the queue to block, and even lead to congestion spreading and network throughput in severe cases. volume dropped sharply.
  • HOL head-of-line blocking
  • the embodiment of the present application provides a congestion control method. By calculating the complete forwarding delay of a packet of a network node and performing ECN marking on the packet based on the delay, the delay requirements of low-latency services in network transmission can be guaranteed, and the PFC head-of-line blocking has been improved.
  • FIG. 1 shows a schematic flowchart of a congestion control method provided by an embodiment of the present application. As shown in FIG. 1 , the congestion control method may include the following steps S110 and S120.
  • step S110 according to the reception timestamp information and the transmission timestamp information of the received packet, the forwarding delay value of the packet inside the device of the node is calculated.
  • step S120 if the forwarding delay value of the packet inside the device of the local node is greater than the preset delay threshold value of the preset packet, the packet is marked with a congestion notification, so that the packet is marked with a congestion notification Congestion control is performed.
  • the complete forwarding delay of the packet within the network node can be calculated according to the reception timestamp obtained in the packet receiving stage and the transmission timestamp obtained before the packet is sent, and the When the forwarding delay is greater than the pre-configured preset delay threshold, the packet is marked with congestion notification; thus, the congestion notification marking is performed by detecting the complete forwarding delay inside the network node, which can ensure the transmission of low-latency services on the network delay requirements in .
  • the congestion control method further includes: in step S140, if it is determined that the function of the congestion notification marking does not need to be enabled for the packet, configuring a second time for the packet In step S141, before sending the message, it is determined according to the second time stamp that the congestion marking function is not enabled, and the message is forwarded in a predetermined forwarding manner.
  • the second time stamp is carried in a designated position of the message or transmitted as the associated information of the message.
  • the congestion control method provided in the embodiment of the present application may be applied to a network node device, and the network node device may be a centralized forwarding network node device or a distributed forwarding network node device. 2 and 3, the functional units of the centralized forwarding network node device and the distributed forwarding network node device provided by the embodiments of the present application and the structural relationship between them are respectively introduced.
  • FIG. 2 shows a schematic structural diagram of a centralized forwarding network node device provided by an embodiment of the present application.
  • the functional units of the centralized forwarding network node device may include: an ingress port 10 , an uplink ECN processing module 11 , a packet uplink processing module 12 , a traffic manager (TM module) 13 , and a packet downlink processing module 14 , a downlink ECN processing module 15 and an egress port 16 .
  • the ingress port 10 and the egress port 16 may be physical ports (Physical, PHY).
  • the upstream ECN processing module 11 and the packet upstream processing module 12 form an upstream pipeline for the centralized forwarding network node equipment to process the packets.
  • the message downlink processing module 14 and the downlink ECN processing module 15 form a downlink pipeline for the centralized forwarding network node equipment to process the message.
  • the packet receiving stage includes any stage of packet processing from the ingress port 10 of the node device to the forwarding chip of the node device; And, the packet processing stage before the packet is sent includes any stage of packet processing from the forwarding chip of the device of the current node to the egress port 16 of the device of the node of the current node.
  • the processing of the packet by the upstream ECN processing module 11 and the packet upstream processing module 12 the processing of the packet by the upstream ECN processing module 11 and the packet upstream processing module 12; the downstream processing of the packet by the forwarding chip of the local node device, Referring to FIG. 2 , the processing of the packet by the packet downstream processing module 14 and the downstream ECN processing module 15 .
  • the ingress port 10 can be configured to receive and buffer packets
  • the upstream ECN processing module 11 can be configured to obtain a delay threshold template
  • the upstream packet processing module 12 can be configured to perform packet processing.
  • the traffic manager 13 is configured to perform traffic management
  • the packet downlink processing module 14 can be configured to perform downlink forwarding processing of packets
  • the downlink ECN processing module 15 is configured to obtain the delay threshold template
  • the outgoing port 16 It is configured to send packets, so as to realize the complete forwarding process of a packet by a centralized forwarding node device.
  • FIG. 3 shows a schematic structural diagram of a distributed forwarding network node device provided by an embodiment of the present application.
  • the distributed forwarding network node device may include: an ingress chip port (referred to as an ingress port) 20, an ingress chip uplink ECN processing module 21, an ingress chip uplink packet processing module 22, an ingress chip uplink TM 23, a switching network Module 24 , egress chip downlink message processing module 25 , egress chip downlink TM 26 , egress chip downlink ECN processing module 27 and egress chip port (referred to as egress port) 28 .
  • Ingress chip port 20 and egress chip port 28 may be physical port PHYs.
  • the packet receiving stage includes any stage of packet processing from the ingress port 20 of the node device to the upstream forwarding chip of the node device and, the message processing stage before sending the message includes any stage of message processing from the downlink forwarding chip of the node device to the egress port 28 of the node device.
  • the processing of packets by the upstream forwarding chip of the node device please refer to FIG. 3 , the processing of packets by the upstream ECN processing module 21 of the ingress chip, the upstream packet processing module 22 of the ingress chip, and the upstream TM 23 of the ingress chip.
  • the processing of the message by the forwarding chip of the node device please refer to FIG. 3 , the processing of the message by the downlink message processing module 25 of the egress chip, the downlink TM 26 of the egress chip, and the downlink ECN processing module 27 of the egress chip.
  • the ingress chip port 20 is configured to perform packet reception and packet buffering
  • the ingress chip uplink ECN processing module 21 can be configured to obtain a delay threshold template
  • the ingress chip uplink packet processing module 22 can be configured to perform upstream forwarding processing of the message
  • the ingress chip upstream TM 23 is configured to perform upstream traffic management
  • the switching network module 24 is configured to perform switching network forwarding of the message
  • the egress chip downlink message processing module 25 is configured.
  • the egress chip downlink TM 26 is configured to perform downlink traffic management
  • the egress chip downlink ECN processing module 27 is configured to obtain a delay threshold template
  • the egress chip port (referred to as the egress port) 28 It is configured to send packets, so as to realize the complete forwarding process of a packet by the distributed forwarding node device.
  • the network node device receives the packet from the ingress port, identifies the data stream that can enable the delay ECN function according to the predetermined configuration information in the packet receiving phase, and marks the packet corresponding to the data stream with the delay ECN and stamps the system time stamp. , the timestamp is used as the packet receiving timestamp.
  • the congestion control method may further include: in step S10, in a predetermined message receiving stage, according to the flow matching information corresponding to the received message, It is judged whether the congestion notification marking function needs to be enabled for the message; in step S11, if it is determined that the congestion notification marking function needs to be enabled, the reception timestamp information of the message is obtained, and the delay threshold template and delay threshold template of the message are configured. contains the preset delay threshold value.
  • the flow matching information item includes at least one of the following items: ingress port traffic, egress port traffic, ingress port, egress port, packet priority and packet feature information.
  • the first timestamp mark is used to indicate that the congestion marking function is enabled, and the delay threshold template number is used to index a preconfigured delay threshold template including a preconfigured delay threshold value.
  • the delay marking function can be enabled for different data flows, and corresponding delay threshold templates can be configured for them.
  • Flow matching information items can be identified and matched based on granularity such as global, port, port and priority, and flow characteristics.
  • the congestion control method may further include: in step S12, determining the first time stamp of the packet and the corresponding delay threshold template number.
  • the first timestamp mark is used to indicate that the congestion marking function is enabled, and the delay threshold template number is used to index the configured delay threshold template.
  • step S110 may specifically include: before sending the message, when the first time stamp of the message is detected, calculating the difference between the received time stamp information and the acquired sending time stamp information, to obtain the time stamp of the message.
  • the forwarding delay value is obtained, and the preset delay threshold value of the packet is obtained according to the delay threshold template number corresponding to the packet.
  • the first time stamp, the received time stamp information, and the corresponding delay threshold template number are carried in a designated position of the message or transmitted as the associated information of the message.
  • the packet when it is determined according to the flow matching information item that the congestion marking function needs to be enabled, the packet can be calculated according to the reception timestamp obtained in the packet reception stage and the transmission timestamp obtained before the packet is sent.
  • the complete forwarding delay inside the network node when the forwarding delay is greater than the pre-configured preset delay threshold value, the packet is marked with congestion notification, so as to detect the complete forwarding delay inside the network node to prevent congestion
  • the notification flag guarantees the delay requirements of low-latency services in network transmission.
  • the location where the received timestamp is obtained may be any link from the ingress port PHY to the traffic manager, which is not specifically limited here.
  • the corresponding delay threshold template may be obtained based on the flow.
  • the upstream ECN processing module 11 in FIG. 2 and the upstream ECN processing module 21 on the ingress chip in FIG. 3 may be configured to obtain the corresponding delay threshold template based on the flow.
  • the congestion control method may further include: in step S21, within the local node device Forwards packets and sends them to the forwarding chip of the device on this node.
  • the congestion control method may further include: in step S22, within the local node device The downlink forwarding information that forwards the message to the device of this node through the switching network.
  • the packet with the first timestamp, the received timestamp information and the corresponding delay threshold template number is carried in a specified position of the packet, and the specified position is Inside the message, or in the header of the additional message corresponding to the switching network. That is to say, the first time stamp, the received time stamp information and the corresponding delay threshold template number may be carried in the packet or in an additional packet header of the packet corresponding to the switching network.
  • the time stamp, the received time stamp information and the delay threshold template number are transmitted together with the message inside the network node.
  • the message carries the above three pieces of information and is forwarded inside the network node.
  • the above-mentioned three pieces of information arrive with the message after passing through the upstream processing module of the upstream pipeline and the downstream of the downstream pipeline. processing module.
  • the above three pieces of information need to pass through the switching network module 24 along with the message.
  • the above three pieces of information can be carried in the message, or they can be carried in the message when the message passes through the switching network. Additional head carry is not limited here.
  • the network node device Before the packet is sent out from the egress, the network node device, for example, selects any stage of the forwarding chip's packet processing downstream pipeline to the egress port PHY, and can obtain the system timestamp as the packet sending timestamp.
  • the downlink ECN processing module 15 in FIG. 2 can be configured to obtain the forwarding delay of the packet by calculating the difference between the receiving timestamp and the sending timestamp, and passing the time stamp
  • the delay configuration template obtains the delay threshold, and when the forwarding delay is greater than the threshold configured in the delay threshold template, the packet is marked with ECN.
  • the downlink ECN processing module 27 of the egress chip in FIG. 3 can be configured to obtain the forwarding delay of the packet by calculating the difference between the receiving timestamp and the sending timestamp, and The delay threshold is obtained from the delay configuration template. When the forwarding delay is greater than the threshold configured in the delay threshold template, the packet is marked with ECN.
  • ECN marking can be performed by detecting the complete forwarding delay inside a network node, thereby ensuring the delay requirement of low-latency services in network transmission.
  • the upstream ECN processing module 11 in FIG. 2 and the upstream ECN processing module 21 of the ingress chip in FIG. 3 can implement the same or equivalent functions, and the upstream packet processing module 12 in FIG. 2 and the ingress chip in FIG. 3 process upstream packets
  • the module 22 can realize the same or equivalent function
  • the message downlink processing module 14 in FIG. 2 and the egress chip downlink message processing module 25 in FIG. 3 can realize the same or equivalent function
  • the downlink ECN processing module 27 of the egress chip in FIG. 3 can implement the same or equivalent functions.
  • the corresponding modules in the distributed forwarding network node device have the same or equivalent functions.
  • the corresponding modules in the centralized forwarding network node device have the same or equivalent functions, which are not repeated in this embodiment of the present application.
  • FIG. 4 shows a schematic flowchart of congestion marking according to an ingress port provided by an embodiment of the present application.
  • the process of performing congestion marking according to the ingress port may specifically include the following steps S41 to S46.
  • step S41 the ingress port receives the message.
  • step S42 whether the delay-based ECN marking function is enabled on the ingress port.
  • the user can select one of the service orchestrator, controller, network management, and command line to enable the delay ECN marking function for the ingress port of the network node and configure the corresponding delay threshold template for it.
  • the main parameter in the configuration template is the delay time. Threshold value.
  • the configuration information related to the enabling of the ECN marking function and the delay threshold template can be recorded in the interface attribute table or other entries, which are not specifically limited.
  • step S43 if the delay-based ECN marking function is not enabled, the packet is forwarded according to a predetermined process. In this step, if the ECN marking function is not enabled on the ingress port, the packet can be normally forwarded according to the original predetermined process.
  • step S44 if the delay-based ECN marking function has been enabled, the ingress traffic is identified, and the ECN timestamp is marked to obtain the receiving timestamp.
  • step S45 the message carries the ECN time stamp, the reception time stamp information and the delay threshold template number to the downlink processing module, and the downlink processing module parses the ECN time stamp and receives the time stamp information.
  • the downlink ECN processing module obtains the sending time stamp, calculates the delay value, and performs ECN marking on the packet according to the calculation result.
  • the network node device identifies the packet received by the ingress port. For example, the identified packet needs to be marked with three pieces of information in the upstream ECN processing module 11.
  • One information is the ECN timestamp and the second information is the specific entry receiving timestamp. information, and the third information is the delay threshold template number.
  • the role of the ECN timestamp mark is to indicate that the packet is marked with a receiving timestamp by the ECN function; the delay threshold template number is used to index the delay threshold template, and different delay threshold templates are stored for different delay requirements. Delay threshold value.
  • the ECN timestamp mark in the embodiment of the present application may be represented by one bit (bit) or multiple bits, which is not limited in the embodiment of the present application.
  • the downlink ECN processing module 15 can continue to obtain the sending timestamp and perform delay calculation after identifying the ECN timestamp, and compare it with the delay threshold template index.
  • the obtained delay threshold template is compared to obtain the delay threshold value, so as to decide whether to perform ECN marking.
  • the carrying of the above three pieces of information may be carried at any position in the message, or may be selected as a way of transmitting the associated information of the message without being carried in the message.
  • the embodiments of the present application do not limit which method is adopted, and both methods are within the protection scope of the present application.
  • the downlink processing module 14 can be responsible for the downlink forwarding processing of the message. Using the message parsing function of the downlink processing module 14, the downlink processing module 14 can be configured to Stamp information and parsing of delay threshold templates. The parsed three pieces of information are used by the downlink ECN processing module 15 . It should be noted that the analysis of the three pieces of information can also be performed in the downstream ECN processing module 15 for analysis, instead of having to be analyzed in the downstream processing module 14 .
  • the specific packet parsing location is not specifically limited in this application.
  • step S46 the downlink ECN processing module 15 obtains the transmission time stamp to calculate the delay value, and ECN marks the packet according to the calculation result.
  • the downlink ECN processing module 15 after acquiring the time stamp, time stamp information and delay threshold template parsed by the downlink processing module 14 or this module, determines whether the time stamp is valid, if the time stamp is valid, If the packet carries the receiving timestamp and needs to perform logical processing of ECN marking, the timestamp information is further obtained. If the timestamp is marked as an invalid value, it means that the packet does not need to be processed with delay-based ECN marking.
  • the time stamp is set or takes the value of the first predetermined value, it means that the packet needs to use the congestion marking function, that is, the time stamp is valid; if the time stamp is not set or takes the value of the second predetermined value, it means The packet does not need to use the congestion marking function, that is, the timestamp marking is invalid.
  • the time stamp may be set or set to a first predetermined value as the first time stamp, and the time stamp may not be set or set to a second predetermined value as the second time stamp.
  • the second predetermined value is different from the first predetermined value.
  • the downstream ECN processing module 15 continues to obtain the current system timestamp as the packet sending timestamp, and calculates the difference between the sending timestamp and the receiving timestamp. At the same time, the downlink ECN processing module 15 can look up the table according to the delay threshold template to obtain the ECN delay threshold. If the calculated time stamp difference exceeds the delay threshold preset in the delay threshold template, ECN congestion marking is performed on the packet.
  • step S10 may specifically include the following step S301.
  • step S301 if the packet is a packet received by the local node device from a predetermined ingress port, and the ingress port traffic of the local node device is lossless service traffic, it is determined that the congestion marking function needs to be enabled for the packet.
  • the congestion marking function does not need to be enabled for the packets.
  • configuring the delay threshold template of the packet in the above step S11 may specifically include: in step S302, using the delay threshold template corresponding to the delay demand service carried by the packet as the packet delay threshold template.
  • Different delay threshold templates are preset for services with different delay requirements.
  • the ingress port (or ingress interface) in step S301 may be, for example, a physical port, a LAG port, and various logical ports, which are not specifically limited herein. It should be noted that the specific meaning of enabling the ECN marking function based on the delay on the ingress port is: enabling the ECN marking function based on the delay on the flow of the ingress port, it does not mean that the ECN marking is performed on the ingress port, and the marking actions of the ECN are all It is implemented in the downstream processing flow of the message.
  • the traffic of an ingress port is known to be lossless service traffic that is sensitive to packet loss and delay, you can enable delay-based ECN marking on the ingress port, so as to achieve the purpose of low-latency forwarding of traffic on the ingress port.
  • the destination end of the packet After receiving the packet marked with ECN, the destination end of the packet sends flow control information to notify the sender to slow down the flow.
  • FIG. 5 shows a schematic flowchart of congestion marking according to an egress port provided by an embodiment of the present application.
  • IP traffic is a phenomenon generated by highly parallelized cloud applications in data centers.
  • congestion will occur at the exit of the network node connecting the client. This has also been shown to be the cause of most packet loss or increased latency in data centers.
  • the ECN marking function based on delay is configured at the egress of the server connected to the client from the leaf node of the data center, so as to effectively alleviate the packet loss or increase in delay caused by incast.
  • the process of performing congestion marking according to the egress port may specifically include the following steps S51 to S58.
  • step S51 the ingress port receives the message.
  • step S52 the outgoing port number is obtained by checking the message forwarding table.
  • the network node searches the upstream pipeline to obtain the outgoing port number through the forwarding table.
  • step S53 the preset first ECN mark matching table is checked.
  • the configuration information may be recorded in the first ECN marker matching table.
  • the table lookup key is the outgoing port number
  • the table lookup result is the delay threshold template.
  • the storage and search form of the specific table is not limited, and it can be an access control list (Access Control Lists, ACL) table entry, or other types of kernel memory (Random Access Memory, RAM) table and so on.
  • step S54 it is determined whether the table lookup result hits.
  • step S55 if there is no hit, the packet is forwarded according to the predetermined flow.
  • step S56 if there is a match, the packet is marked with an ECN time stamp, a receiving time stamp is obtained, and a delay threshold template is obtained by checking the ECN mark matching table.
  • the upstream ECN processing module 11 continues to look up the first ECN tag matching table using the outgoing port number of the packet obtained by looking up the forwarding table as a key. If it is not hit, it means that the egress ECN marking is not required for this packet. If it matches, the delay threshold template number is obtained from the search result, and the ECN timestamp is set to the packet, and the system timestamp is obtained as the packet reception timestamp. So far, the three pieces of information that need to be marked on the uplink of the packet have been completely obtained.
  • step S57 the message carries the ECN time stamp, the reception time stamp information and the delay threshold template number to the message downstream processing module 14, and the message downstream processing module 14 parses the ECN time stamp and the reception time stamp information.
  • step S45 for the analysis of the ECN time stamp and the received time stamp information, reference may be made to step S45 described in conjunction with FIG. 4 , which will not be repeated here.
  • step S58 the downlink ECN processing module 15 obtains the sending time stamp, calculates the delay value, and performs ECN marking on the packet according to the calculation result.
  • Packets can carry three pieces of information and are forwarded inside network nodes.
  • the message downlink processing module 14 may be responsible for completing the analysis of the received timestamp, timestamp information and delay threshold template, and the downlink ECN processing module 15 is responsible for judging the received timestamp, obtaining the sending timestamp, and calculating the packet forwarding Delay and compare the delay with the preset threshold to decide whether to mark the packet with ECN congestion.
  • the ECN time stamp and the received time stamp information reference may be made to step S45 described in conjunction with FIG. 4 , which will not be repeated here.
  • the flow matching information is the outgoing port; the foregoing step S10 may specifically include the following steps S311 and S312.
  • step S311 if the message is a message received by the local node device as a predetermined server, and the egress port of the predetermined server is configured to send many-to-one Incast traffic data in the predetermined data center network, the predetermined The message forwarding table determines the outgoing port number of the message; in step S312, if the delay threshold template corresponding to the outgoing port number is found in the preset first congestion notification flag matching table, it is determined that the message needs to be enabled Congestion notification marking function.
  • the configuration of the delay threshold template number to be carried by the message in the above step S11 may specifically include: in step S314, the found delay threshold template number corresponding to the outgoing port number is used as the delay threshold to be carried. Template number.
  • the delay threshold template corresponding to the outgoing port number is not found in the preset first congestion notification flag matching table, it may be determined that the congestion notification flag function does not need to be enabled for the packet .
  • the destination end of the packet After receiving the packet marked with ECN, the destination end of the packet sends flow control information to notify the sender to slow down the flow.
  • the congestion control method may further include: in step S315, setting the delay threshold template number to be carried as Null value, and after confirming that the packet has the congestion marking function enabled, and before sending the packet, obtain the delay threshold template number corresponding to the outbound port number from the preconfigured downlink outbound port attribute table.
  • the delay threshold template storing the delay threshold can also be obtained from the outbound interface attribute table in the downstream processing module.
  • the advantage of the method of obtaining the delay threshold template in the attribute table of the downstream outbound interface is that the packet forwarded from the upstream pipeline to the downstream pipeline only needs to carry the received timestamp and timestamp information, and does not need to carry the delay threshold template, thus reducing the need for additional information.
  • the occupation of the effective bandwidth of the switching network improves the acceleration ratio of the switching network. Specifically, whether the delay threshold template is acquired in the uplink and carried to the downlink processing module 14 of the packet, or the downlink processing module 14 directly acquires the delay threshold template, is not limited in this application.
  • FIG. 6 shows a schematic flowchart of congestion marking according to ingress ports and priorities provided by an embodiment of the present application.
  • PFC is a flow control technology often used in lossless networks.
  • PFC implements flow control based on ingress and packet priority. This flow control is the back pressure from the congested node to the upstream node.
  • the disadvantage is that it will cause head-of-line blocking. . That is to say, in view of the obvious defect that PFC does not consider the congestion of the egress, and also performs back-pressure processing on the packets forwarded to the uncongested egress, based on the above-mentioned PFC application scenario, the ingress-based network can be enabled on the data center network node. and delay ECN marking function of packet priority.
  • the process of performing congestion marking according to the ingress port and the priority may specifically include the following steps S61-S68.
  • step S61 the ingress port receives the message.
  • step S62 the ingress port number and the packet priority are obtained.
  • the network node device After the network node device receives the message, it will obtain the priority of the message in the upstream pipeline.
  • the priority may be obtained by mapping the 802.1p field in the Ethernet header, or may be obtained by mapping the Differentiated Services Code Point (DSCP) field in the IP header, or by other flow classification means. , which is not limited here.
  • DSCP Differentiated Services Code Point
  • step S63 the preset second ECN mark matching table is checked.
  • the user can select one of the service orchestrator, controller, network management, and command line to enable the ingress and priority-based delay ECN marking function for network nodes and configure the delay threshold template.
  • the main parameter is the delay threshold.
  • the configuration information may be recorded in the second ECN marker matching table.
  • the table lookup keyword is "ingress port number + packet priority”
  • the table lookup result is a delay threshold template.
  • the storage and search form of the specific table is not limited, and it can be an ACL entry or other type of RAM table.
  • step S64 it is determined whether the table lookup result hits.
  • step S65 if there is no hit, the packet is forwarded according to the predetermined flow.
  • step S66 if it hits, the packet is marked with an ECN timestamp, the received timestamp is obtained, and the delay threshold template number is obtained by checking the ECN mark matching table.
  • the upstream ECN processing module 11 continues to search the second ECN mark matching table with the ingress port number and the packet priority as the key. If it is not hit, it means that ECN marking of ingress and packet priority is not required. If it matches, the delay threshold template number is obtained from the search result, and the ECN timestamp is set to the packet, and the system timestamp is obtained as the packet reception timestamp. So far, the three pieces of information that need to be marked in the incoming packet have been completely obtained.
  • Packets can carry three pieces of information and are forwarded inside network nodes.
  • step S67 the message carries the ECN time stamp, the reception time stamp information and the delay threshold template number to the message downstream processing module 14, and the message downstream processing module 14 parses the ECN time stamp and the reception time stamp information.
  • the ECN time stamp and the received time stamp information in step S67 reference may be made to step S45 described in conjunction with FIG. 4, and details are not repeated here.
  • step S68 the downlink ECN processing module 15 obtains the transmission time stamp to calculate the delay value, and ECN marks the packet according to the calculation result.
  • the downlink ECN processing module 15 is responsible for judging the receiving timestamp, obtaining the sending timestamp, calculating the packet forwarding delay, and determining whether to perform ECN congestion marking on the packet according to the comparison between the delay and the preset threshold.
  • step S46 described in conjunction with FIG. 4 , which will not be repeated here.
  • the destination end of the packet After receiving the packet marked with ECN, the destination end of the packet sends flow control information to notify the sender to slow down the flow.
  • the flow matching information is the ingress port and the packet priority; then the above step S10 may specifically include the following steps S321 and S322.
  • step S321 if the message is a message with priority information received by the local node device from the predetermined ingress port, and the ingress port traffic of the local node device is lossless service traffic, and the preset second congestion notification flag
  • the delay threshold module number corresponding to the ingress port number and priority information of the message is found, it is determined that the congestion notification marking function needs to be enabled for the message; in step S322, if the ingress port number and the priority information are found.
  • the delay threshold module number corresponding to the priority information determines that the congestion notification marking function needs to be enabled for the packet.
  • configuring the delay threshold template of the message in the above step S11 may specifically include: in step S323, using the found delay threshold module corresponding to the ingress port number and priority information as the delay threshold of the message template.
  • the delay-based ECN marking function considers the complete internal forwarding delay. For packets that are not congested at the egress, the delay will not increase due to congestion in the inbound traffic manager and the outbound traffic manager. The packet delay will not exceed the preset threshold, so ECN congestion marking will not be performed; only packets whose outgoing interface is a congested egress will be ECN congestion marked because the forwarding delay will exceed the preset threshold. The destination of the packet only informs the sender to slow down the flow marked by the ECN, which will not affect the non-congested flow, thus effectively improving the head-of-line blocking and congestion spread of the PFC.
  • FIG. 7 shows a schematic flowchart of congestion marking according to egress ports and priorities provided by an embodiment of the present application.
  • the common ECN congestion marking function is enabled based on the egress and packet priority, but it only decides whether to perform ECN congestion according to the congestion status of the egress queue. mark.
  • the internal delay-based ECN marking of the present application can also be enabled based on egress and packet priority, but it reflects the complete congestion situation inside the forwarding node. Based on the above scenarios, the delay ECN marking function can be configured on the network node based on egress and priority.
  • the process of marking the congestion according to the egress port and the priority may specifically include the following steps S71-S78.
  • step S71 the ingress port receives the message.
  • step S72 the outgoing port number and the packet priority are obtained.
  • the network node searches the upstream pipeline to obtain the outgoing port number through the forwarding table.
  • the priority of the packet will be obtained in the upstream pipeline.
  • the priority can be obtained by mapping the 802.1p field in the Ethernet header, or by the DSCP mapping in the IP header, or by other flow classification methods. No restrictions.
  • step S73 the preset third ECN mark matching table is checked.
  • the user can select one of the service orchestrator, controller, network management, and command line to enable the delay ECN marking function for network nodes based on "egress + priority" and configure the delay threshold template.
  • the main parameter in is the delay threshold.
  • the configuration information may be recorded in the third ECN mark matching table.
  • the table lookup key is the outgoing port number and the packet priority, and the table lookup result is the delay threshold template.
  • the storage and search form of the specific table is not limited, and it may be an ACL entry, or other type of RAM table.
  • step S74 it is determined whether the table lookup result hits.
  • step S75 if there is no hit, the packet is forwarded according to the predetermined flow.
  • step S76 if there is a match, the packet is marked with an ECN time stamp, the receiving time stamp is obtained, and the delay threshold template is obtained by checking the ECN mark matching table.
  • the upstream ECN processing module 11 continues to search the third ECN mark matching table with the egress port number and the packet priority as keywords. If it is not hit, it means that ECN congestion marking is not required. If it matches, the delay threshold template number is obtained from the search result, and the ECN timestamp is set to the packet, and the system timestamp is obtained as the packet reception timestamp. So far, the three pieces of information that need to be marked in the incoming packet have been completely obtained.
  • step S77 the message carries the ECN time stamp, the reception time stamp information and the delay threshold template number to the message downstream processing module 14, and the message downstream processing module 14 parses the ECN time stamp and the reception time stamp information.
  • Packets can carry three pieces of information and are forwarded inside network nodes.
  • the downlink processing module is responsible for completing the parsing of the received time stamp, time stamp information and delay threshold template. Reference may be made to step S45 described in conjunction with FIG. 4 , which will not be repeated here.
  • step S78 the downlink ECN processing module 15 obtains the transmission time stamp to calculate the delay value, and performs ECN marking on the packet according to the calculation result.
  • the downlink ECN processing module 15 is responsible for judging the receiving timestamp, obtaining the sending timestamp, calculating the packet forwarding delay, and determining whether to perform ECN congestion marking on the packet according to the comparison between the delay and the preset threshold. Please refer to step S46 described in conjunction with FIG. 4 , which will not be repeated here.
  • the destination end of the packet After receiving the packet marked with ECN, the destination end of the packet sends flow control information to notify the sender to slow down the flow.
  • the flow matching information is outgoing port and priority information; then the above step S10 may specifically include the following steps S331 and S332.
  • step S331 the outgoing port number of the message is determined by searching the preset message forwarding table, and the priority information of the message is obtained; in step S332, if in the preset third congestion notification mark matching table, If the delay threshold module corresponding to the outgoing port number and priority information is found, it is determined that the congestion notification marking function needs to be enabled for the packet.
  • the delay threshold module corresponding to the outgoing port number and priority information is not found in the preset third congestion notification flag matching table, it is determined that there is no need to enable congestion on the packet Notification tagging feature.
  • configuring the delay threshold template number to be carried by the message in the above step S11 may specifically include: in step S334, the found delay threshold module number corresponding to the outbound port number and priority information is used as the number to be carried. delay threshold template number.
  • the network node configures the delay ECN marking function based on the egress and priority. After receiving the packet with the ECN marking, the destination end of the packet sends flow control information to notify the sending end to slow down the flow.
  • FIG. 8 shows a schematic flowchart of congestion marking according to an access control list provided by an embodiment of the present application.
  • the traffic that needs to be marked with delay ECN can be matched according to the configured packet feature fields, and the fields that can be matched by the ACL can be any of the packet header and packet content.
  • the feature field can also match the metadata data generated by the packet in the upstream water, which is not limited here.
  • the process of performing congestion marking according to the ACL may specifically include the following steps S81 to S88.
  • step S81 the ingress port receives the message.
  • step S82 the ACL is parsed to find the required keyword.
  • the upstream pipeline will check the ACL table for flow matching in the ACL stage. If there is no rule matching, it means that ECN congestion marking is not required. If it matches, the delay threshold template number is obtained from the search result, and the ECN timestamp is set to the packet, and the system timestamp is obtained as the packet reception timestamp. So far, the three pieces of information that need to be marked in the incoming packet have been completely obtained.
  • step S83 the preset ACL table is checked.
  • the user can select one of the service orchestrator, controller, network management, and command line to enable the delay ECN marking function for network nodes based on ACL and configure the delay threshold template.
  • the main parameters in the configuration template are: Delay threshold.
  • the configuration information is recorded in the ACL table.
  • the ACL table lookup keyword is any of the fields described above, and the table lookup result is the delay threshold template.
  • step S84 it is determined whether the table lookup result hits.
  • step S85 if there is no hit, the packet is forwarded according to the predetermined flow.
  • step S86 if there is a match, the packet is marked with an ECN time stamp, the receiving time stamp is obtained, and the delay threshold template is obtained by checking the ECN mark matching table.
  • the upstream pipeline will check the ACL table for flow matching in the ACL stage. If there is no rule matching, it means that ECN congestion marking is not required. If it matches, the delay threshold template number is obtained from the search result, and the ECN timestamp is set to the packet, and the system timestamp is obtained as the packet reception timestamp. So far, the three pieces of information that need to be marked in the incoming packet have been completely obtained.
  • Packets can carry three pieces of information and are forwarded inside network nodes.
  • step S87 the message carries the ECN time stamp, the reception time stamp information and the delay threshold template number to the message downstream processing module 14, and the message downstream processing module 14 parses the ECN time stamp and the reception time stamp information.
  • step S45 for the analysis of the ECN time stamp and the received time stamp information, reference may be made to step S45 described in conjunction with FIG. 4 , which will not be repeated here.
  • step S88 the downlink ECN processing module 15 obtains the transmission time stamp, calculates the delay value, and performs ECN marking on the packet according to the calculation result.
  • the packet forwarding delay is calculated and whether to perform ECN congestion marking on the packet is determined according to the comparison between the delay and the preset threshold.
  • the flow matching information is packet feature information; then the above step S10 may specifically include the following step S341.
  • step S341 if the delay threshold module number corresponding to the packet feature information is found in the preset fourth congestion notification flag matching table, it is determined that the congestion notification flag function needs to be enabled for the message.
  • the message feature information includes: header information, any feature field information of the message content, or metadata generated in the message receiving phase of the message.
  • the delay threshold module number corresponding to the packet feature information is not found in the preset fourth congestion notification flag matching table, it is determined that the congestion notification flag does not need to be enabled for the packet Features.
  • configuring the delay threshold template number that needs to be carried in the message in the above step S11 may specifically include: in step S343, using the found delay threshold module corresponding to the message feature information as the delay corresponding to the message Threshold template.
  • the traffic that needs to be marked with delay ECN can be matched according to the configured packet feature fields.
  • the destination end of the packet After receiving the packet with the ECN mark, the destination end of the packet sends flow control information to notify the sender to slow down the flow. .
  • FIG. 9 shows a schematic structural diagram of a network node provided by an embodiment of the present application that can achieve time stamp information acquisition and congestion notification marking on a physical interface.
  • the processing of receiving timestamps is performed in the upstream ECN processing module 11 , and the sending timestamps and ECN markings are both completed in the downstream ECN processing module 15 .
  • the embodiment of the present application also provides a method for marking the receiving timestamp on the ingress PHY module and implementing downlink ECN processing logic on the egress PHY module. This method makes the location of the receiving and sending timestamps closer to the receiving and sending ports, so that the Accurate response message complete forwarding delay within the network node.
  • the network node may include an ingress port module 31 , a flow classification and reception timestamp processing module 32 and an egress port module 33 .
  • the ingress port module 31 may include an incoming physical port PHY 311 and a receiving time stamp acquisition logic unit 312.
  • the flow classification and reception timestamp processing module 32 may include a flow classification processing unit 321 and a reception timestamp processing unit 322 .
  • the outgoing port module 33 may include a downstream ENC processing logic unit 331 and an outgoing physical port PHY 332.
  • the ingress delay ECN flag and the outgoing delay ECN flag enable can be configured on the ingress port module 31 and the egress port module 33 .
  • the user can select one of the service orchestrator, controller, network management, and command line to enable the delay ECN marking function for network nodes and configure the delay threshold template.
  • the main parameter in the configuration template is the delay threshold. limit.
  • the packet After the network node receives the packet, if the receiving direction of the ingress port module 31 is not configured with ECN marking enabled, the packet will bypass the reception timestamp acquisition logic unit 312 and be transmitted to the flow classification and reception timestamp processing module of the upstream pipeline. 32. If the receiving direction of the ingress port module 31 is configured with ECN marking enabled, the ingress port module 31 will add a reception time stamp to the received message, and transmit the message carrying the reception time stamp to the flow classification of the upstream pipeline and obtain the reception time stamp. Logic unit 312 .
  • the flow classification and reception timestamp processing module 32 can use the flow classification processing unit 321 to perform flow classification on the packets, and through the reception timestamp processing unit 322, perform the above-mentioned delay threshold-based template mapping on the delay ECN mark.
  • the processing logic of the uplink delay ECN can also be completely placed in the ingress port module 31 to complete, which is not limited here.
  • the packet When the packet arrives at the egress port module 33, if the transmission direction of the egress port module 33 does not enable the delay ECN marking, the packet bypasses the downstream ENC processing logic unit 331 of the egress port module 33 and is directly transmitted to the PHY for processing. If the delay ECN marking is enabled in the sending direction of the outgoing port module 33, the complete logic of downlink ECN processing needs to be completed in the PHY module, including obtaining the packet sending timestamp; calculating the difference between the receiving timestamp and the sending timestamp is the packet
  • the delay threshold is obtained from the delay threshold template. If the actual forwarding delay exceeds the configured delay threshold, the packet will be marked with ECN, otherwise it will not be marked.
  • the delay threshold value may also be obtained in the downstream pipeline stage before the PHY module and then brought to the PHY module, which is not limited here.
  • the packet After the downstream ECN processing logic of the egress port module 33 performs ECN marking on the packet, the packet is further processed by the egress PHY and sent out from the egress port. After receiving the packet marked with ECN, the destination end of the packet sends flow control information to notify the sender to slow down the flow.
  • the receiving time stamp information is the time stamp information obtained from the physical port that receives the message, or the system time stamp information obtained in the predetermined message receiving stage; the sending time stamp information is obtained from the sending time stamp information.
  • the receiving timestamp can be printed on the ingress PHY module, and the receiving timestamp can be printed on the egress PHY module, so as to realize the downstream ECN processing logic. This method makes the position of the receiving and sending timestamps closer to the receiving and sending ports, so it can respond more accurately The complete forwarding delay of the packet within the network node.
  • the congestion control method may further include: in step S150, sending a packet carrying a congestion notification flag to a predetermined destination device, and a packet carrying a congestion notification flag
  • the message is used in the destination device to trigger the destination device to send flow control information, and the flow control information is used to notify the sender of the data stream corresponding to the message to slow down the data stream.
  • the method for marking the ECN by detecting the complete forwarding delay inside the network node calculates the complete packet forwarding delay of the network node and performs the packet processing based on the delay ECN marking, thus ensuring the delay requirements of low-latency services in network transmission.
  • the ECN marking technology based on the complete delay inside the network node proposed in the embodiment of the present application is a supplement to the related lossless network ECN marking method based on queue congestion, and also has a good improvement on the head-of-line blocking of the PFC.
  • FIG. 10 shows a schematic structural diagram of a congestion control apparatus provided by an embodiment of the present application.
  • the congestion control apparatus includes a forwarding delay calculation module 410 and a congestion notification marking module 420 .
  • the forwarding delay calculation module 410 is configured to calculate the forwarding delay value of the packet inside the device of the node according to the receiving timestamp information and the sending timestamp information of the received packet.
  • the congestion notification marking module 420 is configured to mark the packet for congestion notification if the forwarding delay value of the packet inside the device of the local node is greater than the preset delay threshold value of the preset packet, so as to pass the congestion notification Labels perform congestion control on packets.
  • the congestion control device by calculating the complete forwarding delay of the message of the network node and marking the message with ECN based on the delay, the delay requirement of the low-latency service in network transmission is guaranteed; and,
  • the ECN marking technology based on the complete delay inside the network node is a supplement to the related lossless network ECN marking method based on queue congestion, and also improves the head-of-line blocking of the PFC.
  • the congestion control device may further include: a function activation judgment unit, configured to, in a predetermined packet receiving stage, judge whether the received packet is required according to the flow matching information corresponding to the received packet.
  • the congestion notification marking function is enabled for the message, and the flow matching information includes at least one of the following items: ingress port traffic, egress port traffic, ingress port, egress port, message priority, and message feature information; information configuration unit, which is If it is determined that the congestion notification marking function needs to be enabled, the received timestamp information of the packet is obtained, and the delay threshold template of the packet is configured.
  • the delay threshold template contains the preset delay threshold value.
  • the congestion control apparatus is further configured to: determine a first time stamp of the packet and a corresponding delay threshold template number, where the first time stamp is used to indicate that the congestion marking function is enabled, The delay threshold template number is used to index the configured delay threshold template; the forwarding delay calculation module 410 is further configured to: before sending the packet, when the first time stamp of the packet is detected, calculate the receiving time The difference between the timestamp information and the obtained sending timestamp information is used to obtain the forwarding delay value of the packet, and the preset delay threshold value of the packet is obtained according to the delay threshold template number corresponding to the packet.
  • the first time stamp, the received time stamp information, and the corresponding delay threshold template number are carried in a designated position of the message or transmitted as the associated information of the message.
  • the flow matching information includes an ingress port;
  • the function activation judging unit may be specifically configured as: if the message is a message received by the local node device from a predetermined ingress port, and the local node device has If the traffic of the ingress port is lossless service traffic, it is determined that the congestion marking function needs to be enabled for the packet;
  • the information configuration unit is specifically configured to: use the delay threshold template corresponding to the delay demand service carried by the packet as the packet's Delay threshold template, different delay threshold templates are preset for different delay demand services.
  • the flow matching information item includes an egress port; the congestion control apparatus may further include: if the packet is a packet received by the local node device as a predetermined server, and the egress port of the predetermined server is configured to send Predetermining the many-to-one Incast traffic data in the data center network, the outgoing port number of the message is determined by looking up the preset message forwarding table; the function activation judging unit can be specifically configured as: if the preset first congestion In the notification tag matching table, if the delay threshold template corresponding to the outgoing port number is found, it is determined that the congestion notification tagging function needs to be enabled for the message; the information configuration unit is also configured to find the time corresponding to the outbound port number. Delay threshold template, which is used as the delay threshold template for packets.
  • the information configuration unit may be further configured to set the delay threshold template number to be carried to a null value, and after determining that the packet has the congestion marking function enabled, and before sending the packet , and obtain the delay threshold template corresponding to the outgoing port number from the preconfigured downlink outgoing port attribute table.
  • the flow matching information is the ingress port and the packet priority;
  • the function activation judging unit may be specifically configured as: if the packet is received by the local node device from a predetermined ingress port, it has a priority information, and the ingress port traffic of this node device is lossless service traffic, and the delay threshold corresponding to the ingress port number and priority information of the packet is found in the preset second congestion notification flag matching table When the module number is set, it is determined that the congestion notification marking function needs to be enabled for the packet.
  • the information configuration unit may also be configured to use the found delay threshold module corresponding to the ingress port number and priority information as the delay threshold template of the packet.
  • the flow matching information item is outgoing port and priority information
  • the congestion control apparatus may further include: an outgoing port and priority acquiring module, configured to determine by searching a preset message forwarding table The outgoing port number of the packet is obtained, and the priority information of the packet is obtained;
  • the function activation judging unit can also be specifically configured as: if the outgoing port number and priority are found in the preset third congestion notification mark matching table The delay threshold module corresponding to the level information determines that the congestion notification marking function needs to be enabled for the packet;
  • the information configuration unit can also be configured to find the delay threshold module number corresponding to the outgoing port number and priority information, Used as a delay threshold template for packets.
  • the flow matching information item is packet feature information; the function activation judging unit may be specifically configured to: if a preset fourth congestion notification mark matching table is found, a packet matching the packet is found.
  • the delay threshold module number corresponding to the feature information then it is determined that the congestion notification marking function needs to be enabled for the message.
  • the message feature information includes: header information, any feature field information of the message content, or the message generated during the message receiving stage. Metadata; the information configuration unit may also be configured to use the found delay threshold module corresponding to the packet feature information as a delay threshold template corresponding to the packet.
  • the information configuration unit is further configured to configure the second timestamp mark of the packet if it is determined that the function of congestion notification marking does not need to be enabled for the packet;
  • the message forwarding module is configured to, before sending the message, determine that the congestion marking function is not enabled according to the second time stamp, and forward the message according to a predetermined forwarding method, and the second time stamp is carried in the specified position of the message or used as a message The accompanying information of the text is transmitted.
  • the receiving timestamp information is the timestamp information obtained from the physical port that receives the packet, or the system timestamp information obtained during a predetermined packet receiving stage;
  • the sending timestamp information is obtained from the sending System timestamp information obtained in the packet processing stage before the packet, or timestamp information obtained from the physical port that sends the packet.
  • the packet receiving phase includes any packet processing from the ingress port of the local node device to the forwarding chip of the local node device. phase, and the packet processing phase before sending the packet, including any phase of packet processing from the forwarding chip of the device of the current node to the egress port of the device of the node of the current node.
  • the packet receiving phase includes any process of packet processing from the ingress port of the local node device to the upstream forwarding chip of the local node device.
  • the first stage, as well as the message processing stage before sending the message includes any stage of packet processing from the downlink forwarding chip of the device of the current node to the egress port of the device of the node of the current node.
  • the congestion control apparatus may further include: an internal forwarding module configured to carry the first timestamp mark and the reception timestamp in the message After the information and the corresponding delay threshold template number, and before sending the message, the received message is forwarded inside the local node device, and the message is sent to the forwarding chip of the local node device.
  • the congestion control apparatus may further include: carrying a first time stamp, receiving time stamp information and a corresponding delay threshold in the message After the template number and before sending the message, the received message is forwarded to the downlink forwarding information of the local node device through the switching network inside the local node device.
  • the packet with the first timestamp, the receiving timestamp information, and the corresponding delay threshold template number is carried in the specified position of the packet, and the specified position is inside the packet or the additional corresponding to the switching network in the header of the message.
  • the congestion control apparatus may further include a packet sending module, which is configured to send a packet carrying the congestion notification mark to a predetermined destination device after marking the packet with a congestion notification mark, carrying the congestion notification mark.
  • the message marked with notification is used in the destination device to trigger the destination device to send flow control information, and the flow control information is used to notify the sender of the data stream corresponding to the message to slow down the data stream.
  • the method for marking the ECN by detecting the complete forwarding delay inside the network node ensures the delay requirement of the low-latency service in the network transmission.
  • the congestion control device can supplement the related lossless network's ECN marking method based on queue congestion, and at the same time, it can also improve the PFC head-of-line congestion.
  • FIG. 11 shows a schematic diagram of an exemplary hardware architecture of a computing device provided by an embodiment of the present application.
  • the computing device 500 includes an input device 501 , an input interface 502 , a central processing unit 503 , a memory 504 , an output interface 505 , and an output device 506 .
  • the input interface 502, the central processing unit 503, the memory 504, and the output interface 505 are connected to each other through the bus 510, and the input device 501 and the output device 506 are respectively connected to the bus 510 through the input interface 502 and the output interface 505, and then to other parts of the computing device 500. Component connection.
  • the input device 501 receives input information from the outside, and transmits the input information to the central processing unit 503 through the input interface 502; the central processing unit 503 processes the input information based on the computer-executable instructions stored in the memory 504 to generate output information, temporarily or permanently store the output information in the memory 504, and then transmit the output information to the output device 506 through the output interface 505; the output device 506 outputs the output information to the outside of the computing device 500 for the user to use.
  • the computing device shown in FIG. 11 may be implemented as a network node device, and the network node device may include: a memory configured to store programs; a processor configured to run the memory to execute at least one step of the congestion control method provided by the embodiment of the present application.
  • the various embodiments of the present application may be implemented in hardware or special purpose circuits, software, logic, or any combination thereof.
  • some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software that may be executed by a controller, microprocessor or other computing device, although the application is not limited thereto.
  • Embodiments of the present application may be implemented by the execution of computer program instructions by a data processor of a mobile device, eg in a processor entity, or by hardware, or by a combination of software and hardware.
  • Computer program instructions may be assembly instructions, Instruction Set Architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or written in any combination of one or more programming languages source or object code.
  • ISA Instruction Set Architecture
  • the block diagrams of any logic flow in the figures of the present application may represent program steps, or may represent interconnected logic circuits, modules and functions, or may represent a combination of program steps and logic circuits, modules and functions.
  • Computer programs can be stored on memory.
  • the memory may be of any type suitable for the local technical environment and may be implemented using any suitable data storage technology, such as, but not limited to, Read-Only Memory (ROM), Random Access Memory (RAM), optical Memory devices and systems (Digital Versatile Disc, DVD or compact disc CD) etc.
  • Computer-readable media may include non-transitory storage media.
  • the data processor may be of any type suitable for the local technical environment, such as, but not limited to, a general purpose computer, a special purpose computer, a microprocessor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC) ), Field Programmable Gate Array (FGPA), and processors based on multi-core processor architectures.
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • FGPA Field Programmable Gate Array

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及通信技术领域,并提供一种拥塞控制方法和装置、网络节点设备,及计算机可读存储介质。该方法包括:根据接收到的报文的接收时间戳信息和发送时间戳信息,计算报文在本节点设备内部的转发时延值;以及,响应于报文在本节点设备内部的转发时延值大于报文的预设时延门限值,对报文进行拥塞通知标记,以通过拥塞通知标记对报文进行拥塞控制。

Description

拥塞控制方法和装置、网络节点设备,及计算机可读存储介质
本申请要求在2020年8月7日提交中国专利局、申请号为202010789061.6的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域。
背景技术
数据中心在线密集服务、深度学习、高频交易等应用对传统以太网提出了挑战。传统以太网络是有损网络,会产生局部拥塞,从而导致延迟、丢包、网络吞吐率下降等性能损失,影响客户体验。因此,数据中心的低时延业务需要无损网络的支撑,并对无损网络中的报文传输进行拥塞控制。
发明内容
本申请实施例的一个方面提供一种拥塞控制方法,包括:根据接收到的报文的接收时间戳信息和发送时间戳信息,计算报文在本节点设备内部的转发时延值;以及,响应于报文在本节点设备内部的转发时延值大于报文的预设时延门限值,对报文进行拥塞通知标记,以通过拥塞通知标记对报文进行拥塞控制。
本申请实施例的另一个方面提供一种拥塞控制装置,包括:时延门限计算模块,被配置为根据接收到的报文的接收时间戳信息和发送时间戳信息,计算报文在本节点设备内部的转发时延值;以及,拥塞通知标记携带模块,被配置为响应于报文在本节点设备内部的转发时延值大于报文的预设时延门限值,对报文进行拥塞通知标记,以通过拥塞通知标记对报文进行拥塞控制。
本申请实施例的另一个方面提供一种网络节点设备,包括:一个或多个处理器;以及,存储器,其上存储有一个或多个程序,当一 个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本申请实施例提供的拥塞控制方法的至少一个步骤。
本申请实施例的另一个方面提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请实施例提供的拥塞控制方法的至少一个步骤。
附图说明
图1示出本申请实施例提供的拥塞控制方法的流程示意图。
图2示出本申请实施例提供的集中式转发网络节点设备的结构示意图。
图3示出本申请实施例提供的分布式转发网络节点设备的结构示意图。
图4示出本申请实施例提供的根据入端口进行拥塞标记的流程示意图。
图5示出本申请实施例提供的根据出端口进行拥塞标记的流程示意图。
图6示出本申请实施例提供的根据入端口和优先级进行拥塞标记的流程示意图。
图7示出本申请实施例提供的根据出端口和优先级进行拥塞标记的流程示意图。
图8示出本申请实施例提供的根据访问控制列表进行拥塞标记的流程示意图。
图9示出本申请实施例提供的能够实现在物理接口获取时间戳信息和进行拥塞通知标记的网络节点结构示意图。
图10示出本申请实施例提供的拥塞控制装置的结构示意图。
图11示出本申请实施例提供的计算设备的示例性硬件架构的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下文中将 结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在本申请实施例中,数据中心低延时业务需要无损网络的支撑,而显性拥塞通知(Explicit Congestion Notification,ECN)和基于优先级的流量控制(Priority-based Flow Control,PFC)技术作为避免拥塞的重要手段经常应用于无损网络的拥塞控制中。
在征求评议文件(Request For Comments,RFC)3168中,将互联网协议(Internet Protocol,IP)头中的服务条款(Terms of Service,TOS)保留位重新定义为ECN字段。当前允许通过以太网使用远程直接内存访问(Remote Direct Memory Access,RDMA)的网络协议(RDMA over Converged Ethernet,ROCE)网络,利用ECN拥塞标记技术实现网络节点的拥塞控制。
对于使能ECN功能的网络节点,通常会在出口队列拥塞时对具备ECN能力的报文进行ECN拥塞标记,标记为拥塞的报文达目的端后,目的端会反馈拥塞信息到报文发送的源端,报文发送的源端对拥塞流进行降速处理。降速的目的一方面可以避免因网络节点出现拥塞丢包,另一方面对于时延敏感业务也通过降速避免了本地缓存大量报文从而带来更大的传输时延。在网络节点上,传统的ECN标记方法通常是报文在入队或出队操作时,根据出口队列拥塞程度来决定是否进行ECN标记。若队列深度超过了设置的ECN标记门限,则对报文进行ECN标记,否则对报文不进行ECN标记。
上述标记方式是把报文在本网络节点的拥塞简化为用出口队列的拥塞来表示的方法。然而网络节点对于一个报文的完整转发流程,会经过入端口接收报文、入口缓存、上行转发处理、上行流量管理、交换网、下行转发处理、下行流量管理等多个阶段。出口队列的拥塞程度只是反应了流量管理阶段报文在出口队列的拥塞状况,并没有完整反应报文在本网络节点从入端口接收报文到出端口发送的内部完整的拥塞情况。
实际应用场景中,报文在内部转发过程中会经过多处资源的竞争,这些资源包括入口缓存资源、转发查表资源、报文上行流量管理 器(Traffic Manager,TM)资源、交换网转发及下行TM资源等,这些资源的竞争都可能会引起报文的拥塞及转发时延增加。因此,只通过出口队列的拥塞程度来进行ECN标记具有局限性,不能完整反应报文在整个网络节点因资源竞争导致的时延。在无损网络的应用中存在的大量时延敏感业务,对这些业务低时延的保障不仅需要感知出口队列的拥塞,同时还需要感知整个网络节点转发的时延来进行相应的拥塞控制,从避免网络节点时延偏大带来较差的客户体验。
PFC技术也是无损网络经常使用的拥塞控制技术,但是利用PFC技术会引起队头阻塞(Head-of-line blocking,HOL)。同一入口进来的报文可能转发到多个出口,包含拥塞出口和非拥塞的出口。但是入口的PFC流控会导致本入口同一优先级的所有流量都停止发送,因此转发到其它非拥塞出口的流也被阻塞了,从而引起队头阻塞,严重时还会导致拥塞蔓延,网络吞吐量急剧下降。
本申请实施例提供一种拥塞控制方法,通过计算网络节点的报文完整转发时延并基于时延对报文进行ECN标记,可以保障低时延业务在网络传输中的时延要求,并对PFC的队头阻塞进行改善。
图1示出本申请实施例提供的拥塞控制方法的流程示意图。如图1所示,拥塞控制方法可以包括以下步骤S110和步骤S120。
在步骤S110中,根据所接收报文的接收时间戳信息和发送时间戳信息,计算报文在本节点设备内部的转发时延值。
在步骤S120中,若报文在本节点设备内部的转发时延值大于预设的报文的预设时延门限值,则对报文进行拥塞通知标记,以通过拥塞通知标记对报文进行拥塞控制。
根据本申请实施例提供的拥塞控制方法,可以根据在报文接收阶段获取的接收时间戳和在报文发送之前获取的发送时间戳,计算报文在该网络节点内部的完整转发时延,该转发时延大于预先配置的预设时延门限值时,对报文进行拥塞通知标记;从而,通过检测网络节点内部完整转发时延来进行拥塞通知标记,可以保障低时延业务在网络传输中的时延要求。
在一种可选的实施方式中,在预定的报文接收阶段,该拥塞控 制方法还包括:在步骤S140中,若确定无需对报文开启拥塞通知标记功能,则配置报文的第二时间戳标记;在步骤S141中,在发送报文之前,根据第二时间戳标记确定拥塞标记功能未开启,并按照预定转发方式转发报文。第二时间戳标记携带于报文的指定位置或作为报文的随路信息进行传输。
本申请实施例提供的拥塞控制方法可以应用于网络节点设备,该网络节点设备可以是集中式转发网络节点设备,或者是分布式转发网络节点设备。下面通过图2和图3,分别介绍本申请实施例提供的集中式转发网络节点设备和分布式转发网络节点设备的各功能单元以及它们之间的结构关系。
图2示出本申请实施例提供的集中式转发网络节点设备的结构示意图。如图2所示,集中式转发网络节点设备的功能单元可以包括:入端口10、上行ECN处理模块11、报文上行处理模块12、流量管理器(TM模块)13、报文下行处理模块14、下行ECN处理模块15和出端口16。
入端口10和出端口16可以是物理端口(Physical,PHY)。上行ECN处理模块11和报文上行处理模块12,形成集中式转发网络节点设备对报文进行处理的上行流水线。报文下行处理模块14和下行ECN处理模块15,形成集中式转发网络节点设备对报文进行处理的下行流水线。
在一种可选的实施方式中,在集中式转发网络节点设备中,报文接收阶段包括从本节点设备的入端口10到本节点设备的转发芯片之间进行报文处理的任一阶段;以及,发送报文之前的报文处理阶段,包括从本节点设备的转发芯片到本节点设备的出端口16之间进行报文处理的任一阶段。
本节点设备的转发芯片对报文的上行处理,可以参见图2中,上行ECN处理模块11和报文上行处理模块12对报文的处理;本节点设备的转发芯片对报文的下行处理,可以参见图2中,报文下行处理模块14和下行ECN处理模块15对报文的处理。
通过图2可知,入端口10可以被配置为进行报文接收和报文缓 存,上行ECN处理模块11可以被配置为获取时延门限模板,报文上行处理模块12可以被配置为进行报文的上行转发处理,流量管理器13被配置为进行流量管理,报文下行处理模块14可以被配置为报文的下行转发处理,下行ECN处理模块15被配置为获取时延门限模板,以及出端口16被配置为进行报文发送,从而实现集中式转发节点设备对于一个报文的完整转发流程。
图3示出本申请实施例提供的分布式转发网络节点设备的结构示意图。如图3所示,分布式转发网络节点设备可以包括:入口芯片端口(简称入端口)20、入口芯片上行ECN处理模块21、入口芯片上行报文处理模块22、入口芯片上行TM 23、交换网模块24、出口芯片下行报文处理模块25、出口芯片下行TM 26、出口芯片下行ECN处理模块27和出口芯片端口(简称出端口)28。入口芯片端口20和出口芯片端口28可以是物理端口PHY。
在一种可选的实施方式中,在分布式转发网络节点设备中,报文接收阶段包括从本节点设备的入端口20到本节点设备的上行转发芯片之间进行报文处理的任一阶段;以及,发送报文之前的报文处理阶段,包括从本节点设备的下行转发芯片到本节点设备的出端口28之间进行报文处理的任一阶段。
本节点设备的上行转发芯片对报文的上行处理,可以参见图3中,入口芯片上行ECN处理模块21、入口芯片上行报文处理模块22和入口芯片上行TM 23对报文的处理。本节点设备的转发芯片对报文的下行处理,可以参见图3中,出口芯片下行报文处理模块25、出口芯片下行TM 26和出口芯片下行ECN处理模块27对报文的处理。
通过图3可知,入口芯片端口(简称入端口)20被配置为进行报文接收和报文缓存,入口芯片上行ECN处理模块21可以被配置为获取时延门限模板,入口芯片上行报文处理模块22可以被配置为进行报文的上行转发处理,入口芯片上行TM 23被配置为进行上行流量管理,交换网模块24被配置为对报文进行交换网转发,出口芯片下行报文处理模块25被配置为进行报文的下行转发处理,出口芯片下行TM 26被配置为进行下行流量管理,出口芯片下行ECN处理模块 27被配置为获取时延门限模板,以及,出口芯片端口(简称出端口)28被配置为进行报文发送,从而实现分布式转发节点设备对于一个报文的完整转发流程。
网络节点设备从入端口接收报文,在报文接收阶段根据预定的配置信息识别能够开启时延ECN功能的数据流,并对该数据流对应的报文进行时延ECN标记并打上系统时间戳,该时间戳作为报文接收时间戳。
在一个种可选的实施方式中,在上述步骤S110之前,该拥塞控制方法还可以包括:在步骤S10中,在预定的报文接收阶段,根据接收到的报文所对应的流匹配信息,判断是否需要对报文开启拥塞通知标记功能;在步骤S11中,若判定需要开启拥塞通知标记功能,则获取报文的接收时间戳信息,并配置报文的时延门限模板,时延门限模板中包含预设时延门限值。
在步骤S10中,流匹配信息项包括如下项中的至少一项:入端口流量、出端口流量、入端口、出端口、报文优先级和报文特征信息。在步骤S11中,第一时间戳标记用于指示拥塞标记功能已开启,时延门限模板号用于索引预先配置的包含预先配置的时延门限值的时延门限模板。
通过预先配置的流匹配信息项,可以对不同的数据流开启时延标记功能,并为其配置相应的时延门限模板。流匹配信息项,可以基于全局、端口、端口和优先级、流特征等粒度来进行识别和匹配。
在一种可选的实施方式中,在步骤S11之后,该拥塞控制方法还可以包括:在步骤S12中,确定报文的第一时间戳标记和对应的时延门限模板号。第一时间戳标记用于指示拥塞标记功能已开启,时延门限模板号用于索引所配置的时延门限模板。
在该实施方式中,步骤S110具体可以包括:在发送报文之前,检测到报文的第一时间戳标记时,计算接收时间戳信息和获取的发送时间戳信息的差值,得到报文的转发时延值,并根据报文对应的时延门限模板号获取报文的预设时延门限值。
第一时间戳标记、接收时间戳信息和对应的时延门限模板号携 带于报文的指定位置或作为报文的随路信息进行传输。
根据本申请实施例提供的拥塞控制方法,在根据流匹配信息项确定需要开启拥塞标记功能时,可以根据在报文接收阶段获取的接收时间戳和报文发送之前获取的发送时间戳,计算报文在该网络节点内部的完整转发时延,该转发时延大于预先配置的预设时延门限值时,对报文进行拥塞通知标记,从而通过检测网络节点内部完整转发时延来进行拥塞通知标记,保障低时延业务在网络传输中的时延要求。
在一种可选的实施方式中,接收时间戳的获取位置可以是报文从入端口PHY到流量管理器的任何环节,在这里不做具体限制。
在一种可选的实施方式中,可以基于流获取对应的时延门限模板。例如,上述图2中的上行ECN处理模块11和图3中的入口芯片上行ECN处理模块21,可被配置为基于流获取对应的时延门限模板。
在一种可选的实施方式中,若本节点设备为集中式转发节点设备,则在步骤110之后,和步骤S120之前,该拥塞控制方法还可包括:在步骤S21中,在本节点设备内部转发报文,并发送报文至本节点设备的转发芯片。
在一种可选的实施方式中,若本节点设备为分布式转发节点设备,则在步骤110之后,和步骤S120之前,该拥塞控制方法还可包括:在步骤S22中,在本节点设备内部将报文经交换网转发至本节点设备的下行转发信息。
在一种可选的实施方式中,报文在经过交换网时,第一时间戳标记、接收时间戳信息和对应的时延门限模板号的报文携带于报文的指定位置,指定位置为报文内部、或与交换网对应的附加报文头部中。也就是说,第一时间戳标记、接收时间戳信息和对应的时延门限模板号,可以携带于报文内部,或携带于报文的与交换网对应的附加报文头部中。
网络节点设备内部在对报文转发过程中,时间戳标记、接收时间戳信息及时延门限模板号随报文一起在网络节点内部传送。
如果是集中式设备,参见图2中的报文下行处理模块14和下行ECN处理模块15对报文的处理,以上信息随报文转发到本网络节点 设备的转发芯片进行下行处理。
如果是分布式设备,参见图3中的出口芯片下行报文处理模块25、出口芯片下行TM 26、出口芯片下行ECN处理模块27对报文的处理,以上信息随包先经过交换网转发后传送到本网络节点的下行转发芯片处理。
报文携带上述三个信息在网络节点内部转发。对于集中式转发的网络节点,上述三个信息(第一时间戳标记、接收时间戳信息和对应的时延门限模板号)随报文一起经过上行流水线的上行处理模块后到达及下行流水线的下行处理模块。对于分布式转发架构的网络节点,上述三个信息需要随报文经过交换网模块24,经过交换网时,上述三个信息可以选择在报文内部携带,也可以选择在报文经过交换网的附加头部携带,在此不做限制。报文经过交换网后到达出口芯片的下行处理模块。
网络节点设备在报文从出口发送出去之前,例如选择转发芯片报文处理下行流水线到出端口PHY的任意阶段,可以获取系统时间戳,作为报文发送时间戳。
作为示例,若本网络节点设备为集中式设备,图2中的下行ECN处理模块15,可以被配置为通过计算接收时间戳和发送时间戳的差值获取报文的转发时延,并通过时延配置模板获取时延门限,当转发时延大于时延门限模板配置的门限值时,对报文进行ECN标记。
作为示例,若本网络节点设备为分布式设备,图3中的出口芯片下行ECN处理模块27,可以被配置为通过计算接收时间戳和发送时间戳的差值获取报文的转发时延,并通过时延配置模板获取时延门限,当转发时延大于时延门限模板配置的门限值时,对报文进行ECN标记。
通过上述描述可知,根据本申请实施例提供的拥塞控制方法,可以通过检测网络节点内部完整转发时延来进行ECN标记,从而保障了低时延业务在网络传输中的时延要求。
图2中的上行ECN处理模块11与图3中的入口芯片上行ECN处理模块21可以实现相同或等同的功能,图2中的报文上行处理模块 12和图3中的入口芯片上行报文处理模块22可以实现相同或等同的功能,图2中的报文下行处理模块14与图3中的出口芯片下行报文处理模块25可以实现相同或等同的功能,图2中的下行ECN处理模块15与图3中的出口芯片下行ECN处理模块27可以实现相同或等同的功能。因此,为了描述方便,在下面的描述中,当以集中式转发网络节点设备中的模块为例描述对应的报文处理过程时,分布式转发网络节点设备中的相应模块具有相同或等同的功能;同样,当以分布式转发网络节点设备中的模块为例描述对应的报文处理过程时,集中式转发网络节点设备中的相应模块具有相同或等同的功能,本申请实施例不再赘述。
图4示出本申请实施例提供的根据入端口进行拥塞标记的流程示意图。如图4所示,在一种可选的实施方式中,根据入端口进行拥塞标记的过程具体可以包括如下步骤S41-步骤S46。
在步骤S41中,入端口接收报文。
在步骤S42中,入端口是否使能基于时延的ECN标记功能。用户可以选择业务编排器、控制器、网管及命令行等方式之一来对网络节点入端口开启时延ECN标记功能并为其配置相应的时延门限模板,配置模板中的主要参数是时延门限值。ECN标记功能开启及时延门限模板相关配置信息可以记录在接口属性表或其它表项,具体不做限定。
在步骤S43中,若未使能基于时延的ECN标记功能,则按照预定流程转发报文。在该步骤中,若入端口未使能ECN标记功能,按照原有的预定流程正常转发报文即可。
在步骤S44中,若已使能基于时延的ECN标记功能,则识别入口流量,并进行ECN时间戳标记,获取接收时间戳。
在步骤S45中,报文携带ECN时间戳标记、接收时间戳信息和时延门限模板号到下行处理模块,下行处理模块解析ECN时间戳标记和接收时间戳信息。
在S46中,下行ECN处理模块获取发送时间戳,进行时延值的计算,根据计算结果对报文进行ECN标记。
网络节点设备识别入端口接收到的报文,被识别的报文例如在 上行ECN处理模块11需要被打上三个信息,一个信息为ECN时间戳标记的第二个信息为具体的入口接收时间戳信息,第三个信息为时延门限模板号。ECN时间戳标记的作用是表示此报文被ECN功能打上了接收时间戳;时延门限模板号用来索引时延门限模板,不同的时延门限模板中保存着为不同时延需求业务配置的时延门限值。本申请实施例中的ECN时间戳标记可以用1个位(bit)或多个bit来表示,本申请实施例不做限定。
以集中式转发网络节点设备为例,通过携带的ECN时间戳标记,下行ECN处理模块15可以在识别ECN时间戳标记后,继续获取发送时间戳且进行时延计算,并和时延门限模板索引到的时延门限模板获取时延门限值比较,从而决策是否进行ECN标记。
上述三个信息的携带可以是选择携带在报文中的任何位置,也可以是不携带于报文中而选择作为报文的随路信息传输的方式。本申请实施例对采用哪种方式不做限定,两种方式都在本申请的保护范围之内。
继续以集中式转发网络节点设备为例,下行处理模块14可以负责报文的下行转发处理,利用下行处理模块14的报文解析功能,下行处理模块14可以被配置为完成接收时间戳标记、时间戳信息及时延门限模板的解析。解析出来的三个信息为下行ECN处理模块15所用。需要说明的是这三个信息的解析也可以放在后面下行ECN处理模块15来解析,而不是必须在下行处理模块14解析。具体的报文解析位置,本申请不做具体限定。
在步骤S46中,下行ECN处理模块15获取发送时间戳进行时延值的计算,根据计算结果对报文进行ECN标记。在该步骤中,下行ECN处理模块15,在获取到下行处理模块14或本模块解析出来的时间戳标记、时间戳信息及时延门限模板后,判断时间戳标记是否有效,若时间戳标记有效,说明报文携带接收时间戳并需要进行ECN标记的逻辑处理,则进一步获取时间戳信息。若时间戳标记为无效值,则说明此报文不需要进行基于时延的ECN标记处理。
作为示例,时间戳标记被置位或取值为第一预定值,表示报文 需要使用拥塞标记功能,即时间戳标记有效;时间戳标记未被置位或取值为第二预定值,表示报文不需要使用拥塞标记功能,即时间戳标记无效。可以将时间戳标记被置位或取值为第一预定值,作为第一时间戳标记,时间戳标记未被置位或取值为第二预定值,作为第二时间戳标记。第二预定值与第一预定值不相同。
经过时间戳标记判断后,对于需要基于时延ECN标记的报文,下行ECN处理模块15继续获取当前系统时间戳作为报文发送时间戳,并计算发送时间戳和接收时间戳的差值。同时下行ECN处理模块15可以根据时延门限模板查表获取ECN时延门限。若计算的时间戳差值超过时延门限模板预设的时延门限,则对报文进行ECN拥塞标记。
在如图4所示的预设的流匹配信息为入端口时,上述步骤S10具体可以包括如下步骤S301。在步骤S301中,若报文是本节点设备从预定的入端口接收的报文,且本节点设备的入端口流量为无损业务流量,则判定需要对报文开启拥塞标记功能。
在一种可选的实施方式中,若所接收的报文是本节点设备从预定的入端口接收的报文,但本节点设备的入端口流量非无损业务流量;或者,本节点设备的入端口流量为无损业务流量,但所接收的报文是本节点设备从预定的入端口以外的其它端口接收的报文,则可以判定无需对报文开启拥塞标记功能。
相应地,上述步骤S11中配置报文的时延门限模板具体可以包括:在步骤S302中,将报文承载的时延需求业务所对应的时延门限模板,作为报文的时延门限模板。不同的时延需求业务预先设置有不同的时延门限模板。
在一种可选的实施方式中,步骤S301中的入端口(或入接口),例如可以是物理端口、LAG端口、及各种逻辑端口等,在此不做具体限定。需要说明的是,基于入端口开启时延ECN标记功能的具体含义是:对本入端口的流使能基于时延进行ECN标记功能,并不是说在入端口进行ECN标记,ECN的标记动作都是在报文的下行处理流程中实施。
如果已知某入端口流量为对丢包和时延敏感的无损业务流量时, 可以在此入端口开启基于时延的ECN标记使能,从而达到本入端口流量的转发低时延的目的,报文的目的端收到带有ECN标记的报文后,发送流控信息通知发送端对流进行降速。
图5示出本申请实施例提供的根据出端口进行拥塞标记的流程示意图。
多对一的聚合(Incast)流量是数据中心高度并行化的云应用产生的一种现象,Incast具体指的是在高带宽、低延时、有限缓冲区的数据中心环境中,当多个服务器同时响应客户端请求并同时向客户端发送数据时,在连接客户端的网络节点的出口会发生拥塞。这也已经被证明是引起数据中心大部分丢包或时延增加的原因。基于上述场景,在数据中心leaf节点连接客户端的服务器的出口配置基于时延的ECN标记功能,从而有效缓解incast引起的丢包或时延增加。
如图5所示,在一种可选的实施方式中,根据出端口进行拥塞标记的过程具体可以包括如下步骤S51-步骤S58。
在步骤S51中,入端口接收报文。
在步骤S52中,查报文转发表获取出端口号。在该步骤中,络节点收到报文后,在上行流水线通过转发表查找获取出端口号。
在步骤S53中,查预设的第一ECN标记匹配表。在该步骤中,配置信息可以记录在第一ECN标记匹配表中。在第一ECN标记匹配表中,查表关键字为出端口号,查表结果为时延门限模板。具体表的存储和查找形式不做限定,可以是访问控制列表(Access Control Lists,ACL)表项,也可以是其它类型内核内存(Random Access Memory,RAM)表等。
在步骤S54中,判断查表结果是否命中。
在步骤S55中,若未命中,则按照预定流程转发报文。
在步骤S56中,若命中,则对报文进行ECN时间戳标记,获取接收时间戳,以及查ECN标记匹配表得到时延门限模板。
通过上述步骤S54-S56,在上行流水线获取到出端口号后,上行ECN处理模块11以查转发表获取的报文出端口号作为关键字继续查找第一ECN标记匹配表。如果未命中,则说明此报文不需要进行出口 ECN标记。如果命中则从查找结果中获取时延门限模板号,同时对报文设置ECN时间戳标记,同时获取系统时间戳作为报文接收时间戳。至此报文在上行需要打上的三个信息已经完全获取到。
在步骤S57中,报文携带ECN时间戳标记、接收时间戳信息和时延门限模板号到报文下行处理模块14,报文下行处理模块14解析ECN时间戳标记和接收时间戳信息。在该步骤中,对ECN时间戳标记和接收时间戳信息的解析可以参照结合图4描述的步骤S45,此处不再赘述。
在步骤S58中,下行ECN处理模块15获取发送时间戳进行时延值的计算,根据计算结果对报文进行ECN标记。
报文可以携带三个信息在网络节点内部转发。三个信息随报文在集中式和分布式架构的网络节点的转发设计可以参考上述结合图2和图3描述的在网络节点设备内部的报文转发过程,此处不再赘述。
在该步骤中,报文下行处理模块14可以负责完成接收时间戳标记、时间戳信息及时延门限模板的解析,下行ECN处理模块15负责判断接收时间戳标记,获取发送时间戳,计算报文转发时延并根据时延和预设门限比较来决定是否对报文进行ECN拥塞标记。对ECN时间戳标记和接收时间戳信息的解析可以参照结合图4描述的步骤S45,此处不再赘述。
在图5所示的实施方式中,流匹配信息为出端口;则上述步骤S10具体可以包括如下步骤S311和步骤S312。在步骤S311中,若报文是本节点设备作为预定服务器接收的报文,且预定服务器的出端口被配置为发送预定数据中心网络中的多对一Incast流量数据,则通过查找预设的报文转发表确定报文的出端口号;在步骤S312中,若在预设的第一拥塞通知标记匹配表中,查找到与出端口号对应的时延门限模板,则判定需要对报文开启拥塞通知标记功能。
相应地,上述步骤S11中配置报文需要携带的时延门限模板号具体可以包括:在步骤S314中,将查找到的与出端口号对应的时延门限模板号,作为需要携带的时延门限模板号。
在一种可选的实施方式中,若在预设的第一拥塞通知标记匹配 表中,未查找到与出端口号对应的时延门限模板,则可以判定无需对报文开启拥塞通知标记功能。
报文的目的端收到带有ECN标记的报文后,发送流控信息通知发送端对流进行降速。
在一种可选的实施方式中,在上述步骤S11中配置报文需要携带的时延门限模板号时,拥塞控制方法还可包括:在步骤S315中,设置需要携带的时延门限模板号为空值,并在确定报文已开启拥塞标记功能之后,以及在发送报文之前,从预先配置的下行出端口属性表中获取与出端口号对应的时延门限模板号。
在一种可选的实施方式中,可以根据报文的第一时间戳标记确定拥塞标记功能已开启。
存放时延门限的时延门限模板也可以在下行处理模块从出接口属性表获取。在下行出接口属性表获取时延门限模板方法的优势就是报文从上行流水转发到下行流水只需要携带接收时间戳标记和时间戳信息,不需要携带时延门限模板,从而降低了附加信息对交换网有效带宽的占用,提升了交换网加速比。具体是通过上行获取时延门限模板携带到报文下行处理模块14,还是报文下行处理模块14直接获取时延门限模板,本申请不做限定。
图6示出本申请实施例提供的根据入端口和优先级进行拥塞标记的流程示意图。PFC是无损网络中经常使用的流控技术,PFC实现了基于入口和报文优先级的流控,这种流控是在发生拥塞的节点向上游节点的反压,缺点是会引起队头阻塞。也就是说,针对PFC并未考虑出口的拥塞情况,并对转发到未拥塞出口的报文也进行了反压处理的明显缺陷,基于上述PFC的应用场景,可在数据中心网络节点开启基于入口和报文优先级的时延ECN标记功能。
如图6所示,在一种可选的实施方式中,根据入端口和优先级进行拥塞标记的过程具体可以包括如下步骤S61-步骤S68。
在步骤S61中,入端口接收报文。
在步骤S62中,获取入端口号和报文优先级。在该步骤中,网络节点设备收到报文后,在上行流水会获取报文的优先级。作为示例, 优先级可以是以太网头中的802.1p字段映射获得,也可以是IP头中的差分服务代码点(Differentiated Services Code Point,DSCP)字段映射获得,或者是通过其它流分类手段映射获得,在此不做限制。
在步骤S63中,查预设的第二ECN标记匹配表。在该步骤中,用户可以选择业务编排器、控制器、网管及命令行等方式之一来对网络节点开启基于入口和优先级的时延ECN标记功能并配置时延门限模板,配置模板中的主要参数是时延的门限值。配置信息可以记录在第二ECN标记匹配表中。在第二ECN标记匹配表中,查表关键字为“入端口号+报文优先级”,查表结果为时延门限模板。具体表的存储和查找形式不做限定,可以是ACL表项,也可以是其它类型RAM表等。
在步骤S64中,判断查表结果是否命中。
在步骤S65中,若未命中,则按照预定流程转发报文。
在步骤S66中,若命中,则对报文进行ECN时间戳标记,获取接收时间戳,以及查ECN标记匹配表得到时延门限模板号。
通过上述步骤S64-S66,上行ECN处理模块11以入端口号和报文优先级作为关键字继续查找第二ECN标记匹配表。如果未命中,则说明不需要进行入口和报文优先级的ECN标记。如果命中则从查找结果中获取时延门限模板号,同时对报文设置ECN时间戳标记,同时获取系统时间戳作为报文接收时间戳。至此报文在入向需要打上的三个信息已经完全获取到。
报文可以携带三个信息在网络节点内部转发。三个信息随报文在集中式和分布式架构的网络节点的转发设计可以参考上述结合图2和图3描述的在网络节点设备内部的报文转发过程,此处不再赘述。
在步骤S67中,报文携带ECN时间戳标记、接收时间戳信息和时延门限模板号到报文下行处理模块14,报文下行处理模块14解析ECN时间戳标记和接收时间戳信息。步骤S67中对ECN时间戳标记和接收时间戳信息的解析可以参照结合图4描述的步骤S45,此处不再赘述。
在步骤S68中,下行ECN处理模块15获取发送时间戳进行时延值的计算,根据计算结果对报文进行ECN标记。在该步骤中,下行 ECN处理模块15负责判断接收时间戳标记,获取发送时间戳,计算报文转发时延并根据时延和预设门限比较来决定是否对报文进行ECN拥塞标记。处理流程可参考结合图4描述的步骤S46,此处不再赘述。
报文的目的端收到带有ECN标记的报文后,发送流控信息通知发送端对流进行降速。
在图6所示的实施方式中,流匹配信息为入端口和报文优先级;则上述步骤S10具体可以包括如下步骤S321和步骤S322。
在步骤S321中,若报文是本节点设备从预定的入端口接收的具有优先级信息的报文,且本节点设备的入端口流量为无损业务流量,且在预设的第二拥塞通知标记匹配表中,查找到与报文的入端口号和优先级信息对应的时延门限模块号时,判定需要对报文开启拥塞通知标记功能;在步骤S322中,若查找到与入端口号和优先级信息对应的时延门限模块号,则判定需要对报文开启拥塞通知标记功能。
相应地,上述步骤S11中配置报文的时延门限模板具体可以包括:在步骤S323中,将查找到的与入端口号和优先级信息对应的时延门限模块,作为报文的时延门限模板。
基于时延的ECN标记功能是考虑内部完整的转发延时,对于未拥塞出口的报文,因为在入向流量管理器和出向流量管理器都不会拥塞引起时延增加,因此未拥塞出口的报文时延不会超过预设门限,因此也不会进行ECN拥塞标记;只有出接口是拥塞出口的报文因为转发时延会超过预设门限因此会被进行ECN拥塞标记。报文的目的端只对ECN标记的流通知其发送端降速,不会影响非拥塞流,因此有效改善了PFC的队头阻塞和拥塞蔓延。
图7示出本申请实施例提供的根据出端口和优先级进行拥塞标记的流程示意图。如图7所示,在一种可选的实施方式中,普通的ECN拥塞标记功能正是基于出口和报文优先级来开启的,但是它只是根据出口队列的拥塞状况来决定是否进行ECN拥塞标记。而本申请的基于内部时延的ECN标记也可以基于出口和报文优先级开启,但是它体现的是转发节点内部完整的拥塞状况。基于上述场景,可在网络节 点基于出口和优先级来配置时延ECN标记功能。
如图7所示,根据出端口和优先级进行拥塞标记的过程具体可以包括如下步骤S71-步骤S78。
在步骤S71中,入端口接收报文。
在步骤S72中,获取出端口号和报文优先级。在该步骤中,网络节点收到报文后,在上行流水线通过转发表查找获取出端口号。同时在上行流水会获取报文的优先级,优先级可以是以太网头中的802.1p字段映射获得,也可以是IP头中的DSCP映射获得,或者是通过其它流分类手段映射获得,在此不做限制。
在步骤S73中,查预设的第三ECN标记匹配表。在该步骤中,用户可以选择业务编排器、控制器、网管及命令行等方式之一来对网络节点基于“出口+优先级”来开启时延ECN标记功能并配置时延门限模板,配置模板中的主要参数是时延的门限值。配置信息可以记录在第三ECN标记匹配表中,在第三ECN标记匹配表中,查表关键字为出端口号和报文优先级,查表结果为时延门限模板。具体表的存储和查找形式不做限定,可以是ACL表项,也可以是其它类型RAM表等。
在步骤S74中,判断查表结果是否命中。
在步骤S75中,若未命中,则按照预定流程转发报文。
在步骤S76中,若命中,则对报文进行ECN时间戳标记,获取接收时间戳,以及查ECN标记匹配表得到时延门限模板。
在上述步骤S74-S76,在上行流水线获取到出端口号及报文优先级后,上行ECN处理模块11以出端口号和报文优先级作为关键字继续查找第三ECN标记匹配表。如果未命中,则说明不需要进行ECN拥塞标记。如果命中则从查找结果中获取时延门限模板号,同时对报文设置ECN时间戳标记,同时获取系统时间戳作为报文接收时间戳。至此报文在入向需要打上的三个信息已经完全获取到。
在步骤S77中,报文携带ECN时间戳标记、接收时间戳信息和时延门限模板号到报文下行处理模块14,报文下行处理模块14解析ECN时间戳标记和接收时间戳信息。
报文可以携带三个信息在网络节点内部转发。三个信息随报文 在集中式和分布式架构的网络节点的转发设计可以参考上述结合图2和图3描述的在网络节点设备内部的报文转发过程,此处不再赘述。
在一种可选的实施方式中,下行处理模块负责完成接收时间戳标记、时间戳信息及时延门限模板的解析,可以参照结合图4描述的步骤S45,此处不再赘述。
在步骤S78中,下行ECN处理模块15获取发送时间戳进行时延值的计算,根据计算结果对报文进行ECN标记。在该步骤中,下行ECN处理模块15负责判断接收时间戳标记,获取发送时间戳,计算报文转发时延并根据时延和预设门限比较来决定是否对报文进行ECN拥塞标记,处理流程请参考结合图4描述的步骤S46,此处不再赘述。
报文的目的端收到带有ECN标记的报文后,发送流控信息通知发送端对流进行降速。
在图7所示的实施方式中,流匹配信息为出端口和优先级信息;则上述步骤S10具体可以包括如下步骤S331和步骤S332。在步骤S331中,通过查找预设的报文转发表确定报文的出端口号,并获取报文的优先级信息;在步骤S332中,若在预设的第三拥塞通知标记匹配表中,查找到与出端口号和优先级信息对应的时延门限模块,则判定需要对报文开启拥塞通知标记功能。
在一种可选的实施方式中,若在预设的第三拥塞通知标记匹配表中,未查找到与出端口号和优先级信息对应的时延门限模块,则判定无需对报文开启拥塞通知标记功能。
相应地,上述步骤S11中配置报文需要携带的时延门限模板号具体可以包括:在步骤S334中,将查找到的与出端口号和优先级信息对应的时延门限模块号,作为需要携带的时延门限模板号。
网络节点基于出口和优先级来配置时延ECN标记功能,报文的目的端收到带有ECN标记的报文后,发送流控信息通知发送端对流进行降速。
图8示出本申请实施例提供的根据访问控制列表进行拥塞标记的流程示意图。在一种可选的实施方式中,基于入向ACL可以根据配 置的报文特征字段来匹配需要进行时延ECN标记的流量,ACL可以匹配的字段可以是报文头和报文内容中的任何特征字段,也可以匹配报文在上行流水中产生的metadata数据,在此不做限定。如图8所示,根据ACL进行拥塞标记的过程具体可以包括如下步骤S81-步骤S88。
在步骤S81中,入端口接收报文。
在步骤S82中,解析ACL查找需要的关键字。在该步骤中,网络节点收到报文后,上行流水线在ACL阶段会查ACL表进行流匹配,如果没有rule命中,则说明不需要进行ECN拥塞标记。如果命中则从查找结果中获取时延门限模板号,同时对报文设置ECN时间戳标记,同时获取系统时间戳作为报文接收时间戳。至此报文在入向需要打上的三个信息已经完全获取到。
在步骤S83中,查预设的ACL表。在该步骤中,用户可以选择业务编排器、控制器、网管及命令行等方式之一来对网络节点基于ACL来开启时延ECN标记功能并配置时延门限模板,配置模板中的主要参数是时延的门限值。配置信息记录在ACL表中,在ACL表中,ACL查表关键字为上述描述的任意字段,查表结果为时延门限模板。
在步骤S84中,判断查表结果是否命中。
在步骤S85中,若未命中,则按照预定流程转发报文。
在步骤S86中,若命中,则对报文进行ECN时间戳标记,获取接收时间戳,以及查ECN标记匹配表得到时延门限模板。
在上述步骤S84-S86,网络节点收到报文后,上行流水线在ACL阶段会查ACL表进行流匹配,如果没有rule命中,则说明不需要进行ECN拥塞标记。如果命中则从查找结果中获取时延门限模板号,同时对报文设置ECN时间戳标记,同时获取系统时间戳作为报文接收时间戳。至此报文在入向需要打上的三个信息已经完全获取到。
报文可以携带三个信息在网络节点内部转发。三个信息随报文在集中式和分布式架构的网络节点的转发设计可以参考上述结合图2和图3描述的在网络节点设备内部的报文转发过程,此处不再赘述。
在步骤S87中,报文携带ECN时间戳标记、接收时间戳信息和时延门限模板号到报文下行处理模块14,报文下行处理模块14解析 ECN时间戳标记和接收时间戳信息。在该步骤中,对ECN时间戳标记和接收时间戳信息的解析可以参照结合图4描述的步骤S45,此处不再赘述。
在步骤S88中,下行ECN处理模块15获取发送时间戳进行时延值的计算,根据计算结果对报文进行ECN标记。在该步骤中,计算报文转发时延并根据时延和预设门限比较来决定是否对报文进行ECN拥塞标记,处理流程请参考结合图4描述的步骤S46,此处不再赘述。
在图8所示的实施方式中,流匹配信息为报文特征信息;则上述步骤S10具体可以包括如下步骤S341。在步骤S341中,若在预设的第四拥塞通知标记匹配表中,查找到与报文特征信息对应的时延门限模块号,则判定需要对报文开启拥塞通知标记功能。
报文特征信息包括:报头信息、报文内容的任一特征字段信息或报文在报文接收阶段产生的元数据。
在一种可选的实施方式中,若在预设的第四拥塞通知标记匹配表中,未查找到与报文特征信息对应的时延门限模块号,则判定无需对报文开启拥塞通知标记功能。
相应地,上述步骤S11中配置报文需要携带的时延门限模板号具体可以包括:在步骤S343中,将查找到的与报文特征信息对应的时延门限模块,作为报文对应的时延门限模板。
基于入向ACL可以根据配置的报文特征字段来匹配需要进行时延ECN标记的流量,报文的目的端收到带有ECN标记的报文后,发送流控信息通知发送端对流进行降速。
图9示出本申请实施例提供的能够实现在物理接口获取时间戳信息和进行拥塞通知标记的网络节点结构示意图。
在上述结合图4-图8的描述的可选的实施方式中,接收时间戳的处理都是在上行ECN处理模块11中进行,发送时间戳及ECN标记都是在下行ECN处理模块15中完成。
本申请实施例还提供一种在入口PHY模块标记接收时间戳,在出口PHY模块实现下行ECN处理逻辑的方法,这种方法使得接收和发送时间戳的位置更贴近接收和发送端口,因此更能准确的反应报文在 网络节点内部完整的转发时延。
应理解,本申请实施例只是提供了一种在PHY打戳和ECN标记的方法,并不限定打戳和ECN标记必须在PHY完成。
在图9中,该网络节点可以包括入端口模块31,流分类和接收时间戳处理模块32和出端口模块33。入端口模块31,可以包括入向物理端口PHY 311和接收时间戳获取逻辑单元312。流分类和接收时间戳处理模块32,可以包括流分类处理单元321和接收时间戳处理单元322。出端口模块33可以包括下行ENC处理逻辑单元331和出向物理端口PHY 332。
在图9所示的实施方式中,可在入端口模块31和出端口模块33配置入向时延ECN标记和出向时延ECN标记使能。
作为示例,用户可以选择业务编排器、控制器、网管及命令行等方式之一,来对网络节点开启时延ECN标记功能并配置时延门限模板,配置模板中的主要参数是时延的门限值。
网络节点收到报文后,如果入端口模块31的接收方向没有配置ECN标记使能,则报文会绕过接收时间戳获取逻辑单元312被传送到上行流水线的流分类和接收时间戳处理模块32。如果入端口模块31的接收方向配置了ECN标记使能,则在入端口模块31对接收报文打上接收时间戳,且将报文携带接收时间戳传送到上行流水线的流分类及接收时间戳获取逻辑单元312。
流分类和接收时间戳处理模块32可以通过流分类处理单元321,对报文进行流分类,并通过接收时间戳处理单元322,对时延ECN标记进行上述的基于时延门限模板映射。
与上述结合图4-图8描述的实施方式不同,该实施方式中,无需在上行ECN处理模块11获取接收时间戳,而是直接使用报文从入向物理端口PHY 311携带过来的时间戳作为接收时间戳。需要说明的是,考虑各种流分类及后续处理逻辑较为复杂,这些逻辑处理可以不放在PHY模块实现,而是由流分类和接收时间戳处理模块32完成。在一种可选的实施方式中,上行时延ECN的处理逻辑也可以完全放到入端口模块31完成,此处不做限定。
报文到达出端口模块33时,如果出端口模块33的发送方向未使能时延ECN标记,则报文绕过出端口模块33的下行ENC处理逻辑单元331,直接传送给PHY处理。如果出端口模块33的发送方向使能时延ECN标记,则需要在PHY模块完成下行ECN处理的完整逻辑,包括获取报文发送时间戳;计算接收时间戳和发送时间戳的差值为报文的转发时延;通过时延门限模板获取时延门限,实际转发时延若超过配置的时延门限值则对报文进行ECN标记,否则不进行标记。时延门限值也可以在PHY模块之前的下行流水阶段获取后带到PHY模块,这里不做限定。
出端口模块33的下行ECN处理逻辑对报文进行ECN标记后,报文进一步经过出口PHY处理后从出端口发出。报文的目的端收到带有ECN标记的报文后,发送流控信息通知发送端对流进行降速。
在图9所示的实施方式中,接收时间戳信息是从接收报文的物理端口获取的时间戳信息,或者在预定的报文接收阶段获取的系统时间戳信息;发送时间戳信息是从发送报文之前的报文处理阶段获取的系统时间戳信息,或者是从发送报文的物理端口获取的时间戳信息。
可以在入口PHY模块打接收时间戳,在出口PHY模块打接收时间戳,从而实现下行ECN处理逻辑,这种方法使得接收和发送时间戳的位置更贴近接收和发送端口,因此更能准确的反应报文在网络节点内部完整的转发时延。
在一种可选的实施方式中,在上述步骤S130之后,该拥塞控制方法还可包括:在步骤S150中,发送携带拥塞通知标记的报文至预定的目的端设备,携带拥塞通知标记的报文在目的端设备中被用于触发目的端设备发送流控信息,流控信息用于通知报文对应的数据流的发送端对数据流进行降速。
根据本申请实施例提供的报文拥塞处理方法,通过检测网络节点内部完整转发时延来进行ECN标记的方法,本方法通过计算网络节点的报文完整转发时延并基于时延对报文进行ECN标记,从而保障了低时延业务在网络传输中的时延要求。本申请实施例提出的基于网络节点内部完整时延的ECN标记技术,是对相关的无损网络基于队列拥 塞进行ECN标记方法的补充,同时对PFC的队头阻塞也有很好的改善。
下面结合附图,详细介绍本申请实施例提供的拥塞控制装置。图10示出本申请实施例提供的拥塞控制装置的结构示意图。如图10所示,拥塞控制装置包括转发时延计算模块410和拥塞通知标记模块420。
转发时延计算模块410,被配置为根据所接收报文的接收时间戳信息和发送时间戳信息,计算报文在本节点设备内部的转发时延值。
拥塞通知标记模块420,被配置为若报文在本节点设备内部的转发时延值大于预设的报文的预设时延门限值,则对报文进行拥塞通知标记,以通过拥塞通知标记对报文进行拥塞控制。
根据本申请实施例提供的拥塞控制装置,通过计算网络节点的报文完整转发时延并基于时延对报文进行ECN标记,保障了低时延业务在网络传输中的时延要求;并且,该基于网络节点内部完整时延的ECN标记技术,是对相关的无损网络基于队列拥塞进行ECN标记方法的补充,同时对PFC的队头阻塞也有很好改善。
在一种可选的实施方式中,该拥塞控制装置还可以包括:功能开启判断单元,被配置为在预定的报文接收阶段,根据接收到的报文所对应的流匹配信息,判断是否需要对报文开启拥塞通知标记功能,流匹配信息包括如下项中的至少一项:入端口流量、出端口流量、入端口、出端口、报文优先级和报文特征信息;信息配置单元,被配置为若判定需要开启拥塞通知标记功能,则获取报文的接收时间戳信息,并配置报文的时延门限模板,时延门限模板中包含预设时延门限值。
在一种可选的实施方式中,拥塞控制装置还被配置为:确定报文的第一时间戳标记和对应的时延门限模板号,第一时间戳标记用于指示拥塞标记功能已开启,时延门限模板号用于索引所配置的时延门限模板;转发时延计算模块410,具体还被配置为:在发送报文之前,检测到报文的第一时间戳标记时,计算接收时间戳信息和获取的发送时间戳信息的差值,得到报文的转发时延值,并根据报文对应的时延门限模板号获取报文的预设时延门限值。
第一时间戳标记、接收时间戳信息和对应的时延门限模板号携 带于报文的指定位置或作为报文的随路信息进行传输。
在一种可选的实施方式中,流匹配信息包括入端口;功能开启判断单元,具体可以被配置为:若报文是本节点设备从预定的入端口接收的报文,且本节点设备的入端口流量为无损业务流量,则判定需要对报文开启拥塞标记功能;信息配置单元,具体还被配置为:将报文承载的时延需求业务所对应的时延门限模板,作为报文的时延门限模板,不同的时延需求业务预先设置有不同的时延门限模板。
在一种可选的实施方式中,流匹配信息项包括出端口;拥塞控制装置还可以包括:若报文是本节点设备作为预定服务器接收的报文,且预定服务器的出端口被配置为发送预定数据中心网络中的多对一Incast流量数据,则通过查找预设的报文转发表确定报文的出端口号;功能开启判断单元,具体可以被配置为:若在预设的第一拥塞通知标记匹配表中,查找到与出端口号对应的时延门限模板,则判定需要对报文开启拥塞通知标记功能;信息配置单元,还被配置为将查找到的与出端口号对应的时延门限模板,作为报文的时延门限模板。
在一种可选的实施方式中,信息配置单元,还可以被配置为设置需要携带的时延门限模板号为空值,并在确定报文已开启拥塞标记功能之后,以及在发送报文之前,从预先配置的下行出端口属性表中获取与出端口号对应的时延门限模板。
在一种可选的实施方式中,流匹配信息为入端口和报文优先级;功能开启判断单元,具体可以被配置为:若报文是本节点设备从预定的入端口接收的具有优先级信息的报文,且本节点设备的入端口流量为无损业务流量,且在预设的第二拥塞通知标记匹配表中,查找到与报文的入端口号和优先级信息对应的时延门限模块号时,判定需要对报文开启拥塞通知标记功能。信息配置单元,还可以被配置为将查找到的与入端口号和优先级信息对应的时延门限模块,作为报文的时延门限模板。
在一种可选的实施方式中,流匹配信息项为出端口和优先级信息;拥塞控制装置还可以包括:出端口和优先级获取模块,被配置为通过查找预设的报文转发表确定报文的出端口号,并获取报文的优先 级信息;功能开启判断单元,具体还可以被配置为:若在预设的第三拥塞通知标记匹配表中,查找到与出端口号和优先级信息对应的时延门限模块,则判定需要对报文开启拥塞通知标记功能;信息配置单元,还可以被配置为将查找到的与出端口号和优先级信息对应的时延门限模块号,作为报文的时延门限模板。
在一种可选的实施方式中,流匹配信息项为报文特征信息;功能开启判断单元,具体可以被配置为:若在预设的第四拥塞通知标记匹配表中,查找到与报文特征信息对应的时延门限模块号,则判定需要对报文开启拥塞通知标记功能,报文特征信息包括:报头信息、报文内容的任一特征字段信息或报文在报文接收阶段产生的元数据;信息配置单元,还可以被配置为将查找到的与报文特征信息对应的时延门限模块,作为报文对应的时延门限模板。
在一种可选的实施方式中,在预定的报文接收阶段,信息配置单元,还被配置为若确定无需对报文开启拥塞通知标记功能,则配置报文的第二时间戳标记;报文转发模块,被配置为在发送报文之前,根据第二时间戳标记确定拥塞标记功能未开启,并按照预定转发方式转发报文,第二时间戳标记携带于报文的指定位置或作为报文的随路信息进行传输。
在一种可选的实施方式中,接收时间戳信息是从接收报文的物理端口获取的时间戳信息,或在预定的报文接收阶段获取的系统时间戳信息;发送时间戳信息是从发送报文之前的报文处理阶段获取的系统时间戳信息,或是从发送报文的物理端口获取的时间戳信息。
在一种可选的实施方式中,若本节点设备为集中式转发节点设备,则报文接收阶段包括从本节点设备的入端口到本节点设备的转发芯片之间进行报文处理的任一阶段,以及,发送报文之前的报文处理阶段,包括从本节点设备的转发芯片到本节点设备的出端口之间进行报文处理的任一阶段。
在一种可选的实施方式中,若本节点设备为分布式转发节点设备,则报文接收阶段包括从本节点设备的入端口到本节点设备的上行转发芯片之间进行报文处理的任一阶段,以及,发送报文之前的报文 处理阶段,包括从本节点设备的下行转发芯片到本节点设备的出端口之间进行报文处理的任一阶段。
在一种可选的实施方式中,若本节点设备为集中式转发节点设备,则拥塞控制装置还可以包括:内部转发模块,被配置为在报文中携带第一时间戳标记、接收时间戳信息和对应的时延门限模板号之后,以及发送报文之前,在本节点设备内部转发所接收的报文,并发送报文至本节点设备的转发芯片。
在一种可选的实施方式中,若本节点设备为分布式转发节点设备,则拥塞控制装置还可以包括:在报文中携带第一时间戳标记、接收时间戳信息和对应的时延门限模板号之后,以及发送报文之前,在本节点设备内部将所接收的报文经交换网转发至本节点设备的下行转发信息。
报文在经过交换网时,第一时间戳标记、接收时间戳信息和对应的时延门限模板号的报文携带于报文的指定位置,指定位置为报文内部或与交换网对应的附加报文头部中。
在一种可选的实施方式中,拥塞控制装置还可包括报文发送模块,被配置为对报文进行拥塞通知标记之后,发送携带拥塞通知标记的报文至预定的目的端设备,携带拥塞通知标记的报文在目的端设备中被用于触发目的端设备发送流控信息,流控信息用于通知报文对应的数据流的发送端对数据流进行降速。
根据本申请实施例提供的拥塞控制装置,通过检测网络节点内部完整转发时延来进行ECN标记的方法,保障了低时延业务在网络传输中的时延要求。该拥塞控制装置可以对相关的无损网络基于队列拥塞进行ECN标记方法的补充,同时对PFC的队头阻塞也有很好的改善。
需要明确的是,本申请并不局限于上文中所描述并在图中示出的特定配置和处理。为了描述的方便和简洁,这里省略了对已知方法的详细描述,并且上述描述的系统、模块和单元的具体工作过程,可以参考前述方法的对应过程,在此不再赘述。
图11示出本申请实施例提供的计算设备的示例性硬件架构的示意图。如图11所示,计算设备500包括输入设备501、输入接口502、 中央处理器503、存储器504、输出接口505、以及输出设备506。输入接口502、中央处理器503、存储器504、以及输出接口505通过总线510相互连接,输入设备501和输出设备506分别通过输入接口502和输出接口505与总线510连接,进而与计算设备500的其它组件连接。
具体地,输入设备501接收来自外部的输入信息,并通过输入接口502将输入信息传送到中央处理器503;中央处理器503基于存储器504中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器504中,然后通过输出接口505将输出信息传送到输出设备506;输出设备506将输出信息输出到计算设备500的外部供用户使用。
在一种可选的实施方式中,图11所示的计算设备可以被实现为一种网络节点设备,该网络节点设备可以包括:存储器,被配置为存储程序;处理器,被配置为运行存储器中存储的程序,以执行本申请实施例提供的拥塞控制方法的至少一个步骤。
以上所述,仅为本申请的示例性实施例而已,并非用于限定本申请的保护范围。一般来说,本申请的多种实施例可以在硬件或专用电路、软件、逻辑或其任何组合中实现。例如,一些方面可以被实现在硬件中,而其它方面可以被实现在可以被控制器、微处理器或其它计算装置执行的固件或软件中,尽管本申请不限于此。
本申请的实施例可以通过移动装置的数据处理器执行计算机程序指令来实现,例如在处理器实体中,或者通过硬件,或者通过软件和硬件的组合。计算机程序指令可以是汇编指令、指令集架构(Instruction Set Architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码。
本申请附图中的任何逻辑流程的框图可以表示程序步骤,或者可以表示相互连接的逻辑电路、模块和功能,或者可以表示程序步骤与逻辑电路、模块和功能的组合。计算机程序可以存储在存储器上。存储器可以具有任何适合于本地技术环境的类型并且可以使用任何 适合的数据存储技术实现,例如但不限于只读存储器(Read-Only Memory,ROM)、随机访问存储器(Random Access Memory,RAM)、光存储器装置和系统(数码多功能光碟Digital Versatile Disc,DVD或光盘CD)等。计算机可读介质可以包括非瞬时性存储介质。数据处理器可以是任何适合于本地技术环境的类型,例如但不限于通用计算机、专用计算机、微处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程逻辑门阵列(Field Programmable Gate Array,FGPA)以及基于多核处理器架构的处理器。
通过示范性和非限制性的示例,上文已提供了对本申请的示范实施例的详细描述。但结合附图和权利要求来考虑,对以上实施例的多种修改和调整对本领域技术人员来说是显而易见的,但不偏离本申请的范围。因此,本申请的恰当范围将根据权利要求确定。

Claims (17)

  1. 一种拥塞控制方法,包括:
    根据接收到的报文的接收时间戳信息和发送时间戳信息,计算所述报文在本节点设备内部的转发时延值;以及
    响应于所述报文在本节点设备内部的转发时延值大于所述报文的预设时延门限值,对所述报文进行拥塞通知标记,以通过所述拥塞通知标记对所述报文进行拥塞控制。
  2. 根据权利要求1所述的方法,在根据接收到的所述报文的所述接收时间戳信息和所述发送时间戳信息,计算所述报文在本节点设备内部的转发时延值之前,还包括:
    在预定的报文接收阶段,根据接收到的报文所对应的流匹配信息,判断是否需要对所述报文开启拥塞通知标记功能;其中,所述流匹配信息包括如下项中的至少一项:入端口流量、出端口流量、入端口、出端口、报文优先级或报文特征信息;以及
    响应于确定需要开启拥塞通知标记功能,获取所述报文的接收时间戳信息,并配置所述报文的时延门限模板,所述时延门限模板中包含所述预设时延门限值。
  3. 根据权利要求2所述的方法,其中,
    在获取所述报文的接收时间戳信息,并配置所述报文的时延门限模板之后,所述方法还包括:确定所述报文的第一时间戳标记和对应的时延门限模板号;其中,所述第一时间戳标记用于指示所述拥塞标记功能已开启,所述时延门限模板号用于索引所配置的时延门限模板;以及
    根据接收到的所述报文的所述接收时间戳信息和所述发送时间戳信息,计算所述报文在本节点设备内部的转发时延值,包括:在发送所述报文之前,响应于检测到所述报文的第一时间戳标记,计算所述接收时间戳信息和获取的发送时间戳信息的差值,得到所述报文的转发时延值;以及,根据所述报文对应的时延门限模板号获取所述报 文的预设时延门限值;
    其中,所述第一时间戳标记、所述接收时间戳信息和对应的时延门限模板号携带于所述报文的指定位置或作为所述报文的随路信息进行传输。
  4. 根据权利要求2所述的方法,其中,所述流匹配信息为入端口;
    根据接收到的所述报文所对应的所述流匹配信息,判断是否需要对所述报文开启拥塞通知标记功能,包括:响应于所述报文是本节点设备从预定的入端口接收的报文,且本节点设备的入端口流量为无损业务流量,确定需要对所述报文开启拥塞标记功能;以及
    配置所述报文的时延门限模板,包括:将所述报文承载的时延需求业务所对应的时延门限模板,作为所述报文的时延门限模板;其中,不同的时延需求业务预先设置有不同的时延门限模板。
  5. 根据权利要求2所述的方法,其中,所述流匹配信息为出端口;
    根据接收到的所述报文所对应的所述流匹配信息,判断是否需要对所述报文开启拥塞通知标记功能,包括:响应于所述报文是本节点设备作为预定服务器接收的报文,且所述预定服务器的出端口用于发送预定数据中心网络中的多对一聚合流量数据,通过查找预设的报文转发表确定所述报文的出端口号;以及,响应于在预设的第一拥塞通知标记匹配表中,查找到与所述出端口号对应的时延门限模板,确定需要对所述报文开启拥塞通知标记功能;以及
    配置所述报文的时延门限模板,包括:将查找到的与所述出端口号对应的时延门限模板,作为所述报文的时延门限模板。
  6. 根据权利要求5所述的方法,其中,配置所述报文的时延门限模板号,包括:
    设置需要携带的时延门限模板号为空值;以及
    在确定所述报文已开启拥塞标记功能之后,以及在发送所述报文之前,从预先配置的下行出端口属性表中获取与所述出端口号对应的时延门限模板。
  7. 根据权利要求2所述的方法,其中,所述流匹配信息为入端口和报文优先级;
    根据接收到的所述报文所对应的所述流匹配信息,判断是否需要对所述报文开启拥塞通知标记功能,包括:响应于所述报文是本节点设备从预定的入端口接收的具有优先级信息的报文,且本节点设备的入端口流量为无损业务流量,且在预设的第二拥塞通知标记匹配表中查找到与所述报文的入端口号和所述优先级信息对应的时延门限模块号,确定需要对所述报文开启拥塞通知标记功能;以及
    配置所述报文的时延门限模板,包括:将查找到的与所述入端口号和所述优先级信息对应的时延门限模块,作为所述报文的时延门限模板。
  8. 根据权利要求2所述的方法,其中,所述流匹配信息为出端口和优先级信息;
    根据接收到的所述报文所对应的所述流匹配信息,判断是否需要对所述报文开启拥塞通知标记功能,包括:通过查找预设的报文转发表确定所述报文的出端口号,并获取所述报文的优先级信息;以及,响应于在预设的第三拥塞通知标记匹配表中,查找到与所述出端口号和所述优先级信息对应的时延门限模块,确定需要对所述报文开启拥塞通知标记功能;以及
    配置所述报文的时延门限模板,包括:将查找到的与所述出端口号和所述优先级信息对应的时延门限模块号,作为所述报文的时延门限模板。
  9. 根据权利要求2所述的方法,其中,所述流匹配信息为报文特征信息;
    根据接收到的所述报文所对应的所述流匹配信息,判断是否需要对所述报文开启拥塞通知标记功能,包括:响应于在预设的第四拥塞通知标记匹配表中,查找到与所述报文特征信息对应的时延门限模块号,确定需要对所述报文开启拥塞通知标记功能;以及
    配置所述报文的时延门限模板,包括:将查找到的与所述报文特征信息对应的时延门限模块,作为所述报文对应的时延门限模板;
    其中,所述报文特征信息包括:报头信息、报文内容的任一特征字段信息或所述报文在所述报文接收阶段产生的元数据。
  10. 根据权利要求2-9中任一项所述的方法,在预定的报文接收阶段,还包括:
    响应于确定无需对所述报文开启拥塞通知标记功能,配置所述报文的第二时间戳标记;以及
    在发送所述报文之前,根据所述第二时间戳标记确定所述拥塞标记功能未开启,并按照预定转发方式转发所述报文;
    其中,所述第二时间戳标记携带于所述报文的指定位置或作为所述报文的随路信息进行传输。
  11. 根据权利要求2-9中任一项所述的方法,其中,
    所述接收时间戳信息是从接收所述报文的物理端口获取的时间戳信息,或是在预定的报文接收阶段获取的系统时间戳信息;以及
    所述发送时间戳信息是从发送所述报文之前的报文处理阶段获取的系统时间戳信息,或是从发送所述报文的物理端口获取的时间戳信息。
  12. 根据权利要求11所述的方法,其中,
    若本节点设备为集中式转发节点设备,则所述报文接收阶段包括从本节点设备的入端口到本节点设备的转发芯片之间进行报文处理的任一阶段;以及,所述发送所述报文之前的报文处理阶段包括从本节点设备的转发芯片到本节点设备的出端口之间进行报文处理的 任一阶段;以及
    若本节点设备为分布式转发节点设备,则所述报文接收阶段包括从本节点设备的入端口到本节点设备的上行转发芯片之间进行报文处理的任一阶段;以及,所述发送所述报文之前的报文处理阶段包括从本节点设备的下行转发芯片到本节点设备的出端口之间进行报文处理的任一阶段。
  13. 根据权利要求3所述的方法,还包括:
    响应于本节点设备为集中式转发节点设备,在本节点设备内部转发所接收的报文,并发送所述报文至本节点设备的转发芯片;以及
    响应于本节点设备为分布式转发节点设备,在本节点设备内部将所接收的报文经交换网转发至本节点设备的下行转发信息;
    其中,所述报文在经过交换网时,所述第一时间戳标记、所述接收时间戳信息和所述对应的时延门限模板号携带于所述报文的指定位置,所述指定位置为所述报文内部、或与所述交换网对应的附加报文头部中。
  14. 根据权利要求2-9中任一项所述的方法,在对所述报文进行拥塞通知标记之后,还包括:
    发送携带所述拥塞通知标记的报文至预定的目的端设备;
    其中,所述携带拥塞通知标记的报文在所述目的端设备中被用于触发所述目的端设备发送流控信息,且流控信息用于通知所述报文对应的数据流的发送端对所述数据流进行降速。
  15. 一种拥塞控制装置,包括:
    时延门限计算模块,被配置为根据接收到的报文的接收时间戳信息和发送时间戳信息,计算所述报文在本节点设备内部的转发时延值;以及
    拥塞通知标记携带模块,被配置为响应于所述报文在本节点设备内部的转发时延值大于所述报文的预设时延门限值,对所述报文进 行拥塞通知标记,以通过所述拥塞通知标记对所述报文进行拥塞控制。
  16. 一种网络节点设备,包括:
    一个或多个处理器;以及
    存储器,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1-14中任一项所述的拥塞控制方法。
  17. 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据权利要求1-14任一项所述的拥塞控制方法。
PCT/CN2021/110501 2020-08-07 2021-08-04 拥塞控制方法和装置、网络节点设备,及计算机可读存储介质 WO2022028456A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP21853344.6A EP4195594A1 (en) 2020-08-07 2021-08-04 Congestion control method and apparatus, network node device and computer-readable storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010789061.6A CN112787951B (zh) 2020-08-07 2020-08-07 拥塞控制方法、装置、设备和计算机可读存储介质
CN202010789061.6 2020-08-07

Publications (1)

Publication Number Publication Date
WO2022028456A1 true WO2022028456A1 (zh) 2022-02-10

Family

ID=75750246

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/110501 WO2022028456A1 (zh) 2020-08-07 2021-08-04 拥塞控制方法和装置、网络节点设备,及计算机可读存储介质

Country Status (3)

Country Link
EP (1) EP4195594A1 (zh)
CN (1) CN112787951B (zh)
WO (1) WO2022028456A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116233017A (zh) * 2022-12-23 2023-06-06 中国联合网络通信集团有限公司 时延保证方法、装置及存储介质
CN116932273A (zh) * 2023-09-18 2023-10-24 深圳云豹智能有限公司 一种用于rdma中的功能级复位处理方法、装置及存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112787951B (zh) * 2020-08-07 2024-02-27 中兴通讯股份有限公司 拥塞控制方法、装置、设备和计算机可读存储介质
CN113810383B (zh) * 2021-08-25 2022-12-20 杭州安恒信息技术股份有限公司 Web应用防火墙及拥塞控制方法、介质及电子设备
CN116192754A (zh) * 2021-11-26 2023-05-30 苏州盛科通信股份有限公司 报文的控制方法和装置、存储介质及电子装置
CN114285733A (zh) * 2021-12-28 2022-04-05 苏州盛科通信股份有限公司 基于报文染色的ioam网络设备拥塞及时延检测方法和装置
CN114760252A (zh) * 2022-03-24 2022-07-15 北京邮电大学 数据中心网络拥塞控制方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188611A (zh) * 2007-11-21 2008-05-28 华为技术有限公司 拥塞通知方法、系统和节点设备
CN103338133A (zh) * 2013-06-28 2013-10-02 盛科网络(苏州)有限公司 动态监测报文转发端口拥塞的方法及装置
CN108075935A (zh) * 2016-11-15 2018-05-25 华为技术有限公司 测量时延的方法及设备
CN108667739A (zh) * 2017-03-27 2018-10-16 华为技术有限公司 拥塞控制方法、装置及系统
CN110022264A (zh) * 2018-01-08 2019-07-16 华为技术有限公司 控制网络拥塞的方法、接入设备和计算机可读存储介质
US20190379604A1 (en) * 2018-06-12 2019-12-12 Verizon Patent And Licensing Inc. Communication of congestion information to end devices
CN112787951A (zh) * 2020-08-07 2021-05-11 中兴通讯股份有限公司 拥塞控制方法、装置、设备和计算机可读存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10135735B2 (en) * 2014-07-16 2018-11-20 Nec Corporation Method and system for managing flows in a network
CN106302228B (zh) * 2016-10-18 2019-06-04 中南大学 一种数据中心网络中基于任务感知的传输控制方法
CN109309625B (zh) * 2017-07-28 2021-10-29 北京交通大学 一种数据中心网络灾备传输方法
CN108270691A (zh) * 2018-01-11 2018-07-10 电子科技大学 一种用于数据中心的可选择性显式拥塞通知标记方法
CN108965151B (zh) * 2018-08-27 2020-08-28 华中科技大学 一种基于排队时延的显式拥塞控制方法
CN108989235B (zh) * 2018-08-28 2022-11-01 新华三技术有限公司 一种报文转发控制方法及装置
CN109462553A (zh) * 2018-10-24 2019-03-12 盛科网络(苏州)有限公司 一种基于时延的动态队列管理芯片实现方法
US10951527B2 (en) * 2018-12-28 2021-03-16 Juniper Networks, Inc. Switch fabric packet flow reordering
CN111385121B (zh) * 2018-12-29 2021-08-03 华为技术有限公司 一种操作管理维护iOAM报文的传输方法及相应装置
CN110784415B (zh) * 2019-11-04 2022-08-26 苏州盛科通信股份有限公司 一种ecn快速响应的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188611A (zh) * 2007-11-21 2008-05-28 华为技术有限公司 拥塞通知方法、系统和节点设备
CN103338133A (zh) * 2013-06-28 2013-10-02 盛科网络(苏州)有限公司 动态监测报文转发端口拥塞的方法及装置
CN108075935A (zh) * 2016-11-15 2018-05-25 华为技术有限公司 测量时延的方法及设备
CN108667739A (zh) * 2017-03-27 2018-10-16 华为技术有限公司 拥塞控制方法、装置及系统
CN110022264A (zh) * 2018-01-08 2019-07-16 华为技术有限公司 控制网络拥塞的方法、接入设备和计算机可读存储介质
US20190379604A1 (en) * 2018-06-12 2019-12-12 Verizon Patent And Licensing Inc. Communication of congestion information to end devices
CN112787951A (zh) * 2020-08-07 2021-05-11 中兴通讯股份有限公司 拥塞控制方法、装置、设备和计算机可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116233017A (zh) * 2022-12-23 2023-06-06 中国联合网络通信集团有限公司 时延保证方法、装置及存储介质
CN116932273A (zh) * 2023-09-18 2023-10-24 深圳云豹智能有限公司 一种用于rdma中的功能级复位处理方法、装置及存储介质

Also Published As

Publication number Publication date
EP4195594A1 (en) 2023-06-14
CN112787951A (zh) 2021-05-11
CN112787951B (zh) 2024-02-27

Similar Documents

Publication Publication Date Title
WO2022028456A1 (zh) 拥塞控制方法和装置、网络节点设备,及计算机可读存储介质
CN111193666B (zh) 使用自适应机器学习探测预测应用体验质量度量
US9516138B2 (en) Method and apparatus to process interest messages and data messages based on priorities in content-centric network (CCN)
US9608938B2 (en) Method and system for tracking and managing network flows
US10826830B2 (en) Congestion processing method, host, and system
US11265228B2 (en) Scalable service level agreement (SLA) verification and action using a data plane
CN108206753B (zh) 一种检测时延的方法、装置及系统
US9356844B2 (en) Efficient application recognition in network traffic
CN107547393A (zh) 一种计算转发路径的方法及网络设备
US10637792B2 (en) Real-time analysis of quality of service for multimedia traffic in a local area network
WO2012065477A1 (zh) 报文拥塞避免方法及系统
WO2021052379A1 (zh) 一种数据流类型识别方法及相关设备
TWI721103B (zh) 集群精確限速方法和裝置
US20210359952A1 (en) Technologies for protocol-agnostic network packet segmentation
US11863459B2 (en) Packet processing method and apparatus
WO2015161409A1 (zh) 一种负载均衡的实现方法及设备、系统
US11632288B2 (en) Determining the impact of network events on network applications
US10778568B2 (en) Switch-enhanced short loop congestion notification for TCP
WO2016202224A1 (zh) 一种传输层参数调整方法和装置
WO2021147370A1 (zh) 故障检测模型的训练方法、装置及系统
WO2022100511A1 (zh) 转发表项的处理方法和装置
WO2021147371A1 (zh) 故障检测方法、装置及系统
CN117014967A (zh) 移动通信系统、方法和用户面节点
CN110336759A (zh) 基于rdma的协议报文转发方法及装置
CN117811971A (zh) 一种时延确定方法、系统、装置及设备

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021853344

Country of ref document: EP

Effective date: 20230307

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21853344

Country of ref document: EP

Kind code of ref document: A1