CN114095434B - Method for controlling network congestion and related device - Google Patents
Method for controlling network congestion and related device Download PDFInfo
- Publication number
- CN114095434B CN114095434B CN202010742582.6A CN202010742582A CN114095434B CN 114095434 B CN114095434 B CN 114095434B CN 202010742582 A CN202010742582 A CN 202010742582A CN 114095434 B CN114095434 B CN 114095434B
- Authority
- CN
- China
- Prior art keywords
- rate
- network device
- message
- network
- detection message
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 118
- 238000001514 detection method Methods 0.000 claims abstract description 248
- 230000005540 biological transmission Effects 0.000 claims abstract description 106
- 239000000523 sample Substances 0.000 claims description 132
- 238000004891 communication Methods 0.000 abstract description 35
- 230000008569 process Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 230000001276 controlling effect Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000033228 biological regulation Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 239000000872 buffer Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- -1 for example Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/127—Avoiding congestion; Recovering from congestion by using congestion prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
- H04L47/522—Dynamic queue service slot or variable bandwidth allocation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The application provides a method and a related device for controlling network congestion in the field of communication. In the technical scheme provided by the application, before the source equipment sends the data message to the destination equipment, the detection message is sent, and the available bandwidth of the transmission path from the source equipment to the destination equipment is detected through the transmission of the detection message by the intermediate network equipment and the feedback of the detection message by the destination equipment. In this way, the source device sends the data message based on the available bandwidth detected by the detection message, which is helpful for realizing congestion-free and packet loss-free transmission of the data message. Further, in the technical scheme of the application, the characteristic that the detection message is not afraid of packet loss is utilized, and the detection message is transmitted by using the relative aggressive speed, so that the data message can be transmitted in full throughput. In addition, the technical scheme of the application provides a heavy load mode, a light load mode and a congestion control method under each mode, and a switching point of the light load mode and the heavy load mode is properly selected, so that the rapid and fair convergence of the transmission rate can be realized.
Description
Technical Field
The present application relates to the field of communications, and more particularly, to a method and related apparatus for controlling network congestion in a communication network.
Background
When transmitting data messages in a communication network, a problem of network congestion usually occurs. Based on the problem of network congestion, a congestion control method is provided in the communication field.
The traditional congestion control method is to detect the congestion condition of the communication network based on congestion signals such as packet loss, and control the packet sending rate of the data message from the source end of the data message based on the congestion condition of the communication network so as to control the congestion condition of the communication network. Specifically, when detecting that the data packet is not lost, increasing the sending rate of the data packet; when the packet loss of the data message is detected, the packet sending rate of the data message is reduced so as to relieve network congestion.
Although the conventional congestion control method can alleviate the congestion condition of the communication network to a certain extent, the congestion control method is a "late-knowledge" mechanism, when the source receives the packet loss signal, the packet loss of the data packet occurs, that is, the performance loss is caused, and the subsequent speed-down adjustment is delayed from the time point of network congestion. Therefore, under the mechanism, congestion of the communication network becomes normal, and backlog of packets of the communication device becomes normal, and the backlog of the packets seriously worsens the end-to-end delay of data message transmission, and finally affects the performance of the communication network for transmitting the data message.
Disclosure of Invention
The application provides a method and a related device for controlling network congestion. The technical scheme of the application can detect the bandwidth condition of the network through the packet loss-resistant detection message, and control the transmission rate of the data message based on the detected network bandwidth.
In a first aspect, the present application provides a method of controlling network congestion. The method comprises the following steps: the method comprises the steps that first network equipment sends a first detection message, wherein the first detection message refers to a detection message of which source equipment is the first network equipment and target equipment is second network equipment, and the detection message is used for detecting available bandwidth on a transmission path between the source equipment and the target equipment; the first network equipment receives first feedback information, wherein the first feedback information is used for indicating the receiving condition of the first detection message on the second network equipment; and the first network equipment sends a first data message based on the first feedback information, wherein the first data message refers to a data message of which the source equipment is the first network equipment and the destination equipment is the second network equipment.
In the method, the first network device detects the bandwidth of the data message which can be used for transmitting the first network device to the second network device before transmitting the data message based on the detection message, and transmits the data message to the second network device based on the detected available bandwidth, so that the method is beneficial to reasonably utilizing network bandwidth resources to transmit data to the second network device, thereby realizing congestion control of the network.
In some possible implementations, the first network device sends a first data packet based on the first feedback information, including:
The first network device sends the first data message to the second network device through a third network device based on the first feedback information, wherein the third network device is used for sending a detection message by using a bandwidth of a first proportion and sending the data message by using a bandwidth of a second proportion, and the ratio of the first rate at which the first network device sends the first data message to the second rate at which the second network device receives the first detection message is equal to the ratio of the second proportion to the first proportion.
In these implementations, the third network device presets to use the first proportion of bandwidth to send the detection message, and presets to use the second proportion of bandwidth to send the data message. Thus, after the first network device receives the first feedback information, the rate of the second network device receiving the first detection message can be obtained according to the receiving rate of the first feedback information, and the sending rate of the data message at the moment, namely the second rate, is controlled according to the receiving rate of the detection message on the first network device, the bandwidth proportion occupied by the detection message and the bandwidth proportion occupied by the data message.
The first network device sends the first data message based on the first detection feedback information, and the rate of the first data message is just the second rate, so that the third network device can just be enabled to be capable of fully handling and forwarding the first data message sent by the first network device to the second network device without packet loss.
In some possible implementations, the second network device is configured to: and sending one piece of first feedback information when receiving one piece of first detection message. The first network device sends a first data message based on the first feedback information, including: and sending the first data message when the first network equipment receives the first feedback information.
In these implementations, the second network device sends a first feedback message every time the second network device receives a first detection message, and the first network device sends a first data message every time the first network device receives a first feedback message, so that the rate of the first data message is just the second rate, and therefore the first data message can be transmitted to the second network device without packet loss and with full throughput.
In some possible implementations, the first network device sends a first detection message, including: the first network device sends the first detection message by using a third rate; the first network device obtains a first packet loss rate when the first network device sends the first detection message by using the third rate; the first network device determines the second rate according to the first packet loss rate; the first network device sends the first detection message based on the second rate.
That is, in these implementations, the sending rate of the probe packet corresponding to the available bandwidth of the current network for transmitting the probe packet sent by the first network device to the second network device, that is, the second rate, is known according to the third rate used for sending the first probe packet before and the packet loss rate when the first probe packet is sent by using the third rate before, and the first probe packet is resent by using the second rate. Therefore, the sending rate of the current detection message can be timely adjusted, so that the detection message can be transmitted to the second network device in a full throughput manner, and the first data message can be transmitted to the second network device in a full throughput manner.
In some possible implementations, the first network device sending the first detection message based on the second rate includes: the first network device sends the first detection message by using a preset target rate when the second rate is smaller than or equal to a preset rate threshold, wherein the target rate is larger than the second rate; or if the second rate is greater than the rate threshold, the first network device sends the first detection message using the second rate.
I.e. the second rate is smaller, the network load is determined to be heavier and the available bandwidth is smaller. At this time, the first probe message may be transmitted using a preset fixed target rate, so that the probe message is not broken, and thus the data message is not broken.
And under the condition of larger second rate, the network load is judged to be lighter, and the available bandwidth is larger. At this time, the first detection message can be sent by using the second rate obtained by adjustment, so that the network resource is fully utilized to send the first detection message, and the most reasonable available bandwidth of the data message is detected, so that the network resource can be fully utilized to send the data message, and full throughput and no packet loss transmission of the first data message are realized.
In some implementations, the first network device is one of a plurality of network devices, wherein the target rates of probe messages of all network devices in the plurality of network devices are the same.
The target rate used by each network device in the reload mode is the same, which can achieve fair convergence of probe messages of multiple network devices.
In some possible implementations, the target rate is the same as the rate threshold. This allows the transmission rate of probe messages in the communication network to converge rapidly when switching from the third rate to the target rate.
In some possible implementations, when the probe packet forwarded by the third network device on the transmission path from the first network device to the second network device includes only the first probe packet, the first network device uses the target rate to enable a specified number of first probe packets to be successfully transmitted from the first network device to the second network device in a specified duration.
In these implementations, the destination rate of the first detection message is relatively aggressive, that is, relatively large, so that the network resource can be fully utilized to send the first detection message to detect the available bandwidth of the data message, so that the network resource can be fully utilized to send the first data message, and full throughput and no packet loss transmission of the first data message are realized.
In some possible implementations, the first network device determining the second rate according to the first packet loss rate includes: and under the condition that the first packet loss rate is smaller than a preset packet loss rate threshold, the first network equipment adjusts the sending rate of the first detection message based on the first packet loss rate and the third rate to obtain the second rate. The first network device sends the first detection message based on the second rate, including: and the first network equipment sends the first detection message by using the second rate.
And if the packet loss rate is small, the entry into the light load mode is indicated. At this time, a more appropriate second rate may be adjusted according to the packet loss rate and the previous third rate. Therefore, the resource can be fully utilized to transmit the detection message, and the resource can be fully utilized to transmit the data message.
In some possible implementations, the packet loss rate threshold is greater than a packet loss rate of the first detection packet when the first network device sends the first detection packet using the second rate.
Because the packet loss rate threshold is greater than the packet loss rate at the second rate, when the first network device switches from the heavy load mode to the light load mode, the speed is adjusted, so that fairness among the transmission rates of the original multiple source devices is not damaged.
In some possible implementations, the second rate is derived based on the first packet loss rate and the third rate using a structure-behavior-performance SCP policy or a fast path policy.
Therefore, the convergence of the sending rate of the detection message of each sending device can be realized quickly and fairly, and the quick and fair convergence of the sending rate of the data message of each network device is realized.
In a second aspect, the present application provides a method for controlling network congestion. The method comprises the following steps: the method comprises the steps that a second network device receives a first detection message, wherein the first detection message refers to a detection message of which source equipment is first network device and target equipment is second network device, and the detection message is used for detecting available bandwidth on a transmission path between the source equipment and the target equipment; the second network device sends first feedback information, wherein the first feedback information is used for indicating the receiving condition of the first detection message by the second network device; the second network device receives a first data message sent by the first network device based on the first feedback information, wherein the first data message refers to a data message of which the source device is the first network device and the destination device is the second network device.
In the method, after receiving the detection message, the second network device feeds back the receiving condition of the detection message to the source device sending the detection message, so that the source device can know the available bandwidth of the network according to the receiving condition, and further the source device can send the data message based on the available bandwidth.
In some possible implementations, the second network device sends first feedback information, including: and sending the first feedback information when the second network equipment receives one first detection message.
In other possible implementations, the first feedback information is specifically configured to instruct the second network device to receive the first detection packet.
In a third aspect, the present application provides a method for controlling network congestion. The method comprises the following steps: the third network equipment receives a detection message, wherein the detection message is used for detecting the available bandwidth on a transmission path between the source equipment and the destination equipment; the third network device forwards the detection message; the third network device receives feedback information, wherein the feedback information is used for indicating the condition that the target device receives the detection message; the third device forwards the feedback information; the third device receives a data message sent by the source device based on the feedback information; and the third equipment forwards the data message.
In the method, the third network device is used as an intermediate device between the source device for sending the detection message and the data message and the destination device for receiving the detection message and the data message, and is used for assisting in sending the detection message so as to detect the available bandwidth for sending the data message, so that the source device can control the sending of the data message based on the available bandwidth, and the congestion condition of the data message can be controlled.
In some possible implementations, the forwarding, by the third network device, the probe packet includes: the third network device sends the detection message by using the bandwidth with the first proportion; the third network device forwards the data message, including: the third network device uses the bandwidth of the second proportion to send the data message; and the ratio of the rate at which the third network device receives the first data message to the rate at which the third network device receives the first detection message is equal to the ratio of the second ratio to the first ratio.
In the implementation manner, the third network device sends the detection message by using a preset proportion, so that the source device sending the detection message can know the bandwidth actually used for sending the detection message based on the receiving condition of the detection message at the destination device, further can know the available bandwidth capable of being used for sending the data message based on the bandwidth and the preset first proportion and second proportion, and finally can realize packet loss-free and full throughput transmission of the data message based on the available bandwidth.
In some possible implementations, the forwarding, by the third network device, the feedback information includes: the third network device forwards the feedback information with the highest priority.
In the implementation manner, the third network device preferentially transmits feedback information, namely preferentially feeds back the receiving condition of the detection message, so that the success rate and the accuracy of the source device sending the detection message to acquire the receiving condition of the detection message can be improved, the success rate and the accuracy of the source device to acquire the available bandwidth for transmitting the data message can be improved, and finally the control success rate and the accuracy of network congestion can be improved.
In a fourth aspect, the present application provides a control device for network congestion, the device comprising means for performing the method of the first aspect or any implementation manner thereof.
In a fifth aspect, the present application provides a control device for network congestion, the device comprising means for performing the method of the second aspect or any implementation manner thereof.
In a sixth aspect, the present application provides a control device for network congestion, the device comprising means for performing the method of the third aspect or any implementation manner thereof.
In a seventh aspect, there is provided a control apparatus for network congestion, the apparatus comprising: memory, processor, and transceiver; the memory is used for storing programs; the processor is used for executing the program stored in the memory; the transceiver is used for communicating with other devices or equipment; the processor and the transceiver are configured to perform the method of the first aspect or any one of the implementation forms thereof, when the program stored in the memory is executed.
An eighth aspect provides a control apparatus for network congestion, the apparatus comprising: memory, processor, and transceiver; the memory is used for storing programs; the processor is used for executing the program stored in the memory; the transceiver is used for communicating with other devices or equipment; the processor and the transceiver are configured to perform the method of the second aspect or any one of the implementations when the program stored by the memory is executed.
A ninth aspect provides a control apparatus for network congestion, the apparatus comprising: memory, processor, and transceiver; the memory is used for storing programs; the processor is used for executing the program stored in the memory; the transceiver is used for communicating with other devices or equipment; the processor and the transceiver are configured to perform the method of the third aspect or any one of the implementations when the program stored by the memory is executed.
In a tenth aspect, a computer readable medium is provided, the computer readable medium storing program code for execution by a device for performing the method of the first aspect or any implementation thereof.
In an eleventh aspect, there is provided a computer readable medium storing program code for execution by a device for performing the method of the second aspect or any one of the implementations.
In a twelfth aspect, there is provided a computer readable medium storing program code for execution by a device for performing the method of the third aspect or any one of the implementations.
In a thirteenth aspect, there is provided a computer program product containing instructions which, when run on a computer, cause the computer to perform the method of the first aspect or any of the implementations described above.
In a fourteenth aspect, there is provided a computer program product containing instructions which, when run on a computer, cause the computer to perform the method of the second aspect or any one of the implementations described above.
In a fifteenth aspect, there is provided a computer program product containing instructions which, when run on a computer, cause the computer to perform the method of the third aspect or any one of the implementations described above.
In a sixteenth aspect, a chip is provided, the chip comprising a processor and a data interface, the processor reading instructions stored on a memory through the data interface, performing the method of the first aspect or any implementation of the foregoing.
Optionally, as an implementation manner, the chip may further include a memory, where the memory stores instructions, and the processor is configured to execute the instructions stored on the memory, where the instructions, when executed, are configured to perform the method in the first aspect or any implementation manner.
A seventeenth aspect provides a chip comprising a processor and a data interface, the processor reading instructions stored on a memory via the data interface, performing the method of the second aspect or any implementation of the second aspect.
Optionally, as an implementation manner, the chip may further include a memory, where the memory stores instructions, and the processor is configured to execute the instructions stored on the memory, where the instructions, when executed, are configured to perform the method in the second aspect or any implementation manner.
An eighteenth aspect provides a chip comprising a processor and a data interface, the processor reading instructions stored on a memory via the data interface, performing the method of the third aspect or any implementation of the third aspect.
Optionally, as an implementation manner, the chip may further include a memory, where the memory stores instructions, and the processor is configured to execute the instructions stored on the memory, where the instructions, when executed, are configured to perform the method in the third aspect or any implementation manner.
In a nineteenth aspect, there is provided a computing device comprising: a memory for storing a program; a processor for executing the program stored in the memory, the processor being configured to perform the method of the first aspect or any implementation manner thereof when the program stored in the memory is executed.
In a twentieth aspect, a computing device is provided, the computing device comprising: a memory for storing a program; a processor for executing the program stored in the memory, the processor being for executing the method of the second aspect or any one of the implementation manners when the program stored in the memory is executed.
In a twenty-first aspect, there is provided a computing device comprising: a memory for storing a program; a processor for executing the program stored in the memory, the processor being for executing the method of the third aspect or any one of the implementation forms thereof, when the program stored in the memory is executed.
Drawings
Fig. 1 is an exemplary diagram of an application scenario of the technical solution of the present application.
Fig. 2 is an exemplary interaction flow diagram of the control method of the present application.
Fig. 3 is an exemplary diagram of a scaled bandwidth transmission probe message and a data message in a control method of the present application.
Fig. 4 is another exemplary flow chart of the control method of the present application.
Fig. 5 is yet another exemplary flow chart of the control method of the present application.
Fig. 6 is yet another exemplary flow chart of a control method of the present application.
Fig. 7 is an exemplary structural view of the control device of the present application.
Fig. 8 is another exemplary structural view of the control device of the present application.
Fig. 9 is an exemplary block diagram of a computer program product of the present application.
Detailed Description
The technical scheme of the application will be described below with reference to the accompanying drawings.
The technical scheme of the embodiment of the application can be applied to various communication networks, such as a wide area network (wide area network, WAN), a metropolitan area network (metropolitan area network, MAN), a local area network (local area network LAN) or a data center network.
The source device in the embodiment of the present application may also be referred to as a source host, a source end, a source node, or a source side, and refers to a sending end of data. Further, a source device sending data may be understood as a network device indicated by a source internet protocol (internet protocol, IP) address of the data. In the embodiment of the application, the source device for sending the data is simply called the probe message or the source device of the data message.
The destination device in the embodiment of the present application may also be referred to as a destination host, a destination end, a destination node, or a destination side, and refers to a final receiving end of data, that is, a destination of the data. Further, the destination device receiving the data may be understood as a network device indicated by the destination IP address of the data. In the embodiment of the present application, a destination device that receives data is simply referred to as a destination device of the data.
The data in the embodiment of the application can comprise a data message and a detection message. The meaning of the data message may refer to the definition of the data message in the prior art, and will not be described herein.
The detection message in this embodiment is used to detect the load condition of the transmission path between the source device and the destination device of the detection message. The load condition of the transmission path may include an available bandwidth condition of the transmission path, such as what the available bandwidth of the transmission path is. Or it is understood that the probing message is used to probe or reserve the bandwidth that can be used for transmitting the data message for the next transmission period.
The length of the probe packet may be predetermined, for example, one probe packet may be encapsulated into an ethernet frame of 64 bytes (B). In general, the probe packet may include only a packet header, and the content included in the packet header may be the same as the content included in the packet header of the data packet sent in the subsequent step, for example, the same five-tuple information.
The intermediate device in this embodiment may also be referred to as an intermediate node, a forwarding device, a transit node, a switch, a routing device, a router, or a routing node, and refers to a communication device capable of forwarding data sent by a source device to a destination device.
Fig. 1 is a schematic architecture diagram of a communication network to which the technical solution of an embodiment of the present application can be applied. As shown in fig. 1, a communication network to which the technical solution of the embodiment of the present application may be applied may include a source host 110, an intermediate node 120, and a destination host 130.
It will be appreciated that only one source host, one intermediate node and one destination host are shown in fig. 1 by way of example. The communication network to which the technical scheme of the embodiment of the application can be applied can comprise more source hosts, more intermediate nodes and more destination hosts.
In the communication network shown in fig. 1, a source host 110 is used as a sending end of a data packet, and sends the data packet according to a certain rate. After the data packet arrives at the intermediate node 120, the intermediate node 120 utilizes the available bandwidth to send the data packet to the destination host 130.
If the sending rate of the data packets is too fast, when the intermediate node 120 is not enough to forward the received data packets, the data packets that are not enough to forward will be backlogged in the intermediate node 120. When the data packets in the buffer of the intermediate node 120 are backlogged to a certain extent, the intermediate node 120 will discard the data packets received and not forwarded to the right, so that the packet loss phenomenon of the data packets occurs. At this time, the network may be considered to be congested.
In order to avoid packet loss, namely, to avoid congestion, the application provides a new technical scheme for controlling the congestion of the communication network. Fig. 2 is an exemplary flow chart of a method of controlling network congestion according to one embodiment of the present application. The method may include S210, S220, S230, S240, S250, and S260.
S210, the first network device sends a first detection message. The first network device is a source device of the first probe packet, for example, a source IP address in the first probe packet is an IP address of the first network device.
The first network device may be any source device in the communication network, and the size of the first detection message may be preset.
In some possible implementations of this embodiment, the first network device may send the first detection message packet by packet at equal intervals.
In this embodiment, the first network device sending the probing message may be understood that the first network device sends the first probing message to the second network device, where the second network device is a destination device of the first probing message, for example, a network device indicated by a destination IP address in the first probing message is the second network device.
In this embodiment, after the first network device sends the first detection message, the third network device on the transmission path from the first network device to the second network device may receive the first detection message.
S220, the third network equipment forwards the first detection message.
In some examples, the third network device may receive probe messages sent by one or more network devices to another one or more network devices, and forward the probe messages, where the probe messages may include a first probe message sent by a first network device to a second network device.
One or more third network devices may be included on the transmission path from the first network device to the second network device. If the transmission path from the first network device to the second network device comprises a third network device, after the third network device sends the detection message, the second network device receives a first detection message in the detection message; if the transmission path from the first network device to the second network device includes a plurality of third network devices, after each third network device receives the detection message sent by the previous hop device, forwarding the detection message to the next device, where the detection message includes the first detection message until the second network device receives the first detection message.
After the first detection message is forwarded by one or more third network devices, the second network device may receive the first detection message.
And S230, the second network equipment sends the first feedback information. The first feedback information is used for indicating the receiving condition of the first detection message on the second network equipment.
For example, the first feedback information may be specifically used to indicate that the second network device receives the first detection message. As another example, the first feedback information may be specifically used to indicate a time when the second network device receives the first detection packet. For another example, the first feedback information may be specifically used to indicate the second network device receives the first detection message and the time when the second network device receives the first detection message.
In some possible implementations, after the second network device receives the first probe packet, the destination address in the first probe packet may be modified to be the source address of the first probe packet, and the modified new probe packet is sent out.
Optionally, the probe packet in this embodiment may include a trip identifier, where the trip identifier is used to indicate that the probe packet is sent from the source device to the destination device, and a backhaul identifier is used to identify that the destination device returns to the source device. In this case, the second network device not only modifies the destination address of the first probe message, but also modifies the travel identifier of the first probe message from the outbound identifier to the backhaul identifier.
After the second network device sends the first feedback information, a third network device on a transmission path from the second network device to the first network device may receive the first feedback information.
In this embodiment, the second network device may send feedback information corresponding to a probe packet when receiving the probe packet. It will be appreciated that this is only an example, and that the second network device may send the first feedback information in other manners, for example, after receiving multiple probe messages, the feedback information corresponding to the multiple probe messages is carried in the same message.
S240, the third network device sends the first feedback information.
It will be appreciated that the transmission path from the first network device to the second network device may be the same as or different from the transmission path from the second network device to the first network device. That is, the third network device in this step and the third network device in S220 may be the same device or different devices.
For example, when the transmission path from the first network device to the second network device is different from the transmission path from the second network device to the first network device, the third network device in this step is a different device from the third network device in S220.
In some implementations, the third network device may treat the feedback information as a data message to send. That is, the manner in which the third network device forwards the feedback information may be the same as the manner or resources in which the data packet is forwarded.
The transmission path from the second network device to the first network device may include one or more third network devices. If the transmission path from the second network device to the first network device includes a third network device, the first network device receives the first feedback information after the third network device sends the first feedback information; if the transmission path from the second network device to the first network device includes a plurality of third network devices, each third network device forwards the first feedback information to the next hop device after receiving the first feedback information sent by the previous hop device, until the first network device receives the first feedback information.
S250, the first network device sends a first data message based on the first feedback information. The source device of the first data message is the first network device, and the destination device of the first data message is the second network device.
Generally, the path traversed by the first data packet is the same as the path traversed by the first probe packet. Thus, after the first network device sends the first data message, the third network device that forwards the first data message from the first network device to the second network device is consistent with the third network device that forwards the first probe message from the first network device to the second network device.
S260, the third network device receives the data message and forwards the data message, wherein the data message comprises the first data message.
Typically, the third network device in this step is the third network device in S220, that is, the path traversed by the first data packet is the same as the path traversed by the first probe packet.
After the third network device sends the data message, the second network device may receive the first data message in the data message.
In this embodiment, the network condition of the communication network is perceived by sending the detection message in advance, and the sending of the data message is guided, so that congestion and packet loss of the data message channel cannot occur, and thus, the 'pre-knowledge' lossless congestion control is realized.
In the embodiment of the application, the transmission of the detection message and the data message can be isolated in various modes.
In some manners, the third network device may allocate bandwidth for the probe channel for sending the probe message and the data channel for sending the data message in the same physical link according to a certain proportion, so as to logically isolate the two types of channels, thereby logically isolating the probe message and the data message. For example, the ratio may be a ratio of packet lengths of each of the probe packet and the data packet in a total packet length of the two types of packets.
In other modes, the source device can transmit the detection message by constructing an independent signaling network so as to realize physical isolation of the detection message and the data message.
In one example of transmitting the probe message and the data message in a logically isolated manner, the third network device may send the probe message using a bandwidth of a first proportion, where the probe message includes the first probe message, and the third network device sends the data message using a bandwidth of a second proportion, where the data message includes the first data message.
The first ratio and the second ratio may be preset. That is, how much bandwidth is used to transmit the probe message and how much bandwidth is used to transmit the data message on the third network device is preset.
In some possible implementations, the first ratio and the second ratio on the third network device may be set based on a size of the probe message and the data message.
For example, in a scenario where the probe packet is constructed with 84 bytes of the minimum ethernet frame and the driving source device transmits the data packet with 1538 bytes of the maximum ethernet frame, the ratio of the bandwidth allocated by the third network device to the total bandwidth of the third network device may be approximately: 84/(84+1538) ≡5%, the proportion of the bandwidth allocated to the data message is about 95% of the total bandwidth.
Fig. 3 is a schematic diagram of a method for sending a probe message and a data message to scale according to an embodiment of the present application. As shown in fig. 3, the intermediate node 330 between the source host 310 and the destination host 320 may reserve 5% of the bandwidth to transmit the probe message and use the remaining 95% of the bandwidth to transmit the data message. Regardless of the current available bandwidth of the intermediate node 330, only 5% of the available bandwidth can be used to transmit probe messages and only 95% of the available bandwidth can be used to transmit data messages.
If the bandwidth of the output port of the intermediate node 330 is 10 gigabits per second (Gbps), the intermediate node 330 transmits data packets using a bandwidth of 9.5Gbps and transmits probe packets using a bandwidth of 0.5 Gbps. If the rate at which the source host 310 sends the first probe packet is 1Gbps, it indicates that the number of transmissions of the first probe packet is too fast (the packet interval is too small), and at this time, the intermediate node 330 limits the speed of the first probe packet of the output port.
Specifically, the intermediate node 330 limits the transmission rate of the first probe message to 0.5Gbps, i.e., 500 megabits per second (Mbps). The transmission rate of 500Mbps is just the optimal transmission rate of the first probe message. After receiving the probe packet transmitted by the intermediate node 330 at a transmission rate of 500Mbps, the destination host 320 transmits first feedback information to the source host 310. After the source host 310 receives the first feedback information, the load condition of the intermediate node 330 can be known according to the first feedback information, that is, the current network can transmit the first detection message with the transmission rate of 500Mbps to the destination host 320. According to the ratio of the first ratio of 5% to the second ratio of 95%, it is known that the current network can transmit the first data message at the rate of 9.5Gbps just the best, so that network resources can be fully utilized under the condition of no packet loss and no congestion.
In a scenario where the intermediate node sends the detection message and the data message according to a certain proportion of bandwidth, in some implementations, the third network device may send the first feedback information using a bandwidth other than the first proportion. For example, in the case where the first feedback information is modified based on the first probe packet to obtain the probe packet, the third network device may determine, based on the backhaul identification in the probe packet, that the probe packet is fed back to the first network device by the second network device, so that the probe packet is sent using the bandwidth for sending the data packet.
In the embodiment of the application, when the first network equipment first sends the first detection message, a relatively aggressive mode can be adopted to send the packet. This allows full use of network resources.
Generally, when the first network device first sends the first detection message, the sending rate of the first detection message may be higher than the bandwidth requirement of the application on the first network device. For example, the sending rate of the first probe message may be initialized to 1.5 times the application bandwidth requirement.
In the embodiment of the application, in the non-first round transmission process of the first detection message, the first network equipment can adjust the transmission rate of the first detection message so as to achieve the purpose of controlling the transmission rate of the first detection message, thereby achieving the purpose of controlling the transmission rate of the first data message and further achieving the purpose of controlling network congestion.
In some implementations of adjusting the sending rate of the first detection message, if the rate used by the first network device to send the first detection message currently is referred to as a third rate, the first network device may obtain a first packet loss rate when the first network device sends the first detection message using the third rate, determine a second rate according to the first packet loss rate, and send the first detection message based on the second rate.
In an embodiment of the present application, a structure-behavior-performance (SCP) strategy may be used to obtain the second rate based on the third rate and the first packet loss rate. For example, congestion control methods based on online learning in SCP policies may be employed.
In the SCP policy, the first network device may calculate the utility function f w,b(rC, l in real time based on the current transmission rate r C and the packet loss rate l, and adjust the direction of change (increase or decrease) of the transmission rate of the first detection packet according to the direction of change (increase or decrease) of the utility function, that is, increase the third rate to obtain the second rate or decrease the third rate to obtain the second rate.
One example of a utility function f wb(rC, l) is as follows:
wherein s, a, b and w are parameters, and specific numerical values can be obtained through online learning; r P represents the transmission rate of the probe message of the previous cycle, and l 0 represents the target packet loss rate.
In the embodiment of the application, whether the transmission of the first detection message is in the light load mode or the heavy load mode can be judged based on the first packet loss rate and/or the second rate. For example, if the second rate is greater than the preset rate threshold, the transmission of the first detection message is considered to be in the light load mode, otherwise, the transmission of the first detection message is considered to be in the heavy load mode. For another example, if the first packet loss rate is smaller than a preset packet loss rate threshold, the transmission of the first detection message is considered to be in a light load mode, otherwise, the transmission of the first detection message is considered to be in a heavy load mode.
If the transmission of the first detection message is about to be in a light load mode, the first detection message is sent by using a second rate; and if the transmission of the first detection message is about to be in the heavy-load mode, sending the first detection message by using a preset target rate.
In some implementations, the set target rate should satisfy the following condition: when the probe message forwarded by the third network device on the transmission path from the first network device to the second network device only contains the first probe message, the first network device can successfully transmit the specified number of first probe messages from the first network device to the second network device within the specified duration by using the target rate. Therefore, when the transmission of the first detection message is switched from the light load mode to the heavy load mode, for example, when the third rate is greater than the target rate and the second rate is less than or equal to the target rate, the first detection message is not transmitted in a speed-reducing manner, so that the first detection message is prevented from being blocked, and the first data message is prevented from being blocked. Especially in the case that a plurality of source devices simultaneously transmit data messages at high speed, the problem of interruption can be avoided.
In some implementations, the target rate of probe messages for all of the plurality of source devices may be the same. This may be to achieve fair convergence of the sending rates of probe messages for these source devices.
In some implementations, the preset rate threshold may be equal to a preset target rate, which may enable rapid convergence of the transmission rate of the first detection packet when the first network device switches from the light load mode to the heavy load mode.
In the light load mode, after the second rate is obtained based on the third rate and the first packet loss rate, whether to continue to maintain the light load mode or switch to the heavy load mode may be determined based on the second rate and a preset target rate.
In some implementations of the embodiments of the present application, the first network device may determine, according to the third rate, whether the sending of the first detection packet is already in the light load mode or the heavy load mode. For example, if the third speed is greater than the preset speed threshold, the instruction is in the light load mode currently, otherwise, the instruction is in the heavy load mode currently.
If the current mode is in the light load mode, the first detection message is sent by using the adjusted second rate; if the first detection message is in the heavy-load mode, a preset target rate is used for sending the first detection message. The characteristics of the rate threshold and the target rate in this implementation may refer to the correlation of the aforementioned rate threshold and target rate.
In some implementations of the embodiments of the present application, after the first network device obtains the first packet loss rate, the first network device may determine whether to continue to send the first detection packet using the target rate or adjust the third rate based on the first packet loss rate and a preset packet loss rate threshold, and send the first detection packet using the adjusted second rate.
That is, after judging that the first detection message is transmitted by using the third rate according to the first packet loss rate, transmitting the first detection message in a light load mode or a heavy load mode currently, and if the first detection message is in the light load mode currently, transmitting the first detection message by using the second rate obtained by adjustment; and if the current detection message is in the heavy-load mode, sending a first detection message by using a preset target rate. In this way, the network resources can be fully utilized to send the detection message, so that the network resources can be fully utilized to send the data message.
In this implementation, when the third rate is adjusted to obtain the second rate, the SCP policy may be used to obtain the second rate based on the third rate and the first packet loss rate, and the obtaining manner may refer to the foregoing manner.
Wherein, optionally, the first packet loss rate may be equal to the parameter l 0 in the utility function. When the first network equipment is switched to the light load mode, the iterative convergence process of the transmission rate of the first detection message can be continued, and the fast fair convergence of the first detection message is realized.
In some implementations of the embodiments of the present application, each time the second network device receives a first detection message, a first feedback message is sent, where a destination device of the first feedback message is the first network device, and a source device of the first feedback message is the second network device. For example, the first feedback information may be a probe packet obtained by exchanging and modifying a destination address and a source address of the first probe packet. In this implementation, each time the first network device receives a first feedback information, a first data packet is sent.
In this implementation manner, the second network device can successfully receive a first detection message, and accordingly can successfully receive a first data message. Therefore, the implementation manner can avoid congestion caused by the first data message and packet loss of the first data message.
In some implementations of the embodiments of the present application, the os kernel of the source host needs to be modified accordingly, and a new transport layer protocol is written, for example, a protocol parallel to a transport layer protocol such as a conventional transmission control protocol (transmission control protocol, TCP), a user datagram protocol (user datagram protocol, UDP), etc. may be written.
In addition, the intermediate node also needs to make related modification on the software level, for example, the intermediate node needs to reserve a certain buffer for the probe message to store the burst of the probe message, and the output port of the intermediate node needs to reserve a certain proportion of bandwidth to be specially used for sending the probe message, and discard the probe message exceeding the reserved bandwidth; normal data packets may be sent using a proportion of the bandwidth, for example, data packets may be transmitted using a link bandwidth other than the reserved bandwidth for probe packets.
Because the detection message is subjected to speed adjustment of the intermediate node, the transmission speed of the data message guided by the detection message speed is just suitable. Therefore, through the mutual cooperation of the source host and the intermediate node, the lossless transmission of the data message, namely, the packet loss-free transmission can be realized.
The technical scheme of the application can be used for congestion control of high concurrency data flow of a low-delay network. In some examples, a dual congestion signal is introduced for adjustment of the transmission rate of the first probe message in light and heavy load modes, respectively. For example, determining whether to switch from the light load mode to the heavy load mode according to whether the transmission rate of the first detection message is lower than a preset rate threshold; and determining whether congestion control is switched from a heavy load mode to a light load mode by judging whether the packet loss rate of the current first detection message is lower than a preset packet loss rate threshold value.
In one congestion control example of the present application, when a source host has data to be transmitted, first, according to the initialized rate, probe messages are transmitted in the control channel at equal intervals until a probe packet returned by a destination host is received. After the first round of data transmission, in the next data transmission process of the source host, the sending rate of the data message can be regulated and controlled based on the sending rate and the receiving condition of the detection message, and the sending rate of the detection message takes RTT as a period to regulate and control the packet loss rate of the detection message.
For example, the source host initializes the timer to zero, and the source host transmits a data message every time it receives a probe message, and updates the time t of the timer and the packet loss rate l of the probe message. The source host then compares the size of the current timing time domain RTT.
If the timer time t does not reach the duration of one RTT, the operation of 'receiving the detection message-sending the data message-updating the timer-updating the detection message packet loss rate' is continuously and circularly executed; if the timer time t reaches the duration of one RTT, comparing the sending rate r C of the current detection message with the target rate r 0 to determine whether to enter the heavy load mode.
If r C>r0, executing a congestion control method in a light load mode, namely, increasing or reducing the sending rate of the detection message of the next round according to a specified algorithm, and resetting the packet loss rate l and the time t of a timer; otherwise, the heavy-load congestion control mode is entered.
In the heavy-load congestion control mode, the source host sends a detection message at a fixed rate r 0. In this mode, the sending rate of the detection message is not adjusted, and the source host sends the detection message at equal intervals according to the rate of r 0. Similarly, the source host cyclically executes operations of "receive probe message-send data message-update timer-update probe message packet loss rate". When the timer time t reaches one RTT, the source host compares the current packet loss rate l of the detection message with the preset packet loss rate threshold l 0, so as to determine whether to switch back to the light load congestion control mode.
If l < l 0, switching back to the previous light-load congestion control mode, and adjusting the sending rate of the detection message according to the appointed congestion control algorithm; otherwise, the congestion control flow in the overload mode is continued, namely the detection message is continuously sent at a fixed rate r 0 at equal intervals, and the packet loss rate l of the detection message and the time t of the timer are reset.
The third network device reserves a portion of the link bandwidth dedicated to transmitting probe messages from the source host to the destination host. When the third network device receives the data, the third network device first analyzes and judges the data. If the data is judged to be the detection message from the source host to the destination host, the reserved link bandwidth is used for transmitting the message, otherwise, the unreserved link bandwidth is used for transmitting the data.
And once the destination host receives the message sent by the source host, analyzing and judging the message. If the message is judged to be the detection message, the source and destination addresses of the message are changed, and the detection message is transmitted back to the source host. If the message is a data message, normal analysis processing operation is carried out.
In order to ensure that the detection message returned by the destination host to the source host can be smoothly returned to the source host, the third network device may additionally increase the transmission priority of the detection message.
Fig. 4 is an exemplary flow chart of a method of controlling network congestion according to one embodiment of the present application. For example, the control method of network congestion shown in fig. 4 may be applied in a low-latency network.
The individual steps of the control method are described in detail below. The control method can be executed by the source host from the beginning time of data transmission until the data transmission is completed.
S401, the source host needs to transmit data.
S402, judging whether the round of data transmission is the first round of transmission, and entering different branch steps according to the judging result. If the transmission is the first round of data transmission, entering S403; if the transmission is not a first round data transmission, the process proceeds to S404.
S403, initializing the first round sending rate of the detection message. For example, the first round transmission rate of the probe message may be initialized to 1.5 times the application bandwidth requirement.
S404, sending a detection message at an initial rate. The probe messages are sent in the control channel, for example, at an initial rate, equally spaced. The logic channel for sending the detection message is called a control channel.
S405, the source host judges whether the detection message returned by the destination host is received or not, and enters different branch steps according to the judging result. If the detection message returned by the target host is received, the first round of transmission is ended, and S406 is entered; if the detection message returned by the destination host is not received, the process proceeds to S404, and the transmission of the first detection message is continued.
After the first round of transmission, the transmission rate of the detection message and the data message can be adjusted. The transmission rate of the data message is regulated according to the returned detection message rate; the transmission rate adjustment of the probe packets is aimed at ensuring that the sending rate of the probe packets of a plurality of different streams (e.g. from a plurality of different source hosts) can achieve fairness convergence on the shared bottleneck link. For example, the sending rate of the probe packet may be adjusted with RTT as a period.
S406, initializing a target rate r 0 and a target packet loss rate l 0. The target packet loss rate in this embodiment may also be referred to as a packet loss rate threshold.
S407, calculating the sending rate r C of the detection message of the current round according to the feedback information of the previous round. For example, the sending rate r C of the current round of detection message is obtained according to the sending rate and the packet loss rate l of the previous round of detection message.
In the light load mode, the sending rate of the detection message can be adjusted according to the value change of the utility function. Specifically, the utility function value can be calculated, and the sending rate of the detection message can be adjusted according to the SCP scheme according to the utility function change.
S408, a timer t=0 is set and a packet loss rate l=0 of the detection packet is set.
S409, comparing the calculated sending rate r C of the detection message with the target rate r 0, and entering different branches according to the comparison result. If r C>r0, enter step S410, namely light load mode; if r C≤r0, step S414, i.e., rate adjustment in the reload mode, is entered.
S410, sending a detection message by using the latest calculated r C.
S411, each time a backhaul detection message is received, a data message is sent.
S412, recording the time interval Δt between the present time and the last time the backhaul detection packet was received, and updating the timer t=t+Δt; and updating the packet loss rate l of the detection message according to the sequence number of the return detection message.
S413, judging whether the current time length reaches the RTT size, and entering different branch steps according to the judging result. If the timer duration reaches the RTT size, S414 is entered, i.e. rate adjustment in light load mode. If the timer duration does not reach the RTT size, S410 is continued.
And S414, sending a detection message at a fixed target rate r 0. Since the message is detected at a fixed transmission rate, the adjustment of the transmission rate is not performed, and therefore, the fairness convergence is naturally satisfied.
S415, each time a returned detection message is received, a data message is sent.
S416, updating the packet loss rate l of the detection packet, and updating the timer t=t+Δt.
S417, judging whether the current time length reaches the RTT size, and entering different branch steps according to the judging result. If the timer duration reaches the RTT size, proceeding to S418; if the timer duration does not reach the RTT size, S414 is entered.
S418, judge l < l 0, namely judge whether to switch the light-heavy load mode. Specifically, the packet loss rate l of the current round of detection messages is compared with the target packet loss rate l 0, and different branch steps are performed according to the comparison result. If l < l 0, entering S407, namely performing rate regulation in a light load mode; if l is equal to or greater than l 0, then S419 is entered.
S419, setting a timer t=0 and setting a packet loss rate l=0 of the detection message, and continuing to execute S414 to continue the rate regulation in the overload mode.
S407 to S419 are continuously performed after the end of the first round transmission until the end of the entire source-to-destination data transmission process.
In this embodiment, through the advanced previewing transmission of the detection message, the transmission rate of the data message can ensure that the network bandwidth is fully utilized and meanwhile ensure that no packet is lost absolutely. In the light load mode, the regulation algorithm of the SCP strategy can realize fast fair convergence; in the heavy load mode, all source nodes send detection messages according to the unified rate, so that fairness convergence is naturally met, and the overall fairness convergence speed of the strategy is further improved. In addition, the judgment condition for switching the heavy load mode back to the light load mode is that l is larger than or equal to l 0, and the convergence point for rate regulation of the light load mode is that l=0, so that the whole strategy can continue iterative adjustment of the rate after switching back to the light load mode, and the fairness convergence process of the light load mode can not be damaged by the mode switching.
A schematic flow chart diagram of another embodiment of the control method of network congestion according to the present application is shown in fig. 5. For example, the control method shown in fig. 5 may be applied in a low-latency network.
The method may be performed by a destination host. The target host executes the operations in the method every time it receives a probe message or data message.
S510, the destination host receives the data.
S520, after receiving the data, the destination host first judges whether the data is a detection message or a data message. If the received packet is a data message, then S530 is entered; if a probe message is received, the process proceeds to S540.
S530, analyzing the data packet. The processing of the data message can adopt the working mode of the traditional transmission layer protocol to perform the decapsulation and processing operation on the data packet.
S540, returning a detection message. For example, the source IP of the probe message is exchanged with the destination IP, and the probe message is returned to the source host.
The method shown in fig. 5 is executed each time the target host receives the detection message or the data message, the data message is analyzed, and the detection message is returned.
A schematic flow chart diagram of yet another embodiment of the control method of network congestion according to the present application is shown in fig. 6. For example, the control method shown in fig. 6 may be applied in a low-latency network.
The method may be performed by a third network device of the network for an entire end-to-end transmission procedure. The third network device allocates a certain proportion of bandwidth to each link, and is specially used for transmitting the detection message, for example, allocating 5% of bandwidth to transmit the detection message; data messages are transmitted using other link bandwidths than the allocated bandwidth, for example using other 95% of the bandwidth.
And S610, the third network device receives the data transmitted from the last hop device. The last hop device of the third network device may be the source host or another third network device.
S620, after the third network device receives the data transmitted from the last hop device, it first determines whether the received packet is a data message or a detection message. If the data message is received, step S630 is entered; if a probe message is received, the process proceeds to S640.
S630, transmitting the data message using the bandwidth allocated to the probe message. Or, transmitting the data message using the unreserved bandwidth.
S640, judging whether the detection message is a forward detection message or a return detection message, and entering different branch steps according to the judgment result. The Cheng Tan detection message refers to a detection message sent from the source host to the destination host, and the return detection message refers to a detection message sent from the destination host to the source host.
If the detection message is a forward detection message, step S650 is entered; if the probe message is a return probe message, the process proceeds to step S660.
S650, transmitting the outgoing probe message using the pre-allocated bandwidth proportion. The third network device may reserve a small amount of buffers, for example, buffers with a size of 8 probe messages, and cope with burst transmission of the probe messages. And when the buffer memory of the detection message is full, discarding the received redundant detection message.
S660, transmitting the backhaul probe message using the bandwidth for transmitting the data message. And returning the backhaul detection message with the highest priority.
The method of fig. 5 and fig. 6 is performed, which is equivalent to using the probe packet as a "proxy" of the data packet, and a data transmission flow is preformed in the current network environment, and the packet loss of the probe packet of the third network device and the return of the probe packet of the destination host are used to transmit the accurate load condition of the network to the source host. In this way, the source host in fig. 4 can precisely control the transmission rate of the data message according to the network condition reflected by the detection message, thereby realizing rapid convergence and lossless of the whole congestion control process. The whole congestion control process is cooperatively participated by the end-to-end devices (source host, destination host and third network device).
The embodiments of fig. 4-5 specifically design congestion control schemes for the heavy-duty mode so that low latency, high throughput, congestion free end-to-end transmissions can still be maintained in the heavy-duty mode. By utilizing the advantages of a two-channel (a channel for transmitting the detection message and a channel for transmitting the data message) architecture, all source hosts can transmit the detection message at a fixed rate in a heavy-load mode, and meanwhile, the transmission rate is relatively aggressive, so that a control channel for transmitting the detection message is continuously in a packet loss state, and the data channel can be guaranteed to be full of throughput and free of packet loss when transmitting the data message. In addition, in the heavy load mode, the transmission speed of the detection message is not reduced, and the source host can always receive the returned detection message and transmit the data message, so that the problem of cutoff can be avoided.
In addition, the embodiment shown in fig. 4 selects a suitable mode switching point, when congestion control is switched from a heavy load mode to a light load mode, the light load mode does not immediately judge that the convergence point is reached, but continues to perform iterative regulation and control on the transmission rate to the convergence point, and finally converges to a given steady-state transmission rate, so that the fairness convergence process of the light load mode is not affected by the switching of the light load mode and the heavy load mode; when congestion control is switched from a light load mode to a heavy load mode, the whole transmission can immediately converge to a steady-state rate, and the convergence process of the whole congestion control scheme is accelerated to a certain extent.
The congestion control method provided by the application can also be applied to a data center network. In the light load mode of the data center network, the data center network congestion control algorithm in the academic paper 'ExpressPass' published in ACM SIGCOMM in 2019 can be selected.
SIGCOMM is a flagship conference in the field of communications networks by the american computer Association (ACM). In the scheme of ExpressPass, the congestion control algorithm regulates and controls the sending rate of each data stream until the packet loss rate of all the detection message data streams reaches the target packet loss rate (target_loss). In the aspect of rate regulation, the detection message sending rate of the next period is calculated through several parameters including the current rate (cur_rate), the regulation weight (w), the maximum rate (max_rate), the current detection message packet loss rate (credit_loss) and the target packet loss rate (target_loss).
According to the application, a speed regulation method in a heavy load mode is introduced on the basis of a ExpressPass algorithm, and a proper conversion point of a light load mode is selected, wherein when cur_rate is less than or equal to r 0, the light load mode is converted into the heavy load mode; and when the credit_loss is smaller than l 0, the heavy load mode is changed into the light load mode.
Assuming that the network environment is still a low latency network with an RTT of 10 microseconds (us) and a bottleneck link bandwidth of 100Gbps, one embodiment of implementing congestion control in a data center network is as follows:
in step 701, the source host initializes the target packet loss rate (target_loss), the maximum rate (max_rate), the weight (w=0), and the maximum weight (w max =0.5).
Step 702, the source host initializes performance parameters of the light-to-heavy-load mode conversion: r 0=100Mbps,0<l0 < target_loss.
In step 703, the source host sends the detection messages at equal intervals according to the target rate and requests the bandwidth according to the application requirements. Wherein, a third network device of the network reserves a certain proportion (e.g. 5%) of bandwidth and transmits the detection message as a control channel.
Step 704, when going out, the hop-by-hop out port of the third network device performs a promised access rate (CAR) speed limit on all the probe messages according to a certain bandwidth proportion (e.g. 5%), and discards the probe messages exceeding the port capability.
Step 705, the destination host swaps the source address and destination address of the received probe message, and returns the probe message.
In step 706, the third network device transmits the probe packet back to the source host with the highest priority. And during the return stroke, the third network equipment does not limit the speed of the detection message.
In step 707, the source host sends a data message immediately after receiving a probe message.
After one RTT period, the source host judges whether to switch between a light load mode and a heavy load mode according to the packet loss rate and the sending rate of the detection message.
If cur_rate is less than or equal to r 0, switching to a heavy load mode, and sending a detection message at a fixed rate r 0 until the next state switching; if cur_rate > r 0, rate regulation in light load mode is performed.
In the light load mode, if the current packet loss rate is smaller than the target packet loss rate, the speed is increased, and the speed calculation mode is as follows: cur_rate= (1-w) ×cur_rate+ w_max_rate (1+target_loss); if the current packet loss rate is greater than the target packet loss rate, the speed is reduced, and the rate calculation mode is as follows: cur_rate=cur rate (1-credit_loss) × (1+target_loss).
In the heavy load mode, if the credit_loss is less than l 0, switching to a light load mode, and carrying out rate convergence according to the target packet loss rate; if credit_loss is not less than l 0, the probe message is sent continuously at a fixed rate r 0.
The method can be used for the data center network with more sensitive time delay. The transition point from the heavy load mode to the light load mode is credit_loss < l 0, and since l 0 < target_loss, the iterative speed adjustment process is still performed after the mode is switched, and the fairness convergence process of the original scheme is not destroyed. Similarly, when congestion control is switched from the light load mode to the heavy load mode, the whole transmission immediately converges to the steady-state rate (the convergence rate of the heavy load mode is r 0), so that the convergence process of the whole congestion control scheme is accelerated to a certain extent.
This embodiment further illustrates that the technical solution of the present application is perfectly compatible with any other congestion control scheme based on the transmission rate and the packet loss rate, and only needs to be careful in selecting the point in time when the heavy load mode transitions to the light load mode.
In addition, in the data center network, a 'ExpressPass' scheme with fewer iterations is selected as a light load scheme, and compared with a scheme based on online learning, the 'ExpressPass' scheme has relatively fewer performance detection operations, namely, the utility function does not need to be repeatedly calculated to determine the change of the sending rate, so that the conversion from the light load mode to the heavy load mode can be quicker, and the method is more suitable for the data center network with high delay sensitivity and high burstiness.
Fig. 7 is a schematic structural diagram of a control apparatus 700 of network congestion according to an embodiment of the present application. The apparatus 700 may include a transmitting module 710 and a receiving module 720.
In some examples, the apparatus 700 may be used to perform the relevant steps or operations performed by the source host in the method shown in fig. 2, e.g., the transmitting module 710 may be used to perform the relevant operations in S210 and S250, and the receiving module 720 may be used to perform the relevant operations in S240.
In another example, the apparatus 700 may be used to perform the relevant steps or operations performed by the intermediate node in the method shown in fig. 2, e.g., the transmitting module 710 may be used to perform the relevant operations in S220 and S260, and the receiving module 720 may be used to perform the relevant operations in S210, S230, and S250.
In still other examples, the apparatus 700 may be used to perform the relevant steps or operations performed by the destination host in the method illustrated in fig. 2, e.g., the sending module 710 may be used to perform the relevant operations in S230 and the receiving module 720 may be used to perform the relevant operations in S220 and S260.
In other examples, apparatus 700 may be used to perform the method shown in fig. 4, or apparatus 700 may be used to perform the method shown in fig. 5, or apparatus 700 may be used to perform the method shown in fig. 6.
Fig. 8 is a schematic block diagram of a control apparatus 800 for network congestion according to an embodiment of the present application. The apparatus 800 includes a processor 802, a communication interface 803, and a memory 804. One example of apparatus 800 is a chip and another example of apparatus 800 is a computing device.
Communication between the processor 802, the memory 804 and the communication interface 803 may be via a bus. The memory 804 has stored therein executable code that the processor 802 reads from the memory 804 to perform the corresponding method. The memory 804 may also include software modules required by the operating system or other processes running. The operating system may be LINUX TM,UNIXTM,WINDOWSTM, etc.
For example, executable code in memory 804 is used to implement steps or operations performed by the source host, intermediate node, or destination host in FIG. 2; the processor 802 reads the executable code in the memory 804 to perform the steps or operations of fig. 2 performed by the source host, intermediate node, or destination host.
As another example, executable code in memory 804 is used to perform the methods shown in fig. 4,5, or 6; the processor 802 reads the executable code in the memory 804 to perform the method shown in fig. 4,5 or 6.
The processor 802 may be a CPU, among others. The memory 804 may include volatile memory (RAM), such as random access memory (random access memory). The memory 804 may also include a non-volatile memory (2 NVM), such as a read-only memory (2 ROM), flash memory, a hard disk drive (HARD DISK DRIVE, HDD) or a solid state drive (solid STATE DISK, SSD).
In some embodiments of the application, the disclosed methods may be implemented as computer program instructions encoded on a computer-readable storage medium in a machine-readable format or encoded on other non-transitory media or articles of manufacture. Fig. 9 schematically illustrates a conceptual partial view of an example computer program product comprising a computer program for executing a computer process on a computing device, arranged in accordance with at least some embodiments presented herein. In one embodiment, the example computer program product 900 is provided using a signal bearing medium 901. The signal bearing medium 901 may include one or more program instructions 902 that when executed by one or more processors may provide the functionality or portions of the functionality described above in relation to the methods illustrated in any of figures 2, 4, 5, and 6. Thus, for example, in the embodiment illustrated in fig. 4, one or more features of S401 through S419 may be borne by one or more instructions associated with the signal bearing medium 901. As another example, referring to the embodiment shown in fig. 6, one or more features of S610 through S660 may be carried by one or more instructions associated with signal bearing medium 901.
In some examples, signal bearing medium 901 may comprise a computer readable medium 903 such as, but not limited to, a hard disk drive, compact Disk (CD), digital Video Disk (DVD), digital tape, memory, read-only memory (ROM), or random access memory (random access memory, RAM), among others. In some implementations, the signal bearing medium 901 may comprise a computer recordable medium 904 such as, but not limited to, memory, read/write (R/W) CD, R/W DVD, and the like. In some implementations, the signal bearing medium 901 may include a communication medium 905 such as, but not limited to, a digital and/or analog communication medium (e.g., fiber optic cable, waveguide, wired communications link, wireless communications link, etc.). Thus, for example, the signal bearing medium 901 may be conveyed by a communication medium 905 in wireless form (e.g., a wireless communication medium that complies with the IEEE 802.11 standard or other transmission protocol). The one or more program instructions 902 may be, for example, computer-executable instructions or logic-implemented instructions. In some examples, the foregoing computing device may be configured to provide various operations, functions, or actions in response to program instructions 902 conveyed to the computing device by one or more of computer readable medium 903, computer recordable medium 904, and/or communication medium 905. It should be understood that the arrangement described herein is for illustrative purposes only. Thus, those skilled in the art will appreciate that other arrangements and other elements (e.g., machines, interfaces, functions, orders, and groupings of functions, etc.) can be used instead, and some elements may be omitted altogether depending on the desired results. Additionally, many of the elements described are functional terms that may be implemented as discrete or distributed components or in any suitable combination and location in conjunction with other components.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described systems, apparatuses and units may refer to corresponding procedures in the foregoing method embodiments, and are not repeated herein.
In the several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution, in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a U disk, a mobile hard disk, a read-only memory, a random access memory, a magnetic disk or an optical disk.
The foregoing is merely illustrative of the present application, and the present application is not limited thereto, and any person skilled in the art will readily recognize that variations or substitutions are within the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
Claims (24)
1. A method of controlling network congestion, the method comprising:
The method comprises the steps that first network equipment sends a first detection message based on a third speed, wherein the first detection message refers to a detection message that source equipment is the first network equipment and destination equipment is second network equipment, and the detection message is used for detecting available bandwidth on a transmission path between the source equipment and the destination equipment;
the first network equipment receives first feedback information, wherein the first feedback information is used for indicating the receiving condition of the first detection message on the second network equipment;
The first network device determines a second rate based on the first feedback information, wherein the second rate indicates a rate at which the second network device receives the first detection message; the first network device sends the first detection message by using a preset target rate when the second rate is smaller than or equal to a preset rate threshold, wherein the target rate is larger than the second rate, and the first network device sends the first detection message by using the second rate when the second rate is larger than the rate threshold;
and the first network equipment sends a first data message based on the first feedback information, wherein the first data message refers to a data message of which the source equipment is the first network equipment and the destination equipment is the second network equipment.
2. The method of claim 1, wherein the first network device sending a first data message based on the first feedback information comprises:
The first network device sends the first data message to the second network device through a third network device based on the first feedback information, wherein the third network device is used for sending a detection message by using a bandwidth of a first proportion and sending the data message by using a bandwidth of a second proportion, and the ratio of the first rate at which the first network device sends the first data message to the second rate at which the second network device receives the first detection message is equal to the ratio of the second proportion to the first proportion.
3. The method of claim 2, wherein the second network device sends one of the first feedback information each time it receives one of the first probe messages;
the first network device sends a first data message based on the first feedback information, including:
And sending the first data message when the first network equipment receives the first feedback information.
4. A method as claimed in any one of claims 1 to 3, wherein the first network device determining a second rate based on the first feedback information comprises:
the first network device obtains a first packet loss rate when the first network device sends the first detection message by using the third rate based on the first feedback information;
and the first network equipment determines the second rate according to the first packet loss rate.
5. A method as claimed in any one of claims 1 to 3, wherein the first network device is one of a plurality of network devices, wherein the target rate at which all of the plurality of network devices transmit probe messages is the same.
6. A method according to any one of claims 1 to 3, wherein the target rate is the same as the rate threshold.
7. A method according to claim 2 or 3, wherein when the probe packet forwarded by the third network device contains only the first probe packet, the first network device uses the target rate to enable successful transmission of a specified number of first probe packets from the first network device to the second network device within a specified time period.
8. The method of claim 4, wherein the first network device determining the second rate from the first packet loss rate comprises:
and under the condition that the first packet loss rate is smaller than a preset packet loss rate threshold, the first network equipment adjusts the sending rate of the first detection message based on the first packet loss rate and the third rate to obtain the second rate.
9. The method of claim 8, wherein the packet loss rate threshold is greater than a packet loss rate of the first probe message when the first network device sends the first probe message using the second rate.
10. The method of claim 4, wherein the second rate is derived based on the first packet loss rate and the third rate using a structure-behavior-performance SCP strategy or a fast path strategy.
11. A method according to any of claims 1 to 3, wherein the first feedback information is specifically used to indicate that the second network device has received the first probe message.
12. An apparatus for controlling network congestion, comprising:
The device comprises a sending module, a receiving module and a sending module, wherein the sending module is used for sending a first detection message based on a third speed, the first detection message refers to a detection message that source equipment is first network equipment to which the device belongs and target equipment is second network equipment, and the detection message is used for detecting available bandwidth on a transmission path between the source equipment and the target equipment;
The receiving module is used for receiving first feedback information, and the first feedback information is used for indicating the receiving condition of the first detection message on the second network equipment;
The sending module is configured to determine a second rate based on the first feedback information, where the second rate indicates a rate at which the second network device receives the first detection packet; the sending module is further configured to send the first detection message using a preset target rate when the second rate is less than or equal to a preset rate threshold, where the target rate is greater than the second rate, and send the first detection message using the second rate when the second rate is greater than the rate threshold;
The sending module is further configured to send a first data packet based on the first feedback information, where the first data packet refers to a data packet that a source device is the first network device and a destination device is the second network device.
13. The apparatus of claim 12, wherein the transmitting module is specifically configured to transmit the first data packet to the second network device based on a third network device configured to transmit a probe packet using a first ratio of bandwidth and configured to transmit a data packet using a second ratio of bandwidth, wherein a ratio of a first rate at which the first network device transmits the first data packet to the second rate at which the second network device receives the first probe packet is equal to a ratio of the second ratio to the first ratio.
14. The apparatus of claim 13, wherein the second network device is to: sending a piece of first feedback information when receiving a piece of first detection message;
The sending module is specifically configured to: and sending one first data message when receiving one first feedback message.
15. The apparatus according to any one of claims 12 to 14, wherein the sending module is specifically configured to:
Acquiring a first packet loss rate when the first network device sends the first detection message by using the third rate based on the first feedback information;
And determining the second rate according to the first packet loss rate.
16. The apparatus of any of claims 12 to 14, wherein the first network device is one of a plurality of network devices, wherein a target rate used by all of the plurality of network devices to send probe messages is the same.
17. The apparatus of any one of claims 12 to 14, wherein the target rate is the same as the rate threshold.
18. The apparatus according to claim 13 or 14, wherein when the probe packet forwarded by the third network device only includes the first probe packet, the first network device is capable of successfully transmitting a specified number of first probe packets from the first network device to the second network device within a specified duration using the target rate.
19. The apparatus of claim 15, wherein the sending module is specifically configured to:
And under the condition that the first packet loss rate is smaller than a preset packet loss rate threshold, adjusting the sending rate of the first detection message based on the first packet loss rate and the third rate to obtain the second rate.
20. The apparatus of claim 19, wherein the packet loss rate threshold is greater than a packet loss rate of the first probe message when the first network device sends the first probe message using the second rate.
21. The apparatus of claim 15, wherein the second rate is derived based on the first packet loss rate and the third rate using a structure-behavior-performance SCP policy or a fast path policy.
22. The apparatus according to any one of claims 12 to 14, wherein the first feedback information is specifically used to indicate that the second network device has received the first detection message.
23. An apparatus for controlling network congestion, comprising: a processor coupled to the memory;
the memory is used for storing instructions;
The processor is configured to execute instructions stored in the memory to cause the network device to implement the method of any one of claims 1 to 11.
24. A computer readable medium comprising instructions which, when run on a processor, cause the processor to implement the method of any one of claims 1 to 11.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010742582.6A CN114095434B (en) | 2020-07-29 | 2020-07-29 | Method for controlling network congestion and related device |
PCT/CN2021/108785 WO2022022539A1 (en) | 2020-07-29 | 2021-07-28 | Network congestion control method and related apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010742582.6A CN114095434B (en) | 2020-07-29 | 2020-07-29 | Method for controlling network congestion and related device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114095434A CN114095434A (en) | 2022-02-25 |
CN114095434B true CN114095434B (en) | 2024-09-24 |
Family
ID=80037597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010742582.6A Active CN114095434B (en) | 2020-07-29 | 2020-07-29 | Method for controlling network congestion and related device |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114095434B (en) |
WO (1) | WO2022022539A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115378837A (en) * | 2022-08-19 | 2022-11-22 | 山东云海国创云计算装备产业创新中心有限公司 | Verification method and system based on BMC prototype, computer device and storage medium |
CN115499356B (en) * | 2022-11-21 | 2023-03-17 | 深圳海智创科技有限公司 | Data sending method, device, system, equipment and storage medium |
CN115632971B (en) * | 2022-12-23 | 2023-04-07 | 北京长亭未来科技有限公司 | TCP port detection method and device |
CN118018491A (en) * | 2024-02-01 | 2024-05-10 | 北京火山引擎科技有限公司 | DPU-based data transmission rate control method and device and data processor |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259696A (en) * | 2013-04-19 | 2013-08-21 | 华为技术有限公司 | Network bandwidth detecting method and device and network devices |
WO2016128931A1 (en) * | 2015-02-11 | 2016-08-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Ethernet congestion control and prevention |
CN110166366A (en) * | 2018-02-14 | 2019-08-23 | 华为技术有限公司 | Method for controlling network congestion, device and system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1980238A (en) * | 2006-10-30 | 2007-06-13 | 上海广电(集团)有限公司中央研究院 | II.264 flow-media transmission control method based on real-time transmission/control protocl |
EP3267639B1 (en) * | 2016-07-06 | 2019-12-25 | Alcatel Lucent | Congestion control within a communication network |
-
2020
- 2020-07-29 CN CN202010742582.6A patent/CN114095434B/en active Active
-
2021
- 2021-07-28 WO PCT/CN2021/108785 patent/WO2022022539A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259696A (en) * | 2013-04-19 | 2013-08-21 | 华为技术有限公司 | Network bandwidth detecting method and device and network devices |
WO2016128931A1 (en) * | 2015-02-11 | 2016-08-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Ethernet congestion control and prevention |
CN110166366A (en) * | 2018-02-14 | 2019-08-23 | 华为技术有限公司 | Method for controlling network congestion, device and system |
Also Published As
Publication number | Publication date |
---|---|
CN114095434A (en) | 2022-02-25 |
WO2022022539A1 (en) | 2022-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114095434B (en) | Method for controlling network congestion and related device | |
US11916782B2 (en) | System and method for facilitating global fairness in a network | |
US10498612B2 (en) | Multi-stage selective mirroring | |
CN110166366B (en) | Network congestion control method, device and system | |
CN108390820B (en) | Load balancing method, equipment and system | |
CN108092888B (en) | Transmission method, gateway and transmission system based on Overlay network | |
US10084716B2 (en) | Flexible application of congestion control measures | |
KR100735408B1 (en) | Method and apparatus for controlling a traffic switching operation based on a service class in an ethernet-based network | |
CN109120544B (en) | Transmission control method based on host end flow scheduling in data center network | |
US9185047B2 (en) | Hierarchical profiled scheduling and shaping | |
US10574546B2 (en) | Network monitoring using selective mirroring | |
US11032179B2 (en) | Heterogeneous flow congestion control | |
US9166919B2 (en) | Reducing headroom | |
US20060203730A1 (en) | Method and system for reducing end station latency in response to network congestion | |
US9197570B2 (en) | Congestion control in packet switches | |
US11165705B2 (en) | Data transmission method, device, and computer storage medium | |
US10855606B2 (en) | Information processing apparatus and information processing system | |
US11799803B2 (en) | Packet processing method and apparatus, communications device, and switching circuit | |
US9154441B2 (en) | Adaptive buffer allocation management | |
KR20220126295A (en) | Service level adjustment method, apparatus, device, and system, and storage medium | |
US20210344600A1 (en) | Congestion Control Measures in Multi-Host Network Adapter | |
CN109561020B (en) | Techniques to select non-minimum path and throttle port speeds to increase network throughput | |
US8660001B2 (en) | Method and apparatus for providing per-subscriber-aware-flow QoS | |
US11032206B2 (en) | Packet-content based WRED protection | |
CN109219944B (en) | System and method for reducing MTU size in packet networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |