WO2011144141A1 - Method, system and network device for congestion control - Google Patents

Method, system and network device for congestion control Download PDF

Info

Publication number
WO2011144141A1
WO2011144141A1 PCT/CN2011/075163 CN2011075163W WO2011144141A1 WO 2011144141 A1 WO2011144141 A1 WO 2011144141A1 CN 2011075163 W CN2011075163 W CN 2011075163W WO 2011144141 A1 WO2011144141 A1 WO 2011144141A1
Authority
WO
WIPO (PCT)
Prior art keywords
network bandwidth
bandwidth information
end device
network
data transmission
Prior art date
Application number
PCT/CN2011/075163
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 WO2011144141A1 publication Critical patent/WO2011144141A1/en

Links

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

Definitions

  • the embodiments of the present invention relate to communication technologies, and in particular, to a congestion control method and system, and a network device. Background technique
  • TCP Transmission Control Protocol
  • Congestion control is an important control function for TCP to ensure reliable transmission of data in a packet network. Congestion control refers to the control of sending data to the network to avoid congestion caused by excessive data and beyond the limits that the intermediate network can withstand.
  • the sender device adjusts the size of the transmission window according to the number of received ACK messages, thereby adjusting the data transmission rate, thereby implementing congestion control.
  • the receiving end device receives the packet data and returns the ACK message, which is affected by many network factors. Therefore, the sending end device calculates the sending window size according to the number of received ACK messages, and performs congestion control according to the size of the sending window, thereby causing low control precision.
  • the embodiments of the present invention provide a congestion control method and system, and a network device, to solve the problem that the control precision of the transmitting device is low when performing congestion control.
  • a congestion control method including:
  • a network device including:
  • An acquiring module configured to acquire network bandwidth information of a data transmission path between the sender device and the receiver device;
  • a processing module configured to perform an adjustment process on the data sending rate according to the network bandwidth information acquired by the acquiring module
  • a sending module configured to send, according to the processing module, the processed data transmission rate, to send the packet data to the receiving end device.
  • a congestion control system including: a sender device and a receiver device, where the sender device is configured to acquire a network bandwidth of a data transmission path between the sender device and the receiver device. And adjusting the data transmission rate according to the network bandwidth information; and sending the packet data to the receiving end device according to the adjusted data transmission rate;
  • the receiving end device is configured to receive packet data sent by the sending end device.
  • the transmitting end device adjusts the data transmission rate by using the network bandwidth information, so that the data sending rate changes around the network bandwidth information, and therefore, the sending end device adjusts the data sending rate.
  • the precision is high so that there is no large fluctuation in the sliding window mechanism.
  • the data transmission rate of the packet data sent by the sender device is matched with the capability of the data transmission path, so that the packet data can be transmitted on the uncongested data transmission path, and the network performance can be fully utilized to avoid waste of network resources. .
  • Embodiment 1 is a flowchart of Embodiment 1 of a congestion control method according to the present invention
  • Embodiment 2 is a flowchart of Embodiment 2 of a congestion control method according to the present invention
  • Embodiment 3 is a flowchart of Embodiment 3 of a congestion control method according to the present invention.
  • Embodiment 4 is a flowchart of Embodiment 4 of a congestion control method according to the present invention.
  • Embodiment 5 is a flowchart of Embodiment 5 of a congestion control method according to the present invention.
  • FIG. 6 is a schematic structural diagram of an embodiment of a network device according to the present invention.
  • Figure ⁇ is a schematic structural view of Embodiment 1 of the congestion control system of the present invention.
  • FIG. 8 is a schematic structural diagram of Embodiment 2 of a congestion control system according to the present invention. detailed description
  • Embodiment 1 is a flowchart of Embodiment 1 of a congestion control method according to the present invention. As shown in FIG. 1, the method in this embodiment may include:
  • Step 101 Obtain network bandwidth information of a data transmission path between the source device and the receiver device.
  • Packet networks have two capabilities: packet data forwarding capabilities and packet data caching capabilities. There is no direct connection between these two capabilities.
  • the router As a packet storage and forwarding device, the router has a strong queue storage function. That is to say, the packet data sent by the sending device to the receiving device can be cached in the router and then forwarded to the receiving device. Therefore, For this part of the buffered packet data, the time when the ACK message is fed back to the sender device will be Delay. Or, the data transmission path, under the influence of many other network factors, discards the ACK message fed back to the sender device, causing the sender device to mistakenly believe that the network data is congested, resulting in packet data transmission failure.
  • the transmitting device since the delayed ACK message is not received within a certain period of time, the transmitting device will consider that congestion occurs, and then reduce the size of the transmission window, and subsequently receive these delayed ACK messages. At the same time, the transmitting device will consider the congestion state to be eliminated, and then increase the size of the sending window. Therefore, the congestion control method of the prior art is likely to cause a large fluctuation in the size of the transmission window, and the network forwarding capability cannot be fully utilized effectively. Moreover, the transmitting device cannot confirm whether the packet data is transmitted in the adjusted transmission window, and congestion occurs. When the transmission window is increased beyond the actual packet forwarding capability of the network, the excess packet data will be discarded by the network, resulting in waste of network resources.
  • the transmitting device can adjust the packet according to the current network environment.
  • the data transmission rate of the data to avoid congestion.
  • the sender device can obtain network bandwidth information of a data transmission path between the sender device and the receiver device.
  • the embodiment does not limit the manner in which the source device obtains the network bandwidth information.
  • the network bandwidth information is not included in the message, and the network device obtains the network bandwidth information from the network entity.
  • the network bandwidth information is not limited to be sent by the receiving device, and may be sent to any network entity in the network that has network bandwidth monitoring or network bandwidth management functions.
  • a person skilled in the art can adjust the monitoring or management period of the network bandwidth information as needed, or adjust the bandwidth management monitoring mode to event triggering, so that the sending end device can flexibly provide according to the network bandwidth monitoring or the network bandwidth management unit.
  • the network bandwidth information adjusts the data transmission rate.
  • Step 102 Perform adjustment processing on a data transmission rate according to the network bandwidth information.
  • the sending device can learn the current network environment. Ben Those skilled in the art can understand that the network bandwidth information is not limited to the network bandwidth itself, but represents any parameter that can reflect the network bandwidth information.
  • the transmitting device can increase the data sending rate correspondingly, and the network bandwidth reflected by the network bandwidth information is poor. For example, when congestion has occurred, The sender device can reduce the data transmission rate accordingly. Therefore, in this embodiment, the network bandwidth information can be used as a reference standard for adjusting the data transmission rate, so that the data transmission rate changes around the network bandwidth information. Therefore, the accuracy of the data transmission rate adjustment by the transmitting device is higher. High, without the large fluctuations of the sliding window mechanism.
  • the operation of adjusting the data transmission rate may be performed by the sender device directly adjusting the data transmission rate according to the network bandwidth information, or may be expressed by the sender device according to the network bandwidth information. Adjust the size of the send window.
  • the data transmission rate may be the number of data packets transmitted per unit time or the number of data bits transmitted per unit time.
  • Step 103 Send packet data to the receiving end device according to the data transmission rate after the adjustment processing.
  • the sending end device Since the network bandwidth information can objectively reflect the network environment, and does not depend on the number of ACK messages received by the sending end device and the size of the sending window, the sending end device sends the packet data at the adjusted data sending rate.
  • the capabilities of the data transmission path are matched, so that the packet data can be transmitted on the uncongested data transmission path, and the network performance can be fully utilized to avoid waste of network resources.
  • the source device adjusts the data transmission rate by using the network bandwidth information, so that the data transmission rate changes around the network bandwidth information, so the sender device adjusts the data transmission rate.
  • the accuracy is high without significant fluctuations.
  • the sending end device transmits the packet data at the adjusted data transmission rate to match the capability of the data transmission path, thereby enabling the packet data to be transmitted without congestion. Transmission on the transmission path can fully utilize the network performance and avoid waste of network resources.
  • Embodiment 2 is a flowchart of Embodiment 2 of the congestion control method of the present invention.
  • the network bandwidth information is obtained by the device at the sending end.
  • the method in this embodiment may include:
  • Step 201 The sending end device establishes a TCP connection with the receiving end device.
  • the initiator of establishing a TCP connection can be either a sender device or a sink device.
  • Step 202 The sending device initializes a congestion control parameter.
  • the sender device can initialize congestion control parameters, such as the number of packets that can be sent before receiving the acknowledgment message, the bandwidth/rate calculation period 1, the data transmission rate, and the increase of the path bandwidth.
  • congestion control parameters such as the number of packets that can be sent before receiving the acknowledgment message, the bandwidth/rate calculation period 1, the data transmission rate, and the increase of the path bandwidth.
  • Step 203 The sending end device sends the first packet data packet to the receiving end device, and records the sending time ⁇ 0, and then continues to send other packet data packets until the N packet data packets are completely sent.
  • Step 204 The sending end device receives the first acknowledgement message sent by the receiving end device, records the receiving time 71, and calculates an initial data sending rate Rate.
  • the receiving end device may send an ACK message to the sending end device, where the ACK message includes a byte sequence number of the expected next packet data packet, the byte
  • the sequence number can be used to indicate the packet data byte that has been received.
  • the expected byte sequence number of the next packet data packet is X, which means that the byte sequence number is the packet data byte before X-1. All have been received continuously, so that the sender device packet data byte can be successfully received.
  • the sending device After receiving the first ACK message, the sending device can record the receiving time ⁇ 1 of the ACK message and enter the rate controlled phase.
  • this embodiment can calculate the initial data transmission rate Rate by applying formula (4).
  • Rate represents the data transmission rate during the transmission of the packet data packets X to y by the transmitting device
  • Ty represents the time at which the packet data packet y is transmitted
  • Tx represents the time at which the packet data packet X is transmitted.
  • 8 ⁇ packet _ size i represents the sum of the total number of bits transmitted by the transmitting device during the transmission of the packet data X ⁇ y.
  • Step 205 The sending end device receives multiple ACK messages sent by the receiving end device, and calculates and obtains network bandwidth information according to the received ACK message.
  • the sending end device may calculate and obtain network bandwidth information according to the received acknowledgment information included in the at least two ACK messages sent by the receiving end device and the receiving time of the acknowledgment message.
  • the acknowledgement information is sent by the receiving end device to the sending end device in an ACK message.
  • the receiving end device may send an ACK message to the sending end device, indicating that the packet data packet sent by the sending end device is successfully received, and the acknowledgement information included in the ACK message may be expected.
  • the byte sequence number of the next packet packet may also contain a selective acknowledgment parameter.
  • the selective confirmation parameter is used to indicate the sending end device, and the receiving end device receives the packet data packet that is not continuously received in sequence. For example, the receiving end device indicates that the byte sequence number of the next packet data packet expected by the transmitting end device is XI.
  • the selective acknowledgement parameter indicates that the packet data byte with sequence number X2 ⁇ X3 has been received, which means that the receiving device waits to receive the packet data packet with the byte sequence number XI - X2-1 and the byte sequence number greater than X3. .
  • the transmitting device After receiving each ACK message, the transmitting device records the receiving time of the ACK message, for example, time T2, ⁇ 3, ⁇ 4, and confirms the amount of data that has been successfully received by the receiving device according to the received ACK message and the received data.
  • the receiving time of the previous ACK message and the last ACK message is calculated to obtain network bandwidth information.
  • the sending device may select two acknowledgment messages as needed, or select the first acknowledgment message and the last acknowledgment message in the period according to the bandwidth measurement period, and the bandwidth calculation period has passed after establishing the TCP connection in step 201.
  • the parameter initialization in step 202 is given. It can be understood by those skilled in the art that by adjusting the bandwidth calculation period, the update frequency of the packet transmission rate can be adjusted.
  • the network bandwidth information can be calculated by using the formula (1), ⁇ J . ⁇ ⁇ 8x [(Seq2 - Seql) + (SACK2 block - SACK1 block)], 1
  • T ACK2 - T ACK1 J Bandwidth is the network bandwidth
  • Seq2 is the consecutive acknowledgment sequence number of the next ACK message
  • Seql is the consecutive acknowledgment sequence number of the previous ACK message
  • SACK2_block is the word of the selective acknowledgment parameter in the latter ACK message.
  • the number of sections, SACKl_block is the number of bytes of the selective acknowledgment parameter in the previous ACK message
  • T_ACK2 is the reception time of the latter ACK message
  • T_ACK1 is the reception time of the previous ACK message.
  • the sender device can only use the continuous acknowledgment message or the ACK message with the selective acknowledgment parameter for bandwidth calculation, and cannot use the duplicate acknowledgment message for bandwidth calculation.
  • Seql and Seq2 are the sequence numbers of the packet data packets, because the packet sequence number is used for cyclic scrolling. For example, the cycle number of the sequence number is 0 ⁇ 65535, then the next sequence number of 65535 is 0. For the case of Seql ⁇ Seq2, use the formula (1) to calculate
  • Cycle is the sequence number cycle. It should be noted that when the ACK message has a timestamp option parameter, T_ACK1 and T ACK2 can be replaced by the value of the timestamp in the respective ACK message.
  • the timestamp option parameter in the ACK message refers to the time information of the ACK message sent by the receiving device in the message when the ACK message is sent by the receiving device, and the transmitting device uses the time information to calculate the bandwidth parameter relative to the time. The calculated reception time calculates the bandwidth parameter, and the calculation accuracy is high.
  • Steps 202 to 205 above complete the process of the network device acquiring the network bandwidth information.
  • Step 206 Perform adjustment processing on the data transmission rate according to the network bandwidth information.
  • the adjustment processing may adopt a periodic processing manner, for example, periodically measuring a transmission rate of packet data, acquiring network bandwidth information, and adjusting a data transmission rate according to network bandwidth information during data transmission.
  • the sending end device adjusts the data sending rate to be greater than the rate of the network bandwidth information; if the repeated acknowledgment message is received or continuously received within the data sending rate adjusting period After multiple repeated acknowledgement messages, the sender device adjusts the data transmission rate to a rate less than the network bandwidth, and after receiving the normal acknowledgement message, calculates new network bandwidth information, and re-adjusts the network bandwidth information according to the new network bandwidth information.
  • the transmitting device adjusts the data transmission rate to a rate less than the network bandwidth or maintains a rate equal to the known network bandwidth, and re-receives After the confirmation message, the new network bandwidth information is calculated, and the data transmission rate is adjusted according to the new network bandwidth information.
  • the transmitting device receives a plurality of repeated acknowledgment messages set, for example, when the parameter is initialized, it is necessary to immediately resend the missing packet data, and immediately reduce the data transmission rate Rate of the transmitted packet data, for example, using parameter initialization.
  • the sending end device After the sending end device receives the new ACK message, the sending end device can recalculate the network bandwidth information, and adjust the data sending rate of the packet data packet according to the new network bandwidth information.
  • the source device can recalculate the network bandwidth information and adjust the data transmission rate of the packet data according to the new network bandwidth information.
  • the sending end device may also use the ratio of the average size of the sent packet data packet to the network bandwidth as the data sending rate, and the ratio is used as the number of packet data packets sent per second, and controls the sending end device to send the packet data packet. s speed.
  • Step 207 Send packet data to the receiving end device according to the data transmission rate after the adjustment processing.
  • step 206 and step 207 are repeated, and the sending device records the time of all the data packets being sent. If the data transmission rate is calculated periodically, as long as the rate calculation period arrives, the transmitting device calculates the data transmission rate according to the packet data and the cycle time transmitted in the rate calculation period. If the network bandwidth is calculated periodically, the transmitting device calculates the network bandwidth information as soon as the bandwidth calculation period arrives, and adjusts the data transmission rate in the data transmission rate adjustment period according to the newly calculated network bandwidth information.
  • the bandwidth calculation period and the data transmission rate calculation period used by the transmitting device can be set to be the same or close, so that the adjusted data transmission rate is as close as possible to the current network environment, thereby improving the adjustment precision.
  • the sender device can calculate the network bandwidth information according to the ACK message received in the bandwidth calculation period, so that the data transmission rate can be adjusted by using the network bandwidth information, so that the data transmission rate is around the network bandwidth.
  • the information changes and changes. Therefore, the accuracy of the data transmission rate adjustment by the transmitting device is high, and there is no significant Degree of fluctuations.
  • the transmitting end device transmits the packet data at the adjusted data transmission rate to match the capability of the data transmission path, so that the packet data can be transmitted on the uncongested data transmission path, and the network performance can be fully utilized to avoid Waste of network resources.
  • FIG. 3 is a flowchart of Embodiment 3 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 device and sent to a transmitting device, and the method in this embodiment is used.
  • 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, where the bandwidth parameter indication is used to indicate that the requesting end device includes network bandwidth information in the ACK message.
  • SYN synchronization/start message
  • the sender device may include a bandwidth parameter indication in the establishment of the connection connection of the TCP connection, for example, the SYN message, the bandwidth parameter indication may indicate the receiving device, and the sending device supports the network bandwidth information in the ACK message, and the The device uses network bandwidth information in this TCP session.
  • the SYN message may also include a bandwidth/rate calculation period recommended by the source device.
  • the sending end device initiates the establishment of a TCP connection to the receiving end. It can be understood by those skilled in the art that the originating TCP connection may also be the receiving end device.
  • Step 302 The receiving end device sends a synchronization/confirmation message (SYN/ACK) to the sending end device, where the synchronization/confirmation message includes a bandwidth parameter indication.
  • SYN/ACK synchronization/confirmation message
  • the receiving end device After the receiving end device receives the synchronization/start message with the bandwidth parameter indication, if the receiving end device also supports the bandwidth parameter in the ACK message, and is willing to use the network bandwidth information in the current TCP session with the transmitting device, then The receiving end device may also include a bandwidth parameter indication in the SYN/ACK message fed back to the transmitting device.
  • the S YN/ACK message is also It can include the bandwidth/rate calculation period that the receiving device can support.
  • Step 303 The sending end device sends an ACK message to the receiving end device, where the ACK message includes a bandwidth parameter indication.
  • the ACK message may also include a bandwidth/rate calculation period negotiated between the sender device and the sink device.
  • the TCP connection between the sender device and the sink device is established, and the sender device and the receiver device agree to include network bandwidth information in the ACK message.
  • Step 304 The sender device initializes a congestion control parameter.
  • Step 305 The sending end device sends a packet data packet to the receiving end device.
  • the sender device can record the sending time of each packet data packet.
  • Step 306 After receiving the packet data packet 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.
  • the receiving end device may send an ACK message to the sending end device, indicating that the packet data packet sent by the sending end device is successfully received, and the ACK message may include the expected next packet.
  • the byte order number of the packet may also contain a selective acknowledgment parameter.
  • the selective confirmation parameter is used to indicate the sending end device, and the receiving end device receives the packet data packet that is not continuously received in sequence. For example, the receiving end device indicates that the byte sequence number of the next packet data packet expected by the transmitting end device is XI.
  • the selective acknowledgement parameter indicates that the packet data byte with the sequence number is X2 ⁇ X3 has been received, which means that the receiving device waits to receive the packet data with the byte sequence number XI - X2-1 and the byte sequence number greater than X3. package.
  • the receiving device may obtain network bandwidth information by calculating the data amount of the average received packet data in a unit time, for example, according to The sum of the data amounts of all the packet data packets received in a certain period of time, and the receiving time of the first packet data packet received during the time period and the receiving time of the last packet data packet, and calculating the network bandwidth information, specifically
  • the calculation method may be the sum of the data amounts of all the data packets in a certain period of time divided by the duration of the time period.
  • the sending end device may calculate the initial data sending rate Rate according to formula (4), and calculate the data sending rate Rate according to the formula (3) period in the subsequent data sending process, and the implementation principle thereof. Similar, it will not be described here.
  • Step 307 After receiving the ACK message including the network bandwidth information, the sending device may adjust the data sending rate according to the network bandwidth information.
  • the adjustment processing can be implemented by using the specific implementation manner described in the foregoing step 206, and details are not described herein again.
  • Step 308 The sending end device sends a packet data packet to the receiving end device according to the data sending rate after the adjustment processing.
  • the receiving device can calculate the network bandwidth information, and calculate the acquired network bandwidth information.
  • the device sends the data to the sending device, so that the sending device can adjust the data sending rate in the data sending rate adjustment period according to the newly calculated network bandwidth information.
  • the bandwidth calculation period and the data transmission rate adjustment period used by the transmitting device can be set to be the same or close, so that the adjusted data transmission rate is as close as possible to the current network environment, thereby improving the adjustment precision.
  • the receiving end device may calculate the difference between the number of packet data packets received during the period and the reception time of the first packet data packet in the bandwidth calculation period and the reception time of the last packet data packet.
  • the value, the network bandwidth information is calculated, and the calculated network bandwidth information is sent to the sending device by using an acknowledgement message, so that the sending device can adjust the data sending rate according to the network bandwidth information, so that the data sending rate is around the network.
  • the bandwidth information changes due to changes in the bandwidth information. Therefore, the accuracy of the data transmission rate adjustment by the transmitting device is high without significant fluctuations.
  • the network bandwidth information calculated by the embodiment is more accurate than the technical solution of the second embodiment of the congestion control method.
  • the sending end device transmits the packet data packet at the adjusted data transmission rate to match the capability of the data transmission path, so that the packet data packet can be transmitted on the uncongested data transmission path, and the network performance can be fully utilized. , to avoid wasting network resources.
  • a sender device may obtain network bandwidth information from a network function entity having a bandwidth measurement or bandwidth management function.
  • the method of an embodiment may include:
  • Step 401 The sending end device establishes a TCP session with the receiving end device.
  • Step 402 The source device acquires network bandwidth information from a network function entity having a bandwidth measurement or bandwidth management function.
  • the manner in which the sending end device obtains the network bandwidth information may be that the sending end device directly sends a query request to the network function entity, and receives a response message that is sent by the network function entity and carries the network bandwidth information, or may be a network function entity actively
  • the sender device sends network bandwidth information.
  • the above two methods can be used to query/response and indicate transactions periodically, or event-triggered query/response and indication transactions.
  • the sending device queries the network bandwidth information after successfully establishing a TCP session, and the sending device receives the information. After the acknowledgment message is repeated, the network bandwidth information is queried, the network bandwidth information is queried when the sending device fails to confirm the timeout, or the network function entity detects the network bandwidth information and sends the network bandwidth information to the sending device immediately.
  • the network function entity with bandwidth measurement or bandwidth management function can be either on the sender device or on other devices. If the network function entity is on other devices, the sender device can Establish a network connection with the device.
  • the network function entity may be a channel management unit of an Asynchronous Transfer Mode (ATM), which may obtain a configured bandwidth of an ATM channel, or may be a wireless network control unit of a radio access network. It can get empty The bandwidth capability of the medium interface radio bearer, or may be a resource management unit of the router, which can obtain the packet forwarding capability allocated for the specified interface.
  • ATM Asynchronous Transfer Mode
  • the sending end device may immediately retransmit the missing packet data packet, and immediately query the network function entity for the network bandwidth information;
  • the missing packet data packet can also be retransmitted immediately, and the network function entity is immediately queried for network bandwidth information.
  • Step 403 Perform adjustment processing on the data sending rate according to the network bandwidth information.
  • Step 404 Send packet data to the receiving end device according to the data transmission rate after the adjustment processing.
  • Step 403 and step 404 can be repeatedly executed in the TCP session, and the implementation methods of the steps 403 and 404 are similar to the implementation methods of the first embodiment to the third embodiment of the congestion control method, and are not described herein again.
  • the sender device can obtain the network bandwidth information from a network function entity having a bandwidth measurement or bandwidth management function, thereby eliminating the burden of calculating the network bandwidth information by the sender device or the receiver device itself. And can obtain more accurate network bandwidth information, the sending device can directly use the network function entity to monitor the acquired network bandwidth information to adjust the data transmission rate, so that the data sending rate changes around the network bandwidth information, therefore, The transmitting device adjusts the data transmission rate with high precision without significant fluctuations. Moreover, the transmitting end device transmits the packet data at the adjusted data transmission rate to match the capability of the data transmission path, so that the packet data can be transmitted on the uncongested data transmission path, and the network performance can be fully utilized to avoid Waste of network resources. In addition, the network function entity can be maintained separately without changing the sender device and the sink device.
  • a receiving end device may be a network functional entity having bandwidth measurement or bandwidth management functions. Obtaining the network bandwidth information, and then sending the network bandwidth information to the sending device, the method in this embodiment may include:
  • Step 501 The sending end device establishes a TCP session with the receiving end device.
  • Step 502 The receiving end device acquires network bandwidth information from a network function entity having a network bandwidth measurement function or a network bandwidth management function.
  • the manner in which the receiving end device obtains the network bandwidth information may be that the receiving end device directly sends a query request to the network function entity having the network bandwidth measurement function or the network bandwidth management function, and receives the network bandwidth information sent by the network function entity.
  • the response message may also be 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 above two methods can be used for query/response and indication transactions periodically, or event-triggered query/response and indication transactions.
  • the receiving device queries the network bandwidth information after successfully establishing a TCP session, and the receiving device is in the direction.
  • the network function entity that queries the network bandwidth information or has the network bandwidth measurement function or the network bandwidth management function after transmitting the duplicate acknowledgement message sends the network bandwidth information to the receiving end device immediately after the network bandwidth changes.
  • the network function entity having the network bandwidth measurement function or the network bandwidth management function may be on the receiving end device or on other devices, if the network functional entity is on other devices, The receiving device can establish a network connection with the device.
  • the network function entity may be an ATM channel management unit, which may obtain the configured bandwidth of the ATM channel, or may be a radio network control unit of the radio access network, which may obtain the bandwidth capability of the air interface radio bearer allocation. Or it may be a resource management unit of the router, which can obtain the packet forwarding capability assigned to the specified interface.
  • Step 503 The receiving end device sends the network bandwidth information to the sending end device.
  • the receiving end device may send network bandwidth information to the sending end device through an ACK message, or may send network bandwidth information to the sending end device by using a new session message.
  • Sending terminal After receiving the message containing the network bandwidth information, if the sending device does not support the method of adjusting the data sending rate according to the network bandwidth information, the message may be discarded. If the sending device supports, the network bandwidth may be received according to the received network bandwidth. The information adjusts the data transmission rate of the packet data packet.
  • Step 504 The sending end device adjusts the data sending rate according to the network bandwidth information.
  • Step 505 Send packet data to the receiving end device according to the data transmission rate after the adjustment processing.
  • Steps 502 to 505 can be repeatedly executed in the TCP session, and the implementation methods of the steps 504 and 505 are similar to the implementation methods of the first embodiment to the third embodiment of the congestion control method, and are not described herein again.
  • the receiving end device may acquire 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, thereby eliminating
  • the sender device or the receiver device itself calculates the burden of network bandwidth, and can obtain more accurate network bandwidth information.
  • the transmitting device can directly adjust the data sending rate by using the network bandwidth information acquired from the receiving device, so that the data sending rate changes around the network bandwidth. Therefore, the accuracy of the data transmission rate adjustment by the transmitting device is higher. High, without significant fluctuations.
  • the transmitting end device transmits the packet data at the adjusted data transmission rate to match the capability of the data transmission path, so that the packet data can be transmitted on the uncongested data transmission path, and the network performance can be fully utilized to avoid Waste of network resources.
  • the network function entity can be maintained separately without changing the sender device and the sink device.
  • FIG. 6 is a schematic structural diagram of an embodiment of a network device according to the present invention.
  • the network device in this embodiment includes: an obtaining module 11, a processing module 12, and a sending module 13, where the obtaining module 11 is configured to acquire a sending end device.
  • the processing module 12 is configured to adjust the data sending rate according to the network bandwidth information acquired by the acquiring module 11; the sending module 13 is configured to adjust the processing according to the processing module 12 Number Packet data is transmitted to the receiving device according to the transmission rate.
  • the network device of this embodiment may be used to implement the technical solution of the first embodiment of the congestion control method shown in FIG. 1, and the implementation principle is similar to the technical effect, and details are not described herein again.
  • the obtaining module 1 1 may be specifically configured to calculate, according to the received confirmation information in the acknowledgement message sent by the receiving device and the receiving time of the acknowledgement message, Calculating the network bandwidth information; or calculating and acquiring the network according to the received confirmation information in the confirmation message sent by the receiving end device, the time information included in the subsequent confirmation message, and the time information included in the previous confirmation message.
  • the acknowledgment message includes network bandwidth information
  • the network bandwidth information is obtained by the receiving end device to calculate the data volume of the average received packet data packet per unit time Or obtained from a network function entity having bandwidth measurement or bandwidth management functions; or acquiring the network bandwidth information from a network function entity having bandwidth measurement or bandwidth management functions.
  • the obtaining module 1 1 can obtain the network bandwidth information in the foregoing manner, and the methods respectively correspond to the second embodiment to the fourth embodiment of the congestion control method shown in FIG. 2 to FIG. 4, and the implementation principle and technical effects are similar, and details are not described herein again. .
  • Figure ⁇ is a schematic structural diagram of Embodiment 1 of the congestion control system of the present invention.
  • the system in this embodiment may include: a sender device 1 and a receiver device 2, where the sender device 1 is configured to acquire a sender device. 1 and network bandwidth information of the data transmission path between the receiving device 2; adjusting the data transmission rate according to the network bandwidth information; and transmitting the packet data to the receiving device 2 according to the adjusted data transmission rate;
  • the device 2 is configured to receive packet data sent by the source device 1.
  • the system of the present embodiment can be used to implement the technical solution of the first embodiment of the congestion control method shown in FIG. 1, and the implementation principle is similar and technical effects, and details are not described herein again.
  • the transmitting device 1 may be specifically configured to be sent according to the received device by the receiving device. Confirming the receipt time of the confirmation information and the confirmation message included in the message, and calculating the network bandwidth information; or receiving the confirmation information in the confirmation message sent by the receiving device, and the time included in the subsequent confirmation message. The information and the time information included in the previous confirmation message are calculated to obtain the network bandwidth information.
  • the transmitting device 1 and the receiving device 2 can perform the technical solution of the second embodiment of the congestion control method shown in FIG. 2, which has similar implementation principles and technical effects, and details are not described herein again.
  • the receiving device 2 can be specifically configured to send an acknowledgement message including network bandwidth information to the transmitting device 1, and the network bandwidth information is a receiving device. 2 Calculate the amount of data of the average received packet data per unit time.
  • the transmitting device 1 and the receiving device 2 can perform the technical solution of the third embodiment of the congestion control method shown in FIG. 3, and the implementation principle is similar and technical effects, and details are not described herein again.
  • FIG. 8 is a schematic structural diagram of Embodiment 2 of a congestion control system according to the present invention.
  • the system in this embodiment further includes: a network function entity 3, based on the system embodiment 1 shown in FIG.
  • the entity 3 is configured to monitor and acquire network bandwidth information, and send the network bandwidth information to the sending device 1 or send the network bandwidth information to the receiving device 2, and send the data to the transmitting device 1 through the receiving device 2.
  • the transmitting end device 1, the receiving end device 2, and the network function entity 3 may perform the technical solution of Embodiment 5 of the congestion control method shown in FIG. 4 or the congestion control method embodiment shown in FIG. 5,
  • the implementation principle is similar and technical effects, and will not be described here.

