WO2022022539A1 - Network congestion control method and related apparatus - Google Patents

Network congestion control method and related apparatus Download PDF

Info

Publication number
WO2022022539A1
WO2022022539A1 PCT/CN2021/108785 CN2021108785W WO2022022539A1 WO 2022022539 A1 WO2022022539 A1 WO 2022022539A1 CN 2021108785 W CN2021108785 W CN 2021108785W WO 2022022539 A1 WO2022022539 A1 WO 2022022539A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
network device
rate
probe
feedback information
Prior art date
Application number
PCT/CN2021/108785
Other languages
French (fr)
Chinese (zh)
Inventor
徐聪
张海波
袁庭球
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2022022539A1 publication Critical patent/WO2022022539A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/127Avoiding congestion; Recovering from congestion by using congestion prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/522Dynamic queue service slot or variable bandwidth allocation

Definitions

  • the present application relates to the field of communications, and more particularly, to a method and related apparatus for controlling network congestion in a communications network.
  • the traditional congestion control method is to detect the congestion status of the communication network based on congestion signals such as packet loss, and control the packet sending rate of the data packet from the source end of the data packet based on the congestion status of the communication network to control the congestion status of the communication network. . Specifically, when it is detected that the data packet is not lost, the data packet sending rate is increased; when it is detected that the data packet is lost, the data packet sending rate is reduced to relieve network congestion.
  • the congestion control method is a kind of "post-knowledge" mechanism.
  • Packet loss that is, performance loss has been caused, and the subsequent slowdown adjustment has lagged behind the time point of network congestion. Therefore, under this mechanism, the congestion of the communication network becomes the norm, and the backlog of packets on the communication equipment becomes the norm, and the backlog of packets will seriously deteriorate the end-to-end delay of data packet transmission, and ultimately affect the transmission of data packets in the communication network. performance.
  • the present application provides methods and related apparatuses for controlling network congestion.
  • the technical solution of the present application can detect the bandwidth situation of the network through detection packets that are not afraid of packet loss, and control the transmission rate of the data packets based on the detected network bandwidth.
  • the present application provides a method for controlling network congestion.
  • the method includes: a first network device sending a first detection packet, where the first detection packet refers to a detection packet in which the source device is the first network device and the destination device is the second network device, and the detection The message is used to detect the available bandwidth on the transmission path between the source device and the destination device; the first network device receives the first feedback information, and the first feedback information is used to indicate that the first detection message is in the The reception situation on the second network device; the first network device sends a first data packet based on the first feedback information, and the first data packet means that the source device is the first network device and The destination device is the data packet of the second network device.
  • the first network device detects the network bandwidth currently available for transmitting data packets from the first network device to the second network device based on the probe packet before sending the data packet, and based on the detected bandwidth
  • the available bandwidth is used to send data packets to the second network device, so it is helpful to reasonably utilize network bandwidth resources to send data packets to the second network device, thereby implementing network congestion control.
  • the first network device sends a first data packet based on the first feedback information, including:
  • the first network device sends, based on the first feedback information, the first data packet to the second network device through a third network device, where the third network device is configured to use a first proportion of bandwidth for sending A probe packet and a bandwidth for sending a data packet using a second ratio, wherein the first rate at which the first network device sends the first data packet and the second network device receiving the first probe
  • the ratio of the second rate of packets is equal to the ratio of the second ratio to the first ratio.
  • the third network device presets to use the bandwidth of the first proportion to send the probe packets, and presets to use the bandwidth of the second proportion to send the data packets.
  • the first network device receives the first feedback information, it can know the rate at which the second network device receives the first probe packet according to the reception rate of the first feedback information, and can obtain the rate at which the second network device receives the first probe packet according to the rate at which the probe packet is received on the first network device.
  • the receiving rate, the proportion of the bandwidth occupied by the probe packets, and the proportion of the bandwidth that can be occupied by the data packets control the sending rate of the data packets sent at this time, that is, the second rate.
  • the first network device sends the first data packet based on the first probe feedback information, and the rate of the first data packet is exactly the second rate, which can enable the third network device to just be able to handle the full throughput without packet loss.
  • the second network device forwards the first data packet sent by the first network device.
  • the second network device is configured to send one piece of the first feedback information every time one of the first probe packets is received.
  • the sending, by the first network device, a first data packet based on the first feedback information includes: sending a first data packet each time the first network device receives a piece of the first feedback information message.
  • the second network device sends a first feedback message every time it receives a first detection message, and the first network device sends a first data message every time it receives a first feedback message, so that the first data
  • the rate of the packet is exactly the second rate, so that the first data packet can be transmitted to the second network device without packet loss and at full throughput.
  • the sending, by the first network device, the first detection packet includes: the first network device sends the first detection packet using a third rate; the first network device obtains the the first packet loss rate when the first network device uses the third rate to send the first probe packet; the first network device determines the second rate according to the first packet loss rate; the The first network device sends the first probe packet based on the second rate.
  • the current network sends the first network device to the first network device.
  • the sent probe packet is transmitted to the probe packet sending rate corresponding to the available bandwidth of the second network device, that is, the second rate, and the first probe packet is resent at the second rate.
  • the sending rate of the current detection packet can be adjusted in time, so that the detection packet can be transmitted to the second network device at full throughput, so that the first data packet can be transmitted to the second network device at full throughput.
  • the sending, by the first network device, the first probe packet based on the second rate includes: when the second rate is less than or equal to a preset rate threshold, the The first network device sends the first probe packet using a preset target rate, where the target rate is greater than the second rate; or when the second rate is greater than the rate threshold, the first network The device sends the first probe packet using the second rate.
  • the preset fixed target rate may be used to send the first detection packet, so that the detection packet flows continuously, thereby making the data packet flow continuously.
  • the adjusted second rate can be used to send the first probe packet, so as to make full use of network resources to send the first probe packet, so as to detect the most reasonable available bandwidth of the data packet, so as to make full use of network resources to send data message, to achieve full throughput and no packet loss transmission of the first data message.
  • the first network device is one of multiple network devices, wherein the target rates of detection packets of all network devices in the multiple network devices are the same.
  • Each network device uses the same target rate in overload mode, which can achieve fair convergence of probe packets from multiple network devices.
  • the target rate is the same as the rate threshold. In this way, when switching from the third rate to the target rate, the transmission rate of the probe packet in the communication network can quickly converge.
  • the first probe The network device can successfully transmit a specified number of first probe packets from the first network device to the second network device within a specified period of time using the target rate.
  • the purpose rate of the first detection packet is relatively aggressive, that is, relatively large. Therefore, network resources can be fully utilized to send the first detection packet to detect the available bandwidth of the data packet, so that the network can be fully utilized.
  • the resource sends the first data packet to achieve full throughput and no packet loss transmission of the first data packet.
  • the first network device determining the second rate according to the first packet loss rate includes: when the first packet loss rate is less than a preset packet loss rate threshold, The first network device adjusts the sending rate of the first probe packet based on the first packet loss rate and the third rate to obtain the second rate.
  • the sending, by the first network device, the first detection packet based on the second rate includes: the first network device using the second rate to send the first detection packet.
  • the packet loss rate is small, it indicates that the light load mode is entered.
  • a more appropriate second rate may be obtained by adjusting the packet loss rate and the previous third rate. In this way, the resources can be fully utilized to transmit the probe packets, so that the resources can be fully utilized to transmit the data packets.
  • the packet loss rate threshold is greater than the packet loss rate of the first probe packet when the first network device sends the first probe packet at the second rate.
  • 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, it will adjust the speed so as not to destroy the sending rates of the original multiple source devices fairness between.
  • the second rate is obtained based on the first packet loss rate and the third rate using a structure-behavior-performance SCP strategy or a fast-path strategy.
  • the present application provides a method for controlling network congestion.
  • the method includes: a second network device receives a first detection packet, where the first detection packet refers to a detection packet in which the source device is the first network device and the destination device is the second network device, and the detection The message is used to detect the available bandwidth on the transmission path between the source device and the destination device; the second network device sends first feedback information, where the first feedback information is used to instruct the second network device to Reception of the first detection packet; the second network device receives the first data packet sent by the first network device based on the first feedback information, where the first data packet refers to the source device being the The first network device and the destination device is the data packet of the second network device.
  • the second network device after receiving the detection packet, feeds back the reception status of the detection packet to the source device that sent the detection packet, so that the source device can know the available bandwidth of the network according to the reception status, Further, the source device can send data packets based on the available bandwidth.
  • the sending, by the second network device, the first feedback information includes: sending one piece of the first feedback information each time the second network device receives one of the first probe packets.
  • the first feedback information is specifically used to indicate that the second network device receives the first probe packet.
  • the present application provides a method for controlling network congestion.
  • the method includes: a third network device receives a detection packet, where the detection packet is used to detect available bandwidth on a transmission path between a source device and a destination device; the third network device forwards the detection packet; The third network device receives feedback information, where the feedback information is used to indicate that the destination device receives the probe packet; the third device forwards the feedback information; the third device receives the the data packet sent by the source device based on the feedback information; the third device forwards the data packet.
  • the third network device acts as an intermediate device between the source device that sends the probe packet and the data packet and the destination device that receives the probe packet and the data packet, and assists in sending the probe packet, so that the probe can be used for sending the probe packet.
  • the available bandwidth of the data packets so that the source device can control the sending of the data packets based on the available bandwidth, so as to control the congestion of the data packets.
  • the third network device forwarding the probe packet includes: the third network device sends the probe packet by using a bandwidth of a first proportion; and the third network device forwards the data packet, including: the third network device sends the data packet by using the bandwidth of the second ratio; wherein the rate at which the third network device receives the first data packet is the same as the rate at which the third network device receives the first data packet
  • the ratio of the rates of the first probe packets is equal to the ratio of the second ratio to the first ratio.
  • the third network device uses a preset ratio to send probe packets, so that the source device that sends the probe packets can know the actual use for sending probe packets based on the reception of the probe packets at the destination device. Then, based on the bandwidth and the preset first ratio and second ratio, the available bandwidth that can be used for sending data packets can be obtained, and finally, based on the available bandwidth, no packet loss and full throughput transmission of data packets can be realized.
  • the third network device forwarding the feedback information includes: the third network device forwards the feedback information with the highest priority.
  • the third network device preferentially transmits the feedback information, that is, preferentially feeds back the reception status of the detection packet, so that the success rate and the accuracy rate of the source device sending the detection packet to know the reception status of the detection packet can be improved. Improving the success rate and accuracy rate of the source device in learning the available bandwidth for transmitting data packets can ultimately improve the success rate and accuracy rate of network congestion control.
  • the present application provides an apparatus for controlling network congestion.
  • the apparatus includes a module for executing the method in the first aspect or any one of the implementation manners.
  • the present application provides an apparatus for controlling network congestion.
  • the apparatus includes a module for executing the method in the second aspect or any one of the implementation manners.
  • the present application provides an apparatus for controlling network congestion.
  • the apparatus includes a module for executing the method in the third aspect or any one of the implementation manners.
  • a device for controlling network congestion comprising: a memory, a processor and a transceiver; the memory is used to store a program; the processor is used to execute the program stored in the memory; The processor is used for communicating with other apparatuses or devices; when the program stored in the memory is executed, the processor and the transceiver are used for executing the method in the first aspect or any one of the implementation manners.
  • a network congestion control device comprising: a memory, a processor and a transceiver; the memory is used for storing a program; the processor is used for executing the program stored in the memory; The processor is used to communicate with other apparatuses or devices; when the program stored in the memory is executed, the processor and the transceiver are used to execute the method in the second aspect or any one of the implementation manners.
  • a device for controlling network congestion comprising: a memory, a processor, and a transceiver; the memory is used to store a program; the processor is used to execute the program stored in the memory; The processor is used to communicate with other apparatuses or devices; when the program stored in the memory is executed, the processor and the transceiver are used to execute the method in the third aspect or any one of the implementation manners.
  • a computer-readable medium stores program codes for device execution, where the program codes are used to execute the method in the first aspect or any one of the implementation manners thereof.
  • a computer-readable medium stores program code for execution by a device, where the program code is used for executing the method in the second aspect or any one of the implementation manners thereof.
  • a twelfth aspect provides a computer-readable medium, where the computer-readable medium stores program code for device execution, where the program code is used to execute the method in the third aspect or any one of the implementation manners thereof.
  • a thirteenth aspect provides a computer program product containing instructions, when the computer program product runs on a computer, the computer causes the computer to execute the method in the first aspect or any one of the implementation manners.
  • a fourteenth aspect provides a computer program product comprising instructions, which when the computer program product is run on a computer, causes the computer to execute the method of the second aspect or any one of the implementation manners.
  • a fifteenth aspect provides a computer program product comprising instructions, which when the computer program product is run on a computer, causes the computer to execute the method in the third aspect or any one of the implementation manners.
  • a sixteenth aspect provides a chip, the chip includes a processor and a data interface, the processor reads an instruction stored in a memory through the data interface, and executes the first aspect or any one of the implementation manners. Methods.
  • the chip may further include a memory, in which instructions are stored, the processor is configured to execute the instructions stored in the memory, and when the instructions are executed, the The processor is configured to execute the method in the first aspect or any one of the implementation manners thereof.
  • a seventeenth aspect provides a chip, the chip includes a processor and a data interface, the processor reads an instruction stored in a memory through the data interface, and executes the second aspect or any one of the implementation manners. Methods.
  • the chip may further include a memory, in which instructions are stored, the processor is configured to execute the instructions stored in the memory, and when the instructions are executed, the The processor is configured to execute the method in the second aspect or any one of the implementations.
  • a chip in an eighteenth aspect, includes a processor and a data interface, the processor reads an instruction stored in a memory through the data interface, and executes the third aspect or any one of the implementation manners. Methods.
  • the chip may further include a memory, in which instructions are stored, the processor is configured to execute the instructions stored in the memory, and when the instructions are executed, the The processor is configured to execute the method in the third aspect or any one of the implementation manners.
  • a nineteenth aspect provides a computing device, the computing device comprising: a memory for storing a program; a processor for executing the program stored in the memory, when the program stored in the memory is executed, the The processor is configured to execute the method in the first aspect or any one of the implementation manners.
  • a computing device comprising: a memory for storing a program; a processor for executing the program stored in the memory, when the program stored in the memory is executed, the The processor is configured to execute the method in the second aspect or any one of the implementation manners.
  • a twenty-first aspect provides a computing device, the computing device comprising: a memory for storing a program; a processor for executing the program stored in the memory, when the program stored in the memory is executed, the The processor is configured to execute the method in the third aspect or any one of the implementation manners.
  • FIG. 1 is an example diagram of an application scenario of the technical solution of the present application.
  • FIG. 2 is an exemplary interaction flow chart of the control method of the present application.
  • FIG. 3 is an example diagram of transmitting probe packets and data packets according to the proportional bandwidth in the control method of the present application.
  • FIG. 4 is another exemplary flowchart of the control method of the present application.
  • FIG. 5 is another exemplary flowchart of the control method of the present application.
  • FIG. 6 is still another exemplary flowchart of the control method of the present application.
  • FIG. 7 is an exemplary structural diagram of the control device of the present application.
  • FIG. 8 is another exemplary structural diagram of the control device of the present application.
  • FIG. 9 is an exemplary structural diagram of the computer program product of the present application.
  • WAN wide area network
  • MAN metropolitan area network
  • LAN local area network
  • data center network a data center network
  • the source device in this embodiment of the present application may also be referred to as a source host, a source end, a source node, or a source side, etc., and refers to the sending end of data.
  • the source device that sends the data can be understood as the network device indicated by the source Internet Protocol (IP) address of the data.
  • IP Internet Protocol
  • the source device that sends the data is simply referred to as the source device of the probe packet or the data packet.
  • the destination device in the embodiments of the present application may also be referred to as a destination host, a destination end, a destination node, or a destination side, etc., and refers to the final receiving end of the data, that is, the destination of the data. Further, the destination device that receives the data can be understood as the network device indicated by the destination IP address of the data. In the embodiments of the present application, the destination device that receives the data is simply referred to as the destination device of the data.
  • the data in this embodiment of the present application may include data packets and probe packets.
  • data packets For the meaning of the data packet, reference may be made to the definition of the data packet in the prior art, which will not be repeated here.
  • the probe packet in this embodiment is used to detect the load of the transmission path between the source device and the destination device of the probe packet.
  • the load condition of the transmission path may include the available bandwidth condition of the transmission path, for example, how much the available bandwidth of the transmission path is.
  • the probe packet is used to detect or reserve the bandwidth that can be used for transmitting the data packet in the next transmission period.
  • the length of the detection packet may be preset, for example, a detection packet may be encapsulated into an Ethernet frame of 64 bytes (byte, B).
  • the probe packet may only include a header, and the content included in the header may be the same as the content in the header of the data packet sent in the subsequent steps, for example, the same quintuple information.
  • the intermediate device in this embodiment may also be referred to as an intermediate node, a forwarding device, a transit 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 structural diagram of a communication network to which the technical solutions of the embodiments of the present application can be applied.
  • a communication network to which the technical solutions of the embodiments of the present application can be applied may include a source host 110 , an intermediate node 120 and a destination host 130 .
  • FIG. 1 It can be understood that only one source host, one intermediate node and one destination host are shown in FIG. 1 as an example.
  • the communication network to which the technical solutions of the embodiments of the present application can be applied may include more source hosts, more intermediate nodes, and more destination hosts.
  • the source host 110 serves as the sender of the data packet, and sends the data packet at a certain rate. After the data packet reaches the intermediate node 120, the intermediate node 120 sends the data packet to the destination host 130 using the available bandwidth.
  • the intermediate node 120 if the sending rate of the data packets is too fast, when the intermediate node 120 does not have time to forward the received data packets, the data packets that are not forwarded in time will be backlogged in the intermediate node 120 . When the backlog of data packets in the cache of the intermediate node 120 reaches a certain level, the intermediate node 120 will discard the received data packets that have not been forwarded in time, thereby causing packet loss of data packets. At this point, it can be considered that the network is congested.
  • FIG. 2 is an exemplary flowchart of a method for controlling network congestion according to an embodiment of the present application.
  • the method may include S210, S220, S230, S240, S250 and S260.
  • the first network device sends a first detection packet.
  • the first network device is the source device of the first detection packet, for example, the source IP address in the first detection packet is the 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 packet may be preset.
  • the first network device may send the first detection packets packet by packet at equal intervals.
  • sending a detectable packet by the first network device may be understood as the first network device sending a first probe packet to a second network device, where the second network device is the destination device of the first probe packet, for example, The network device indicated by the destination IP address in the first detection packet is the second network device.
  • the third network device on the transmission path from the first network device to the second network device may receive the first detection packet.
  • the third network device forwards the first detection packet.
  • the third network device may receive probe packets sent by one or more network devices to one or more other network devices, and forward these probe packets, where these probe packets may include the first network device to The first detection packet sent by the 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 includes a third network device, after the third network device sends the probe packet, the second network device receives the first probe packet in the probe packet; If the transmission path from the first network device to the second network device includes multiple third network devices, each third network device forwards the probe packet to the next device after receiving the probe packet sent by the previous hop device. , the detection packet includes the first detection packet until the second network device receives the first detection packet.
  • the second network device may receive the first detection packet.
  • the second network device sends the first feedback information.
  • the first feedback information is used to indicate the reception status of the first probe packet on the second network device.
  • the first feedback information may be specifically used to indicate that the second network device has received the first probe packet.
  • the first feedback information may be specifically used to indicate the time when the second network device receives the first probe packet.
  • the first feedback information may be specifically used to indicate that the second network device receives the first probe packet and the time when the second network device receives the first probe packet.
  • the second network device may modify the destination address in the first probe packet to the source address of the first probe packet, and modify the new probe packet obtained by modification.
  • the message is sent out.
  • the detection packet in this embodiment may include a trip identifier
  • the trip identifier may include an outbound identifier and a return identifier.
  • the outbound identifier is used to indicate that the detection packet is sent from the source device to the destination device, and the return identifier Used to identify the destination device of the probe packet returned to the source device.
  • the second network device not only modifies the destination address of the first probe packet, but also modifies the trip identifier of the first probe packet from the outgoing identifier to the return identifier.
  • the third network device on the transmission path from the second network device to the first network device may receive the first feedback information.
  • each time the second network device receives a detection packet it may send a piece of feedback information corresponding to the detection packet. It can be understood that this is only an example, and the second network device can also use other methods to send the first feedback information. For example, after receiving multiple probe packets, the same message can be carried in multiple probe packets. corresponding feedback information.
  • the third network device sends the first feedback information.
  • the transmission path from the first network device to the second network device and the transmission path from the second network device to the first network device may be the same or different. That is to say, the third network device in this step and the third network device in S220 may be the same device, or may be different devices.
  • the third network device in this step and the third network device in S220 are different devices .
  • the third network device may send the feedback information as a data packet. That is, the manner in which the third network device forwards the feedback information may be the same as the manner or resource for forwarding the data packet.
  • One or more third network devices may be included on the transmission path from the second network device to the first network device. If the transmission path from the second network device to the first network device includes a third network device, after the third network device sends the first feedback information, the first network device receives the first feedback information; if the second network device to The transmission path of the first network device includes multiple third network devices. After receiving the first feedback information sent by the previous hop device, each third network device forwards the first feedback information to the next hop device until the third network device receives the first feedback information sent by the previous hop device. A network device receives the first feedback information.
  • the first network device sends a first data packet based on the first feedback information.
  • the source device of the first data packet is the first network device, and the destination device of the first data packet is the second network device.
  • the path traversed by the first data packet is the same as the path traversed by the first probe packet. Therefore, after the first network device sends the first data packet, it forwards the first data packet from the first network device to the third network device of the second network device, and forwards the first detection packet from the first network device to the third network device of the second network device.
  • the third network device of the second network device is identical.
  • the third network device receives the data packet, and forwards the data packet, where the data packet includes the first data packet.
  • 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 detection packet.
  • the second network device may receive the first data packet in the data packet.
  • the network status of the communication network is sensed by sending probe packets in advance, and the sending of data packets is guided, so that congestion and packet loss will not occur on the data packet channel, that is, the lossless "foresight" is achieved. congestion control.
  • the transmission of the probe packet and the data packet may be isolated in various manners.
  • the third network device may allocate bandwidth for the probe channel for sending probe packets and the data channel for sending data packets in the same physical link according to a certain ratio, so as to logically allocate bandwidth to the two types of data packets.
  • the channel is isolated, so as to logically isolate probe packets and data packets.
  • the ratio may be the ratio of the respective packet lengths of probe packets and data packets to the total packet lengths of these two types of packets.
  • the source device may transmit the probe packet by constructing an independent signaling network, so as to realize the physical isolation of the probe packet and the data packet.
  • the third network device may use the bandwidth of the first proportion to send the probe packet, where the probe packet includes the first probe packet, and, The third network device uses the bandwidth of the second ratio to send a data packet, where the data packet includes the first data packet.
  • the first ratio and the second ratio may be preset. That is to say, the proportion of the bandwidth used by the third network device to send the probe packets and the proportion of the bandwidth used to send the data packets are preset.
  • the first ratio and the second ratio on the third network device may be set based on the sizes of the probe packets and the data packets.
  • the bandwidth allocated by the third network device for the probe packet accounts for the third The ratio of the total bandwidth of the network device is about: 84/(84+1538) ⁇ 5% The ratio of the bandwidth allocated for the data message to the total bandwidth is about 95%.
  • FIG. 3 is a schematic diagram of a method for proportionally sending probe packets and data packets according to an embodiment of the present application.
  • the intermediate node 330 between the source host 310 and the destination host 320 may reserve 5% of the bandwidth to send probe packets, and use the remaining 95% of the bandwidth to send data packets. No matter how much the current available bandwidth of the intermediate node 330 is, it can only use 5% of the available bandwidth to send probe packets, and can only use 95% of the available bandwidth to send data packets.
  • the intermediate node 330 uses a bandwidth of 9.5 Gbps to send data packets and a bandwidth of 0.5 Gbps to send probe packets.
  • the rate at which the source host 310 sends the first detection packet is 1 Gbps, it means that the transmission quantity of the first detection packet is too fast (the packet interval is too small). The packet rate is limited.
  • the intermediate node 330 will limit the transmission rate of the first probe packet to 0.5 Gbps, that is, 500 megabits per second (Mbps).
  • the transmission rate of 500 Mbps is just the optimal transmission rate of the first probe packet.
  • the destination host 320 After receiving the probe packet transmitted by the intermediate node 330 at a transmission rate of 500 Mbps, the destination host 320 sends the first feedback information to the source host 310 .
  • the source host 310 can learn the load of the intermediate node 330 according to the first feedback information, that is, the current network can just transmit the first probe packet with a transmission rate of 500 Mbps to the destination host 320 .
  • the ratio of the first ratio of 5% and the second ratio of 95% it can be seen that the current network can just use the rate of 9.5Gbps to send the first data packet, so that the network resources can be fully utilized without packet loss and congestion. .
  • the third network device may use a bandwidth other than the first proportion to send the first feedback information.
  • the third network device may determine, based on the backhaul identifier in the probe packet, that the probe packet is fed back by the second network device to the first probe packet. of the network device, so the probe packet is sent using the bandwidth used to send the data packet.
  • the first network device when the first network device sends the first detection packet in the first round, it may send the packet in a relatively aggressive manner. In this way, network resources can be fully utilized.
  • the sending rate of the first probe packet may be higher than the bandwidth requirement of the application on the first network device.
  • the sending rate of the first probe packet may be initialized to be 1.5 times the bandwidth requirement of the application.
  • the first network device may adjust the transmission rate of the first detection packet, so as to achieve a higher transmission rate of the first detection packet.
  • the purpose of control so as to achieve the purpose of controlling the sending rate of the first data packet, thereby achieving the purpose of controlling network congestion.
  • the first network device can obtain the first probe packet.
  • the first packet loss rate when the first detection packet is sent at the third rate is used, the second rate is determined according to the first packet loss rate, and the first detection packet is sent based on the second rate.
  • a structure-conduct-performance (SCP) strategy may be used to obtain the second rate based on the third rate and the first packet loss rate.
  • SCP structure-conduct-performance
  • the online learning-based congestion control method in the SCP strategy can be adopted.
  • the first network device can calculate the utility function fw ,b (r C ,l) based on the current transmission rate r C and the packet loss rate l in real time, and according to the change direction of the utility function (increase or decrease) to adjust the change direction (increase or decrease) of the transmission rate of the first probe packet, that is, increase the third rate to obtain the second rate or decrease the third rate to obtain the second rate.
  • s, a, b and w are parameters, and the specific values can be obtained through online learning; r P represents the sending rate of probe packets in the previous cycle, and l 0 represents the target packet loss rate.
  • the first detection packet is sent at the second rate; if the transmission of the first detection packet is about to be in the heavy-load mode, the first detection packet is sent at the preset target rate Probe packets.
  • the set target rate should meet the following conditions: when the probe packet forwarded by the third network device on the transmission path from the first network device to the second network device only includes the first probe packet, the first network device The device can successfully transmit a specified number of first probe packets from the first network device to the second network device within a specified period of time using the target rate.
  • the transmission of the first detection packet 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 packet is not sent at a reduced speed. , so that the interruption of the flow of the first detection packet can be avoided, so that the interruption of the flow of the first data packet can be avoided.
  • the problem of current interruption can be avoided.
  • the target rates of probe packets of all source devices in the multiple source devices may be the same. This is to achieve fair convergence of the sending rates of probe packets of these source devices.
  • the preset rate threshold may be equal to the preset target rate, which enables the first network device to achieve rapid convergence of the transmission rate of the first probe packet when switching from the light-load mode to the heavy-load mode.
  • the light load mode after obtaining the second rate based on the third rate and the first packet loss rate, it may be determined whether to continue to maintain the light load mode or switch to the heavy load mode based on the second rate and the preset target rate.
  • the first network device may determine, according to the third rate, whether the transmission of the first probe packet has been in a light-load mode or a heavy-load mode. For example, if the third rate is greater than the preset rate threshold, it means that it is currently in the light-load mode; otherwise, the specification is currently in the heavy-load mode.
  • the first detection packet is sent using the adjusted second rate; if it is in the heavy load mode, the first detection packet is sent using the preset target rate.
  • the rate threshold and the target rate in this implementation manner, reference may be made to the foregoing related content of the rate threshold and the target rate.
  • the first network device may first determine whether to continue using the target rate to send the first packet loss rate based on the first packet loss rate and a preset packet loss rate threshold.
  • the probe packet still adjusts the third rate and uses the adjusted second rate to send the first probe packet.
  • the first packet loss rate after judging that the first detection packet is transmitted at the third rate, whether the transmission of the first detection packet is currently in the light-load mode or the heavy-load mode, if it is currently in the light-load mode, use the adjustment
  • the obtained second rate is used to send the first detection packet; if currently in the overload mode, the first detection packet is transmitted using the preset target rate.
  • the SCP policy may be used to obtain the second rate based on the third rate and the first packet loss rate, and reference may be made to the foregoing manner for the acquisition method.
  • the first packet loss rate may be equal to the parameter l 0 in the utility function. This enables the first network device to continue the iterative convergence process of the transmission rate of the first probe packet when the first network device switches to the light-load mode, and realize fast and fair convergence of the first probe packet.
  • each time the second network device receives a first probe packet it sends a piece of first feedback information
  • the destination device of the first feedback information is the first network device
  • the The source device is the second network device.
  • the first feedback information may be a probe packet obtained by exchanging and modifying the destination address and source address of the first probe packet.
  • each time the first network device receives a piece of first feedback information it sends a first data packet.
  • this implementation manner can avoid congestion caused by the first data packet and packet loss of the first data packet.
  • the operating system kernel of the source host needs to be modified accordingly, and a new transport layer protocol can be written, for example, a traditional transmission control protocol (transmission control protocol, TCP,), user data A protocol in which transport layer protocols such as user datagram protocol (UDP) are juxtaposed.
  • a traditional transmission control protocol transmission control protocol, TCP,
  • user data A protocol in which transport layer protocols such as user datagram protocol (UDP) are juxtaposed.
  • the intermediate node also needs to make relevant modifications at the software level. For example, the intermediate node needs to reserve a certain buffer for the detection packet to store the burst of the detection packet, and the outbound port of the intermediate node needs to reserve a certain proportion of bandwidth. It is specially used to send probe packets, and the probe packets that exceed the reserved bandwidth are discarded; normal data packets can be sent using a certain percentage of bandwidth, for example, using a link other than the bandwidth reserved for probe packets. bandwidth to transmit data packets.
  • the probe packet Since the probe packet is adjusted by the rate of the intermediate node, the data packet transmission rate guided by the probe packet rate is just right. In this way, through the cooperation between the source host and the intermediate node, lossless transmission of data packets, that is, transmission without packet loss, can be realized.
  • the technical solution of the present application can be used for congestion control of high concurrent data streams in a low-latency network.
  • dual congestion signals are introduced to adjust the transmission rate of the first probe packet in light-load and heavy-load modes, respectively. For example, whether to switch from the light-load mode to the heavy-load mode is determined according to whether the transmission rate of the first detection packet is lower than a preset rate threshold; by judging whether the current packet loss rate of the first detection packet is lower than the preset rate threshold The packet loss rate threshold determines whether congestion control switches from heavy load mode to light load mode.
  • a source host when a source host has data to transmit, it first transmits probe packets in the control channel at equal intervals according to the initialization rate until it receives probe packets returned by the destination host. After the first round of data transmission, in the next data transmission process of the source host, the sending rate of data packets will be regulated based on the sending rate and receiving conditions of probe packets, while the sending rate of probe packets is based on the RTT period, with The packet loss rate of detection packets is regulated.
  • the source host initializes the timer to zero, and each time the source host receives a probe packet, it sends a data packet, and at the same time updates the timer time t and the packet loss rate l of the probe packet. After that, the source host compares the size of the current time domain RTT.
  • timer time t does not reach the duration of one RTT, continue to execute the operation of "receive the probe packet - send the data packet - update the timer - update the packet loss rate of the probe packet"; if the timer time t reaches a The duration of the RTT is compared with the size of the current detection packet sending rate r C and the target rate r 0 to determine whether to enter the heavy load mode.
  • r C If r C >r 0 , implement the congestion control method in light load mode, that is, increase or decrease the sending rate of probe packets in the next round according to the specified algorithm, and reset the packet loss rate l and timer time t ; otherwise, it enters the overload congestion control mode.
  • the source host sends probe packets at a fixed rate r 0 .
  • the sending rate of probe packets will not be adjusted, and the source host always sends probe packets at equal intervals at the rate of r 0 .
  • the source host cyclically executes the operations of "receiving probe packets - sending data packets - updating the timer - updating the packet loss rate of probe packets".
  • the timer time t reaches an RTT duration
  • the source host compares the current detection packet loss rate 1 with the preset packet loss rate threshold 1 0 to determine whether to switch back to the light-load congestion control mode.
  • the third network device reserves a part of the link bandwidth for transmitting the probe packets from the source host to the destination host.
  • receives the data it first performs analysis and judgment. If it is determined that the data is a probe packet from the source host to the destination host, the packet is transmitted using the reserved link bandwidth; otherwise, the data is transmitted using the unreserved link bandwidth.
  • the destination host receives the message sent by the source host, it will parse and judge. If it is determined that the packet is a detection packet, the source and destination addresses of the packet are changed, and the detection packet is sent back to the source host. If the packet is a data packet, normal parsing and processing operations are performed.
  • the third network device may additionally increase the transmission priority of the detection packet.
  • FIG. 4 is an exemplary flowchart of a method for controlling network congestion according to an embodiment of the present application. For example, in a low-latency network, the network congestion control method shown in FIG. 4 can be applied.
  • control method can be executed by the source host from the start of data transmission until the data transmission is completed.
  • S402 determine whether the round of data transmission is the first round of transmission, and enter into different branch steps according to the judgment result. If the transmission is the first round of data transmission, go to S403; if the transmission is not the first round of data transmission, go to S404.
  • S403 Initialize the first-round sending rate of the detection packet.
  • the first-round sending rate of probe packets can be initialized to 1.5 times the bandwidth requirement of the application.
  • S404 sending a detection packet at an initial rate. For example, probe packets are sent on the control channel at equal intervals at the initial rate.
  • the logical channel for sending probe packets is called the control channel.
  • the source host judges whether the detection packet returned by the destination host is received, and enters different branch steps according to the judgment result. If the detection packet returned by the destination host is received, the first round of transmission is completed, and the process proceeds to S406; if the detection packet returned by the destination host is not received, the process proceeds to S404, and the transmission of the first round of detection packets is continued.
  • the transmission rate of probe packets and data packets can be adjusted.
  • the transmission rate of data packets is adjusted according to the rate of returned probe packets; and the transmission rate of probe packets is adjusted to ensure the transmission rate of probe packets from multiple different streams (for example, from multiple different source hosts).
  • the purpose of fairness convergence can be achieved on the shared bottleneck link.
  • the sending rate of the probe packets can be adjusted at the RTT cycle.
  • the target packet loss rate in this embodiment may also be referred to as a packet loss rate threshold.
  • S407 Calculate the sending rate r C of the detection packet 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 packets is obtained according to the transmission rate and packet loss rate l of the previous round of detection packets.
  • the sending rate of probe packets can be adjusted according to the value of the utility function. Specifically, the value of the utility function can be calculated, and the sending rate of the probe packet can be adjusted according to the SCP scheme according to the change of the utility function.
  • step S409 compare the size of the calculated probe packet sending rate r C and the target rate r 0 , and enter different branches according to the comparison result. If r C >r 0 , go to step S410 , that is, the light-load mode; if r C ⁇ r 0 , go to step S414 , that is, the rate adjustment of the heavy-load mode.
  • S413 determine whether the current timer duration reaches the RTT size, and enter different branch steps according to the determination result. If the timer duration reaches the RTT size, enter S414, that is, the rate adjustment in the light load mode. If the timer duration does not reach the RTT size, continue to S410.
  • S417 determine whether the current timer duration reaches the RTT size, and enter into different branch steps according to the determination result. If the timer duration reaches the RTT size, proceed to S418; if the timer duration does not reach the RTT size, proceed to S414.
  • S418 it is determined that l ⁇ l0, that is, it is determined whether to switch the light and heavy load mode. Specifically, compare the packet loss rate l of the current round of detection packets and the target packet loss rate l0, and enter different branch steps according to the comparison result. If l ⁇ l0, go to S407, that is, the rate control of the light load mode is performed; if l ⁇ l0, go to S419.
  • S407 to S419 are continuously executed after the first round of transmission ends until the entire data transmission process from the source end to the destination end ends.
  • the transmission rate of the data packets can ensure that the network bandwidth is fully utilized and absolutely no packet loss is ensured.
  • the control algorithm of the SCP policy can achieve fast and fair convergence; in the heavy-load mode, all source nodes send probe packets at a uniform rate, which naturally satisfies the fairness convergence and further improves the overall fairness convergence of the policy. speed.
  • FIG. 5 A schematic flowchart of another embodiment of the method for controlling network congestion of the present application is shown in FIG. 5 .
  • the control method shown in FIG. 5 can be applied in a low-latency network.
  • This method can be executed by the destination host. Each time the destination host receives a probe packet or data packet, it executes the operations in the method.
  • the destination host after receiving the data, the destination host first determines whether the data is a probe packet or a data packet. If the received packet is a data message, go to S530; if the received packet is a probe message, go to S540.
  • S530 Perform parsing processing on the data packet.
  • the processing of data packets can use the working mode of traditional transport layer protocols to decapsulate and process data packets.
  • S540 returning a detection packet.
  • the source IP address of the probe packet is exchanged with the destination IP address, and the probe packet is sent back to the source host.
  • the destination host Each time the destination host receives a probe packet or a data packet, it executes the method shown in FIG. 5 , parses and processes the data packet, and returns the probe packet.
  • FIG. 6 A schematic flowchart of another embodiment of the method for controlling network congestion of the present application is shown in FIG. 6 .
  • the control method shown in Figure 6 can be applied in a low-latency network.
  • the method can be performed by a third network device of the network, and lasts throughout the entire end-to-end transmission process.
  • the third network device allocates a certain percentage of bandwidth to each link, which is dedicated to transmitting probe packets, for example, allocating 5% of the bandwidth to transmit probe packets; using other link bandwidths other than the allocated bandwidth to transmit data packets, such as Use the other 95% of the bandwidth to transmit datagrams.
  • the third network device receives the data transmitted from the previous hop device.
  • the last hop device of the third network device may be the source host, or may be another third network device.
  • the third network device after receiving the data from the previous hop device, the third network device first determines whether the received packet is a data packet or a probe packet. If the received message is a data message, the process goes to step S630; if the received message is a probe message, the process goes to S640.
  • S630 Use the bandwidth other than the bandwidth allocated for the probe packet to transmit the data packet. In other words, use unreserved bandwidth to transmit data packets.
  • S640 Determine whether the detection packet is an outgoing detection packet or a return detection packet, and enter different branch steps according to the judgment result.
  • the outgoing probe packet refers to the probe packet sent from the source host to the destination host
  • the backhaul probe packet refers to the probe packet sent from the destination host to the source host.
  • step S650 If the detection packet is an outgoing detection packet, proceed to step S650; if the detection packet is a return detection packet, proceed to step S660.
  • the third network device may reserve a small amount of buffers, for example, 8 buffers of the size of the detection packets are reserved to deal with the burst transmission of the detection packets. When the probe packet buffer is full, the redundant probe packets received are discarded.
  • Executing the methods in Figures 5 and 6 is equivalent to using the detection packet as a "stand-in" for the data packet, rehearsing the data transmission process in the current network environment, and detecting the packet loss and destination host of the packet through a third network device
  • the return of the probe packet conveys the exact load status of the network to the source host.
  • the source host in FIG. 4 can precisely control the transmission rate of data packets according to the network conditions reflected in the detection packets, thereby realizing the rapid convergence and lossless of the entire congestion control process.
  • the entire congestion control process is coordinated by end-to-end devices (source host, destination host, and a third network device in the network).
  • the embodiments of FIG. 4 to FIG. 5 specially design the congestion control scheme in the overload mode, so that the end-to-end transmission with low delay, high throughput and no congestion can still be maintained in the overload mode.
  • all source hosts can send probe packets at a fixed rate, and the sending rate is relatively aggressive, so that the The control channel that sends the probe packets is continuously in a state of packet loss, so that the data channel can ensure full throughput and no packet loss when transmitting data packets.
  • the transmission of probe packets does not slow down, and the source host can always receive the echo probe packets and send data packets, thus avoiding the problem of current interruption.
  • the embodiment shown in FIG. 4 selects an appropriate mode switching point.
  • the congestion control is switched from the heavy-load mode to the light-load mode
  • the light-load mode will not immediately determine that the convergence point is reached, but will continue to move towards the convergence point.
  • the iterative control of the transmission rate, and finally converges to the established steady-state transmission rate ensures that the switching between the light-load mode and the heavy-load mode will not affect the fairness convergence process of the light-load mode; while the congestion control switches from the light-load mode to the heavy-load mode.
  • the entire transmission will immediately converge to the steady-state rate, which speeds up the convergence process of the entire congestion control scheme to a certain extent.
  • the congestion control method proposed in this application can also be applied to a data center network.
  • the data center network congestion control algorithm in the academic paper "ExpressPass” published by ACM SIGCOMM in 2019 can be selected.
  • SIGCOMM is the latest conference of the Association for Computing Machinery (ACM) in the field of communication networks.
  • ACM Association for Computing Machinery
  • ExpressPass the congestion control algorithm regulates the sending rate of each data stream until the packet loss rate of all probe packets reaches the target packet loss rate (target_loss).
  • target_loss the target packet loss rate
  • the next cycle is calculated by the current rate (cur_rate), control weight (w), maximum rate (max_rate), current detection packet loss rate (credit_loss) and target packet loss rate (target_loss). Probe packet sending rate.
  • this application introduces a rate adjustment method in the overload mode, and selects a suitable transition point for the light-heavy-load mode, wherein, when cur_rate ⁇ r 0 , the light-load mode is switched to the heavy-load mode; credit_loss ⁇ l When 0 , switch from heavy load mode to light load mode.
  • an example of implementing congestion control in a data center network is as follows:
  • Step 703 the source host sends probe packets at equal intervals according to the application requirements and the target rate, and requests bandwidth.
  • the third network device of the network reserves a certain percentage (for example, 5%) of the bandwidth as a control channel to transmit the detection message.
  • Step 704 During the outgoing journey, the hop-by-hop outgoing port of the third network device performs a Committed Access Rate (CAR) rate limit on all probe packets according to a certain bandwidth ratio (eg, 5%), and discards probe packets exceeding the port capability.
  • CAR Committed Access Rate
  • Step 705 the destination host exchanges the source address and destination address of the received probe packet, and returns the probe packet.
  • Step 706 the third network device returns the detection packet to the source host with the highest priority. During the backhaul, the third network device does not limit the rate of detection packets.
  • Step 707 the source host immediately sends a data packet every time it receives a probe packet.
  • the source host determines whether to switch between the light-load mode and the heavy-load mode according to the packet loss rate and transmission rate of the probe packets.
  • cur_rate If cur_rate ⁇ r 0 , switch to heavy load mode, and send probe packets at a fixed rate r 0 until the next state switch; if cur_rate>r 0 , perform rate regulation in light load mode.
  • the technical solution of the present application can be applied to a data center network that is more sensitive to delay.
  • the transition point from the heavy load mode to the light load mode is credit_loss ⁇ l 0 . Since l 0 ⁇ target_loss, after the mode switching, the process of iterative speed adjustment will still be performed, and the fairness convergence process of the original scheme will not be destroyed. .
  • the congestion control is switched from the light load mode to the heavy load mode, the entire transmission will immediately converge to the steady-state rate (the convergence rate of the heavy load mode is r 0 ), which accelerates the convergence process of the entire congestion control scheme to a certain extent.
  • This embodiment further illustrates that the technical solution of the present application can be perfectly compatible with any other congestion control solutions based on transmission rate and packet loss rate.
  • the "ExpressPass” scheme with fewer iterations is selected as the light-load scheme.
  • the "ExpressPass” scheme has relatively few performance detection operations, that is, it does not need to repeatedly calculate the utility function. In order to determine the change of the transmission rate, the transition from the light load mode to the heavy load mode will be faster, and it is more suitable for the data center network with sensitive delay and strong burst.
  • FIG. 7 is a schematic structural diagram of an apparatus 700 for controlling network congestion according to an embodiment of the present application.
  • the apparatus 700 may include a sending module 710 and a receiving module 720 .
  • 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 , for example, the sending module 710 may be used to perform the relevant operations in S210 and S250, and the receiving module 720 may be used to perform Relevant operations in S240.
  • the apparatus 700 can be used to perform the relevant steps or operations performed by the intermediate node in the method shown in FIG. 2 , for example, the sending module 710 can be used to perform the relevant operations in S220 and S260, and the receiving module 720 can be used to perform the relevant operations in S220 and S260. Relevant operations in S210, S230 and S250 are performed.
  • the apparatus 700 can be used to perform the relevant steps or operations performed by the destination host in the method shown in FIG. 2 , for example, the sending module 710 can be used to perform the relevant operations in S230, and the receiving module 720 can be used to perform S220 and related operations in S260.
  • the apparatus 700 may be used to perform the method shown in FIG. 4 , or the apparatus 700 may be used to perform the method shown in FIG. 5 , or the apparatus 700 may be used to perform the method shown in FIG. 6 .
  • FIG. 8 is a schematic structural diagram of an apparatus 800 for controlling 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 the apparatus 800 is a chip, and another example of the apparatus 800 is a computing device.
  • the processor 802, the memory 804 and the communication interface 803 can communicate through a bus.
  • Executable code is stored in the memory 804, and the processor 802 reads the executable code in the memory 804 to execute the corresponding method.
  • the memory 804 may also include other software modules required for running processes such as an operating system.
  • the operating system can be LINUX TM , UNIX TM , WINDOWS TM and the like.
  • the executable code in the memory 804 is used to implement the steps or operations performed by the source host, the intermediate node or the destination host in FIG. 2; the processor 802 reads the executable code in the memory 804 to execute the steps or operations in FIG. A step or action performed by a host, intermediate node, or destination host.
  • the executable code in the memory 804 is used to execute the method shown in FIG. 4 , FIG. 5 or FIG. 6 ; the processor 802 reads the executable code in the memory 804 to execute the method shown in FIG. 4 , FIG. 5 or FIG. 6 . method shown.
  • the processor 802 may be a CPU.
  • Memory 804 may include volatile memory, such as random access memory (RAM).
  • RAM random access memory
  • the memory 804 may also include non-volatile memory (2non-volatile memory, 2NVM), such as 2read-only memory (2ROM), flash memory, hard disk drive (HDD) or solid state drive ( solid state disk, SSD).
  • 2NVM non-volatile memory
  • 2ROM read-only memory
  • flash memory such as 2read-only memory (2ROM), flash memory, hard disk drive (HDD) or solid state drive ( solid state disk, SSD).
  • HDD hard disk drive
  • SSD solid state drive
  • example computer program product 900 is provided using 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 for the methods described above with respect to any one of FIGS. 2 , 4 , 5 and 6 .
  • the described function or part of the function may be implemented as computer program instructions encoded on a computer-readable storage medium in a machine-readable format or on other non-transitory media or articles of manufacture.
  • one or more of the features of S401 to S419 may be undertaken by one or more instructions associated with the signal bearing medium 901 .
  • one or more of the features of S610 to S660 may be undertaken by one or more instructions associated with the signal bearing medium 901 .
  • the signal bearing medium 901 may include a computer readable medium 903 such as, but not limited to, a hard drive, a compact disc (CD), a digital video disc (DVD), a digital tape, a memory, a read only memory (read only memory) -only memory, ROM) or random access memory (RAM), etc.
  • the signal bearing medium 901 may include a computer recordable medium 904, such as, but not limited to, memory, read/write (R/W) CDs, R/W DVDs, and the like.
  • signal bearing medium 901 may include communication medium 905, such as, but not limited to, digital and/or analog communication media (eg, fiber optic cables, waveguides, wired communication links, wireless communication links, etc.).
  • the signal bearing medium 901 may be conveyed by a wireless form of communication medium 905 (eg, a wireless communication medium conforming to 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.
  • the aforementioned computing devices may be configured to, in response to program instructions 902 communicated to the computing device via one or more of computer-readable media 903 , computer-recordable media 904 , and/or communication media 905 , Provides various operations, functions, or actions. It should be understood that the arrangements described herein are for illustrative purposes only.
  • the disclosed system, apparatus and method may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the functions, if implemented in the form of software functional units and sold or used as independent products, may be stored in a computer-readable storage medium.
  • the technical solution of the present application can be embodied in the form of a software product in essence, or the part that contributes to the prior art or the part of the technical solution.
  • the computer software product is stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: a U disk, a removable hard disk, a read-only memory, a random access memory, a magnetic disk or an optical disk and other media that can store program codes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present application relates to the field of communications, and provides a network congestion control method and a related apparatus. In the technical solution provided in the present application, a source device sends a probe packet to a destination device before sending a data packet to the destination device; and by means of transmission of the probe packet by an intermediate network device and feedback of the probe packet by the destination device, available bandwidth on a transmission path from the source device to the destination device is tested. In this way, the source device sends the data packet on the basis of the available bandwidth tested by means of the probe packet, thus facilitating congestion free and packet loss free transmission of the data packet. Furthermore, in the technical solution of the present application, on the basis of the characteristic of the probe packet being allowed to be lost, the data pack can be transmitted at full throughput by transmitting the probe packet at a relatively aggressive speed. In addition, the technical solution of the present application provides a heavy loading mode and a light loading mode as well as congestion control methods under the modes; moreover, fast and fair convergence of a transmission rate can be achieved by selecting a suitable switching point for the light loading mode and the heavy loading mode.

Description

控制网络拥塞的方法和相关装置Method and related apparatus for controlling network congestion
本申请要求于2020年7月29日提交中国专利局、申请号为202010742582.6、发明名称为“控制网络拥塞的方法和相关装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application with the application No. 202010742582.6 and the invention titled "Method and Related Apparatus for Controlling Network Congestion" filed with the China Patent Office on July 29, 2020, the entire contents of which are incorporated herein by reference middle.
技术领域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 communications network.
背景技术Background technique
通信网络中传输数据报文时,通常会出现网络拥塞的问题。基于网络拥塞问题,通信领域提出了拥塞控制方法。When data packets are transmitted in a communication network, the problem of network congestion usually occurs. Based on the problem of network congestion, congestion control methods have been proposed in the field of communication.
传统的拥塞控制方法是基于丢包等拥塞信号来检测通信网络的拥塞状况,并基于通信网络的拥塞状况从数据报文的源端来控制数据报文的发包速率,以控制通信网络的拥塞状况。具体地,当检测到数据报文未丢包时,增加数据包的发送速率;当检测到数据报文丢包时,降低数据报文的发包速率,以缓解网络拥塞。The traditional congestion control method is to detect the congestion status of the communication network based on congestion signals such as packet loss, and control the packet sending rate of the data packet from the source end of the data packet based on the congestion status of the communication network to control the congestion status of the communication network. . Specifically, when it is detected that the data packet is not lost, the data packet sending rate is increased; when it is detected that the data packet is lost, the data packet sending rate is reduced to relieve network congestion.
传统的拥塞控制方法虽然在一定程度上可以缓解通信网络拥塞状况,但是该拥塞控制方法是一种“后知后觉”的机制,当源端接收到丢包信号时,数据报文已经发生了丢包,即已经造成了性能的损失,后续的降速调整已经滞后于网络拥塞的时间点。因此,此机制下,通信网络出现拥塞成为常态,通信设备出现包的积压也成为常态,而包的积压会严重恶化数据报文传输的端到端时延,最终影响通信网络传输数据报文的性能。Although the traditional congestion control method can alleviate the congestion of the communication network to a certain extent, the congestion control method is a kind of "post-knowledge" mechanism. When the source receives the packet loss signal, the data packet has already occurred. Packet loss, that is, performance loss has been caused, and the subsequent slowdown adjustment has lagged behind the time point of network congestion. Therefore, under this mechanism, the congestion of the communication network becomes the norm, and the backlog of packets on the communication equipment becomes the norm, and the backlog of packets will seriously deteriorate the end-to-end delay of data packet transmission, and ultimately affect the transmission of data packets in the communication network. performance.
发明内容SUMMARY OF THE INVENTION
本申请提供了控制网络拥塞的方法和相关装置。本申请的技术方案可以通过不怕丢包的探测报文来探测网络的带宽情况,并基于探测到的网络带宽来控制数据报文的传输速率。The present application provides methods and related apparatuses for controlling network congestion. The technical solution of the present application can detect the bandwidth situation of the network through detection packets that are not afraid of packet loss, and control the transmission rate of the data packets based on the detected network bandwidth.
第一方面,本申请提供了一种控制网络拥塞的方法。所述方法包括:第一网络设备发送第一探测报文,所述第一探测报文是指源设备为所述第一网络设备且目的设备为第二网络设备的探测报文,所述探测报文用于探测源设备至目的设备之间的传输路径上的可用带宽;所述第一网络设备接收第一反馈信息,所述第一反馈信息用于指示所述第一探测报文在所述第二网络设备上的接收情况;所述第一网络设备基于所述第一反馈信息,发送第一数据报文,所述第一数据报文是指源设备为所述第一网络设备且目的设备为所述第二网络设备的数据报文。In a first aspect, the present application provides a method for controlling network congestion. The method includes: a first network device sending a first detection packet, where the first detection packet refers to a detection packet in which the source device is the first network device and the destination device is the second network device, and the detection The message is used to detect the available bandwidth on the transmission path between the source device and the destination device; the first network device receives the first feedback information, and the first feedback information is used to indicate that the first detection message is in the The reception situation on the second network device; the first network device sends a first data packet based on the first feedback information, and the first data packet means that the source device is the first network device and The destination device is the data packet of the second network device.
该方法中,因为第一网络设备在发送数据报文之前先基于探测报文探测网络了当前可以用于传输第一网络设备至第二网络设备的数据报文的带宽,并基于该探测到的可用带宽来向第二网络设备发送数据报文,所以,有助于合理利用网络带宽资源来向第二网络设备发送数据包括,从而实现网络的拥塞控制。In this method, because the first network device detects the network bandwidth currently available for transmitting data packets from the first network device to the second network device based on the probe packet before sending the data packet, and based on the detected bandwidth The available bandwidth is used to send data packets to the second network device, so it is helpful to reasonably utilize network bandwidth resources to send data packets to the second network device, thereby implementing network congestion control.
在一些可能的实现方式中,所述第一网络设备基于所述第一反馈信息,发送第一数据报文,包括: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, based on the first feedback information, the first data packet to the second network device through a third network device, where the third network device is configured to use a first proportion of bandwidth for sending A probe packet and a bandwidth for sending a data packet using a second ratio, wherein the first rate at which the first network device sends the first data packet and the second network device receiving the first probe The ratio of the second rate of packets is equal to the ratio of the second ratio to the first ratio.
这些实现方式中,第三网络设备预设使用第一比例的带宽发送探测报文,预设使用第二比例的带宽发送数据报文。这样,第一网络设备接收到第一反馈信息之后,可以根据该第一反馈信息的接收速率获知第二网络设备接收第一探测报文的速率,并根据探测报文在第一网络设备上的接收速率以及探测报文占用的带宽比例以及数据报文能够占用的带宽比例控制此时发送数据报文的发送速率,即第二速率。In these implementation manners, the third network device presets to use the bandwidth of the first proportion to send the probe packets, and presets to use the bandwidth of the second proportion to send the data packets. In this way, after the first network device receives the first feedback information, it can know the rate at which the second network device receives the first probe packet according to the reception rate of the first feedback information, and can obtain the rate at which the second network device receives the first probe packet according to the rate at which the probe packet is received on the first network device. The receiving rate, the proportion of the bandwidth occupied by the probe packets, and the proportion of the bandwidth that can be occupied by the data packets control the sending rate of the data packets sent at this time, that is, the second rate.
其中,第一网络设备基于第一探测反馈信息发送第一数据报文,且第一数据报文的速率刚好为第二速率,可以使得第三网络设备刚好能够满吞吐、且无丢包地向第二网络设备转发第一网络设备发送的第一数据报文。The first network device sends the first data packet based on the first probe feedback information, and the rate of the first data packet is exactly the second rate, which can enable the third network device to just be able to handle the full throughput without packet loss. The second network device forwards the first data packet sent by the first network device.
在一些可能的实现方式中,所述第二网络设备用于:每接收到一个所述第一探测报文则发送一个所述第一反馈信息。其中,所述第一网络设备基于所述第一反馈信息,发送第一数据报文,包括:所述第一网络设备每接收到一个所述第一反馈信息,则发送一个所述第一数据报文。In some possible implementation manners, the second network device is configured to send one piece of the first feedback information every time one of the first probe packets is received. The sending, by the first network device, a first data packet based on the first feedback information includes: sending a first data packet each time the first network device receives a piece of the first feedback information message.
这些实现方式中,第二网络设备每接收一个第一探测报文则发送一个第一反馈信息,第一网络设备每接收一个第一反馈信息则发送一个第一数据报文,可以使得第一数据报文的速率刚好为第二速率,从而可以使得第一数据报文可以无丢包且满吞吐地传输至第二网络设备。In these implementation manners, the second network device sends a first feedback message every time it receives a first detection message, and the first network device sends a first data message every time it receives a first feedback message, so that the first data The rate of the packet is exactly the second rate, so that the first data packet can be transmitted to the second network device without packet loss and at full throughput.
在一些可能的实现方式中,所述第一网络设备发送第一探测报文,包括:所述第一网络设备使用第三速率发送所述第一探测报文;所述第一网络设备获取所述第一网络设备使用所述第三速率发送所述第一探测报文时的第一丢包率;所述第一网络设备根据所述第一丢包率确定所述第二速率;所述第一网络设备基于所述第二速率发送所述第一探测报文。In some possible implementations, the sending, by the first network device, the first detection packet includes: the first network device sends the first detection packet using a third rate; the first network device obtains the the first packet loss rate when the first network device uses the third rate to send the first probe packet; the first network device determines the second rate according to the first packet loss rate; the The first network device sends the first probe packet based on the second rate.
也就是说,这些实现方式中,根据之前发送第一探测报文所使用的第三速率以及之前使用第三速率发送的第一探测报文时的丢包率来获知当前网络将第一网络设备发送的探测报文传输给第二网络设备的可用带宽所对应的探测报文发送速率,即第二速率,并使用第二速率重新发送第一探测报文。这样可以及时调整当前探测报文的发送速率,以实现探测报文可以满吞吐地传输至第二网络设备,从而可以实现第一数据报文可以满吞吐地传输至第二网络设备。That is to say, in these implementations, according to the third rate used for sending the first probe packet and the packet loss rate when the first probe packet was previously sent using the third rate, it is known that the current network sends the first network device to the first network device. The sent probe packet is transmitted to the probe packet sending rate corresponding to the available bandwidth of the second network device, that is, the second rate, and the first probe packet is resent at the second rate. In this way, the sending rate of the current detection packet can be adjusted in time, so that the detection packet can be transmitted to the second network device at full throughput, so that the first data packet can be transmitted to the second network device at full throughput.
在一些可能的实现方式中,所述第一网络设备基于所述第二速率发送所述第一探测报文,包括:所述第二速率小于或等于预设的速率阈值的情况下,所述第一网络设备使用预设的目标速率发送所述第一探测报文,所述目标速率大于所述第二速率;或所述第二速率大于所述速率阈值的情况下,所述第一网络设备使用所述第二速率发送所述第一探测报文。In some possible implementations, the sending, by the first network device, the first probe packet based on the second rate includes: when the second rate is less than or equal to a preset rate threshold, the The first network device sends the first probe packet using a preset target rate, where the target rate is greater than the second rate; or when the second rate is greater than the rate threshold, the first network The device sends the first probe packet using the second rate.
即第二速率较小的情况下,判断网络负载较重,可用带宽较少。此时,可以使用预设的固定目标速率来发送第一探测报文,以使得探测报文不断流,从而使得数据报文不断流。That is, when the second rate is small, it is determined that the network load is heavy and the available bandwidth is small. At this time, the preset fixed target rate may be used to send the first detection packet, so that the detection packet flows continuously, thereby making the data packet flow continuously.
在第二速率较大的情况下,判断网络负载较轻,可以带宽较多。此时,可以使用调整得到的第二速率来发送第一探测报文,以充分利用网络资源发送第一探测报文,以探测数据报文的最合理可用带宽,从而可以充分利用网络资源发送数据报文,实现第一数据报文的满吞吐和无丢包传输。In the case where the second rate is relatively high, it is determined that the network load is relatively light and the available bandwidth is relatively large. In this case, the adjusted second rate can be used to send the first probe packet, so as to make full use of network resources to send the first probe packet, so as to detect the most reasonable available bandwidth of the data packet, so as to make full use of network resources to send data message, to achieve full throughput and no packet loss transmission of the first data message.
在一些实现方式中,所述第一网络设备为多个网络设备中的一个,其中,所述多个网络设备中所有网络设备的探测报文的目标速率相同。In some implementation manners, the first network device is one of multiple network devices, wherein the target rates of detection packets of all network devices in the multiple network devices are the same.
每个网络设备在重载模式下使用的目标速率相同,这可以实现多个网络设备的探测报文的公平收敛。Each network device uses the same target rate in overload mode, which can achieve fair convergence of probe packets from multiple network devices.
在一些可能的实现方式中,所述目标速率与所述速率阈值相同。这样可以使得从第三速率切换到目标速率时,探测报文在通信网络中的传输速率能够快速收敛。In some possible implementations, the target rate is the same as the rate threshold. In this way, when switching from the third rate to the target rate, the transmission rate of the probe packet in the communication network can quickly converge.
在一些可能的实现方式中,所述第一网络设备至所述第二网络设备的传输路径上的第三网络设备转发的探测报文仅包含所述第一探测报文时,所述第一网络设备使用所述目标速率在指定时长内能够将指定数量的第一探测报文从所述第一网络设备成功传输至所述第二网络设备。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 only includes the first probe packet, the first probe The network device can successfully transmit a specified number of first probe packets from the first network device to the second network device within a specified period of time using the target rate.
这些实现方式中,第一探测报文的目的速率相对激进,即相对来说比较大,因此可以充分利用网络资源发送第一探测报文,以探测数据报文的可用带宽,从而可以充分利用网络资源发送第一数据报文,实现第一数据报文的满吞吐和无丢包传输。In these implementation manners, the purpose rate of the first detection packet is relatively aggressive, that is, relatively large. Therefore, network resources can be fully utilized to send the first detection packet to detect the available bandwidth of the data packet, so that the network can be fully utilized. The resource sends the first data packet to achieve full throughput and no packet loss transmission of the first data packet.
在一些可能的实现方式中,所述第一网络设备根据所述第一丢包率确定所述第二速率,包括:所述第一丢包率小于预设的丢包率阈值的情况下,所述第一网络设备基于所述第一丢包率和所述第三速率对所述第一探测报文的发送速率进行调整,得到所述第二速率。其中,所述第一网络设备基于所述第二速率发送所述第一探测报文,包括:所述第一网络设备使用所述第二速率发送所述第一探测报文。In some possible implementations, the first network device determining the second rate according to the first packet loss rate includes: when the first packet loss rate is less than a preset packet loss rate threshold, The first network device adjusts the sending rate of the first probe packet based on the first packet loss rate and the third rate to obtain the second rate. The sending, by the first network device, the first detection packet based on the second rate includes: the first network device using the second rate to send the first detection packet.
即若丢包率小,则说明进入轻载模式。此时,可以根据丢包率和之前的第三速率调整得到更合适的第二速率。这样可以充分利用资源传输探测报文,从而可以充分利用资源传输数据报文。That is, if the packet loss rate is small, it indicates that the light load mode is entered. At this time, a more appropriate second rate may be obtained by adjusting the packet loss rate and the previous third rate. In this way, the resources can be fully utilized to transmit the probe packets, so that the resources can be fully utilized to transmit the data packets.
在一些可能的实现方式中,所述丢包率阈值大于所述第一网络设备使用所述第二速率发送所述第一探测报文时所述第一探测报文的丢包率。In some possible implementations, the packet loss rate threshold is greater than the packet loss rate of the first probe packet when the first network device sends the first probe packet at 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, it will adjust the speed so as not to destroy the sending rates of the original multiple source devices fairness between.
在一些可能的实现方式中,所述第二速率是使用结构-行为-绩效SCP策略或快速通道策略,基于所述第一丢包率和所述第三速率得到的。In some possible implementations, the second rate is obtained based on the first packet loss rate and the third rate using a structure-behavior-performance SCP strategy or a fast-path strategy.
这样可以快速公平地实现各个发送设备的探测报文的发送速率的收敛,从而实现各个网络设备的数据报文的发送速率快速公平收敛。In this way, the convergence of the sending rate of the probe packets of each sending device can be achieved quickly and fairly, thereby realizing the fast and fair convergence of the sending rate of the data packets of each network device.
第二方面,本申请提供一种网络拥塞的控制方法。所述方法包括:第二网络设备接收第一探测报文,所述第一探测报文是指源设备为第一网络设备且目的设备为所述第二网络设备的探测报文,所述探测报文用于探测源设备至目的设备之间的传输路径上的可用带宽;所述第二网络设备发送第一反馈信息,所述第一反馈信息用于指示所述第二网络设备对所述第一探测报文的接收情况;所述第二网络设备接收所述第一网络设备基于所述第一反馈信息发送的第一数据报文,所述第一数据报文是指源设备为所述第一网络设备且目的设备 为所述第二网络设备的数据报文。In a second aspect, the present application provides a method for controlling network congestion. The method includes: a second network device receives a first detection packet, where the first detection packet refers to a detection packet in which the source device is the first network device and the destination device is the second network device, and the detection The message is used to detect the available bandwidth on the transmission path between the source device and the destination device; the second network device sends first feedback information, where the first feedback information is used to instruct the second network device to Reception of the first detection packet; the second network device receives the first data packet sent by the first network device based on the first feedback information, where the first data packet refers to the source device being the The first network device and the destination device is the data packet of the second network device.
该方法中,第二网络设备在接收到探测报文之后,向发送该探测报文的源设备反馈该探测报文的接收情况,以便于该源设备可以根据该接收情况获知网络的可用带宽,进而使得该源设备可以基于该可用带宽发送数据报文。In this method, after receiving the detection packet, the second network device feeds back the reception status of the detection packet to the source device that sent the detection packet, so that the source device can know the available bandwidth of the network according to the reception status, Further, the source device can send data packets based on the available bandwidth.
在一些可能的实现方式中,所述第二网络设备发送第一反馈信息,包括:所述第二网络设备每接收到一个所述第一探测报文,则发送一个所述第一反馈信息。In some possible implementation manners, the sending, by the second network device, the first feedback information includes: sending one piece of the first feedback information each time the second network device receives one of the first probe packets.
在另一些可能的实现方式中,所述第一反馈信息具体用于指示所述第二网络设备接收到所述第一探测报文。In some other possible implementation manners, the first feedback information is specifically used to indicate that the second network device receives the first probe packet.
第三方面,本申请提供一种网络拥塞的控制方法。所述方法包括:第三网络设备接收探测报文,所述探测报文用于探测源设备至目的设备之间的传输路径上的可用带宽;所述第三网络设备转发所述探测报文;所述第三网络设备接收反馈信息,所述反馈信息用于表示所述的目的设备接收所述探测报文的情况;所述第三设备转发所述反馈信息;所述第三设备接收所述源设备基于所述反馈信息发送的数据报文;所述第三设备转发所述数据报文。In a third aspect, the present application provides a method for controlling network congestion. The method includes: a third network device receives a detection packet, where the detection packet is used to detect available bandwidth on a transmission path between a source device and a destination device; the third network device forwards the detection packet; The third network device receives feedback information, where the feedback information is used to indicate that the destination device receives the probe packet; the third device forwards the feedback information; the third device receives the the data packet sent by the source device based on the feedback information; the third device forwards the data packet.
该方法中,第三网络设备作为发送探测报文和数据报文的源设备与接收探测报文和数据报文的目的设备之间的中间设备,辅助发送探测报文,以探测能够用于发送数据报文的可用带宽,以使得源设备可以基于该可用带宽控制数据报文的发送,从而可以控制数据报文的拥塞情况。In this method, the third network device acts as an intermediate device between the source device that sends the probe packet and the data packet and the destination device that receives the probe packet and the data packet, and assists in sending the probe packet, so that the probe can be used for sending the probe packet. The available bandwidth of the data packets, so that the source device can control the sending of the data packets based on the available bandwidth, so as to control the congestion of the data packets.
在一些可能的实现方式中,所述第三网络设备转发探测报文,包括:所述第三网络设备使用第一比例的带宽发送所述探测报文;所述第三网络设备转发所述数据报文,包括:所述第三网络设备使用第二比例的带宽发送所述数据报文;其中,所述第三网络设备接收所述第一数据报文的速率与所述第三网络设备接收所述第一探测报文的速率的比值,等于所述第二比例与所述第一比例的比值。In some possible implementations, the third network device forwarding the probe packet includes: the third network device sends the probe packet by using a bandwidth of a first proportion; and the third network device forwards the data packet, including: the third network device sends the data packet by using the bandwidth of the second ratio; wherein the rate at which the third network device receives the first data packet is the same as the rate at which the third network device receives the first data packet The ratio of the rates of the first probe packets is equal to the ratio of the second ratio to the first ratio.
该实现方式中,第三网络设备使用预设的比例发送探测报文,这样,发送探测报文的源设备即可以基于该探测报文在目的设备的接收情况来获知实际用于发送探测报文的带宽,进而可以基于该带宽以及预设的第一比例和第二比例获知能够用于发送数据报文的可用带宽,最终可以基于该可用带宽实现数据报文的无丢包和满吞吐传输。In this implementation manner, the third network device uses a preset ratio to send probe packets, so that the source device that sends the probe packets can know the actual use for sending probe packets based on the reception of the probe packets at the destination device. Then, based on the bandwidth and the preset first ratio and second ratio, the available bandwidth that can be used for sending data packets can be obtained, and finally, based on the available bandwidth, no packet loss and full throughput transmission of data packets can be realized.
在一些可能的实现方式中,所述第三网络设备转发所述反馈信息,包括:所述第三网络设备以最高优先级转发所述反馈信息。In some possible implementations, the third network device forwarding the feedback information includes: the third network device forwards the feedback information with the highest priority.
该实现方式中,第三网络设备优先传输反馈信息,即优先反馈探测报文的接收情况,从而可以提高发送探测报文的源设备获知探测报文的接收情况的成功率和准确率,进而可以提高源设备获知用于传输数据报文的可用带宽的成功率和准确率,最终可以提高网络拥塞的控制成功率和准确率。In this implementation manner, the third network device preferentially transmits the feedback information, that is, preferentially feeds back the reception status of the detection packet, so that the success rate and the accuracy rate of the source device sending the detection packet to know the reception status of the detection packet can be improved. Improving the success rate and accuracy rate of the source device in learning the available bandwidth for transmitting data packets can ultimately improve the success rate and accuracy rate of network congestion control.
第四方面,本申请提供了一种网络拥塞的控制装置,该装置包括用于执行上述第一方面或其中任意一种实现方式中的方法的模块。In a fourth aspect, the present application provides an apparatus for controlling network congestion. The apparatus includes a module for executing the method in the first aspect or any one of the implementation manners.
第五方面,本申请提供了一种网络拥塞的控制装置,该装置包括用于执行上述第二方面或其中任意一种实现方式中的方法的模块。In a fifth aspect, the present application provides an apparatus for controlling network congestion. The apparatus includes a module for executing the method in the second aspect or any one of the implementation manners.
第六方面,本申请提供了一种网络拥塞的控制装置,该装置包括用于执行上述第三方面或其中任意一种实现方式中的方法的模块。In a sixth aspect, the present application provides an apparatus for controlling network congestion. The apparatus includes a module for executing the method in the third aspect or any one of the implementation manners.
第七方面,提供了一种网络拥塞的控制装置,该装置包括:存储器、处理器和收发器; 所述存储器用于存储程序;所述处理器用于执行所述存储器存储的程序;所述收发器用于与其他装置或设备进行通信;当所述存储器存储的程序被执行时,所述处理器和所述收发器用于执行第一方面或者其中任意一种实现方式中的方法。In a seventh aspect, a device for controlling network congestion is provided, the device comprising: a memory, a processor and a transceiver; the memory is used to store a program; the processor is used to execute the program stored in the memory; The processor is used for communicating with other apparatuses or devices; when the program stored in the memory is executed, the processor and the transceiver are used for executing the method in the first aspect or any one of the implementation manners.
第八方面,提供了一种网络拥塞的控制装置,该装置包括:存储器、处理器和收发器;所述存储器用于存储程序;所述处理器用于执行所述存储器存储的程序;所述收发器用于与其他装置或设备进行通信;当所述存储器存储的程序被执行时,所述处理器和所述收发器用于执行第二方面或者其中任意一种实现方式中的方法。In an eighth aspect, a network congestion control device is provided, the device comprising: a memory, a processor and a transceiver; the memory is used for storing a program; the processor is used for executing the program stored in the memory; The processor is used to communicate with other apparatuses or devices; when the program stored in the memory is executed, the processor and the transceiver are used to execute the method in the second aspect or any one of the implementation manners.
第九方面,提供了一种网络拥塞的控制装置,该装置包括:存储器、处理器和收发器;所述存储器用于存储程序;所述处理器用于执行所述存储器存储的程序;所述收发器用于与其他装置或设备进行通信;当所述存储器存储的程序被执行时,所述处理器和所述收发器用于执行第三方面或者其中任意一种实现方式中的方法。In a ninth aspect, a device for controlling network congestion is provided, the device comprising: a memory, a processor, and a transceiver; the memory is used to store a program; the processor is used to execute the program stored in the memory; The processor is used to communicate with other apparatuses or devices; when the program stored in the memory is executed, the processor and the transceiver are used to execute the method in the third aspect or any one of the implementation manners.
第十方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码用于执行第一方面或其中任意一种实现方式中的方法。In a tenth aspect, a computer-readable medium is provided, where the computer-readable medium stores program codes for device execution, where the program codes are used to execute the method in the first aspect or any one of the implementation manners thereof.
第十一方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码用于执行第二方面或其中任意一种实现方式中的方法。In an eleventh aspect, a computer-readable medium is provided, where the computer-readable medium stores program code for execution by a device, where the program code is used for executing the method in the second aspect or any one of the implementation manners thereof.
第十二方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码用于执行第三方面或其中任意一种实现方式中的方法。A twelfth aspect provides a computer-readable medium, where the computer-readable medium stores program code for device execution, where the program code is used to execute the method in the third aspect or any one of the implementation manners thereof.
第十三方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或其中任意一种实现方式中的方法。A thirteenth aspect provides a computer program product containing instructions, when the computer program product runs on a computer, the computer causes the computer to execute the method in the first aspect or any one of the implementation manners.
第十四方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第二方面或其中任意一种实现方式中的方法。A fourteenth aspect provides a computer program product comprising instructions, which when the computer program product is run on a computer, causes the computer to execute the method of the second aspect or any one of the implementation manners.
第十五方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第三方面或其中任意一种实现方式中的方法。A fifteenth aspect provides a computer program product comprising instructions, which when the computer program product is run on a computer, causes the computer to execute the method in the third aspect or any one of the implementation manners.
第十六方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面或其中任意一种实现方式中的方法。A sixteenth aspect provides a chip, the chip includes a processor and a data interface, the processor reads an instruction stored in a memory through the data interface, and executes the first aspect or any one of the implementation manners. Methods.
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或其中任意一种实现方式中的方法。Optionally, as an implementation manner, the chip may further include a memory, in which instructions are stored, the processor is configured to execute the instructions stored in the memory, and when the instructions are executed, the The processor is configured to execute the method in the first aspect or any one of the implementation manners thereof.
第十七方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第二方面或其中任意一种实现方式中的方法。A seventeenth aspect provides a chip, the chip includes a processor and a data interface, the processor reads an instruction stored in a memory through the data interface, and executes the second aspect or any one of the implementation manners. Methods.
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第二方面或其中任意一种实现方式中的方法。Optionally, as an implementation manner, the chip may further include a memory, in which instructions are stored, the processor is configured to execute the instructions stored in the memory, and when the instructions are executed, the The processor is configured to execute the method in the second aspect or any one of the implementations.
第十八方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第三方面或其中任意一种实现方式中的方法。In an eighteenth aspect, a chip is provided, the chip includes a processor and a data interface, the processor reads an instruction stored in a memory through the data interface, and executes the third aspect or any one of the implementation manners. Methods.
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第三方面或其中任意一种实现方式中的方法。Optionally, as an implementation manner, the chip may further include a memory, in which instructions are stored, the processor is configured to execute the instructions stored in the memory, and when the instructions are executed, the The processor is configured to execute the method in the third aspect or any one of the implementation manners.
第十九方面,提供了一种计算设备,该计算设备包括:存储器,用于存储程序;处理 器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第一方面或者其中任意一种实现方式中的方法。A nineteenth aspect provides a computing device, the computing device comprising: a memory for storing a program; a processor for executing the program stored in the memory, when the program stored in the memory is executed, the The processor is configured to execute the method in the first aspect or any one of the implementation manners.
第二十方面,提供了一种计算设备,该计算设备包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第二方面或者其中任意一种实现方式中的方法。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, when the program stored in the memory is executed, the The processor is configured to execute the method in the second aspect or any one of the implementation manners.
第二十一方面,提供了一种计算设备,该计算设备包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第三方面或者其中任意一种实现方式中的方法。A twenty-first aspect provides a computing device, the computing device comprising: a memory for storing a program; a processor for executing the program stored in the memory, when the program stored in the memory is executed, the The processor is configured to execute the method in the third aspect or any one of the implementation manners.
附图说明Description of drawings
图1是本申请的技术方案的一种应用场景的示例图。FIG. 1 is an example diagram of an application scenario of the technical solution of the present application.
图2是本申请的控制方法的一个示例性交互流程图。FIG. 2 is an exemplary interaction flow chart of the control method of the present application.
图3是本申请的控制方法中按比例带宽传输探测报文和数据报文的一个示例图。FIG. 3 is an example diagram of transmitting probe packets and data packets according to the proportional bandwidth in the control method of the present application.
图4是本申请的控制方法的另一个示例性流程图。FIG. 4 is another exemplary flowchart of the control method of the present application.
图5是本申请的控制方法的又一个示例性流程图。FIG. 5 is another exemplary flowchart of the control method of the present application.
图6是本申请的控制方法的再一个示例性流程图。FIG. 6 is still another exemplary flowchart of the control method of the present application.
图7是本申请的控制装置的一个示例性结构图。FIG. 7 is an exemplary structural diagram of the control device of the present application.
图8是本申请的控制装置的另一个示例性结构图。FIG. 8 is another exemplary structural diagram of the control device of the present application.
图9是本申请的计算机程序产品的一个示例性结构图。FIG. 9 is an exemplary structural diagram of the computer program product of the present application.
具体实施方式detailed description
下面将结合附图,对本申请中的技术方案进行描述。The technical solutions in the present application will be described below with reference to the accompanying drawings.
本申请实施例的技术方案可以应用于各种通信网络中,例如广域网(wide area network,WAN)、城域网(metropolitan area network,MAN)、局域网(local area network LAN)或数据中心网络等。The technical solutions of the embodiments of the present application can be applied to various communication networks, such as a wide area network (WAN), a metropolitan area network (MAN), a local area network (LAN), or a data center network, etc.
本申请实施例中的源设备也可以称为源主机、源端、源节点或源侧等,是指数据的发送端。进一步地,发送数据的源设备可以理解为该数据的源互联网协议(internet protocol,IP)地址所指示的网络设备。本申请的实施例中,将发送数据的源设备简称为该探测报文或该数据报文的源设备。The source device in this embodiment of the present application may also be referred to as a source host, a source end, a source node, or a source side, etc., and refers to the sending end of data. Further, the source device that sends the data can be understood as the network device indicated by the source Internet Protocol (IP) address of the data. In the embodiments of the present application, the source device that sends the data is simply referred to as the source device of the probe packet or the data packet.
本申请实施例中的目的设备也可以称为目的主机、目的端、目的节点或目的侧等,是指数据的最终接收端,即数据的目的地。进一步地,接收数据的目的设备可以理解为该数据的目的IP地址所指示的网络设备。本申请的实施例中,将接收数据的目的设备简称为该数据的目的设备。The destination device in the embodiments of the present application may also be referred to as a destination host, a destination end, a destination node, or a destination side, etc., and refers to the final receiving end of the data, that is, the destination of the data. Further, the destination device that receives the data can be understood as the network device indicated by the destination IP address of the data. In the embodiments of the present application, the destination device that receives the data is simply referred to as the destination device of the data.
本申请实施例中的数据可以包括数据报文和探测报文。其中,数据报文的含义可以参考现有技术中的数据报文的定义,此处不再赘述。The data in this embodiment of the present application may include data packets and probe packets. For the meaning of the data packet, reference may be made to the definition of the data packet in the prior art, which will not be repeated here.
本实施例中的探测报文用于探测该探测报文的源设备至目的设备间的传输路径的负载情况。传输路径的负载情况可以包括传输路径的可用带宽情况,例如传输路径的可用带宽为多少。或者可以理解为,探测报文用于探测或预约下一传输周期能够用于传输数据报文的带宽。The probe packet in this embodiment is used to detect the load of the transmission path between the source device and the destination device of the probe packet. The load condition of the transmission path may include the available bandwidth condition of the transmission path, for example, how much the available bandwidth of the transmission path is. Alternatively, it can be understood that the probe packet is used to detect or reserve the bandwidth that can be used for transmitting the data packet in the next transmission period.
探测报文的长度可以是预先设定好的,例如一个探测报文可以封装为64个字节(byte,B)的以太帧。通常情况下,探测报文可以仅包含包头,且该包头中包含的内容与后续步骤中发送的数据报文的包头中的内容可以相同,例如为相同的五元组信息。The length of the detection packet may be preset, for example, a detection packet may be encapsulated into an Ethernet frame of 64 bytes (byte, B). Generally, the probe packet may only include a header, and the content included in the header may be the same as the content in the header of the data packet sent in the subsequent steps, for example, the same quintuple information.
本实施例中的中间设备也可以称为中间节点、转发设备、中转设备、中转节点、交换机、路由设备、路由器或路由节点,是指能够将源设备发送的数据转发至目的设备的通信设备。The intermediate device in this embodiment may also be referred to as an intermediate node, a forwarding device, a transit 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.
图1是可以应用本申请实施例的技术方案的通信网络的示意性架构图。如图1所示,可以应用本申请实施例的技术方案的通信网络中可以包括源主机110、中间节点120和目的主机130。FIG. 1 is a schematic structural diagram of a communication network to which the technical solutions of the embodiments of the present application can be applied. As shown in FIG. 1 , a communication network to which the technical solutions of the embodiments of the present application can be applied may include a source host 110 , an intermediate node 120 and a destination host 130 .
可以理解的是,图1中仅示例性给出一个源主机、一个中间节点和一个目的主机。可以应用本申请实施例的技术方案的通信网络中可以包括更多的源主机、更多的中间节点和更多的目的主机。It can be understood that only one source host, one intermediate node and one destination host are shown in FIG. 1 as an example. The communication network to which the technical solutions of the embodiments of the present application can be applied may include more source hosts, more intermediate nodes, and more destination hosts.
图1所示的通信网络中,源主机110作为数据报文的发送端,按照一定的速率发送数据报文。该数据报文到达中间节点120之后,中间节点120利用可用带宽向目的主机130发送数据报文。In the communication network shown in FIG. 1 , the source host 110 serves as the sender of the data packet, and sends the data packet at a certain rate. After the data packet reaches the intermediate node 120, the intermediate node 120 sends the data packet to the destination host 130 using the available bandwidth.
其中,若数据报文的发送速率过快,中间节点120来不及将接收的数据包转发出去时,这些来不及转发出去的数据包就会积压在中间节点120。中间节点120的缓存中的数据包积压到一定程度时,中间节点120会将接收到且来不及转发出去的数据包丢掉,从而出现数据报文的丢包现象。此时,可以认为网络出现拥塞。Wherein, if the sending rate of the data packets is too fast, when the intermediate node 120 does not have time to forward the received data packets, the data packets that are not forwarded in time will be backlogged in the intermediate node 120 . When the backlog of data packets in the cache of the intermediate node 120 reaches a certain level, the intermediate node 120 will discard the received data packets that have not been forwarded in time, thereby causing packet loss of data packets. At this point, it can be considered that the network is congested.
为了避免丢包,即为了避免拥塞,本申请提出了新的技术方案,以控制通信网络的拥塞。图2为本申请一个实施例的网络拥塞的控制方法的示例性流程图。该方法可以包括S210、S220、S230、S240、S250和S260。In order to avoid packet loss, that is, to avoid congestion, the present application proposes a new technical solution to control the congestion of the communication network. FIG. 2 is an exemplary flowchart of a method for controlling network congestion according to an embodiment of the present application. The method may include S210, S220, S230, S240, S250 and S260.
S210,第一网络设备发送第一探测报文。其中,所述第一网络设备为所述第一探测报文的源设备,例如,所述第一探测报文中的源IP地址为所述第一网络设备的IP地址。S210, the first network device sends a first detection packet. The first network device is the source device of the first detection packet, for example, the source IP address in the first detection packet is the 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 packet may be preset.
本实施例的一些可能的实现方式中,第一网络设备可以等间隔地逐包发送第一探测报文。In some possible implementations of this embodiment, the first network device may send the first detection packets packet by packet at equal intervals.
本实施例中,第一网络设备发送可以探测报文可以理解为第一网络设备向第二网络设备发送第一探测报文,其中第二网络设备为第一探测报文的目的设备,例如,第一探测报文中的目的IP地址所指示的网络设备即为第二网络设备。In this embodiment, sending a detectable packet by the first network device may be understood as the first network device sending a first probe packet to a second network device, where the second network device is the destination device of the first probe packet, for example, The network device indicated by the destination IP address in the first detection packet is the second network device.
本实施例中,第一网络设备发送第一探测报文之后,第一网络设备至第二网络设备的传输路径上的第三网络设备可以接收到所述第一探测报文。In this embodiment, after the first network device sends the first detection packet, the third network device on the transmission path from the first network device to the second network device may receive the first detection packet.
S220,第三网络设备转发所述第一探测报文。S220, the third network device forwards the first detection packet.
在一些示例中,第三网络设备可以接收一个或多个网络设备向另外一个或多个网络设备发送的探测报文,并转发这些探测报文,这些探测报文中可以包括第一网络设备向第二网络设备发送的第一探测报文。In some examples, the third network device may receive probe packets sent by one or more network devices to one or more other network devices, and forward these probe packets, where these probe packets may include the first network device to The first detection packet sent by the 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 includes a third network device, after the third network device sends the probe packet, the second network device receives the first probe packet in the probe packet; If the transmission path from the first network device to the second network device includes multiple third network devices, each third network device forwards the probe packet to the next device after receiving the probe packet sent by the previous hop device. , the detection packet includes the first detection packet until the second network device receives the first detection packet.
第一探测报文经过一个或多个第三网络设备的转发之后,第二网络设备可以接收该第一探测报文。After the first detection packet is forwarded by one or more third network devices, the second network device may receive the first detection packet.
S230,第二网络设备发送第一反馈信息。其中,第一反馈信息用于指示所述第一探测报文在所述第二网络设备上的接收情况。S230, the second network device sends the first feedback information. The first feedback information is used to indicate the reception status of the first probe packet on the second network device.
例如,第一反馈信息具体可以用于指示第二网络设备接收到了第一探测报文。又如,第一反馈信息具体可以用于指示第二网络设备接收到第一探测报文的时间。再如,第一反馈信息具体可以用于指示第二网络设备接收到第一探测报文以及第二网络设备接收到第一探测报文的时间。For example, the first feedback information may be specifically used to indicate that the second network device has received the first probe packet. For another example, the first feedback information may be specifically used to indicate the time when the second network device receives the first probe packet. For another example, the first feedback information may be specifically used to indicate that the second network device receives the first probe packet and the time when the second network device receives the first probe packet.
在一些可能的实现方式中,第二网络设备接收到第一探测报文之后,可以将第一探测报文中的目的地址修改为第一探测报文的源地址,并将修改得到的新探测报文发送出去。In some possible implementations, after receiving the first probe packet, the second network device may modify the destination address in the first probe packet to the source address of the first probe packet, and modify the new probe packet obtained by modification. The message is sent out.
可选地,本实施例的探测报文中可以包含行程标识,该行程标识可以包括去程标识和回程标识,去程标识用于表示探测报文是从源设备发送给目的设备的,回程标识用于标识探测报文目的设备返回给源设备的。这种情况下,第二网络设备不仅修改第一探测报文的目的地址,还将第一探测报文的行程标识由去程标识修改为回程标识。Optionally, the detection packet in this embodiment may include a trip identifier, and the trip identifier may include an outbound identifier and a return identifier. The outbound identifier is used to indicate that the detection packet is sent from the source device to the destination device, and the return identifier Used to identify the destination device of the probe packet returned to the source device. In this case, the second network device not only modifies the destination address of the first probe packet, but also modifies the trip identifier of the first probe packet from the outgoing identifier to the return identifier.
第二网络设备发送第一反馈信息之后,第二网络设备至第一网络设备的传输路径上的第三网络设备可以接收到该第一反馈信息。After the second network device sends the first feedback information, the third network device on the transmission path from the second network device to the first network device may receive the first feedback information.
本实施例中,第二网络设备可以每接收到一个探测报文,则发送一个该探测报文对应的反馈信息。可以理解的是,这仅是一种示例,第二网络设备也可以使用其他方式来发送第一反馈信息,例如收到多个探测报文之后,在同一个消息中携带在多个探测报文对应的反馈信息。In this embodiment, each time the second network device receives a detection packet, it may send a piece of feedback information corresponding to the detection packet. It can be understood that this is only an example, and the second network device can also use other methods to send the first feedback information. For example, after receiving multiple probe packets, the same message can be carried in multiple probe packets. corresponding feedback information.
S240,第三网络设备发送第一反馈信息。S240, the third network device sends the first feedback information.
可以理解的是,第一网络设备至第二网络设备的传输路径与第二网络设备至第一网络设备的传输路径可以相同,也可以不同。也就是说,该步骤中的第三网络设备与S220中的第三网络设备可以是相同的设备,也可以是不同的设备。It can be understood that the transmission path from the first network device to the second network device and the transmission path from the second network device to the first network device may be the same or different. That is to say, the third network device in this step and the third network device in S220 may be the same device, or may be different devices.
例如,第一网络设备至第二网络设备的传输路径与第二网络设备至第一网络设备的传输路径不同时,该步骤中的第三网络设备与S220中的第三网络设备是不同的设备。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 and the third network device in S220 are different devices .
在一些实现方式中,第三网络设备可以将反馈信息看作数据报文来发送。也就是说,第三网络设备转发反馈信息的方式与转发数据报文的方式或资源可以相同。In some implementation manners, the third network device may send the feedback information as a data packet. That is, the manner in which the third network device forwards the feedback information may be the same as the manner or resource for forwarding the data packet.
第二网络设备至第一网络设备的传输路径上可以包含一个或多个第三网络设备。若第二网络设备至第一网络设备的传输路径上包含一个第三网络设备,则该第三网络设备发送第一反馈信息之后,第一网络设备接收第一反馈信息;若第二网络设备至第一网络设备的传输路径上包含多个第三网络设备,则每个第三网络设备接收到上一跳设备发送的第一反馈信息之后,向下一跳设备转发第一反馈信息,直到第一网络设备接收到第一反馈信息。One or more third network devices may be included on the transmission path from the second network device to the first network device. If the transmission path from the second network device to the first network device includes a third network device, after the third network device sends the first feedback information, the first network device receives the first feedback information; if the second network device to The transmission path of the first network device includes multiple third network devices. After receiving the first feedback information sent by the previous hop device, each third network device forwards the first feedback information to the next hop device until the third network device receives the first feedback information sent by the previous hop device. A network device receives the first feedback information.
S250,第一网络设备基于所述第一反馈信息,发送第一数据报文。其中,第一数据报文的源设备为所述第一网络设备,所述第一数据报文的目的设备为所述第二网络设备。S250, the first network device sends a first data packet based on the first feedback information. The source device of the first data packet is the first network device, and the destination device of the first data packet is the second network device.
通常来说,第一数据报文所经过的路径与第一探测报文所经过的路径是相同的。因此第一网络设备发送第一数据报文之后,将第一数据报文从第一网络设备转发至第二网络设备的第三网络设备,与将第一探测报文从第一网络设备转发至第二网络设备的第三网络设备是一致的。Generally speaking, the path traversed by the first data packet is the same as the path traversed by the first probe packet. Therefore, after the first network device sends the first data packet, it forwards the first data packet from the first network device to the third network device of the second network device, and forwards the first detection packet from the first network device to the third network device of the second network device. The third network device of the second network device is identical.
S260,第三网络设备接收数据报文,并转发数据报文,该数据报文中包括第一数据报文。S260, the third network device receives the data packet, and forwards the data packet, where the data packet includes the first data packet.
通常情况下,该步骤的第三网络设备为S220中的第三网络设备,即第一数据报文所经过的路径与第一探测报文所经过的路径相同。Usually, 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 detection packet.
第三网络设备发送数据报文后,第二网络设备可以接收该数据报文中的第一数据报文。After the third network device sends the data packet, the second network device may receive the first data packet in the data packet.
本实施例中,通过预先发送探测报文来感知通信网络的网络状况,并指导数据报文的发送,从而使得数据报文通道不会发生拥塞和丢包,即实现了“先知先觉”的无损拥塞控制。In this embodiment, the network status of the communication network is sensed by sending probe packets in advance, and the sending of data packets is guided, so that congestion and packet loss will not occur on the data packet channel, that is, the lossless "foresight" is achieved. congestion control.
本申请的实施例中,可以采用多种方式将探测报文和数据报文的传输隔离开。In the embodiment of the present application, the transmission of the probe packet and the data packet may be isolated in various manners.
在一些方式中,第三网络设备可以按照一定的比例在同一物理链路中为用于发送探测报文的探测通道和用于发送数据报文的数据通道分配带宽,以在逻辑上对两类通道进行隔离,从而在逻辑上对探测报文和数据报文进行隔离。例如,该比例可以是探测报文和数据报文各自包长在这两类报文总包长中占的比例。In some manners, the third network device may allocate bandwidth for the probe channel for sending probe packets and the data channel for sending data packets in the same physical link according to a certain ratio, so as to logically allocate bandwidth to the two types of data packets. The channel is isolated, so as to logically isolate probe packets and data packets. For example, the ratio may be the ratio of the respective packet lengths of probe packets and data packets to the total packet lengths of these two types of packets.
在另一些方式中,源设备可以通过构建独立信令网络的方式来传输探测报文,以实现探测报文和数据报文的物理隔离。In other manners, the source device may transmit the probe packet by constructing an independent signaling network, so as to realize the physical isolation of the probe packet and the data packet.
采用逻辑隔离的方式传输探测报文和数据报文的一个示例中,第三网络设备可以使用第一比例的带宽发送探测报文,该探测报文中包括所述第一探测报文,并且,第三网络设备使用第二比例的带宽发送数据报文,该数据报文中包括第一数据报文。In an example in which the probe packet and the data packet are transmitted in a logically isolated manner, the third network device may use the bandwidth of the first proportion to send the probe packet, where the probe packet includes the first probe packet, and, The third network device uses the bandwidth of the second ratio to send a data packet, where the data packet includes the first data packet.
第一比例和第二比例可以是预先设置好的。也就是说,第三网络设备上使用多大比例的带宽来发送探测报文和使用多大比例的带宽来发送数据报文是预先设置好的。The first ratio and the second ratio may be preset. That is to say, the proportion of the bandwidth used by the third network device to send the probe packets and the proportion of the bandwidth used to send the data packets are preset.
在一些可能的实现方式中,第三网络设备上的第一比例和第二比例可以基于探测报文和数据报文的大小来设置。In some possible implementations, the first ratio and the second ratio on the third network device may be set based on the sizes of the probe packets and the data packets.
例如,以最小以太帧84字节构建探测报文,并驱动源设备以最大以太帧1538字节来传输数据报文的场景下,第三网络设备可以为探测报文分配的带宽占该第三网络设备的总带宽的比例约为:84/(84+1538)≈5%为数据报文分配的带宽占总带宽的比例约为95%。For example, in the scenario where a probe packet is constructed with a minimum Ethernet frame of 84 bytes, and the source device is driven to transmit data packets with a maximum Ethernet frame of 1538 bytes, the bandwidth allocated by the third network device for the probe packet accounts for the third The ratio of the total bandwidth of the network device is about: 84/(84+1538)≈5% The ratio of the bandwidth allocated for the data message to the total bandwidth is about 95%.
图3为本申请一个实施例按比例发送探测报和数据报文的方法的示意图。如图3所示,源主机310与目的主机320之间的中间节点330可以预留5%的带宽来发送探测报文,并使用其余95%的带宽来发送数据报文。不论中间节点330当前的可用带宽为多少,都仅能使用可用带宽中的5%来发送探测报文,且仅能使用可用带宽中的95%来发送数据报文。FIG. 3 is a schematic diagram of a method for proportionally sending probe packets and data packets 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 send probe packets, and use the remaining 95% of the bandwidth to send data packets. No matter how much the current available bandwidth of the intermediate node 330 is, it can only use 5% of the available bandwidth to send probe packets, and can only use 95% of the available bandwidth to send data packets.
若中间节点330的出端口的带宽为10吉比特每秒(Gbps),则中间节点330使用9.5Gbps的带宽来发送数据报文,使用0.5Gbps的带宽来发送探测报文。其中,若源主机310发送第一探测报文的速率为1Gbps,则说明第一探测报文的传输数量过快(包间隔过小),此时,中间节点330会对出端口的第一探测报文进行限速。If the bandwidth of the outgoing port of the intermediate node 330 is 10 gigabits per second (Gbps), the intermediate node 330 uses a bandwidth of 9.5 Gbps to send data packets and a bandwidth of 0.5 Gbps to send probe packets. Wherein, if the rate at which the source host 310 sends the first detection packet is 1 Gbps, it means that the transmission quantity of the first detection packet is too fast (the packet interval is too small). The packet rate is limited.
具体地,中间节点330会将第一探测报文的传输速率限制在0.5Gbps,即500兆比特每秒(Mbps)。500Mbps的传输速率刚好是第一探测报文的最佳传输速率。目的主机320 接收到中间节点330按照500Mbps的传输速率传输的探测报文之后,向源主机310发送第一反馈信息。源主机310接收第一反馈信息之后,可以根据第一反馈信息获知中间节点330的负载情况,即当前网络恰好可以将传输速率为500Mbps的第一探测报文传输至目的主机320。根据第一比例5%与第二比例95%的比例,可知当前网络恰好可以将使用9.5Gbps的速率发送第一数据报文最好,这样可以在不丢包无拥塞的情况下充分利用网络资源。Specifically, the intermediate node 330 will limit the transmission rate of the first probe packet to 0.5 Gbps, that is, 500 megabits per second (Mbps). The transmission rate of 500 Mbps is just the optimal transmission rate of the first probe packet. After receiving the probe packet transmitted by the intermediate node 330 at a transmission rate of 500 Mbps, the destination host 320 sends the first feedback information to the source host 310 . After receiving the first feedback information, the source host 310 can learn the load of the intermediate node 330 according to the first feedback information, that is, the current network can just transmit the first probe packet with a transmission rate of 500 Mbps to the destination host 320 . According to the ratio of the first ratio of 5% and the second ratio of 95%, it can be seen that the current network can just use the rate of 9.5Gbps to send the first data packet, so that the network resources can be fully utilized without packet loss and congestion. .
中间节点按照一定比例的带宽来发送探测报文和数据报文的场景下,在一些实现方式中,第三网络设备可以使用第一比例以外的带宽来发送第一反馈信息。例如,第一反馈信息是基于第一探测报文修改得到探测报文的情况下,第三网络设备可以基于该探测报文中的回程标识确定该探测报文为第二网络设备反馈给第一网络设备的,因此使用用于发送数据报文的带宽发送该探测报文。In a scenario where the intermediate node sends the probe packet and the data packet according to a certain proportion of bandwidth, in some implementation manners, the third network device may use a bandwidth other than the first proportion to send the first feedback information. For example, in the case where the first feedback information is a probe packet obtained by modifying the first probe packet, the third network device may determine, based on the backhaul identifier in the probe packet, that the probe packet is fed back by the second network device to the first probe packet. of the network device, so the probe packet is sent using the bandwidth used to send the data packet.
本申请的实施例中,第一网络设备首轮发送第一探测报文时,可以采用相对激进的方式来发包。这样可以充分利用网络资源。In the embodiment of the present application, when the first network device sends the first detection packet in the first round, it may send the packet in a relatively aggressive manner. In this way, network resources can be fully utilized.
通常来说,第一网络设备首轮发送第一探测报文时,第一探测报文的发送速率可以高于第一网络设备上的应用的带宽需求。例如,第一探测报文的发送速率可以初始化为应用带宽需求的1.5倍。Generally speaking, when the first network device sends the first probe packet in the first round, the sending rate of the first probe packet may be higher than the bandwidth requirement of the application on the first network device. For example, the sending rate of the first probe packet may be initialized to be 1.5 times the bandwidth requirement of the application.
本申请的实施例中,在第一探测报文的非首轮发送过程中,第一网络设备可以对第一探测报文的发送速率进行调节,以达到对第一探测报文的发送速率的控制的目的,从而达到对第一数据报文的发送速率的控制的目的,进而达到网络拥塞的控制的目的。In the embodiment of the present application, during the non-first-round sending process of the first detection packet, the first network device may adjust the transmission rate of the first detection packet, so as to achieve a higher transmission rate of the first detection packet. The purpose of control, so as to achieve the purpose of controlling the sending rate of the first data packet, thereby achieving the purpose of controlling network congestion.
在一些调节第一探测报文的发送速率的实现方式中,若将第一网络设备当前发送第一探测报文所使用的速率称为第三速率,则第一网络设备可以获取第一网络设备使用第三速率发送第一探测报文时的第一丢包率,并根据第一丢包率确定第二速率和基于第二速率发送第一探测报文。In some implementation manners of adjusting the sending rate of the first probe packet, if the current rate used by the first network device to send the first probe packet is called the third rate, the first network device can obtain the first probe packet. The first packet loss rate when the first detection packet is sent at the third rate is used, the second rate is determined according to the first packet loss rate, and the first detection packet is sent based on the second rate.
本申请的实施例中,可以使用结构-行为-绩效(structure-conduct-performance,SCP)策略,基于第三速率和第一丢包率获得第二速率。例如,可以采用SCP策略中的基于在线学习的拥塞控制方法。In the embodiments of the present application, a structure-conduct-performance (SCP) strategy may be used to obtain the second rate based on the third rate and the first packet loss rate. For example, the online learning-based congestion control method in the SCP strategy can be adopted.
SCP策略中,第一网络设备可以实时基于当前的传输速率r C和丢包率l计算效用函数f w,b(r C,l),并根据效用函数的变化方向(增大或减小)来调整第一探测报文的传输速率的变化方向(增大或减小),即增加第三速率以得到第二速率还是减少第三速率以得到第二速率。 In the SCP strategy, the first network device can calculate the utility function fw ,b (r C ,l) based on the current transmission rate r C and the packet loss rate l in real time, and according to the change direction of the utility function (increase or decrease) to adjust the change direction (increase or decrease) of the transmission rate of the first probe packet, that is, increase the third rate to obtain the second rate or decrease the third rate to obtain the second rate.
效用函数f w,b(r C,l)的一种示例如下: An example of a utility function f w,b (r C ,l) is as follows:
Figure PCTCN2021108785-appb-000001
Figure PCTCN2021108785-appb-000001
其中,s、a,b和w为参数,具体数值可以通过在线学习获得;r P表示上一周期的探测报文的发送速率,l 0表示目标丢包率。 Among them, s, a, b and w are parameters, and the specific values can be obtained through online learning; r P represents the sending rate of probe packets in the previous cycle, and l 0 represents the target packet loss rate.
本申请的实施例中,可以基于第一丢包率和/或第二速率判断第一探测报文的传输即将是处于轻载模式还是处于重载模式。例如,若第二速率大于预设的速率阈值,则认为第一探测报文的传输即将处于轻载模式,否则认为即将处于重载模式。又如,若第一丢包率小于预设的丢包率阈值,则认为第一探测报文的传输即将处于轻载模式,否则认为第一探测报文的传输即将处于重载模式。In the embodiment of the present application, it may be determined whether the transmission of the first probe packet is about to be in a light-load mode or a heavy-load mode 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, it is considered that the transmission of the first detection packet is about to be in a light-load mode, otherwise, it is considered that it is about to be in a heavy-load mode. For another example, if the first packet loss rate is less than the preset packet loss rate threshold, it is considered that the transmission of the first detection packet is about to be in a light-load mode; otherwise, it is considered that the transmission of the first detection packet is about to be in a heavy-load mode.
若第一探测报文的传输即将处于轻载模式,则使用第二速率发送第一探测报文;若第一探测报文的传输即将处于重载模式,则使用预设的目标速率发送第一探测报文。If the transmission of the first detection packet is about to be in the light-load mode, the first detection packet is sent at the second rate; if the transmission of the first detection packet is about to be in the heavy-load mode, the first detection packet is sent at the preset target rate Probe packets.
在一些实现方式中,设置的目标速率应满足如下条件:第一网络设备至第二网络设备的传输路径上的第三网络设备转发的探测报文仅包含第一探测报文时,第一网络设备使用所述目标速率在指定时长内能够将指定数量的第一探测报文从第一网络设备成功传输至第二网络设备。这样可以使得第一探测报文的发送从轻载模式切换至重载模式时,例如,第三速率大于目标速率而第二速率小于或等于目标速率时,由于不降速发送第一探测报文,因此可以避免第一探测报文的断流,从而可以避免第一数据报文的断流。尤其在多个源设备高速同时发送数据报文的情况下,可以避免断流问题。In some implementations, the set target rate should meet the following conditions: when the probe packet forwarded by the third network device on the transmission path from the first network device to the second network device only includes the first probe packet, the first network device The device can successfully transmit a specified number of first probe packets from the first network device to the second network device within a specified period of time using the target rate. In this way, when the transmission of the first detection packet 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 packet is not sent at a reduced speed. , so that the interruption of the flow of the first detection packet can be avoided, so that the interruption of the flow of the first data packet can be avoided. Especially when multiple source devices send data packets at high speed at the same time, the problem of current interruption can be avoided.
在一些实现方式中,多个源设备中所有源设备的探测报文的目标速率可以相同。这可是实现这些源设备的探测报文的发送速率的公平收敛。In some implementation manners, the target rates of probe packets of all source devices in the multiple source devices may be the same. This is to achieve fair convergence of the sending rates of probe packets of these source devices.
在一些实现方式中,预设的速率阈值可以等于预设的目标速率,这使得第一网络设备从轻载模式切换到重载模式时,可以实现第一探测报文的传输速率的快速收敛。In some implementations, the preset rate threshold may be equal to the preset target rate, which enables the first network device to achieve rapid convergence of the transmission rate of the first probe packet when switching from the light-load mode to the heavy-load mode.
在轻载模式下,基于第三速率和第一丢包率获得第二速率之后,可以基于第二速率和预设的目标速率来判断是继续保持轻载模式,还是切换至重载模式。In the light load mode, after obtaining the second rate based on the third rate and the first packet loss rate, it may be determined whether to continue to maintain the light load mode or switch to the heavy load mode based on the second rate and the preset target rate.
本申请的实施例的一些实现方式中,第一网络设备可以根据第三速率判断第一探测报文的发送已处于轻载模式还是重载模式。例如,若第三速率大于预设的速率阈值,则说明当前处于轻载模式,否则说明书当前已处于重载模式。In some implementation manners of the embodiments of the present application, the first network device may determine, according to the third rate, whether the transmission of the first probe packet has been in a light-load mode or a heavy-load mode. For example, if the third rate is greater than the preset rate threshold, it means that it is currently in the light-load mode; otherwise, the specification is currently in the heavy-load mode.
若当前处于轻载模式,则使用调整得到的第二速率发送第一探测报文;若处于重载模式,则使用预设的目标速率发送第一探测报文。该实现方式中的速率阈值和目标速率的特性可以参考前述速率阈值和目标速率的相关内容。If it is currently in the light load mode, the first detection packet is sent using the adjusted second rate; if it is in the heavy load mode, the first detection packet is sent using the preset target rate. For the characteristics of the rate threshold and the target rate in this implementation manner, reference may be made to the foregoing related content of the rate threshold and the target rate.
本申请的实施例的一些实现方式中,第一网络设备在获取第一丢包率之后,可以先基于第一丢包率和预设的丢包率阈值判断是继续使用该目标速率发送第一探测报文还是对第三速率进行调整以及使用调整得到的第二速率来发送第一探测报文。In some implementations of the embodiments of the present application, after acquiring the first packet loss rate, the first network device may first determine whether to continue using the target rate to send the first packet loss rate based on the first packet loss rate and a preset packet loss rate threshold. The probe packet still adjusts the third rate and uses the adjusted second rate to send the first probe packet.
也就是说,根据第一丢包率判断使用第三速率传输第一探测报文之后,第一探测报文的传输当前处于轻载模式还是重载模式,若当前处于轻载模式,则使用调整得到的第二速率发送第一探测报文;若当前处于重载模式,则使用预设的目标速率发送第一探测报文。这样可以充分利用网络资源来发送探测报文,从而可以充分利用网络资源来发送数据报文。That is to say, according to the first packet loss rate, after judging that the first detection packet is transmitted at the third rate, whether the transmission of the first detection packet is currently in the light-load mode or the heavy-load mode, if it is currently in the light-load mode, use the adjustment The obtained second rate is used to send the first detection packet; if currently in the overload mode, the first detection packet is transmitted using the preset target rate. In this way, network resources can be fully utilized to send detection packets, and thus network resources can be fully utilized to transmit data packets.
在该实现方式中,对第三速率进行调整,以得到第二速率时,可以使用SCP策略来基于第三速率和第一丢包率获得第二速率,获取方式可以参考前述方式。In this implementation manner, 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 reference may be made to the foregoing manner for the acquisition method.
其中,可选地,第一丢包率可以等于效用函数中的参数l 0。这使得第一网络设备切换至轻载模式时,可以继续第一探测报文的传输速率的迭代收敛过程,以及实现第一探测报文的快速公平收敛。 Wherein, optionally, the first packet loss rate may be equal to the parameter l 0 in the utility function. This enables the first network device to continue the iterative convergence process of the transmission rate of the first probe packet when the first network device switches to the light-load mode, and realize fast and fair convergence of the first probe packet.
本申请实施例的一些实现方式中,第二网络设备每收到一个第一探测报文,则发送一个第一反馈信息,第一反馈信息的目的设备为第一网络设备,第一反馈信息的源设备为第二网络设备。例如,第一反馈信息可以是对第一探测报文的目的地址和源地址进行交换修改得到的探测报文。该实现方式中,第一网络设备每收到一个第一反馈信息,则发送一个第一数据报文。In some implementations of the embodiments of the present application, each time the second network device receives a first probe packet, it sends a piece of first feedback information, the destination device of the first feedback information is the first network device, and the The source device is the second network device. For example, the first feedback information may be a probe packet obtained by exchanging and modifying the destination address and source address of the first probe packet. In this implementation manner, each time the first network device receives a piece of first feedback information, it sends a first data packet.
该实现方式中,第二网络设备能够成功接收一个第一探测报文,则就相应地能够成功 接收一个第一数据报文。因此,该实现方式可以避免第一数据报文引起的拥塞以及第一数据报文的丢包。In this implementation manner, if the second network device can successfully receive a first detection packet, it can accordingly successfully receive a first data packet. Therefore, this implementation manner can avoid congestion caused by the first data packet and packet loss of the first data packet.
本申请实施例的一些实现方式中,源主机的操作系统内核需要进行相应修改,写入新的传输层协议,例如可以写入与传统的传输控制协议(transmission control protocol,TCP,)、用户数据报协议(user datagram protocol,UDP)等传输层协议并列的协议。In some implementations of the embodiments of the present application, the operating system kernel of the source host needs to be modified accordingly, and a new transport layer protocol can be written, for example, a traditional transmission control protocol (transmission control protocol, TCP,), user data A protocol in which transport layer protocols such as user datagram protocol (UDP) are juxtaposed.
另外,中间节点也需要在软件层面进行相关的修改,例如,中间节点需要为探测报文预留一定的缓存来存放探测报文的突发,且中间节点的出端口需要预留一定比例的带宽专门用来发送探测报文,对超过该预留带宽的探测报文进行丢弃;正常的数据报文可以使用一定比例的带宽来发送,例如,使用为探测报文预留带宽之外的链路带宽来传输数据报文。In addition, the intermediate node also needs to make relevant modifications at the software level. For example, the intermediate node needs to reserve a certain buffer for the detection packet to store the burst of the detection packet, and the outbound port of the intermediate node needs to reserve a certain proportion of bandwidth. It is specially used to send probe packets, and the probe packets that exceed the reserved bandwidth are discarded; normal data packets can be sent using a certain percentage of bandwidth, for example, using a link other than the bandwidth reserved for probe packets. bandwidth to transmit data packets.
由于探测报文经过了中间节点的速率调整,因此在以探测报文速率为指导的数据报文传输速率恰好合适。这样,通过源主机与中间节点的相互协作,可以实现数据报文的无损传输,即无丢包传输。Since the probe packet is adjusted by the rate of the intermediate node, the data packet transmission rate guided by the probe packet rate is just right. In this way, through the cooperation between the source host and the intermediate node, lossless transmission of data packets, that is, transmission without packet loss, can be realized.
本申请的技术方案,可以用于低时延网络的高并发数据流的拥塞控制。在一些示例中,引入双拥塞信号,分别在轻载和重载模式下用于对第一探测报文的传输速率的调整。例如,根据第一探测报文的传输速率是否低至预设的速率阈值来决定是否从轻负载模式切换到重负载模式;通过判断当前第一探测报文的丢包率是否低至预设的丢包率阈值来决定拥塞控制是否从重负载模式切换至轻负载模式。The technical solution of the present application can be used for congestion control of high concurrent data streams in a low-latency network. In some examples, dual congestion signals are introduced to adjust the transmission rate of the first probe packet in light-load and heavy-load modes, respectively. For example, whether to switch from the light-load mode to the heavy-load mode is determined according to whether the transmission rate of the first detection packet is lower than a preset rate threshold; by judging whether the current packet loss rate of the first detection packet is lower than the preset rate threshold The packet loss rate threshold determines whether congestion control switches from heavy load mode to light load mode.
本申请的一个拥塞控制示例中,某个源主机有数据要传输时,首先根据初始化的速率,等间隔地在控制通道中传输探测报文,直至收到目的主机回传的探测包为止。首轮数据传输之后,源主机接下来的数据传输过程中,数据报文的发送速率会基于探测报文的发送速率和接收情况来调控,而探测报文的发送速率则以RTT为周期,以探测报文的丢包率来调控。In an example of congestion control in the present application, when a source host has data to transmit, it first transmits probe packets in the control channel at equal intervals according to the initialization rate until it receives probe packets returned by the destination host. After the first round of data transmission, in the next data transmission process of the source host, the sending rate of data packets will be regulated based on the sending rate and receiving conditions of probe packets, while the sending rate of probe packets is based on the RTT period, with The packet loss rate of detection packets is regulated.
例如,源主机将计时器初始化为零,并且源主机每接收一个探测报文则发送一个数据报文,同时更新计时器的时间t以及探测报文的丢包率l。之后,源主机比较当前计时时间域RTT的大小。For example, the source host initializes the timer to zero, and each time the source host receives a probe packet, it sends a data packet, and at the same time updates the timer time t and the packet loss rate l of the probe packet. After that, the source host compares the size of the current time domain RTT.
如果计时器时间t没有达到一个RTT的时长,则继续循环执行“接收探测报文-发送数据报文-更新计时器-更新探测报文丢包率”的操作;如果计时器时间t达到了一个RTT的时长,则比较当前探测报文的发送速率r C与目标速率r 0的大小,以判断是否进入重负载模式。 If the timer time t does not reach the duration of one RTT, continue to execute the operation of "receive the probe packet - send the data packet - update the timer - update the packet loss rate of the probe packet"; if the timer time t reaches a The duration of the RTT is compared with the size of the current detection packet sending rate r C and the target rate r 0 to determine whether to enter the heavy load mode.
如果r C>r 0,则执行轻载模式的拥塞控制方法,即根据指定的算法提高或降低下一轮的探测报文发送速率,并重置报文丢包率l和计时器的时间t;反之,则进入重载拥塞控制模式。 If r C >r 0 , implement the congestion control method in light load mode, that is, increase or decrease the sending rate of probe packets in the next round according to the specified algorithm, and reset the packet loss rate l and timer time t ; otherwise, it enters the overload congestion control mode.
重载拥塞控制模式下,源主机以固定的速率r 0发送探测报文。此模式下,探测报文的发送速率不会进行调整,源主机始终按照r 0的速率等间隔地发送探测报文。同样,源主机循环执行“接收探测报文-发送数据报文-更新计时器-更新探测报文丢包率”的操作。当计时器时间t达到一个RTT时长后,源主机比较当前探测报文丢包率l与预设丢包率阈值l 0的大小,以判断是否切换回轻负载拥塞控制模式。 In overload congestion control mode, the source host sends probe packets at a fixed rate r 0 . In this mode, the sending rate of probe packets will not be adjusted, and the source host always sends probe packets at equal intervals at the rate of r 0 . Similarly, the source host cyclically executes the operations of "receiving probe packets - sending data packets - updating the timer - updating the packet loss rate of probe packets". When the timer time t reaches an RTT duration, the source host compares the current detection packet loss rate 1 with the preset packet loss rate threshold 1 0 to determine whether to switch back to the light-load congestion control mode.
如果l<l 0,则切换回之前的轻负载拥塞控制模式,并根据指定的拥塞控制算法调整探测报文的发送速率;否则,持续重载模式的拥塞控制流程,即继续以固定的速率r 0等间隔地发送探测报文,并重置探测报文丢包率l和计时器时间t。 If l<l 0 , switch back to the previous light-load congestion control mode, and adjust the sending rate of probe packets according to the specified congestion control algorithm; otherwise, continue the congestion control process in the heavy-load mode, that is, continue at a fixed rate r 0 sends probe packets at equal intervals, and resets the probe packet loss rate l and timer time t.
第三网络设备会预留一部分链路带宽专门用来传输源主机至目的主机的探测报文。当第三网络设备接收到数据时,先进行解析和判断。如果判断该数据为源主机至目的主机的探测报文,则使用预留链路带宽对该报文进行传输,否则使用非预留的链路带宽进行数据的传输。The third network device reserves a part of the link bandwidth for transmitting the probe packets from the source host to the destination host. When the third network device receives the data, it first performs analysis and judgment. If it is determined that the data is a probe packet from the source host to the destination host, the packet is transmitted using the reserved link bandwidth; otherwise, the data is transmitted using the unreserved link bandwidth.
目的主机一旦收到源主机发送的报文,则进行解析和判断。如果判断该报文为探测报文,则更改报文的源目的地址,将该探测报文回传给源主机。如果该报文为数据报文,则进行正常的解析处理操作。Once the destination host receives the message sent by the source host, it will parse and judge. If it is determined that the packet is a detection packet, the source and destination addresses of the packet are changed, and the detection packet is sent back to the source host. If the packet is a data packet, normal parsing and processing operations are performed.
为保证目的主机回传给源主机的探测报文能够顺利回传给源主机,第三网络设备可以额外提高该探测报文的传输优先级。In order to ensure that the detection packet returned by the destination host to the source host can be smoothly transmitted back to the source host, the third network device may additionally increase the transmission priority of the detection packet.
图4为本申请一个实施例的网络拥塞的控制方法的示例性流程图。例如,低时延网络中可以应用如图4所示的网络拥塞的控制方法。FIG. 4 is an exemplary flowchart of a method for controlling network congestion according to an embodiment of the present application. For example, in a low-latency network, the network congestion control method shown in FIG. 4 can be applied.
下面详细介绍该控制方法的各个步骤。该控制方法可以由源主机执行,从数据传输的开始时刻执行,直至数据传输完毕。Each step of the control method is described in detail below. The control method can be executed by the source host from the start of data transmission until the data transmission is completed.
S401,源主机需要传输数据。S401, the source host needs to transmit data.
S402,判断该轮数据传输是否为首轮传输,并根据判断结果进入不同分支步骤。如果该次传输为首轮数据传输,进入S403;如果该次传输不是首轮数据传输,进入S404。S402, determine whether the round of data transmission is the first round of transmission, and enter into different branch steps according to the judgment result. If the transmission is the first round of data transmission, go to S403; if the transmission is not the first round of data transmission, go to S404.
S403,初始化探测报文的首轮发送速率。例如,可以将探测报文的首轮发送速率初始化为应用带宽需求的1.5倍。S403: Initialize the first-round sending rate of the detection packet. For example, the first-round sending rate of probe packets can be initialized to 1.5 times the bandwidth requirement of the application.
S404,以初始速率发送探测报文。例如以初始速率等间隔地在控制通道中发送探测报文。其中发送探测报文的逻辑通道称为控制通道。S404, sending a detection packet at an initial rate. For example, probe packets are sent on the control channel at equal intervals at the initial rate. The logical channel for sending probe packets is called the control channel.
S405,源主机判断是否收到目的主机回传的探测报文,并根据判断结果进入不同分支步骤。如果收到了目的主机回传的探测报文,则首轮传输结束,进入S406;如果未收到目的主机回传的探测报文,则进入S404,继续首轮探测报文的传输。S405, the source host judges whether the detection packet returned by the destination host is received, and enters different branch steps according to the judgment result. If the detection packet returned by the destination host is received, the first round of transmission is completed, and the process proceeds to S406; if the detection packet returned by the destination host is not received, the process proceeds to S404, and the transmission of the first round of detection packets is continued.
首轮传输之后,可以进行探测报文与数据报文的传输速率调节。其中,数据报文的传输速率根据回传的探测报文速率来调节;而探测报文的传输速率调节则以保证多个不同流(例如来自多个不同源主机)的探测报文的发送速率可以在共享瓶颈链路上实现公平性收敛为目的。例如,探测报文的发送速率可以以RTT为周期来调节。After the first round of transmission, the transmission rate of probe packets and data packets can be adjusted. Among them, the transmission rate of data packets is adjusted according to the rate of returned probe packets; and the transmission rate of probe packets is adjusted to ensure the transmission rate of probe packets from multiple different streams (for example, from multiple different source hosts). The purpose of fairness convergence can be achieved on the shared bottleneck link. For example, the sending rate of the probe packets can be adjusted at the RTT cycle.
S406,初始化目标速率r 0和初始化目标丢包率l 0。本实施例中的目标丢包率也可以称为丢包率阈值。 S406, initialize the target rate r 0 and initialize the 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,根据上轮的反馈信息计算本轮探测报文的发送速率r C。例如,根据上轮探测报文的发送速率和丢包率l获取本轮探测报文的发送速率r CS407: Calculate the sending rate r C of the detection packet 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 packets is obtained according to the transmission rate and packet loss rate l of the previous round of detection packets.
轻负载模式下,可以依据效用函数的取值变化来调整探测报文的发送速率。具体地,可以计算效用函数取值,并根据效用函数变化按照SCP方案调整探测报文的发送速率。In light load mode, the sending rate of probe packets can be adjusted according to the value of the utility function. Specifically, the value of the utility function can be calculated, and the sending rate of the probe packet can be adjusted according to the SCP scheme according to the change of the utility function.
S408,设置计时器t=0和设置探测报文的丢包率l=0。S408 , setting the timer t=0 and setting the packet loss rate l=0 of the detection packet.
S409,比较计算的探测报文发送速率r C与目标速率r 0的大小,并根据比较结果进入不同分支。如果r C>r 0,则进入步骤S410,即轻载模式;如果r C≤r 0,则进入步骤S414,即重载模式的速率调节。 S409 , compare the size of the calculated probe packet sending rate r C and the target rate r 0 , and enter different branches according to the comparison result. If r C >r 0 , go to step S410 , that is, the light-load mode; if r C ≦r 0 , go to step S414 , that is, the rate adjustment of the heavy-load mode.
S410,使用最新计算得到的r C发送探测报文。 S410, using the latest calculated r C to send a detection packet.
S411,每接收到一个回程探测报文,发送一个数据报文。S411, each time a backhaul detection packet is received, a data packet is sent.
S412,记录本次与上次收到回传探测包的时间间隔Δt,并更新计时器t=t+Δt;并且,根据回程探测报文的序号更新探测报文丢包率l。S412 , record the time interval Δt between the current and last time when the backhaul probe packet is received, and update the timer t=t+Δt; and update the probe packet loss rate l according to the sequence number of the backhaul probe packet.
S413,判断当前计时器时长是否达到RTT大小,并根据判断结果进入不同分支步骤。如果计时器时长达到RTT大小,则进入S414,即轻载模式的速率调节。如果计时器时长没有达到RTT大小,则继续S410。S413, determine whether the current timer duration reaches the RTT size, and enter different branch steps according to the determination result. If the timer duration reaches the RTT size, enter S414, that is, the rate adjustment in the light load mode. If the timer duration does not reach the RTT size, continue to S410.
S414,以固定的目标速率r 0发送探测报文。由于以固定的发送速率探测报文,不进行发送速率的调整,因此,天然满足公平性收敛。 S414 , send a probe packet at a fixed target rate r 0 . Since packets are detected at a fixed sending rate, and the sending rate is not adjusted, fairness convergence is naturally satisfied.
S415,每收到一个回传的探测报文,发送一个数据报文。S415, each time a returned probe packet is received, a data packet is sent.
S416,更新探测报文丢包率l,更新计时器t=t+Δt。S416, update the detection packet loss rate l, and update the timer t=t+Δt.
S417,判断当前计时器时长是否达到RTT大小,并根据判断结果进入不同分支步骤。如果计时器时长达到RTT大小,则进入S418;如果计时器时长没有达到RTT大小,则进入S414。S417, determine whether the current timer duration reaches the RTT size, and enter into different branch steps according to the determination result. If the timer duration reaches the RTT size, proceed to S418; if the timer duration does not reach the RTT size, proceed to S414.
S418,判断l<l0,即判断是否切换轻重负载模式。具体地,比较本轮探测报文的丢包率l与目标丢包率l0的大小,并根据比较结果进入不同分支步骤。如果l<l0则进入S407,即进行轻载模式的速率调控;如果l≥l0则进入S419。S418, it is determined that l<l0, that is, it is determined whether to switch the light and heavy load mode. Specifically, compare the packet loss rate l of the current round of detection packets and the target packet loss rate l0, and enter different branch steps according to the comparison result. If l<l0, go to S407, that is, the rate control of the light load mode is performed; if l≥l0, go to S419.
S419,设置计时器t=0和设置探测报文的丢包率l=0,并继续执行S414,继续重载模式的速率调控。S419 , set the timer t=0 and set the packet loss rate l=0 of the detection packet, and continue to perform S414 to continue the rate control in the reload mode.
S407至S419在首轮传输结束之后持续执行,直至整个源端到目的端的数据传输过程结束为止。S407 to S419 are continuously executed after the first round of transmission ends until the entire data transmission process from the source end to the destination end ends.
本实施例中,经过探测报文的提前预演传输,数据报文的传输速率可以保证充分利用网络带宽同时保证绝对无丢包。其中,轻载模式下,SCP策略的调控算法可以实现快速公平收敛;重载模式下,所有源节点按照统一的速率发送探测报文,天然满足公平性收敛,进一步提高了策略的整体公平性收敛速度。另外,重负载模式切换回轻负载模式的判定条件是l≥l0,而轻载模式速率调控的收敛点是l=0,因此切换回轻载模式之后整个策略会继续进行速率的迭代调整,模式切换不会破坏轻载模式的公平性收敛过程。In this embodiment, after the pre-rehearsal transmission of the detection packets, the transmission rate of the data packets can ensure that the network bandwidth is fully utilized and absolutely no packet loss is ensured. Among them, in the light-load mode, the control algorithm of the SCP policy can achieve fast and fair convergence; in the heavy-load mode, all source nodes send probe packets at a uniform rate, which naturally satisfies the fairness convergence and further improves the overall fairness convergence of the policy. speed. In addition, the criterion for switching from heavy load mode to light load mode is l≥l0, while the convergence point of rate regulation in light load mode is l=0. Therefore, after switching back to light load mode, the whole strategy will continue to iteratively adjust the rate. Switching does not break the fairness convergence process in light-load mode.
本申请网络拥塞的控制方法的另一个实施例的示意性流程图如图5所示。例如,低时延网络中可以应用图5所示的控制方法。A schematic flowchart of another embodiment of the method for controlling network congestion of the present application is shown in FIG. 5 . For example, the control method shown in FIG. 5 can be applied in a low-latency network.
该方法可以由目的主机执行。目的主机每收到一个探测报文或数据报文都执行方法中的操作。This method can be executed by the destination host. Each time the destination host receives a probe packet or data packet, it executes the operations in the method.
S510,目的主机接收数据。S510, the destination host receives data.
S520,目的主机收到数据后,首先判断该数据为探测报文还是数据报文。如果收到的包是数据报文,则进入S530;如果收到的是探测报文,则进入S540。S520, after receiving the data, the destination host first determines whether the data is a probe packet or a data packet. If the received packet is a data message, go to S530; if the received packet is a probe message, go to S540.
S530,对数据包进行解析处理。数据报文的处理,可以采用传统传输层协议的工作方式,对数据包进行解封装和处理操作。S530: Perform parsing processing on the data packet. The processing of data packets can use the working mode of traditional transport layer protocols to decapsulate and process data packets.
S540,回传探测报文。例如,将探测报文的源IP与目的IP对换,将探测报文回传至源主机。S540, returning a detection packet. For example, the source IP address of the probe packet is exchanged with the destination IP address, and the probe packet is sent back to the source host.
目的主机每次收到探测报文或数据报文,均执行图5所示的方法,对数据报文进行解析处理,对探测报文进行回传。Each time the destination host receives a probe packet or a data packet, it executes the method shown in FIG. 5 , parses and processes the data packet, and returns the probe packet.
本申请网络拥塞的控制方法的又一个实施例的示意性流程图如图6所示。例如,低时 延网络中可以应用图6所示的控制方法。A schematic flowchart of another embodiment of the method for controlling network congestion of the present application is shown in FIG. 6 . For example, the control method shown in Figure 6 can be applied in a low-latency network.
该方法可以由网络的第三网络设备执行,持续整个端到端传输过程的始终。第三网络设备为每条链路分配一定比例的带宽,专门用于传输探测报文,例如分配5%的带宽传输探测报文;使用分配带宽之外的其它链路带宽传输数据报文,例如使用其他95%的带宽传输数据报文。The method can be performed by a third network device of the network, and lasts throughout the entire end-to-end transmission process. The third network device allocates a certain percentage of bandwidth to each link, which is dedicated to transmitting probe packets, for example, allocating 5% of the bandwidth to transmit probe packets; using other link bandwidths other than the allocated bandwidth to transmit data packets, such as Use the other 95% of the bandwidth to transmit datagrams.
S610,第三网络设备接收上一跳设备传来的数据。第三网络设备的上一跳设备可以是源主机,也可以是另一个第三网络设备。S610, the third network device receives the data transmitted from the previous hop device. The last hop device of the third network device may be the source host, or may be another third network device.
S620,第三网络设备收到上一跳设备传来的数据后,首先判断收到的包是数据报文还是探测报文。如果收到的是数据报文,则进入步骤S630;如果收到的是探测报文,则进入S640。S620, after receiving the data from the previous hop device, the third network device first determines whether the received packet is a data packet or a probe packet. If the received message is a data message, the process goes to step S630; if the received message is a probe message, the process goes to S640.
S630,使用分配给探测报文以外的带宽传输数据报文。或者说,使用非预留带宽传输数据报文。S630: Use the bandwidth other than the bandwidth allocated for the probe packet to transmit the data packet. In other words, use unreserved bandwidth to transmit data packets.
S640,判断探测报文是去程探测报文还是回程探测报文,并根据判断结果进入不同分支步骤。其中,去程探测报文是指从源主机发送给目的主机的探测报文,回程探测报文是指从目的主机发送给源主机的探测报文。S640: Determine whether the detection packet is an outgoing detection packet or a return detection packet, and enter different branch steps according to the judgment result. The outgoing probe packet refers to the probe packet sent from the source host to the destination host, and the backhaul probe packet refers to the probe packet sent from the destination host to the source host.
如果该探测报文为去程探测报文,则进入步骤S650;如果该探测报文为回传探测报文,则进入步骤S660。If the detection packet is an outgoing detection packet, proceed to step S650; if the detection packet is a return detection packet, proceed to step S660.
S650,使用预分配的带宽比例传输去程探测报文。其中,第三网络设备可以预留少量缓存,例如预留8个探测报文大小的缓存,应对探测报文的突发传输。探测报文缓存占满时,丢弃接收到的多余探测报文。S650. Use the pre-allocated bandwidth ratio to transmit outgoing detection packets. The third network device may reserve a small amount of buffers, for example, 8 buffers of the size of the detection packets are reserved to deal with the burst transmission of the detection packets. When the probe packet buffer is full, the redundant probe packets received are discarded.
S660,使用用于传输数据报文的带宽传输回程探测报文。其中,以最高优先级回传回程探测报文。S660, using the bandwidth used for transmitting the data packet to transmit the backhaul detection packet. Among them, the backhaul detection packet is returned with the highest priority.
执行图5和图6的方法,相当于使用探测报文作为数据报文的“替身”,在当前网络环境中预演了一遍数据传输流程,通过第三网络设备探测报文的丢包和目的主机探测报文的回传,将网络准确的负载状况传递给了源主机。这样,图4中的源主机就可以根据探测报文反映的网络状况精准控制数据报文的传输速率,从而实现了整个拥塞控制过程的快速收敛和无损。整个拥塞控制过程由端到端的设备(源主机、目的主机以及网络第三网络设备)协同参与。Executing the methods in Figures 5 and 6 is equivalent to using the detection packet as a "stand-in" for the data packet, rehearsing the data transmission process in the current network environment, and detecting the packet loss and destination host of the packet through a third network device The return of the probe packet conveys the exact load status of the network to the source host. In this way, the source host in FIG. 4 can precisely control the transmission rate of data packets according to the network conditions reflected in the detection packets, thereby realizing the rapid convergence and lossless of the entire congestion control process. The entire congestion control process is coordinated by end-to-end devices (source host, destination host, and a third network device in the network).
图4至图5的实施例专门设计了重载模式的拥塞控制方案,使得重载模式下依然可以维持低时延、高通量、无拥塞的端到端传输。其中,利用双通道(传输探测报文的通道和传输数据报文的通道)架构的优势,在重载模式下所有源主机可以采用固定速率发送探测报文,同时发送速率相对激进,使得用于发送探测报文的控制通道持续处于丢包状态,从而可以保证数据通道在传输数据报文时可以满吞吐和无丢包。并且,重载模式下,探测报文传输不降速,源主机一直能收到回传探测报文并发送数据报文,从而可以避免断流问题。The embodiments of FIG. 4 to FIG. 5 specially design the congestion control scheme in the overload mode, so that the end-to-end transmission with low delay, high throughput and no congestion can still be maintained in the overload mode. Among them, taking advantage of the dual-channel (the channel for transmitting probe packets and the channel for transmitting data packets) architecture, in overload mode, all source hosts can send probe packets at a fixed rate, and the sending rate is relatively aggressive, so that the The control channel that sends the probe packets is continuously in a state of packet loss, so that the data channel can ensure full throughput and no packet loss when transmitting data packets. In addition, in the reload mode, the transmission of probe packets does not slow down, and the source host can always receive the echo probe packets and send data packets, thus avoiding the problem of current interruption.
另外,图4所示的实施例选择了合适的模式切换点,当拥塞控制从重载模式切换到轻载模式时,轻载模式不会立刻判定达到收敛点,而是会继续向收敛点进行传输速率的迭代调控,并最终收敛至既定的稳态传输速率,保证了轻载模式和重载模式的切换不会影响轻载模式的公平性收敛过程;而拥塞控制从轻载模式切换到重载模式时,整个传输会立刻收敛至稳态速率,一定程度上加速了整个拥塞控制方案的收敛过程。In addition, the embodiment shown in FIG. 4 selects an appropriate mode switching point. When the congestion control is switched from the heavy-load mode to the light-load mode, the light-load mode will not immediately determine that the convergence point is reached, but will continue to move towards the convergence point. The iterative control of the transmission rate, and finally converges to the established steady-state transmission rate, ensures that the switching between the light-load mode and the heavy-load mode will not affect the fairness convergence process of the light-load mode; while the congestion control switches from the light-load mode to the heavy-load mode. In the load mode, the entire transmission will immediately converge to the steady-state rate, which speeds up the convergence process of the entire congestion control scheme to a certain extent.
本申请提出的拥塞控制方法还可以应用于数据中心网络中。数据中心网络的轻载模式下,可以选用2019年ACM SIGCOMM发表的学术论文“ExpressPass”中的数据中心网络拥塞控制算法。The congestion control method proposed in this 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 by ACM SIGCOMM in 2019 can be selected.
SIGCOMM是美国计算机协会(ACM)在通信网络领域的旗舰型会议。“ExpressPass”方案中,拥塞控制算法调控每条数据流的发送速率,直至所有探测报文数据流的丢包率达到目标丢包率(target_loss)。速率调控方面,通过当前速率(cur_rate)、调控权值(w)、最大速率(max_rate)、当前探测报文丢包率(credit_loss)和目标丢包率(target_loss)几个参数来计算下一周期的探测报文发送速率。SIGCOMM is the flagship conference of the Association for Computing Machinery (ACM) in the field of communication networks. In the "ExpressPass" scheme, the congestion control algorithm regulates the sending rate of each data stream until the packet loss rate of all probe packets reaches the target packet loss rate (target_loss). In terms of rate control, the next cycle is calculated by the current rate (cur_rate), control weight (w), maximum rate (max_rate), current detection packet loss rate (credit_loss) and target packet loss rate (target_loss). Probe packet sending rate.
本申请在“ExpressPass”算法的基础上,引入重载模式下的速率调节方法,并选择轻重载模式的合适转换点,其中,cur_rate≤r 0时由轻载模式转重载模式;credit_loss<l 0时由重载模式转轻载模式。 Based on the "ExpressPass" algorithm, this application introduces a rate adjustment method in the overload mode, and selects a suitable transition point for the light-heavy-load mode, wherein, when cur_rate≤r 0 , the light-load mode is switched to the heavy-load mode; credit_loss< l When 0 , switch from heavy load mode to light load mode.
假设网络环境依然是RTT为10微秒(us)、瓶颈链路带宽为100Gbps的低时延网络,在数据中心网络中实现拥塞控制的一个实施例如下:Assuming that the network environment is still a low-latency network with an RTT of 10 microseconds (us) and a bottleneck link bandwidth of 100 Gbps, an example of implementing congestion control in a data center network is as follows:
步骤701,源主机初始化目标丢包率(target_loss)、最大速率(max_rate)、权值(w=0)和最大权值(w max=0.5)。 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).
步骤702,源主机初始化轻重载模式转换的性能参数:r 0=100Mbps,0<l 0<target_loss。 Step 702, the source host initializes the performance parameters of the light-heavy-load mode conversion: r 0 =100Mbps, 0<l 0 <target_loss.
步骤703,源主机根据应用需求,按照目标速率,等间隔发送探测报文,并请求带宽。其中,网络的第三网络设备预留一定比例(例如5%)的带宽,作为控制通道传输探测报文。Step 703, the source host sends probe packets at equal intervals according to the application requirements and the target rate, and requests bandwidth. The third network device of the network reserves a certain percentage (for example, 5%) of the bandwidth as a control channel to transmit the detection message.
步骤704,去程时,第三网络设备的逐跳出端口按照一定带宽比例(例如5%)对所有探测报文进行承诺访问速率(CAR)限速,对于超出端口能力的探测报文进行丢弃。Step 704: During the outgoing journey, the hop-by-hop outgoing port of the third network device performs a Committed Access Rate (CAR) rate limit on all probe packets according to a certain bandwidth ratio (eg, 5%), and discards probe packets exceeding the port capability.
步骤705,目的主机将接收到的探测报文的源地址和目的地址进行调换,并回传该探测报文。Step 705, the destination host exchanges the source address and destination address of the received probe packet, and returns the probe packet.
步骤706,第三网络设备以最高优先级将探测报文回传给源主机。回程时,第三网络设备不对探测报文进行限速。Step 706, the third network device returns the detection packet to the source host with the highest priority. During the backhaul, the third network device does not limit the rate of detection packets.
步骤707,源主机每收到一个探测报文立刻发送一个数据报文。Step 707, the source host immediately sends a data packet every time it receives a probe packet.
一个RTT周期后,源主机根据探测报文丢包率和发送速率判断是否进行轻载模式和重载模式的切换。After an RTT period, the source host determines whether to switch between the light-load mode and the heavy-load mode according to the packet loss rate and transmission rate of the probe packets.
如果cur_rate≤r 0,则切换为重负载模式,并以固定的速率r 0发送探测报文直至下一次状态切换;如果cur_rate>r 0,则进行轻载模式下的速率调控。 If cur_rate≤r 0 , switch to heavy load mode, and send probe packets at a fixed rate r 0 until the next state switch; if cur_rate>r 0 , perform rate regulation in light load mode.
在轻载模式下,若当前丢包率小于目标丢包率,则提速,且速率计算方式如下:cur_rate=(1-w)*cur_rate+w*max_rate*(1+target_loss);若当前丢包率大于目标丢包率,则降速,且速率计算方式如下:cur_rate=cur_rate*(1-credit_loss)*(1+target_loss)。In light load mode, if the current packet loss rate is less than the target packet loss rate, the speed will be increased, and the rate is calculated as follows: cur_rate=(1-w)*cur_rate+w*max_rate*(1+target_loss); if the current packet loss rate is If the rate is greater than the target packet loss rate, the speed is reduced, and the rate is calculated as follows: cur_rate=cur_rate*(1-credit_loss)*(1+target_loss).
重载模式下,如果credit_loss<l 0,则切换为轻负载模式,并按照目标丢包率进行速率收敛;如果credit_loss≥l 0,则继续以固定速率r 0发送探测报文。 In heavy load mode, if credit_loss<l 0 , switch to light load mode, and perform rate convergence according to the target packet loss rate; if credit_loss≥l 0 , continue to send probe packets at a fixed rate r 0 .
由上述方法可知,本申请的技术方案可以应用在时延更敏感的数据中心网络当中。其中,重载模式向轻载模式的转换点为credit_loss<l 0,由于l 0<target_loss,因此在模式切换之后,依然会进行迭代速度调整的过程,原方案的公平性收敛过程不会被破坏。同样,拥塞控制从轻载模式切换到重载模式时,整个传输会立刻收敛至稳态速率(重载模式的收敛 速率为r 0),一定程度上加速了整个拥塞控制方案的收敛过程。 It can be known from the above method that the technical solution of the present application can be applied to a data center network that is more sensitive to delay. Among them, the transition point from the heavy load mode to the light load mode is credit_loss<l 0 . Since l 0 <target_loss, after the mode switching, the process of iterative speed adjustment will still be performed, and the fairness convergence process of the original scheme will not be destroyed. . Similarly, when the congestion control is switched from the light load mode to the heavy load mode, the entire transmission will immediately converge to the steady-state rate (the convergence rate of the heavy load mode is r 0 ), which accelerates the convergence process of the entire congestion control scheme to a certain extent.
该实施例进一步说明了,本申请的技术方案可以和其它任何基于传输速率和丢包率的拥塞控制方案完美兼容,唯一需要注意的是谨慎选择重载模式向轻载模式过渡的时间点。This embodiment further illustrates that the technical solution of the present application can be perfectly compatible with any other congestion control solutions based on transmission rate and packet loss rate.
此外,在数据中心网络中,选用了迭代次数较少的“ExpressPass”方案作为轻负载方案,相比于基于在线学习的方案,“ExpressPass”方案的性能探测操作相对少,即无需反复计算效用函数以决定发送速率的变化,这使得轻载模式向重载模式的转换会更为迅速,更适用于时延敏感、突发性较强的数据中心网络当中。In addition, in the data center network, the "ExpressPass" scheme with fewer iterations is selected as the light-load scheme. Compared with the online learning-based scheme, the "ExpressPass" scheme has relatively few performance detection operations, that is, it does not need to repeatedly calculate the utility function. In order to determine the change of the transmission rate, the transition from the light load mode to the heavy load mode will be faster, and it is more suitable for the data center network with sensitive delay and strong burst.
图7是本申请一个实施例的网络拥塞的控制装置700的示意性结构图。装置700可以包括发送模块710和接收模块720。FIG. 7 is a schematic structural diagram of an apparatus 700 for controlling network congestion according to an embodiment of the present application. The apparatus 700 may include a sending module 710 and a receiving module 720 .
在一些示例中,装置700可以用于执行图2所示方法中由源主机执行的相关步骤或操作,例如发送模块710可以用于执行S210和S250中的相关操作,接收模块720可以用于执行S240中的相关操作。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 , for example, the sending module 710 may be used to perform the relevant operations in S210 and S250, and the receiving module 720 may be used to perform Relevant operations in S240.
在另一示例中,装置700可以用于执行图2所示方法中由中间节点执行的相关步骤或操作,例如发送模块710可以用于执行S220和S260中的相关操作,接收模块720可以用于执行S210、S230和S250中的相关操作。In another example, the apparatus 700 can be used to perform the relevant steps or operations performed by the intermediate node in the method shown in FIG. 2 , for example, the sending module 710 can be used to perform the relevant operations in S220 and S260, and the receiving module 720 can be used to perform the relevant operations in S220 and S260. Relevant operations in S210, S230 and S250 are performed.
在又一些示例中,装置700可以用于执行图2所示方法中由目的主机执行的相关步骤或操作,例如发送模块710可以用于执行S230中的相关操作,接收模块720可以用于执行S220和S260中的相关操作。In still other examples, the apparatus 700 can be used to perform the relevant steps or operations performed by the destination host in the method shown in FIG. 2 , for example, the sending module 710 can be used to perform the relevant operations in S230, and the receiving module 720 can be used to perform S220 and related operations in S260.
在其他一些示例中,装置700可以用于执行图4所示的方法,或者,装置700可以用于执行图5所示的方法,或者装置700可以用于执行图6所示的方法。In some other examples, the apparatus 700 may be used to perform the method shown in FIG. 4 , or the apparatus 700 may be used to perform the method shown in FIG. 5 , or the apparatus 700 may be used to perform the method shown in FIG. 6 .
图8为本申请一个实施例的网络拥塞的控制装置800的示意性结构图。装置800包括处理器802、通信接口803和存储器804。装置800的一种示例为芯片,装置800的另一个示例为计算设备。FIG. 8 is a schematic structural diagram of an apparatus 800 for controlling 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 the apparatus 800 is a chip, and another example of the apparatus 800 is a computing device.
处理器802、存储器804和通信接口803之间可以通过总线通信。存储器804中存储有可执行代码,处理器802读取存储器804中的可执行代码以执行对应的方法。存储器804中还可以包括操作系统等其他运行进程所需的软件模块。操作系统可以为LINUX TM,UNIX TM,WINDOWS TM等。 The processor 802, the memory 804 and the communication interface 803 can communicate through a bus. Executable code is stored in the memory 804, and the processor 802 reads the executable code in the memory 804 to execute the corresponding method. The memory 804 may also include other software modules required for running processes such as an operating system. The operating system can be LINUX , UNIX , WINDOWS and the like.
例如,存储器804中的可执行代码用于实现图2中由源主机、中间节点或目的主机执行的步骤或操作;处理器802读取存储器804中的该可执行代码以执行图2中由源主机、中间节点或目的主机执行的步骤或操作。For example, the executable code in the memory 804 is used to implement the steps or operations performed by the source host, the intermediate node or the destination host in FIG. 2; the processor 802 reads the executable code in the memory 804 to execute the steps or operations in FIG. A step or action performed by a host, intermediate node, or destination host.
又如,存储器804中的可执行代码用于执行图4、图5或图6所示的方法;处理器802读取存储器804中的该可执行代码以执行图4、图5或图6所示的方法。For another example, the executable code in the memory 804 is used to execute the method shown in FIG. 4 , FIG. 5 or FIG. 6 ; the processor 802 reads the executable code in the memory 804 to execute the method shown in FIG. 4 , FIG. 5 or FIG. 6 . method shown.
其中,处理器802可以为CPU。存储器804可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。存储器804还可以包括非易失性存储器(2non-volatile memory,2NVM),例如只读存储器(2read-only memory,2ROM),快闪存储器,硬盘驱动器(hard disk drive,HDD)或固态启动器(solid state disk,SSD)。The processor 802 may be a CPU. Memory 804 may include volatile memory, such as random access memory (RAM). The memory 804 may also include non-volatile memory (2non-volatile memory, 2NVM), such as 2read-only memory (2ROM), flash memory, hard disk drive (HDD) or solid state drive ( solid state disk, SSD).
在本申请的一些实施例中,所公开的方法可以实施为以机器可读格式被编码在计算机可读存储介质上的或者被编码在其它非瞬时性介质或者制品上的计算机程序指令。图9示意性地示出根据这里展示的至少一些实施例而布置的示例计算机程序产品的概念性局部 视图,所述示例计算机程序产品包括用于在计算设备上执行计算机进程的计算机程序。在一个实施例中,示例计算机程序产品900是使用信号承载介质901来提供的。所述信号承载介质901可以包括一个或多个程序指令902,其当被一个或多个处理器运行时可以提供以上针对图2、图4、图5和图6任意一个图所示的方法中描述的功能或者部分功能。因此,例如,图4中所示的实施例,S401至S419的一个或多个特征可以由与信号承载介质901相关联的一个或多个指令来承担。又如,参考图6中所示的实施例,S610至S660的一个或多个特征可以由与信号承载介质901相关联的一个或多个指令来承担。In some embodiments of the present application, the disclosed methods may be implemented as computer program instructions encoded on a computer-readable storage medium in a machine-readable format or on other non-transitory media or articles of manufacture. 9 schematically illustrates a conceptual partial view of an example computer program product including 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, example computer program product 900 is provided using 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 for the methods described above with respect to any one of FIGS. 2 , 4 , 5 and 6 . The described function or part of the function. Thus, for example, in the embodiment shown in FIG. 4 , one or more of the features of S401 to S419 may be undertaken 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 of the features of S610 to S660 may be undertaken by one or more instructions associated with the signal bearing medium 901 .
在一些示例中,信号承载介质901可以包含计算机可读介质903,诸如但不限于,硬盘驱动器、紧密盘(CD)、数字视频光盘(DVD)、数字磁带、存储器、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(random access memory,RAM)等等。在一些实施方式中,信号承载介质901可以包含计算机可记录介质904,诸如但不限于,存储器、读/写(R/W)CD、R/W DVD、等等。在一些实施方式中,信号承载介质901可以包含通信介质905,诸如但不限于,数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路、等等)。因此,例如,信号承载介质901可以由无线形式的通信介质905(例如,遵守IEEE 802.11标准或者其它传输协议的无线通信介质)来传达。一个或多个程序指令902可以是,例如,计算机可执行指令或者逻辑实施指令。在一些示例中,前述的计算设备可以被配置为,响应于通过计算机可读介质903、计算机可记录介质904、和/或通信介质905中的一个或多个传达到计算设备的程序指令902,提供各种操作、功能、或者动作。应该理解,这里描述的布置仅仅是用于示例的目的。因而,本领域技术人员将理解,其它布置和其它元素(例如,机器、接口、功能、顺序、和功能组等等)能够被取而代之地使用,并且一些元素可以根据所期望的结果而一并省略。另外,所描述的元素中的许多是可以被实现为离散的或者分布式的组件的、或者以任何适当的组合和位置来结合其它组件实施的功能词条。In some examples, the signal bearing medium 901 may include a computer readable medium 903 such as, but not limited to, a hard drive, a compact disc (CD), a digital video disc (DVD), a digital tape, a memory, a read only memory (read only memory) -only memory, ROM) or random access memory (RAM), etc. In some implementations, the signal bearing medium 901 may include a computer recordable medium 904, such as, but not limited to, memory, read/write (R/W) CDs, R/W DVDs, and the like. In some embodiments, signal bearing medium 901 may include communication medium 905, such as, but not limited to, digital and/or analog communication media (eg, fiber optic cables, waveguides, wired communication links, wireless communication links, etc.). Thus, for example, the signal bearing medium 901 may be conveyed by a wireless form of communication medium 905 (eg, a wireless communication medium conforming to 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 aforementioned computing devices may be configured to, in response to program instructions 902 communicated to the computing device via one or more of computer-readable media 903 , computer-recordable media 904 , and/or communication media 905 , Provides various operations, functions, or actions. It should be understood that the arrangements described herein are for illustrative purposes only. Thus, those skilled in the art will understand that other arrangements and other elements (eg, machines, interfaces, functions, sequences, and groups of functions, etc.) can be used instead and that some elements may be omitted altogether depending on the desired results . Additionally, many of the described elements are functional terms that can be implemented as discrete or distributed components, or in conjunction with other components in any suitable combination and position.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。Those of ordinary skill in the art can realize that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Skilled artisans may implement the described functionality using different methods for each particular application, but such implementations should not be considered beyond the scope of this application.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the above-described systems, devices and units may refer to the corresponding processes in the foregoing method embodiments, which will not be repeated here.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the apparatus embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented. On the other hand, the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。The functions, if implemented in the form of software functional units and sold or used as independent products, may be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be embodied in the form of a software product in essence, or the part that contributes to the prior art or the part of the technical solution. The computer software product is stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: a U disk, a removable hard disk, a read-only memory, a random access memory, a magnetic disk or an optical disk and other media that can store program codes.
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。The above are only specific embodiments of the present application, but the protection scope of the present application is not limited to this. should be covered within the scope of protection of this application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims (38)

  1. 一种控制网络拥塞的方法,其特征在于,所述方法包括:A method for controlling network congestion, the method comprising:
    第一网络设备发送第一探测报文,所述第一探测报文是指源设备为所述第一网络设备且目的设备为第二网络设备的探测报文,所述探测报文用于探测源设备至目的设备之间的传输路径上的可用带宽;The first network device sends a first detection packet, where the first detection packet refers to a detection packet in which the source device is the first network device and the destination device is the second network device, and the detection packet is used for detection The available bandwidth on the transmission path between the source device and the destination device;
    所述第一网络设备接收第一反馈信息,所述第一反馈信息用于指示所述第一探测报文在所述第二网络设备上的接收情况;receiving, by the first network device, first feedback information, where the first feedback information is used to indicate the reception status of the first probe packet on the second network device;
    所述第一网络设备基于所述第一反馈信息,发送第一数据报文,所述第一数据报文是指源设备为所述第一网络设备且目的设备为所述第二网络设备的数据报文。The first network device sends a first data packet based on the first feedback information, where the first data packet refers to a source device being the first network device and the destination device being the second network device. data message.
  2. 如权利要求1所述的方法,其特征在于,所述第一网络设备基于所述第一反馈信息,发送第一数据报文,包括:The method according to claim 1, wherein, based on the first feedback information, the first network device sends the first data packet, comprising:
    所述第一网络设备基于所述第一反馈信息,通过第三网络设备向所述第二网络设备发送所述第一数据报文,所述第三网络设备用于使用第一比例的带宽发送探测报文以及用于使用第二比例的带宽发送数据报文,其中,所述第一网络设备发送所述第一数据报文的第一速率与所述第二网络设备接收所述第一探测报文的第二速率的比值,等于所述第二比例与所述第一比例的比值。The first network device sends, based on the first feedback information, the first data packet to the second network device through a third network device, where the third network device is configured to send using a first proportion of bandwidth Probing packets and sending data packets using a second ratio of bandwidth, wherein the first rate at which the first network device sends the first data packets and the second network device receiving the first probe The ratio of the second rate of packets is equal to the ratio of the second ratio to the first ratio.
  3. 如权利要求2所述的方法,其特征在于,所述第二网络设备每接收到一个所述第一探测报文,则发送一个所述第一反馈信息;The method of claim 2, wherein each time the second network device receives one of the first detection packets, it sends one piece of the first feedback information;
    其中,所述第一网络设备基于所述第一反馈信息,发送第一数据报文,包括:Wherein, based on the first feedback information, the first network device sends the first data packet, including:
    所述第一网络设备每接收到一个所述第一反馈信息,则发送一个所述第一数据报文。The first network device sends one first data packet each time it receives one piece of the first feedback information.
  4. 如权利要求1至3中任一项所述的方法,其特征在于,所述第一网络设备发送第一探测报文,包括:The method according to any one of claims 1 to 3, wherein the sending, by the first network device, the first detection packet comprises:
    所述第一网络设备使用第三速率发送所述第一探测报文;sending, by the first network device, the first probe packet using a third rate;
    所述第一网络设备获取所述第一网络设备使用所述第三速率发送所述第一探测报文时的第一丢包率;obtaining, by the first network device, a first packet loss rate when the first network device uses the third rate to send the first probe packet;
    所述第一网络设备根据所述第一丢包率确定所述第二速率;The first network device determines the second rate according to the first packet loss rate;
    所述第一网络设备基于所述第二速率发送所述第一探测报文。The first network device sends the first probe packet based on the second rate.
  5. 如权利要求4所述的方法,其特征在于,所述第一网络设备基于所述第二速率发送所述第一探测报文,包括:The method according to claim 4, wherein the sending, by the first network device, the first detection packet based on the second rate comprises:
    所述第二速率小于或等于预设的速率阈值的情况下,所述第一网络设备使用预设的目标速率发送所述第一探测报文,所述目标速率大于所述第二速率;或When the second rate is less than or equal to a preset rate threshold, the first network device sends the first probe packet using a preset target rate, and the target rate is greater than the second rate; or
    所述第二速率大于所述速率阈值的情况下,所述第一网络设备使用所述第二速率发送所述第一探测报文。When the second rate is greater than the rate threshold, the first network device sends the first probe packet by using the second rate.
  6. 如权利要求5所述的方法,其特征在于,所述第一网络设备为多个网络设备中的一个,其中,所述多个网络设备中所有网络设备发送探测报文所使用的目标速率相同。The method of claim 5, wherein the first network device is one of a plurality of network devices, wherein all network devices in the plurality of network devices use the same target rate for sending detection packets .
  7. 如权利要求5或6所述的方法,其特征在于,所述目标速率与所述速率阈值相同。6. The method of claim 5 or 6, wherein the target rate is the same as the rate threshold.
  8. 如权利要求4至7中任一项所述的方法,其特征在于,所述第三网络设备转发的 探测报文仅包含所述第一探测报文时,所述第一网络设备使用所述目标速率在指定时长内能够将指定数量的第一探测报文从所述第一网络设备成功传输至所述第二网络设备。The method according to any one of claims 4 to 7, wherein when the probe packet forwarded by the third network device only includes the first probe packet, the first network device uses the The target rate 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 time period.
  9. 如权利要求4所述的方法,其特征在于,所述第一网络设备根据所述第一丢包率确定所述第二速率,包括:The method of claim 4, wherein the first network device determines the second rate according to the first packet loss rate, comprising:
    所述第一丢包率小于预设的丢包率阈值的情况下,所述第一网络设备基于所述第一丢包率和所述第三速率对所述第一探测报文的发送速率进行调整,得到所述第二速率;When the first packet loss rate is less than a preset packet loss rate threshold, the first network device sends the first probe packet based on the first packet loss rate and the third rate performing adjustment to obtain the second rate;
    其中,所述第一网络设备基于所述第二速率发送所述第一探测报文,包括:The sending, by the first network device, the first detection packet based on the second rate includes:
    所述第一网络设备使用所述第二速率发送所述第一探测报文。The first network device sends the first probe packet using the second rate.
  10. 如权利要求9所述的方法,其特征在于,所述丢包率阈值大于所述第一网络设备使用所述第二速率发送所述第一探测报文时所述第一探测报文的丢包率。The method of claim 9, wherein the packet loss rate threshold is greater than the loss rate of the first detection packet when the first network device sends the first detection packet at the second rate package rate.
  11. 如权利要求4至10中任一项所述的方法,其特征在于,所述第二速率是使用结构-行为-绩效SCP策略或快速通道策略,基于所述第一丢包率和所述第三速率得到的。The method of any one of claims 4 to 10, wherein the second rate is based on the first packet loss rate and the second rate using a structure-behavior-performance SCP strategy or a fast-track strategy obtained at three rates.
  12. 如权利要求1至11中任一项所述的方法,其特征在于,所述第一反馈信息具体用于指示所述第二网络设备已接收到所述第一探测报文。The method according to any one of claims 1 to 11, wherein the first feedback information is specifically used to indicate that the second network device has received the first probe packet.
  13. 一种控制网络拥塞的方法,其特征在于,所述方法包括:A method for controlling network congestion, the method comprising:
    第二网络设备接收第一探测报文,所述第一探测报文是指源设备为第一网络设备且目的设备为所述第二网络设备的探测报文,所述探测报文用于探测源设备至目的设备之间的传输路径上的可用带宽;The second network device receives a first detection packet, where the first detection packet refers to a detection packet in which the source device is the first network device and the destination device is the second network device, and the detection packet is used for detection The available bandwidth on the transmission path between the source device and the destination device;
    所述第二网络设备发送第一反馈信息,所述第一反馈信息用于指示所述第二网络设备对所述第一探测报文的接收情况;sending, by the second network device, first feedback information, where the first feedback information is used to indicate the reception status of the first probe packet by the second network device;
    所述第二网络设备接收所述第一网络设备基于所述第一反馈信息发送的第一数据报文,所述第一数据报文是指源设备为所述第一网络设备且目的设备为所述第二网络设备的数据报文。The second network device receives a first data packet sent by the first network device based on the first feedback information, where the first data packet means that the source device is the first network device and the destination device is the data packet of the second network device.
  14. 如权利要求13所述的方法,其特征在于,所述第二网络设备发送第一反馈信息,包括:The method of claim 13, wherein the sending, by the second network device, the first feedback information comprises:
    所述第二网络设备每接收到一个所述第一探测报文,则发送一个所述第一反馈信息。Each time the second network device receives one of the first probe packets, it sends one piece of the first feedback information.
  15. 如权利要求13或14所述的方法,其特征在于,所述第一反馈信息具体用于指示所述第二网络设备接收到所述第一探测报文。The method according to claim 13 or 14, wherein the first feedback information is specifically used to indicate that the second network device receives the first probe packet.
  16. 一种控制网络拥塞的方法,其特征在于,所述方法包括:A method for controlling network congestion, the method comprising:
    第三网络设备接收探测报文,所述探测报文用于探测源设备至目的设备之间的传输路径上的可用带宽;The third network device receives the detection packet, where the detection packet is used to detect the available bandwidth on the transmission path between the source device and the destination device;
    所述第三网络设备转发所述探测报文;the third network device forwards the detection packet;
    所述第三网络设备接收反馈信息,所述反馈信息用于表示所述目的设备接收所述探测报文的情况;receiving, by the third network device, feedback information, where the feedback information is used to indicate that the destination device receives the probe packet;
    所述第三设备转发所述反馈信息;the third device forwards the feedback information;
    所述第三设备接收所述源设备基于所述反馈信息发送的数据报文;receiving, by the third device, a data packet sent by the source device based on the feedback information;
    所述第三设备转发所述数据报文。The third device forwards the data packet.
  17. 如权利要求16所述的控制方法,其特征在于,所述第三网络设备转发探测报文,包括:所述第三网络设备使用第一比例的带宽发送所述探测报文;The control method according to claim 16, wherein forwarding the detection packet by the third network device comprises: the third network device sends the detection packet by using a bandwidth of a first proportion;
    所述第三网络设备转发所述数据报文,包括:所述第三网络设备使用第二比例的带宽发送所述数据报文;The third network device forwarding the data packet includes: the third network device sends the data packet by using a second proportion of bandwidth;
    其中,所述第三网络设备接收所述第一数据报文的速率与所述第三网络设备接收所述第一探测报文的速率的比值,等于所述第二比例与所述第一比例的比值。The ratio of the rate at which the third network device receives the first data packet to the rate at which the third network device receives the first probe packet is equal to the second ratio to the first ratio ratio.
  18. 如权利要求16或17所述的控制方法,其特征在于,所述第三网络设备转发所述反馈信息,包括:The control method according to claim 16 or 17, wherein the third network device forwarding the feedback information comprises:
    所述第三网络设备以最高优先级转发所述反馈信息。The third network device forwards the feedback information with the highest priority.
  19. 一种控制网络拥塞的装置,其特征在于,包括:A device for controlling network congestion, comprising:
    发送模块,用于发送第一探测报文,所述第一探测报文是指源设备为所述装置所属的第一网络设备且目的设备为第二网络设备的探测报文,所述探测报文用于探测源设备至目的设备之间的传输路径上的可用带宽;A sending module, configured to send a first detection packet, where the first detection packet refers to a detection packet in which the source device is the first network device to which the device belongs and the destination device is the second network device, and the detection packet is a detection packet. This document is used to detect the available bandwidth on the transmission path between the source device and the destination device;
    接收模块,用于接收第一反馈信息,所述第一反馈信息用于指示所述第一探测报文在所述第二网络设备上的接收情况;a receiving module, configured to receive first feedback information, where the first feedback information is used to indicate the reception status of the first probe packet on the second network device;
    所述发送模块还用于基于所述第一反馈信息,发送第一数据报文,所述第一数据报文是指源设备为所述第一网络设备且目的设备为所述第二网络设备的数据报文。The sending module is further configured to send a first data packet based on the first feedback information, where the first data packet means that the source device is the first network device and the destination device is the second network device data packets.
  20. 如权利要求19所述的装置,其特征在于,所述发送模块具体用于基于第三网络设备向所述第二网络设备发送所述第一数据报文,所述第三网络设备用于使用第一比例的带宽发送探测报文以及用于使用第二比例的带宽发送数据报文,其中,所述第一网络设备发送所述第一数据报文的第一速率与所述第二网络设备接收所述第一探测报文的第二速率的比值,等于所述第二比例与所述第一比例的比值。The apparatus of claim 19, wherein the sending module is specifically configured to send the first data packet to the second network device based on a third network device, and the third network device is configured to use The bandwidth of the first proportion is used to send the probe packet and the bandwidth of the second proportion is used to send the data packet, wherein the first rate at which the first network device sends the first data packet is the same as the second network device. The ratio of the second rate for receiving the first probe packet is equal to the ratio of the second ratio to the first ratio.
  21. 如权利要求20所述的装置,其特征在于,所述第二网络设备用于:每接收到一个所述第一探测报文,则发送一个所述第一反馈信息;The apparatus of claim 20, wherein the second network device is configured to: send one piece of the first feedback information every time one of the first detection packets is received;
    其中,所述发送模块具体用于:每接收到一个所述第一反馈信息,则发送一个所述第一数据报文。Wherein, the sending module is specifically configured to: send one first data message each time one piece of the first feedback information is received.
  22. 如权利要求19至21中任一项所述的装置,其特征在于,所述发送模块具体用于:The device according to any one of claims 19 to 21, wherein the sending module is specifically configured to:
    使用第三速率发送所述第一探测报文;sending the first probe packet using a third rate;
    获取所述第一网络设备使用所述第三速率发送所述第一探测报文时的第一丢包率;acquiring the first packet loss rate when the first network device sends the first probe packet using the third rate;
    根据所述第一丢包率确定所述第二速率;determining the second rate according to the first packet loss rate;
    基于所述第二速率发送所述第一探测报文。The first probe packet is sent based on the second rate.
  23. 如权利要求22所述的装置,其特征在于,所述发送模块具体用于:The apparatus according to claim 22, wherein the sending module is specifically configured to:
    所述第二速率小于或等于预设的速率阈值的情况下,使用预设的目标速率发送所述第一探测报文,所述目标速率大于所述第二速率;或When the second rate is less than or equal to a preset rate threshold, use a preset target rate to send the first probe packet, where the target rate is greater than the second rate; or
    所述第二速率大于所述速率阈值的情况下,使用所述第二速率发送所述第一探测报文。When the second rate is greater than the rate threshold, the first probe packet is sent using the second rate.
  24. 如权利要求23所述的装置,其特征在于,所述第一网络设备为多个网络设备中的一个,其中,所述多个网络设备中所有网络设备发送探测报文所使用的目标速率相同。The apparatus according to claim 23, wherein the first network device is one of multiple network devices, wherein all network devices in the multiple network devices use the same target rate for sending probe packets .
  25. 如权利要求23或24所述的装置,其特征在于,所述目标速率与所述速率阈值相同。24. The apparatus of claim 23 or 24, wherein the target rate is the same as the rate threshold.
  26. 如权利要求22至25中任一项所述的装置,其特征在于,所述第三网络设备转发的探测报文仅包含所述第一探测报文时,所述第一网络设备使用所述目标速率在指定时长 内能够将指定数量的第一探测报文从所述第一网络设备成功传输至所述第二网络设备。The apparatus according to any one of claims 22 to 25, wherein when the probe packet forwarded by the third network device only includes the first probe packet, the first network device uses the The target rate 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 time period.
  27. 如权利要求22所述的装置,其特征在于,所述发送模块具体用于:The apparatus according to claim 22, wherein the sending module is specifically configured to:
    所述第一丢包率小于预设的丢包率阈值的情况下,基于所述第一丢包率和所述第三速率对所述第一探测报文的发送速率进行调整,得到所述第二速率;When the first packet loss rate is less than a preset packet loss rate threshold, adjust the sending rate of the first detection packet based on the first packet loss rate and the third rate, to obtain the second rate;
    使用所述第二速率发送所述第一探测报文。The first probe packet is sent using the second rate.
  28. 如权利要求27所述的装置,其特征在于,所述丢包率阈值大于所述第一网络设备使用所述第二速率发送所述第一探测报文时所述第一探测报文的丢包率。The apparatus of claim 27, wherein the packet loss rate threshold is greater than the loss of the first detection packet when the first network device sends the first detection packet at the second rate package rate.
  29. 如权利要求22至28中任一项所述的装置,其特征在于,所述第二速率是使用结构-行为-绩效SCP策略或快速通道策略,基于所述第一丢包率和所述第三速率得到的。The apparatus of any one of claims 22 to 28, wherein the second rate is based on the first packet loss rate and the second rate using a structure-behavior-performance SCP strategy or a fast-track strategy obtained at three rates.
  30. 如权利要求19至29中任一项所述的装置,其特征在于,所述第一反馈信息具体用于指示所述第二网络设备已接收到所述第一探测报文。The apparatus according to any one of claims 19 to 29, wherein the first feedback information is specifically used to indicate that the second network device has received the first probe packet.
  31. 一种控制网络拥塞的装置,其特征在于,包括:A device for controlling network congestion, comprising:
    接收模块,用于接收第一探测报文,所述第一探测报文是指源设备为第一网络设备且目的设备为所述控制装置所属的第二网络设备的探测报文,所述探测报文用于探测源设备至目的设备之间的传输路径上的可用带宽;a receiving module, configured to receive a first detection packet, where the first detection packet refers to a detection packet in which the source device is a first network device and the destination device is a second network device to which the control device belongs, and the detection packet The message is used to detect the available bandwidth on the transmission path between the source device and the destination device;
    发送模块,用于发送第一反馈信息,所述第一反馈信息用于指示所述第二网络设备对所述第一探测报文的接收情况;a sending module, configured to send first feedback information, where the first feedback information is used to indicate the reception status of the first probe packet by the second network device;
    所述接收模块还用于接收所述第一网络设备基于所述第一反馈信息发送的第一数据报文,所述第一数据报文是指源设备为所述第一网络设备且目的设备为所述第二网络设备的数据报文。The receiving module is further configured to receive a first data packet sent by the first network device based on the first feedback information, where the first data packet means that the source device is the first network device and the destination device is a data packet of the second network device.
  32. 如权利要求31所述的装置,其特征在于,所述发送模块具体用于:每接收到一个所述第一探测报文,则发送一个所述第一反馈信息。The apparatus according to claim 31, wherein the sending module is specifically configured to send one piece of the first feedback information every time one of the first probe packets is received.
  33. 如权利要求31或32所述的装置,其特征在于,所述第一反馈信息具体用于指示所述第二网络设备接收到所述第一探测报文。The apparatus according to claim 31 or 32, wherein the first feedback information is specifically used to indicate that the second network device receives the first probe packet.
  34. 一种控制网络拥塞的装置,其特征在于,包括:A device for controlling network congestion, comprising:
    接收模块,用于接收探测报文,所述探测报文用于探测源设备至目的设备之间的传输路径上的可用带宽;a receiving module, configured to receive a detection packet, where the detection packet is used to detect the available bandwidth on the transmission path between the source device and the destination device;
    发送模块,用于转发所述探测报文;a sending module, configured to forward the detection message;
    所述接收模块还用于接收反馈信息,所述反馈信息用于表示所述目的设备接收所述探测报文的情况;The receiving module is further configured to receive feedback information, where the feedback information is used to indicate that the destination device receives the probe packet;
    所述发送模块还用于转发所述反馈信息;The sending module is further configured to forward the feedback information;
    所述接收模块还用于接收所述源设备基于所述反馈信息发送的数据报文;The receiving module is further configured to receive a data packet sent by the source device based on the feedback information;
    所述发送模块还用于转发所述数据报文。The sending module is further configured to forward the data message.
  35. 如权利要求34所述的装置,其特征在于,所述发送模块具体用于:The apparatus of claim 34, wherein the sending module is specifically configured to:
    使用第一比例的带宽发送所述探测报文;sending the probe packet using the bandwidth of the first proportion;
    使用第二比例的带宽发送所述数据报文;sending the data packet using the second proportional bandwidth;
    其中,所述控制装置所属的第三网络设备接收所述第一数据报文的速率与所述第三网络设备接收所述第一探测报文的速率的比值,等于所述第二比例与所述第一比例的比值。The ratio of the rate at which the third network device to which the control device belongs receives the first data packet to the rate at which the third network device receives the first probe packet is equal to the second ratio to the rate at which the first probe packet is received. the ratio of the first ratio.
  36. 如权利要求34或35所述的装置,其特征在于,所述发送模块具体用于:以最高 优先级转发所述反馈信息。The apparatus according to claim 34 or 35, wherein the sending module is specifically configured to: forward the feedback information with the highest priority.
  37. 一种控制网络拥塞的装置,其特征在于,包括:处理器,所述处理器与存储器耦合;An apparatus for controlling network congestion, comprising: a processor coupled to a memory;
    所述存储器用于存储指令;the memory is used to store instructions;
    所述处理器用于执行所述存储器中存储的指令,以使得所述网络设备实现如权利要求1至18中任一项所述的方法。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 18.
  38. 一种计算机可读介质,其特征在于,包括指令,当所述指令在处理器上运行时,使得所述处理器实现如权利要求1至18中任一项所述的方法。A computer readable medium comprising instructions which, when executed on a processor, cause the processor to implement the method of any one of claims 1 to 18.
PCT/CN2021/108785 2020-07-29 2021-07-28 Network congestion control method and related apparatus WO2022022539A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010742582.6 2020-07-29
CN202010742582.6A CN114095434A (en) 2020-07-29 2020-07-29 Method and related apparatus for controlling network congestion

Publications (1)

Publication Number Publication Date
WO2022022539A1 true WO2022022539A1 (en) 2022-02-03

Family

ID=80037597

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/108785 WO2022022539A1 (en) 2020-07-29 2021-07-28 Network congestion control method and related apparatus

Country Status (2)

Country Link
CN (1) CN114095434A (en)
WO (1) WO2022022539A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115499356A (en) * 2022-11-21 2022-12-20 深圳海智创科技有限公司 Data sending method, device, system, equipment and storage medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115632971B (en) * 2022-12-23 2023-04-07 北京长亭未来科技有限公司 TCP port detection method and device

Citations (4)

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

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3267639B1 (en) * 2016-07-06 2019-12-25 Alcatel Lucent Congestion control within a communication network

Patent Citations (4)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115499356A (en) * 2022-11-21 2022-12-20 深圳海智创科技有限公司 Data sending method, device, system, equipment and storage medium

Also Published As

Publication number Publication date
CN114095434A (en) 2022-02-25

Similar Documents

Publication Publication Date Title
CN109120544B (en) Transmission control method based on host end flow scheduling in data center network
EP3618372B1 (en) Congestion control method and network device
CN108092888B (en) Transmission method, gateway and transmission system based on Overlay network
CA2316884C (en) Apparatus and method for optimizing congestion control information in a multi-protocol network
WO2019158106A1 (en) Network congestion control method, device, and system
US10129151B2 (en) Traffic management implementation method and apparatus, and network device
US7035220B1 (en) Technique for providing end-to-end congestion control with no feedback from a lossless network
JP3083849B2 (en) How to drop from the beginning of the buffer in a feedback network
US11218572B2 (en) Packet processing based on latency sensitivity
JP4260631B2 (en) Method and apparatus for network congestion control
US7447152B2 (en) Controlling traffic congestion
WO2022022539A1 (en) Network congestion control method and related apparatus
US7573821B2 (en) Data packet rate control
US20060203730A1 (en) Method and system for reducing end station latency in response to network congestion
WO2019157867A1 (en) Method for controlling traffic in packet network, and device
US20080298248A1 (en) Method and Apparatus For Computer Network Bandwidth Control and Congestion Management
US20070280111A1 (en) Method and system for adaptive queue and buffer control based on monitoring and active congestion avoidance in a packet network switch
US8750129B2 (en) Credit-based network congestion management
JP2001024678A (en) Method for predicting and controlling congestion in data transmission network, and node
US11165705B2 (en) Data transmission method, device, and computer storage medium
CN111147381B (en) Flow balancing method and device
WO2015149460A1 (en) Fiber channel over ethernet flow control method, device and system
WO2019001484A1 (en) Method, apparatus and system for adjusting rate of sending side
US20190342221A1 (en) Data packet network
CN112468405B (en) Data center network congestion control method based on credit and reaction type

Legal Events

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

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21849632

Country of ref document: EP

Kind code of ref document: A1