KIND OF SELF-ADAPTIVE NETWORK CONGESTION CONTROL METHOD BASED ON SCPS-TP

20170346750 · 2017-11-30

Assignee

Inventors

Cpc classification

International classification

Abstract

A kind of self-adaptive network congestion control method based on SCPS-TP, which includes the following steps: The SCPS-TP's gateway source-end receives and transmits the packets to destination end; Judge if there is new packet received in accordance with the analyzed ACK; If there is no new packet received, when the duplicate ACK counter increase to a certain value, change the window size's growth pattern to linear self-adaptive pattern; If there is new packet received, the congestion control is in the exponential growth pattern. After window is enlarged, Diff is bigger than the set threshold value and the congestion control method is changed to linear self-adaptive pattern; If congestion control is in the linear self-adaptive pattern, adjust window size in accordance with Diff; The SCPS-TP's gateway source-end sends the packets in the packet loss buffer to destination end and sends new packets in accordance with the size of congestion window.

Claims

1. It is a kind of self-adaptive network congestion control method based on SCPS-TP, wherein it comprises the steps as follows: A. The source-end gateway receives the ACKs and packets from the ground end, repackages the packets and sends them to the destination end gateway; After the destination end gateway of SCPS-TP receives the ACKs and packets from the source-end gateway, it analyzes, stores and transmits the packets to the ground destination end; B. When the information in the ACKs and packets analyzed in Step A has SNACK option, record the information in the linked list of packet-loss buffer; C. Judge if there is new packet received in accordance with the ACK and packet analyzed in Step A; If there is new packet received, update the corresponding information; If there is no new packet received, count with the duplicate ACK counter, When the duplicate ACK counter increases to a certain value, reduce the size of the window and change the growth mode to the linear self-adaptive mode; D. If there is new packet received in Step C, measure the estimated value sample of the bandwidth, conduct smoothing on the sample and calculate the difference Diff between the expected throughput and the actual throughput; E. If the growth pattern is the exponential growth pattern and the Diff in Step D is bigger than the set valve after the window is enlarged, the growth pattern is changed to the linear self-adaptive pattern; If the growth pattern is the linear self-adaptive pattern, adjust the window size in accordance with the Diff in Step D; F. The gateway source end of SCPS-TP sends out the packets of the packet loss buffer in Step B and sends out the new packets in accordance with the size of the congestion window.