Landscapes

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

Abstract

The embodiments of the present invention provide a method, system and network device for congestion control. The method for congestion control comprises the following steps: obtaining the network bandwidth information of the data transmission path between a transmission end device and a reception end device; adjusting a data transmission rate according to the network bandwidth information; transmitting packet data to the reception end device on the basis of the adjusted data transmission rate. In the embodiments of the present invention, the transmission end device performs adjustment on the data transmission rate with higher accuracy and without wide fluctuation. Further more, not only can the packet data be transmitted on a non congestion data transmission path, but also the network performance can be exhibited sufficiently, and thereby the waste of network resources is avoided.

Description

拥塞控制方法和系统以及网络设备  Congestion control method and system and network device
本申请要求于 2010 年 09 月 13 日提交中国专利局、 申请号为 201010281210.4、发明名称为"拥塞控制方法和系统以及网络设备"的中国专 利申请的优先权, 其全部内容通过引用结合在本申请中。 技术领域  The present application claims priority to Chinese Patent Application No. 201010281210.4, entitled "Congestion Control Method and System and Network Equipment", filed on September 13, 2010, the entire contents of in. Technical field
本发明实施例涉及通信技术, 尤其涉及一种拥塞控制方法和系统以及 网络设备。 背景技术  The embodiments of the present invention relate to communication technologies, and in particular, to a congestion control method and system, and a network device. Background technique
传输控制协议(Transmission Control Protocol, 以下简称: TCP )是目 前常用的一种传输层协议, 可以用于分组网络中的各节点之间进行可靠数 据传输。 而拥塞控制就是 TCP保证分组网络中数据可靠传输的一个重要控 制功能。 所谓拥塞控制, 是指控制向网络中发送数据, 避免因数据过多, 超出中间网络能够承受的限度而产生的拥塞。  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 for TCP to ensure reliable transmission of data in a packet network. Congestion control refers to the control of sending data to the network to avoid congestion caused by excessive data and beyond the limits that the intermediate network can withstand.
发送端设备是根据接收到的 ACK消息的数量, 调节发送窗口的大小, 进而来调整数据发送速率, 从而实现拥塞控制。 接收端设备接收分组数据 并返回 ACK消息受到众多网络因素的影响, 因此, 发送端设备根据接收到 的 ACK消息的数量计算发送窗口大小,并根据发送窗口大小进行拥塞控制, 从而造成控制精度较低。 发明内容  The sender device adjusts the size of the transmission window according to the number of received ACK messages, thereby adjusting the data transmission rate, thereby implementing congestion control. The receiving end device receives the packet data and returns the ACK message, which is affected by many network factors. Therefore, the sending end device calculates the sending window size according to the number of received ACK messages, and performs congestion control according to the size of the sending window, thereby causing low control precision. . Summary of the invention
本发明实施例提供一种拥塞控制方法和系统以及网络设备, 以解决发 送端设备进行拥塞控制时控制精度较低的问题。  The embodiments of the present invention provide a congestion control method and system, and a network device, to solve the problem that the control precision of the transmitting device is low when performing congestion control.
一方面, 提供了一种拥塞控制方法, 包括:  In one aspect, a congestion control method is provided, including:
获取发送端设备和接收端设备之间的数据传输路径的网络带宽信息; 根据所述网络带宽信息, 对数据发送速率进行调整处理; 根据调整处理后的数据发送速率, 向所述接收端设备发送分组数据。 一方面, 提供了一种网络设备, 包括: Obtaining network bandwidth information of a data transmission path between the sender device and the sink device; And adjusting the data transmission rate according to the network bandwidth information; and sending the packet data to the receiving end device according to the adjusted data transmission rate. In one aspect, a network device is provided, including:
获取模块, 用于获取发送端设备和接收端设备之间的数据传输路径的 网络带宽信息;  An acquiring module, configured to acquire network bandwidth information of a data transmission path between the sender device and the receiver device;
处理模块, 用于根据所述获取模块获取的网络带宽信息, 对数据发送 速率进行调整处理;  a processing module, configured to perform an adjustment process on the data sending rate according to the network bandwidth information acquired by the acquiring module;
发送模块, 用于根据所述处理模块调整处理后的数据发送速率, 向所 述接收端设备发送分组数据。  And a sending module, configured to send, according to the processing module, the processed data transmission rate, to send the packet data to the receiving end device.
一方面, 提供了一种拥塞控制系统, 包括: 发送端设备和接收端设备, 所述发送端设备, 用于获取所述发送端设备和所述接收端设备之间的 数据传输路径的网络带宽信息; 根据所述网络带宽信息, 对数据发送速率 进行调整处理; 根据调整处理后的数据发送速率, 向所述接收端设备发送 分组数据;  In one aspect, a congestion control system is provided, including: a sender device and a receiver device, where the sender device is configured to acquire a network bandwidth of a data transmission path between the sender device and the receiver device. And adjusting the data transmission rate according to the network bandwidth information; and sending the packet data to the receiving end device according to the adjusted data transmission rate;
所述接收端设备, 用于接收所述发送端设备发送的分组数据。  The receiving end device is configured to receive packet data sent by the sending end device.
本发明实施例提供的拥塞控制方法, 发送端设备通过釆用网络带宽信 息来调整数据传输速率, 使得数据发送速率围绕网络带宽信息的变化而变 化的, 因此, 发送端设备对数据发送速率进行调整的精度较高, 从而不会 出现滑动窗口机制中的大幅度的波动。 而且, 发送端设备发送分组数据的 数据发送速率是与数据传输路径的能力相匹配的, 因此既能够使分组数据 在无拥塞的数据传输路径上传输, 又能够充分发挥网络性能, 避免网络资 源浪费。 附图说明  In the congestion control method provided by the embodiment of the present invention, the transmitting end device adjusts the data transmission rate by using the network bandwidth information, so that the data sending rate changes around the network bandwidth information, and therefore, the sending end device adjusts the data sending rate. The precision is high so that there is no large fluctuation in the sliding window mechanism. Moreover, the data transmission rate of the packet data sent by the sender device is matched with the capability of the data transmission path, so that the packet data can be transmitted on the uncongested data transmission path, and the network performance can be fully utilized to avoid waste of network resources. . DRAWINGS
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对 实施例或现有技术描述中所需要使用的附图作一简单地介绍, 显而易见地, 下面描述中的附图是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。 In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, a brief description of the drawings used in the embodiments or the prior art description will be briefly described below. The drawings in the following description are some embodiments of the present invention, and those skilled in the art can obtain other drawings based on these drawings without any inventive labor.
图 1为本发明拥塞控制方法实施例一的流程图;  1 is a flowchart of Embodiment 1 of a congestion control method according to the present invention;
图 2为本发明拥塞控制方法实施例二的流程图;  2 is a flowchart of Embodiment 2 of a congestion control method according to the present invention;
图 3为本发明拥塞控制方法实施例三的流程图;  3 is a flowchart of Embodiment 3 of a congestion control method according to the present invention;
图 4为本发明拥塞控制方法实施例四的流程图;  4 is a flowchart of Embodiment 4 of a congestion control method according to the present invention;
图 5为本发明拥塞控制方法实施例五的流程图;  5 is a flowchart of Embodiment 5 of a congestion control method according to the present invention;
图 6为本发明网络设备实施例的结构示意图;  6 is a schematic structural diagram of an embodiment of a network device according to the present invention;
图 Ί为本发明拥塞控制系统实施例一的结构示意图;  Figure Ί is a schematic structural view of Embodiment 1 of the congestion control system of the present invention;
图 8为本发明拥塞控制系统实施例二的结构示意图。 具体实施方式  FIG. 8 is a schematic structural diagram of Embodiment 2 of a congestion control system according to the present invention. detailed description
为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本 发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描 述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前提 下所获得的所有其他实施例, 都属于本发明保护的范围。  The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is a partial embodiment of the invention, and not all of the embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
图 1为本发明拥塞控制方法实施例一的流程图, 如图 1所示, 本实施 例的方法可以包括:  1 is a flowchart of Embodiment 1 of a congestion control method according to the present invention. As shown in FIG. 1, the method in this embodiment may include:
步骤 101、获取发送端设备和接收端设备之间的数据传输路径的网络带 宽信息。  Step 101: Obtain network bandwidth information of a data transmission path between the source device and the receiver device.
分组网络具有两方面的能力: 分组数据转发能力以及分组数据緩存能 力, 这两方面的能力并没有直接的联系。 而路由器作为分组存储转发设备, 具有很强的队列存储功能, 也就是说, 发送端设备发送给接收端设备的分 组数据, 可以在路由器中进行队列緩存, 之后再转发给接收端设备, 因此, 对于这部分緩存的分组数据,其 ACK消息反馈到发送端设备的时间会有所 延迟。 又或者数据传输路径在众多其它网络因素的作用下, 丟弃了反馈给 发送端设备的 ACK消息, 致使发送端设备误认为是由于网络发生拥塞, 导 致分组数据发送失败。 因此, 如果釆用现有技术, 由于在一定时间内没有 接收到这些延迟的 ACK消息, 发送端设备将认为发生拥塞, 随即减小发送 窗口的大小, 而在后续又接收到这些延迟的 ACK消息时, 发送端设备又会 认为拥塞状态消除, 随即增大发送窗口的大小。 因此现有技术的拥塞控制 方法容易导致发送窗口的大小发生大幅度波动, 而无法充分有效利用网络 转发能力; 而且, 发送端设备也无法确认以调整后的发送窗口发送分组数 据是否会发生拥塞, 当发送窗口增大到超过网络实际分组转发能力时, 超 出的分组数据将会被网络丟弃, 从而造成网络资源的浪费。 Packet networks have two capabilities: packet data forwarding capabilities and packet data caching capabilities. There is no direct connection between these two capabilities. As a packet storage and forwarding device, the router has a strong queue storage function. That is to say, the packet data sent by the sending device to the receiving device can be cached in the router and then forwarded to the receiving device. Therefore, For this part of the buffered packet data, the time when the ACK message is fed back to the sender device will be Delay. Or, the data transmission path, under the influence of many other network factors, discards the ACK message fed back to the sender device, causing the sender device to mistakenly believe that the network data is congested, resulting in packet data transmission failure. Therefore, if the prior art is used, since the delayed ACK message is not received within a certain period of time, the transmitting device will consider that congestion occurs, and then reduce the size of the transmission window, and subsequently receive these delayed ACK messages. At the same time, the transmitting device will consider the congestion state to be eliminated, and then increase the size of the sending window. Therefore, the congestion control method of the prior art is likely to cause a large fluctuation in the size of the transmission window, and the network forwarding capability cannot be fully utilized effectively. Moreover, the transmitting device cannot confirm whether the packet data is transmitted in the adjusted transmission window, and congestion occurs. When the transmission window is increased beyond the actual packet forwarding capability of the network, the excess packet data will be discarded by the network, resulting in waste of network resources.
正是针对上述现有技术对发送端设备的发送窗口的大小, 也即对数据 发送速率进行调整时所产生的问题, 本实施例中, 发送端设备可以以当前 的网络环境为标准, 调整分组数据的数据发送速率, 以避免拥塞现象的发 生。  For the above-mentioned prior art, the size of the transmission window of the transmitting device, that is, the problem of adjusting the data transmission rate, in this embodiment, the transmitting device can adjust the packet according to the current network environment. The data transmission rate of the data to avoid congestion.
具体来说, 发送端设备可以获取发送端设备和接收端设备之间的数据 传输路径的网络带宽信息。  Specifically, the sender device can obtain network bandwidth information of a data transmission path between the sender device and the receiver device.
本实施例并不限制发送端设备获取网络带宽信息的方式, 例如不限制 该网络带宽信息是包含在哪种消息中的, 也不限制发送端设备是从哪个网 络实体获取该网络带宽信息的, 例如并不限制该网络带宽信息是由接收端 设备发送而来, 其可以为网络中具有网络带宽监测或者网络带宽管理功能 的任一网络实体发送而来。 而且, 本领域技术人员可以根据需要, 调整该 网络带宽信息的监测或者管理周期, 或者调整带宽管理监测方式为事件触 发, 从而使得发送端设备可以灵活地根据网络带宽监测或者网络带宽管理 单元提供的网络带宽信息调整数据发送速率。  The embodiment does not limit the manner in which the source device obtains the network bandwidth information. For example, the network bandwidth information is not included in the message, and the network device obtains the network bandwidth information from the network entity. For example, the network bandwidth information is not limited to be sent by the receiving device, and may be sent to any network entity in the network that has network bandwidth monitoring or network bandwidth management functions. Moreover, a person skilled in the art can adjust the monitoring or management period of the network bandwidth information as needed, or adjust the bandwidth management monitoring mode to event triggering, so that the sending end device can flexibly provide according to the network bandwidth monitoring or the network bandwidth management unit. The network bandwidth information adjusts the data transmission rate.
步骤 102、 根据所述网络带宽信息, 对数据发送速率进行调整处理。 发送端设备在获取该网络带宽信息后, 即可获知当前的网络环境。 本 领域技术人员可以理解, 该网络带宽信息并不限于网络带宽 bandwidth本 身, 而是表示能够反映网络带宽信息的任何参数。 Step 102: Perform adjustment processing on a data transmission rate according to the network bandwidth information. After obtaining the network bandwidth information, the sending device can learn the current network environment. Ben Those skilled in the art can understand that the network bandwidth information is not limited to the network bandwidth itself, but represents any parameter that can reflect the network bandwidth information.
具体来说, 该网络带宽信息所反映的网络环境较好, 则发送端设备可 以将数据发送速率相应地增大, 而该网络带宽信息所反映的网络环境较差, 例如已经发生拥塞时, 则发送端设备可以将数据发送速率相应地减小。 因 此, 本实施例可以釆用该网络带宽信息作为调整数据发送速率的参考标准 , 使得数据发送速率是围绕网络带宽信息的变化而变化的, 因此, 发送端设 备对数据发送速率进行调整的精度较高, 而不会出现滑动窗口机制那样的 大幅度的波动。  Specifically, if the network environment reflected by the network bandwidth information is better, the transmitting device can increase the data sending rate correspondingly, and the network bandwidth reflected by the network bandwidth information is poor. For example, when congestion has occurred, The sender device can reduce the data transmission rate accordingly. Therefore, in this embodiment, the network bandwidth information can be used as a reference standard for adjusting the data transmission rate, so that the data transmission rate changes around the network bandwidth information. Therefore, the accuracy of the data transmission rate adjustment by the transmitting device is higher. High, without the large fluctuations of the sliding window mechanism.
需要说明的是, 对数据发送速率的大小进行调整的操作, 既可以表现 为发送端设备根据该网络带宽信息, 对数据发送速率进行直接调整, 也可 以表现为发送端设备根据该网络带宽信息, 对发送窗口的大小进行调整。 另外, 该数据发送速率既可以为单位时间内发送的数据包的个数, 也可以 为单位时间内发送的数据的比特数。  It should be noted that the operation of adjusting the data transmission rate may be performed by the sender device directly adjusting the data transmission rate according to the network bandwidth information, or may be expressed by the sender device according to the network bandwidth information. Adjust the size of the send window. In addition, the data transmission rate may be the number of data packets transmitted per unit time or the number of data bits transmitted per unit time.
步骤 103、根据调整处理后的数据发送速率, 向所述接收端设备发送分 组数据。  Step 103: Send packet data to the receiving end device according to the data transmission rate after the adjustment processing.
由于该网络带宽信息能够客观地反映网络环境, 而并不依赖于发送端 设备接收到的 ACK消息的数量以及发送窗口的大小, 因此, 发送端设备以 调整后的数据发送速率发送分组数据是与数据传输路径的能力相匹配的, 因此既能够使分组数据在无拥塞的数据传输路径上传输, 又能够充分发挥 网络性能, 避免网络资源浪费。  Since the network bandwidth information can objectively reflect the network environment, and does not depend on the number of ACK messages received by the sending end device and the size of the sending window, the sending end device sends the packet data at the adjusted data sending rate. The capabilities of the data transmission path are matched, so that the packet data can be transmitted on the uncongested data transmission path, and the network performance can be fully utilized to avoid waste of network resources.
本实施例的拥塞控制方法中, 发送端设备通过釆用网络带宽信息来调 整数据传输速率, 使得数据发送速率是围绕网络带宽信息的变化而变化的 , 因此, 发送端设备对数据发送速率进行调整的精度较高, 而不会出现大幅 度的波动。 而且, 发送端设备以调整后的数据发送速率发送分组数据是与 数据传输路径的能力相匹配的, 因此既能够使分组数据在无拥塞的数据传 输路径上传输, 又能够充分发挥网络性能, 避免网络资源浪费。 In the congestion control method of the embodiment, the source device adjusts the data transmission rate by using the network bandwidth information, so that the data transmission rate changes around the network bandwidth information, so the sender device adjusts the data transmission rate. The accuracy is high without significant fluctuations. Moreover, the sending end device transmits the packet data at the adjusted data transmission rate to match the capability of the data transmission path, thereby enabling the packet data to be transmitted without congestion. Transmission on the transmission path can fully utilize the network performance and avoid waste of network resources.
下面釆用三个具体的实施例对本发明的技术方案进行详细说明。  The technical solutions of the present invention will be described in detail below using three specific embodiments.
图 2为本发明拥塞控制方法实施例二的流程图, 如图 2所示, 本实施 例的方法中, 网络带宽信息是由发送端设备自己计算获取的, 本实施例的 方法可以包括:  2 is a flowchart of Embodiment 2 of the congestion control method of the present invention. As shown in FIG. 2, in the method of this embodiment, the network bandwidth information is obtained by the device at the sending end. The method in this embodiment may include:
步骤 201、 发送端设备与接收端设备建立 TCP连接。  Step 201: The sending end device establishes a TCP connection with the receiving end device.
建立 TCP连接的发起方既可以为发送端设备, 也可以为接收端设备。 步骤 202、 发送端设备初始化拥塞控制参数。  The initiator of establishing a TCP connection can be either a sender device or a sink device. Step 202: The sending device initializes a congestion control parameter.
发送端设备与接收端设备建立 TCP连接后, 发送端设备可以初始化拥 塞控制参数, 例如在接收到确认消息之前可以发送的分组数 N、 带宽 /速率 计算周期1\ 数据发送速率与路径带宽的增量因数 、 发生拥塞时数据发送 速率与路径带宽的减量因数 q、 触发快速重传的重复确认消息个数 K中至 少一种参数。 After the sender device establishes a TCP connection with the receiver device, the sender device can initialize congestion control parameters, such as the number of packets that can be sent before receiving the acknowledgment message, the bandwidth/rate calculation period 1, the data transmission rate, and the increase of the path bandwidth. The measurement factor, the decrement factor q of the data transmission rate and the path bandwidth when congestion occurs, and at least one of the number K of repeated acknowledgment messages triggering the fast retransmission.
步骤 203、发送端设备向接收端设备发送第一个分组数据包, 并记录发 送时间 Γ0 ,之后继续发送其他分组数据包,直到完成发送 N个分组数据包。  Step 203: The sending end device sends the first packet data packet to the receiving end device, and records the sending time Γ0, and then continues to send other packet data packets until the N packet data packets are completely sent.
步骤 204、发送端设备接收由接收端设备发送的第一个确认消息, 记录 接收时间 71 , 并计算初始数据发送速率 Rate。  Step 204: The sending end device receives the first acknowledgement message sent by the receiving end device, records the receiving time 71, and calculates an initial data sending rate Rate.
接收端设备在接收到发送端设备发送的第一个分组数据包后, 可以向 发送端设备发送 ACK消息, 该 ACK消息中包含有期待的下一个分组数据 包的字节顺序号, 该字节顺序号可以用于指示已经接收到的分组数据包字 节, 例如期待的下一个分组数据包的字节顺序号是 X, 则意味着字节顺序 号为 X - 1之前的分组数据包字节都已经被连续接收,从而可以指示发送端 设备分组数据包字节被成功接收。  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 the expected next packet data packet, the byte The sequence number can be used to indicate the packet data byte that has been received. For example, the expected byte sequence number of the next packet data packet is X, which means that the byte sequence number is the packet data byte before X-1. All have been received continuously, so that the sender device packet data byte can be successfully received.
发送端设备接收到第一个 ACK消息后, 可以记录下该 ACK消息的接 收时间 Γ1 , 并进入到速率受控阶段。  After receiving the first ACK message, the sending device can record the receiving time Γ1 of the ACK message and enter the rate controlled phase.
本实施例可以假设, 在 TO到 71这段时间内, 发送端设备共发送了 N个 分组数据包, 因此, 本实施例可以应用公式(4 )计算获取初始数据发送速 率 Rate ,In this embodiment, it can be assumed that during the period from TO to 71, the transmitting device sends a total of N Packet data packet, therefore, this embodiment can calculate the initial data transmission rate Rate by applying formula (4).
N ■  N ■
8 x packet _ sizei 8 x packet _ size i
Rate = ~ ^ ( 4 )  Rate = ~ ^ ( 4 )
71 - 70 其中, 4 packet— s 表示初始发送的 N个分组数据包的比特数之和。 需要说明的是, 公式(4 )用于发送端设备第一次计算分组数据包的发 送速率, 更一般的情况下, 速率计算可以使用公式(3 )  71 - 70 where 4 packet — s represents the sum of the number of bits of the N packet data packets initially transmitted. It should be noted that formula (4) is used for the first time that the transmitting device calculates the sending rate of the packet data packet. In a more general case, the rate calculation can use the formula (3).
y  y
8 x packet _ sizei 8 x packet _ size i
Rate =—  Rate = -
Ty - Tx  Ty - Tx
( 3 )  (3)
其中, Rate表示发送端设备发送分组数据包 X〜 y期间的数据发送速率, Ty表示发送分组数据包 y 的时间, Tx表示发送分组数据包 X 的时间,  Wherein, Rate represents the data transmission rate during the transmission of the packet data packets X to y by the transmitting device, Ty represents the time at which the packet data packet y is transmitted, and Tx represents the time at which the packet data packet X is transmitted.
8 χ packet _ sizei表示发送端设备发送分组数据包 X ~ y期间总共发送的比特 数之和。 8 χ packet _ size i represents the sum of the total number of bits transmitted by the transmitting device during the transmission of the packet data X ~ y.
步骤 205、 发送端设备接收到由接收端设备发送的多个 ACK消息, 并 根据接收的 ACK消息计算获取网络带宽信息。  Step 205: The sending end device receives multiple ACK messages sent by the receiving end device, and calculates and obtains network bandwidth information according to the received ACK message.
具体来说, 发送端设备可以根据接收到的由接收端设备发送的至少两 个 ACK消息包含的确认信息和确认消息的接收时间,计算获取网络带宽信 息。 该确认信息为接收端设备携带在 ACK消息中发送给发送端设备的。  Specifically, the sending end device may calculate and obtain network bandwidth information according to the received acknowledgment information included in the at least two ACK messages sent by the receiving end device and the receiving time of the acknowledgment message. The acknowledgement information is sent by the receiving end device to the sending end device in an ACK message.
接收端设备接收到发送端设备发送的分组数据包后, 可以依次向发送 端设备发送 ACK消息, 指示发送端设备发送的分组数据包被成功接收, 这 些 ACK消息中包含的确认信息可以有期待的下一个分组数据包的字节顺序 号, 也可以包含有选择性确认参数。 该选择性确认参数用于指示发送端设 备, 接收端设备接收到了不是按顺序连续接收的分组数据包, 例如接收端 设备指示发送端设备期待的下一个分组数据包的字节顺序号是 XI , 同时使 用选择性确认参数指示已经接收到顺序号是 X2 ~ X3 的分组数据包字节, 这意味着接收端设备等待接收字节顺序号 XI - X2-1和字节顺序号大于 X3 的分组数据包。 发送端设备在接收到每一个 ACK消息之后, 记录下 ACK 消息的接收时间, 例如时间 T2、 Τ3、 Τ4, 并根据接收到的 ACK消息所确 认已经被接收端设备成功接收的数据量以及接收的前一个 ACK消息和后一 个 ACK消息的接收时间, 计算获取网络带宽信息。 此过程中, 发送端设备 可以根据需要选择两个确认消息, 或者根据带宽测量周期选择周期内第一 个确认消息和最后一个确认消息, 而该带宽计算周期在步骤 201建立 TCP 连接后, 已经通过步骤 202 中的参数初始化给出。 本领域技术人员可以理 解的是, 通过调整该带宽计算周期, 可以调整数据包发送速率的更新频率。 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, indicating that the packet data packet sent by the sending end device is successfully received, and the acknowledgement information included in the ACK message may be expected. The byte sequence number of the next packet packet may also contain a selective acknowledgment parameter. The selective confirmation parameter is used to indicate the sending end device, and the receiving end device receives the packet data packet that is not continuously received in sequence. For example, the receiving end device indicates that the byte sequence number of the next packet data packet expected by the transmitting end device is XI. At the same time The selective acknowledgement parameter indicates that the packet data byte with sequence number X2 ~ X3 has been received, which means that the receiving device waits to receive the packet data packet with the byte sequence number XI - X2-1 and the byte sequence number greater than X3. . After receiving each ACK message, the transmitting device records the receiving time of the ACK message, for example, time T2, Τ3, Τ4, and confirms the amount of data that has been successfully received by the receiving device according to the received ACK message and the received data. The receiving time of the previous ACK message and the last ACK message is calculated to obtain network bandwidth information. In this process, the sending device may select two acknowledgment messages as needed, or select the first acknowledgment message and the last acknowledgment message in the period according to the bandwidth measurement period, and the bandwidth calculation period has passed after establishing the TCP connection in step 201. The parameter initialization in step 202 is given. It can be understood by those skilled in the art that by adjusting the bandwidth calculation period, the update frequency of the packet transmission rate can be adjusted.
举例来说, 本实施例可以应用公式(1 )计算获取网络带宽信息, π J .Λ Λ 8x [(Seq2 -Seql) + (SACK2 block -SACK1 block)], 1 For example, in this embodiment, the network bandwidth information can be calculated by using the formula (1), π J . Λ Λ 8x [(Seq2 - Seql) + (SACK2 block - SACK1 block)], 1
Bandwidth ——―—— ― ~ = = — I (丄 ) Bandwidth —————— ― ~ = = — I (丄 )
T ACK2 - T ACK1 J 其中, Bandwidth为网络带宽, Seq2为后一个 ACK消息的连续确认顺序 号, Seql为前一个 ACK消息的连续确认顺序号, SACK2_block为后一个 ACK 消息中选择性确认参数的字节数, SACKl_block为前一个 ACK消息中选择 性确认参数的字节数, T_ACK2为后一个 ACK消息的接收时间, T_ACK1为 前一个 ACK消息的接收时间。 T ACK2 - T ACK1 J where Bandwidth is the network bandwidth, Seq2 is the consecutive acknowledgment sequence number of the next ACK message, Seql is the consecutive acknowledgment sequence number of the previous ACK message, and SACK2_block is the word of the selective acknowledgment parameter in the latter ACK message. The number of sections, SACKl_block is the number of bytes of the selective acknowledgment parameter in the previous ACK message, T_ACK2 is the reception time of the latter ACK message, and T_ACK1 is the reception time of the previous ACK message.
需要说明的是, 发送端设备只能使用连续确认消息或者带有选择性确 认参数的 ACK消息进行带宽计算,而不能使用重复确认消息进行带宽计算。  It should be noted that the sender device can only use the continuous acknowledgment message or the ACK message with the selective acknowledgment parameter for bandwidth calculation, and cannot use the duplicate acknowledgment message for bandwidth calculation.
需要特别说明的是, Seql和 Seq2是分组数据包的顺序号, 因为分组顺 序号是循环滚动使用的, 例如顺序号的循环周期是 0 ~ 65535, 那么 65535 的下一个顺序号则为 0。 对于 Seql<Seq2的情况, 使用公式( 1 )计算, 当 It should be specially noted that Seql and Seq2 are the sequence numbers of the packet data packets, because the packet sequence number is used for cyclic scrolling. For example, the cycle number of the sequence number is 0 ~ 65535, then the next sequence number of 65535 is 0. For the case of Seql<Seq2, use the formula (1) to calculate
Seql>Seq2时, 公式( 1 )进一步可以调整为公式(2 ) : When Seql>Seq2, the formula (1) can be further adjusted to the formula (2):
Bandwidth - 8 x [( 2 - Se^ + Q c/g) + (SACK2_block - SACKl block)] (2 an W1 _ T ACK2 - T ACKl Bandwidth - 8 x [( 2 - Se ^ + Q c/g ) + (SACK2_block - SACKl block)] (2 a n W1 _ T ACK2 - T ACKl
其中 Cycle是顺序号循环周期。 需要说明的是, 当 ACK 消息都带有时间戳选项参数时, T— ACK1 和 T ACK2可以同时使用各自 ACK消息中的时间戳的值替换。 所谓 ACK消 息中的时间戳选项参数, 是指接收端设备在发送 ACK消息时, 在消息中包 含的发送此 ACK消息的时间信息,该发送端设备釆用该时间信息计算带宽 参数相对于釆用记录的接收时间计算带宽参数来说, 计算精度较高。 Cycle is the sequence number cycle. It should be noted that when the ACK message has a timestamp option parameter, T_ACK1 and T ACK2 can be replaced by the value of the timestamp in the respective ACK message. The timestamp option parameter in the ACK message refers to the time information of the ACK message sent by the receiving device in the message when the ACK message is sent by the receiving device, and the transmitting device uses the time information to calculate the bandwidth parameter relative to the time. The calculated reception time calculates the bandwidth parameter, and the calculation accuracy is high.
上述步骤 202〜步骤 205 即完成了发送端设备获取网络带宽信息的过 程。  Steps 202 to 205 above complete the process of the network device acquiring the network bandwidth information.
步骤 206、 根据所述网络带宽信息, 对数据发送速率进行调整处理。 该调整处理可以釆用周期处理方式, 例如在数据发送过程中, 周期地 测量分组数据的发送速率、 获取网络带宽信息, 并根据网络带宽信息对数 据发送速率进行调整。  Step 206: Perform adjustment processing on the data transmission rate according to the network bandwidth information. The adjustment processing may adopt a periodic processing manner, for example, periodically measuring a transmission rate of packet data, acquiring network bandwidth information, and adjusting a data transmission rate according to network bandwidth information during data transmission.
具体来说, 若接收到正常确认消息, 即不是重复确认消息, 则发送端 设备将数据发送速率调整为大于网络带宽信息的速率; 若在数据发送速率 调整周期内接收到重复确认消息或者连续接收到多个重复确认消息, 则发 送端设备将数据发送速率调整为小于网络带宽的速率, 并在重新收到正常 确认消息后, 计算新的网络带宽信息, 并根据新的网络带宽信息重新调整 所述数据发送速率; 若在数据发送速率调整周期内未接收到任何确认消息, 则发送端设备将数据发送速率调整为小于网络带宽的速率或者保持等于已 知的网络带宽的速率, 并在重新收到确认消息后, 计算新的网络带宽信息, 并根据新的网络带宽信息调整所述数据发送速率。  Specifically, if the normal acknowledgment message is received, that is, the acknowledgment message is not repeated, the sending end device adjusts the data sending rate to be greater than the rate of the network bandwidth information; if the repeated acknowledgment message is received or continuously received within the data sending rate adjusting period After multiple repeated acknowledgement messages, the sender device adjusts the data transmission rate to a rate less than the network bandwidth, and after receiving the normal acknowledgement message, calculates new network bandwidth information, and re-adjusts the network bandwidth information according to the new network bandwidth information. Data transmission rate; if no acknowledgment message is received within the data transmission rate adjustment period, the transmitting device adjusts the data transmission rate to a rate less than the network bandwidth or maintains a rate equal to the known network bandwidth, and re-receives After the confirmation message, the new network bandwidth information is calculated, and the data transmission rate is adjusted according to the new network bandwidth information.
举例来说, 发送端设备可以釆用参数初始化时设置的增量因数 p来增 大数据发送速率, 例如 Rate = Bandwidth + , 或者 Rate = Bandwidth χ ( 1+ρ )。 当发送端设备接收到若干个例如参数初始化时设定的 Κ个重复确 认消息时, 需要立即重新发送缺失的分组数据, 并立即减小发送分组数据 包的数据发送速率 Rate, 例如釆用参数初始化时设置的减量因数 q来减小 数据发送速率, 例如 Rate = Bandwidth - q, 或者 Rate = Bandwidth x q, 等 到发送端设备接收到新的 ACK消息后,发送端设备可以重新计算网络带宽 信息, 并根据新的网络带宽信息, 调整分组数据包的数据发送速率。 当出 现数据发送后超时未得到确认的情况, 发送端设备需要立即重新发送超时 未确认的分组数据, 并立即减小发送分组的速率 Rate , 例如 Rate = Bandwidth-q,等到发送端设备接收到新的 ACK消息后,发送端设备可以重 新计算网络带宽信息, 并根据新的网络带宽信息, 调整分组数据的数据发 送速率。 For example, the sender device can increase the data transmission rate by using the increment factor p set during parameter initialization, such as Rate = Bandwidth + , or Rate = Bandwidth χ ( 1+ρ ). When the transmitting device receives a plurality of repeated acknowledgment messages set, for example, when the parameter is initialized, it is necessary to immediately resend the missing packet data, and immediately reduce the data transmission rate Rate of the transmitted packet data, for example, using parameter initialization. The set reduction factor q is used to reduce the data transmission rate, such as Rate = Bandwidth - q, or Rate = Bandwidth xq, etc. After the sending end device receives the new ACK message, the sending end device can 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 timeout is not confirmed after data transmission occurs, the sender device needs to immediately resend the packet data with timeout unacknowledged, and immediately reduce the rate of sending the packet Rate, for example, Rate = Bandwidth-q, and wait until the sender device receives the new packet. After the ACK message, the source device can recalculate the network bandwidth information and adjust the data transmission rate of the packet data according to the new network bandwidth information.
或者, 发送端设备也可以将发送的分组数据包的平均大小与网络带宽 的比值作为所述数据发送速率, 这个比值作为每秒种发送的分组数据包个 数, 控制发送端设备发送分组数据包的速率。  Alternatively, the sending end device may also use the ratio of the average size of the sent packet data packet to the network bandwidth as the data sending rate, and the ratio is used as the number of packet data packets sent per second, and controls the sending end device to send the packet data packet. s speed.
步骤 207、根据调整处理后的数据发送速率, 向所述接收端设备发送分 组数据。  Step 207: Send packet data to the receiving end device according to the data transmission rate after the adjustment processing.
需要说明的是, 上述步骤 206和步骤 207在整个 TCP会话过程中, 是 反复进行的, 发送端设备记录下所有发送数据包的时间。 如果是周期地计 算数据发送速率, 只要速率计算周期一到达, 发送端设备即根据速率计算 周期内发送的分组数据和周期时间, 计算数据发送速率。 如果是周期地计 算网络带宽, 只要带宽计算周期一到达, 发送端设备即进行网络带宽信息 的计算, 并且依据该新计算的网络带宽信息在数据发送速率调整周期内调 整数据发送速率。  It should be noted that, in the process of the entire TCP session, the foregoing step 206 and step 207 are repeated, and the sending device records the time of all the data packets being sent. If the data transmission rate is calculated periodically, as long as the rate calculation period arrives, the transmitting device calculates the data transmission rate according to the packet data and the cycle time transmitted in the rate calculation period. If the network bandwidth is calculated periodically, the transmitting device calculates the network bandwidth information as soon as the bandwidth calculation period arrives, and adjusts the data transmission rate in the data transmission rate adjustment period according to the newly calculated network bandwidth information.
优选地, 发送端设备所釆用的带宽计算周期和数据发送速率计算周期 可以设置为相同或者接近, 从而使得调整后的数据发送速率尽可能地接近 当前的网络环境, 从而提高调整精度。  Preferably, the bandwidth calculation period and the data transmission rate calculation period used by the transmitting device can be set to be the same or close, so that the adjusted data transmission rate is as close as possible to the current network environment, thereby improving the adjustment precision.
本实施例的拥塞控制方法中, 发送端设备可以根据带宽计算周期内接 收的 ACK消息, 计算网络带宽信息, 从而可以通过釆用网络带宽信息来调 整数据传输速率, 使得数据发送速率是围绕网络带宽信息的变化而变化的 , 因此, 发送端设备对数据发送速率进行调整的精度较高, 而不会出现大幅 度的波动。 而且, 发送端设备以调整后的数据发送速率发送分组数据是与 数据传输路径的能力相匹配的, 因此既能够使分组数据在无拥塞的数据传 输路径上传输, 又能够充分发挥网络性能, 避免网络资源浪费。 In the congestion control method of the embodiment, the sender device can calculate the network bandwidth information according to the ACK message received in the bandwidth calculation period, so that the data transmission rate can be adjusted by using the network bandwidth information, so that the data transmission rate is around the network bandwidth. The information changes and changes. Therefore, the accuracy of the data transmission rate adjustment by the transmitting device is high, and there is no significant Degree of fluctuations. Moreover, the transmitting end device transmits the packet data at the adjusted data transmission rate to match the capability of the data transmission path, so that the packet data can be transmitted on the uncongested data transmission path, and the network performance can be fully utilized to avoid Waste of network resources.
另外, 本实施例的方法中, 不需要对接收端设备进行任何修改, 只要 接收端设备支持基本的 TCP协议功能即可实现, 具有 4艮好的通用性和兼容 性。  In addition, in the method of this embodiment, no modification to the receiving end device is required, as long as the receiving end device supports the basic TCP protocol function, and has good generality and compatibility.
图 3为本发明拥塞控制方法实施例三的流程图, 如图 3所示, 本实施 例的方法中, 网络带宽信息是由接收端设备计算并发送给发送端设备的, 本实施例的方法可以包括:  3 is a flowchart of Embodiment 3 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 device and sent to a transmitting device, and the method in this embodiment is used. Can include:
步骤 301、 发送端设备向接收端设备发送同步 /开始消息 (SYN ) , 该 同步 /开始消息中包含带宽参数指示, 该带宽参数指示用于表示请求接收端 设备在 ACK消息中包含网络带宽信息。  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, where the bandwidth parameter indication is used to indicate that the requesting end device includes network bandwidth information in the ACK message.
发送端设备在建立 TCP连接的建立连接消息,例如 SYN消息中可以包 含带宽参数指示, 该带宽参数指示可以指示接收端设备, 发送端设备支持 在 ACK消息中包含网络带宽信息, 并且希望与接收端设备在本次 TCP会 话中使用网络带宽信息。 可选地, 该 S YN消息中也可以包括发送端设备建 议的带宽 /速率计算周期。  The sender device may include a bandwidth parameter indication in the establishment of the connection connection of the TCP connection, for example, the SYN message, the bandwidth parameter indication may indicate the receiving device, and the sending device supports the network bandwidth information in the ACK message, and the The device uses network bandwidth information in this TCP session. Optionally, the SYN message may also include a bandwidth/rate calculation period recommended by the source device.
需要说明的是, 本实施例仅给出了发送端设备向接收端发起建立 TCP 连接, 本领域技术人员可以理解的是, 发起建立 TCP连接的也可以是接收 端设备。  It should be noted that, in this embodiment, only the sending end device initiates the establishment of a TCP connection to the receiving end. It can be understood by those skilled in the art that the originating TCP connection may also be the receiving end device.
步骤 302、接收端设备向发送端设备发送同步 /确认消息(SYN/ACK ) , 该同步 /确认消息中包含带宽参数指示。  Step 302: The receiving end device sends a synchronization/confirmation message (SYN/ACK) to the sending end device, where the synchronization/confirmation message includes a bandwidth parameter indication.
接收端设备在接收到带有带宽参数指示的同步 /开始消息后, 如果接收 端设备也支持在 ACK消息中包含带宽参数,并且愿意与发送端设备在本次 TCP会话中使用网络带宽信息, 那么接收端设备可以在向发送端设备反馈 的 S YN/ACK消息中也包含带宽参数指示。可选地, 该 S YN/ACK消息中也 可以包含接收端设备所能支持的带宽 /速率计算周期。 After the receiving end device receives the synchronization/start message with the bandwidth parameter indication, if the receiving end device also supports the bandwidth parameter in the ACK message, and is willing to use the network bandwidth information in the current TCP session with the transmitting device, then The receiving end device may also include a bandwidth parameter indication in the SYN/ACK message fed back to the transmitting device. Optionally, the S YN/ACK message is also It can include the bandwidth/rate calculation period that the receiving device can support.
步骤 303、 发送端设备向接收端设备发送 ACK消息, 该 ACK消息中 包含带宽参数指示。  Step 303: The sending end device sends an ACK message to the receiving end device, where the ACK message includes a bandwidth parameter indication.
可选地,该 ACK消息中也可以包含发送端设备和接收端设备协商后的 带宽 /速率计算周期。  Optionally, the ACK message may also include a bandwidth/rate calculation period negotiated between the sender device and the sink device.
至此, 发送端设备和接收端设备的 TCP连接建立, 且发送端设备和接 收端设备约定在 ACK消息中包含网络带宽信息。  At this point, the TCP connection between the sender device and the sink device is established, and the sender device and the receiver device agree to include network bandwidth information in the ACK message.
步骤 304、 发送端设备初始化拥塞控制参数。  Step 304: The sender device initializes a congestion control parameter.
其实现过程与上述步骤 202类似, 此处不再赘述。  The implementation process is similar to the foregoing step 202, and details are not described herein again.
步骤 305、 发送端设备向接收端设备发送分组数据包。  Step 305: The sending end device sends a packet data packet to the receiving end device.
可选地, 发送端设备在发送每个分组数据包后, 可以记录各个分组数 据包的发送时间。  Optionally, after sending each packet data packet, the sender device can record the sending time of each packet data packet.
步骤 306、接收端设备在接收到由发送端设备发送的分组数据包后, 记 录各个分组数据包的接收时间,并向发送端设备发送 ACK消息,其中, ACK 消息中包含网络带宽信息。  Step 306: After receiving the packet data packet 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.
接收端设备接收到发送端设备发送的分组数据包后, 可以依次向发送 端设备发送 ACK消息, 指示发送端设备发送的分组数据包被成功接收, 这 些 ACK消息中可以包含有期待的下一个分组数据包的字节顺序号,也可以 包含有选择性确认参数。 该选择性确认参数用于指示发送端设备, 接收端 设备接收到了不是按顺序连续接收的分组数据包, 例如接收端设备指示发 送端设备期待的下一个分组数据包的字节顺序号是 XI , 同时使用选择性确 认参数指示已经接收到顺序号是 X2 ~ X3 的分组数据包字节, 这意味着接 收端设备等待接收字节顺序号 XI - X2-1和字节顺序号大于 X3的分组数据 包。  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, indicating that the packet data packet sent by the sending end device is successfully received, and the ACK message may include the expected next packet. The byte order number of the packet may also contain a selective acknowledgment parameter. The selective confirmation parameter is used to indicate the sending end device, and the receiving end device receives the packet data packet that is not continuously received in sequence. For example, the receiving end device indicates that the byte sequence number of the next packet data packet expected by the transmitting end device is XI. At the same time, the selective acknowledgement parameter indicates that the packet data byte with the sequence number is X2 ~ X3 has been received, which means that the receiving device waits to receive the packet data with the byte sequence number XI - X2-1 and the byte sequence number greater than X3. package.
接收端设备接收到两个以上的分组数据包之后, 可以通过计算单位时 间内平均接收的分组数据包的数据量来获取网络带宽信息, 例如可以根据 某时间段内接收的所有分组数据包的数据量之和, 以及该时间段内接收的 第一个分组数据包的接收时间和最后一个分组数据包的接收时间, 计算获 取网络带宽信息, 具体的计算方法可以是某时间段内所有数据包数据量之 和除以时间段的时长。 After receiving the two or more packet data packets, the receiving device may obtain network bandwidth information by calculating the data amount of the average received packet data in a unit time, for example, according to The sum of the data amounts of all the packet data packets received in a certain period of time, and the receiving time of the first packet data packet received during the time period and the receiving time of the last packet data packet, and calculating the network bandwidth information, specifically The calculation method may be the sum of the data amounts of all the data packets in a certain period of time divided by the duration of the time period.
发送端设备在接收到该第一个 ACK消息后, 可以根据公式(4 )计算 初始数据发送速率 Rate, 并且在后续数据发送过程中, 根据公式(3 )周期 计算数据发送速率 Rate, 其实现原理类似, 此处不再赘述。  After receiving the first ACK message, the sending end device may calculate the initial data sending rate Rate according to formula (4), and calculate the data sending rate Rate according to the formula (3) period in the subsequent data sending process, and the implementation principle thereof. Similar, it will not be described here.
步骤 307、 发送端设备在接收包含网络带宽信息的 ACK消息后, 即可 根据所述网络带宽信息, 对数据发送速率进行调整处理。  Step 307: After receiving the ACK message including the network bandwidth information, the sending device may adjust the data sending rate according to the network bandwidth information.
该调整处理可以釆用上述步骤 206 中所述的具体实现方式实现, 此处 不再赘述。  The adjustment processing can be implemented by using the specific implementation manner described in the foregoing step 206, and details are not described herein again.
步骤 308、发送端设备根据调整处理后的数据发送速率, 向所述接收端 设备发送分组数据包。  Step 308: The sending end device sends a packet data packet to the receiving end device according to the data sending rate after the adjustment processing.
需要说明的是, 上述步骤 306〜步骤 308在整个 TCP会话过程中, 是 反复进行的, 只要带宽计算周期一到达, 接收端设备即可进行网络带宽信 息的计算, 并将计算获取的网络带宽信息发送给发送端设备, 从而使得发 送端设备可以依据该新计算的网络带宽信息在数据发送速率调整周期内调 整数据发送速率。  It should be noted that, in the process of the entire TCP session, the foregoing steps 306 to 308 are repeated. As soon as the bandwidth calculation period arrives, the receiving device can calculate the network bandwidth information, and calculate the acquired network bandwidth information. The device sends the data to the sending device, so that the sending 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 used by the transmitting device can be set to be the same or close, so that the adjusted data transmission rate is as close as possible to the current network environment, thereby improving the adjustment precision.
本实施例的拥塞控制方法中, 接收端设备可以根据带宽计算周期内接 收的分组数据包的数量以及带宽计算周期内第一个分组数据包的接收时间 和最后一个分组数据包的接收时间的差值, 计算网络带宽信息并将计算获 取的网络带宽信息通过确认消息发送给发送端设备, 从而可以使得发送端 设备根据网络带宽信息来调整数据发送速率, 使得数据发送速率是围绕网 络带宽信息的变化而变化的, 因此, 发送端设备对数据发送速率进行调整 的精度较高, 而不会出现大幅度的波动。 而且, 本实施例相对于上述拥塞 控制方法实施例二的技术方案来说, 其计算获取的网络带宽信息更加准确。 另外, 发送端设备以调整后的数据发送速率发送分组数据包是与数据传输 路径的能力相匹配的, 因此既能够使分组数据包在无拥塞的数据传输路径 上传输, 又能够充分发挥网络性能, 避免网络资源浪费。 In the congestion control method of this embodiment, the receiving end device may calculate the difference between the number of packet data packets received during the period and the reception time of the first packet data packet in the bandwidth calculation period and the reception time of the last packet data packet. The value, the network bandwidth information is calculated, and the calculated network bandwidth information is sent to the sending device by using an acknowledgement message, so that the sending device can adjust the data sending rate according to the network bandwidth information, so that the data sending rate is around the network. The bandwidth information changes due to changes in the bandwidth information. Therefore, the accuracy of the data transmission rate adjustment by the transmitting device is high without significant fluctuations. Moreover, the network bandwidth information calculated by the embodiment is more accurate than the technical solution of the second embodiment of the congestion control method. In addition, the sending end device transmits the packet data packet at the adjusted data transmission rate to match the capability of the data transmission path, so that the packet data packet can be transmitted on the uncongested data transmission path, and the network performance can be fully utilized. , to avoid wasting network resources.
图 4为本发明拥塞控制方法实施例四的流程图, 如图 4所示, 本实施 例的方法中, 发送端设备可以从具有带宽测量或者带宽管理功能的网络功 能实体获取网络带宽信息, 本实施例的方法可以包括:  4 is a flowchart of Embodiment 4 of a congestion control method according to the present invention. As shown in FIG. 4, in the method of this embodiment, a sender device may obtain network bandwidth information from a network function entity having a bandwidth measurement or bandwidth management function. The method of an embodiment may include:
步骤 401、 发送端设备与接收端设备建立 TCP会话。  Step 401: The sending end device establishes a TCP session with the receiving end device.
步骤 402、发送端设备从具有带宽测量或者带宽管理功能的网络功能实 体获取网络带宽信息。  Step 402: The source device acquires network bandwidth information from a network function entity having a bandwidth measurement or bandwidth management function.
具体来说, 发送端设备获取网络带宽信息的方式可以是发送端设备直 接向网络功能实体发送查询请求并接收该网络功能实体发送的携带网络带 宽信息的响应消息, 也可以是网络功能实体主动向发送端设备发送网络带 宽信息。 上述两种方式既可以是周期性地进行查询 /响应和指示事务, 也可 以是事件触发查询 /响应和指示事务,例如发送端设备在成功建立 TCP会话 后查询网络带宽信息、 发送端设备接收到重复确认消息后查询网络带宽信 息、 发送端设备发生超时未确认时查询网络带宽信息或者网络功能实体发 现网络带宽信息发生变化后立即发送网络带宽信息给发送端设备。  Specifically, the manner in which the sending end device obtains the network bandwidth information may be that the sending end device directly sends a query request to the network function entity, and receives a response message that is sent by the network function entity and carries the network bandwidth information, or may be a network function entity actively The sender device sends network bandwidth information. The above two methods can be used to query/response and indicate transactions periodically, or event-triggered query/response and indication transactions. For example, the sending device queries the network bandwidth information after successfully establishing a TCP session, and the sending device receives the information. After the acknowledgment message is repeated, the network bandwidth information is queried, the network bandwidth information is queried when the sending device fails to confirm the timeout, or the network function entity detects the network bandwidth information and sends the network bandwidth information to the sending device immediately.
需要特别说明的是, 具有带宽测量或者带宽管理功能的网络功能实体 既可以是在发送端设备上, 也可以是在其它设备上, 如果该网络功能实体 是在其它设备上, 则发送端设备可以与该设备之间建立网络连接。  It should be specially noted that the network function entity with bandwidth measurement or bandwidth management function can be either on the sender device or on other devices. If the network function entity is on other devices, the sender device can Establish a network connection with the device.
举例来说, 该网络功能实体可以为异步传输模式 ( Asynchronous Transfer Mode, 以下简称: ATM ) 的通道管理单元, 其可以获得 ATM通 道的配置带宽, 也可以是无线接入网的无线网络控制单元, 其可以获得空 中接口无线承载分配的带宽能力, 或者可以是路由器的资源管理单元, 其 可以获得为指定接口分配的分组转发能力。 For example, the network function entity may be a channel management unit of an Asynchronous Transfer Mode (ATM), which may obtain a configured bandwidth of an ATM channel, or may be a wireless network control unit of a radio access network. It can get empty The bandwidth capability of the medium interface radio bearer, or may be a resource management unit of the router, which can obtain the packet forwarding capability allocated for the specified interface.
需要说明的是, 当发送端设备连续接收到多个重复确认消息达到门限, 例如超过 K个时, 发送端设备可以立即重传缺失的分组数据包, 并立即向 网络功能实体查询网络带宽信息; 当有分组数据包超时未接收到 ACK消息 时, 也可以立即重传缺失的分组数据包, 并立即向网络功能实体查询网络 带宽信息。  It should be noted that, when the sending end device continuously receives multiple duplicate acknowledgment messages to reach the threshold, for example, if the number exceeds K, the sending end device may immediately retransmit the missing packet data packet, and immediately query the network function entity for the network bandwidth information; When there is a packet data packet timeout and no ACK message is received, the missing packet data packet can also be retransmitted immediately, and the network function entity is immediately queried for network bandwidth information.
步骤 403、 根据网络带宽信息, 对数据发送速率进行调整处理。  Step 403: Perform adjustment processing on the data sending rate according to the network bandwidth information.
步骤 404、根据调整处理后的数据发送速率, 向接收端设备发送分组数 据。  Step 404: Send packet data to the receiving end device according to the data transmission rate after the adjustment processing.
步骤 403和步骤 404在 TCP会话中可以反复执行, 而且步骤 403和步 骤 404的实现方法与上述拥塞控制方法实施例一〜实施例三的相应处的实现 方法类似, 此处不再赘述。  Step 403 and step 404 can be repeatedly executed in the TCP session, and the implementation methods of the steps 403 and 404 are similar to the implementation methods of the first embodiment to the third embodiment of the congestion control method, and are not described herein again.
本实施例的拥塞控制方法中, 发送端设备可以从具有带宽测量或者带 宽管理功能的网络功能实体获取所述网络带宽信息, 从而免去了发送端设 备或者接收端设备本身计算网络带宽信息的负担, 并且可以得到更加准确 的网络带宽信息, 发送端设备可以直接釆用网络功能实体监测获取的网络 带宽信息来调整数据传输速率 , 使得数据发送速率是围绕网络带宽信息的 变化而变化的, 因此, 发送端设备对数据发送速率进行调整的精度较高, 而不会出现大幅度的波动。 而且, 发送端设备以调整后的数据发送速率发 送分组数据是与数据传输路径的能力相匹配的, 因此既能够使分组数据在 无拥塞的数据传输路径上传输, 又能够充分发挥网络性能, 避免网络资源 浪费。 另外, 该网络功能实体可以单独维护, 而不需要改变发送端设备和 接收端设备。  In the congestion control method of the embodiment, the sender device can obtain the network bandwidth information from a network function entity having a bandwidth measurement or bandwidth management function, thereby eliminating the burden of calculating the network bandwidth information by the sender device or the receiver device itself. And can obtain more accurate network bandwidth information, the sending device can directly use the network function entity to monitor the acquired network bandwidth information to adjust the data transmission rate, so that the data sending rate changes around the network bandwidth information, therefore, The transmitting device adjusts the data transmission rate with high precision without significant fluctuations. Moreover, the transmitting end device transmits the packet data at the adjusted data transmission rate to match the capability of the data transmission path, so that the packet data can be transmitted on the uncongested data transmission path, and the network performance can be fully utilized to avoid Waste of network resources. In addition, the network function entity can be maintained separately without changing the sender device and the sink device.
图 5为本发明拥塞控制方法实施例五的流程图, 如图 5所示, 本实施 例中, 接收端设备可以从具有带宽测量或者带宽管理功能的网络功能实体 获取网络带宽信息, 然后将该网络带宽信息发送给发送端设备, 本实施例 的方法可以包括: 5 is a flowchart of Embodiment 5 of a congestion control method according to the present invention. As shown in FIG. 5, in this embodiment, a receiving end device may be a network functional entity having bandwidth measurement or bandwidth management functions. Obtaining the network bandwidth information, and then sending the network bandwidth information to the sending device, the method in this embodiment may include:
步骤 501、 发送端设备与接收端设备建立 TCP会话。  Step 501: The sending end device establishes a TCP session with the receiving end device.
步骤 502、接收端设备从具有网络带宽测量功能或者网络带宽管理功能 的网络功能实体获取网络带宽信息。  Step 502: The receiving end device acquires network bandwidth information from a network function entity having a network bandwidth measurement function or a network bandwidth management function.
具体来说, 接收端设备获取网络带宽信息的方式可以是接收端设备直 接向具有网络带宽测量功能或者网络带宽管理功能的网络功能实体发送查 询请求并接收该网络功能实体发送的携带网络带宽信息的响应消息, 也可 以是具有网络带宽测量功能或者网络带宽管理功能的网络功能实体主动向 接收端设备发送网络带宽信息。 上述两种方式既可以是周期性地进行查询 / 响应和指示事务, 也可以是事件触发查询 /响应和指示事务, 例如接收端设 备在成功建立 TCP会话后查询网络带宽信息、 接收端设备在向发送端设备 发送重复确认消息后查询网络带宽信息或者具有网络带宽测量功能或者网 络带宽管理功能的网络功能实体发现网络带宽发生变化后立即发送网络带 宽信息给接收端设备。  Specifically, the manner in which the receiving end device obtains the network bandwidth information may be that the receiving end device directly sends a query request to the network function entity having the network bandwidth measurement function or the network bandwidth management function, and receives the network bandwidth information sent by the network function entity. The response message may also be 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 above two methods can be used for query/response and indication transactions periodically, or event-triggered query/response and indication transactions. For example, the receiving device queries the network bandwidth information after successfully establishing a TCP session, and the receiving device is in the direction. The network function entity that queries the network bandwidth information or has the network bandwidth measurement function or the network bandwidth management function after transmitting the duplicate acknowledgement message sends the network bandwidth information to the receiving end device immediately after the network bandwidth changes.
需要特别说明的是, 具有网络带宽测量功能或者网络带宽管理功能的 的网络功能实体既可以是在接收端设备上, 也可以是在其它设备上, 如果 该网络功能实体是在其它设备上, 则接收端设备可以与该设备之间建立网 络连接。  It should be specially noted that the network function entity having the network bandwidth measurement function or the network bandwidth management function may be on the receiving end device or on other devices, if the network functional entity is on other devices, The receiving device can establish a network connection with the device.
举例来说, 该网络功能实体可以为 ATM的通道管理单元, 其可以获得 ATM通道的配置带宽, 也可以是无线接入网的无线网络控制单元, 其可以 获得空中接口无线承载分配的带宽能力, 或者可以是路由器的资源管理单 元, 其可以获得为指定接口分配的分组转发能力。  For example, the network function entity may be an ATM channel management unit, which may obtain the configured bandwidth of the ATM channel, or may be a radio network control unit of the radio access network, which may obtain the bandwidth capability of the air interface radio bearer allocation. Or it may be a resource management unit of the router, which can obtain the packet forwarding capability assigned to the specified interface.
步骤 503、 接收端设备向发送端设备发送该网络带宽信息。  Step 503: The receiving end device sends the network bandwidth information to the sending end device.
接收端设备既可以是通过 ACK消息向发送端设备发送网络带宽信息, 也可以釆用一个新的会话消息向发送端设备发送网络带宽信息。 发送端设 备在接收到包含网络带宽信息的消息后, 如果发送端设备不支持根据网络 带宽信息调整数据发送速率的方式, 则可以丟弃该消息, 如果发送端设备 支持, 则可以根据接收到的网络带宽信息调整分组数据包的数据发送速率。 The receiving end device may send network bandwidth information to the sending end device through an ACK message, or may send network bandwidth information to the sending end device by using a new session message. Sending terminal After receiving the message containing the network bandwidth information, if the sending device does not support the method of adjusting the data sending rate according to the network bandwidth information, the message may be discarded. If the sending device supports, the network bandwidth may be received according to the received network bandwidth. The information adjusts the data transmission rate of the packet data packet.
步骤 504、发送端设备根据该网络带宽信息,对数据发送速率进行调整 处理。  Step 504: The sending end device adjusts the data sending rate according to the network bandwidth information.
步骤 505、根据调整处理后的数据发送速率, 向接收端设备发送分组数 据。  Step 505: Send packet data to the receiving end device according to the data transmission rate after the adjustment processing.
步骤 502〜505在 TCP会话中可以反复执行, 而且步骤 504和步骤 505 的实现方法与上述拥塞控制方法实施例一〜实施例三的相应处的实现方法 类似, 此处不再赘述。  Steps 502 to 505 can be repeatedly executed in the TCP session, and the implementation methods of the steps 504 and 505 are similar to the implementation methods of the first embodiment to the third embodiment of the congestion control method, and are not described herein again.
本实施例的拥塞控制方法中, 接收端设备可以从具有网络带宽测量功 能或者网络带宽管理功能的网络功能实体获取所述网络带宽信息, 并将该 网络带宽信息发送给发送端设备, 从而免去了发送端设备或者接收端设备 本身计算网络带宽的负担, 并且可以得到更加准确的网络带宽信息。 发送 端设备可以直接釆用从接收端设备获取的网络带宽信息来调整数据发送速 率, 使得数据发送速率是围绕网络带宽的变化而变化的, 因此, 发送端设 备对数据发送速率进行调整的精度较高, 而不会出现大幅度的波动。 而且, 发送端设备以调整后的数据发送速率发送分组数据是与数据传输路径的能 力相匹配的, 因此既能够使分组数据在无拥塞的数据传输路径上传输, 又 能够充分发挥网络性能, 避免网络资源浪费。 另外, 该网络功能实体可以 单独维护, 而不需要改变发送端设备和接收端设备。  In the congestion control method of the embodiment, the receiving end device may acquire 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, thereby eliminating The sender device or the receiver device itself calculates the burden of network bandwidth, and can obtain more accurate network bandwidth information. The transmitting device can directly adjust the data sending rate by using the network bandwidth information acquired from the receiving device, so that the data sending rate changes around the network bandwidth. Therefore, the accuracy of the data transmission rate adjustment by the transmitting device is higher. High, without significant fluctuations. Moreover, the transmitting end device transmits the packet data at the adjusted data transmission rate to match the capability of the data transmission path, so that the packet data can be transmitted on the uncongested data transmission path, and the network performance can be fully utilized to avoid Waste of network resources. In addition, the network function entity can be maintained separately without changing the sender device and the sink device.
图 6为本发明网络设备实施例的结构示意图, 如图 6所示, 本实施例 的网络设备包括: 获取模块 11、 处理模块 12和发送模块 13 , 其中, 获取 模块 11用于获取发送端设备和接收端设备之间的数据传输路径的网络带宽 信息; 处理模块 12用于根据获取模块 11获取的网络带宽信息, 对数据发 送速率进行调整处理; 发送模块 13用于根据处理模块 12调整处理后的数 据发送速率, 向所述接收端设备发送分组数据。 FIG. 6 is a schematic structural diagram of an embodiment of a network device according to the present invention. As shown in FIG. 6, the network device in this embodiment includes: an obtaining module 11, a processing module 12, and a sending module 13, where the obtaining module 11 is configured to acquire a sending end device. And the network bandwidth information of the data transmission path between the device and the receiving device; the processing module 12 is configured to adjust the data sending rate according to the network bandwidth information acquired by the acquiring module 11; the sending module 13 is configured to adjust the processing according to the processing module 12 Number Packet data is transmitted to the receiving device according to the transmission rate.
本实施例的网络设备可以用于执行图 1 所示拥塞控制方法实施例一的 技术方案, 其实现原理类似和技术效果, 此处不再赘述。  The network device of this embodiment may be used to implement the technical solution of the first embodiment of the congestion control method shown in FIG. 1, and the implementation principle is similar to the technical effect, and details are not described herein again.
进一步地, 在本发明网络设备另一个实施例中, 获取模块 1 1可以具体 用于根据接收到的由所述接收端设备发送的确认消息中的确认信息和确认 消息的接收时间, 计算获取所述网络带宽信息; 或者根据接收到的由所述 接收端设备发送的确认消息中的确认信息、 后一个确认消息中包含的时间 信息以及前一个确认消息中包含的时间信息, 计算获取所述网络带宽信息; 或者接收所述接收端设备发送的确认消息, 所述确认消息中包含网络带宽 信息, 所述网络带宽信息为所述接收端设备计算单位时间内平均接收的分 组数据包的数据量获取的或者从具有带宽测量或者带宽管理功能的网络功 能实体获取的; 或者从具有带宽测量或者带宽管理功能的网络功能实体获 取所述网络带宽信息。  Further, in another embodiment of the network device of the present invention, the obtaining module 1 1 may be specifically configured to calculate, according to the received confirmation information in the acknowledgement message sent by the receiving device and the receiving time of the acknowledgement message, Calculating the network bandwidth information; or calculating and acquiring the network according to the received confirmation information in the confirmation message sent by the receiving end device, the time information included in the subsequent confirmation message, and the time information included in the previous confirmation message. And receiving the acknowledgment message sent by the receiving end device, where the acknowledgment message includes network bandwidth information, where the network bandwidth information is obtained by the receiving end device to calculate the data volume of the average received packet data packet per unit time Or obtained from a network function entity having bandwidth measurement or bandwidth management functions; or acquiring the network bandwidth information from a network function entity having bandwidth measurement or bandwidth management functions.
获取模块 1 1可以釆用上述方式获取网络带宽信息, 这些方式分别对应 着图 2〜4所示的拥塞控制方法实施例二〜实施例四, 其实现原理和技术效果 类似, 此处不再赘述。  The obtaining module 1 1 can obtain the network bandwidth information in the foregoing manner, and the methods respectively correspond to the second embodiment to the fourth embodiment of the congestion control method shown in FIG. 2 to FIG. 4, and the implementation principle and technical effects are similar, and details are not described herein again. .
图 Ί为本发明拥塞控制系统实施例一的结构示意图, 如图 Ί所示, 本 实施例的系统可以包括: 发送端设备 1和接收端设备 2 , 其中发送端设备 1 用于获取发送端设备 1和接收端设备 2之间的数据传输路径的网络带宽信 息; 根据网络带宽信息, 对数据发送速率进行调整处理; 根据调整处理后 的数据发送速率, 向接收端设备 2发送分组数据; 接收端设备 2用于接收 发送端设备 1发送的分组数据。  Figure Ί is a schematic structural diagram of Embodiment 1 of the congestion control system of the present invention. As shown in Figure ,, the system in this embodiment may include: a sender device 1 and a receiver device 2, where the sender device 1 is configured to acquire a sender device. 1 and network bandwidth information of the data transmission path between the receiving device 2; adjusting the data transmission rate according to the network bandwidth information; and transmitting the packet data to the receiving device 2 according to the adjusted data transmission rate; The device 2 is configured to receive packet data sent by the source device 1.
本实施例的系统可以用于执行图 1 所示拥塞控制方法实施例一的技术 方案, 其实现原理类似和技术效果, 此处不再赘述。  The system of the present embodiment can be used to implement the technical solution of the first embodiment of the congestion control method shown in FIG. 1, and the implementation principle is similar and technical effects, and details are not described herein again.
本发明拥塞控制系统另一个实施例在上述系统实施例一的基础上进一 步地, 发送端设备 1 可以具体用于根据接收到的由所述接收端设备发送的 确认消息中包含的确认信息和确认消息的接收时间, 计算获取所述网络带 宽信息; 或者根据接收到的由所述接收端设备发送的确认消息中的确认信 息、 后一个确认消息中包含的时间信息以及前一个确认消息中包含的时间 信息, 计算获取所述网络带宽信息。 在本实施例中, 发送端设备 1 与接收 端设备 2可以执行图 2所示的拥塞控制方法实施例二的技术方案, 其实现 原理类似和技术效果, 此处不再赘述。 In another embodiment of the congestion control system of the present invention, based on the first embodiment of the system, the transmitting device 1 may be specifically configured to be sent according to the received device by the receiving device. Confirming the receipt time of the confirmation information and the confirmation message included in the message, and calculating the network bandwidth information; or receiving the confirmation information in the confirmation message sent by the receiving device, and the time included in the subsequent confirmation message. The information and the time information included in the previous confirmation message are calculated to obtain the network bandwidth information. In this embodiment, the transmitting device 1 and the receiving device 2 can perform the technical solution of the second embodiment of the congestion control method shown in FIG. 2, which has similar implementation principles and technical effects, and details are not described herein again.
本发明拥塞控制系统再一个实施例在上述系统实施例一的基础上进一 步地, 接收端设备 2可以具体用于向发送端设备 1发送包含网络带宽信息 的确认消息, 网络带宽信息为接收端设备 2计算单位时间内平均接收的分 组数据包的数据量获取的。 在本实施例中, 发送端设备 1 与接收端设备 2 可以执行图 3 所示的拥塞控制方法实施例三的技术方案, 其实现原理类似 和技术效果, 此处不再赘述。  Further, in another embodiment of the congestion control system of the present invention, based on the first embodiment of the system, the receiving device 2 can be specifically configured to send an acknowledgement message including network bandwidth information to the transmitting device 1, and the network bandwidth information is a receiving device. 2 Calculate the amount of data of the average received packet data per unit time. In this embodiment, the transmitting device 1 and the receiving device 2 can perform the technical solution of the third embodiment of the congestion control method shown in FIG. 3, and the implementation principle is similar and technical effects, and details are not described herein again.
图 8为本发明拥塞控制系统实施例二的结构示意图, 如图 8所示, 本 实施例的系统在图 7所示系统实施例一的基础上,还包括:网络功能实体 3 , 该网络功能实体 3 用于监测获取网络带宽信息, 并将网络带宽信息发送给 发送端设备 1 , 或者将网络带宽信息发送给接收端设备 2, 通过接收端设备 2发送给发送端设备 1。  FIG. 8 is a schematic structural diagram of Embodiment 2 of a congestion control system according to the present invention. As shown in FIG. 8, the system in this embodiment further includes: a network function entity 3, based on the system embodiment 1 shown in FIG. The entity 3 is configured to monitor and acquire network bandwidth information, and send the network bandwidth information to the sending device 1 or send the network bandwidth information to the receiving device 2, and send the data to the transmitting device 1 through the receiving device 2.
在本实施例中,发送端设备 1、接收端设备 2以及网络功能实体 3可以 执行图 4所示的拥塞控制方法实施例四或者图 5所示的拥塞控制方法实施 例五的技术方案, 其实现原理类似和技术效果, 此处不再赘述。  In this embodiment, the transmitting end device 1, the receiving end device 2, and the network function entity 3 may perform the technical solution of Embodiment 5 of the congestion control method shown in FIG. 4 or the congestion control method embodiment shown in FIG. 5, The implementation principle is similar and technical effects, and will not be described here.
本领域普通技术人员可以理解: 实现上述方法实施例的全部或部分步 骤可以通过程序指令相关的硬件来完成, 前述的程序可以存储于一计算机 可读取存储介质中, 该程序在执行时, 执行包括上述方法实施例的步骤; 而前述的存储介质包括: ROM、 RAM, 磁碟或者光盘等各种可以存储程序 代码的介质。  A person skilled in the art can understand that all or part of the steps of implementing the above method embodiments may be completed by using hardware related to program instructions, and the foregoing program may be stored in a computer readable storage medium, and the program is executed when executed. The foregoing steps include the steps of the foregoing method embodiments; and the foregoing storage medium includes: a medium that can store program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.
最后应说明的是: 以上实施例仅用以说明本发明的技术方案, 而非对 其限制; 尽管参照前述实施例对本发明进行了详细的说明, 本领域的普通 技术人员应当理解: 其依然可以对前述各实施例所记载的技术方案进行修 改, 或者对其中部分技术特征进行等同替换; 而这些修改或者替换, 并不 使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。 Finally, it should be noted that the above embodiments are only used to illustrate the technical solution of the present invention, and not The invention is described in detail with reference to the foregoing embodiments, and those skilled in the art should understand that the technical solutions described in the foregoing embodiments may be modified, or some of the technical features may be equivalently replaced. These modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

权利要求 Rights request
1、 一种拥塞控制方法, 其特征在于, 包括: A congestion control method, comprising:
获取发送端设备和接收端设备之间的数据传输路径的网络带宽信息; 根据所述网络带宽信息, 对数据发送速率进行调整处理;  Obtaining network bandwidth information of a data transmission path between the source device and the receiving device; and adjusting the data transmission rate according to the network bandwidth information;
根据调整处理后的数据发送速率, 向所述接收端设备发送分组数据。 The packet data is transmitted to the receiving device according to the data transmission rate after the adjustment processing.
2、 根据权利要求 1所述的方法, 其特征在于, 所述获取发送端设备和 接收端设备之间的数据传输路径的网络带宽信息, 包括: The method according to claim 1, wherein the acquiring the network bandwidth information of the data transmission path between the source device and the receiving device includes:
根据接收到的由所述接收端设备发送的至少两个确认消息的时间信息 和所述至少两个确认消息中包含的确认信息获取所述网络带宽信息, 其中 所述时间信息包括所述至少两个确认消息的接收时间或者所述至少两个确 认消息中包含的时间信息。  Acquiring the network bandwidth information according to the received time information of the at least two acknowledgement messages sent by the receiving end device and the acknowledgement information included in the at least two acknowledgement messages, where the time information includes the at least two The receipt time of the confirmation message or the time information contained in the at least two confirmation messages.
3、 根据权利要求 1所述的方法, 其特征在于, 所述获取发送端设备和 接收端设备之间的数据传输路径的网络带宽信息, 包括: 应用公式(1 )获 取所述网络带宽信息,  The method according to claim 1, wherein the acquiring the network bandwidth information of the data transmission path between the transmitting device and the receiving device comprises: applying the formula (1) to obtain the network bandwidth information,
Bandwidth = { 8 X [(Seq2 - 1) + (SACK2_block - SACKl_block)] χ Bandwidth = { 8 X [(Seq2 - 1 ) + (SACK2_block - SACKl_block)] χ
T ACK2 - T ACK1  T ACK2 - T ACK1
其中, Bandwidth为网络带宽信息, Seq2为后一个确认消息的连续确认 顺序号, Seql为前一个确认消息的连续确认顺序号, SACK2_block为所述后 一个确认消息中选择性确认参数的字节数, SACKl_block为所述前一个确认 消息中选择性确认参数的字节数, T_ACK2为所述后一个确认消息的接收时 间或者后一个确认消息中包含的时间信息, T_ACK1为所述前一个确认消息 的接收时间或者前一个确认消息中包含的时间信息, 其中, 所述后一个确 认消息为接收端设备发送的至少两个确认消息中的后一个确认消息, 所述 前一个确认消息为接收端设备发送的至少两个确认消息中的前一个确认消 Wherein, Bandwidth is the network bandwidth information, Seq2 is the consecutive acknowledgment sequence number of the subsequent acknowledgment message, Seq1 is the consecutive acknowledgment sequence number of the previous acknowledgment message, and SACK2_block is the number of bytes of the selective acknowledgment parameter in the subsequent acknowledgment message, SACK1_block is the number of bytes of the selective acknowledgment parameter in the previous acknowledgment message, T_ACK2 is the time of receiving the subsequent acknowledgment message or the time information contained in the latter acknowledgment message, and T_ACK1 is the reception of the previous acknowledgment message. The time or the time information included in the previous acknowledgment message, where the next acknowledgment message is the last one of the at least two acknowledgment messages sent by the receiving device, where the previous acknowledgment message is sent by the receiving device The previous one of the at least two confirmation messages confirms
4、 根据权利要求 1所述的方法, 其特征在于, 所述获取发送端设备和 接收端设备之间的数据传输路径的网络带宽信息, 包括: The method according to claim 1, wherein the acquiring the network bandwidth information of the data transmission path between the source device and the receiving device includes:
从具有带宽测量或者带宽管理功能的网络功能实体获取发送端设备和 接收端设备之间的数据传输路径的网络带宽信息。  The network bandwidth information of the data transmission path between the sender device and the sink device is obtained from a network function entity having a bandwidth measurement or bandwidth management function.
5、 根据权利要求 1所述的方法, 其特征在于, 所述获取发送端设备和 接收端设备之间的数据传输路径的网络带宽信息, 包括:  The method according to claim 1, wherein the acquiring the network bandwidth information of the data transmission path between the source device and the receiving device includes:
接收所述接收端设备发送的确认消息, 获取所述确认消息中包含的网 络带宽信息; 所述网络带宽信息为所述接收端设备根据单位时间内平均接 收的分组数据包的数据量获取的, 或者所述网络带宽信息为所述接收端设 备从具有带宽测量或者带宽管理功能的网络功能实体获取。  Receiving an acknowledgment message sent by the receiving end device, and acquiring network bandwidth information included in the acknowledgment message; the network bandwidth information is obtained by the receiving end device according to an amount of data of an average received packet data packet per unit time, Or the network bandwidth information is obtained by the receiving end device from a network function entity having a bandwidth measurement or a bandwidth management function.
6、 根据权利要求 5所述的方法, 其特征在于, 所述获取发送端设备和 接收端设备之间的数据传输路径的网络带宽信息之前, 还包括:  The method according to claim 5, wherein before the obtaining the network bandwidth information of the data transmission path between the source device and the receiving device, the method further includes:
向所述接收端设备发送建立连接消息, 所述建立连接消息中包含带宽 参数指示, 所述带宽参数指示用于表示请求所述接收端设备在所述确认消 息中包含所述网络带宽信息。  Sending a connection establishment message to the receiving end device, where the connection establishment message includes a bandwidth parameter indication, where the bandwidth parameter indication is used to indicate that the receiving end device includes the network bandwidth information in the acknowledgement message.
接收所述接收端设备发送的建立连接确认消息, 所述建立连接确认消 息中包含带宽参数指示。  Receiving a connection establishment confirmation message sent by the receiving end device, where the establishing connection confirmation message includes a bandwidth parameter indication.
7、 根据权利要求 1〜6中任一权利要求所述的方法, 其特征在于, 所述 根据所述网络带宽信息, 对所述数据发送速率进行调整处理, 包括下述处 理方式中的至少一种方式:  The method according to any one of claims 1 to 6, wherein the adjusting the data transmission rate according to the network bandwidth information comprises at least one of the following processing modes Ways:
将所述数据发送速率调整为等于网络带宽的速率;  Adjusting the data transmission rate to be equal to the rate of the network bandwidth;
将所述数据发送速率调整为大于网络带宽的速率。  The data transmission rate is adjusted to be greater than the rate of the network bandwidth.
8、 根据权利要求 1〜6中任一权利要求所述的方法, 其特征在于, 所述 根据所述网络带宽信息, 对数据发送速率进行调整处理, 包括:  The method according to any one of claims 1 to 6, wherein the adjusting the data transmission rate according to the network bandwidth information comprises:
将所述数据发送速率调整为小于网络带宽的速率, 并在再次获取网络 带宽信息后, 根据新的网络带宽信息调整所述数据发送速率。 The data transmission rate is adjusted to be lower than the network bandwidth, and after the network bandwidth information is acquired again, the data transmission rate is adjusted according to the new network bandwidth information.
9、 根据权利要求 1〜6中任一权利要求所述的方法, 其特征在于, 所述 根据所述网络带宽信息, 对所述数据发送速率进行调整处理, 包括: The method according to any one of claims 1 to 6, wherein the adjusting the data transmission rate according to the network bandwidth information comprises:
将发送的分组数据包的平均大小与所述网络带宽信息的比值作为所述 分组数据包的数据包发送速率。  The ratio of the average size of the transmitted packet data packet to the network bandwidth information is taken as the packet transmission rate of the packet data packet.
10、 根据权利要求 1〜6 中任一权利要求所述的方法, 其特征在于, 所 述获取发送端设备和接收端设备之间的数据传输路径的网络带宽信息之 前, 还包括: 应用公式(3 )获取所述数据发送速率,  The method according to any one of claims 1 to 6, wherein before the acquiring network bandwidth information of the data transmission path between the transmitting end device and the receiving end device, the method further includes: applying an 3) obtaining the data transmission rate,
8 x packet _ sizet 8 x packet _ size t
Rate = ―  Rate = ―
Ty - Tx  Ty - Tx
( 3 )  (3)
其中, Rate表示发送端设备发送分组数据包 X至发送分组数据包 y期 间的数据发送速率, Ty表示发送分组数据包 y的时间, Tx表示发送分组数 据包 X的时间, 8 X packet _ Sizet表示发送端设备发送分组数据包 X至发送 分组数据包 y期间总共发送的比特数之和。 Wherein, Rate represents the data transmission rate during the transmission of the packet data packet X to the transmission packet data packet y by the transmitting device, Ty represents the time at which the packet data packet y is transmitted, and Tx represents the time at which the packet data packet X is transmitted, 8 X packet _ S ize t represents the sum of the total number of bits transmitted by the transmitting device during the transmission of the packet data packet X to the transmission of the packet data packet y.
11、 一种网络设备, 其特征在于, 包括:  A network device, comprising:
获取模块, 用于获取发送端设备和接收端设备之间的数据传输路径的 网络带宽信息;  An acquiring module, configured to acquire network bandwidth information of a data transmission path between the sender device and the receiver device;
处理模块, 用于根据所述获取模块获取的网络带宽信息, 对数据发送 速率进行调整处理;  a processing module, configured to perform an adjustment process on the data sending rate according to the network bandwidth information acquired by the acquiring module;
发送模块, 用于根据所述处理模块调整处理后的数据发送速率, 向所 述接收端设备发送分组数据。  And a sending module, configured to send, according to the processing module, the processed data transmission rate, to send the packet data to the receiving end device.
12、 根据权利要求 11所述的网络设备, 其特征在于, 所述获取模块具 体用于根据接收到的由所述接收端设备发送的确认消息中的确认信息, 以 及确认消息的接收时间, 获取所述网络带宽信息。  The network device according to claim 11, wherein the acquiring module is specifically configured to obtain, according to the received confirmation information in the confirmation message sent by the receiving end device, and the receiving time of the confirmation message. The network bandwidth information.
13、 根据权利要求 11所述的网络设备, 其特征在于, 所述获取模块具 体用于根据接收到的由所述接收端设备发送的至少两个确认消息的时间信 息和所述至少两个确认消息中包含的确认信息获取所述网络带宽信息, 其 中所述时间信息包括所述至少两个确认消息的接收时间或者所述至少两个 确认消息中包含的时间信息。 The network device according to claim 11, wherein the acquisition module has The method is configured to acquire the network bandwidth information according to the received time information of the at least two acknowledgement messages sent by the receiving end device and the acknowledgement information included in the at least two acknowledgement messages, where the time information includes The receiving time of the at least two acknowledgement messages or the time information included in the at least two acknowledgement messages.
14、 根据权利要求 11所述的网络设备, 其特征在于, 所述获取模块具 体用于接收所述接收端设备发送的确认消息, 从所述确认消息中获取网络 带宽信息, 所述网络带宽信息为所述接收端设备根据单位时间内平均接收 的分组数据包的数据量获取的, 或者所述网络带宽信息为所述接收端设备 从具有带宽测量或者带宽管理功能的网络功能实体获取。  The network device according to claim 11, wherein the acquiring module is configured to receive an acknowledgement message sent by the receiver device, obtain network bandwidth information, and the network bandwidth information from the acknowledgement message. Obtained by the receiving end device according to the data amount of the packet data packet received in an average unit time, or the network bandwidth information is obtained by the receiving end device from a network function entity having a bandwidth measurement or a bandwidth management function.
15、 根据权利要求 11所述的网络设备, 其特征在于, 所述获取模块具 体用于从具有带宽测量或者带宽管理功能的网络功能实体获取发送端设备 和接收端设备之间的数据传输路径的网络带宽信息。  The network device according to claim 11, wherein the acquiring module is specifically configured to acquire, by using a network function entity having a bandwidth measurement or a bandwidth management function, a data transmission path between the transmitting end device and the receiving end device. Network bandwidth information.
16、 一种拥塞控制系统, 其特征在于, 包括: 发送端设备和接收端设 备,  A congestion control system, comprising: a transmitting device and a receiving device,
所述发送端设备, 用于获取所述发送端设备和所述接收端设备之间的 数据传输路径的网络带宽信息; 根据所述网络带宽信息, 对数据发送速率 进行调整处理; 根据调整处理后的数据发送速率, 向所述接收端设备发送 分组数据;  The sending end device is configured to acquire network bandwidth information of a data transmission path between the sending end device and the receiving end device, and perform adjustment processing on the data sending rate according to the network bandwidth information; Data transmission rate, sending packet data to the receiving device;
所述接收端设备, 用于接收所述发送端设备发送的分组数据。  The receiving end device is configured to receive packet data sent by the sending end device.
17、 根据权利要求 16所述的拥塞控制系统, 其特征在于, 所述发送端 设备具体用于根据接收到的由所述接收端设备发送的至少两个确认消息的 时间信息和所述至少两个确认消息中包含的确认信息获取所述网络带宽信 息, 其中所述时间信息包括所述至少两个确认消息的接收时间或者所述至 少两个确认消息中包含的时间信息。  The congestion control system according to claim 16, wherein the sending end device is specifically configured to: according to the received time information of the at least two acknowledgement messages sent by the receiving end device, and the at least two The confirmation information included in the confirmation message acquires the network bandwidth information, where the time information includes a reception time of the at least two acknowledgement messages or time information included in the at least two acknowledgement messages.
18、 根据权利要求 16所述的拥塞控制系统, 其特征在于, 所述接收端 设备具体用于向所述发送端设备发送包含网络带宽信息的确认消息, 所述 网络带宽信息为所述接收端设备根据单位时间内平均接收的分组数据包的 数据量计算获取。 The congestion control system according to claim 16, wherein the receiving end device is specifically configured to send, to the sending end device, an acknowledgement message including network bandwidth information, where The network bandwidth information is obtained by the receiving end device according to the data amount of the packet data packet received in an average unit time.
19、 根据权利要求 16所述的拥塞控制系统, 其特征在于, 还包括: 网络功能实体, 用于监测获取网络带宽信息, 并将所述网络带宽信息 发送给所述发送端设备, 或者将所述网络带宽信息发送给所述接收端设备, 通过所述接收端设备发送给所述发送端设备。  The congestion control system according to claim 16, further comprising: a network function entity, configured to monitor and acquire network bandwidth information, and send the network bandwidth information to the sending end device, or The network bandwidth information is sent to the receiving end device, and is sent by the receiving end device to the sending end device.
PCT/CN2011/075163 2010-09-13 2011-06-02 Method, system and network device for congestion control WO2011144141A1 (en)

Applications Claiming Priority (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
CN201010281210.4 2010-09-13

Publications (1)

Publication Number Publication Date
WO2011144141A1 true WO2011144141A1 (en) 2011-11-24

Family

ID=44991203

Family Applications (1)

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

Country Status (2)

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

Cited By (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
CN113766564A (en) * 2021-10-15 2021-12-07 武汉联影医疗科技有限公司 Congestion control method and device for data transmission, computer equipment and storage medium

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102780621B (en) * 2012-07-23 2015-08-19 北京星网锐捷网络技术有限公司 A kind of upstream data packet transmission method, device and the 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
CN105763474B (en) 2014-12-19 2019-10-25 华为技术有限公司 Data transmission method and device
CN106341738B (en) * 2015-07-08 2021-02-02 杭州海康威视数字技术股份有限公司 Bandwidth calculation method, server side and system for streaming media network transmission
TW201803318A (en) * 2016-05-16 2018-01-16 日本電氣股份有限公司 Communication device, communication system, communication method, and recording medium having communication program recorded thereon
CN107800642A (en) * 2016-08-31 2018-03-13 北京金山云网络技术有限公司 A kind of jamming control method and device
CN109600316B (en) 2017-09-30 2022-08-26 华为技术有限公司 Method and device for controlling flow
US10674394B2 (en) * 2017-10-27 2020-06-02 Futurewei Technologies, Inc. Method and apparatus for reducing network latency
CN108092888B (en) * 2017-10-31 2021-06-08 华为技术有限公司 Transmission method, gateway and transmission system based on Overlay network
CN108668323B (en) * 2018-05-08 2022-05-13 Oppo广东移动通信有限公司 Transmission rate adjustment method and related device
CN109067665B (en) 2018-09-25 2022-01-11 华为技术有限公司 Congestion control method and network equipment
CN111654355B (en) * 2020-08-06 2020-11-03 展讯通信(上海)有限公司 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
CN115174490B (en) * 2022-06-16 2023-10-17 浙江华睿科技股份有限公司 Data transmission method and network application terminal
CN116847360B (en) * 2022-12-30 2024-04-02 曲阜师范大学 Non-real-time data transmission method, device and storage medium

Citations (4)

* 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
US20080133744A1 (en) * 2006-12-01 2008-06-05 Ahn Shin Young Multimedia data streaming server and method for dynamically changing amount of transmitting data in response to network bandwidth
US20090113069A1 (en) * 2007-10-25 2009-04-30 Balaji Prabhakar Apparatus and method for providing a congestion measurement in a network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080133744A1 (en) * 2006-12-01 2008-06-05 Ahn Shin Young Multimedia data streaming server and method for dynamically changing amount of transmitting data in response to network bandwidth
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 (3)

* 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
CN113766564A (en) * 2021-10-15 2021-12-07 武汉联影医疗科技有限公司 Congestion control method and device for data transmission, computer equipment and storage medium
CN113766564B (en) * 2021-10-15 2023-05-30 武汉联影医疗科技有限公司 Congestion control method, device, computer equipment and storage medium for data transmission

Also Published As

Publication number Publication date
CN102404187A (en) 2012-04-04

Similar Documents

Publication Publication Date Title
WO2011144141A1 (en) Method, system and network device for congestion control
US9647945B2 (en) Mechanisms to improve the transmission control protocol performance in wireless networks
EP2903192B1 (en) Packet handling method and forwarding device
RU2235432C2 (en) Automatic retransmission request protocol
US7944819B2 (en) System and method for transmission and acknowledgment of blocks of data frames in distributed wireless networks
EP3075110B1 (en) Controlling a transmission control protocol window size
WO2013053304A1 (en) Method and device for implementing tcp transmission
US20080101290A1 (en) Apparatus for Arq Controlling in Wireless Portable Internet System and Method Thereof
WO2012051963A1 (en) Method and device for data transmission
JP2004537218A (en) Reliable and efficient method of congestion control in NACK based protocol
CN112436924B (en) Data transmission method and electronic equipment
US11671377B2 (en) System and method for reducing bandwidth usage of a network
US20150237104A1 (en) Communication system, communication apparatus, and communication method
WO2019144802A1 (en) Data transmission method and related device
WO2020147453A1 (en) Data transmission method and related apparatus
EP3654563A1 (en) Transmission timeout system
WO2017185353A1 (en) Method, device and system for transmitting transmission control protocol (tcp) packet
JP2012039191A (en) Communication system and communication quality control method
CN104580171B (en) The transmission method of Transmission Control Protocol, device and system
CN113424578B (en) Acceleration method and device for transmission control protocol
WO2012155662A1 (en) Status report processing method, communication device, and communication system
JP2012124647A (en) Communication system and node device
WO2013097611A1 (en) Data processing method, device and system
RU2780218C1 (en) Method for sending data using two 5g new radio base stations
WO2023121513A1 (en) Method for sending data using two 5g new radio base stations

Legal Events

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

Ref document number: 11783058

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11783058

Country of ref document: EP

Kind code of ref document: A1