Explicit congestion notification marking method, switch, system and storage medium
By employing an explicit congestion notification marking method with PID control in the switch, the marking probability of packets is adjusted, thus solving the network congestion problem caused by the many-to-one communication mode and achieving stable convergence of the switch queue and an increase in network throughput.
Patent Information
- Application Number
- PCT/CN2025/105982
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-25
- Filing Date
- 2025-06-30
- Publication Date
- 2026-01-29
AI Technical Summary
In remote direct memory access networks, the many-to-one communication mode is prone to network congestion. Existing congestion control algorithms are difficult to converge quickly and remain stable, resulting in low network bandwidth utilization and long packet queuing time.
An explicit congestion notification marking method based on PID control is adopted. By adjusting the marking probability of packets through proportional-integral-derivative parameters, the switch queue is kept stable at a certain queue depth, reducing invalid and excessive ECN marking, and improving the accuracy and timeliness of flow control marking.
It effectively avoids network congestion, improves network throughput, solves the problem of switch queues being difficult to converge quickly and remain stable, and enhances network performance.
Smart Images

Figure CN2025105982_29012026_PF_FP_ABST
Abstract
Description
An explicit congestion notification marking method, a switch, a system, and a storage medium.
[0001] Cross-reference to related applications
[0002] This disclosure is based on and claims priority to Chinese patent application CN202411007916.X, filed on July 25, 2024, entitled “An explicit congestion notification marking method, switch, system and storage medium”, and incorporates the entire contents of that patent application by reference. Technical Field
[0003] This disclosure relates to the field of communications, and more specifically, to an explicit congestion notification marking method, a switch, a system, and a storage medium. Background Technology
[0004] In Remote Direct Memory Access (RDMA) networks, the goal of congestion flow control is to avoid network congestion while maximizing network bandwidth utilization for optimal network performance. A mainstream congestion control algorithm in related technologies is Data Center Quantized Congestion Notification (DCQCN), a rate-based congestion control algorithm where switch congestion signals are primarily implemented using Explicit Congestion Notification (ECN). Because data center receivers use a many-to-one communication model and data traffic exhibits intermittent burst characteristics, switch queues may accumulate, leading to network congestion.
[0005] In conclusion, solutions are urgently needed to address the aforementioned technical problems. Summary of the Invention
[0006] This disclosure provides an explicit congestion notification marking method, a switch, a system, and a storage medium to at least address the problem that many-to-one communication modes in related technologies are prone to causing network congestion.
[0007] According to one embodiment of this disclosure, an explicit congestion notification marking method is provided. The method includes: obtaining the egress queue length of a switch; determining the marking probability of a packet based on preset proportional-integral-derivative (PID) parameters, a preset egress queue reference length, and the egress queue length; and marking the packet with explicit congestion notification (ECN) according to the marking probability.
[0008] According to another embodiment of this disclosure, a switch is also provided for explicitly marking congestion notifications according to the steps in the various method embodiments of this disclosure.
[0009] According to another embodiment of this disclosure, a message transmission system is also provided, comprising: a sending end, one or more switches, and a receiving end, wherein the sending end and the receiving end are connected via one or more switches, wherein the sending end is configured to send messages according to a preset message sending rate, wherein the messages are transmitted to the receiving end via one or more switches; the switches are configured to receive messages from a previous node, explicitly mark the messages with ECN according to the steps in the various method embodiments of this disclosure, and send the messages or marked messages to a next node, wherein the marked messages carry an ECN mark; the switches are also configured to receive marked messages from a previous node and send the marked messages to a next node; the receiving end is configured to receive marked messages or messages from a previous node, and upon receiving a marked message, generate a congestion notification message based on the ECN mark in the marked message, and feed back the congestion notification message to the sending end via one or more switches; the sending end is also configured to adjust the message sending rate according to the congestion notification message, and send messages according to the adjusted message sending rate.
[0010] According to yet another embodiment of this disclosure, a computer-readable storage medium is also provided, which stores a computer program, wherein the computer program is executed by a processor to perform the steps in any of the above method embodiments.
[0011] According to yet another embodiment of this disclosure, a computer program product is also provided, including a computer program that, when executed by a processor, implements the steps in any of the above method embodiments.
[0012] In this embodiment, an ECN marking method based on PID control is designed. The marking probability of a packet is determined by the PID parameter, and ECN marking is performed according to the marking probability. This method can keep the packet queue of the switch stable at a certain queue depth, reduce invalid and excessive ECN marking, avoid blindly increasing or decreasing speed, improve the accuracy and timeliness of flow control marking, thereby improving network throughput and solving the problem that many-to-one communication mode in related technologies is prone to network congestion. Attached Figure Description
[0013] Figure 1 is a schematic diagram illustrating the linear relationship between ECN tagging probability and switch queue length in related technologies;
[0014] Figure 2 is a flowchart of an explicit congestion notification marking method according to an embodiment of the present disclosure;
[0015] Figure 3 is a structural block diagram of a message transmission system according to an embodiment of the present disclosure;
[0016] Figure 4 is a schematic diagram of a message transmission and reception model of a data center network according to an embodiment of this disclosure;
[0017] Figure 5 is a schematic diagram of the message sending and receiving process of a data center network according to an embodiment of the present disclosure;
[0018] Figure 6 is a schematic diagram of the switch egress queue in one embodiment of this disclosure;
[0019] Figure 7 is a schematic diagram of a switch according to an embodiment of the present disclosure. Detailed Implementation
[0020] The embodiments of this disclosure will be described in detail below with reference to the accompanying drawings and examples.
[0021] It should be noted that the terms "first," "second," etc., in the specification, claims, and drawings of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.
[0022] In related technologies, in data centers, when switches experience congestion, congestion signals can typically be used to reduce traffic or drop some data packets to alleviate the congestion. The advantage of packet loss is that it doesn't occupy bottleneck bandwidth and may only affect flows through congested links. The disadvantage is that it leads to uncertainty in packet delivery; packets arrive in the wrong order, making packet loss detection very complex. In the DCQCN congestion flow control scheme, adjusting traffic through congestion signals corresponds to ECN labeling, where the switch labels packets in its egress queue with ECN based on probability, according to the degree of congestion.
[0023] Figure 1 illustrates the linear relationship between ECN marking probability and switch queue length in related technologies. As shown in Figure 1, the switch marks packets in its egress queue with ECN based on probability according to its congestion level. A low queue threshold Kmin is set; when the switch queue length is below this threshold, no marking is performed (probability P = 0). A high queue threshold Kmax is set; when the switch queue length is above this threshold, marking is performed 100% of the time (probability P = 1). When the switch queue length is between Kmin and Kmax, packets are marked with ECN according to the probability P = (Q - Kmin) / (Kmax - Kmin), where Q is the switch queue length. This ECN marking method can be called linear ECN marking.
[0024] However, the above-mentioned linear ECN marking method has the following problems: when the switch queue length is less than Kmin, the network bandwidth utilization is low; when the switch queue length is greater than Kmax, the packet queuing time is long, the flow completion time (FCT) of short flows is long, and severe congestion will generate pause frames based on priority flow control (PFC); when the switch queue length is between [Kmin, Kmax], the congestion control algorithm speed adjustment will cause queue oscillation, resulting in excessive speed increase or decrease, and it is difficult to quickly converge and stabilize at a certain queue length value.
[0025] The method embodiments in this disclosure can be run in data center networks or similar network architectures, especially switches in data center networks, which can implement explicit congestion notification marking according to the steps in the various method embodiments of this disclosure.
[0026] This disclosure provides an explicit congestion notification marking method. Figure 2 is a flowchart of the explicit congestion notification marking method according to an embodiment of this disclosure. As shown in Figure 2, the process includes the following steps:
[0027] Step S202: Obtain the length of the switch's egress queue;
[0028] Step S204: Determine the packet marking probability based on the preset proportional-integral-derivative (PID) parameters, the preset egress queue reference length, and the egress queue length.
[0029] Step S206: Explicitly mark the packet with ECN according to the marking probability.
[0030] In this embodiment, through steps S202 to S206, the packet marking probability can be determined based on the PID parameters, and ECN marking can be performed according to the marking probability. This maintains the switch's packet queue at a stable queue depth, reduces invalid and excessive ECN marking, avoids blindly increasing or decreasing speed, improves the accuracy and timeliness of flow control marking, thereby increasing network throughput and solving the problem of network congestion easily caused by many-to-one communication modes in related technologies. Furthermore, compared to linear ECN marking methods, this embodiment can also solve the problem of switch queues being difficult to converge quickly and maintain stability.
[0031] In this embodiment, the executing entity of the above steps S202 to S206 can be a network node such as a switch, router, or relay node, and this disclosure is not limited to this.
[0032] In this embodiment, Explicit Congestion Notification (ECN) is a network congestion control mechanism used to provide congestion signals. ECN allows the switch to explicitly notify the sender by modifying the ECN field in the packet header when congestion is detected. Therefore, marking the packet with ECN in step S206 can be achieved by modifying the ECN field in the packet.
[0033] In one exemplary embodiment, the packet header may include an 8-bit "Type of Service" field. The ECN mechanism can use the lowest two bits of this field as the ECN field to indicate the congestion state. Different values of the ECN field can correspond to the following ECN states: ECN not supported, non-congested, and congested. In this embodiment, marking the packet with ECN indicates that the ECN field is marked as congested.
[0034] In this embodiment, PID control is a feedback control mechanism widely used in industrial control systems. It stands for Proportional, Integral, and Derivative, representing the three control actions. The PID controller adjusts the system output through these three components to achieve a predetermined control objective. In this embodiment, the PID parameters can be adjusted to regulate the tag probability, thereby achieving flow control at the receiving end. This allows the outlet queue length to converge quickly and remain stable based on a preset outlet queue reference length.
[0035] In some embodiments, the preset PID parameters include: proportional coefficient, integral coefficient, and derivative coefficient.
[0036] In some embodiments, step S204 includes: determining the tagging probability of a message based on a preset proportional coefficient, a preset integral coefficient, a preset differential coefficient, a preset egress queue reference length, and the egress queue length.
[0037] In this embodiment, the proportional coefficient, integral coefficient, and derivative coefficient can be PID parameters that optimize the overall system performance, obtained in advance through simulation.
[0038] In some embodiments, the proportional, integral, and derivative coefficients can be adjusted to obtain PID parameters that meet the overall system performance requirements: The proportional coefficient controls the response speed and force. If the proportional coefficient is set too small, the system response will be slow; if it is set too large, oscillations may occur. When adjusting the proportional coefficient, start with a small value and gradually increase it until the system begins to oscillate. Then record the proportional value at which this critical oscillation occurs and set it to approximately 60% of that value. The integral coefficient helps eliminate steady-state errors and improves the system's accuracy. However, if the integral coefficient is set too large, it may slow down the system response and increase the risk of overshoot and oscillations. When adjusting the integral coefficient, start with a large value and gradually decrease it until the system achieves satisfactory steady-state performance. The derivative coefficient can suppress overshoot and oscillations, improving system stability. The derivative coefficient is sensitive to noise, and improper setting may cause problems. When adjusting the derivative coefficient, start with a small value and gradually increase it until the system exhibits good damping, while avoiding a slowdown in response speed due to an excessively large derivative coefficient.
[0039] In one exemplary embodiment, the proportional coefficient can be set to 0.3, and the integral coefficient and derivative coefficient can be set to 0.01, but this disclosure is not limited to this, and the specific PID parameters can be adjusted according to the simulation results.
[0040] In some embodiments, step S204 may include the following steps:
[0041] Step S2041: Determine the exit queue length deviation based on the exit queue length and the exit queue reference length;
[0042] Step S2042: Determine the proportional value based on the exit queue length deviation and the proportional coefficient;
[0043] Step S2043: Determine the integral value based on the exit queue length deviation and the integral coefficient;
[0044] Step S2044: Determine the differential value based on the exit queue length deviation and the differential coefficient;
[0045] Step S2045: The sum of the proportional value, the integral value, and the differential value is determined as the label probability.
[0046] In some embodiments, step S2041 includes: determining the ratio of the difference between the exit queue length and the exit queue reference length to the exit queue reference length as the exit queue length deviation; or, determining the difference between the exit queue length and the exit queue reference length as the exit queue length deviation.
[0047] In an exemplary embodiment, step S2041 can be implemented as follows: diff(N) = (QQ) Ref ) / Q Ref ;
[0048] Where N is the current time, diff(N) is the deviation of the exit queue length, and Q is the length of the exit queue. Ref This is the reference length for the exit queue.
[0049] In some embodiments, steps S2042 to S2045 can be implemented in the following ways:
[0050] Where P is the labeling probability, M is the preset integration time, and K... P K is the proportionality coefficient. I Let K be the integral coefficient. D The differential coefficient is denoted as .
[0051] In an exemplary embodiment, the labeling probability, based on the value of a preset PID parameter, can be expressed as:
[0052] In some embodiments, step S206, which involves explicitly marking the packet with an ECN (Electronic Congestion Notification) based on the marking probability, may include the following steps:
[0053] Step S2062: For the message, generate a random number in the range of 0 to 1;
[0054] Step S2064: If the random number is greater than the marking probability, mark the message with ECN to obtain a marked message;
[0055] Step S2066: If the random number is less than or equal to the marking probability, do not mark the message with ECN.
[0056] In this embodiment, the generated random numbers are evenly distributed in the range of 0 to 1. Over a long period of time, if the probability of marking 1,000 packets in the current switch is 60%, then about 60% of these 1,000 packets will be marked as congested, and the remaining 40% of the packets will not be marked.
[0057] In some embodiments, after step S206, the method further includes step S208, sending the tagged message or the message to the next node.
[0058] In this embodiment, the switch detects the egress queue length in real time and determines the marking probability corresponding to each packet to be sent, thereby determining whether the packet needs to be marked with ECN before sending. If a packet has already been marked with ECN in a previous node, the ECN marking process can be skipped in the current node and subsequent nodes, and forwarding can be performed directly, thus avoiding redundant processing operations.
[0059] This disclosure presents an ECN marking method based on PID control. The method determines the marking probability of packets using PID parameters and performs ECN marking according to this probability. This maintains the switch's packet queue at a stable queue depth, reduces invalid and excessive ECN marking, avoids blindly increasing or decreasing speed, and improves the accuracy and timeliness of flow control marking, thereby increasing network throughput. This addresses the network congestion problem inherent in many-to-one communication modes in related technologies. Furthermore, compared to linear ECN marking methods, this disclosure also solves the problem of switch queues struggling to converge quickly and remain stable.
[0060] Embodiments of this disclosure also provide a message transmission system. Figure 3 is a structural block diagram of a message transmission system according to an embodiment of this disclosure. As shown in Figure 3, the system includes the following structure:
[0061] The transmitter 32, one or more switches 34, and the receiver 36.
[0062] In this embodiment, the sending end and the receiving end are connected through one or more switches.
[0063] In this embodiment, the sending end is used to send messages according to a preset message sending rate, wherein the messages are transmitted to the receiving end through the one or more switches;
[0064] In this embodiment, the switch is configured to receive the packet from the previous node, perform explicit congestion notification marking according to the steps in any of the above method embodiments, and send the packet or the marked packet to the next node, wherein the marked packet carries an ECN tag;
[0065] In this embodiment, the switch is further configured to receive the tagged packet from the previous node and send the tagged packet to the next node;
[0066] In this embodiment, the receiving end is used to receive the tagged message or the message from the previous node. When the tagged message is received, the receiving end generates a congestion notification message according to the ECN tag in the tagged message, and feeds back the congestion notification message to the sending end through the one or more switches.
[0067] In this embodiment, the sending end is further configured to adjust the message sending rate according to the congestion notification message, and send the message according to the adjusted message sending rate.
[0068] In some embodiments, the sending end is further configured to, upon receiving the congestion notification message, adjust the message transmission rate to a first rate, wherein the first rate is less than the preset message transmission rate; and, upon not receiving the congestion notification message, maintain the message transmission rate or adjust the message transmission rate to a second rate, wherein the second rate is greater than the preset message transmission rate.
[0069] In some embodiments, the sender adjusts the packet transmission rate based on the number of received Congestion Notification Packets (CNPs). After several rounds of rate adjustment, the switch's egress queue can quickly and stably converge to a preset reference value. For example, the sender can alleviate packet congestion in the system by reducing the packet transmission rate after receiving a congestion notification packet, or it can maintain the packet transmission rate or appropriately increase it when no congestion notification packets are received, thereby increasing network throughput and improving overall system performance when the transmission channel is idle.
[0070] In this embodiment, the sending end receives an ACK message and a CNP message, and adjusts the sending rate R in real time according to the received CNP message, and sends the message according to the adjusted sending rate R. This embodiment does not require parameters to be consistent between the sending and receiving ends, and does not require negotiation between the two ends.
[0071] In this embodiment, each switch can determine the packet marking probability using PID parameters and perform ECN marking based on the marking probability. This maintains the switch's packet queue at a stable queue depth, reduces invalid and excessive ECN marking, avoids blindly increasing or decreasing speed, and improves the accuracy and timeliness of flow control marking, thereby increasing network throughput and solving the problem of network congestion easily caused by many-to-one communication modes in related technologies. Furthermore, compared to linear ECN marking methods, this embodiment can also solve the problem of switch queues being difficult to converge quickly and maintain stability.
[0072] In one embodiment of this disclosure, the message transmission system described above can be implemented in a data center network or a similar network architecture. The data center network consists of a core layer, an aggregation layer, and an access layer. Switches may include edge switches located in the access layer, aggregation switches located in the aggregation layer, and / or core switches located in the core layer. The access layer is the lowest layer of the data center network, directly connected to servers and other terminal devices. The aggregation layer aggregates traffic from the access layer, providing higher-level routing and switching functions. The core layer is the center of the data center network, responsible for transmitting data between different aggregation layers. The functions of the access layer, aggregation layer, and core layer can all be implemented using routers, switches, or similar network devices.
[0073] In this embodiment, the receiving end and the sending end can be located in the access layer, or they can be computing nodes connected to the edge switch of the access layer, such as user terminals or servers. The computing nodes can send and receive data through the edge switch.
[0074] Through the embodiments disclosed herein, packet flow control of data center networks can be achieved, accelerating the convergence speed of the DCQCN flow control algorithm and improving bandwidth utilization. Simultaneously, the switch can quickly converge to the reference queue length, achieving low transmission latency.
[0075] Figure 4 is a schematic diagram of a message transmission and reception model of a data center network in one embodiment of the present disclosure. As shown in Figure 4, the data center network includes a sender, multiple switches, and a receiver.
[0076] In this embodiment, the sending end continuously transmits packets. As the packets pass through various switches, they are marked with an ECN (Exchange-Confirmation Number) based on the congestion status of the switch's egress queue. Upon receiving a packet carrying an ECN, the receiving end generates a Congestion Notification Message (CNP) to notify the sending end of the existing congestion point. The sending end can adjust its packet transmission rate based on the CNP and continue transmitting packets based on the adjusted rate.
[0077] In this embodiment, the sending end can be based on the Data Center Quantized Congestion Notification (DCQCN) algorithm. Without modifying the DCQCN algorithm, this can also solve the problem of network congestion easily caused by many-to-one communication. Furthermore, compared to the linear ECN marking method, this embodiment can also solve the problem in related technologies where switch queues are difficult to converge quickly and maintain stability.
[0078] In this embodiment, the switch can internally implement any of the above method embodiments without adjusting the sending and receiving ends. By configuring a reference queue length internally and calculating the ECN marking probability using the PID method based on the monitored real-time network egress queue length, and marking the packets in the egress queue with ECN according to the marking probability, congestion flow control performance can be improved.
[0079] Figure 5 is a schematic diagram of the message sending and receiving process of a data center network according to an embodiment of the present disclosure. As shown in Figure 5, the process includes the following steps:
[0080] Step S1: The sending end sends messages at the initial rate;
[0081] Step S2: After the packet passes through one or more switches, at the exit of each switch, the packet is checked for ECN marking based on the exit queue status before being forwarded to the next hop node.
[0082] Step S3: The receiving end receives the message and sends a CNP message based on the ECN tag on the message;
[0083] Step S4: The switch receives and forwards the CNP message;
[0084] Step S5: The sending end receives the CNP message;
[0085] Step S6: Determine whether the sending has ended. If the sending has been completed, then end the process. If there are still messages to be sent, adjust the sending rate and the sending end continues to send messages. Then proceed to step S2 and repeat the process until the sending is complete.
[0086] Step S2 above is the core step in this embodiment of the disclosure. When a packet passes through each switch, the packet marking probability is determined based on the packet queuing status of the egress queue of the switch, the preset PID parameters, and the preset egress queue reference length, and then it is determined whether to mark the packet with ECN.
[0087] In this embodiment, a complete message rate adjustment can be completed from steps S2 to S6. In a data center network, multiple rounds of message rate adjustment can ultimately achieve convergence and stability of the egress queue length of each switch.
[0088] Figure 6 is a schematic diagram of the switch egress queue in one embodiment of this disclosure. As shown in Figure 6, the switch can set the reference length of the egress queue to Q. Ref When a switch receives a packet, it will detect the current egress queue length Q and use the PID method to calculate the marking probability P. Then, based on the marking probability P, it will determine whether the packets in the egress queue need to be marked with ECN.
[0089] In this embodiment, the switch performs ECN marking in this manner. Based on the number of received CNP packets, the sending end adjusts its speed several times until the switch's egress queue quickly and stably converges to Q. Ref nearby.
[0090] Embodiments of this disclosure also provide a switch for explicitly marking congestion notifications according to the steps in any of the above method embodiments.
[0091] Figure 7 is a schematic diagram of a switch in one embodiment of the present disclosure. As shown in Figure 7, the switch supports ECN function and adopts PID control technology internally.
[0092] In this embodiment, the PID control function in the switch can be implemented by a PID controller, which can be in hardware or software form, and this disclosure does not limit it.
[0093] In this embodiment, the input parameter is the reference length Q of the switch's egress queue. Ref .
[0094] In this embodiment, the switch needs to calculate the ECN marking probability P based on the current egress queue length Q at time N, specifically including: diff(N) = (Q / Q) Ref ) / Q Ref ;
[0095] Where N is the current time, diff(N) is the deviation of the exit queue length, and Q is the length of the exit queue. Ref Let P be the reference length of the exit queue, M be the marking probability, M be the preset integration time, and K be the reference length of the exit queue. P K is the proportionality coefficient. I Let K be the integral coefficient. D The differential coefficient is denoted as .
[0096] In one exemplary embodiment, the labeling probability can be expressed as:
[0097] In this embodiment, the output parameter is the ECN of the packets in the egress queue marked by the switch with probability P.
[0098] This disclosure presents an ECN marking method based on PID control. The method determines the marking probability of packets using PID parameters and performs ECN marking according to this probability. This maintains the switch's packet queue at a stable queue depth, reduces invalid and excessive ECN marking, avoids blindly increasing or decreasing speed, and improves the accuracy and timeliness of flow control marking, thereby increasing network throughput. This addresses the network congestion problem inherent in many-to-one communication modes in related technologies. Furthermore, compared to linear ECN marking methods, this disclosure also solves the problem of switch queues struggling to converge quickly and remain stable.
[0099] Embodiments of this disclosure also provide a computer-readable storage medium storing a computer program, wherein the computer program is executed by a processor to perform the steps in any of the above method embodiments.
[0100] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.
[0101] Embodiments of this disclosure also provide an electronic device including a memory and a processor, the memory storing a computer program and the processor being configured to run the computer program to perform the steps in any of the above method embodiments.
[0102] Furthermore, the electronic device includes, but is not limited to, the aforementioned switches, routers, relay nodes, or other network devices.
[0103] In one exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor and the input / output device is connected to the processor.
[0104] In one exemplary embodiment, the processor may include, but is not limited to, a processing device such as a microprocessor (MCU) or a programmable logic device (FPGA). The memory may include high-speed random access memory (RAM), and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. The transmission device is used to receive or transmit data via a network. In one example, the transmission device includes a network interface controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In one example, the transmission device may be a radio frequency (RF) module used to communicate with the Internet wirelessly.
[0105] Embodiments of this disclosure also provide a computer program product, including a computer program that, when executed by a processor, implements the steps of the methods described in various embodiments of this disclosure.
[0106] Specific examples in this embodiment can be found in the examples described in the above embodiments and exemplary implementations, and will not be repeated here.
[0107] It is obvious to those skilled in the art that the modules or steps of this disclosure described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. They can be implemented using computer-executable program code, and thus can be stored in a storage device for execution by a computing device. In some cases, the steps shown or described can be performed in a different order than those presented herein, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, this disclosure is not limited to any particular combination of hardware and software.
[0108] The above description is merely an exemplary embodiment of this disclosure and is not intended to limit this disclosure. Various modifications and variations can be made to this disclosure by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. An explicit congestion notification marking method, the method comprising: obtaining an egress queue length of a switch; determining a marking probability of a packet according to preset proportional integral derivative (PID) parameters, a preset egress queue reference length, and the egress queue length; performing explicit congestion notification (ECN) marking on the packet according to the marking probability.
2. The method of claim 1, wherein, The determining of the marking probability of the packet according to the preset PID parameters, the preset egress queue reference length, and the egress queue length comprises: determining the marking probability of the packet according to a preset proportional coefficient, a preset integral coefficient, a preset derivative coefficient, the preset egress queue reference length, and the egress queue length, wherein the preset PID parameters comprise the proportional coefficient, the integral coefficient, and the derivative coefficient.
3. The method of claim 2, wherein, The determining of the marking probability of the packet according to the preset proportional coefficient, the preset integral coefficient, the preset derivative coefficient, the preset egress queue reference length, and the egress queue length comprises: determining an egress queue length deviation according to the egress queue length and the egress queue reference length; determining a proportional value according to the egress queue length deviation and the proportional coefficient; determining an integral value according to the egress queue length deviation and the integral coefficient; determining a derivative value according to the egress queue length deviation and the derivative coefficient; determining the sum of the proportional value, the integral value, and the derivative value as the marking probability.
4. The method of claim 3, wherein, The determining of the egress queue length deviation according to the egress queue length and the egress queue reference length comprises: determining the egress queue length deviation as a ratio of a difference between the egress queue length and the egress queue reference length to the egress queue reference length; or determining the egress queue length deviation as the difference between the egress queue length and the egress queue reference length.
5. The method of claim 1, wherein, The performing of the ECN marking on the packet according to the marking probability comprises: generating a random number in a range of 0 to 1 for the packet; performing ECN marking on the packet to obtain a marked packet, in a case that the random number is greater than the marking probability; and not performing ECN marking on the packet, in a case that the random number is less than or equal to the marking probability.
6. The method of claim 5, wherein, After the performing of the ECN marking on the packet according to the marking probability, the method further comprises: sending the marked packet or the packet to a next node.
7. A switch, wherein, The switch is configured to perform the explicit congestion notification marking according to the method in any one of claims 1 to 6.
8. A message transmission system in which, The system comprises a sending end, one or more switches, and a receiving end, wherein the sending end and the receiving end are connected through the one or more switches, and wherein the sending end is configured to send packets according to a preset packet sending rate, wherein the packets are transmitted to the receiving end through the one or more switches. The switch is configured to receive the packet from the previous node, mark the packet with an Explicit Congestion Notification (ECN) according to the method of any one of claims 1 to 6, and send the packet or the marked packet to the next node, wherein the marked packet carries the ECN mark. The switch is further configured to receive the marked packet from the previous node and send the marked packet to the next node. The receiving end is configured to receive the marked packet or the packet from the previous node, generate a congestion notification packet according to the ECN mark in the marked packet when the marked packet is received, and feed back the congestion notification packet to the sending end through the one or more switches. The sending end is further configured to adjust the packet sending rate according to the congestion notification packet and send the packet according to the adjusted packet sending rate.
9. The system of claim 8, wherein The sending end is further configured to adjust the packet sending rate to a first rate when the congestion notification packet is received, wherein the first rate is less than the preset packet sending rate, and maintain the packet sending rate or adjust the packet sending rate to a second rate when the congestion notification packet is not received, wherein the second rate is greater than the preset packet sending rate.
10. A computer readable storage medium, wherein, The storage medium stores a computer program, wherein the computer program is run by the processor to execute the method of any one of claims 1 to 6.
11. A computer program product comprising a computer program, wherein, The computer program is run by the processor to implement the steps of the method of any one of claims 1 to 6.
Citation Information
Patent Citations
Flow management in networks
CN111788803A
Network congestion detection method and device
CN112383450A
RTT-based congestion control method and device combined with proportional-integral-derivative control
CN113364701A
Information processing apparatus, method and non-transitory computer-readable storage medium
US20190068502A1