TCP NewReno Throughut n the Presence of Correlated Losses: The Slow-but-Steady Varant Roman Dunaytsev, Yevgen Koucheryavy, Jarmo Harju Insttute of Communcatons Engneerng Tamere Unversty of Technology Tamere, Fnland {dunaytse, yk, harju}@cstutf Abstract Ths aer resents an analytcal model of steady state throughut of the Slow-but-Steady varant of TCP NewReno as a functon of loss event rate, average number of segments lost er loss event, average round tr tme, and retransmsson tmeout value The resented model s based on the aroach roosed by Padhye et al for TCP Reno throughut modelng and extends t by caturng the effect of fast recovery algorthm of the Slow-but-Steady varant of TCP NewReno on throughut and takng nto consderaton slow start hase after tmeout exraton Valdaton by ns- smulatons shows good agreement and accuracy of the roosed model Keywords- TCP NewReno; TCP throughut modelng; correlated losses I INTRODUCTION TCP throughut modelng has receved a lot of attenton durng the last decade The man objectve of the modelng s to obtan an analytcal exresson of TCP throughut as a functon of TCP arameter settngs and network characterstcs (eg, round tr tme, acket loss rate, queung olcy, etc) Such analytcal models have two advantages Frstly, they enable to acheve better understandng of TCP behavor and, consequently, may be used to evaluate the exstng TCP algorthms and mlementatons, address ther shortcomngs, and to make desgn decsons about novel TCP mlementatons Secondly, closed-form exresson of TCP throughut can be used n an equaton-based congeston control rotocol for non-tcp alcatons (such as UDP-based multmeda alcatons) Therefore, a quanttatve characterzaton of TCP send rate under gven oeratng condtons offers the ossblty of defnng a far share or TCP-frendly send rate for non-tcp flow that nteracts wth TCP connectons TCP-Frendly Rate Control (TC) [] s erhas the most romsng rotocol among roosed alternatves Unfortunately, whle recent measurements [] show that the most wdely used TCP mlementaton n today s Internet s TCP NewReno, the vast majorty of TCP throughut models, ncludng TCP throughut equaton used n TC, were develoed for TCP Reno mlementaton Thus, the contrbuton of the aer s two-fold: we develo analytcal model of steady state throughut of the Slow-but- Steady varant of TCP NewReno as a functon of loss event rate, average number of segments lost er loss event, average round tr tme, and retransmsson tmeout value, and comare t wth TC throughut equaton n the ablty to accurately redct TCP NewReno throughut n the resence of correlated losses The aer s organzed as follows Secton II brefly descrbes TCP NewReno dstnctve features and assumtons we made whle constructng our model Secton III resents a detaled analyss of the roosed model Secton IV descrbes model valdaton exerments, resents an analyss of the accuracy of our model and TC throughut equaton Fnally, Secton V concludes the aer II BACKGROUND AND AUMPTIONS A TCP NewReno Features TCP NewReno [3] s a small but sgnfcant modfcaton of the basc TCP Reno mlementaton and ncororates slow start, congeston avodance, and fast retransmt algorthms from [4] wth mroved fast recovery algorthm Ths mrovement concerns the sender s behavor durng fast recovery when a artal acknowledgement (ACK) s receved that acknowledges some but not all of the segments transmtted before the fast retransmt In contrast to TCP Reno, where the receton of artal ACK termnates fast recovery, n TCP NewReno artal ACKs do not take the sender out of fast recovery Instead, artal ACKs receved durng fast recovery hase are treated as an ndcaton that another segment followng the acknowledged one has been lost and, consequently, should be retransmtted Therefore, when multle segments are lost from a sngle wndow, TCP NewReno can recover one lost segment er round tr tme (RTT) The fast recovery hase ends when all segments outstandng before the fast retransmt are acknowledged or retransmsson tmer exres Current standard [3] defnes two varants of TCP NewReno, whch dffer n resettng retransmsson tmer n resonse to artal ACKs In the frst varant, called Imatent, the sender resets the retransmsson tmer only after the frst artal ACK Thus, f a large number of segments were lost from the same wndow, the sender s retransmsson tmer wll ultmately exre, and the sender wll nvoke slow start algorthm In the second varant, called Slow-but-Steady, the sender, followng the recommended algorthm n [5], resets the retransmsson tmer after each artal ACK In ths case, the sender recovers one segment er RTT, and ts recovery tme ncreases lnearly n roorton to the number of lost segments
B Assumtons Excet for TCP mlementaton, the resented model has exactly the same assumtons about endonts and network as the model resented n [6] We assume that the sender uses the Slow-but-Steady varant of TCP NewReno based on [3] and always has data to send We assume that the send rate s not lmted by the advertsed recever wndow and the sender sends full-szed segments whenever the congeston wndow (cwnd) allows We also consder TCP behavor n terms of rounds as done n [6], where a round starts when the sender begns the transmsson of a wndow of segments and ends when the sender receves an ACK for one or more of these segments, and, therefore, the duraton of a round s equal to RTT Consderng data transfer, we assume that segment loss haens only n the drecton from the sender to the recever Moreover, we assume that a segment s lost n a round ndeendently of any segments lost n other rounds, but at the same tme segment losses are correlated wthn a round (e, f a segment s lost, all the remanng segments n that round are also lost) Such bursty loss model s a smlfed reresentaton of IP-acket loss rocess n routers usng FIFO Dro Tal queung dsclne We assume that the tme needed to send a wndow of segments s smaller than the duraton of a round; t s also assumed that robablty of segment loss and the duraton of a round are ndeendent of the wndow sze III THE MODEL For TCP NewReno mlementaton [3], a segment loss (f the sender s not already n fast recovery hase) can be detected n one of two ways: ether by the receton at the sender of three dulcate ACKs or va retransmsson tmer exraton Smlarly to [6], let us denote the frst event as a TD (trledulcate) loss ndcaton, and the second as a (tmeout) loss ndcaton As n [6], we develo our model n two stes: when the frst loss ndcaton n a cycle s exclusvely TD (Secton IIIA) and when the frst loss ndcaton n a cycle s ether TD or (Secton IIIB) A TD Loss Indcatons Let us defne a cycle to be a erod between two TD loss ndcatons Fg shows transmsson of segments durng two consecutve cycles, each of whch starts after a TD loss ndcaton For the -th cycle ( =,, ) let Y be the number of segments sent durng the cycle, A be the duraton of the cycle, and W be the wndow sze at the end of the cycle Assumng { W } to be a regeneratve rocess wth a renewal reward rocess { Y }, we can defne the steady state B = EY E A throughut as Let us consder transmsson of segments durng the -th cycle (see Fg ) The -th cycle starts mmedately after a TD loss ndcaton, thus the sender enters fast retransmt/fast recovery hase, and the slow start threshold (ssthresh) s set accordng to [3] as ssthresh ( FlghtSze ) = max,, () cycle W δ W A δ b b b cycle Fgure Segments sent durng two consecutve cycles A W X δ α ( W δ ) where FlghtSze s the number of segments that has been sent, but not yet acknowledged, FlghtSze = W Snce n ths secton we assume that the frst loss n a cycle s detected exclusvely va a TD loss ndcaton, t mles that the mnmum value of W s equal to four segments (as long as the loss detecton va three dulcate ACKs requres at least three segments to be successfully sent after the lost segment(s) and the frst loss s gven) Hence () can be smlfed as ssthresh = () W Let us defne δ to be the number of segments lost n the Snce n the Slow-but-Steady varant of TCP cycle ( ) NewReno the sender recovers one lost segment er round, the number of rounds n fast retransmt/fast recovery () hase of the -th cycle can be defned as A = δ Next, we need to defne the number of segments transmtted durng fast retransmt/fast recovery hase of the -th cycle (we assume that the reader s famlar wth TCP NewReno fast recovery algorthm and refer to [3] for detals) As shown n [7] and [8], the number of new segments sent n the k -th round of fast retransmt/fast recovery hase n the -th cycle can be found as ( ) ( δ ) P k = max 0, ssthresh + k, k δ, (3) where ssthresh s gven n () Thus, takng nto account the number of retransmtted segments, we can defne the total number of segments sent durng fast retransmt/fast recovery hase of the -th cycle as Y δ k = ( ) = δ + P k (4) On the receton of full ACK (whch acknowledges all of the segments transmtted before the fast retransmt) the fast retransmt/fast recovery hase ends and the sender sets cwnd to ether mn ( ssthresh, FlghtSze + ) or ssthresh, where ssthresh s from () and FlghtSze s the number of outstandng segments when the fast recovery was exted
Note, that the number of outstandng segments after the receton of full ACK can be found from (3) as FlghtSze = P ( k = δ ) = ssthresh, consequently, at the begnnng of congeston avodance hase of the -th cycle the current cwnd wll be set to W (e, half the sze of wndow before the TD loss ndcaton occurred) regardless of ether oton s used Durng congeston avodance hase the recever sends one ACK for every b -th segment that t receves (accordng to [9], b = ), so cwnd ncreases lnearly wth a sloe of b segments er round untl the frst segment loss occurs Let us denote by α the frst lost segment n the -th cycle and by X the round where ths loss occurs (see Fg ) Accordng to the sldng wndow algorthm, after the segment α, ( W ) more segments are sent before the TD loss ndcaton occurs and the -th cycle ends Therefore, a total of Y = α + W segments δ + X + rounds Thus, we obtan are sent n ( ) [ α ] EY = E + (5) The exected number of segments sent n a cycle u to and ncludng the frst lost segment s gven n [6] as k, (6) k = [ α ] ( ) E = k = where s the robablty that a segment s lost, gven that t s ether the frst segment n ts round or the recedng segment n ts round s not lost (e, the robablty of the frst segment loss n a cycle) Thus, arameter catures the loss event rate, where a loss event corresonds to one or more segment losses wthn a round As n [6], let RTT j be the duraton of the j -th round of -th cycle (, j =,, ) If we assume RTT j to be random varables ndeendent of cwnd, then we have where E A ( ) E A = E RTT E A + E A = ( [ δ ] ) = E RTT E + E X +, (7) s the exected number of rounds n the fast retransmt/fast recovery hase, E A = E[ δ ] ; E A s the exected number of rounds n the congeston avodance E A = E X + () hase, Henceforward, we denote the average value of round tr tme by RTT = E [ RTT ] and the average number of segments lost n a row er loss event (also known as the average loss burst δ = E δ length) by In order to derve E [ X ] and E W, let us consder the evoluton of cwnd as a functon of number of rounds Smlarly to [6], we assume that W and X b are ntegers Therefore, we have W W = + (8) Then the number of segments sent durng the congeston avodance hase of the -th cycle can be defned as where ( W δ ) X X b W δ k= 0 Y = + k b+ W = XW X X = + W δ, + b s the number of segments sent n the last round of the -th cycle (see Fg ) Smlarly to [6], we assume { X } and { } b (9) W to be mutually ndeendent sequences of d random varables Consequently, from (8) and (9) t follows that E[ X] = b +, (0) 3bE W E W E Y = + + E[ W] δ () 4 The exected number of segments sent durng the fast retransmt/fast recovery hase can be defned from (4) as E Y = δ δ + ( δ ), f δ, () δ +, otherwse 4 Then, the exected number of segments sent durng a cycle can be exressed as E[ Y] = E Y + E Y Based on (5), (6), (), and (), the followng system of equatons can be defned as EY = + (3) 3bE [ W ] E [ W ] EY = EY + + + δ 4
Solvng (3) for E [ W ] and takng nto account that E [ W ] s ostve by defnton, we get 3b+ δ 8 4( δ + δ ) 3b+ δ + + + 3b 3b 3b 3b [ ] = δ 3b 8 ( ) 3b + + 3b+ ( 3b+ ) 3b+ By substtutng (0) n (7), we have f ;, otherwse, (4) E[ A] = RTT δ + b + + (5) Combnng (5), (6), and (5), we obtan + B =, (6) RTT δ + b + + where E [ W ] s gven n (4) B TD and Loss Indcatons A loss ndcaton haens when segments are lost and less than three dulcate ACKs are receved In ths secton we extend the defnton of a cycle gven n Secton IIIA n order to nclude the cases wth loss ndcatons Henceforth, we defne a cycle to be a erod between TD-TD, -TD, or TD- (excetng the duraton of R) loss ndcatons Smlarly to [6], let us consder transmsson of segments as a sequence of suercycles, where a suercycle conssts of j cycles, followed by a sequence of tmeouts Fg resents an examle of transmsson of segments durng two cycles followed by a sequence of three tmeouts segments sent A A W A A TD Z A cycle cycle S A suercycle W R 4R R R Z ACKed segment lost segment M = Y + R j j Fgure Segments sent durng the -th suercycle t me Usng notatons from [6], we defne W j to be the wndow sze at the end of the j -th cycle (, j =,, ), A j to be the duraton of the j -th cycle, Z to be the duraton of a TD sequence of tmeouts, Z to be the duraton of tme nterval between two consecutve tmeout sequences, S to be the TD duraton of the -th suercycle ( S = Z + Z ), M to be the total number of segments transmtted durng S Consderng S, M to be an d sequence of random varables, we {( ) } defne the steady state throughut as B = E[ M] E[ S] Durng the -th suercycle there are n cycles, where n the frst ( n ) cycles the frst lost segment s detected va a TD loss ndcaton and n the last cycle the frst lost segment s TD detected va a loss ndcaton, whch mles that n Z there s one out of n loss ndcatons If we defne Q to be the robablty that the frst lost segment n a cycle wll be detected va a loss ndcaton, then the robablty that the frst lost segment n a cycle wll be detected va a TD loss ndcaton can be defned as ( Q), where Q = En Note, whle each of the cycles, startng wth the second, conssts of the fast retransmt/fast recovery hase and congeston avodance hase, there s no fast retransmt/fast recovery hase n the frst cycle (see Fg ) Snce ths cycle starts after tmeout, n lace of fast retransmt/fast recovery there s slow start () hase and, therefore, ssthresh s gven by () As n [6], assumng that { } random varables, ndeendent of { Y } and { A } n s an d sequence of, we can defne steady state throughut B as EY + Q( ER + EY EY ) + ( + ( )) B = E A Q E Z RTT E A δ, (7) where E [ Y ] s from (5), E [ A ] s from (5), and E Y s from (); E [ R ] s the exected number of segments sent durng the tmeout sequence; of the tmeout sequence; E Y E Z s the exected duraton s the exected number of segments sent durng the slow start hase; E A s the exected number of rounds n the slow start hase; Q can be aroxmated from [6] as ( ( )) ( ( ) ) + ( ) ( ) ( ) 3 3 3 Q mn,, (8) where E [ W ] s gven n (4)
Fgure 3 Smulaton scenaros 45 40 Proosed model Confdence nterval TC equaton Confdence nterval 40 35 Proosed model Confdence nterval TC equaton Confdence nterval 35 30 30 Average relatve error, % 5 0 5 Average relatve error, % 5 0 5 0 0 5 5 0 0 3 00 0 0 0 3 00 0 Loss rate (L) a) Fgure 4 Average relatve errors of the roosed model and TC equaton for the dumbbell (a) and arkng-lot (b) network toologes Accordng to [6], E [ R ] and where ( ) E Z f, E R = E Z = R can be defned as ( ), (9) 3 4 5 6 = + + + 4 + 8 + 6 + 3 f Dervaton of E Y and E A s smlar to [0] We ncororate the last round of slow start hase nto congeston avodance hase, thus we get E Y =, E A = max log, (0) Fnally, by substtutng (5), (6), (5), (9), and (0) n (7), we obtan + + Q + E Y B = R f ( ) RTT δ + b + + + Q + RTT max log, δ () Loss rate (L) obtaned from ns- [] Smulaton exerments were erformed usng dumbbell and arkng-lot network toologes (see Fg 3) The bottleneck lnks are confgured as Dro Tal lnks wth buffer sze of 4 ackets (based on a ruleof-thumb, see [] for detals) We set recever wndow of the NewReno recever to be hgh enough to revent any lmtaton of send rate from the recever wndow sze Background traffc conssts of nfnte-duraton TCP connectons and ON/OFF UDP flows, thus reflectng well-known mce and elehants henomenon (as recommended n [3], [4], and [5]) The number of background UDP/TCP sources was vared between 0/0 and 400/40 wth the ste of 0/ sources For each ste we ran 0 smulaton trals wth a smulaton tme of 3600 seconds for each tral In order to estmate the values of and δ, we used the rato of the total number of loss events to the total number of segments sent as an aroxmate value of and the rato of the total number of lost segments to the total number of loss events as an aroxmate value of δ Thus, t mles that roduct of and δ s the rato of the total number of lost segments to the total number of segments sent (e, loss rate L ) To quantfy the accuracy of the both models we comuted the average relatve error usng the followng exresson: b) IV MODEL VALIDATION In order to valdate the roosed model and comare t wth TC throughut equaton [], we comared the results obtaned from the both formulas aganst smulaton results = redcted observed observatons observed Average relatve error 00% B B B number of observatons ()
Fg 4 shows the average relatve error of the roosed model and TC equaton as a functon of loss rate L, gven 95% confdence robablty Analyss shows that the resented model has the average relatve error smaller than 5% over a wde range of loss rates wth the mean of 3% TC equaton erforms well when the loss rate s qute small and overestmates TCP NewReno throughut n the mddle-to-hgh loss rate range, whch can be exlaned by the smlfed reresentaton of fast retransmt/fast recovery dynamcs n the orgnal model [6] V CONCLUSION In ths aer we develoed an analytcal model for redctng steady state throughut of the Slow-but-Steady varant of TCP NewReno n the resence of correlated losses The model s based on the aroach roosed n [6] and mroves t by takng nto consderaton fast retransmt/fast recovery dynamcs and slow start hase after tmeout The resented model has the average relatve error smaller than 5% over a wde range of loss rates, whle the TC throughut equaton overestmates TCP NewReno throughut (from 6% u to 40%) n ths range Due to sace lmtatons, we could not resent the extenson of our model to the fnte recever buffer case However, the extenson can be easly done by followng the aroach used n [6] REFERENCES [] M Handley, S Floyd, J Padhye, and J Wdmer, TCP frendly rate control (TC): rotocol secfcaton January 003, RFC 3448 [] A Medna, M Allman, and S Floyd, Measurng the evoluton of transort rotocol n the Internet, ACM SIGCOMM 004, 336-34, Taormna, Italy, October 004 [3] S Floyd, T Henderson, and A Gurtov, The NewReno modfcaton to TCP s fast recovery algorthm Arl 004, RFC 378 [4] M Allman, V Paxson, and W Stevens, TCP congeston control Arl 999, RFC 58 [5] V Paxson and M Allman, Comutng TCP s retransmsson tmer November 000, RFC 988 [6] J Padhye, V Frou, D Towsley, and J Kurose, Modelng TCP Reno erformance: a smle model and ts emrcal valdaton, IEEE/ACM Transactons on Networkng, vol 8 no, 33-45, Arl 000 [7] C Joo and S Bahk, Start-u transton behavour of TCP NewReno, IEE Electronc Letters, vol 35 no, 88-80, October 999 [8] S Km, S Cho, and C Km, Instantaneous varant of TCP NewReno, IEE Electroncs Letters, vol 36 no 9, 669-670, Setember 000 [9] R Braden, Requrements for Internet hosts October 989, RFC [0] R Dunaytsev, Y Koucheryavy, and J Harju, The PFTK-model revsed, Comuter Communcatons, n ress [] UCB/LBNL/VINT The network smulator ns- htt://wwwsedu/nsnam/ns/ [] G Aenzeller, I Keslassy, and N McKeown, Szng router buffers, ACM SIGCOMM 004, 8-9, Portland, USA, August 004 [3] S Floyd and E Kohler, Internet research needs better models, ACM SIGCOMM Comuter Communcaton Revew, vol 33 no, 9-34, January 003 [4] S Floyd and V Paxson, Dffcultes n smulatng the Internet, IEEE/ACM Transactons on Networkng, vol 9 no 4, 39-403, August 00 [5] S Bajaj et al, Imrovng smulaton for network research Techncal Reort TR 99-70b, USC Comuter Scence Deartment, USA, Setember 999