CN102404187A - Congestion control method and system as well as network equipment - Google Patents

Congestion control method and system as well as network equipment Download PDF

Info

Publication number
CN102404187A
CN102404187A CN2010102812104A CN201010281210A CN102404187A CN 102404187 A CN102404187 A CN 102404187A CN 2010102812104 A CN2010102812104 A CN 2010102812104A CN 201010281210 A CN201010281210 A CN 201010281210A CN 102404187 A CN102404187 A CN 102404187A
Authority
CN
China
Prior art keywords
network bandwidth
end device
sending
bandwidth information
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2010102812104A
Other languages
Chinese (zh)
Inventor
崔翔嵩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2010102812104A priority Critical patent/CN102404187A/en
Priority to PCT/CN2011/075163 priority patent/WO2011144141A1/en
Publication of CN102404187A publication Critical patent/CN102404187A/en
Pending legal-status Critical Current

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/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions

Landscapes

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

Abstract

The embodiment of the invention provides a congestion control method and a system as well as network equipment. The congestion control method comprises the following steps of obtaining the network bandwidth information of a data transmission path between transmitting end equipment and receiving end equipment; adjusting and processing a transmission rate of data according to the network bandwidth information; and transmitting grouped data to the receiving end equipment according to the adjusted and processed transmission rate of data. In the embodiment of the invention, the adjustment accuracy of the transmitting end equipment on the transmission rate of data is higher, and the wide-range fluctuation does not occur. By adopting the method, the grouped data can be transmitted in the data transmission path without congestion, the network performance is brought into full play, and the network resource is prevented from being wasted.

Description

Congestion control method and system and network equipment
Technical Field
Embodiments of the present invention relate to communications technologies, and in particular, to a congestion control method and system, and a network device.
Background
The Transmission Control Protocol (TCP) is a commonly used transport layer Protocol, and can be used for reliable data Transmission between nodes in a packet network. Congestion control is an important control function of TCP to ensure reliable transmission of data in packet networks. Congestion control is to control data transmission to a network so as to avoid congestion caused by excessive data exceeding the limit that can be received by an intermediate network.
In the prior art, a sending end device adjusts the size of a sending window to adjust the data sending rate according to the number of received ACK messages, so that congestion control is realized, and a receiving end device receives packet data and returns an ACK message under the influence of a plurality of network factors, so that the sending end device calculates the size of the sending window according to the number of the received ACK messages and has low control precision of congestion control according to the size of the sending window.
Disclosure of Invention
The embodiment of the invention provides a congestion control method and system and network equipment, and aims to solve the problem of low control precision when sending end equipment performs congestion control.
An embodiment of the present invention provides a congestion control method, including:
acquiring network bandwidth information of a data transmission path between sending end equipment and receiving end equipment;
adjusting the data sending rate according to the network bandwidth information;
and sending the grouped data to the receiving terminal equipment according to the adjusted data sending rate.
An embodiment of the present invention further provides a network device, including:
the system comprises an acquisition module, a transmission module and a receiving module, wherein the acquisition module is used for acquiring network bandwidth information of a data transmission path between transmitting end equipment and receiving end equipment;
the processing module is used for adjusting the data sending rate according to the network bandwidth information acquired by the acquisition module;
and the sending module is used for sending the grouped data to the receiving terminal equipment according to the data sending rate adjusted and processed by the processing module.
An embodiment of the present invention further provides a congestion control system, including: a sending-end device and a receiving-end device,
the sending end equipment is used for acquiring network bandwidth information of a data transmission path between the sending end equipment and the receiving end equipment; adjusting the data sending rate according to the network bandwidth information; sending packet data to the receiving end equipment according to the adjusted data sending rate;
the receiving end device is configured to receive the packet data sent by the sending end device.
In the congestion control method and system and the network device provided by the embodiments of the present invention, the sending end device adjusts the data transmission rate by using the network bandwidth information, so that the data sending rate changes around the change of the network bandwidth information, and therefore, the sending end device has higher accuracy in adjusting the data sending rate without large fluctuation in a sliding window mechanism. Moreover, the data sending rate of sending the grouped data by the sending end equipment is matched with the capacity of the data transmission path, so that the grouped data can be transmitted on the congestion-free data transmission path, the network performance can be fully exerted, and the waste of network resources is avoided.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to these drawings without creative efforts.
Fig. 1 is a flowchart of a congestion control method according to a first embodiment of the present invention;
fig. 2 is a flowchart of a congestion control method according to a second embodiment of the present invention;
fig. 3 is a flowchart of a third embodiment of a congestion control method according to the present invention;
fig. 4 is a flowchart of a fourth embodiment of a congestion control method according to the present invention;
fig. 5 is a flowchart of a fifth embodiment of a congestion control method according to the present invention;
FIG. 6 is a schematic structural diagram of a network device according to an embodiment of the present invention;
fig. 7 is a schematic structural diagram of a congestion control system according to a first embodiment of the present invention;
fig. 8 is a schematic structural diagram of a congestion control system according to a second embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Fig. 1 is a flowchart of a congestion control method according to a first embodiment of the present invention, and as shown in fig. 1, the method of this embodiment may include:
step 101, obtaining network bandwidth information of a data transmission path between a sending terminal device and a receiving terminal device.
In the process of implementing the invention, the inventor finds that the packet network has two capabilities: the packet data forwarding capability and the packet data buffering capability are not directly related. The router, as a packet store-and-forward device, has a strong queue storage function, that is, packet data sent by the sending end device to the receiving end device may be buffered in the router in a queue and then forwarded to the receiving end device, so that for the buffered packet data, the time for feeding back the ACK message to the sending end device may be delayed. Or the data transmission path discards the ACK message fed back to the sending end device under the action of a plurality of other network factors, so that the sending end device mistakenly thinks that the packet data transmission fails due to the network congestion. Therefore, if the prior art is adopted, the sending end equipment considers that the congestion occurs because the delayed ACK messages are not received within a certain time, and then reduces the size of the sending window, and when the delayed ACK messages are received again, the sending end equipment considers that the congestion state is eliminated, and then increases the size of the sending window. Therefore, the congestion control method in the prior art easily causes the size of the sending window to fluctuate greatly, and the network forwarding capability cannot be fully and effectively utilized; moreover, the sending end device cannot confirm whether congestion occurs in the packet data sent in the adjusted sending window, and when the sending window is increased to exceed the actual packet forwarding capability of the network, the excess packet data will be discarded by the network, thereby causing waste of network resources.
In view of the above problems caused by the prior art when adjusting the size of the sending window of the sending end device, that is, the data sending rate, in this embodiment, the sending end device may adjust the data sending rate of the packet data according to the current network environment, so as to avoid the occurrence of congestion.
Specifically, the sending end device may obtain network bandwidth information of a data transmission path between the sending end device and the receiving end device.
The embodiment does not limit the manner in which the sending end device obtains the network bandwidth information, for example, does not limit which message the network bandwidth information is contained in, or which network entity the sending end device obtains the network bandwidth information from, for example, does not limit which network bandwidth information is sent by the receiving end device, and the network bandwidth information may be sent by any network entity having a network bandwidth monitoring or network bandwidth management function in the network. Moreover, a person skilled in the art may adjust the monitoring or management period of the network bandwidth information or adjust the bandwidth management monitoring mode to be event triggered according to needs, so that the sending end device may flexibly adjust the data sending rate according to the network bandwidth information provided by the network bandwidth monitoring or network bandwidth management unit.
And step 102, adjusting the data sending rate according to the network bandwidth information.
After the sending end device obtains the network bandwidth information, the current network environment can be obtained. Those skilled in the art will appreciate that the network bandwidth information is not limited to the network bandwidth itself, but represents any parameter capable of reflecting the network bandwidth information.
Specifically, if the network environment reflected by the network bandwidth information is good, the sending end device may increase the data sending rate accordingly, and if the network environment reflected by the network bandwidth information is poor, for example, congestion occurs, the sending end device may decrease the data sending rate accordingly. Therefore, the present embodiment may use the network bandwidth information as a reference standard for adjusting the data transmission rate, so that the data transmission rate is changed around the change of the network bandwidth information, and therefore, the accuracy of adjusting the data transmission rate by the sending end device is higher, and the large fluctuation like the sliding window mechanism does not occur.
It should be noted that the operation of adjusting the data sending rate may be represented by the sending end device directly adjusting the data sending rate according to the network bandwidth information, or may be represented by the sending end device adjusting the size of the sending window according to the network bandwidth information. The data transmission rate may be the number of packets transmitted per unit time or the number of bits of data transmitted per unit time.
And 103, sending the grouped data to the receiving terminal equipment according to the adjusted data sending rate.
Because the network bandwidth information can objectively reflect the network environment and does not depend on the number of the ACK messages received by the sending end equipment and the size of the sending window, the sending end equipment sends the grouped data at the adjusted data sending rate which is matched with the capacity of a data transmission path, so that the grouped data can be transmitted on the data transmission path without congestion, the network performance can be fully exerted, and the waste of network resources is avoided.
In the congestion control method of this embodiment, the sending end device adjusts the data transmission rate by using the network bandwidth information, so that the data sending rate is changed around the change of the network bandwidth information, and therefore, the accuracy of adjusting the data sending rate by the sending end device is high, and large fluctuation does not occur. Moreover, the sending end equipment sends the grouped data at the adjusted data sending rate which is matched with the capacity of the data transmission path, so that the grouped data can be transmitted on the data transmission path without congestion, the network performance can be fully exerted, and the waste of network resources is avoided.
The technical solution of the present invention is explained in detail below using three specific examples.
Fig. 2 is a flowchart of a second congestion control method according to an embodiment of the present invention, as shown in fig. 2, in the method according to this embodiment, network bandwidth information is obtained by calculation of a sending end device itself, and the method according to this embodiment may include:
step 201, the sending end device establishes a TCP connection with the receiving end device.
The initiator for establishing the TCP connection may be a sending end device or a receiving end device.
Step 202, the sending end device initializes the congestion control parameters.
After the TCP connection is established between the sending end device and the receiving end device, the sending end device may initialize a congestion control parameter, for example, at least one parameter of the number N of packets that can be sent before receiving the acknowledgment message, a bandwidth/rate calculation period T, an increment factor p between a data sending rate and a path bandwidth, a decrement factor q between the data sending rate and the path bandwidth when congestion occurs, and a number K of duplicate acknowledgment messages that trigger fast retransmission.
Step 203, the sending end device sends the first packet data packet to the receiving end device, and records the sending time T0, and then continues to send other packet data packets until the sending of N packet data packets is completed.
Step 204, the sending end device receives the first acknowledgement message sent by the receiving end device, records the receiving time T1, and calculates the initial data sending Rate.
After receiving the first packet data packet sent by the sending end device, the receiving end device may send an ACK message to the sending end device, where the ACK message includes a byte sequence number of an expected next packet data packet, and the byte sequence number may be used to indicate that a packet data packet byte has been received, for example, if the byte sequence number of the expected next packet data packet is X, it means that packet data packets bytes before the byte sequence number X-1 have been received continuously, so as to indicate that the sending end device packet data packet byte has been received successfully.
After the sending device receives the first ACK message, it may record the receiving time T1 of the ACK message and enter the rate controlled phase.
It can be assumed in this embodiment that the transmitting end device transmits N packet data packets in total in the period from T0 to T1, and therefore, this embodiment can calculate and obtain the initial data transmission Rate by applying equation (4),
<math> <mrow> <mi>Rate</mi> <mo>=</mo> <mfrac> <mrow> <mn>8</mn> <mo>&times;</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mi>packet</mi> <mo>_</mo> <msub> <mi>size</mi> <mi>i</mi> </msub> </mrow> <mrow> <mi>T</mi> <mn>1</mn> <mo>-</mo> <mi>T</mi> <mn>0</mn> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow> </math>
wherein,which represents the sum of the number of bits of the initially transmitted N packet data packets.
It should be noted that formula (4) is used for the first time of calculating the sending rate of the packet data by the sending end device, and more generally, the rate calculation can use formula (3)
<math> <mrow> <mi>Rate</mi> <mo>=</mo> <mfrac> <mrow> <mn>8</mn> <mo>&times;</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mi>x</mi> </mrow> <mi>y</mi> </munderover> <mi>packet</mi> <mo>_</mo> <msub> <mi>size</mi> <mi>i</mi> </msub> </mrow> <mrow> <mi>Ty</mi> <mo>-</mo> <mi>Tx</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow> </math>
Where, Rate denotes a data transmission Rate during which the transmitting-end device transmits packet data packets x to y, Ty denotes a time when the packet data packet y is transmitted, and Tx denotes a time when the packet data packet y is transmittedThe time at which the packet data packet x is sent,which represents the sum of the total number of bits transmitted during the transmission of packet data packets x-y by the transmitting end device.
Step 205, the sending end device receives a plurality of ACK messages sent by the receiving end device, and calculates and obtains network bandwidth information according to the received ACK messages.
Specifically, the sending end device may calculate and acquire the network bandwidth information according to the received acknowledgement information and the reception time of the acknowledgement information included in the at least two ACK messages sent by the receiving end device. The acknowledgement information is carried in the ACK message by the receiving terminal device and sent to the sending terminal device.
After receiving the packet data packet sent by the sending end device, the receiving end device may send an ACK message to the sending end device in sequence to indicate that the packet data packet sent by the sending end device is successfully received, and the acknowledgement information included in the ACK messages may have the expected byte sequence number of the next packet data packet, or may include a selective acknowledgement parameter. The selective acknowledgement parameter is used to indicate that the sender device and the receiver device received packet data packets that were not received consecutively in sequence, for example, the receiver device indicates that the byte sequence number of the next packet data packet expected by the sender device is X1, and the selective acknowledgement parameter is used to indicate that the packet data packet bytes with sequence numbers of X2 to X3 have been received, which means that the receiver device waits for receiving packet data packets with byte sequence numbers of X1 to X2-1 and packet data packets with byte sequence numbers greater than X3. After receiving each ACK message, the sender device records the receiving time of the ACK message, for example, time T2, T3, T4, and calculates and acquires the network bandwidth information according to the data amount confirmed by the received ACK message to have been successfully received by the receiver device and the receiving time of the previous ACK message and the next ACK message. In this process, the sending end device may select two acknowledgement messages as needed, or select the first acknowledgement message and the last acknowledgement message in a period according to a bandwidth measurement period, where the bandwidth calculation period is already given by parameter initialization in step 202 after the TCP connection is established in step 201. It will be appreciated by those skilled in the art that by adjusting the bandwidth calculation period, the update frequency of the packet transmission rate can be adjusted.
For example, the present embodiment may apply formula (1) to calculate and obtain the network bandwidth information,
<math> <mrow> <mi>Bandwidth</mi> <mo>=</mo> <mfrac> <mrow> <mn>8</mn> <mo>&times;</mo> <mo>[</mo> <mrow> <mo>(</mo> <mi>Seq</mi> <mn>2</mn> <mo>-</mo> <mi>Seq</mi> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mrow> <mo>(</mo> <mi>SACK</mi> <mn>2</mn> <mo>_</mo> <mi>block</mi> <mo>-</mo> <mi>SACK</mi> <mn>1</mn> <mo>_</mo> <mi>block</mi> <mo>)</mo> </mrow> <mo>]</mo> </mrow> <mrow> <mi>T</mi> <mo>_</mo> <mi>ACK</mi> <mn>2</mn> <mo>-</mo> <mi>T</mi> <mo>_</mo> <mi>ACK</mi> <mn>1</mn> </mrow> </mfrac> <mo>}</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </math>
wherein, Bandwidth is network Bandwidth, Seq2 is a continuous acknowledgement sequence number of a next ACK message, Seq1 is a continuous acknowledgement sequence number of a previous ACK message, SACK2_ block is the number of bytes of a selective acknowledgement parameter in the next ACK message, SACK1_ block is the number of bytes of the selective acknowledgement parameter in the previous ACK message, T _ ACK2 is the receiving time of the next ACK message, and T _ ACK1 is the receiving time of the previous ACK message.
It should be noted that the sending-end device can only perform bandwidth calculation using continuous acknowledgement messages or ACK messages with selective acknowledgement parameters, but cannot perform bandwidth calculation using repeated acknowledgement messages.
It should be noted that Seq1 and Seq2 are sequence numbers of packet data packets, because the sequence numbers of the packets are used in a circular rolling manner, for example, the cycle period of the sequence numbers is 0 to 65535, and then the next sequence number of 65535 is 0. For the case of Seq1 < Seq2, calculated using equation (1), when Seq1 > Seq2, equation (1) can be further adjusted to equation (2):
<math> <mrow> <mi>Bandwidth</mi> <mo>=</mo> <mfrac> <mrow> <mn>8</mn> <mo>&times;</mo> <mo>[</mo> <mrow> <mo>(</mo> <mi>Seq</mi> <mn>2</mn> <mo>-</mo> <mi>Seq</mi> <mn>1</mn> <mo>+</mo> <mi>Cycle</mi> <mo>)</mo> </mrow> <mo>+</mo> <mrow> <mo>(</mo> <mi>SACK</mi> <mn>2</mn> <mo>_</mo> <mi>block</mi> <mo>-</mo> <mi>SACK</mi> <mn>1</mn> <mo>_</mo> <mi>block</mi> <mo>)</mo> </mrow> <mo>]</mo> </mrow> <mrow> <mi>T</mi> <mo>_</mo> <mi>ACK</mi> <mn>2</mn> <mo>-</mo> <mi>T</mi> <mo>_</mo> <mi>ACK</mi> <mn>1</mn> </mrow> </mfrac> <mo>}</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow> </math>
where Cycle is the Cycle of the sequence number.
It should be noted that when the ACK messages both have the timestamp option parameter, T _ ACK1 and T _ ACK2 may be replaced with the timestamp value in the respective ACK messages at the same time. The timestamp option parameter in the ACK message refers to time information contained in the ACK message sent by the receiving end device when the ACK message is sent, and the calculation accuracy of the bandwidth parameter calculated by the sending end device by using the time information is higher than that of the bandwidth parameter calculated by using the recorded receiving time.
The above-mentioned steps 202 to 205 complete the process of acquiring the network bandwidth information by the sending end device.
And step 206, adjusting the data sending rate according to the network bandwidth information.
The adjustment processing may adopt a periodic processing manner, for example, in the data transmission process, the transmission rate of the packet data is periodically measured, the network bandwidth information is acquired, and the data transmission rate is adjusted according to the network bandwidth information.
Specifically, if a normal acknowledgement message is received, that is, the normal acknowledgement message is not a duplicate acknowledgement message, the sending end device adjusts the data sending rate to a rate greater than the network bandwidth information; if receiving the repeated confirmation message in the data sending rate adjustment period or continuously receiving a plurality of repeated confirmation messages, the sending end equipment adjusts the data sending rate to be a rate smaller than the network bandwidth, calculates new network bandwidth information after re-receiving the normal confirmation message, and readjusts the data sending rate according to the new network bandwidth information; if no confirmation message is received in the data sending rate adjustment period, the sending end equipment adjusts the data sending rate to be less than the rate of the network bandwidth or keeps equal to the rate of the known network bandwidth, calculates new network bandwidth information after the confirmation message is received again, and adjusts the data sending rate according to the new network bandwidth information.
For example, the transmitting-end device may increase the data transmission Rate by an increment factor p set at the time of parameter initialization, for example, Rate ═ Bandwidth + p, or Rate ═ Bandwidth × (1+ p). When the sending end device receives a plurality of, for example, K duplicate acknowledgement messages set at the time of parameter initialization, it needs to immediately resend the missing packet data and immediately reduce the data sending Rate of the sent packet data packet, for example, reduce the data sending Rate by using a decrement factor q set at the time of parameter initialization, for example, the Rate is Bandwidth-q or the Rate is Bandwidth × q, and after the sending end device receives a new ACK message, the sending end device may recalculate the network Bandwidth information and adjust the data sending Rate of the packet data packet according to the new network Bandwidth information. When the situation that the timeout is not confirmed after the data transmission occurs, the sending-end device needs to immediately resend the packet data that is not confirmed after the timeout, and immediately reduce the Rate of sending the packet, for example, the Rate is Bandwidth-q, and after the sending-end device receives a new ACK message, the sending-end device may recalculate the network Bandwidth information and adjust the data sending Rate of the packet data according to the new network Bandwidth information.
Or, the sending end device may also use a ratio of an average size of the sent packet data packets to the network bandwidth as the data sending rate, where this ratio is used as the number of packet data packets sent per second, and controls the rate at which the sending end device sends the packet data packets.
And step 207, sending the packet data to the receiving end equipment according to the adjusted data sending rate.
It should be noted that, step 206 and step 207 are repeated during the whole TCP session, and the sending-end device records all the time of sending the data packet. If the data transmission rate is calculated periodically, as long as the rate calculation period arrives, the sending terminal device calculates the data transmission rate according to the packet data and the period time transmitted in the rate calculation period. If the network bandwidth is calculated periodically, the sending terminal device calculates the network bandwidth information as soon as the bandwidth calculation period is reached, and adjusts the data sending rate in the data sending rate adjustment period according to the newly calculated network bandwidth information.
Preferably, the bandwidth calculation period and the data transmission rate calculation period adopted by the sending end device may be set to be the same or close to each other, so that the adjusted data transmission rate is as close to the current network environment as possible, thereby improving the adjustment accuracy.
In the congestion control method of this embodiment, the sending-end device may calculate the network bandwidth information according to the ACK message received in the bandwidth calculation period, so that the data transmission rate may be adjusted by using the network bandwidth information, so that the data transmission rate is changed around the change of the network bandwidth information, and therefore, the accuracy of adjusting the data transmission rate by the sending-end device is high without large fluctuation. Moreover, the sending end equipment sends the grouped data at the adjusted data sending rate which is matched with the capacity of the data transmission path, so that the grouped data can be transmitted on the data transmission path without congestion, the network performance can be fully exerted, and the waste of network resources is avoided.
In addition, in the method of the embodiment, any modification on the receiving end device is not required, and the method can be realized as long as the receiving end device supports the basic TCP protocol function, so that the method has good universality and compatibility.
Fig. 3 is a flowchart of a third embodiment of a congestion control method according to the present invention, as shown in fig. 3, in the method of this embodiment, network bandwidth information is calculated by a receiving end device and sent to a sending end device, and the method of this embodiment may include:
step 301, the sending end device sends a synchronization/start message (SYN) to the receiving end device, where the synchronization/start message includes a bandwidth parameter indication, and the bandwidth parameter indication is used to indicate that the receiving end device is requested to include network bandwidth information in an ACK message.
The sending end device may include a bandwidth parameter indication in a connection establishment message, such as a SYN message, for establishing a TCP connection, where the bandwidth parameter indication may indicate the receiving end device, and the sending end device supports including network bandwidth information in an ACK message and desires to use the network bandwidth information with the receiving end device in the current TCP session. Optionally, the SYN message may also include a bandwidth/rate calculation period suggested by the sending end device.
It should be noted that, in this embodiment, only the sending end device initiates establishment of the TCP connection to the receiving end is shown, and those skilled in the art can understand that the sending end device may also initiate establishment of the TCP connection.
Step 302, the receiving end device sends a synchronization/acknowledgement message (SYN/ACK) to the sending end device, where the synchronization/acknowledgement message includes a bandwidth parameter indication.
After receiving end equipment receives a synchronization/start message with a bandwidth parameter indication, if the receiving end equipment also supports that the ACK message contains a bandwidth parameter and is willing to use network bandwidth information with the sending end equipment in the current TCP session, the receiving end equipment may also contain a bandwidth parameter indication in a SYN/ACK message fed back to the sending end equipment. Optionally, the SYN/ACK message may also include a bandwidth/rate calculation period that can be supported by the receiving end device.
Step 303, the sending end device sends an ACK message to the receiving end device, where the ACK message includes a bandwidth parameter indication.
Optionally, the ACK message may also include a bandwidth/rate calculation period after negotiation between the sending end device and the receiving end device.
So far, the TCP connection between the sending end device and the receiving end device is established, and the sending end device and the receiving end device agree that the ACK message includes the network bandwidth information.
Step 304, the sending end device initializes the congestion control parameters.
The implementation process is similar to step 202 described above, and is not described herein again.
Step 305, the sending end device sends the packet data packet to the receiving end device.
Alternatively, after transmitting each packet, the transmitting device may record the transmission time of each packet.
Step 306, after receiving the packet data packets sent by the sending end device, the receiving end device records the receiving time of each packet data packet, and sends an ACK message to the sending end device, where the ACK message includes network bandwidth information.
After receiving the packet data packet sent by the sending end device, the receiving end device may send an ACK message to the sending end device in sequence to indicate that the packet data packet sent by the sending end device is successfully received, and the ACK message may include a byte sequence number of an expected next packet data packet or may include a selective acknowledgement parameter. The selective acknowledgement parameter is used to indicate that the sender device and the receiver device received packet data packets that were not received consecutively in sequence, for example, the receiver device indicates that the byte sequence number of the next packet data packet expected by the sender device is X1, and the selective acknowledgement parameter is used to indicate that the packet data packet bytes with sequence numbers of X2 to X3 have been received, which means that the receiver device waits for receiving packet data packets with byte sequence numbers of X1 to X2-1 and packet data packets with byte sequence numbers greater than X3.
After the receiving end equipment receives more than two packet data packets, the network bandwidth information can be obtained by calculating the data quantity of the average received packet data packet in unit time, for example, the network bandwidth information can be obtained by calculating according to the sum of the data quantities of all the packet data packets received in a certain time period, the receiving time of the first packet data packet and the receiving time of the last packet data packet received in the certain time period, and the specific calculation method can be that the sum of all the packet data quantities in a certain time period is divided by the time length of the certain time period.
After receiving the first ACK message, the sending-end device may calculate the initial data sending Rate according to the formula (4), and in the subsequent data sending process, calculate the data sending Rate periodically according to the formula (3), which has similar implementation principles and is not described herein again.
Step 307, after receiving the ACK message including the network bandwidth information, the sending end device may adjust the data sending rate according to the network bandwidth information.
The adjustment process may be implemented by using the specific implementation manner described in step 206, and is not described herein again.
And step 308, the sending end device sends the packet data packet to the receiving end device according to the adjusted data sending rate.
It should be noted that, the above steps 306 to 308 are repeated in the whole TCP session process, and as long as the bandwidth calculation period is reached, the receiving end device can calculate the network bandwidth information and send the network bandwidth information obtained by calculation to the sending end device, so that the sending end device can adjust the data sending rate in the data sending rate adjustment period according to the newly calculated network bandwidth information.
Preferably, the bandwidth calculation period and the data transmission rate adjustment period adopted by the sending end device may be set to be the same or close to each other, so that the adjusted data transmission rate is as close to the current network environment as possible, thereby improving the adjustment accuracy.
In the congestion control method of this embodiment, the receiving end device may calculate the network bandwidth information according to the number of the received packet data packets in the bandwidth calculation period and the difference between the receiving time of the first packet data packet and the receiving time of the last packet data packet in the bandwidth calculation period, and send the network bandwidth information obtained by calculation to the sending end device through the acknowledgment message, so that the sending end device may adjust the data sending rate according to the network bandwidth information, so that the data sending rate is changed around the change of the network bandwidth information, and therefore, the precision of adjusting the data sending rate by the sending end device is high, and no large fluctuation occurs. Moreover, compared with the technical solution of the second embodiment of the congestion control method, the embodiment calculates and acquires the network bandwidth information more accurately. In addition, the sending end equipment sends the grouped data packet at the adjusted data sending rate, which is matched with the capacity of the data transmission path, so that the grouped data packet can be transmitted on the congestion-free data transmission path, the network performance can be fully exerted, and the waste of network resources is avoided.
Fig. 4 is a flowchart of a fourth congestion control method according to an embodiment of the present invention, as shown in fig. 4, in the method according to this embodiment, a sending end device may obtain network bandwidth information from a network function entity having a bandwidth measurement or bandwidth management function, where the method according to this embodiment may include:
step 401, the sending end device and the receiving end device establish a TCP session.
Step 402, the sending end device obtains network bandwidth information from a network function entity with a bandwidth measurement or bandwidth management function.
Specifically, the manner of the sending end device acquiring the network bandwidth information may be that the sending end device directly sends an inquiry request to the network function entity and receives a response message carrying the network bandwidth information sent by the network function entity, or that the network function entity actively sends the network bandwidth information to the sending end device. The two ways may be to perform query/response and indication transaction periodically, or to perform event-triggered query/response and indication transaction, for example, the sending end device queries network bandwidth information after establishing a TCP session successfully, queries network bandwidth information after receiving a duplicate acknowledgement message, queries network bandwidth information when the sending end device is overtime and not acknowledged, or immediately sends network bandwidth information to the sending end device after the network functional entity finds that the network bandwidth information changes.
It should be noted that the network functional entity with the bandwidth measurement or bandwidth management function may be on the sending end device, or may be on other devices, and if the network functional entity is on other devices, the sending end device may establish a network connection with the device.
For example, the network function entity may be a channel management unit of Asynchronous Transfer Mode (ATM), which may obtain a configured bandwidth of an ATM channel, a radio network control unit of a radio access network, which may obtain a bandwidth capability allocated to a radio bearer of an air interface, or a resource management unit of a router, which may obtain a packet forwarding capability allocated to a specific interface.
It should be noted that, when the sending end device continuously receives multiple repeated acknowledgement messages and reaches a threshold, for example, when the number of the repeated acknowledgement messages exceeds K, the sending end device may immediately retransmit the missing packet data packet, and immediately query the network functional entity for network bandwidth information; when the packet data packet is overtime and does not receive the ACK message, the missing packet data packet can be immediately retransmitted, and the network bandwidth information can be immediately inquired from the network function entity.
Step 403, adjusting the data sending rate according to the network bandwidth information.
And step 404, sending the packet data to the receiving end equipment according to the adjusted data sending rate.
Step 403 and step 404 may be repeatedly executed in a TCP session, and the implementation methods of step 403 and step 404 are similar to the implementation methods in the corresponding places of the first to third embodiments of the congestion control method described above, and are not described again here.
In the congestion control method of this embodiment, the sending end device may obtain the network bandwidth information from a network function entity having a bandwidth measurement or bandwidth management function, so as to avoid a burden of the sending end device or the receiving end device itself in calculating the network bandwidth information, and obtain more accurate network bandwidth information, and the sending end device may directly adjust the data transmission rate by using the network bandwidth information obtained by monitoring the network function entity, so that the data transmission rate is changed around the change of the network bandwidth information, and therefore, the sending end device has higher accuracy in adjusting the data transmission rate without large fluctuation. Moreover, the sending end equipment sends the grouped data at the adjusted data sending rate which is matched with the capacity of the data transmission path, so that the grouped data can be transmitted on the data transmission path without congestion, the network performance can be fully exerted, and the waste of network resources is avoided. In addition, the network functional entity can be maintained independently without changing the sending terminal equipment and the receiving terminal equipment.
Fig. 5 is a flowchart of a fifth embodiment of a congestion control method according to the present invention, as shown in fig. 5, in this embodiment, a receiving end device may obtain network bandwidth information from a network function entity having a bandwidth measurement or bandwidth management function, and then send the network bandwidth information to a sending end device, where the method in this embodiment may include:
step 501, a sending end device and a receiving end device establish a TCP session.
Step 502, the receiving end device obtains network bandwidth information from a network function entity having a network bandwidth measurement function or a network bandwidth management function.
Specifically, the manner for the receiving end device to obtain the network bandwidth information may be that the receiving end device directly sends an inquiry request to a network function entity having a network bandwidth measurement function or a network bandwidth management function and receives a response message carrying the network bandwidth information sent by the network function entity, or that the network function entity having the network bandwidth measurement function or the network bandwidth management function actively sends the network bandwidth information to the receiving end device. The two ways may be to perform query/response and indication transaction periodically, or to perform event-triggered query/response and indication transaction, for example, after a receiving end device successfully establishes a TCP session, after the receiving end device sends a duplicate acknowledgement message to a sending end device, it queries network bandwidth information, or after a network function entity having a network bandwidth measurement function or a network bandwidth management function finds that the network bandwidth changes, it immediately sends the network bandwidth information to the receiving end device.
It should be noted that, the network functional entity having the network bandwidth measurement function or the network bandwidth management function may be on the receiving end device, or may be on another device, and if the network functional entity is on another device, the receiving end device may establish a network connection with the device.
The network function entity may be, for example, a path management unit of ATM, which may obtain the configured bandwidth of an ATM path, a radio network control unit of a radio access network, which may obtain the bandwidth capability allocated to a radio bearer of an air interface, or a resource management unit of a router, which may obtain the packet forwarding capability allocated to a specified interface.
Step 503, the receiving end device sends the network bandwidth information to the sending end device.
The receiving end device may send the network bandwidth information to the sending end device through the ACK message, or may send the network bandwidth information to the sending end device by using a new session message. After receiving the message containing the network bandwidth information, the sending end device may discard the message if the sending end device does not support the method of adjusting the data sending rate according to the network bandwidth information, and may adjust the data sending rate of the packet data packet according to the received network bandwidth information if the sending end device supports the method.
Step 504, the sending end device adjusts the data sending rate according to the network bandwidth information.
And step 505, sending the packet data to the receiving terminal equipment according to the adjusted data sending rate.
Steps 502 to 505 may be repeatedly executed in a TCP session, and the implementation methods of step 504 and step 505 are similar to the implementation methods of the corresponding parts of the first to third embodiments of the congestion control method described above, and are not described herein again.
In the congestion control method of this embodiment, the receiving end device may obtain the network bandwidth information from a network function entity having a network bandwidth measurement function or a network bandwidth management function, and send the network bandwidth information to the sending end device, so that a burden of the sending end device or the receiving end device itself in calculating the network bandwidth is avoided, and more accurate network bandwidth information can be obtained. The sending end equipment can directly adopt the network bandwidth information acquired from the receiving end equipment to adjust the data sending rate, so that the data sending rate is changed around the change of the network bandwidth, therefore, the precision of the sending end equipment for adjusting the data sending rate is higher, and large fluctuation can not occur. Moreover, the sending end equipment sends the grouped data at the adjusted data sending rate which is matched with the capacity of the data transmission path, so that the grouped data can be transmitted on the data transmission path without congestion, the network performance can be fully exerted, and the waste of network resources is avoided. In addition, the network functional entity can be maintained independently without changing the sending terminal equipment and the receiving terminal equipment.
Fig. 6 is a schematic structural diagram of an embodiment of a network device of the present invention, and as shown in fig. 6, the network device of the present embodiment includes: the device comprises an acquisition module 11, a processing module 12 and a sending module 13, wherein the acquisition module 11 is used for acquiring network bandwidth information of a data transmission path between sending end equipment and receiving end equipment; the processing module 12 is configured to adjust a data sending rate according to the network bandwidth information acquired by the acquisition module 11; the sending module 13 is configured to adjust the processed data sending rate according to the processing module 12, and send the packet data to the receiving end device.
The network device of this embodiment may be configured to execute the technical solution of the first congestion control method embodiment shown in fig. 1, which implements similar principles and technical effects, and is not described herein again.
Further, in another embodiment of the network device of the present invention, the obtaining module 11 may be specifically configured to calculate and obtain the network bandwidth information according to the received acknowledgement information in the acknowledgement message sent by the receiving end device and the receiving time of the acknowledgement message; or calculating to acquire the network bandwidth information according to the received acknowledgement information in the acknowledgement message sent by the receiving end device, the time information contained in the next acknowledgement message and the time information contained in the previous acknowledgement message; or receiving a confirmation message sent by the receiving end device, where the confirmation message includes network bandwidth information, and the network bandwidth information is obtained by calculating the data volume of the packet data packets received averagely in a unit time by the receiving end device or obtained from a network function entity having a bandwidth measurement or bandwidth management function; or obtaining the network bandwidth information from a network function entity with a bandwidth measurement or bandwidth management function.
The obtaining module 11 may obtain the network bandwidth information in the above manners, which correspond to the second to fourth embodiments of the congestion control methods shown in fig. 2 to 4, respectively, and the implementation principle and the technical effect are similar, which are not described herein again.
Fig. 7 is a schematic structural diagram of a congestion control system according to a first embodiment of the present invention, and as shown in fig. 7, the system according to this embodiment may include: the system comprises a sending end device 1 and a receiving end device 2, wherein the sending end device 1 is used for acquiring network bandwidth information of a data transmission path between the sending end device 1 and the receiving end device 2; adjusting the data sending rate according to the network bandwidth information; sending the grouped data to the receiving terminal equipment 2 according to the adjusted data sending rate; the receiving end device 2 is configured to receive the packet data sent by the sending end device 1.
The system of this embodiment may be configured to execute the technical solution of the first congestion control method embodiment shown in fig. 1, which implements similar principles and technical effects, and is not described herein again.
In another embodiment of the congestion control system of the present invention, based on the first embodiment of the system, the sending end device 1 may be specifically configured to calculate and obtain the network bandwidth information according to the received acknowledgement information and the receiving time of the acknowledgement information, where the acknowledgement information is included in the acknowledgement message sent by the receiving end device; or calculating and acquiring the network bandwidth information according to the received acknowledgement information in the acknowledgement message sent by the receiving terminal equipment, the time information contained in the next acknowledgement message and the time information contained in the previous acknowledgement message. In this embodiment, the sending end device 1 and the receiving end device 2 may execute the technical solution of the second congestion control method embodiment shown in fig. 2, which has similar implementation principles and technical effects, and are not described herein again.
Further, in another embodiment of the congestion control system of the present invention, based on the first embodiment of the system, the receiving end device 2 may be specifically configured to send a confirmation message containing network bandwidth information to the sending end device 1, where the network bandwidth information is obtained by calculating, by the receiving end device 2, a data amount of a packet data packet that is received averagely in a unit time. In this embodiment, the sending end device 1 and the receiving end device 2 may execute the technical solution of the third embodiment of the congestion control method shown in fig. 3, which has similar implementation principles and technical effects, and are not described herein again.
Fig. 8 is a schematic structural diagram of a congestion control system according to a second embodiment of the present invention, and as shown in fig. 8, the system according to this embodiment further includes, on the basis of the first embodiment of the system shown in fig. 7: and the network functional entity 3 is configured to monitor and acquire network bandwidth information, and send the network bandwidth information to the sending end device 1, or send the network bandwidth information to the receiving end device 2, and send the network bandwidth information to the sending end device 1 through the receiving end device 2.
In this embodiment, the sending end device 1, the receiving end device 2, and the network function entity 3 may execute the technical solution of the fourth embodiment of the congestion control method shown in fig. 4 or the fifth embodiment of the congestion control method shown in fig. 5, which implement similar principles and technical effects, and are not described herein again.
Those of ordinary skill in the art will understand that: all or part of the steps for implementing the method embodiments may be implemented by hardware related to program instructions, and the program may be stored in a computer readable storage medium, and when executed, the program performs the steps including the method embodiments; and the aforementioned storage medium includes: various media that can store program codes, such as ROM, RAM, magnetic or optical disks.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.

Claims (15)

1. A congestion control method, comprising:
acquiring network bandwidth information of a data transmission path between sending end equipment and receiving end equipment;
adjusting the data sending rate according to the network bandwidth information;
and sending the grouped data to the receiving terminal equipment according to the adjusted data sending rate.
2. The congestion control method according to claim 1, wherein the obtaining network bandwidth information of the data transmission path between the sending end device and the receiving end device includes:
calculating and acquiring the network bandwidth information according to the received confirmation information contained in the at least two confirmation messages sent by the receiving terminal equipment and the receiving time of the confirmation messages; or
And calculating to acquire the network bandwidth information according to the received confirmation information contained in the at least two confirmation messages sent by the receiving terminal equipment and the time information contained in the confirmation messages.
3. The congestion control method according to claim 2, wherein the calculating to obtain the network bandwidth information comprises: calculating and acquiring the network bandwidth information by applying formula (1),
<math> <mrow> <mi>Bandwidth</mi> <mo>=</mo> <mo>{</mo> <mfrac> <mrow> <mn>8</mn> <mo>&times;</mo> <mo>[</mo> <mrow> <mo>(</mo> <mi>Seq</mi> <mn>2</mn> <mo>-</mo> <mi>Seq</mi> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mrow> <mo>(</mo> <mi>SACK</mi> <mn>2</mn> <mo>_</mo> <mi>block</mi> <mo>-</mo> <mi>SACK</mi> <mn>1</mn> <mo>_</mo> <mi>block</mi> <mo>)</mo> </mrow> <mo>]</mo> </mrow> <mrow> <mi>T</mi> <mo>_</mo> <mi>ACK</mi> <mn>2</mn> <mo>-</mo> <mi>T</mi> <mo>_</mo> <mi>ACK</mi> <mn>1</mn> </mrow> </mfrac> <mo>}</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </math>
wherein Bandwidth is network Bandwidth information, Seq2 is a consecutive acknowledgement sequence number of a next acknowledgement message, Seq1 is a consecutive acknowledgement sequence number of a previous acknowledgement message, SACK2_ block is the number of bytes of a selective acknowledgement parameter in the next acknowledgement message, SACK1_ block is the number of bytes of a selective acknowledgement parameter in the previous acknowledgement message, T _ ACK2 is the time of receipt of the next acknowledgement message or the time information contained in the next acknowledgement message, and T _ ACK1 is the time of receipt of the previous acknowledgement message or the time information contained in the previous acknowledgement message.
4. The congestion control method according to claim 1, wherein the obtaining network bandwidth information of the data transmission path between the sending end device and the receiving end device includes:
and acquiring the network bandwidth information from a network function entity with a bandwidth measurement or bandwidth management function.
5. The congestion control method according to claim 1, wherein the obtaining network bandwidth information of the data transmission path between the sending end device and the receiving end device includes:
receiving a confirmation message sent by the receiving terminal equipment, and acquiring network bandwidth information contained in the confirmation message; the network bandwidth information is obtained by the receiving end device according to the data amount of the packet data packets received averagely in unit time, or the receiving end device is obtained from a network function entity with a bandwidth measurement or bandwidth management function.
6. The congestion control method according to claim 5, wherein before obtaining the network bandwidth information of the data transmission path between the sending end device and the receiving end device, the method further comprises:
sending a connection establishment message to the receiving end device, wherein the connection establishment message contains a bandwidth parameter indication, and the bandwidth parameter indication is used for indicating that the receiving end device is requested to contain the network bandwidth information in the confirmation message;
and receiving a confirmation message sent by the receiving terminal equipment, wherein the confirmation message comprises a bandwidth parameter indication.
7. The congestion control method according to any one of claims 1 to 6, wherein the adjusting the data transmission rate according to the network bandwidth information includes at least one of the following processing modes:
adjusting the data transmission rate to a rate equal to a network bandwidth;
adjusting the data transmission rate to a rate greater than a network bandwidth;
and adjusting the data sending rate to a rate smaller than the network bandwidth, and after the network bandwidth information is acquired again, adjusting the data sending rate according to the new network bandwidth information.
8. The congestion control method according to any one of claims 1 to 6, wherein the adjusting the data transmission rate according to the network bandwidth information comprises:
and taking the ratio of the average size of the transmitted packet data packets to the network bandwidth information as the packet data transmission rate of the packet data packets.
9. The congestion control method according to any one of claims 1 to 6, wherein before the obtaining the network bandwidth information of the data transmission path between the sending end device and the receiving end device, the method further comprises: the data transmission rate is calculated by applying equation (3),
<math> <mrow> <mi>Rate</mi> <mo>=</mo> <mfrac> <mrow> <mn>8</mn> <mo>&times;</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mi>x</mi> </mrow> <mi>y</mi> </munderover> <mi>packet</mi> <mo>_</mo> <msub> <mi>size</mi> <mi>i</mi> </msub> <mo></mo> </mrow> <mrow> <mi>Ty</mi> <mo>-</mo> <mi>Tx</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow> </math>
where Rate denotes a data transmission Rate during which the transmitting-end device transmits a packet data packet x until it transmits a packet data packet y, Ty denotes a time when the packet data packet y is transmitted, Tx denotes a time when the packet data packet x is transmitted,
Figure FSA00000271071700032
which represents the sum of the total number of bits transmitted during the period from the transmission of packet x to the transmission of packet y by the transmitting device.
10. A network device, comprising:
the system comprises an acquisition module, a transmission module and a receiving module, wherein the acquisition module is used for acquiring network bandwidth information of a data transmission path between transmitting end equipment and receiving end equipment;
the processing module is used for adjusting the data sending rate according to the network bandwidth information acquired by the acquisition module;
and the sending module is used for sending the grouped data to the receiving terminal equipment according to the data sending rate adjusted and processed by the processing module.
11. The network device according to claim 10, wherein the obtaining module is specifically configured to calculate and obtain the network bandwidth information according to the received acknowledgement information in the acknowledgement message sent by the receiving end device and the receiving time of the acknowledgement message; or
Calculating to obtain the network bandwidth information according to the received acknowledgement information in at least two acknowledgement messages sent by the receiving terminal equipment, the time information contained in the next acknowledgement message and the time information contained in the previous acknowledgement message; or
Receiving a confirmation message sent by the receiving end equipment, and acquiring network bandwidth information from the confirmation message, wherein the network bandwidth information is acquired by the receiving end equipment through calculation according to the data volume of the packet data packets which are averagely received in unit time or acquired by the receiving end equipment from a network function entity with a bandwidth measurement or bandwidth management function; or
And acquiring the network bandwidth information from a network function entity with a bandwidth measurement or bandwidth management function.
12. A congestion control system, comprising: a sending-end device and a receiving-end device,
the sending end equipment is used for acquiring network bandwidth information of a data transmission path between the sending end equipment and the receiving end equipment; adjusting the data sending rate according to the network bandwidth information; sending packet data to the receiving end equipment according to the adjusted data sending rate;
the receiving end device is configured to receive the packet data sent by the sending end device.
13. The congestion control system according to claim 12, wherein the sending end device is specifically configured to calculate and obtain the network bandwidth information according to the received acknowledgment information and the reception time of the acknowledgment information included in the at least two acknowledgment messages sent by the receiving end device; or calculating to obtain the network bandwidth information according to the received acknowledgement information in at least two acknowledgement messages sent by the receiving end device, the time information contained in the next acknowledgement message and the time information contained in the previous acknowledgement message.
14. The congestion control system according to claim 12, wherein the receiving end device is specifically configured to send a confirmation message including network bandwidth information to the sending end device, where the network bandwidth information is obtained by the receiving end device through calculation according to an average received data amount of the packet data packets in a unit time.
15. The congestion control system according to claim 12, further comprising:
and the network function entity is used for monitoring and acquiring network bandwidth information and sending the network bandwidth information to the sending end equipment, or sending the network bandwidth information to the receiving end equipment and sending the network bandwidth information to the sending end equipment through the receiving end equipment.
CN2010102812104A 2010-09-13 2010-09-13 Congestion control method and system as well as network equipment Pending CN102404187A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2010102812104A CN102404187A (en) 2010-09-13 2010-09-13 Congestion control method and system as well as network equipment
PCT/CN2011/075163 WO2011144141A1 (en) 2010-09-13 2011-06-02 Method, system and network device for congestion control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102812104A CN102404187A (en) 2010-09-13 2010-09-13 Congestion control method and system as well as network equipment

Publications (1)

Publication Number Publication Date
CN102404187A true CN102404187A (en) 2012-04-04

Family

ID=44991203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102812104A Pending CN102404187A (en) 2010-09-13 2010-09-13 Congestion control method and system as well as network equipment

Country Status (2)

Country Link
CN (1) CN102404187A (en)
WO (1) WO2011144141A1 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102780621A (en) * 2012-07-23 2012-11-14 北京星网锐捷网络技术有限公司 Method and device for sending uplink data packets and network equipment
CN103001835A (en) * 2012-12-29 2013-03-27 电信科学技术第一研究所 Network bandwidth test method and system based on data transmission
CN105430035A (en) * 2014-09-18 2016-03-23 腾讯科技(北京)有限公司 Network data uploading method and device
WO2016095568A1 (en) * 2014-12-19 2016-06-23 华为技术有限公司 Data transmission method and apparatus
CN106341738A (en) * 2015-07-08 2017-01-18 杭州海康威视数字技术股份有限公司 Streaming media network transmission bandwidth calculation method, server and system
CN107800642A (en) * 2016-08-31 2018-03-13 北京金山云网络技术有限公司 A kind of jamming control method and device
CN108092888A (en) * 2017-10-31 2018-05-29 华为技术有限公司 A kind of transmission method based on Overlay networks, gateway and Transmission system
CN108668323A (en) * 2018-05-08 2018-10-16 Oppo广东移动通信有限公司 Transmission rate adjustment method and related device
CN108781179A (en) * 2016-05-16 2018-11-09 日本电气株式会社 Communication equipment, communication system, communication means and there is the recording medium of signal procedure in above-noted
WO2019062589A1 (en) * 2017-09-30 2019-04-04 华为技术有限公司 Flow control method and apparatus
WO2019080794A1 (en) * 2017-10-27 2019-05-02 Huawei Technologies Co., Ltd. Method and apparatus for reducing network latency
WO2020063003A1 (en) * 2018-09-25 2020-04-02 华为技术有限公司 Congestion control method, and network apparatus
CN111654355A (en) * 2020-08-06 2020-09-11 展讯通信(上海)有限公司 Data transmission method, system, electronic device and storage medium
CN112532352A (en) * 2020-11-27 2021-03-19 长沙树根互联技术有限公司 Internet of things uploading parameter automatic adjustment method and device and terminal equipment
CN115174490A (en) * 2022-06-16 2022-10-11 浙江华睿科技股份有限公司 Data transmission method and network application terminal
CN116847360A (en) * 2022-12-30 2023-10-03 曲阜师范大学 Non-real-time data transmission method, device and storage medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105392160A (en) * 2015-10-08 2016-03-09 江苏天智互联科技股份有限公司 Embedded e-commerce system and interactive method thereof
CN113766564B (en) * 2021-10-15 2023-05-30 武汉联影医疗科技有限公司 Congestion control method, device, computer equipment and storage medium for data transmission

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101052043A (en) * 2007-04-30 2007-10-10 北京策度集成电路设计有限公司 TCP sending algorithm based on sending window and reciprocating time
CN101123606A (en) * 2007-07-13 2008-02-13 上海广电(集团)有限公司中央研究院 AVS transmission control method based on real time transmission protocol or real time control protocol
US20090113069A1 (en) * 2007-10-25 2009-04-30 Balaji Prabhakar Apparatus and method for providing a congestion measurement in a network

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100832537B1 (en) * 2006-12-01 2008-05-27 한국전자통신연구원 Multimedia data streaming server and method for changing a traffic in response to network bandwidth condition

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101052043A (en) * 2007-04-30 2007-10-10 北京策度集成电路设计有限公司 TCP sending algorithm based on sending window and reciprocating time
CN101123606A (en) * 2007-07-13 2008-02-13 上海广电(集团)有限公司中央研究院 AVS transmission control method based on real time transmission protocol or real time control protocol
US20090113069A1 (en) * 2007-10-25 2009-04-30 Balaji Prabhakar Apparatus and method for providing a congestion measurement in a network

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102780621A (en) * 2012-07-23 2012-11-14 北京星网锐捷网络技术有限公司 Method and device for sending uplink data packets and network equipment
CN103001835A (en) * 2012-12-29 2013-03-27 电信科学技术第一研究所 Network bandwidth test method and system based on data transmission
CN105430035A (en) * 2014-09-18 2016-03-23 腾讯科技(北京)有限公司 Network data uploading method and device
WO2016095568A1 (en) * 2014-12-19 2016-06-23 华为技术有限公司 Data transmission method and apparatus
US10560382B2 (en) 2014-12-19 2020-02-11 Huawei Technologies Co., Ltd. Data transmission method and apparatus
US10542064B2 (en) 2015-07-08 2020-01-21 Hangzhou Hikvision Digital Technology Co., Ltd. Method, server side and system for computing bandwidth of network transmission of streaming media
CN106341738A (en) * 2015-07-08 2017-01-18 杭州海康威视数字技术股份有限公司 Streaming media network transmission bandwidth calculation method, server and system
CN108781179A (en) * 2016-05-16 2018-11-09 日本电气株式会社 Communication equipment, communication system, communication means and there is the recording medium of signal procedure in above-noted
CN107800642A (en) * 2016-08-31 2018-03-13 北京金山云网络技术有限公司 A kind of jamming control method and device
US11323916B2 (en) 2017-09-30 2022-05-03 Huawei Technologies Co., Ltd. Flow control method and apparatus
WO2019062589A1 (en) * 2017-09-30 2019-04-04 华为技术有限公司 Flow control method and apparatus
CN111034254B (en) * 2017-10-27 2021-08-20 华为技术有限公司 Method and device for reducing network delay
WO2019080794A1 (en) * 2017-10-27 2019-05-02 Huawei Technologies Co., Ltd. Method and apparatus for reducing network latency
CN111034254A (en) * 2017-10-27 2020-04-17 华为技术有限公司 Method and device for reducing network delay
US10674394B2 (en) 2017-10-27 2020-06-02 Futurewei Technologies, Inc. Method and apparatus for reducing network latency
CN108092888A (en) * 2017-10-31 2018-05-29 华为技术有限公司 A kind of transmission method based on Overlay networks, gateway and Transmission system
CN108668323A (en) * 2018-05-08 2018-10-16 Oppo广东移动通信有限公司 Transmission rate adjustment method and related device
CN108668323B (en) * 2018-05-08 2022-05-13 Oppo广东移动通信有限公司 Transmission rate adjustment method and related device
WO2020063003A1 (en) * 2018-09-25 2020-04-02 华为技术有限公司 Congestion control method, and network apparatus
US11606297B2 (en) 2018-09-25 2023-03-14 Huawei Technologies Co., Ltd. Congestion control method and network device
CN111654355A (en) * 2020-08-06 2020-09-11 展讯通信(上海)有限公司 Data transmission method, system, electronic device and storage medium
CN112532352A (en) * 2020-11-27 2021-03-19 长沙树根互联技术有限公司 Internet of things uploading parameter automatic adjustment method and device and terminal equipment
CN115174490A (en) * 2022-06-16 2022-10-11 浙江华睿科技股份有限公司 Data transmission method and network application terminal
CN115174490B (en) * 2022-06-16 2023-10-17 浙江华睿科技股份有限公司 Data transmission method and network application terminal
CN116847360A (en) * 2022-12-30 2023-10-03 曲阜师范大学 Non-real-time data transmission method, device and storage medium
CN116847360B (en) * 2022-12-30 2024-04-02 曲阜师范大学 Non-real-time data transmission method, device and storage medium

Also Published As

Publication number Publication date
WO2011144141A1 (en) 2011-11-24

Similar Documents

Publication Publication Date Title
CN102404187A (en) Congestion control method and system as well as network equipment
CN112165355B (en) Satellite network-oriented UDP-based reliable data transmission method
EP2903192B1 (en) Packet handling method and forwarding device
US7869395B2 (en) Methods and apparatus for dynamically adjusting a data packet window size for data packet transmission in a wireless communication network
US6473399B1 (en) Method and apparatus for determining an optimum timeout under varying data rates in an RLC wireless system which uses a PDU counter
US8238361B2 (en) Scheduling and queue management with adaptive queue latency
US8824376B2 (en) Method for sending status information in mobile telecommunications system and receiver of mobile telecommunications
EP3075110B1 (en) Controlling a transmission control protocol window size
CN104093170B (en) Data transmission method and TCP agent device based on TCP
CN111193577B (en) Network system communication method and communication device using transmission timeout
WO2006027695A1 (en) Signaling a state of a transmission link via a transport control protocol
CN107534890B (en) Method for adaptive TTI adjustment and user equipment
CN110072254B (en) Data transmission method and related equipment thereof
KR102176176B1 (en) METHOD AND APPARATUS FOR CONTROLLING CONGESTION IN A WIRELESS NETWORK USING Transmission Control Protocol
JP2017143396A (en) User equipment and radio communication method
US20240275522A1 (en) System and method for dynamic adaption in data transfer in ultra-wideband communication
EP4415419A1 (en) System and method for dynamic adaption in data transfer in ultra-wideband communication
Santhappan et al. Visible: Virtual congestion control with boost acks for packet level steering in lwip networks
Bestak et al. Interactions between the TCP and RLC Protocols in UMTS

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120404