WO2011137773A1 - 网络丢包处理方法及装置 - Google Patents
网络丢包处理方法及装置 Download PDFInfo
- Publication number
- WO2011137773A1 WO2011137773A1 PCT/CN2011/074156 CN2011074156W WO2011137773A1 WO 2011137773 A1 WO2011137773 A1 WO 2011137773A1 CN 2011074156 W CN2011074156 W CN 2011074156W WO 2011137773 A1 WO2011137773 A1 WO 2011137773A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- packet loss
- value
- network
- cwnd
- congestion window
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/11—Identifying congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Definitions
- the present invention relates to the field of communications, and in particular, to a network packet loss processing method and apparatus.
- the initial TCP (Transmission Control Protocol) data transmission mechanism is designed for a wired network.
- the network includes a TCP sender (hereinafter referred to as a sender) and a TCP receiver (hereinafter referred to as a receiver).
- a TCP sender hereinafter referred to as a sender
- a TCP receiver hereinafter referred to as a receiver.
- Each packet that goes out must receive an acknowledgment from the receiving end, and the acknowledgment signal is an ACK (ACKnowledgement) signal. If the ACK is not received within the specified time, the data packet is retransmitted; the receiving end receives each of the received packets. The data packet must send an acknowledgment to the sender.
- the data segment that arrives out of sequence is received, it will be saved in the buffer, and a request will be sent to the missing packet in the middle (in the form of repeated ACK) to receive the missing data.
- the data packet, the receiving end will deliver the ordered data segment in the buffer to the application layer at a certain time.
- the data transmission rate of the sender depends on two factors, including: the buffer size of the receiver and the bandwidth that the communication network can provide.
- the sender In the TCP data transmission process of the wired network, it is assumed that all packet loss events are caused by network congestion. Once the packet loss event is detected, the sender will slow down the packet transmission rate to reduce the network load and avoid congestion.
- this operation is not feasible because wireless network transmission links may cause random packet loss caused by non-network congestion, that is, due to radio link instability, burst errors occur during data packet transmission, and even The TCP receiver is unrecognizable and cannot acknowledge the packet.
- the packet is "lost".
- the burst error has "randomness" and is usually called random packet loss. If the sender blindly slows down the data transmission rate because it detects a random packet loss event, it will cause a drop in TCP transmission performance.
- the sender uses a sliding window mechanism for rate control.
- the sender manages two windows: the receiving window (rev_wnd) and the congestion window (cwnd, Congestion) Window ), rev—wnd characterizes the data receiving capability of the receiving end, and cwnd characterizes the data transmission capability of the network.
- the receiving window rev_wnd
- the congestion window cwnd, Congestion
- rev—wnd characterizes the data receiving capability of the receiving end
- cwnd characterizes the data transmission capability of the network.
- TCP Veno in order to distinguish whether the packet loss event in the network is caused by network congestion or by random packet loss, a network bandwidth utilization degree identifier N and a constant reference beta, N are introduced at the transmitting end.
- the value is RTTmin*(cwnd/RTTmin - cwnd/RTT), where RTTmin ( Minimum Round Trip Time), RTTmin represents the minimum round trip delay detected by the sender, which is an integer greater than 0; RTT ( Round Trip Time ) indicates the round trip delay.
- RTTmin Minimum Round Trip Time
- RTTmin represents the minimum round trip delay detected by the sender, which is an integer greater than 0
- RTT ( Round Trip Time ) indicates the round trip delay.
- the sender considers that the packet loss event is Caused by random packet loss, ssthresh (Slow Start Thresh) is backed off to cwnd* ( 4/5 ); and when N is greater than or equal to beta value, it indicates that the currently available network bandwidth has been fully utilized, sending The end thinks that the packet loss event is caused by network congestion, and ssthresh is retired as cwnd/2. Among them, in the TCP congestion control, the size of the congestion window value cwnd and the man-start threshold ssthresh are compared. If cwnd is smaller than ssthresh, it is in the MANN start state.
- the cwnd value increases by 1. If cwnd is greater than or equal to ssthresh, it is in the congestion avoidance state. Each time the TCP sender receives an ACK, the cwnd value increases by 1. /cwnd, that is, every time TCP receives cwnd ACK, the value is increased by 1.
- the inventor has found that at least the following problems exist in the prior art: Although the prior art performs certain filtering on random packet loss in the network, the network bandwidth is fully utilized and underutilized.
- the threshold beta is a manually set parameter, which cannot accurately determine whether the packet loss event is caused by random packet loss, and still recognizes the congestion window after the random packet loss event, so that the sender ends with a comparison. Data is transmitted at a low rate, so in a high packet loss rate network environment, the performance of data transmission cannot be guaranteed.
- Embodiments of the present invention provide a network packet loss processing method and apparatus, so that data transmission performance is greatly improved in a high packet loss rate network environment.
- the embodiment of the present invention provides a network packet loss processing method, including: When the packet loss event is detected, comparing the current congestion window value of the network with the size of the buffer threshold; the buffer threshold is used to indicate the data carrying capacity of the entire network, and the data carrying capacity of the link in the network is And adding the data carrying capacity of the node buffer in the network;
- the current congestion window value is smaller than the buffer threshold, determining that the current packet loss event is not caused by congestion packet loss, and performing the backoff processing on the current congestion window;
- the current congestion window value is greater than or equal to the buffer threshold, determining that the current packet loss event is caused by a congestion packet loss, and performing a backoff process on the current congestion window.
- an embodiment of the present invention provides a network packet loss processing apparatus, including: a comparing unit, configured to compare a current congestion window value of a network and a buffer threshold value when a packet loss event is detected;
- the threshold value is used to represent the data carrying capacity of the entire network, which is obtained by adding the data carrying capacity of the link in the network and the data carrying capacity of the node buffer in the network;
- a first processing unit configured to: when the comparing unit determines that the current congestion window value is smaller than the buffering threshold, determine that the current packet loss event is not caused by a congestion packet, and does not back off the current congestion window. deal with;
- a second processing unit configured to: when the comparing unit determines that the current congestion window value is greater than or equal to the buffering threshold, determining that the current packet loss event is caused by a congestion packet, and the current congestion window Perform backoff processing.
- the buffering threshold in the technical solution of the present invention is composed of two parts, one part represents the data carrying capacity of the link in the network, and the other part represents the data carrying capacity of the node buffer in the network, thereby being able to Accurately determine the data carrying capacity of the entire network.
- Congestion loss is often caused by the data sent by the data sender, which is greater than the data carrying capacity of the entire network, resulting in data loss.
- the congestion window value determines the data transmission capability of the sender. When the current congestion window value is less than the delay. If the packet loss event is not caused by congestion packet loss, the current congestion window is not backed off, and the congestion window value is maintained at a relatively large value, so that the network can obtain better data transmission performance. .
- FIG. 1 is a flowchart of a network packet loss processing method according to Embodiment 1 of the present invention.
- FIG. 2 is a structural block diagram of a network packet loss processing according to Embodiment 2 of the present invention.
- FIG. 3 is a structural block diagram of another network packet loss processing according to Embodiment 2 of the present invention.
- FIG. 4 is a structural block diagram of another network packet loss processing according to Embodiment 2 of the present invention.
- FIG. 5 is a structural block diagram of another network packet loss processing according to Embodiment 2 of the present invention.
- FIG. 6 is a structural block diagram of another network packet loss processing according to Embodiment 2 of the present invention.
- FIG. 7 is a rendering diagram of a WIFI access network environment according to an embodiment of the present invention.
- FIG. 8 is a rendering diagram of a 3G wireless real network in an embodiment of the present invention.
- the congestion window value reflects the data transmission capability of the sender, within a certain range, the larger the value, the stronger the data transmission performance of the sender.
- the congestion window value should not be too large. If it is too large, it will cause network congestion. Therefore, it is necessary to set the congestion window value reasonably so as to maximize the data transmission performance without affecting network congestion.
- the embodiment of the present invention is based on the above theory, and the congestion window value is in an appropriate range as much as possible. Therefore, within this range, the congestion window value does not need to be backed off, thereby maximizing the data transmission performance.
- the data carrying capacity of the entire network is smaller than the data sent by the data sending end.
- the data carrying capacity of the entire network is smaller than the data sent by the data sending end, the data may not be smoothly transmitted. It can not be buffered and lost; therefore, as long as the data sent by the data transmitting end does not exceed the data carrying capacity of the entire network, the data will not be lost due to congestion; based on the above principle, the buffering is performed in the embodiment of the present invention.
- the threshold value represents the data carrying capacity of the entire network, which is obtained by adding two parts, one part is the data carrying capacity of the link in the network, and the other part is the data carrying capacity of the node buffer in the network; Make the congestion window as close as possible to a suitable range (less than the buffer threshold), within this range, you can think No congestion packet loss is caused. Therefore, congestion window value backoff processing is not required, so that the data transmitting end continues to transmit data at a higher rate to improve data transmission performance; only exceeds this suitable range (beyond the buffer threshold) ), it is considered that the data is congested and lost, so that the backoff processing is performed to reduce the rate of data transmission at the data transmitting end and ensure accurate data transmission.
- the embodiment of the present invention provides a network packet loss processing method. As shown in FIG. 1 , the method includes: 101. When detecting a packet loss event, compare a current congestion window value of the network with a buffer threshold value; If the current congestion window value is smaller than the buffer threshold, it is determined that the current packet loss event is not caused by a congestion packet, and step 102 is performed; if the current congestion window value is greater than or equal to the buffer threshold, then determining The current packet loss event is caused by congestion packet loss, and step 103 is performed.
- the buffering threshold is used to represent the data carrying capacity of the entire network, which is obtained by adding the data carrying capacity of the link in the network and the data carrying capacity of the node buffer in the network.
- the data carrying capacity of the link in the network indicates the capability of the link to transmit data in the network, for example, it can be determined by the number of data packets transmitted in a certain time range, but the embodiment of the present invention does not limit this. It can also be represented in a manner that can be represented in the art; the data carrying capacity of the node buffer in the network indicates the ability of the node buffer in the network to accommodate data, for example, it can be used to accommodate data packets. The number is determined, but the embodiment of the present invention does not limit this, and can also be expressed in a manner that can be represented in the art.
- the buffer threshold can be obtained by the following formula 1, which is:
- m-cwnd represents the buffer width, and its value ranges from an integer greater than 0; Luo * RTTmin
- BWE indicates the transmitting end to the receiving end of the network transmission.
- the transmission bandwidth of the link is an integer greater than 0.
- RTTmin indicates the minimum round-trip delay detected by the sender.
- the unit is milliseconds, which is an integer greater than 0.
- MSS indicates the maximum packet length used by the network transmission. , which takes an integer greater than 0;
- BWE*ALPHA represents a node buffer in the network
- the data carrying capacity, BWE represents the transmission bandwidth of the transmitting end of the network transmission to the receiving end link, and its value is an integer greater than 0.
- ALPHA represents an adaptive parameter of the data carrying capacity of the node buffer in the network, and its value Positive change with the minimum round trip delay detected by the sender and the packet loss rate of the network;
- the MSS indicates the maximum packet length used by the network transmission, and the value is an integer greater than 0. It should be noted that the above formula for calculating the buffering threshold is only an embodiment of an entity. In actual use, it can also be obtained by other calculation methods, which is not limited by the embodiment of the present invention.
- ALPHA is obtained by the following formula 2, which is:
- k is a scale factor greater than 1
- RTTmin is the minimum round trip delay detected by the sender, which is an integer greater than 0
- LD is the packet loss interval, which is inversely proportional to the packet loss rate, How many packets are detected in a packet loss event, such as a packet with a sequence number of 1 2 3 4 5 6 , and a TCP sender receives a packet of 1 2 3 4 5 and detects 6 loss.
- the packet loss interval is 5. It should be noted that the above formula for calculating the ALPHA value is only an embodiment of an entity. In actual use, it can also be obtained by other calculation methods, which is not limited in the embodiment of the present invention.
- the ALPHA calculation may be obtained according to the update of the LD and according to the above formula, and the update of the LD may be obtained by using the following method, the method includes:
- the statistic of the number of received ACKs and the number of packet loss events in the predetermined time period may include: the sender initializes the number of received ACKs and the number of packet loss events to 0, and then at the predetermined time. During the period, each time the sender receives an ACK, the ACK_Count is incremented by one; each time the sender detects a packet loss event, the Lost_Count is incremented by one.
- the embodiment of the present invention may further perform smoothing on the calculated LD, so that the calculated LD value is relatively smooth, and specifically, the smoothing filter pair of ⁇ 1/2 , 1/2 ⁇ may be used to obtain the LD value.
- the packet loss interval in the predetermined time period is smoothed, and the packet loss interval in the predetermined time period after smoothing is obtained, and ⁇ 1/2 , 1/2 ⁇ indicates that the value of the filter is half of the value used by the filter. Half use the new value.
- the LD can be obtained by using the following formula 3, which is:
- ACK_Count is the number of acknowledgment signals ACK received in the predetermined time period, and the number of packet loss events received during the t3 ⁇ 4 ⁇ period when Lost_Count is scheduled.
- the current congestion window value of the network and the size of the buffer threshold it is determined whether the current packet loss event is caused by a congestion packet loss, and may be performed when the packet is detected by the sender, for example, the sender receives three repeated ACKs or When the retransmission timer expires, the following methods may be used, including: comparing the current congestion window value of the network with the size of the buffer threshold; if the current congestion window value is smaller than the buffer threshold, determining the current The packet loss event is not caused by a congestion packet; if the current congestion window value is greater than or equal to the buffer threshold, it is determined that the current packet loss event is caused by a congestion packet loss.
- the congestion carrying packet is caused by the data carrying capacity of the entire network being smaller than the data sent by the data sending end, and the congestion window value reflects the data transmission capability of the transmitting end, where the buffering threshold value represents the data carrying capacity of the entire network, so When the current congestion window value is less than the buffer threshold, indicating that the data carrying capacity of the entire network is greater than the amount of data sent by the data sending end, the data is not lost due to unsuccessful transmission or buffering, and the sending end It is considered that the packet loss event is not caused by congestion packet loss; when the current congestion window value is greater than or equal to the buffer threshold, indicating that the data carrying capacity of the entire network is less than or equal to the amount of data sent by the data sending end, If the data is lost due to unsuccessful transmission or unbuffering, the sender considers that the packet loss event is caused by network congestion.
- the device does not perform the backoff processing on the current congestion window, that is, the identified non-congested packet is not processed, and the packet loss event is ignored.
- the specific operation may be: when the sender receives three When the continuous ACK identifies the non-congested packet loss, the cwnd value remains unchanged during the fast retransmission/fast recovery process, and the cwnd value remains unchanged after the fast retransmission/fast recovery process is terminated; TCP-THU recognizes When the non-congested packet is lost due to the retransmission timer timeout, the cwnd value maintains the cwnd value before the packet loss event occurs.
- the method for performing the backoff processing on the current congestion window may use any one of the existing techniques for the congestion window retreat processing, which is not limited by the embodiment of the present invention; for example, the TCPW manner implements the current congestion window. Perform backoff processing.
- the buffer threshold is composed of two parts, one part represents the data carrying capacity of the link in the network, and the other part represents the data carrying capacity of the node buffer in the network, so that the data of the entire network can be accurately determined.
- Carrying capacity Congestion loss is often caused by the data sent by the data sender, which is greater than the data carrying capacity of the entire network, resulting in data loss.
- the congestion window value determines the data transmission capability of the sender. When it is determined that the packet loss event is not caused by congestion and packet loss. When the current congestion window is not backed off, the congestion window value is maintained at a relatively large value, so that the network can obtain better data transmission performance.
- the buffering threshold is continuously updated by updating the ALPHA, so that the judgment of the non-congested packet loss is more accurate, thereby further improving the performance of data transmission in a high packet loss rate network environment.
- the current congestion window value adjustment may also be adjusted in real time according to the ACK (ACKnowledgement, signal used for confirmation in the network transmission) received by the receiving end, so when the receiving end receives After an ACK, the method further includes:
- the current congestion window value is greater than or equal to the slow start threshold and less than the buffer threshold, each time the sender receives an ACK, the current congestion window value is increased by max (1, (m_cwnd- Cwnd)/2 ) , where max ( 1 , (m_cwnd-cwnd)/2 ) represents a larger one of 1 and (m ⁇ cwnd-cwnd)/2, and the m—cwnd is a buffer threshold, The cwnd when Front congestion window value;
- the current congestion window value is greater than or equal to the buffer threshold, each time the sender receives an ACK, the current congestion window value is added to min(l/2, BETA/cwnd), where min(l) /2, BETA/cwnd) represents a smaller one of 1/2 and BETA/cwnd, the BETA being an adaptive parameter greater than 1, the value of which is the minimum round trip delay detected by the transmitting end and the network
- the packet loss rate changes in a positive relationship.
- LD is the packet loss interval, which is inversely proportional to the packet loss rate, and determines how many times a packet loss event is detected by averaging how many packets are received, for example, the sequence number is 1. 2 3 4 5 6 packets, after the TCP sender receives the ACK of 1 2 3 4 5, it detects that 6 is lost, and the packet loss interval is 5; RTTmin is the minimum round-trip delay detected by the sender;
- ⁇ RTTmin ⁇ - t ⁇ I RTTmin is the reference time, which is an integer greater than 0; max is the larger of T 1 and the middle one.
- the above formula for calculating the BETA value is only an embodiment of an entity. In actual use, it can also be obtained by other calculation methods, which is not limited by the embodiment of the present invention.
- the calculation of the LD in the formula for calculating the BETA value may be referred to the corresponding description in the calculation of the ALPHA value, which will not be described herein again.
- the congestion window value can be adjusted according to the ACK received in real time, and the congestion window value is adjusted, so that the congestion window value is maintained at a reasonable value, so that the network can obtain better data transmission performance.
- the embodiment of the present invention provides a network packet loss processing device, which may be an independent device or may be integrated into a transmitting end.
- the device includes: Unit 21, first processing unit 22 and second processing unit 23.
- the determining unit 21 is configured to compare the current congestion window value of the network and the size of the buffer threshold when the packet loss event is detected; the buffer threshold is used to indicate the data carrying capacity of the entire network.
- the buffering threshold value represents the data carrying capacity of the entire network, which is obtained by adding the data carrying capacity of the link in the network and the data carrying capacity of the node buffer in the network.
- the data carrying capacity of the link in the network indicates the capability of the link to transmit data in the network, for example, it can be determined by the number of data packets transmitted in a certain time range, but the embodiment of the present invention does not limit this. It can also be represented in a manner that can be represented in the art; the data carrying capacity of the node buffer in the network indicates the ability of the node buffer in the network to accommodate data, for example, it can be used to accommodate data packets. The number is determined, but the embodiment of the present invention does not limit this, and can also be expressed in a manner that can be represented in the art.
- the first processing unit 22 is configured to: when the comparing unit 21 determines that the current congestion window value is less than the buffering threshold, and determines that the current packet loss event is not caused by congestion loss, the current congestion is not The window performs the backoff processing; wherein, the first processing unit 22 does not perform the backoff processing on the current congestion window, that is, the identified non-congested packet is not processed, and the packet loss event is ignored; the specific operation may be, when When the terminal receives three consecutive ACK-identified non-congested packets, the cwnd value remains unchanged during the fast retransmission/fast recovery process, and the cwnd value remains unchanged after the fast retransmission/fast recovery process is terminated. When the TCP-THU recognizes a non-congested packet loss caused by the retransmission timer timeout, the cwnd value maintains the cwnd value before the packet loss event occurs.
- a second processing unit 23 configured to: when the comparing unit determines that the current congestion window value is greater than or equal to the buffering threshold, determining that the current packet loss event is caused by a congestion packet loss, The congestion window performs the backoff processing.
- the second processing unit 23 performs the backoff processing on the current congestion window, and may use any congestion window retreat processing method in the prior art, which is not limited by the embodiment of the present invention; for example, the TCPW mode Implementing a backoff process on the current congestion window.
- determining unit, the first processing unit, and the second processing unit, and other units in the embodiment of the present invention are all unit divisions performed on the logical function in the embodiment of the present invention, and are not strictly related to each other. Limits, for example, may also include only determining units or one processing Unit, the processing unit selects whether to perform the backoff processing according to the determination result of the determining unit. These units can be implemented by various passing processors (such as CPU, DSP, etc.) or dedicated hardware processing circuits (such as ASIC), which are not limited herein.
- the buffering threshold value represents the entire network. Data carrying capacity, so when the current congestion window value is less than the buffer threshold, indicating that the data carrying capacity of the entire network is greater than the amount of data sent by the data sending end, the data will not be unblocked or unbuffered. If the packet is lost, the sender considers that the packet loss event is not caused by the congestion packet loss. When the current congestion window value is greater than or equal to the buffer threshold, the data carrying capacity of the entire network is less than or equal to the data sending end. The amount of data will cause the data to be lost due to unclear transmission or buffering. The sender considers that the packet loss event is caused by network congestion.
- the apparatus further includes a first computing unit 24.
- the first calculating unit 24 is configured to obtain the buffer threshold by using the following formula 1, where the formula 1 is:
- m-cwnd represents the buffer width, and its value ranges from an integer greater than 0; Luo * RTTmin
- BWE indicates the transmission bandwidth of the transmitting end to the receiving end of the network, and the value is greater than 0.
- RTTmin indicates the minimum round trip delay detected by the transmitting end. The unit is milliseconds, and the value is an integer greater than 0.
- the MSS indicates the maximum packet length used by the network transmission, and the value is an integer greater than 0.
- BWE*ALPHA indicates the node buffer in the network.
- the data carrying capacity, BWE represents the transmission bandwidth of the transmitting end of the network transmission to the receiving end link, and its value is an integer greater than 0.
- ALPHA represents an adaptive parameter of the data carrying capacity of the node buffer in the network, and its value Positive change with the minimum round trip delay detected by the sender and the packet loss rate of the network;
- the MSS indicates the maximum packet length used by the network transmission, and the value is an integer greater than 0. It should be noted that the above formula for calculating the buffer threshold is only an embodiment of an entity, and in actual use, It can be obtained by other calculation methods, which is not limited by the embodiment of the present invention.
- the buffer threshold is composed of two parts, one part represents the data carrying capacity of the link in the network, and the other part represents the data carrying capacity of the node buffer in the network, so that the data of the entire network can be accurately determined. Carrying capacity. Congestion loss is often caused by the data sent by the data sender, which is greater than the data carrying capacity of the entire network, resulting in data loss.
- the congestion window value determines the data transmission capability of the sender. When it is determined that the packet loss event is not caused by congestion and packet loss. When the current congestion window is not backed off, the congestion window value is maintained at a relatively large value, so that the network can obtain better data transmission performance.
- the current congestion window value may be adjusted according to the ACK received by the receiving end.
- the apparatus further includes: a third processing unit 25.
- the third processing unit 25 is configured to: after receiving an ACK, when the current congestion window value is less than the slow start threshold (ssthresh), each time the sender receives an ACK, the current congestion window value is added. 1 ; or
- the third processing unit 25 is further configured to: when the current congestion window value is greater than or equal to the slow start threshold, and less than the buffer threshold, each time the sender receives an ACK, the current The congestion window value is max ( 1 , (m cwnd-cwnd) / 2 ), where max( 1 , (m_cwnd-cwnd)/2 ) represents the larger of 1 and (m-cwnd-cwnd)/2 a number, the m-cwnd is a buffer threshold, and the cwnd current congestion window value; or
- the third processing unit 25 is further configured to: when the current congestion window value is greater than or equal to the buffer threshold, each time the sender receives an ACK, the current congestion window value is added to min (l/2, BETA). /cwnd), where min(l/2, BETA/cwnd) represents a smaller one of 1/2 and BETA/cwnd, where the BETA is an adaptive parameter greater than 1, the value and transmission
- the minimum round trip delay detected by the end is positively related to the packet loss rate of the network.
- the congestion window value can be adjusted according to the ACK received in real time, and the congestion window value is adjusted, so that the congestion window value is maintained at a reasonable value, so that the network can obtain better data transmission performance.
- the calculation of the ALPHA value and the BETA value may be obtained according to the LD calculation.
- the apparatus further includes: a statistical unit 26, a second calculating unit 27, and a third calculating unit 28.
- the statistic unit 26 is configured to count the number of acknowledgment signals ACK and the number of packet loss events received in a predetermined time period; and the statistic unit 26 counts the number of acknowledgment signals ACK and the number of packet loss events received within a predetermined time period.
- the second calculating unit 27 is configured to divide the number of ACKs received by the statistic unit 26 in the predetermined time period by the number of the packet loss events to obtain a packet loss interval in the predetermined time period.
- the third calculating unit 28 is configured to calculate, according to the second calculating unit 27, the packet loss interval in the predetermined time period, and calculate the value of the ALPHA and the value of the BETA.
- the third calculating unit 28 calculates the value of the ALPHA and the value of the BEBA according to the packet loss interval in the predetermined time period according to the second calculating unit 27, and can refer to the formula 2 in Embodiment 1. Corresponding description with Equation 4.
- the embodiment of the present invention may further perform smoothing on the calculated LD, so that the calculated LD value is relatively smooth.
- the apparatus further includes: a smoothing processing unit 29.
- the smoothing processing unit 29 is configured to: after the second computing unit 27 obtains the packet loss interval in the predetermined time period, obtain the predetermined time period by using a smoothing filter pair of ⁇ 1/2, 1/2 ⁇ The packet loss interval is smoothed to obtain a packet loss interval within the predetermined time period after smoothing; wherein, ⁇ 1/2 , 1/2 ⁇ indicates that the value passed through the filter is half of the old value, and half of the packet is used. Using the new value; the smoothing processing unit 29 smoothes the packet loss interval in the predetermined time period by using a smoothing filter of ⁇ 1/2, 1/2 ⁇ , and obtains the predetermined time period after the smoothing process.
- ⁇ 1/2 , 1/2 ⁇ indicates that the value passed through the filter is half of the old value, and half of the packet is used.
- the smoothing processing unit 29 smoothes the packet loss interval in the predetermined time period by using a smoothing filter of ⁇ 1/2, 1/2 ⁇ , and obtains the predetermined time period after the smoothing process.
- For the packet loss interval refer to the
- the third calculating unit 28 is further configured to calculate the value of the ALPHA and the value of BETA according to the packet loss interval in the predetermined time period after the smoothing processing unit 29 smoothing.
- a TCP end-to-end data connection is established in a server-client mode, and a real network test is performed, specifically by comparing data transmission performance brought by the embodiment. Performance comparison with TCP data transmission in the prior art.
- the TCP Cubic is a TCP algorithm proposed for a long round-trip delay network, which introduces a "half-half search" mechanism in the "congestion avoidance" phase of TCP Reno, so that TCP can grow to the network more quickly.
- TCP Cubic introduces a variable as the upper limit of the halved growth, denoted as Wmax.
- the TCP Reno uses the cwnd-ssthresh congestion control framework to implement the management of the congestion window.
- the TCP Westwood proposes a bandwidth estimation mechanism based on TCP Reno to calculate the bandwidth estimates BWE and RTTmin of the current network.
- the TCP Reno sender detects a packet loss event, it will cause the "slow start” threshold ssthresh to be retired as cwnd/2; and when the TCPW sender detects a packet loss event, the "slow start” threshold is made.
- Ssthresh is backed up to BWE*RTTmin/MSS (this value is usually greater than cwnd/2). But beyond that, TCPW retains all of TCP Reno's other congestion control methods.
- the telecom CDMA 2000 3G network card has two working modes, one is 3G mode, the nominal bandwidth is 3 Mbps, and the other is IX mode (commonly known as 2G). Mode), nominal bandwidth is 152kbps.
- the performance of the technical solution provided by the embodiment of the present invention is lower than that of the performance second Cubic in the 3G wireless real network.
- the gain is up to 300%+.
- the present invention can be implemented by means of software plus necessary general hardware, and of course, by hardware, but in many cases, the former is a better implementation. .
- the technical solution of the present invention which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a readable storage medium, such as a floppy disk of a computer.
- a hard disk or optical disk or the like includes instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform the methods described in various embodiments of the present invention.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种网络丢包处理方法及装置,涉及通信领域,可以在高丢包率网络环境中,提高数据传输性能。本发明的方法包括:当检测到丢包事件时,比较网络的当前拥塞窗口值和缓冲阈值的大小;该缓冲阈值用于表示整个网络的数据承载能力,其由该网络中链路的数据承载能力和该网络中节点缓冲区的数据承载能力相加得到;若该当前拥塞窗口值小于该缓冲阈值,则确定该当前丢包事件不是拥塞丢包引起的,不对该当前拥塞窗口进行退避处理;若该当前拥塞窗口值大于或等于该缓冲阈值,则确定该当前丢包事件是拥塞丢包引起的,对该当前拥塞窗口进行退避处理。本发明实施例主要用于网络丢包处理的过程中。
Description
网络丢包处理方法及装置
本申请要求于 2010 年 11 月 18 日提交中国知识产权局、 申请号为 201010550043.9、 发明名称为 "网络丟包处理方法及装置" 的中国专利申请的 优先权, 在此并入其全部内容作为参考。
技术领域
本发明涉及通信领域, 尤其涉及一种网络丟包处理方法及装置。
背景技术 最初的 TCP ( Transmission Control Protocol, 传输控制协议)数据传输机 制是针对有线网络设计的, 网络包括 TCP发送端 (以下简称发送端 )和 TCP 接收端(以下简称接收端), 发送端对发出去的每一个数据包都要收到接收端 的确认, 确认信号为 ACK ( ACKnowledgement )信号, 如果在规定时间内没 有收到 ACK时, 就会重传该数据包; 接收端对接收到的每一个数据包都要往 发送端发送确认, 如果收到失序到达的数据段, 会在緩冲区中保存下来, 并 对中间缺失的数据包发送请求 (以重复 ACK的方式), 用以接收缺失的数据 包, 接收端会在某一时刻将緩冲区内有序的数据段递交到应用层。
发送端的数据发送速率取决于两个因素, 包括: 接收端的緩冲区大小和 通信网络能提供的带宽。 在有线网络的 TCP数据传输过程中, 假定所有的丟 包事件都是由网络拥塞所引起, 发送端一旦检测到丟包事件, 就会减慢数据 包的发送速率, 以减少网络的负载, 避免拥塞。 但是在无线网络环境中, 该 操作是不可行的, 因为无线网络传输链路会发生非网络拥塞引起的随机丟包, 即由于无线链路不稳定, 数据包传输过程中发生突发差错, 以至 TCP接收端 无法识别,无法对该数据包进行确认,该数据包就"丟失"了,突发差错具有 "随 机性", 通常称为随机丟包。 如果发送端因为检测到随机丟包事件, 而盲目地 减慢数据发送速率, 就会导致 TCP传输性能的下降。
目前, 发送端使用滑动窗口机制进行速率控制。 对应于上述两个因素, 发送端管理两个窗口: 接收窗口 (rev— wnd )和拥塞窗口 (cwnd, Congestion
Window ), rev— wnd表征接收端的数据接收能力, cwnd表征所在网络的数据 传输能力。现有的技术 TCP Veno中为了区分网络中的丟包事件是由网络拥塞 引起的, 还是由随机丟包引起的, 在发送端引入了一个网络带宽利用程度标 识 N和一个常量参照 beta, N的取值为 RTTmin*(cwnd/RTTmin - cwnd/RTT), 其中, RTTmin ( Minimum Round Trip Time ), RTTmin表示由发送端检测到的 最小往返时延, 其取值为大于 0的整数; RTT ( Round Trip Time )表示往返时 延。 当发送端检测到由 3个重复 ACK标识的丟包事件时, 比较 N与 beta大 小, 当 N小于 beta值时, 表示当前网络带宽处于未被充分利用状态, 发送端 认为该次丟包事件是由随机丟包引起的, 将 ssthresh ( Slow Start Thresh, 慢启 动阔值) 退避为 cwnd* ( 4/5 ); 而当 N大于或等于 beta值时, 表示当前可用 网络带宽已经被充分利用, 发送端认为该次丟包事件是由网络拥塞造成的, 把 ssthresh退避为 cwnd/2; 其中, 在 TCP拥塞控制中, 通过比较拥塞窗口值 cwnd和曼启动阔值 ssthresh的大小, 。果 cwnd小于 ssthresh则处于曼启动 态, TCP发送端每接收到一个 ACK, cwnd值增加 1 ; 如果 cwnd大于或等于 ssthresh, 则处于拥塞避免状态, TCP发送端每接收到一个 ACK, cwnd值增 加 1/cwnd, 亦即 TCP每收到 cwnd个 ACK, 值才增加 1。
在实现上述网络丟包处理的过程中, 发明人发现现有技术中至少存在如 下问题: 虽然现有技术对网络中的随机丟包进行了一定的过滤, 但是网络带 宽充分利用与未充分利用的临界值 beta却是一个人工设定的参数, 不能准确 地判定丟包事件是否为随机丟包引起的, 并且识别出随机丟包事件后仍然对 拥塞窗口进行了退避处理, 使得发送端以一个较低的速率传输数据, 因此在 高丟包率网络环境中, 不能保证数据传输的性能。
发明内容
本发明的实施例提供一种网络丟包处理方法及装置, 使得在高丟包率网 络环境中, 数据传输性能有了极大的提高。
为达到上述目的, 本发明的实施例釆用如下技术方案:
一方面, 本发明实施例提供一种网络丟包处理方法, 包括:
当检测到丟包事件时, 比较网络的当前拥塞窗口值和緩冲阔值的大小; 所述緩冲阔值用于表示整个网络的数据承载能力, 其由所述网络中链路的数 据承载能力和所述网络中节点緩冲区的数据承载能力相加得到;
若所述当前拥塞窗口值小于所述緩冲阔值, 则确定所述当前丟包事件不 是拥塞丟包引起的, 不对所述当前拥塞窗口进行退避处理;
若所述当前拥塞窗口值大于或等于所述緩冲阔值, 则确定所述当前丟包 事件是拥塞丟包引起的, 对所述当前拥塞窗口进行退避处理。
另一方面, 本发明的实施例提供一种网络丟包处理装置, 包括: 比较单元, 用于当检测到丟包事件时, 比较网络的当前拥塞窗口值和緩 冲阔值的大小; 所述緩冲阔值用于表示整个网络的数据承载能力, 其由所述 网络中链路的数据承载能力和所述网络中节点緩冲区的数据承载能力相加得 到;
第一处理单元, 用于在所述比较单元确定所述当前拥塞窗口值小于所述 緩冲阔值时, 确定所述当前丟包事件不是拥塞丟包引起的, 不对所述当前拥 塞窗口进行退避处理;
第二处理单元, 用于在所述比较单元确定所述当前拥塞窗口值大于或等 于所述緩冲阔值时, 确定所述当前丟包事件是拥塞丟包引起的, 对所述当前 拥塞窗口进行退避处理。
与现有技术相比, 本发明技术方案中的緩冲阔值是由两部分组成, 一部 分表示网络中链路的数据承载能力, 另一部分表示网络中节点緩冲区的数据 承载能力, 从而能够准确的确定整个网络的数据承载能力。 拥塞丟包往往是 因为数据发送端发送的数据, 大于了整个网络的数据承载能力, 使数据丟失 导致; 而拥塞窗口值决定了发送端数据传输能力, 当所述当前拥塞窗口值小 于所述緩冲阔值, 则判定丟包事件不是拥塞丟包引起的时, 不对所述当前拥 塞窗口进行退避处理, 使拥塞窗口值维持在一个比较大的值, 从而使网络可 以获得更好的数据传输性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面 描述中的附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图 1为本发明实施例 1中网络丟包处理方法流程图;
图 2为本发明实施例 2中一种网络丟包处理的组成框图;
图 3为本发明实施例 2中另一种网络丟包处理的组成框图;
图 4为本发明实施例 2中另一种网络丟包处理的组成框图;
图 5为本发明实施例 2中另一种网络丟包处理的组成框图;
图 6为本发明实施例 2中另一种网络丟包处理的组成框图;
图 7为本发明实施例中 WIFI接入的网络环境下的效果图;
图 8为本发明实施例中在 3G无线实网中的效果图。
具体实施方式
由于拥塞窗口值反映了发送端数据传输能力, 在一定范围内, 其值越大, 发送端的数据传输性能越强。 但是拥塞窗口值也不能太大, 如果太大, 则会 导致网络的拥塞。 因此, 需要合理地设置拥塞窗口值, 从而在不影响网络拥 塞的情况下最大限度地提高数据传输性能。 本发明实施例基于上述理论, 让 拥塞窗口值尽量处于一个合适的范围, 因此在这个范围内, 拥塞窗口值不需 要进行退避处理, 从而最大限度地提升数据传输性能。
在网络中, 拥塞丟包由整个网络的数据承载能力小于数据发送端发送的 数据量引起, 当整个网络的数据承载能力小于数据发送端发送的数据量时, 会使数据因不能畅通的传输, 也不能被緩冲而丟失; 因此只要数据发送端发 送的数据量不超过该整个网络的数据承载能力就不会导致数据因拥塞而丟 失; 基于上述原理, 本发明实施例中将所述緩冲阔值表示整个网络的数据承 载能力, 其由两部分相加得到, 一部分为所述网络中链路的数据承载能力, 另一部分为所述网络中节点緩冲区的数据承载能力; 这样, 可以使得拥塞窗 口尽量都在一个合适的范围内 (小于緩冲阔值), 在这个范围内, 都可以认为
没有造成拥塞丟包, 因此, 不需要进行拥塞窗口值退避处理, 使数据发送端 继续以原来较高的速率传输数据, 以提高数据传输的性能; 只有超过这个合 适的范围 (超过緩冲阔值), 才认为数据发生了拥塞而导致丟失, 从而进行退 避处理, 以降低数据发送端的传输数据的速率, 保证数据的准确传输。
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行 清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而 不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有作 出创造性劳动前提下所获得的所有其他实施例 , 都属于本发明保护的范围。
实施例 1
本发明实施例提供一种网络丟包处理方法, 如图 1所示, 该方法包括: 101、 当检测到丟包事件时, 比较网络的当前拥塞窗口值和緩冲阔值的大 小; 若所述当前拥塞窗口值小于所述緩冲阔值, 则确定所述当前丟包事件不 是拥塞丟包引起的,执行步骤 102; 若所述当前拥塞窗口值大于或等于所述緩 冲阔值, 则确定所述当前丟包事件是拥塞丟包引起的, 执行步骤 103。
其中, 用于所述緩冲阔值表示整个网络的数据承载能力, 其由所述网络 中链路的数据承载能力和所述网络中节点緩冲区的数据承载能力相加得到。 所述网络中链路的数据承载能力, 表示所述网络中链路传输数据的能力, 例 如, 其可以用一定时间范围内传输数据包的数量确定, 但本发明实施例对此 不进行限制, 还可以使用本领域中可以表示的方式表示; 所述网络中节点緩 冲区的数据承载能力, 表示所述网络中节点緩冲区可容纳数据的能力, 例如, 其可以用可容纳数据包的数量确定, 但本发明实施例对此不进行限制, 还可 以使用本领域中可以表示的方式表示。
具体的, 该緩冲阔值可以通过如下公式 1获取, 该公式 1为:
j BWE*RTTmin BWE* ALPHA , 八 ^
m cwnd= + (公式 1 )
― MSS MSS
其中, m-cwnd表示緩冲阔值,其取值范围为大于 0的整数; 羅 *RTTmin
MSS
表示所述网络中链路的数据承载能力, BWE表示网络传输的发送端到接收端
链路的传输带宽, 其取值为大于 0的整数; RTTmin表示发送端检测到的最小 往返时延, 其单位为毫秒, 取值为大于 0的整数; MSS表示网络传输使用的 最大报文长度, 其取值为大于 0的整数; BWE*ALPHA表示网络中节点緩冲区
MSS
的数据承载能力, BWE表示网络传输的发送端到接收端链路的传输带宽, 其 取值为大于 0的整数, ALPHA表示网络中节点緩冲区的数据承载能力的自适 应参数, 其取值与发送端检测到的最小往返时延和网络的丟包率成正向变化;
MSS表示网络传输使用的最大报文长度, 其取值为大于 0的整数。 需要说明 的是, 上述计算緩冲阔值的公式只是一个实体的实施例, 在实际使用中, 还 可以通过其他的计算方法获取, 本发明实施例对此不进行限制。
进一步的, 所述 ALPHA通过以下的公式 2获取, 该公式 2为:
ALPHA= k*RTTmin (公式 2 )
LD
其中, k为一个大于 1的比例因子; RTTmin为由发送端检测到的最小往 返时延, 其取值为大于 0的整数; LD为丟包间距, 其与丟包率成反比, 通过 平均每接收到多少个包就检测到一次丟包事件中的多少个确定,比如序号为 1 2 3 4 5 6的数据包, TCP发送端收到 1 2 3 4 5 的 ACK后, 检测到 6丟失, 丟包间距就是 5。 需要说明的是, 上述计算 ALPHA值的公式只是一个实体的 实施例, 在实际使用中, 还可以通过其他的计算方法获取, 本发明实施例对 此不进行限制。
进一步的, 所述 ALPHA计算, 可根据 LD的更新并依据上述公式获取, 而 LD的更新可以釆用以下方法获取, 该方法包括:
统计预定时间周期内接收到的 ACK的数量和丟包事件次数; 将所述预定 时间周期内接收到的 ACK的数量除以所述丟包事件次数,得到所述预定时间 周期内的丟包间距。 其中, 所述统计所述预定时间周期内接收到的 ACK的数 量和丟包事件次数具体可以包括,发送端将接收到的 ACK的数量和丟包事件 次数初始化为 0, 然后在所述预定时间周期内, 发送端每接收一个 ACK, 将 ACK— Count加 1; 发送端每检测到一个丟包事件, 将 Lost— Count加 1。
更进一步的, 为了避免计算得到的 LD值的波动比较大,在计算得到所述
LD后, 本发明实施例还可以对所述计算得到的 LD进行平滑处理, 以使得计 算得到的 LD值比较平滑, 具体可以通过 { 1/2 , 1/2}的平滑滤波器对得到所述 预定时间周期内的丟包间距进行平滑处理, 得到平滑处理后的所述预定时间 周期内的丟包间距, { 1/2 , 1/2}表示通过该滤波器的值一半釆用旧值, 一半釆 用新值。
具体的, LD可以釆用如下公式 3获取, 该公式 3为:
… 1 /…, ACK Count. , 、 、、 、
LD = -(LD'+—— =- ~~ -) (公式 3 )
2 Lost Count
其中, LD'为丟包间距更新前的值, ACK— Count为预定时间周期内接收到 的确认信号 ACK的数量, Lost— Count预定时 Ι¾ϊ周期内接收到的丟包事件次数。
其中, 根据网络的当前拥塞窗口值和緩冲阔值的大小, 确定当前丟包事 件是否为拥塞丟包引起的, 可以在发送端检测到丟包事件时执行, 如发送端 接收到三次重复 ACK或者重传定时器超时时执行,可以釆用以下方法,包括: 比较网络的当前拥塞窗口值和緩冲阔值的大小; 若所述当前拥塞窗口值 小于所述緩冲阔值, 则确定所述当前丟包事件不是拥塞丟包引起的; 若所述 当前拥塞窗口值大于或等于所述緩冲阔值, 则确定所述当前丟包事件是拥塞 丟包引起的。 其中, 由于拥塞丟包是整个网络的数据承载能力小于数据发送 端发送的数据量引起, 而拥塞窗口值反映了发送端数据传输能力, 所述緩冲 阔值表示整个网络的数据承载能力, 所以当所述当前拥塞窗口值小于所述緩 冲阔值, 表示整个网络的数据承载能力大于数据发送端发送的数据量, 不会 使数据因不能畅通的传输或不能緩冲而丟失, 则发送端认为该次丟包事件不 是由拥塞丟包引起的; 当所述当前拥塞窗口值大于或等于所述緩冲阔值, 表 示整个网络的数据承载能力小于或等于数据发送端发送的数据量, 会使数据 因不能畅通的传输或不能緩冲而丟失, 则发送端认为该次丟包事件是由网络 拥塞引起的。
102、 不对所述当前拥塞窗口进行退避处理。
其中, 所述不对所述当前拥塞窗口进行退避处理, 即对识别出的非拥塞 丟包不作处理, 该丟包事件被忽略; 具体操作可以为, 当发送端接收到三个
连续的 ACK标识的非拥塞丟包时, 在快重传 /快恢复过程中, cwnd值维持不 变, 并且结束快重传 /快恢复过程后, cwnd值也维持不变; TCP-THU识别到 由重传计时器超时引起的非拥塞丟包时, cwnd值维持发生丟包事件前的 cwnd 值。
103、 对所述当前拥塞窗口进行退避处理。
其中, 对所述当前拥塞窗口进行退避处理可以釆用现有的技术中的任何 一种拥塞窗口退避处理方法, 本发明实施例对此不进行限制; 例如, TCPW 方式实现对所述当前拥塞窗口进行退避处理。
本发明实施例中, 緩冲阔值是由两部分组成, 一部分表示网络中链路的 数据承载能力, 另一部分表示网络中节点緩冲区的数据承载能力, 从而能够 准确的确定整个网络的数据承载能力。 拥塞丟包往往是因为数据发送端发送 的数据, 大于了整个网络的数据承载能力, 使数据丟失导致; 而拥塞窗口值 决定了发送端数据传输能力, 当判定丟包事件不是拥塞丟包引起的时, 不对 所述当前拥塞窗口进行退避处理, 使拥塞窗口值维持在一个比较大的值, 从 而使网络可以获得更好的数据传输性能。
并且, 本发明实施例中, 所述緩冲阔值通过 ALPHA的更新而不断更新, 使得对非拥塞丟包的判断更加准确, 从而进一步提高了在高丟包率网络环境 中, 数据传输的性能。
进一步的, 在进行网络丟包处理的过程中, 当前拥塞窗口值的调整, 还 可以根据接收端接收到的 ACK ( ACKnowledgement, 网络传输中用于确认的 信号) 实时调整, 因此当接收端接收到一个 ACK后, 该方法还包括:
当所述当前拥塞窗口值小于所述慢启动阔值(ssthresh ) 时, 发送端每接 收到一个 ACK, 将所述当前拥塞窗口值加 1 ;
当所述当前拥塞窗口值大于或等于所述慢启动阔值, 并且小于所述緩冲 阔值时, 发送端每接收到一个 ACK, 将所述当前拥塞窗口值加 max ( 1 , (m_cwnd-cwnd)/2 ) , 其中 , max ( 1 , (m_cwnd-cwnd)/2 ) 表示 1 和 (m— cwnd-cwnd)/2中较大的一个数, 所述 m— cwnd为緩冲阔值, 所述 cwnd当
前拥塞窗口值;
当所述当前拥塞窗口值大于或等于所述緩冲阔值时, 发送端每接收到一 个 ACK, 将所述当前拥塞窗口值加 min(l/2, BETA/cwnd) , 其中, min(l/2, BETA/cwnd)表示 1/2和 BETA/cwnd中较小的一个数, 所述 BETA为一个大于 1的自适应参数,其取值与发送端检测到的最小往返时延和网络的丟包率成正 向变化关系。
进一步的, 所述 BETA通过以下的公式 4获取, 该公式 4为:
BETA=2LD *max 1,
t
其中, s为一个大于 1的比例因子; LD为丟包间距, 其与丟包率成反比, 通过平均每接收到多少个包就检测到一次丟包事件中的多少个确定, 比如序 号为 1 2 3 4 5 6的数据包, TCP发送端收到 1 2 3 4 5 的 ACK后, 检测到 6 丟失, 丟包间距就是 5; RTTmin为由发送端检测到的最小往返时延; 所述 t
Γ RTTmin ± - t < I RTTmin | 为基准时间, 其取值为大于 0的整数; max 表 T 1和 中 较大的一个数。 需要说明的是, 上述计算 BETA值的公式只是一个实体的实 施例, 在实际使用中, 还可以通过其他的计算方法获取, 本发明实施例对此 不进行限制。 另夕卜,需要说明的是,所述计算 BETA值的公式中的 LD的计算可以参考 计算所述 ALPHA值中的相应描述, 本发明实施例此处将不再赘述。
本发明实施例中, 使拥塞窗口值能够根据实时接收到的 ACK, 实施调整 所述拥塞窗口值, 使所述拥塞窗口值维持一个比较合理的值, 从而使网络可 以获得更好的数据传输性能。
实施例 2
本发明实施实施例提供一种网络丟包处理装置, 该装置可以为独立的设 备, 也可以集成到发送端, 本发明实施例对此不进行限制; 如图 2 所示, 该 装置包括: 比较单元 21、 第一处理单元 22和第二处理单元 23。
确定单元 21 , 用于当检测到丟包事件时, 比较网络的当前拥塞窗口值和 緩冲阔值的大小; 所述緩冲阔值用于表示整个网络的数据承载能力。 其中, 所述緩冲阔值表示整个网络的数据承载能力, 其由所述网络中链路的数据承 载能力和所述网络中节点緩冲区的数据承载能力相加得到。 所述网络中链路 的数据承载能力, 表示所述网络中链路传输数据的能力, 例如, 其可以用一 定时间范围内传输数据包的数量确定, 但本发明实施例对此不进行限制, 还 可以使用本领域中可以表示的方式表示; 所述网络中节点緩冲区的数据承载 能力, 表示所述网络中节点緩冲区可容纳数据的能力, 例如, 其可以用可容 纳数据包的数量确定, 但本发明实施例对此不进行限制, 还可以使用本领域 中可以表示的方式表示。
第一处理单元 22,用于在所述比较单元 21确定所述当前拥塞窗口值小于 所述緩冲阔值时, 确定所述当前丟包事件不是拥塞丟包引起的时, 不对所述 当前拥塞窗口进行退避处理; 其中, 所述第一处理单元 22不对所述当前拥塞 窗口进行退避处理, 即对识别出的非拥塞丟包不作处理, 该丟包事件被忽略; 具体操作可以为, 当发送端接收到三个连续的 ACK标识的非拥塞丟包时, 在 快重传 /快恢复过程中, cwnd值维持不变, 并且结束快重传 /快恢复过程后, cwnd值也维持不变; TCP-THU识别到由重传计时器超时引起的非拥塞丟包 时, cwnd值维持发生丟包事件前的 cwnd值。
第二处理单元 23 , 用于在所述比较单元确定所述当前拥塞窗口值大于或 等于所述緩冲阔值时, 确定所述当前丟包事件是拥塞丟包引起的时, 对所述 当前拥塞窗口进行退避处理。 其中, 所述第二处理单元 23对所述当前拥塞窗 口进行退避处理可以釆用现有的技术中的任何一种拥塞窗口退避处理方法, 本发明实施例对此不进行限制; 例如, TCPW 方式实现对所述当前拥塞窗口 进行退避处理。
需要说明的是, 上述确定单元、 第一处理单元以及第二处理单元以及本 发明实施例中其他的单元都是对本发明实施例在逻辑功能上进行的单元划 分, 其相互之间并无严格的界限, 例如, 也可以只包括确定单元或一个处理
单元, 该处理单元根据确定单元的判断结果选择是否进行退避处理。 这些单 元可以用各种通过的处理器(如 CPU、 DSP等)或专用的硬件处理电路(如 ASIC ) 实现, 在此并不限定。
其中, 这里需要说明的是, 由于拥塞丟包是整个网络的数据承载能力小 于数据发送端发送的数据量引起, 而拥塞窗口值反映了发送端数据传输能力 , 所述緩冲阔值表示整个网络的数据承载能力, 所以当所述当前拥塞窗口值小 于所述緩冲阈值, 表示整个网络的数据承载能力大于数据发送端发送的数据 量, 不会使数据因不能畅通的传输或不能緩冲而丟失, 则发送端认为该次丟 包事件不是由拥塞丟包引起的; 当所述当前拥塞窗口值大于或等于所述緩冲 阔值, 表示整个网络的数据承载能力小于或等于数据发送端发送的数据量, 会使数据因不能畅通的传输或不能緩冲而丟失, 则发送端认为该次丟包事件 是由网络拥塞引起的。
进一步的, 如图 3所示, 该装置还包括第一计算单元 24。
所述第一计算单元 24, 用于通过如下公式 1计算获取该緩冲阔值, 该公 式 1为:
j BWE*RTTmin BWE* ALPHA , 八 ^ Λ Λ
m cwnd= + (公式 1 )
― MSS MSS
其中, m-cwnd表示緩冲阔值,其取值范围为大于 0的整数; 羅 *RTTmin
MSS
表示所述网络中链路的数据承载能力, BWE表示网络传输的发送端到接收端 链路的传输带宽, 其取值为大于 0的整数; RTTmin表示发送端检测到的最小 往返时延, 其单位为毫秒, 取值为大于 0的整数; MSS表示网络传输使用的 最大报文长度, 其取值为大于 0的整数; BWE*ALPHA表示网络中节点緩冲区
MSS
的数据承载能力, BWE表示网络传输的发送端到接收端链路的传输带宽, 其 取值为大于 0的整数, ALPHA表示网络中节点緩冲区的数据承载能力的自适 应参数, 其取值与发送端检测到的最小往返时延和网络的丟包率成正向变化;
MSS表示网络传输使用的最大报文长度, 其取值为大于 0的整数。 需要说明 的是, 上述计算緩冲阔值的公式只是一个实体的实施例, 在实际使用中, 还
可以通过其他的计算方法获取, 本发明实施例对此不进行限制。 本发明实施例中, 緩冲阔值是由两部分组成, 一部分表示网络中链路的 数据承载能力, 另一部分表示网络中节点緩冲区的数据承载能力, 从而能够 准确的确定整个网络的数据承载能力。 拥塞丟包往往是因为数据发送端发送 的数据, 大于了整个网络的数据承载能力, 使数据丟失导致; 而拥塞窗口值 决定了发送端数据传输能力, 当判定丟包事件不是拥塞丟包引起的时, 不对 所述当前拥塞窗口进行退避处理, 使拥塞窗口值维持在一个比较大的值, 从 而使网络可以获得更好的数据传输性能。
进一步的, 在进行网络丟包处理的过程中, 当前拥塞窗口值的调整, 还 可以根据接收端接收到的 ACK; 具体的如图 4所示, 该装置还包括: 第三处 理单元 25。
第三处理单元 25 ,用于在接收到一个 ACK后, 当所述当前拥塞窗口值小 于所述慢启动阔值(ssthresh )时, 发送端每接收到一个 ACK, 将所述当前拥 塞窗口值加 1 ; 或者
所述第三处理单元 25还用于, 当所述当前拥塞窗口值大于或等于所述慢 启动阔值, 并且小于所述緩冲阔值时, 发送端每接收到一个 ACK, 将所述当 前拥塞窗口值力口 max( 1 , (m cwnd-cwnd)/ 2 ),其中 , max( 1 , (m_cwnd-cwnd)/2 ) 表示 1和 (m— cwnd-cwnd)/2中较大的一个数, 所述 m— cwnd为緩冲阔值, 所述 cwnd当前拥塞窗口值; 或者
第三处理单元 25还用于, 当所述当前拥塞窗口值大于或等于所述緩冲阔 值时, 发送端每接收到一个 ACK , 将所述当前拥塞窗口值加 min(l/2 , BETA/cwnd), 其中, min(l/2, BETA/cwnd)表示 1/2和 BETA/cwnd中较小的 一个数, 其中, 所述 BETA为一个大于 1的自适应参数, 其取值与发送端检 测到的最小往返时延和网络的丟包率成正向变化关系。
本发明实施例中, 使拥塞窗口值能够根据实时接收到的 ACK, 实施调整 所述拥塞窗口值, 使所述拥塞窗口值维持一个比较合理的值, 从而使网络可 以获得更好的数据传输性能。
这里需要说明的是, 关于所述 ALPHA值和所述 BETA值的计算,可以根 据 LD计算获取,具体的可以参考实施例 1中的相应公式的描述, 当计算所述 ALPHA值和所述 BETA值时, 如图 5所示, 该装置还包括: 统计单元 26、 第 二计算单元 27和第三计算单元 28。
统计单元 26,用于统计预定时间周期内接收到的确认信号 ACK的数量和 丟包事件次数; 关于所述统计单元 26统计预定时间周期内接收到的确认信号 ACK的数量和丟包事件次数的具体描述, 可以参考实施例 1中的相应描述。
第二计算单元 27 ,用于将所述统计单元 26得到在所述预定时间周期内接 收到的 ACK的数量除以所述丟包事件次数,得到所述预定时间周期内的丟包 间距。
第三计算单元 28,用于根据所述第二计算单元 27得到在所述预定时间周 期内的丟包间距, 计算所述 ALPHA的值和 BETA的值。 其中, 关于所述第三 计算单元 28根据所述第二计算单元 27得到在所述预定时间周期内的丟包间 距,计算所述 ALPHA的值和 BETA的值,可以参考实施例 1中公式 2和公式 4的相应描述。
更进一步的, 为了避免计算得到的 LD值的波动比较大,在计算得到所述 LD后, 本发明实施例还可以对所述计算得到的 LD进行平滑处理, 以使得计 算得到的 LD值比较平滑, 如图 6所述, 该装置还包括: 平滑处理单元 29。
平滑处理单元 29,用于在所述第二计算单元 27得到所述预定时间周期内 的丟包间距之后, 通过 {1/2, 1/2}的平滑滤波器对得到所述预定时间周期内的 丟包间距进行平滑处理, 得到平滑处理后的所述预定时间周期内的丟包间距; 其中, { 1/2 , 1/2}表示通过该滤波器的值一半釆用旧值, 一半釆用新值; 所述 平滑处理单元 29通过 {1/2, 1/2}的平滑滤波器对得到所述预定时间周期内的 丟包间距进行平滑处理, 得到平滑处理后的所述预定时间周期内的丟包间距, 可以参考实施例 1中的公式 3的相应描述。
所述第三计算单元 28还用于, 根据所述平滑处理单元 29平滑处理后的 所述预定时间周期内的丟包间距, 计算所述 ALPHA的值和 BETA的值。
为了充分展示本发明实施例的效果, 在实施本发明实施例时, 具体以服 务器-客户端模式建立 TCP端到端数据连接, 进行了实网测试, 具体通过比较 实施例带来的数据传输性能和现有技术中 TCP数据传输的性能比较。 具体的 其中,所述 TCP Cubic是针对长往返时延网络提出的 TCP算法,它在 TCP Reno的 "拥塞避免"阶段中引入了一种"折半搜索"机制, 使得 TCP可以更快 地增长到网络带宽平衡点。 TCP Cubic引入一个变量作为折半增长的上限值, 记为 Wmax。Wmax初始化为 0,并在每次发送端检测到丟包事件时更新 Wmax 的值, 如果当前 cwnd小于 Wmax, 令 Wmax=cwnd*(2-beta)/2, 其中 beta是乘 性窗口退减因子; 如果 cwnd大于等于 Wmax, 则令 Wmax=cwnd。 如前所述, 传统的 TCP Reno在"拥塞避免"阶段, 发送端每接收到一个 ACK, cwnd值增 加 1/cwnd;在 TCP Cubic中,发送端每接收到一个 ACK,并且满足 Wmax>cwnd 条件时 , 则令 cwnd值增力口 bic inc/cwnd , 其中 bic— inc= (Wmax-cwnd)/2。
其中,所述 TCP Reno使用 cwnd-ssthresh拥塞控制框架实现对拥塞窗口的 管理。 当 cwnd<ssthresh时, 表示 TCP处于"慢启动"状态, 发送端每接收到一 个 ACK, cwnd值力口 1 ; 当 cwnd>=ssthresh时, 每接收到一个 ACK, cwnd值 增加 l/cwnd。 TCP Reno把 ssthresh和 cwnd分别初始化为无穷大和 1; 当发送 端连续接收到 3个重复的 ACK时,就会令 ssthresh=cwnd/2, cwnd=ssthresh+3; 当发送端检测到重传计时器超时信号时, 则令 ssthresh=cwnd/2, cwnd=l。
其中, 所述 TCP Westwood在 TCP Reno的基础上提出了一种带宽估计机 制, 计算当前网络的带宽估计 BWE以及 RTTmin。 如前所述, TCP Reno发送 端检测到丟包事件时, 会令"慢启动 "阔值 ssthresh退避为 cwnd/2; 而 TCPW 发送端检测到丟包事件时, 则令 "慢启动 "阔值 ssthresh 退避为 BWE*RTTmin/MSS (该值通常情况下大于 cwnd/2 )。 但除此之外, TCPW保 留了 TCP Reno其它所有的拥塞控制方式。
第一, 以 WIFI接入的网络环境为例, 如图 7所示, 从平均吞吐率比较柱
状图及吞吐率时间变化曲线图中可以看出, 本发明实施例提供的技术方案性 能最好, Cubic次之,并且本发明实施例提供的技术方案的性能与 Cubic相比, 提高了 100%+。
第二, 以电信 CDMA200上网可接入的网络环境为例, 电信 CDMA 2000 3G上网卡有两种工作模式, 一种是 3G模式, 标称带宽为 3 Mbps, 另一种是 IX模式(俗称 2G模式), 标称带宽为 152kbps。
如图 8 所述, 从平均吞吐率比较柱状图及吞吐率时间变化曲线图中可以 看出, 在 3G无线实网中, 本发明实施例提供的技术方案与性能次之的 Cubic 相比, 性能增益达到 300%+。
通过以上的实施方式的描述, 所属领域的技术人员可以清楚地了解到本 发明可借助软件加必需的通用硬件的方式来实现, 当然也可以通过硬件, 但 很多情况下前者是更佳的实施方式。 基于这样的理解, 本发明的技术方案本 质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来, 该 计算机软件产品存储在可读取的存储介质中, 如计算机的软盘, 硬盘或光盘 等, 包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器, 或者网络设备等)执行本发明各个实施例所述的方法。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限 于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易 想到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保护 范围应以所述权利要求的保护范围为准。
Claims
1、 一种网络丟包处理方法, 其特征在于, 包括:
当检测到丟包事件时, 比较网络的当前拥塞窗口值和緩冲阔值的大小; 所 述緩冲阈值用于表示整个网络的数据承载能力, 其由所述网络中链路的数据承 载能力和所述网络中节点緩冲区的数据承载能力相加得到;
若所述当前拥塞窗口值小于所述緩冲阔值, 则确定所述当前丟包事件不是 拥塞丟包引起的, 不对所述当前拥塞窗口进行退避处理;
若所述当前拥塞窗口值大于或等于所述緩冲阔值, 则确定所述当前丟包事 件是拥塞丟包引起的, 对所述当前拥塞窗口进行退避处理。
2、 根据权利要求 1所述的方法, 其特征在于, 所述緩冲阔值通过如下公式 获取, 该公式为:
j BWE*RTTmin BWE*ALPHA 卄
m cwnd= + , 具 τ ,
― MSS MSS
m-cwnd表示緩冲阔值, 其取值范围为大于 0的整数;
BWE*RTTmin表示所述网络中链路的数据承载能力 , BWE表示网络传输的发 MSS
送端到接收端链路的传输带宽, 其取值为大于 0的整数, RTTmin表示发送端检 测到的最小往返时延, 其取值为大于 0的整数, MSS表示网络传输使用的最大 报文长度, 其取值为大于 0的整数;
BWE*ALPHA表示网络中节点緩冲区的数据承载能力, BWE表示网络传输的 MSS
发送端到接收端链路的传输带宽, 其取值为大于 0的整数, ALPHA表示网络中 节点緩冲区的数据承载能力的自适应参数, 其取值与发送端检测到的最小往返 时延和网络的丟包率成正向变化; MSS表示网络传输使用的最大报文长度, 其 取值为大于 0的整数。
3、 根据权利要求 2所述的方法, 其特征在于, 所述 ALPHA通过以下的公 式获取, 该公式为:
ALPHA= k*RTTmin , 其中,
LD k为一个大于 1的比例因子; RTTmin为由发送端检测到的最小往返时延, 其取值为大于 0的整数; LD为丟包间距, 其与丟包率成反比, 通过平均每接收 到多少个包就检测到一次丟包事件中的多少个确定。
4、 根据权利要求 1所述的方法, 其特征在于, 还包括:
当收到一个网络传输中用于确认的信号 ACK后, 当所述当前拥塞窗口值小 于慢启动阔值 ssthresh时, 发送端每接收到一个 ACK, 将所述当前拥塞窗口值 加 1 ;
当所述当前拥塞窗口值大于或等于所述慢启动阔值, 并且小于所述緩冲阔 值时, 发送端每接收到一个 ACK , 将所述当前拥塞窗口值加 max ( 1 , (m_cwnd-cwnd)/2 ),其中 , max( 1 , (m_cwnd-cwnd)/2 )表示 1和 (m— cwnd-cwnd)/2 中较大的一个数, 所述 m— cwnd为緩冲阔值, 所述 cwnd当前拥塞窗口值;
当所述当前拥塞窗口值大于或等于所述緩冲阔值时, 发送端每接收到一个 ACK , 将所述当前拥塞窗口值加 min(l/2 , BETA/cwnd) , 其中, min(l/2 , BETA/cwnd)表示 1/2和 BETA/cwnd中较小的一个数, 其中, 所述 BETA为一个 大于 1 的自适应参数, 其取值与发送端检测到的最小往返时延和网络的丟包率 成正向变化关系。
5、 根据权利要求 4所述的方法, 其特征在于, 所述 BETA通过以下的公式 获取, 该公式为:
BETA=2LD *max 1,
s为一个大于 1的比例因子; LD为丟包间距, 其与丟包率成反比, 通过平 均每接收到多少个包就检测到一次丟包事件中的多少个确定; RTTmin为由发送 端检测到的最小往返时延, 其取值为大于 0的整数; 所述 t为基准时间, 其取值
( RTTmin
为大于 0的整数; 表示 1和「 ΗΙΞΞ.]中较大的一个数£
6、 根据权利要求 3或 5所述的方法, 其特征在于, 还包括:
统计预定时间周期内接收到的确认信号 ACK的数量和丟包事件次数; 将所述预定时间周期内接收到的 ACK的数量除以所述丟包事件次数,得到 所述预定时间周期内的丟包间距;
根据所述预定时间周期内的丟包间距,计算所述 ALPHA的值和 BETA的值。
7、 根据权利要求 6所述的方法, 其特征在于, 在得到所述预定时间周期内 的丟包间距之后, 该方法还包括:
通过 {1/2, 1/2}的平滑滤波器对得到所述预定时间周期内的丟包间距进行平 滑处理, 得到平滑处理后的所述预定时间周期内的丟包间距; {1/2, 1/2}表示通 过该滤波器的值一半釆用旧值, 一半釆用新值;
所述根据所述预定时间周期内的丟包间距,计算所述 ALPHA的值和 BETA 的值为: 根据所述平滑处理后的所述预定时间周期内的丟包间距, 计算所述 ALPHA的值和 BETA的值。
8、 一种网络丟包处理装置, 其特征在于, 包括:
比较单元, 用于当检测到丟包事件时, 比较网络的当前拥塞窗口值和緩冲 阔值的大小; 所述緩冲阔值用于表示整个网络的数据承载能力, 其由所述网络 中链路的数据承载能力和所述网络中节点緩冲区的数据承载能力相加得到; 第一处理单元, 用于在所述比较单元确定所述当前拥塞窗口值小于所述緩 冲阔值时, 确定所述当前丟包事件不是拥塞丟包引起的, 不对所述当前拥塞窗 口进行退避处理;
第二处理单元, 用于在所述比较单元确定所述当前拥塞窗口值大于或等于 所述緩冲阔值时, 确定所述当前丟包事件是拥塞丟包引起的, 对所述当前拥塞 窗口进行退避处理。
9、 根据权利要求 8所述的装置, 其特征在于, 还包括;
第一计算单元, 用于通过如下公式极端获取所述緩冲阔值, 该公式为:
j BWE*RTTmin BWE*ALPHA 卄
m cwnd= + , 具 τ ,
― MSS MSS
m-cwnd表示緩冲阔值, 其取值范围为大于 0的整数;
BWE*RTTmin
SS ^表示所述网络中链路的数据承载能力, BWE表示网络传输的 发送端到接收端链路的传输带宽, 其取值为大于 0的整数, RTTmin表示发送端 检测到的最小往返时延, 其取值为大于 0的整数, MSS表示网络传输使用的最 大报文长度, 其取值为大于 0的整数;
BWE*ALPHA
^ SS ^表示网络中节点緩冲区的数据承载能力, BWE表示网络传输 的发送端到接收端链路的传输带宽, 其取值为大于 0的整数, ALPHA表示网络 中节点緩冲区的数据承载能力的自适应参数, 其取值与发送端检测到的最小往 返时延和网络的丟包率成正向变化; MSS表示网络传输使用的最大报文长度, 其取值为大于 0的整数。
10、 根据权利要求 8所述的装置, 其特征在于, 还包括:
第三处理单元, 用于在收到一个网络传输中用于确认的信号 ACK后, 当所 述当前拥塞窗口值小于慢启动阔值 ssthresh时, 发送端每接收到一个 ACK, 将 所述当前拥塞窗口值加 1 ; 或者
所述第三处理单元还用于, 当所述当前拥塞窗口值大于或等于所述慢启动 阔值, 并且小于所述緩冲阔值时, 发送端每接收到一个 ACK, 将所述当前拥塞 窗口值力口 max ( 1 , (m_cwnd-cwnd)/2 ), 其中, max ( 1 , (m_cwnd-cwnd)/2 ) 表示 1和 (m_cwnd-cwnd)/2中较大的一个数,所述 m cwnd为緩冲阔值,所述 cwnd 当前拥塞窗口值; 或者
所述第三处理单元还用于, 当所述当前拥塞窗口值大于或等于所述緩冲阔 值时, 发送端每接收到一个 ACK , 将所述当前拥塞窗口值加 min(l/2 , BETA/cwnd) , 其中, min( 112 , BETA/cwnd)表示 11 和 BETA/cwnd中较小的一 个数, 其中, 所述 BETA为一个大于 1 的自适应参数, 其取值与发送端检测到 的最小往返时延和网络的丟包率成正向变化关系。
11、 根据权利要求 9或 10所述的装置, 其特征在于, 还包括:
统计单元, 用于统计预定时间周期内接收到的确认信号 ACK的数量和丟包 事件次数;
第二计算单元, 用于将所述统计单元得到在所述预定时间周期内接收到的 ACK的数量除以所述丟包事件次数, 得到所述预定时间周期内的丟包间距; 第三计算单元, 用于根据所述第二计算单元得到在所述预定时间周期内的 丟包间距, 计算所述 ALPHA的值和 BETA的值。
12、 根据权利要求 11所述的装置, 其特征在于, 还包括:
平滑处理单元, 用于在所述第二计算单元得到所述预定时间周期内的丟包 间距之后, 通过 {1/2 , 1/2}的平滑滤波器对得到所述预定时间周期内的丟包间 距进行平滑处理,得到平滑处理后的所述预定时间周期内的丟包间距; {1/2, 1/2} 表示通过该滤波器的值一半釆用旧值, 一半釆用新值;
所述第三计算单元还用于, 根据所述平滑处理后的所述预定时间周期内的 丟包间距, 计算所述 ALPHA的值和 BETA的值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/898,376 US9112799B2 (en) | 2010-11-18 | 2013-05-20 | Network packet loss processing method and apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010550043.9 | 2010-11-18 | ||
CN201010550043.9A CN102468941B (zh) | 2010-11-18 | 2010-11-18 | 网络丢包处理方法及装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/898,376 Continuation US9112799B2 (en) | 2010-11-18 | 2013-05-20 | Network packet loss processing method and apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011137773A1 true WO2011137773A1 (zh) | 2011-11-10 |
Family
ID=44903593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2011/074156 WO2011137773A1 (zh) | 2010-11-18 | 2011-05-17 | 网络丢包处理方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9112799B2 (zh) |
CN (1) | CN102468941B (zh) |
WO (1) | WO2011137773A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109104742A (zh) * | 2017-06-20 | 2018-12-28 | 华为技术有限公司 | 拥塞窗口调整方法及发送设备 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9444741B2 (en) * | 2013-03-11 | 2016-09-13 | Broadcom Corporation | Facilitating network flows |
US10341245B2 (en) * | 2014-03-24 | 2019-07-02 | Vmware, Inc. | Bursty data transmission in a congestion controlled network |
CN105340318B (zh) * | 2014-06-30 | 2019-02-19 | 华为技术有限公司 | 传输拥塞的确定方法及装置 |
US9794181B2 (en) * | 2014-12-05 | 2017-10-17 | Verizon Digital Media Services Inc. | Dynamic initial congestion window modification |
CN105553757A (zh) * | 2015-12-09 | 2016-05-04 | 浪潮电子信息产业股份有限公司 | 一种tcp吞吐量算法测量端到端可用带宽的方法 |
CN105721333B (zh) * | 2016-01-21 | 2019-02-15 | 全时云商务服务股份有限公司 | 一种数据传输装置及方法 |
CN108508859A (zh) * | 2016-05-18 | 2018-09-07 | 常州爱上学教育科技有限公司 | 智能电力调度控制***的信息管理大区采集机 |
CN106026385B (zh) * | 2016-05-18 | 2019-03-22 | 北京知淘科技有限责任公司 | 降温型电力调度自动化控制***及方法 |
CN105827537B (zh) * | 2016-06-01 | 2018-12-07 | 四川大学 | 一种基于quic协议的拥塞改进方法 |
CN107800638B (zh) * | 2016-09-05 | 2020-07-31 | 北京金山云网络技术有限公司 | 一种拥塞控制方法及装置 |
US10129155B2 (en) * | 2016-11-21 | 2018-11-13 | Microsoft Technology Licensing, Llc | Delay based congestion control protocol co-existing with TCP |
CN108667560B (zh) * | 2017-03-31 | 2020-12-04 | 华为技术有限公司 | 一种调整终端发送数据的速率的方法及装置 |
US10452383B1 (en) * | 2017-04-28 | 2019-10-22 | Square, Inc. | Device improvements through adaptive settings |
JP6781469B2 (ja) * | 2017-10-05 | 2020-11-04 | サイレックス・テクノロジー株式会社 | 無線通信装置、及び、無線通信装置の制御方法 |
CN108075988A (zh) * | 2017-11-16 | 2018-05-25 | 华为技术有限公司 | 数据传输方法和装置 |
KR102409686B1 (ko) | 2018-08-23 | 2022-06-16 | 빅 다이쇼와 가부시키가이샤 | 심 어긋남 측정 장치 |
CN109525447B (zh) * | 2019-01-07 | 2022-05-31 | 北京大米科技有限公司 | 一种调整网络传输带宽的方法、装置及电子设备 |
CN110048955A (zh) * | 2019-04-18 | 2019-07-23 | 深圳市赛为智能股份有限公司 | 拥塞控制方法、装置、计算机设备及存储介质 |
US11190448B2 (en) * | 2019-11-26 | 2021-11-30 | Verizon Patent And Licensing Inc. | Transport congestion control optimization based on network context |
CN111629279B (zh) * | 2020-04-13 | 2021-04-16 | 北京创享苑科技文化有限公司 | 一种基于定长格式的视频数据传输方法 |
CN111935441B (zh) * | 2020-07-30 | 2022-06-21 | 北京佳讯飞鸿电气股份有限公司 | 一种网络状态检测方法及装置 |
CN114584833B (zh) * | 2020-11-18 | 2024-05-17 | 花瓣云科技有限公司 | 音视频的处理方法、装置及存储介质 |
CN112492646B (zh) * | 2020-11-27 | 2022-04-08 | 清华大学 | 基于拥塞成因识别的拥塞控制方法及装置 |
CN114095437B (zh) * | 2021-11-18 | 2024-04-09 | 北京达佳互联信息技术有限公司 | 发送数据包的方法、装置、电子设备和存储介质 |
CN114268588A (zh) * | 2021-11-30 | 2022-04-01 | 网络通信与安全紫金山实验室 | 数据传输方法、装置、电子设备及存储介质 |
CN114710446B (zh) * | 2022-03-23 | 2024-04-26 | 维沃移动通信有限公司 | 数据传输方法、装置、电子设备和存储介质 |
CN115866095A (zh) * | 2022-11-25 | 2023-03-28 | 抖音视界有限公司 | 数据传输方法、装置、电子设备及存储介质 |
CN116155825B (zh) * | 2023-04-04 | 2023-06-30 | 山东大学 | 一种bbr拥塞控制算法数据重传的优化方法 |
CN116471237B (zh) * | 2023-06-16 | 2023-10-13 | 四川轻化工大学 | 一种基于QoS技术的网络沉迷控制方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040032827A1 (en) * | 2002-08-15 | 2004-02-19 | Charles Hill | Method of flow control |
US20080037552A1 (en) * | 2006-08-11 | 2008-02-14 | Latitude Broadband, Inc. | Methods And Systems For Providing Quality Of Service In Packet-Based Core Transport Networks |
CN101557607A (zh) * | 2009-05-15 | 2009-10-14 | 东南大学 | 无线传感器网络中汇聚节点的传输控制方法 |
CN101686100A (zh) * | 2008-09-25 | 2010-03-31 | 华为技术有限公司 | 处理丢包的方法、传输质量控制方法、装置及*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7200111B2 (en) | 2000-08-31 | 2007-04-03 | The Regents Of The University Of California | Method for improving TCP performance over wireless links |
KR20020059431A (ko) * | 2000-09-28 | 2002-07-12 | 요트.게.아. 롤페즈 | 네트워크 인터페이스 드라이버 및 방법 |
CN1324862C (zh) * | 2004-01-06 | 2007-07-04 | 北京邮电大学 | 通信网络中调整拥塞窗口的方法 |
US7830801B2 (en) * | 2004-10-29 | 2010-11-09 | Broadcom Corporation | Intelligent fabric congestion detection apparatus and method |
JP4147534B2 (ja) * | 2005-02-03 | 2008-09-10 | 日本電気株式会社 | 通信装置および通信方法 |
CN101115002A (zh) | 2007-03-19 | 2008-01-30 | 重庆邮电大学 | 利用TCP Veno提高无线自组织网络性能的方法 |
-
2010
- 2010-11-18 CN CN201010550043.9A patent/CN102468941B/zh active Active
-
2011
- 2011-05-17 WO PCT/CN2011/074156 patent/WO2011137773A1/zh active Application Filing
-
2013
- 2013-05-20 US US13/898,376 patent/US9112799B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040032827A1 (en) * | 2002-08-15 | 2004-02-19 | Charles Hill | Method of flow control |
US20080037552A1 (en) * | 2006-08-11 | 2008-02-14 | Latitude Broadband, Inc. | Methods And Systems For Providing Quality Of Service In Packet-Based Core Transport Networks |
CN101686100A (zh) * | 2008-09-25 | 2010-03-31 | 华为技术有限公司 | 处理丢包的方法、传输质量控制方法、装置及*** |
CN101557607A (zh) * | 2009-05-15 | 2009-10-14 | 东南大学 | 无线传感器网络中汇聚节点的传输控制方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109104742A (zh) * | 2017-06-20 | 2018-12-28 | 华为技术有限公司 | 拥塞窗口调整方法及发送设备 |
Also Published As
Publication number | Publication date |
---|---|
US20130322246A1 (en) | 2013-12-05 |
CN102468941A (zh) | 2012-05-23 |
US20140198651A9 (en) | 2014-07-17 |
CN102468941B (zh) | 2014-07-30 |
US9112799B2 (en) | 2015-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011137773A1 (zh) | 网络丢包处理方法及装置 | |
US11876714B2 (en) | Method and apparatus for network congestion control based on transmission rate gradients | |
US7778164B2 (en) | Communication apparatus and communication method for implementing a communication session based upon a congestion window | |
US7225266B2 (en) | Adaptive delayed ACK switching for TCP applications | |
US7839859B2 (en) | Voice adaptive gateway pacing methods and systems for wireless multi-hop networks | |
US7808910B2 (en) | Communication terminal, congestion control method, and congestion control program | |
US7577097B2 (en) | Compound transmission control protocol | |
WO2012163305A1 (zh) | 数据传输控制方法和设备 | |
KR101141160B1 (ko) | 네트워크 장치를 위한 버퍼 제어 방법 | |
CN110730469A (zh) | 一种基于扩展卡尔曼无线网络带宽预测方法及其拥塞控制 | |
US8279756B2 (en) | Communication terminal, communication control method, and communication control program | |
CA2940077C (en) | Buffer bloat control | |
KR20150125471A (ko) | 전송 제어 프로토콜을 이용하는 무선 네트워크에서 혼잡 제어 방법 및 장치 | |
Molia et al. | A conceptual exploration of TCP variants | |
WO2018135938A1 (en) | A method for controlling congestion in communication system | |
JP2001195326A (ja) | ファイル転送方式 | |
CN116155825B (zh) | 一种bbr拥塞控制算法数据重传的优化方法 | |
TWI610579B (zh) | 跨層級的自適應調整無線網路壅塞控制方法 | |
WO2013011638A1 (ja) | 通信装置およびその通信制御方法 | |
Gururaj et al. | Effect of link level impairments on transmission control protocol in military networks | |
JP2016201705A (ja) | パケット通信におけるパケット送信装置、通信端末及び輻輳制御方法 | |
Molia et al. | Highbrow TCP as an Enhanced TCP New Reno for MANETs a [euro]" A Simulation Approach | |
Chan et al. | An enhanced congestion avoidance mechanism for compound TCP | |
Liu et al. | A Novel Approach of Available Bandwidth Estimation for Heterogeneous Networks | |
WO2014205708A1 (zh) | 一种数据报文发送方法、装置和设备 |
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: 11777192 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: 11777192 Country of ref document: EP Kind code of ref document: A1 |