QTCP: An Optimized and Improved Congestion Control Algorithm of High-Speed TCP Networks Barkatullah Qureshi, Mohamed Othman, Shamala Sabraminiam, and Nor Asila Wati Department of Communication Technology and Networks Faculty of Computer Science and Information Technology University Putra Malaysia, 43400 UPM, Serdang, Selangor, DE, Malaysia
[email protected], {mothman,shamala,asila}@fsktm.upm.edu.my
Abstract. TCP researchers evaluated the performance and fairness of different TCP protocols on the basis of new algorithms. The new High-Speed Transport Control Protocols (HS-TCP) were developed but there are still many problems regarding to bandwidth utilization, throughput and packet loss rate. To overcome these problems Quick Transport Control Protocol (QTCP) algorithm based on optimizations of HS-TCP slow start algorithm and Additive Increase and Multiplicative Decrease (AIMD) algorithm have been proposed. A modified algorithm has been developed by using an additive increase approach to grow window with normal speed and to increase scalability by putting constant value of stability of timeline in congestion avoidance phase. This constant timeline gives long stability time; it provides many benefits as compared to other high-speed TCP protocols. The improved algorithm increased throughput and decreased packet loss rate and fairly share link utilization. In this regards several experiment of simulations were observed the fairness. The results show best bandwidth utilization, improved throughput and less packet loss rate as compared to other high speed TCP variants. Keywords: Fairness, QTCP, AIMD, Congestion Avoidance, Throughput.
1 Introduction Transport Control Protocols (TCP) is one of the most widely used transport agent which is being extensively used since last couple of decades. There are several versions of TCP that the researchers compared and evaluated on the basis of algorithms [1]. On the other hand new high-speed TCP protocols have been expanded and designed for solving the problem of bandwidth limitation, particularly when the data is attempted to send by a single connection at very high-speed it is very difficult to maintaining the efficiency and fairness to the standard TCP flows [2]. The most imperative protocols are High-Speed Transport Control Protocol (HS-TCP), ScalableTCP (STCP), Hamilton TCP (HTCP), Binary Increase Control (BIC), and CUBIC. On high bandwidth-delay product (BDP) networks, the main optimizations consist of J.M. Zain et al. (Eds.): ICSECS 2011, Part I, CCIS 179, pp. 56–67, 2011. © Springer-Verlag Berlin Heidelberg 2011
QTCP: An Optimized and Improved Congestion Control Algorithm
57
adding more efficient mechanisms for acquiring bandwidth faster. The comprehensive analysis of different highspeed TCP versions carried out [3] and found dynamic sensitive fairness metric for high bandwidth delay product networks. The fluid flow model of highspeed TCP/RED network proposed [4], to examine the performances of highspeed delay product networks with RED active queue management at the router. HS-TCP [5] modifies the standard TCP response function to acquire very fast available bandwidth (more efficiency) and quickly recovers packet losses in the network. The drawback of such a behavior is that fairness between TCP and HS-TCP, and even between HS-TCP flows, is affected since HS-TCP is much slower to give back bandwidth. In high-speed TCP networks few problems are faced; the congestion which produces other problems like loss rate, RTT fairness, and link/band width utilization. Many researchers have worked on high-speed TCP and suggested enhanced algorithms for optimizing performance of TCP. Several algorithms are designed to reduce loss rate and other parameters but still there is a need for smarter optimization techniques in High-speed TCP. Congestion in High-speed TCP can be optimized by improvement in AIMD which increases throughput and decrease loss rate in slow start, and fairly share bandwidth link utilization. The purpose of this study is to create an adaptive algorithm named Quick Transport Control Protocol (QTCP) based on HSTCP. QTCP changes decrease factor like CUBIC which will grows the window size in slow start with a speed that increases link utilization, throughput, decreases packet loss rate and maintain inter and intra protocol fairness.
2 Related Work Numerous works has been done on congestion control algorithm, an adaptive window algorithm HS-TCP has been discovered [6] and [7]. It has been reported that this algorithm has capacity to operate on a very large Bandwidth Delay Product (BDP) which is 104 packets or more, in networks. In the congestion window the increment and decrement of window size is dependent upon reply to an acknowledgment or packet loss. Mostly the preceding research findings [8], [9], [10] and [11] were based on the two issues which are about the links in the same time scenario. First, how the TCP implementations perform individually, second how fairly share the bandwidth link utilization. 2.1 HS-TCP HSTCP Protocol [5], [6] and [7] modules increase and reduce congestion window parameters according to the current value of window cwnd. It uses an AIMD model with a logarithmic modulation of the parameters according to the value of the congestion window as following: if ACK then cwnd ← cwnd + α (cwnd) else cwnd ← β (cwnd) * cwnd
58
B. Qureshi et al.
2.2 STCP One of the most basic concepts of STCP proposed [12] is to make the recovery time after a congestion event independent of window size. Particularly TCP cwnd modernized by, STCP as follows: Ack : Loss :
cwnd ← cwnd + α cwnd ← β × cwnd
2.3 HTCP The elapsed time Δ used for HTCP until last congestion event occurs. It specifies the bandwidth-delay product and the parameter increased AIMD as a function of Δ [13]. The path of RTT is also scaled as increment in AIMD to alleviate unfairness between competing flows with different round-trip times. The AIMD decreasing factor is adjusted to improve link utilization based on an estimate of the queue provisioning on a path. In more details, HTCP proposes that cwnd be updated as follows: Ack :
2(1 − β ) f a (Δ ) cwnd
(1)
cwnd ← g β ( B) × cwnd
(2)
cwnd ← cwnd +
Loss :
with Δ ≤ Δ L ⎫⎪ ⎧⎪1 fα (Δ ) = ⎨ ⎬ ⎪⎩max fα (Δ ) Tmim , 1 Δ > Δ L ⎪⎭ ⎧0.5 ⎪ B ( K +1) − B ( k ) >Δ B ⎪ B(k ) g β ( B) = ⎨ ⎛ ⎞ T ⎪min ⎜ min , 0.8 ⎟ ⎜T ⎟ ⎪ ⎝ max ⎠ otherwise ⎩
(
)
⎫ ⎪ ⎪ ⎬ ⎪ ⎪ ⎭
(3)
2.4 BIC The study on BIC [14] employed a form of binary search algorithm to update cwnd. Briefly, a variable w1 is maintained that holds a value halfway between the values of cwnd just before and just after the last loss event. The revised rule of cwnd search swiftly increases cwnd when it is beyond a particular distance Smax from w1, and slowly revises cwnd when its value is close to w1. In this protocol for packet losses detection, utilize Multiplicative backoff, with a recommended backoff factor of 0.8. In more detail, the BIC revise algorithm is as follows:
(w 1 − cwnd ) ⎧ ⎪⎪δ = B Ack : ⎨ ⎪ cwnd ← cwnd + f α (δ − cwnd ⎪⎩ cwnd
⎫ ⎪⎪ ⎬ )⎪ ⎪⎭
(4)
QTCP: An Optimized and Improved Congestion Control Algorithm ⎧ ⎧1 + β × cwnd cwnd < w 1 ⎪w = ⎪ ⎪ 1 ⎨ 2 ⎪ cwnd ⎪⎪ otherwise ⎩ Loss : ⎨ w = cwnd ⎪ 2 ⎪ ⎪ ⎪⎩ cwnd ← β × cwnd
⎫⎫ ⎪⎪ ⎬⎪ ⎪⎪ ⎭⎪ ⎬ ⎪ ⎪ ⎪ ⎪⎭
59
(5)
Where ⎧B ⎪ δ ⎪ ⎪ ⎪ fα (δ , cwnd ) = ⎨δ ⎪w ⎪ 1 (B − 1) ⎪ ⎪⎩Smax
⎫ ⎪ ⎪ ⎪ ⎪ 1 < δ ≤ S max , cwnd < w1 ⎬ ⎪ B ≤ cwnd − w1 < S max ( B − 1)⎪⎪ ⎪⎭ otherwise
(δ ≤ 1, cwnd ≤ w1) or (w1 ≤ cwnd < w1 + B )
(6)
2.5 CUBIC It has been reported that the modified and improved version of BIC [15], expressed as CUBIC, to achieve more BIC’s fairness. The study verified a cubic function to increase the window size. cwnd = C(t - K) 3 + Wmax , In this cubic function the constant used for scaling is C, time for the window was last reduced is t, the size of the window just before the window was last reduced is Wmax, and K = Wmax.β / C )1/ 3 , where the constant decrease factor is β . When a loss occurs, the window is reduced to β . Wmax, with β = 0.8. CUBIC maintains inter and intra protocol fairness.
3 Congestion Control Algorithm QTCP: In High-Speed Protocols Numerous studies on HS-TCP [5], [6] and [7] to develop a new algorithm QTCP show that the two most significant parameters are cwnd and time. They have examined the protocols HS-TCP, CUBIC and BIC graphically and observed that in slow start if cwnd grows fast it increases bandwidth utilization, throughput and packet loss rate. If cwnd grows slow then it will decrease all three quality parameters; for instance we need intermediate solutions that will increases throughput and utilization, and decreases loss rate in slow start. In congestion avoidance phase if cwnd is growing fast it will increase loss rate and remaining parameters will be positive. However, packet losses is not good for TCP improvement, from previous algorithms studies it is evident that in congestion avoidance phase if cwnd grows with slow speed it will increase its stability and will take time to reach its saturation point and as a result packet loss will occur after long time to stability. If cwnd grows fast then it will reduce its stability and will reach to its saturation point very fast. As a result of less stability and swiftness packet loss rate increased. In prior studies, HS-TCP specified as more aggressive than other protocols and due to this violent characteristic packet loss rate increased rapidly. For resolving this problem when AIMD phase was modified, the length of timeline of cwnd remained stable in congestion avoidance phase as shown in Fig. 1 and following algorithm.
60
B. Qureshi et al.
Fig. 1. QTCP congestion window behavior
// Initialization: max_inc_sst = 30 // maximum increment in slow start inc_f_sst = 4 // increase factor in slow start sht_sst = 3 // shoot up time in slow start dec_f= 0.8 // decrease factor inc_update _delay = 0.5 // increment update delay inc_f_ca = 1//increase factor in congestion avoidance max_inc_ca=10//maximum increase in congestion avoidance sst = 1 //Slow start l_win = 38 //Low window // On Each Acknowledgement: // cwnd is the congestion window size if (cwnd max_inc_ca) increment = 1 cwnd = cwnd + increment OnPacketLoss: sst = 0 increment = 1; ssthresh_ = cwnd = dec_f * cwnd
4 Simulation Topology In this simulation, flow 1 started from 0 seconds and the flow 2 started after the 50 seconds. The running time for each simulation is 500 seconds. Synchronization loss occurs when same RTT used for both flows. This research emphasizes to factoring out the effects of RTT on the simulation results. Mostly high-speed protocols are not RTT fair [16], [17] and [18], thus there is a main difference between the flows. In this regard the flow with shorter RTT attained higher throughput as compared to flows with longer RTTs. This research is focused on the competing flows therefore we select balanced RTTs and tested five high-speed loss based protocols (HS-TCP, HTCP, Scalable TCP, BIC and CUBIC). In this testing for every protocol and maximum router buffer size, six sets of experiments are run. The recommended protocol parameters are used for each protocol. All experiments were done in ns-2 version 2.35 network simulator [19] using the topology shown in Fig.2. Two senders are on the left side and two receivers are on the right side of the network respectively. Each end node is connected to a router by 1Gbps link with a propagation delay of 1ms. Bottleneck link capacity between two routers is connected by a 622 Mbps and propagation delay 48ms. Round Trip Time
62
B. Qureshi et al.
Fig. 2. Network Topology
(RTT) for each sender is 100ms. In this network the bandwidth delay product (BDP) is 7775, 1000 bytes segments, and the both routers used drop-tail queues. Three different routers queue buffer length 100%, 20% BDP and 40 segments are used in the full set of experiment. Maximum window size of 67,000 segments approximately 64 MB is used to conformed that TCP is not a linking factor. There are two connections started in each simulation one from node 1 and one from node 2. 4.1 Performance Evaluation Criteria In this section we emphasize on the evaluation performance of QTCP using the above simulation. The main focus is on bandwidth utilization, throughput, fairness and friendliness. The QTCP protocol has very low packet loss rate therefore our protocols has the characteristic of TCP friendliness. Table 1 illustrates the effect of QTCP and other high-speed TCP protocols and evaluates the bottleneck link utilization, throughput and packet loss rate of flow1 and flow2. Table 1. Evaluation of QTCP algorithm High-speed TCP (Flow1-Flow2)
CUBIC-CUBIC HS-HS QTCP-QTCP QTCP-BIC QTCP-CUBIC QTCP-HS QTCP-HTCP QTCP-STCP
Bottleneck link Utilization (%)
97.89 97.44 98.07 98.21 98.22 97.65 84.31 98.32
Throughput (%) (Flow1-Flow2)
97.88 97.44 98.19 98.20 98.22 97.65 84.31 98.31
Packet Loss rate (Flow1-Flow2)
0.0016 0.0075 0.0011 0.0094 0.0095 0.0104 0.0159 0.0661
We examined the congestion window of the two pairs QTCP-HTCP and CUBICHTCP, as shown in Fig. 3, which correspond to the fairest pair then other protocols.
QTCP: An Optimized and Improved Congestion Control Algorithm
63
Fig. 3. Congestion window for the behavior of CUBIC- HTCP and QTCP- HTCP
The congestion window of two pairs QTCP-QTCP and HTCP-HTCP as shown in Fig. 4 is the fairer among the other pairs.
Fig. 4. Congestion window for the performance of HTCP and QTCP shows experiments are fairer
The congestion windows of pairs HS-HS and CUBIC- QTCP, as shown in Fig. 5, observed that these two protocols are slightly fair than BIC-BIC, HS-HTCP, BICCUBIC, BIC-HS and HS-BIC.
64
B. Qureshi et al.
Fig. 5. Congestion window for the behavior of CUBIC - QTCP and HS-HS
The congestion windows of pairs HS-QTCP and BIC-QTCP as shown in Fig. 6 are less unfair as compared to other pairs.
Fig. 6. Congestion window shows HS and BIC more aggressive than QTCP
QTCP: An Optimized and Improved Congestion Control Algorithm
65
Fig. 7. Congestion window STCP-QTCP and STCP-BIC shows unfairness
The congestion window of two pairs STCP-QTCP and STCP-BIC shown in Fig. 7 s lightly less unfair then other pairs. 4.2 Jain’s Fairness Index Evaluation It is the fairness between two flows of the same protocol but the sending and receiving hosts are different. Wherein different performances are evaluated [9], to examine how the different protocols fairly behave towards each other. In this research the fair share link metric considered and computed the fairness index [20]. F=
(∑in= 1 xi ) 2 n∑in= 1 xi 2
(7)
Where n is number of flows, 1/n Capacity of bottleneck link, xi average bandwidth of each source i. The perfect value of fairness index of throughput for all protocols is 1. We evaluate same and different pairs of high-speed TCP and run several simulations on the basis of Jain fairness index and observed their fairness. The evaluation result is then sorted out and divided into pairs of five groups G-A, G-B, G-C, G-D and G-E as shown in Fig. 8. In group (G-A) we assessed that the efficiency and fairness of all high-speed TCPs pairs are more fair then other groups. We observed that group G-B, group G-C, group G-D and group G- E are gradually less fair then group G-A.
66
B. Qureshi et al.
Fig. 8. Jain’s fairness Index
5 Conclusions We propose QTCP as an optimized improved algorithm for fairness of different highspeed protocols. In this algorithm scalability can be increased in congestion avoidance phase by putting constant value of stability timeline. It makes constant timeline between decrease event and saturation point and gives long stability time. The simulation results showed that proposed algorithms has better fairness and friendliness as compared to other high-speed transport control protocols. We studied the performance metrics of high-speed TCP protocols and evaluated that HTCP and QTCP are fairer than other protocols on the basis of Jain fairness index. However there are limitations in HTCP such as average throughput and link utilization is lower, and packet loss rate is higher than QTCP.
Acknowledgments This work was supported by the Research University Grant Scheme (RUGS Number: 05/01/07/0180RU).
References 1. Qureshi, B., Othman, M., Hamid, N.A.W.: Progress in Various TCP Variants: Issues, Enhancements and Solutions. Mausaum Journal of Computing 1(14), 493–499 (2009) 2. Weigle, M.C., Sharma, P., Freeman, J.: Performance of Competing High-Speed TCP Fows. In: IFIP Networking, Coimbra, Portugal (2006) 3. Sonkoly, B., Trinh, T.A., Molnár, S.: Benchmarking High Speed TCP Fairness. Technical Report, Budapest University of Technology and Economics, BME (2007)
QTCP: An Optimized and Improved Congestion Control Algorithm
67
4. Sonkoly, B., Trinh, T.A., Molnár, S.: Understanding Highspeed TCP: A Control-theoretic Perspective. In: Third IASTED International Conference on Communications and Computer Networks, Marina del Rey, CA, USA, pp. 24–26 (2005) 5. Floyd, S., Ratnasamy, S., Shenker, S.: Modifying TCP’s Congestion Control for High Speeds. Technical note (2002) 6. Floyd, S.: High Speed TCP for Large Congestion Windows. RFC, 3649 Experimental (2003), http://www.icir.org/floyd/hstcp.html 7. Floyd, S.: Limited Slow-Start for TCP with Large Congestion Windows. RFC, 3742 (2004), http://www.ietf.org/rfc/rfc3742.txt 8. Antony, A., Blom, J., de Laat, C., Lee, J., Sjouw, W.: Microscopic Examination of TCP Flows over Transatlantic Links. Future Generation Systems 19, 1017–1029 (2003) 9. Bullot, H., Cottrell, R.L., Hughes-Jones, R.: Evaluation of Advanced TCP Stacks on Fast Long-distance Production Networks. Journal of Grid Computing, 345–359 (2003) 10. Souza, E., Agarwal, D.A.: A Highspeed TCP Study: Characteristics and Deployment Issues. Technical report, LBNL-53215 (2003) 11. Tokuda, K., Hasegawa, G., Murata, M.: Performance Analysis of Highspeed TCP and its Improvements for High Throughput and Fairness against TCP Reno Connections. In: Highspeed Networking Workshop (2003) 12. Kelly, T.: Scalable TCP: Improving Performance in High-Speed Wide Area Networks. Computer Communication Review, 83–91 (2003) 13. Shorten, R.N., Leith, D.J.: H-TCP: TCP for High-speed and Long-distance Networks. In: Proceedings of PFLDnet, Argonne, Illinois (2004) 14. Xu, L., Harfoush, K., Rhee, I.: Binary Increase Congestion Control for Fast, Long Distance Networks. In: Proceeding of IEEE, INFOCOM (2004) 15. Rhee, I., Xu, L.: CUBIC: A New TCP-friendly High-Speed TCP Variant. In: Proceedings of PFLDnet, Lyon, France (2005) 16. Mbarek, R., Tahar bin Othman, M., Salem, N.: Performance Evaluation of Competing High-Speed TCP Protocol. International Journal of Computer Science and Networking Security, 99–105 (2003) 17. Pan, X.-z., Su, F.-j., Lu, Y., Ping, L.-d.: CW-HSTCP: Fair TCP in High-Speed Networks. Journal of Zhejiang University Science, 172–178 (2006) 18. Su, F.-j., Pan, X.-z., Wang, j.-b., Wan, Z.: An Algorithm for Reducing Loss Rate of HighSpeed TCP. Journal of Zhejiang University Science, 245–251 (2006) 19. McCanne, S., Floyd, S.: Ns-2 Network Simulator, http://www.isi.edu/nsnam/ns/ 20. Chiu, D., Jain, R.: Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks. Compute Networks and ISDN Systems, 1–14 (1989)