USFDC Home  USF Electronic Theses and Dissertations   RSS 
Material Information
Subjects
Notes
Record Information

Full Text 
PAGE 1 Modeling the Throughput Perform ance of the SFSACK Protocol by Laura M. Voicu A thesis submitted in partial fulfillment of the requirement s for the degree of Master of Science in Computer Science Department of Computer Science and Engineering College of Engineering University of South Florida Major Professor: Mig uel A. Labrador, Ph.D. Ken Christensen, Ph.D. Adriana Iamnitchi, Ph.D. Date of Approval: March 30, 2006 Keywords: performance evaluation, TC P modeling, congestion windowbased protocols, send rate, Markov regenerative processes. Copyright 2006, Laura M. Voicu PAGE 2 i Table of Contents List of Tables .........................................................................................................ii List of Figures ....................................................................................................... iii Abstra ct................................................................................................................v Chapter 1 In troducti on.....................................................................................1 1.A. Contributions of the T hesis .............................................................2 1.B. Organization of the Th esis..............................................................3 Chapter 2 Re lated Work..................................................................................4 2.A. TCP and TC P Modelin g..................................................................5 2.B. Markov Regener ative Proc esses....................................................8 Chapter 3 The SFS ACK Protoc ol.................................................................11 Chapter 4 The Analytical Model of the SFSAC K Protoc ol............................14 4.A. Losses are Detected Excl usively by TripleDuplicate Acknowledgments and There is One Loss in Each Schedulers In terval.......................................................................18 4.B. Losses are Detected Excl usively by TripleDuplicate Acknowledgm ents.........................................................................26 4.C. Losses are Detected Excl usively by TripleDuplicate Acknowledgments or by TimeO uts..............................................35 4.D. Calculation of the Thr oughput of a Bulk Transfer SFSACK Flow..............................................................................................46 Chapter 5 Conclusion s and Future Work.......................................................51 Referenc es.........................................................................................................52 PAGE 3 ii List of Tables Table 1. Definitions and notatio ns...............................................................16 PAGE 4 List of Figures Figure 1. Evolution of the congestion window of TCP Tahoe and TCP Reno...............................................................................................6 Figure 2. Evolution of the congesti on window of a SFSACK flow...............13 Figure 3. Evolution of the window size over time in the case of losses detected only by tripleduplicate acknowledgments, with a loss detected each schedul er interv al...........................................19 Figure 4. Packets sent during a TDP........................................................... 20 Figure 5. Evolution of the window size when loss indications are only tripleduplicate a cknowledgment s.................................................27 Figure 6. Evolution of the window si ze in a sequence of consecutive schedulers intervals that do not contain losses............................29 Figure 7. Packet and acknowledgment transmissions towards the end of a TD P........................................................................................31 Figure 8. Comparison with TCP Reno, model with no timeouts, RTT = 0.016 sec, = 7 RTT..................................................................34 Figure 9. Comparison with TCP Reno model with no timeouts, RTT = 0.024 sec, = 7 RTT..................................................................34 Figure 10. Comparison with TCP Re no, model with no timeouts, RTT = 0.24 sec, = 7 RTT ....................................................................35 Figure 11. Evolution of the window size when loss indications are tripleduplicate acknowledgment s or timeouts......................................36 Figure 12. Comparison with TC P Reno, RTT = 0.016 sec, T 0 = 3*RTT, =7*RTT.......................................................................................44 Figure 13. Comparison with TC P Reno, RTT = 0.024 sec, T 0 = 3*RTT, =7*RTT.......................................................................................44 iii PAGE 5 Figure 14. Comparison with TC P Reno, RTT = 0.16 sec, T 0 = 3*RTT, =7*RTT.......................................................................................45 Figure 15. Influence of the value RTT on the send rate, p = 0.2, = 7 RTT...............................................................................................45 Figure 16. Influence of on the send rate.....................................................46 Figure 17. Comparison between t he throughput of SFSACK and TCP Reno, RTT = 0.016 sec, T 0 = 3*RTT.............................................49 Figure 18. Comparison between t he throughput of SFSACK and TCP Reno, RTT = 0.024 sec, T 0 = 3*RTT.............................................49 Figure 19. Comparison between t he throughput of SFSACK and TCP Reno, RTT = 0.24 sec, T 0 = 3*RTT...............................................50 iv PAGE 6 v Modeling the Throughput Performan ce of the SFSACK Protocol Laura M. Voicu ABSTRACT Besides the two classical techniques used to evaluate the performance of a protocol, computer simulation and expe rimental measurements, mathematical modeling has been used to study the perfo rmance of the TCP protocol. This technique gives an elegant way to gain insights when studying the behavior of a protocol, while providing useful information about its performance. This thesis presents an analytical model for the SFSACK protocol, a TCP SACK based protocol conceived to be appropriate for data and streaming applications. SFSack modifies the multipli cative part of the Additive Increase Multiplicative Decrease of TCP to provide good performance for data and streaming applications, while avoiding the TCPfriendliness problem of the Internet. The modeling of the SFSAC K protocol raises new challenges compared to the classical TC P modeling in two ways: firs t, the model needs to be adapted to a more complex dynamism of the congestion window, and second, the model needs to incorpor ate the scheduler that SFSACK makes use of in order to maintain a periodically updat ed value of the congestion window. Presented here is a model that is progressively built in order to consider these challenges. The first step is to consider only losses detected by tripleduplicate PAGE 7 vi acknowledgments, with the restrict ion that one such loss happens each scheduler interval. The second step is to consider losses detected via tripleduplicate acknowledgm ents, while eliminat ing the above restriction. Finally, the third step is to include losses detected via timeouts. The result is an analytical characterization of the steadystate s end rate and throughput of a SFSACK flow as a function of the loss probability, t he roundtrip time (RTT), the timeout interval, and the scheduler interval. The send rate and the throughput of SFSACK were compared against available results for TCP Reno. The obtained graphs showed that SFSACK presents a better performance than TCP. T he analytical model of the SFSACK follows the trends of the results that are presently available, using both the ns2 simulator and experimental measurements. PAGE 8 1 Chapter 1 Introduction The amount of streaming traffic over the Internet continues to grow. Many applications not available a few years ago are considered main stream today. This is the case of videoconferencing and voice, which were traditionally transported over circui tswitched networks. The Internet, dedicated to carry traffi c from dataoriented applications, has now to handle both types of traffic, while providing good performance. Unfortunately, the transport layer prot ocols meant to carry data and the ones designed for streaming applicat ions do not work together very well. The cause of the unfairness that results from TC P flows competing for bandwidth with unresponsive UDP flows is the absence of an endtoend flow and congestion control mechanism in UDP [5] Many proposals to solve this problem have been brought into attention. One of these proposals is SFSACK, a TCPSACK based protocol meant to be appropr iate for data and realtime applications and, at the same time, to provide fl ow and congestion control [1] In this thesis, the SFSACK protocol is evaluated. Three important techniques are used to evaluate the performance of TCP: experimental measurements, computer simulation, and mathematical modeling. PAGE 9 2 The third method came into sight for numerous reasons. The first and maybe the most forcible reason is the extent that the use of TCP has today. Thus, any protocol that is intended not only for data, but for str eaming applications also, will double this extent. This kind of magnitude has to rely on mathematical support in order to find theoretical bounds, especially when some as pects cannot be really measured or even anticipated, like the num ber of existent connections or the way in which the protocol res ponds to other transport protoc ols used over the Internet [7] Mathematical models are required in order to design an optimal transport protocol, such that the performance metr ics and control strategies are chosen. The theoretical model of SFSACK, as the one for any TCP version, needs to include two processes: the dynami cs of the congestion window and the packet loss process. These two processes, obser ved at the sender si de of the endtoend TCP connection, are indicative of th e actual traffic loads and congestion within the network [7] The two processes are included in the model progressively. First, the model considers on ly losses detected by tripleduplicate acknowledgments, with the restriction that one such loss happens during each schedulers interval. The model then inco rporates losses detected via tripleduplicate acknowledgm ents, while eliminat ing the above restriction. Finally, the model includes losses det ected via timeouts. 1.A. Contributions of the Thesis Several mathematical models have been developed to analyze the original TCP and other versions of transport la yer protocols. Modeling SFSACK is different and challenging because of the comp lexity of processes that need to be PAGE 10 3 included in the model. Firs t, the analysis of the congestion window dynamic is complicated by a recurrent formula that also depends on time and on the type of event that triggered the update. Second the calculation of the congestion window does not occur only when a loss is det ected, as in the case of TCP, but also, in the absence of such losses, it is done at periodic intervals, dictated by a scheduler. The most important contri bution of this thesis is to build a mathematical model that addresses these c hallenges while still mainta ining the approach of a classical TCP model. This model constitutes an addition to the two methods that are already available for the evaluatio n of the SFSACK pr otocol, computer simulation and experimental measuring, in order to provide a complete and powerful mean of performance ev aluation of the protocol. 1.B. Organization of the Thesis The rest of the thesis is organized as follows. Chapter Two provides basic information in the area of TCP mode ling and background knowledge on Markov regenerative processes, which are used to model the send rate of SFSACK. Chapter Three gives a present ation of the SFSACK prot ocol, while Chapter Four presents the analytical characterization of the SFSACK steadystate send rate and throughput as a function of loss rate, round trip time, and the duration of the schedulers interval. Here are also incl uded graphs to illustrate a comparison between the behavior of SFSACK and versions of TCP. Chapter Five presents a brief conclusion of the thesis and grounds for future work. PAGE 11 4 Chapter 2 Related Work The use of TCP as the prevalent trans port protocol over the Internet and the continuous expansion of the Internet caused the increasing interest in modeling the TCP protocol. As a resu lt, analytical models and performance evaluations of the most im portant TCP versions are av ailable. Since SFSACK is a TCPbased protocol, studying the classical TCP analytical models is the starting point in understandi ng the process of construction of the SFSACK model. Numerous models for TCP have been proposed so far, concentrating on different aspects of the protocol [3] [7] [10] [11] [14] [15] [16] Some concentrate on modeling the throughput of in finite TCP connections as a function of roundtrip time and packet loss rate [10] [11] [14] [15] [16] others on modeling the latency of fini te connections as a function of transfer size, roundtrip time, and packet loss rate [3] [15] This chapter is divided in two sect ions. The first gives a brief background on TCP and presents a series of TCP m odels. The second section provides the theoretical background for the analytica l model presented in this thesis. PAGE 12 5 2.A. TCP and TCP Modeling Early implementations of TCP us ed a gobackn model, where losses were detected only via timeouts [15] The congestioncontrol mechanism of TCP introduces a variable named the congestion window that controls the rate at which a TCP sender can send data. To be more specific, the amount of unacknowledged data at the sender cannot exceed the congestion window. TCP Tahoe [8] introduces three mechanisms: 1. slowstart. When a TCP connection star ts or restarts after a timeout, the congestion window is set to 1. The curre nt window size is divided by 2 and saved as a threshold value. Then fo r each received acknowledgment, the congestion window is increased by one, leading to an exponential increase. The slowstart phase lasts until the cong estion window reaches the threshold value. 2. congestion avoidance. When the conges tion window becomes larger than the threshold value, the window size increases linearly 3. fast retransmit. After receiving thr ee duplicate acknowledgm ents, the sender retransmits the missing segment before the retransmission timer expires. TCP Reno [9] adds to TCP Tahoe the fast recovery algorithm, by canceling the slowstart phase after a triple duplicate acknowledgment. TCP SACK [4] is an extension of TCP Reno t hat allows outof sequence acknowledgments. By requiring selective acknowledgm ents, it is intended to eliminate timeouts in the case when multiple losses happen within the same window [15] PAGE 13 congestion window congestion avoidance fast recovery timeout TDA slowstart TCP Reno threshold TCP Tahoe threshold no. of rounds Figure 1. Evolution of the congesti on window of TCP Tahoe and TCP Reno. Figure 1 illustrates the dynamic of the congestion window for TCP Tahoe and TCP Reno and names the princi pal phases of a TCP flow. TCP Vegas [2] is a modification of TCP Re no that introduces three major changes: 1. new retransmission mechanism. The RTT is estimated by measuring the time interval between the moment the s egment is sent and the moment the corresponding acknowledgment arrives. If a duplicate acknowledgment is received and the difference between the current time and the timestamp for the relevant segment is larger than t he timeout value, then the segment is retransmitted. Also, for the first or t he second nonduplicate acknowledgment that is received after a retransmission, if the time interval since the relevant segment was sent is larger than the timeout value, then the segment is retransmitted. In addition, a further modi fication provides that the congestion 6 PAGE 14 window is decreased only if the retransmitted segment was initially sent after the last decrease. 2. congestion avoidance mechanism. The measured send rate is compared with an expected send rate value with the pur pose of controlling the amount of extra data that the connection has in tr ansit. When the difference between the expected send rate and the actual send rate is smaller than a threshold value the congestion window is increased li nearly during the next RTT. When the difference is larger than a threshold value the congestion window is decreased linearly during the next RTT. 3. modified slowstart mechanism. Congesti on during slowstart is avoided by allowing exponential growth only every other RTT. In between, the congestion window remains fixed such that t he actual and expected send rates are compared. When the actual rate falls below the expected rate, Vegas changes from slowstart to linear increase/decrease mode. The analytical models for TCP pr oposed so far, analyze two main characteristics of the protocol: eit her the throughput of TCP connections with infinite amount of data to send is modeled as a function of roundtrip time and packet loss rate [10] [11] [14] [15] [16] or the latency of co nnections with finite amount of data to send is modeled as a fu nction of transfer size, roundtrip time, and packet loss rate [3] [15] The most wellknown model that char acterizes the steadystate send rate of a bulk transfer TCP flow is presented in [11] The model is aimed at capturing both the fast retransmit and the timeout mechanisms of TCP Reno. The model 7 PAGE 15 8 calculates the send rate and throughput of a TCP flow as functions of the loss rate and round trip time. Analytical models for TCP Tahoe, Reno, and SACK are included in [15] to estimate both the latency and the steady state throughput of the protocols. Based on the analytical models, the three versions of TCP are then compared. The throughput of TCP Vegas is modeled in [14] as a function of the average round trip time, minimum round trip time, and loss rate of the transfer. The model include the slowstart, conges tion avoidance and congestion recovery mechanisms. The latency of a TCP connection is modeled in [3] as a function of the transfer size, round trip time, and packet loss rate. The model includes both the connection establishment and data transfer phases. This approach is intended to predict the performance of both short and long TCP flows under different packet loss conditions. The model extends the results in [11] by deriving new models for the connection establishment phase and the slowstart phase. Depending on the analytical model, it may or may not inclu de certain aspects of a TCP connection, thus, its accuracy may not be complete. But, by including the essential processes, each of the existent models c an be considered as a starting point for developing new models. 2.B. Markov Regenerative Processes The send rate and the throughput of a SFSACK flow are both computed as the reward rate of a Markov regenerat ive process. This section provides a PAGE 16 basic background on Markov processes and renewal theory. Unless otherwise specified, the following information is referenced from [6] A stochastic process {X(t), t T} is a collection of random variables. The index t is often referred to as time, while X(t) is the state of the process at time t The set T is called the index set of the process. A Markov chain is a stochastic process with the property that, conditional on its present value, the future is independent of t he past. The process is a Markov chain if it satisfies the Markov condition: X 1 1 1 1 1100 ,...,, n n n n n nxXsXPxXxXxXsXP for all and all 1n Sxxxsn 1 21,...,,, where is a countable set. S A renewal process is a recurrentevent process with independent identically distributed interevent time s. More formally, a renewal process is a process such that 0:)( ttNN tTntNn :max)( where 00T n nXXXT ...21 for and 1n iX is a sequence of independent identically distributed nonnegativ e random variables. is called the time of the n nT th arrival and is referred to as the n nX th interarrival time. In the case that there are rewards or costs associated with a renewal process, they may be introduced as follows. Let be independent and id entically distributed pairs of random variables such that For a pair 1, i iiRX 0iX RX , the quantity is to be interpreted as an interarrival time of a re newal process, and the quantity as a reward X R 9 PAGE 17 associated with that interarrival time. It is not assumed that and are independent. The renewal process is constructed by X R N tTntNn :max)( where and the cumulative reward process C by n nXXXT...21 )( 1)(tN i iRtC The reward function is )()( tCEtc The Renewalreward theorem: Suppose that ][0 XE and [ E ] R Then ][ ][ )( XE RE t tC as with probability 1, and t ][ ][ )( XE RE t tc as t A regenerative process is a stochastic process 0),( ttX with state space having the property that there exist time points at which the process restarts itself, meaning that there exists a time T ,...2,1,0 1 such that the continuation of the process beyond T 1 is a probabilistic replica of the whole process starting at 0 [12] The renewalreward theorem has a majo r importance in the evolution of the analytical model for the SFSACK protocol, since it allows the deduction of the send rate and of the throughput, as it will be seen in Chapter 4. 10 PAGE 18 Chapter 3 The SFSACK Protocol The amount of streaming tr affic over the Internet continues to grow. As a consequence, the Internet has now to handle both traffic fr om dataoriented applications and realtime applications, while providing good performance. UDP, the transport layer protocol commonly used to transfer realtime traffic, and TCP, the protocol utilized to trans mit dataoriented traffic, do not work together very well. If TCP and UDP share the same c ongested bottleneck link, UDP may obtain considerably more bandwidth than TCP. The TCPunfriendlines s of UDP is a wellknown problem of the Internet [5] which is becoming more and more important as the amount of realtime traffi c continues to grow [1] A solution to this problem is proposed in [1] the Smooth Fair TCP SACKbased (SFSACK) protocol. This protocol is meant to be appropriate for realtime applications while including flow and conges tion control. The modification that the protocol brings to TCP SACK is t he dynamic of the congestion window, cwnd, when packet losses occur. The multiplicativ e decrease part of TCP is substituted by a smooth decrease strategy that consid ers the history in the evolution of the congestion window. For this purpose, a discrete time filter is used and the cwnd value of the congestion window at time is calculated using the formula: kt 11 PAGE 19 ) __ _( 1 2 1 1 2 1 21 1 1 11 k t k k k t kk kk ksample cwndlast sample cwnd tt cwnd tt tt cwndt k t (1) where is the filtered value of the congestion window at time k tcwnd kt /1 is the cutoff frequency of the filter, and 1 kktt is the time interval of consecutive packet losses. The value of depends on the type of congestion event. If the packet loss is detected by three duplicate acknowledgemen ts, the value is set to and when the loss is detected via a timeout it is set to 1. ktsample cwnd 2/ cwnd In addition, a scheduler is used to update every ktcwnd 2/ seconds, since there is no guarantee that packet losses will occur with enough frequency to have a proper sampling frequency as required by the Nyquist theorem. The cutoff frequency of the filter is /1 and according to the Nyquist sampling theorem, the sampling interval should be at most 2/ In case the cwnd value is calculated as a resu lt of a scheduler update, the value of is set to the current cwnd. Also, since no packets have been lost, the value of cwnd is not updated and the algorithm continues the additive increase process. ktsample cwnd_ Figure 2 illustrates the evolution of the congestion window for SFSACK, represented by the bold lin e, and provides a com parison with the way TCP works, illustrated by the dashed li ne. As it can be observed, the cwnd_sample values calculated in the case of loss detection (timeouts or tripleduplicate 12 PAGE 20 congestion SFSACK window scheduler scheduler TCP (packets) update update timeout TDA TDA ktcwnd 1 ktcwnd .. ktsample cwnd 1__ ktsample cwndlast time (sec) tk2 tk1 tk tk+1 tk+2 tk+3 Figure 2. Evolution of the conges tion window of a SFSACK flow. acknowledgments) are equal to the va lues at which TCP would reduce the congestion window. The filter in Equation (1) is appropriat e to be used for a smooth decrease congestion control algorithm since it will determine a proper wei ght of history and of the current samples in the evolution of the congestion window, as a reflection of the changes in the interarriva l time between packet loss events. 13 PAGE 21 14 Chapter 4 The Analytical Model of the SFSACK Protocol This chapter presents the stochastic model for SFSACK, specifically of its congestion avoidance mechanism. The model is inspired by t he model proposed in [11] and since SFSACK is TCP based, some parts even follow the same course. The assumptions are also the same but the skeletons of the models are different, as for the SFSACK the dy namic of the congestion window is completely different and the processes t hat need to be included are much more complex. As in [11] we will have a set of assumptions as follows. Each time an ACK is received, the congestion window, W is increased by 1/W. Each time a packet loss is detected, W is decreased to the value CW which is calculated with formula (1). The model uses the notion of rounds , which is the period of time between the beginning of tr ansmission of the first packet from the packets that fall within the congestion window and the reception of the first ACK. This ACK marks the end of the current round and t he beginning of the following round. The duration of a round is equal to the Round Tr ip Time (RTT) and it is assumed to be independent of the window size. It is also assumed that the time needed to send all the packets in a window is smaller than the RTT. PAGE 22 The send rate is defined as the number of packets sent by the sender in the time period and is measured in terms of packets per unit time instead of bytes per unit time. Since one packet is acknowledged by an ACK, if W packets are sent during the first round and all are receiv ed and acknowledged correctly, then W acknowledgments will be received correspondi ng to this round. As the window size is increased by 1/W after each acknowledgment, then in the absence of a loss the window size increases linearly, with a slope of 1. A packet loss is detected either by timeouts (TO), or by the reception of tripleduplicate acknowledgments (TD). It is assumed that a packet loss in a round is independent of any packet loss in other rounds. Further, if a packet is lost, it is assumed that all the remaining packets in that round are also lost. In addition to this, for SFSACK, it is safely assumed that the schedulers interval ( 2/ ) is small enough such t hat within an interval th ere will be at most one loss, detected either by a tripledup licate acknowledgment, or by a timeout occurrence. The mathematical model is built progr essively. First, the model considers only losses detected by tripleduplicate acknow ledgments, with the restriction that one such loss happens during each sc hedulers interval. The model then incorporates losses detected via trip leduplicate acknowledgments, while eliminating the above restriction. Finally, the model includes losses detected via timeouts. Table 1 presents the definitions and notations used within this chapter. 15 PAGE 23 Table 1. Definitions and notations. A i the duration of the period between two consecutive loss indications ijA the duration of the j th period of the interval TD iZ ),( kwA the probability that the fi rst k packets are acknowledged in a round of w packets, assuming that t here is a loss in the round B the longterm steady rate of a connection iCS the value calculated for the congestion window size after the i th time the algorithm is run by the scheduler iCW the value of the congestion window immediately after the packet loss is detected iH TO i TDS iZZ im the number of rounds in (sequence of consecutive schedulers intervals that do not contain any loss detection) SC iZ iM the number of packets sent during iTS ijM the number of packets sent in the j th TDP of interval (the time interval between two consecutive timeout sequences) TDS iZ in the number of TDP intervals in TD iZ iN the number of packets sent during iH inr the number of periods in the interval (the time interval between two consecutive timeout sequences) ijTS TDS iZ iNR the total number of packets sent in (sequence of timeouts) TO iZ into the number of timeout intervals in (sequence of timeouts) TO iZ ijNW the window size at the end of the j th TDP of interval (the time interval between two consecutive timeout sequences) TDS iZ NR i the number of packets that reach the destination during Z i TO (sequence of timeouts) p the probability that a packet is lost iq the round number within that corresponds to the scheduler update iTDP Q the probability that a window size update at the end of a TDP is a scheduler update Q the probability that there is a loss detected by a tripleduplicate acknowledgment )( wQ the probability that there is a loss in the penultimate round and that this loss is detected by a tripleduplicate acknowledgment ijr the length of the j th round in TDP i 16 PAGE 24 Table 1. Continued. SC ijr the duration of a round in (sequence of consecutive schedulers intervals that do not contain any loss detection) SC iZ RTT round trip time = the duration of a round is the number of scheduler intervals in (sequence of consecutive schedulers intervals that do not contain any loss detection) SC iZ iS the updated value of the window size after the i th time the algorithm is run by the scheduler ijS the duration of the j th TDP of interval (the time interval between two consecutive timeout sequences) TDS iZ SC i the number of packets sent during the period (sequence of consecutive schedulers intervals that do not contain any loss detection) SC iZ SC i the number of packets receiv ed by the receiver during Z i SC (sequence of consecutive schedulers interv als that do not contain any loss detection) 0T the timeout interval iT the period between a time that the scheduler is run and the first loss that occurs after that ),( mnT the probability that only the first m packets from the total number of n are acknowledged in the last round TDP i the period between two consecutive lo sses detected by tripleduplicate acknowledgments iTS SC i TD iZZ ikTS the duration of a sequence of consecut ive schedulers intervals that do not contain any loss detection plus the time interval between two such consecutive sequences ijTW the number of packets sent during a timeout interval iW the congestion window size at the end of a TDP ijW congestion window at the end of the j th period of the interval TD iZ 0iW congestion window at the beginning of the period (sequence of consecutive schedulers intervals that do not contain any loss detection) SC iZ X the probability that a loss indication at the end of a TDP is a timeout iX the round where the first loss occurs in TDP i )( wX the probability that a loss in a window of w is determined via a timeout iY the number of packets sent in TDP i 17 PAGE 25 Table 1. Continued. ijY the number of packets sent in the j th period of the interval TD iZ Y i the number of packets that reach the destination during a TDP period SC iZ the duration of a sequence of consecutive schedulers intervals that do not contain any loss detection TD iZ the time interval between two consecutive sequences SC iZ TDS iZ the time interval between two consecutive timeout sequences TO iZ the duration of a sequence of timeouts i the first packet lost in TDP i i the number of packets sent in the last round of TDP i 2/ the duration of a schedulers interval 4.A. Losses are Detected Excl usively by TripleDuplicate Acknowledgments and There is One Loss in Each Schedulers Interval In this section it is assumed that loss indications are exclusively due to tripleduplicate acknowledgments and that the window size is not limited by the receivers advertised window. It is also assumed that one and only one loss is detected within a schedulers interval, that is 0 < < iA where is the duration of the period between two lo ss indications. Figure 3 s hows the evolution of the window size in this case. After the i iA th time the algorithm is run by the scheduler, the updated value of the window size using Equation (1) is noted by and the value obtained for the congestion window size is noted by In Equation (1) (and also ) is an element from the set iS iCS ktcwnd 1 ktcwnd i iCW if it corresponds to an update triggered by a loss detection or from the set i iCS if it corresponds to a calculation initiat ed by the scheduler. (and also ktsample cwnd_ 18 PAGE 26 W (i 3) 2 (i 2) 2 (i 1) 2 i 2 1 iS iW iS iT iCS 2 iS 1 iW 1 iCS 3 iS 2 iW iCW 2 iCS 1 iCW 3 iCS 2 iCW 1 iA iA 2 it 1 it it round 1 iq round iq t Figure 3. Evolution of the window size ov er time in the case of losses detected only by tripleduplicate acknowledgments, with a loss detected each scheduler interval. 1__ ktsample cwndlast ), depending on the kind of update for the congestion window size, is set to a value from i iS if the update is initiated by the scheduler, or from i iW 2 if the update is due to a lost detected by a tripleduplicate acknowledgment, or is set to 1 if the update is due to a lost detected by a timeout. Let us also denote with the round number within that corresponds to the scheduler update. iq iTDP When defining the send rate, t he considerations found in [11] can also be applied to SFSACK, as follows. For a given time t > 0 let be the number of packets transmitted in the interval [0, t ]. The send rate in that interval is then = / t Thus, the longterm steady rate of a connection is tN tB tN t N BBt t t t lim lim 19 PAGE 27 packets sent iW i 1 i i TD occurs 1 iCW TDP ends nr of rounds 1 2 3 4 X TDP i 3 2 1 4 5 6 7 8 Figure 4. Packets sent during a TDP. Let TDP (TD period) be a period between two TD loss indications. Then the duration of a TDP is and the window size at the end of the period is Let be the number of packets sent in the period. Considering to be a Markov regenerative process with rewards iA iW iY i iW i iY then, as a consequence of the Renewalreward theorem it follows that ][ ][ AE YE B (2) Derivation of the means of Y and A will also follow closely the model found in [11] Therefore, let us consider a TDP, as illustrated in Figure 4. The initial window size is The number of packets sent per round is incremented by one every round. Let 1 iCW i be the first packet lost in TDP i and be the round where this loss occurs. Let iX i be the number of packets s ent in the last round in TDP i Before the TD indication occurs, 1 more packets are sent after packet iW i Thus, = iY i + 1 and from this it follows that iW E [ Y ] = E [ ] + E [ W ] 1. (3) 20 PAGE 28 Since packet losses in a round do not depend on losses in other rounds, { i } i is a sequence of independent and identi cally distributed random variables. The probability that i = k is equal to the probability that k1 packets are acknowledged before a loss occurs and is equal to ppkPk i 1)1(][ k= 1, 2, (4) where p is the probability that a packet is lost. It follows that the mean of is p ppkEk k1 )1(][1 1 (5) From (3) and (5) it follows that ][ 1 ][ WE p p YE (6) Let be the duration of the j ijr th round in TDPi. Thus, 1 1iX j ij irA and since r ij are independent a nd identically distributed random variables, it follows that ][)1][(][ rEXEAE where E [ r ] is the average value of the roundtrip ti me, and will be noted by RTT. Thus, )1][(][XERTTAE (7) There are still needed the calculations of E [ X ] and E [ W ]. From Figure 4 it can be seen that, since the increase of t he window size is linear with slope 1, 21 PAGE 29 from to it follows that 1 iCW iW ii iXCWW 1 (8) During TDPi the number of packets sent, is iY i X k i ikCW Yi )(1 0 1 i i i iiX X CWX1 21 where i is the number of packets sent in the last round. By using (8) it can be obtained that: i ii i iiiCWW X CWXY 1 21 1 i ii iWCW X 1 21 and it follows that ][1][][ 2 ][ ][EWECWE XE YE (9) For simplicity it is assumed that i is uniformly distributed between 1 and 1 iW thus 2 ][ ][ WE E (10) From (6), (9), and (1 0) it follows that 2 ][ 1][][ 2 ][ ][ 1 WE WECWE XE WE p p (11) But, from (8), ][][][ CWEWEXE (12) and it follows that 2 ][ 1][][][][ 2 1 ][ 1 WE WECWECWEWEWE p p (13) 22 PAGE 30 The difference between [11] and the SFSACK mode l will intervene in the way E[W] and E[CW] are deduced From the evolution of the window size shown in Figure 3 and by using Equation (1) (Chapter 3), it can be deduced that 2 1 1 2 1 1 12 1 2 2 2 1 1 2 2 2 1 2 2 2i i i i i i iS W it CS it it CW (14) where 12 2 ii iqCWS (15) and 2 1 2 2 2 1 1 2 2 2 1 2 2 22 2 2 2 2 2 2 i i i i i i iW S ti CW ti ti CS (16) Let us consider the notation 2 21 itTii It follows that iiiTAti 1 22 2 Equations (14) and (16) will then become 2 1 2 12 1 2 1 1 2 1 2i i i i i i iS W T CS T T CW (17) 2 1 2 1 1 2 1 22 2 1 2 1 1 2 i i ii i ii ii iW S TA CW TA TA CS (18) 23 PAGE 31 denotes the duration of the time interval between the moment the scheduler is run and the packet loss that follows after this update (it is assumed that there will be on e loss before the following scheduler update). It can be assumed that is uniformly distributed between 0 and iT i iT 2 thus its probability density function is given by 2 1 and since is a continuous random variable it follows that iT 48 2 2 2 2 2 1 ][2 2 0 2 2 0 2 0 x xdx dxxTE Thus 4 ][ TE (19) With the assumption that is uniformly distributed between 1 and iA 1, it results 22 1 11 ][0 2 0 0 x xdx dxxAE (20) From (19), (20), and (17) it can be deduced that ][ 2 ][ 1 8 1 ][ 1 8 1 8 ][ SE WE CSE CWE which after simplifications becomes SE WE CSECWE 29 1 9 7 (21) 24 PAGE 32 Since RTT TEAE qE ][][ ][ it follows from (15), using (19) and (20) that RTT CWESE 4 (22) From (18), (19), and ( 20) it results that 2 9 1 9 7 WE SE CWECSE (23) By using the Equations (21), (22), and (23) the following equation for is obtained: ][ CWE RTT CWE WE WE RTT CWE CWE CWE 4 29 1 24 9 1 9 7 9 7 (24) From (7), (11), (12), a nd (20) it follows that )3(2 8)8 2( ][2 2 2RTT RTTp RTT RTT RTT p WE (25) and )3(2 8)143( ][ RTT p RTT RTT p CWE (26) From (24), (25), and (26) it can deduced 2 2 2320 16723 128 RTT RTT RTT p (27) In order to have satisfied the condition 1 p it is assumed that RTT 6 From (25) and (27) it results that )3(32 192 19939 ][2 2RTT RTT RTT RTT WE (28) 25 PAGE 33 From (6), (25), and (2 7) the expression of can be deduced: ][ YE )3(128 192 103 8023 ][2 3 2 2 3RTT RTT RTT RTT RTT YE (29) From (2), (20), and (2 8) it follows that )3( 64 192 103 80232 3 2 2 3RTT RTT RTT RTT RTT B (30) 4.B. Losses are Detected Exclusively by TripleDuplicate Acknowledgments In this section it is also assumed that loss indications are exclusively due to tripleduplicate acknowledgm ents, but it extends secti on 4.A. by relaxing the supposition that a loss is detected duri ng each schedulers interval. Figure 5 presents the evolution of the window size in this case. Let denote the duration of a sequenc e of consecutive schedulers intervals that do not contai n any loss detection and let be the time interval between two consecutive sequences Then, is defined as the sum of these two intervals, or Also, let be the number of packets sent during SC iZ TD iZ SC iZ iTS SC i TD iiZZTS iM iTS Then is an i.i.d. sequence of random variables and i iiMTS ][ ][ TSE ME B The definition of a TDP gi ven in the previous section is extended to denote either the period between tw o consecutive losses detected by tripleduplicate acknowledgments, or a peri od that begins or ends in an update initiated by the 26 PAGE 34 3 iW 4 iW 1 iW 2 iW 5 iW 1 iA 2 iA 3 iA 4 iA 5 iA TD iZ SC iZ iTS Figure 5. Evolution of the window size when loss indications are only tripleduplicate acknowledgments. scheduler, update that is not preceded, respectively followed by a loss within the same period. TD iZ Let be the number of TDP intervals in For the TDP of interval is defined as being the number of packets sent in the period, to be the duration of the period, and to be the window size at the end of the period. Let be the number of packets sent during the period Then, in TD iZ thj TD iZ ijY ijA ijW iSC SC iZ ][ ][1SCEYEMEin j ij SC n j ijZEAETSEi 1][ If is assumed to be an i.i.d. sequence of random variables, independent of i in ijY and of ijA then ][][1YEnEYEin j ij 27 PAGE 35 ][][1AEnEAEin j ij and, thus ][][][][ SCEYEnEME ][][][][SCZEAEnETSE which leads to the equation 28 SCZEAEnE SCEYEnE B ][][ ][][][ To derive E [ n ], note that during there are TDPs, where each of the first ends in a tripleduplica te acknowledgments and the last one ends in a scheduler update. This means that in out of window updates at the end of a TDP, there is one in itiated by the scheduler. If Q is the probability that a window size update at the end of a TDP is a schedul er update, then TD iZ in 1 in TD iZ in ][ 1 nE Q and it follows that ][ 1 ][][ SCE Q YEME (31) ][ 1 ][][SCZE Q AETSE (32) As a consequence, the send rate can be expressed as SCZEQAE SCEQYE B ][ ][][ (33) ][ AE and are the same as those obtai ned in Section 4.A., given by Equations (20) and (29). ][ YE PAGE 36 packets sent 0 iW .... nr of rounds 1 2 3 4 im Figure 6. Evolution of the window size in a sequence of consecutive schedulers intervals that do not contain losses. There are needed now t he derivations of SCE SCZE and Q Figure 6 presents the evolution of the window size during Let us denote by the window size at the begin ning of the period and by the number of rounds in SC iZ 0 iW im SC iZ It can be deduced then that 2 10 1 0 0 ii ii m k i imm WmkWSCi Thus 2 1][ ][][][ mE WEmESCE (34) ][ WE was already calculated in Section 4.A and its expression is given by Equation (28). If is the duration of a round in then SC ijr SC iZ ][][][][ mERTTmErEZESC SC thus RTT ZE mESC][ ][ (35) 29 PAGE 37 Let be the number of sc heduler intervals in Then is SC iZ 2 ][][ 2 sEZEsZSC i SC i To derive E [ s], note that during there are scheduler intervals, where each of the last follow an update of the congestion window initiated by the scheduler and the first one follo w an update caused by a tripleduplicate acknowledgment. Since Q is the probability that a window size update at the end of a TDP is a scheduler update, then SC iZ is 1 is ][ 1 1 sE Q and it follows that Q sE 1 1 ][ thus Q ZESC 12 ][ (36) From (28), (34), (36), and (36) it results that )1(4 )1(2 ][ )1(2 ][ QRTT QRTT WE QRTT SCE (37) where )3(32 192 19939 ][2 2RTT RTT RTT RTT WE It will be considered now for derivation Q the probability th at a window size update at the end of a TDP is a schedule r update. This is similar to the correspondent derivation found in [11] In Figure 7, the penultimate round is the round where a loss indication occurs. If the current congestion window size is w then packets are sent in the penultimate round. wppp ,...,,21 30 PAGE 38 Sequence Number received packet kr lost packet k mr m 1r ACK wp kp w k RTT RTT time penultimate round last round Figure 7. Packet and acknowledgment transmissions towards the end of a TDP. Packets are acknowledged, and packet is the first one that is lost or not acknowledged, followed by considering the assumption that if a packet is lost, all the remaining packets in that round are also lost. Since packets are acknowledged, other k packets, are sent in the last round. This last round may have another lost, packet followed by packets Each of the m packets that are successf ully sent in the last round will cause an ACK for the first packet that was lost, thus will cause duplicate acknowledgments. As a consequence, the number of duplicate acknowledgments is equal to the number of successfully received packets in the last round. Since our model does not includ e yet timeouts, if the number of such duplicate ACKs is less than 3, then a TD was not detected yet, thus the update of the congestion window is initiated by the scheduler. kpp ,...,1 1kp w kpp ,...,2 kpp ,...,1 krrr ,...,,21 1mr k mrr ,...,2 1kp 31 PAGE 39 Let be the probability that there is a loss in the penultimate round and that this loss is detected by a tripleduplicate a cknowledgment. Let denote the probability that the first k packets are acknowledged in a round of w packets, assuming that there is a loss in the round. Then is expressed as a conditioned probability; as the probability that the first k packets are acknowledged, divided by the probability t hat there is at least one loss in the round. )( wQ ),( kwA ),( kwA w kp pp kwA )1(1 )1( ),( and 1 3 3,)1(),( 3 ,0 )( w kotherwise pkwA wif wQ But w w w w w k k w w k w k w kp p p p p p p pp p p pp p ppp pkwA )1(1 )1(1)1( )1(1 )1(1 )1( )1(1 )1( )1( )1(1 )1( )1(1 )1()1( )1(),(3 6 3 3 3 1 3 3 1 3 1 3 3 3 And it follows that w wp p p wQ)1(1 )1(1)1( ,0max)( 3 6 Since 0lim p w w p p pw w3 )1(1 )1(1)1(3 6 the following approximation can be used: w w w wQ 3 1,0max 3 ,0max)( 32 PAGE 40 33 Q the probability that there is a loss detected by a TD is then approximated with It follows that ][ WEQQ ][ 3 ,1min ][ 3 1,0max11 WE WE QQ where is given by Equation (26). Equat ion (34) can be written now as ][ WE )1(4 )1(2 ][ )1(2 ][ 1)1(2 QRTT QRTT WE QRTT Q WE p pQ B (38) where )3(32 192 19939 ][2 2RTT RTT RTT RTT WE Figures 8, 9, and 10 present co mparisons between the analytical characterization of the send rate of SF SACK and of TCP Reno, using the results in [11] results given by the formula 12 5 3 2 2 3 3 5 3 81Rep RTT pp Bno The graphs only consider partial results, of the models that do not include yet the case of losses detected by timeouts. A first observa tion would be that both models suffer from inaccuracies, since ti meouts have a significant influence over the performance of the protocols. This can be observ ed from the trend that the send rate has when the loss rate approache s 1. A second observation is that, as expected, the performance of SFSACK is superior to the one of TCP. PAGE 41 Figure 8. Comparison with TC P Reno, model with no timeouts, RTT = 0.016 sec, = 7 RTT. Figure 9. Comparison with TC P Reno, model with no timeouts, RTT = 0.024 sec, = 7 RTT. 34 PAGE 42 Figure 10. Comparison with TCP Reno, model with no timeouts, RTT = 0.24 sec, = 7 RTT. 4.C. Losses are Detected by TripleDup licate Acknowledgments or by TimeOuts This section extends the anal ytical model, by includin g the case when the loss indication is a timeout. This case occurs when packets or acknowledgments are lost and less than threeduplicate acknowl edgments are received. Since in this case the scheduler only calculates the c ongestion window without updating it, for the simplicity of the model the scheduler will not be included. By doing this, the interval between two consecutive calcul ations of the conges tion window will be actually larger than in reality. This increase in t he interarrival time between two calculations will cause the filter to weight the current samples more than the history, leading to a slightly smaller s end rate. Since the main purpose of this model is to prove a better send rate / throughput for SFSACK than for TCP, this 35 PAGE 43 W (Fig. 3) NWi2 NWi3 ntoi=2 NWi1 . TWi4 .. TWi5 .. TSi1 TSi2 TSi3 T0 2T0 4T0 t Zi TDS Zi TO Hi Figure 11. Evolution of the window size wh en loss indications are tripleduplicate acknowledgments or timeouts. effect will be accepted, as even with this limitation, the scope of the model will be achieved. Figure 11 presents an example of t he evolution of the congestion window size in this case. The derivations in this section are fairly close to the ones found in [11] The sender waits for a period of time T 0 then retransmits packets, beginning with the first unacknowledged packet. In the case that another timeout occurs before retransmitting the packets lost during the first timeout, the timeout interval doubles to 2T 0 This doubling of the timeout interval repeats for each unsuccessful retransmission until it reaches 64T 0 After this, the timeout interval remains constant, at 64T 0 was defined in section 4.B. and is illustrated in Figure 5. It represents the duration of a sequence of consecutive schedulers ikTS 36 PAGE 44 intervals that do not contain any loss detec tion plus the time interval between two such consecutive sequences. Let be the duration of a sequence of timeouts and the time interval between two consecutive timeout sequences. Then let be the sum of these two intervals, If is the number of packets sent during then TO iZ TDS iZ iH TO i TDS iiZZH iN iH i iiNH is an i.i.d. sequence of random variables and ][ ][ HE NE B The definition of a TDP given in the previous section is again extended, to also include periods starting after or ending in a timeout loss indication. Let be the number of periods in the interval For let be the number of packets s ent in the period, be the duration of the period, and the window size at the end of the period. Let denote the number of timeout intervals in be the number of packets sent during a timeout interval, and the total number of packets sent in inr ijTS TDS iZ ijTS ijM ijS ijNW into TO iZ ijTW iNR TO iZ i nr j ij iNRMNi1 ][ ][1NREMENEinr j ij TO i nr j ij iZTSHi1 ][ ][1 TO nr j ijZETSEHEi With the assumption that i inr is an i.i.d. sequence of random variables, independent of and it follows that ijM ijTS 37 PAGE 45 ][][1MEnrEMEinr j ij ][][1TSEnrETSEinr j ij and, thus ][][][ ][][][TOZETSEnrE NREMEnrE B where and are the same as those derived in Section 4. B. To derive note that during there are subintervals, where each of the first ends in a tripleduplicate acknowl edgment and the last one ends in a timeout. It follows that in there is one timeout out of loss indications. If is the probability that a loss indication at the end of a TDP is a timeout, then ][ ME ][ TSE ][ nrE TDS iZ inr ijTS 1 inr TDS iZ inr X ][ 1 nrE X and it follows that ][][ ][][TOZEXTSE NREXME B (39) The following entities need now to be calculated: , and ][ NRE ][TOZE X 1][][kkNRPkNRE For NR=k to be true, it is needed that there are k1 consecutive losses followed by a successfully transmitted packet. This means that )1(][1ppkNRPk thus 1 1 1 11 1 1)1(1 )1( ][k k k k k k kk k kpkpk pkpkppkNRE 38 PAGE 46 p pp NREk k k k 1 1 1][0 1 (40) The difference between SFSACK and TCP will determine a different approach in the calculation of E[TW]. By considering the evolution of the window size during a timeout period, as shown in Figure 11, the following recursive formula is obtained: 2 1 2 2 1 1 2 2 1 2 20 1 1 0 1 0 1 T TW T T TWk ik k k ik which is equivalent to 0 1 0 1 0 1 0 122 2 22 22 T T TW T T TWk k ik k k ik (41) With the notation 1][ kE it follows from (41): 0 1 0 02][)22(][)22( T TWET TWET which leads to 0 1 0 122][ TTTWE meaning that 1][ TWE (42) Since into k ik iTW NR1 if is assumed to be an i.i.d. sequence of random variables, independent of and of i into iNR ikCW then ][][][ ][1ntoETWEntoETWENREinto k ik thus p NREntoE 1 1 ][][ (43) 39 PAGE 47 As a consequence of Equatio n (42), it can be considered that only one packet is sent every timeout interval. By making this assumption, the rest of the calculations will follow the approach of a classical TCP m odel, as found in [11] The first six timeouts intervals in a sequence have the length then all the following intervals have the length 64T 0 12 TLi i 0 Then the duration of a sequence of k timeouts can be written as 7 ))6(6463( 6 )12(0 0kforTk kforT Lk ik thus 1 11 1 1 1)1( ][ ][k k ik kk k ik k ik k ik TOpLpLppLkNRPLZE p pppppp T p pT ppppppT pT pLLpLLpLLL pLLLpLpLLk k k k kk k k k k k k 1 32168421 1 64 )6432168421( 64)(...)()( )(6 5 432 0 7 0 6 5 4 32 0 7 0 6 67 2 23 121 1 1 1 1 1 1 1 Thus, p pppppp TZETO 1 32168421 ][6 5 432 0 (44) There is left only the derivation of X the probability that a loss indication at the end of a TDP is a timeout. For this, Fi gure 5 will be reconsid ered in the case when the analytical model includes now t he timeouts. It is known that the number of duplicate acknowledgments is equal to the number of packets received successfully in the last round. If the number of acknowledgments is 40 PAGE 48 higher than three, then the packet loss is indicated by a TD, otherwise, the congestion window update is ei ther initiated by the sc heduler, either caused by a timeout occurrence. Following the notations us ed in Section 4.B., let denote the probability that the first k packets are acknowledged in a round of w packets, assuming that there is a lost in the round. Then ),( kwA w kp pp kwA )1(1 )1( ),( Let be the probability that only the first m packets from the total number of n are acknowledged in the last round. Then ),( mnT nmifp nmifpp mnTn m)1( )1( ),( Let be the probability that a loss in a window of w is determined via a timeout. With the observation that the number of duplicate acknowledgments is equal to the number of successful rece ived packets in the last round, a timeout occurs if either the number k of successfully transmitted packets in the penultimate round is at most 2, or is at least 3 and the number m of successfully received packets in the ultimate round is at most 2. )( wX Thus, is given by )( wX 2 0 1 3)(),(),( 3 1 )( k w kOtherwise khkwAkwA wif wX where 2 0),()(mmkTkh 41 PAGE 49 In the case of the expression of can be simplified by 3 w )( wX 2 0 1 3)(),(),()( k w kkhkwAkwAwX 1 3 2 0 2)),((),( )1(1 )1( )1(1 )1( )1(1w km w w wmkTkwA p pp p pp p p ppppp p pp p pp pw k w k w 2 1 3 2)1()1( )1(1 )1( )1(1 )1()1(1 ))1(1()1(1 )1(1 )1(1 )1(1 )1(1 )1()1(13 3 3 1 3 2 w w w k k wp p p p pp p pp p It follows that can be expressed as )( wX w wp p p p wX )1(1 )))1(1()1(1)()1(1( ,1min)( 3 3 3 (45) But since 0lim p w p p p pw w3 )1(1 )))1(1()1(1)()1(1(3 3 3 is approximated by )( wX w wX 3 ,1min)( (46) As a consequence, X is approximated by )1 )1(2 ][( )1][][( ])[( QRTT WEXmEWEXNWEXX 1 )1(2 ][ 3 ,1min QRTT WE X (47) where is given by Equation (25). ][ WE 42 PAGE 50 From the Equations (39), (31), and (32), it follows that ][][][ ][][][TO SCZEXQZEQAE NREXQSCEQYE B (48) and by considering Equations (20), (29), (36), (37), (40), and (44), it can be obtained that p pppppp QXT Q Q p QX QRTT QRTT WE QRTT Q RTT RTT RTT RTT RTT B 1 32168421 )1(22 1)1(4 )1(2 ][ )1(2 )3(128 192 103 80236 5 432 0 2 3 2 2 3 (49) where ][ 3 ,1min WE Q 1 )1(2 ][ 3 ,1min QRTT WE X )3(32 192 19939 ][2 2RTT RTT RTT RTT WE Figures 12, 13, and 14 present a com parison of the presented model of SFSACK with the model of TCP Reno introduced in [11] The send rate of TCP Reno is given by the equation ][ 3 ,1min 1 )( 1][ ][ 3 ,1min 1 1 ][ 10 ReWEp pf TXERTT WEp WE p p Bno where 1 3 )1(8 1][ p p WE and 6 5 43232168421)( pppppppf 43 PAGE 51 Figure 12. Comparison with TCP Reno, RTT = 0.016 sec, T 0 = 3*RTT, =7*RTT. Figure 13. Comparison with TCP Reno, RTT = 0.024 sec, T 0 = 3*RTT, =7*RTT. 44 PAGE 52 Figure 14. Comparison with TCP Reno, RTT = 0.16 sec, T 0 = 3*RTT, =7*RTT. Figure 15. Influence of the value RTT on the send rate, p = 0.2, = 7 RTT. 45 PAGE 53 Figure 16. Influence of on the send rate. As it can be observed from the gr aphs, the SFSACK protocol has a performance that is superior to TCP Reno. As in the previous case, the influence of RTT and T 0 is more noticeable in the ca se of SFSACK than for TCP. The dependence of the send rate on the value of R TT is also illustrated in Figure 15. This dependence is more obvious for SFSACK than for TCP, explained by the fact that the window size for SF SACK depends on the time interval between two consecutive losses, thus, will receive a stronger influence from the value of RTT. Very important for SFSACK is a good choice of the length of the schedulers interval. The larger this val ue is, the less the value of the congestion window is updated, leading to a smaller send rate. This is illustrated in Figure 16. 4.D. Calculation of th e Throughput of a Bulk Transfer SFSACK Flow 46 The throughput of a SFSACK flow is the amount of data received by the receiver per unit time. The same consi derations applied in the analysis of the PAGE 54 send rate can be applied for the ca lculation of the throughput, as in [11] The modifications in the final formula would be ][][][ ]'[]'[]'[TO SCZEXQZEQAE NREXQSCEQYE T (50) where Y i is the number of packets that reach the destination during a TDP period, SC i is the number of packets received by the receiver during Z i SC (the duration of a sequence of consecutive schedulers intervals that do not contain any loss detection, Figure 5), and NR i is the number of pa ckets that reach the destination during Z i TO (the duration of a sequence of timeouts, Figure 8). The derivation of E[Y] can be followed from Figure 4. In a TDP period, the first packet that is lost is i Thus, the first i 1 packets reach the destination. As it is supposed that if one packet is lost in a round all the following packets in that round are also lost, the packets that follow i in the penultimate round will not reach the destination. Some of the packets in the last round can also be lost, but for simplicity it will be assumed that they are not. As a consequence, E[Y] can be expressed as 1][][]'[ EEYE (51) From Equations (5), (10), (27) and (51) it follows that 2 ][ 128 192 16723 ]'[2 2 2WE RTT RTT RTT YE (52) Since during Z i SC there are no losses, the num ber of packets that reach the destination is equal to the number of pa ckets that are sent during that period. 47 PAGE 55 )1(4 )1(2 ][ )1(2 ][]'[ QRTT QRTT WE QRTT SCESCE (53) NR i represents the number of packets t hat reach the destination during a sequence of timeouts. During such a perio d, only the last packet will be actually received by the receiver, thus 1]'[ NRE (54) By combining the Equations (20), (36) (44), (49), (52), (53), and (54) the following formula is obtained: p pppppp QXT Q Q QX QRTT QRTT WE QRTT QWE RTT RTT RTT T 1 32168421 )1(22 )1(4 )1(2 ][ )1(22 ][ 128 192 167236 5 432 0 2 2 2 where ][ 3 ,1min WE Q 1 )1(2 ][ 3 ,1min QRTT WE X and )3(32 192 19939 ][2 2RTT RTT RTT RTT WE Figures 17, 18, and 19 illustrate com parisons between the throughput of SFSACK and of TCP Reno. As expected, SFSACK achieves a better throughput. It is to be noted that as the connection length increases, the performance of SFSACK approaches the one of TCP, maintaining, though, the realization of a better throughput. 48 PAGE 56 Figure 17. Comparison between the throughput of SFSACK and TCP Reno, RTT = 0.016 sec, T 0 = 3*RTT. Figure 18. Comparison between the throughput of SFSACK and TCP Reno, RTT = 0.024 sec, T 0 = 3*RTT. 49 PAGE 57 Figure 19. Comparison between the throughput of SFSACK and TCP Reno, RTT = 0.24 sec, T 0 = 3*RTT. 50 PAGE 58 51 Chapter 5 Conclusions and Future Work This thesis presents a model to st udy the send rate and the throughput performance of a SFSACK flow as a function of the loss probability, the roundtrip time (RTT), the timeout interval and the scheduler interval. This work provides insights to modeling more dynam ic TCP versions and protocols. The model was built progressively and all the new mechanisms that characterize the SFSACK protocol were incl uded. The model provides theoretical bounds for the performance metrics of the protocol, and also provides means for an optimal choice of the performance metrics of SFSACK. A performance comparison between SFSACK and TCP is provided, utilizing the presented model and models available in the curr ent literature. T he performance results indicate that the SFSACK protocol always achieve a better send rate and larger throughput than TCP Reno, which is expected given the less responsive nature of the decrease strategy of the congestion window. Future research include the empirical validation of the protocol by either computer simulation or experimental m easurements, along with a more complete analysis of the SFSACK protocol, by pr oviding means for a more comprehensive comparison, to a wider choice of TCP versions. PAGE 59 52 References [1] S. Bakthavachalu, SFSACK: A Smooth Friendly TCP Protocol for Streaming Multimedia Applications Master Thesis, Department of Computer Science and Engineering, Coll ege of Engineering, University of South Florida, 2004. [2] L. S. Brakmo, L. L. Peterson, TCP Vegas: End to End Congestion Avoidance on a Global Internet, IEEE Journal on Selected Areas in Communication, volume 13, issue 8, October 1995. [3] N. Cardwell, S. Savage, T. Anderson, Modeling TCP Latency, Infocom 2000. [4] K. Fall and S. Floyd, Simulationbased Comparisons of Tahoe, Reno, and SACK TCP, ACM SIGCOMM Computer Commu nication Review, volume 26, issue 3, July 1996. [5] S. Floyd and K. Fall, Promoting t he Use of EndtoEnd Congestion Control in the Internet, IEEE/ACM Transactions on Networki ng, volume 7, issue 4, August 1999. [6] G. Grimmett and D. Stirzaker, P robability and Random Processes, Oxford University Press, 2001. [7] M. Hassan and R. Jan, High Performance TCP/IP Networking, Prentice Hall, 2004. [8] V. Jacobson, Congestion Avoidance and Control, ACM SIGCOMM Computer Communication Review Symposium proceedings on Communications architectures and prot ocols SIGCOMM 88, volume 18, issue 4, August 1988. [9] V. Jacobson, Modified TCP Congestion Control and Avoidance Algorithms, end2endinterest mailing list, April 1990. PAGE 60 53 [10] A. Kumar, Comparative Performanc e Analysis of Versions of TCP in a Local Network with a Lossy Link, IEEE/ACM Transactions on Networking, volume 6, issue 4, August 1998. [11] J. Padhye, V. Firoiu D. F. Towsley, and J. F. Kurose, Modeling TCP Reno Performance: A Simple Model and Its Empirical Validation, IEEE/ACM Transactions on Networking, volume 8, issue 2, April 2000. [12] S. M. Ross, Applied Probability M odels with Optimization Applications, HoldenDay 1970. [13] S. M. Ross, Introduction to Probability Models, Academic Press, 1989. [14] C. Samios and M. K. Vernon, M odeling the Throughput of TCP Vegas, ACM SIGMETRICS Performance Evaluat ion Review, Proceedings of the 2003 ACM SIGMETRICS international conference on measurement and modeling of computer system s, volume 1, issue 1, June 2003. [15] B. Sikdar, S. Kalyan araman, and K. S. Vastola, Analytic Models for the Latency and SteadyState Throughput of TCP Tahoe, Reno, and SACK, IEEE/ACM Transactions on Networ king, volume 11, issue 6, December 2003. [16] I. Yeom and A. L. Narasimha Reddy, Modeling TCP Behavior in a Differentiated Services Network, IEEE/ACM Transactions on Networking, volume 9, issue 1, February 2001. xml version 1.0 encoding UTF8 standalone no record xmlns http:www.loc.govMARC21slim xmlns:xsi http:www.w3.org2001XMLSchemainstance xsi:schemaLocation http:www.loc.govstandardsmarcxmlschemaMARC21slim.xsd leader nam Ka controlfield tag 001 001794016 003 fts 005 20070627111243.0 006 med 007 cr mnuuuuuu 008 070627s2006 flu sbm 000 0 eng d datafield ind1 8 ind2 024 subfield code a E14SFE0001535 040 FHM c FHM 035 (OCoLC)145734209 049 FHMM 090 QA76 (ONLINE) 1 100 Voicu, Laura M. 0 245 Modeling the throughput performance of the SFSACK protocol h [electronic resource] / by Laura M. Voicu. 260 [Tampa, Fla] : b University of South Florida, 2006. 3 520 ABSTRACT: Besides the two classical techniques used to evaluate the performance of a protocol, computer simulation and experimental measurements, mathematical modeling has been used to study the performance of the TCP protocol. This technique gives an elegant way to gain insights when studying the behavior of a protocol, while providing useful information about its performance.This thesis presents an analytical model for the SFSACK protocol, a TCP SACK based protocol conceived to be appropriate for data and streaming applications. SFSack modifies the multiplicative part of the Additive Increase Multiplicative Decrease of TCP to provide good performance for data and streaming applications, while avoiding the TCPfriendliness problem of the Internet. The modeling of the SFSACK protocol raises new challenges compared to the classical TCP modeling in two ways: first, the model needs to be adapted to a more complex dynamism of the congestion window, and second, the model needs to inc orporate the scheduler that SFSACK makes use of in order to maintain a periodically updated value of the congestion window. Presented here is a model that is progressively built in order to consider these challenges. The first step is to consider only losses detected by tripleduplicate acknowledgments, with the restriction that one such loss happens each scheduler interval. The second step is to consider losses detected via tripleduplicate acknowledgments, while eliminating the above restriction. Finally, the third step is to include losses detected via timeouts. The result is an analytical characterization of the steadystate send rate and throughput of a SFSACK flow as a function of the loss probability, the roundtrip time (RTT), the timeout interval, and the scheduler interval. The send rate and the throughput of SFSACK were compared against available results for TCP Reno. The obtained graphs showed that SFSACK presents a better performance than TCP. The analytical model of ^the SFSACK follows the trends of the results that are presently available, using both the ns2 simulator and experimental measurements. 502 Thesis (M.A.)University of South Florida, 2006. 504 Includes bibliographical references. 516 Text (Electronic thesis) in PDF format. 538 System requirements: World Wide Web browser and PDF reader. Mode of access: World Wide Web. 500 Title from PDF of title page. Document formatted into pages; contains 53 pages. 590 Adviser: Miguel A. Labrador, Ph.D. 653 Performance evaluation. TCP modeling. Congestion windowbased protocols. Send rate. Markov regenerative processes. 690 Dissertations, Academic z USF x Computer Science Masters. 773 t USF Electronic Theses and Dissertations. 4 856 u http://digital.lib.usf.edu/?e14.1535 