2. According to the self-adaptive network congestion control method based on SCPS-TP as mentioned in claim 1, wherein the control method of the window under the mentioned linear self-adaptive pattern is as follows: W t = { max ( W t - 1 + MAXSEG , × SRTT ) Diff t Alpha t - 1 W t - 1 Alpha t - 1 < Diff t < Beta t - 1 W t - 1 - MAXSEG Diff t Beta t - 1 Therein, W.sub.t is the size of window at moment t, MAXSEG is the maximum segment length, SRTT is the RTT value after smoothing, Alpha.sub.t is the Alpha value of Moment t, Beta.sub.t is the Beta value of Moment t and custom-character is the bandwidth evaluation value of Moment t after smoothing; Conduct self-adaptive adjustment on the damping threshold value Alpha.sub.t and Beta.sub.t in accordance with the current throughput and the throughput of the last moment and adopt the average method to move the threshold range around Diff, whose specific method is as follows: X t = .Math. Alpha t - 1 - Diff t .Math. 2 Y t = .Math. Beta t - 1 - Diff t .Math. 2 ( Alpha t , Beta t ) = { ( Alpha t - 1 - X t , Beta t - 1 - X t ) Actual t < Actual t - 1 .Math. .Math. AND Diff t < Alpha t - 1 ( Alpha t - 1 - Y t , Beta t - 1 - Y t ) Actual t < Actual t - 1 .Math. .Math. AND Diff t > Beta t - 1 ( Alpha t - 1 + X t , Beta t - 1 + X t ) Actual t > Actual t - 1 .Math. .Math. AND Diff t < Alpha t - 1 ( Alpha t - 1 + Y t , Beta t - 1 + Y t ) Actual t > Actual t - 1 .Math. .Math. AND Diff t > Beta t - 1 ( Alpha t - 1 , Beta t - 1 ) OTHERS Therein, X.sub.t and Y.sub.t are the adjustment factors of the damping threshold value of Moment t.

3. According to the self-adaptive network congestion control method based on SCPS-TP as mentioned in claim 1, wherein the calculation method of Diff at Moment tin the mentioned Step D is as follows: Diff t = Expected t - Actual t = Window .Math. .Math. Size t Base .Math. RTT t - Byte t Sample .Math. .Math. RTT t Therein: Expected.sub.t is the throughput which is expected by Moment t, Actual.sub.t is the throughput which is measured actually by Moment t, BaseRTT.sub.t is the minimum round trip time which is recorded by Moment t, Window Size.sub.t is the number of bytes in the network of Moment t, Byte.sub.t is the data sented from sending to receiving a feedback of every packet recorded by the sender at Moment t and Sample RTT.sub.t is the actual RTT of this packet at Moment t.

4. According to the self-adaptive network congestion control method based on SCPS-TP as mentioned in claim 1, wherein the smoothing method in the mentioned Step D is as follows: Adopt the exponential weighting average filter (EWMA) with vertical horizontal filter (VHF) to conduct smoothing and calculate the weighting factor of EWMA in accordance with the dispersion degree of the measured bandwidth evaluation value sample and conduct smoothing as per the formula as follows: a t = b × Δ .Math. .Math. max t .Math. k = t - M t .Math. .Math. .Math. OBW k - OBW k - 1 .Math. = ( 1 - a t ) × OBW t + a t .Math. Therein: a.sub.t is the EWMA weighting factor of Moment t, b is the constant factor of VHF and Δmax.sub.t is difference between the maximum and the minimum of the newest M measured bandwidth evaluation value samples of Moment t, M is the size of VHF sample window, OBW.sub.t is the bandwidth evaluation value sample measured at Moment t and custom-character is bandwidth evaluation value of Moment t after smoothing of the EWMA with VHF.

5. According to the self-adaptive network congestion control method based on SCPS-TP as mentioned in claim 1, wherein the SCPS-TP gateway source end in Step A uses TCP spoofing technology to pretend as the ground end after repackaging the packets and sends the packets to the target end.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0027] FIG. 1 shows the control method flow diagram of this invention.

[0028] FIG. 2 shows the calculation method flow diagram of EWMA smoothing with VHF.

[0029] FIG. 3 shows the flow diagram of linear self-adaptive method of this invention.

[0030] FIG. 4 Shows the deployment topology diagram of the testing environment for this invention.

[0031] FIG. 5 shows the network transmission performance comparison diagram of adopting the control method of this invention and that of other protocols when the bottleneck bandwidth is 100 Mbps and the round trip time is 400 ms.

[0032] FIG. 6 shows the performance comparison diagram of adopting the control method of this invention and the transmission control method of other protocols when the bottleneck bandwidth is 100 Mbps and the link bit error rate is 10.sup.−6 with different round trip time.

SPECIFIC EXECUTION METHOD

[0033] Further specific specification is given as follows by combining the attached diagrams and the implementation case in detail.

[0034] This invention is conducted against the space communications mainly, which is based on the SCPS-TP and defines the specific process of adding the technical feature in the Claims on the basis of SCPS-TP as SCPS-TP+; The SCPS-TP+ gateway in FIG. 4 is the gateway adopting SCPS-TP+ processing process.

[0035] The self-adaptive network congestion control method based on SCPS-TP as shown in FIG. 1 includes the steps as follows:

[0036] A. The source-end gateway receives the ACKs and packet from the ground end, repackages the packet and send them to the destination end gateway; After the destination end gateway of SCPS-TP receives the ACKs and packet of the source-end gateway, it analyzes, stores and transmits the packet to the ground destination end; The analyzed ACK and the packet include the acknowledgement number, timestamp and SCPS expansion information, and converted them into SCPS-TPpackets.

[0037] B. When the information in the ACK and packet analyzed in Step A has SNACK option, record the information in the linked list of packet loss buffer; the existence of SNACK option means that there is packet loss during the transmission. Insert the lost packets marked by the SNACK option which are stored in the sending buffer into the linked list that records the lost packets in order and check if there is overlap in the packet loss linked list; SNACK option refers to the information judged by the Selective Negative Acknowledgement mechanism.

[0038] C. Judge if there is new packet received in accordance with the ACK and packet analyzed in Step A; If there is new packet received, update the initial sequence number of sending buffer, reset the Duplicate ACK counter, update the RTT and the RTT when the network is not congested, i.e. the minimum value BaseRTT in all actual measurements and the timer; If not, the Duplicate ACK counter counts. When the Duplicate ACK counter increases to a certain value, reduce the size of the window and change the growth mode to the linear self-adaptive mode, preparing for the packet retransmission after that; Judge if there is new packet received in accordance with the acknowledgement signal analyzed in Step A; When the Duplicate ACK counter of this case it means that the network is relatively congested and the self-adaptive adjustment shall be conducted on the window in accordance with the network situation, whose size shall be reduced to half of its original size;

[0039] D. If there is new packet received in Step C, measure the bandwidth estimation value, conduct smoothing on the sample and calculate the difference Diff between the expected throughput and the actual throughput in accordance with the ACK information;

[0040] E. If the growth pattern is the exponential growth pattern, the window can quickly grow. The window is enlarged to be twice as big as the original size in this case; If the Diff in Step D is bigger than the set valve, the network is thought to be congested, whose increasing speed needs to be slowed down and the congestion control method is changed to linear self-adaptive pattern; If the congestion control is the linear self-adaptive pattern, adjust the window size in accordance with the Diff in Step D; If the Diff is relatively small, it certifies that the actual throughput is close to the expected throughput and the network is not congested, And the window can be increased in accordance with the bandwidth evaluation value after smoothing, otherwise the window needs to be reduced; Adjustment on the size of the window is conducted in accordance with the bandwidth evaluation value after smoothing;

[0041] The congestion control is with exponential growth pattern initially and enters into the linear self-adaptive pattern after congestion occurs. If the windows reduce to 1 in the linear self-adaptive pattern, reenter into the exponential growth pattern; Linear self-adaptive pattern: Self-adaptive mechanism is added on the basis of linear growth or reducing of the original window, which can conduct self-adaptive judgment on the network congestion situation and conduct the, bandwidth evaluation in accordance with the network congestion situation and the size of evaluated bandwidth adjustment windows at the same time.

[0042] F. The gateway source end of SCPS-TP sends out the packets of the packet loss buffer in. Step B and sends out the new packets in accordance with the size of the congestion window.

[0043] As shown in FIG. 5, under the mentioned linear self-adaptive pattern, the control method of the window is as follows:

[00005] W t = { max ( W t - 1 + MAXSEG , × SRTT ) Diff t Alpha t - 1 W t - 1 Alpha t - 1 < Diff t < Beta t - 1 W t - 1 - MAXSEG Diff t Beta t - 1

[0044] Therein, W.sub.t is the size of window at moment t, MAXSEG is the maximum segment length, SRTT is the RTT value after smoothing, Alpha.sub.t is the Alpha value of Moment t, Beta.sub.t is the Beta value of Moment t and custom-character is the bandwidth evaluation value of Moment after smoothing;

[0045] Conduct self-adaptive adjustment on the damping threshold value Alpha.sub.t and Beta.sub.t in accordance with the current throughput and the throughput of the last moment and adopt the average method to move the threshold range around Diff, whose specific method is as follows:

[00006] X t = .Math. Alpha t - 1 - Diff t .Math. 2 Y t = .Math. Beta t - 1 - Diff t .Math. 2 ( Alpha t , Beta t ) = { ( Alpha t - 1 - X t , Beta t - 1 - X t ) Actual t < Actual t - 1 .Math. .Math. AND Diff t < Alpha t - 1 ( Alpha t - 1 - Y t , Beta t - 1 - Y t ) Actual t < Actual t - 1 .Math. .Math. AND Diff t > Beta t - 1 ( Alpha t - 1 + X t , Beta t - 1 + X t ) Actual t > Actual t - 1 .Math. .Math. AND Diff t < Alpha t - 1 ( Alpha t - 1 + Y t , Beta t - 1 + Y t ) Actual t > Actual t - 1 .Math. .Math. AND Diff t > Beta t - 1 ( Alpha t - 1 , Beta t - 1 ) OTHERS

[0046] Therein, X.sub.t and Y.sub.t are the adjustment factors of the damping threshold value of Moment t.

[0047] Further, the calculation method of Diff at Moment t in the mentioned Step D is as follows:

[00007] Diff t = Expected t - Actual t = Window .Math. .Math. Size t Base .Math. RTT t - Byte t Sample .Math. .Math. RTT t

[0048] Therein: Expected.sub.t is the throughput which is expected by Moment t, Actual.sub.t is the throughput which is measured actually by Moment t, BaseRTT.sub.t is the minimum RTT which is recorded by Moment t, Window Size.sub.t is the number of bytes in the network of Moment t, Byte.sub.t is the data rented from sending to receiving a feedback of every packet recorded by the sender at Moment t and Sample RTT.sub.t is the actual RTT of this packet at Moment t; Through self-adaptive adjustment on the value of damping threshold value Alpha and Beta, control the buffering queue length of intermediate router dynamically; Being compared with the method by adopting fixed threshold value Alpha and Beta, this method can automatically adapt different network traffic situations, which can avoid of the severe packet loss of network congestion due to the queue of intermediate router which is too long and also can utilize the bandwidth.

[0049] As shown in FIG. 4, the smoothing method of the mentioned Step D is as follows:

[0050] Adopt the exponential weighting average filter (EWMA) with vertical horizontal filter (VHF) to conduct smoothing and calculate the weighting factor of EWMA in accordance with the dispersion degree of the measured bandwidth evaluation value sample and conduct smoothing as per the formula as follows:

[00008] a t = b × Δ .Math. .Math. max t .Math. k = t - M t .Math. .Math. .Math. OBW k - OBW k - 1 .Math. = ( 1 - a t ) × OBW t + a t .Math.

[0051] Therein: a.sub.t is the EWMA weighting factor of Moment t, b is the constant factor of VHF and Δmax.sub.t is difference between the maximum and the minimum of the newest M measured bandwidth evaluation value samples of Moment t, M is the size of VHF sample window, OBW.sub.t is the bandwidth evaluation value sample measured at Moment t and custom-character is bandwidth evaluation value of Moment t after smoothing of the EWMA with VHF; Being compared with the bandwidth evaluation algorithm of traditional TCP Westwood, this method takes part in the calculation by adopting the self-adaptive bandwidth weighting factor, in which the influence of the network environment change on the algorithm is smaller and the bandwidth measured is more stable and accurate. And at the same time, it can reflect the size of the actual bandwidth more appropriately.

[0052] Further, the SCPS-TP gateway source end in mentioned Step A uses TCP spoofing technology to pretend as the ground end after repackaging the packet and sends the packet to the destination end. Due to complexity of the space network environment, it takes the longer time to send the packets to the destination end through the satellite and it is easier for it to make mistake; Thus, in the actual application, adopting TCP spoofing technology to pretend as the ground end for packet sending guarantees the timely feedback of the date.

[0053] As shown in FIG. 4, the server and the client end use Linux system; Both two Linux system devices with dual network interface card adopt the control method of this invention and are condiagramd to the independent gateways to offer protocol conversion and network acceleration function. The Wide Area Network Emulator(WANem) is used to simulate the satellite network.

[0054] The performance comparison diagram of adopting this invention and adopting the traditional SCPS-TP transmission method is given in FIG. 5; FIG. 5 shows the performance comparison diagram of adopting this invention and adopting the traditional SCPS-TP transmission method When the bottleneck bandwidth is 100 Mbps and the round trip time is 400 ms with different bit error rates, from which we can see that the performance of this invention obviously improves with different bit error rates.

[0055] The performance comparison diagram with bottleneck bandwidth as 100 Mbps, link bit error rate as 10.sup.−6 and different round trip time is given in FIG. 6, from .sup.-which we can see that with different round trip time, the transmission performance of the control method of this invention improves obviously being compared with the traditional SCPS-TP transmission method, which is more suitable for the satellite network communication.

[0056] What is mentioned above is just the better implementation case of this invention, which is not used for limiting this invention. All modifications, equal replacement and improvements, etc. within the spirit and principle of this invention shall be included in the protection range of this invention.