Modeling TCP SACK performance over wireless channels with semi-reliable ARQ/FEC

Size: px
Start display at page:

Download "Modeling TCP SACK performance over wireless channels with semi-reliable ARQ/FEC"

Transcription

1 Wireless Netw () 6: DOI.7/s Modeling TCP SACK performance over wireless channels with semi-reliable ARQ/FEC Dmitri Moltchanov Roman Dunaytsev Published online: December 9 Ó Springer Science+Business Media, LLC 9 Abstract Providing reliable data communications over wireless channels is a challenging task because timevarying wireless channel characteristics often lead to bit errors. These errors result in loss of IP packets and, consequently, TCP segments encapsulated into these packets. Since TCP cannot distinguish packet losses due to bit corruption from those due to network congestion, any packet loss caused by wireless channel impairments leads to unnecessary execution of the TCP congestion control algorithms and, hence, sub-optimal performance. Automatic Repeat request (ARQ) and Forward Error Correction (FEC) try to improve communication reliability and reduce packet losses by detecting and recovering corrupted bits. Most analytical models that studied the effect of ARQ and FEC on TCP performance assumed that the ARQ scheme is perfectly persistent (i.e., completely reliable), thus a frame is always successfully transmitted irrespective of the number of transmission attempts it takes. In this paper, we develop an analytical cross-layer model for a TCP connection running over a wireless channel with a semireliable ARQ scheme, where the amount of transmission attempts is limited by some number. The model allows to evaluate the joint effect of stochastic properties of the wireless channel characteristics and various implementation-specific parameters on TCP performance, which makes it suitable for performance optimization studies. The input parameters include the bit error rate, the value of the normalized autocorrelation function of bit error D. Moltchanov R. Dunaytsev (&) Department of Communications Engineering, Tampere University of Technology, Tampere, Finland dunaytse@cs.tut.fi D. Moltchanov moltchan@cs.tut.fi observations at lag, the strength of the FEC code, the persistency of ARQ, the size of protocol data units at different layers, the raw data rate of the wireless channel, and the bottleneck link buffer size. Keywords Introduction TCP Wireless ARQ FEC Most Internet applications and services, such as the WWW, peer-to-peer file sharing, , instant messaging, and FTP, require guaranteed complete and error-free endto-end data delivery. Since these applications and services are predominant in the Internet [], error control has become an important issue both in wired and wireless networks. Being inherently prone to transmission errors, wireless networks take advantage of different error control techniques including Automatic Repeat request (ARQ), Forward Error Correction (FEC), or their combination (hybrid ARQ/FEC). In ARQ, the receiver uses an error-detecting code to detect if a received frame is in error or not. If the received frame is error-free, the sender is notified by sending a positive acknowledgment. If an error is detected, the receiver drops the received frame and notifies the sender via the feedback channel by sending a negative acknowledgment (NAK) or by the lack of a positive acknowledgment. In response to the NAK or if the sender does not receive the positive acknowledgment before the timeout, the sender retransmits the corresponding frame. In contrast to ARQ, FEC uses certain codes that are designed to be self-correcting for errors introduced in transmission. That is, FEC adds redundant information to the transmitted data to recover them in case they are received in error. As a result, the receiver can detect and correct errors (but only

2 838 Wireless Netw () 6: within certain limits) without requiring a retransmission. However, both ARQ and FEC have their own drawbacks. In particular, the drawback of FEC is that it constantly consumes some extra bandwidth to transmit the redundant information. On the other hand, ARQ consumes extra bandwidth only when frames are retransmitted but introduces variable delay (jitter) due to these retransmissions. The shortcomings of these error control techniques could be overcome if they are used in combination (also known as hybrid ARQ/FEC). The maximum number of transmission attempts is an important configurable parameter of an ARQ scheme that affects performance of data transmission over wireless channels []. Setting this parameter to infinity assures completely reliable operation at the expense of increased delay and jitter. In practice, the number of transmission attempts is usually limited allowing some frames to be lost. In this case, the service provided by the data link layer is considered to be semi-reliable. Lost frames result in loss of the corresponding IP packets and, therefore, TCP segments encapsulated into these packets. Since TCP cannot distinguish packet losses caused by bit corruption from those caused by network congestion, loss of frames at the data link layer implies unnecessary invocation of the TCP congestion control procedures with dramatic reduction in the sending rate. In this paper, we propose an analytical cross-layer model for data transmission over a wireless channel that explicitly takes into account the effect of a semi-reliable data link layer. Data loss is allowed to occur due to both buffer overflow at the IP layer and an excessive number of transmission attempts at the data link layer. The performance metric of interest is the long-term steady-state throughput of a TCP SACK connection running over a wireless channel. Among other conclusions, we show that the number of transmission attempts allowed for a frame is a very important parameter that may contribute a lot to end-to-end performance degradation. We also demonstrate that the effect of this parameter is different for different characteristics of the bit error process and the FEC code in use. The rest of the paper is organized as follows. Section reviews previous work on ARQ and TCP modeling. The system model and the assumptions we made are described in Sect. 3. The proposed model is introduced in Sects. 4 and 5. Numerical analysis is presented in Sect. 6. Finally, Sect. 7 concludes the paper. Related work The basic cause of the degradation of TCP performance in wireless and wired-cum-wireless networks is that TCP does not distinguish between packet losses caused by network congestion and those induced by incorrect reception of channel symbols [3]. In fact, the latter case does not imply that the given path cannot support the current rate at which packets are injected into the network. Nevertheless, in both cases packet losses trigger the congestion control algorithms and TCP reduces its sending rate in an attempt to alleviate the congestion. Since TCP controls the vast majority of bytes and packets traversed over the Internet [4], predicting TCP behavior in various environments and optimizing its performance is extremely important for satisfying user needs and providing quality of service. Two basic trends exist to improve TCP performance over wireless channels (e.g., see [5] and references therein). The first approach is to make TCP aware of non-congestion losses in such a way that it would be able to differentiate between packet losses caused by incorrect reception of channel symbols at the air interface and packet losses due to network congestion along the path of the TCP flow. In other words, the goal is to decouple congestion control and loss recovery in TCP, thus the TCP sender can then avoid invoking the congestion control procedures when noncongestion losses occur. The second approach is to hide non-congestion losses from TCP and recover them locally. Techniques that use this approach, such as ARQ and FEC, attempt to decrease the packet loss rate seen by TCP, avoiding unnecessary execution of the TCP congestion control algorithms and subsequent reduction in the sending rate. As long as it allows TCP to operate efficiently over wireless channels without any modification to the TCP/IP protocol stack and without requiring proxies between sender and receiver, the latter approach is now widely adopted. Performance of data transmission over wireless channels with ARQ and FEC has been the subject of many studies in the past two decades. Go-Back-N ARQ with reliable and unreliable feedback was studied in [6, 7], respectively. In [8], the authors extended their results to the case of delayconstrained communications. In [9], the authors considered autocorrelation properties of the received signal strength and demonstrated that they may significantly affect performance at the upper layers. It was also shown that a strong memory of the frame error process results in better performance at the data link and upper layers compared to more noisy channels []. In [], to study delay performance of the data link layer with Selective Repeat (SR) ARQ, a fluid-flow model was adopted. In [], this approach was extended to the case of hybrid ARQ/FEC. In those studies, both traffic and error processes were assumed to be autocorrelated. An interesting approach was taken in [3]. The authors proposed an accurate Markov model for performance evaluation of hybrid ARQ/FEC. The solution involves steady-state probabilities of a three-dimensional

3 Wireless Netw () 6: Markov chain. Due to a rather limited application area of such processes, there are no efficient algorithms to compute these probabilities. Finally, in [4], to model a frame transmission process at the data link layer, the authors used a FIFO D-BMAP/PH/ queue, where the D-BMAP represents frame arrivals. To capture the effect of ARQ, the authors assumed that the frame service is distributed according to the phase-type (PH) distribution and a frame is always transmitted irrespective of the amount of time it takes. However, since ARQ schemes usually limit the number of transmission attempts [], a D-BMAP/PH/ queue is only appropriate when the wireless channel conditions are relatively good or the data link layer is completely reliable. Finally, the assumption of an infinite number of waiting positions is not realistic. Note that none of the above-mentioned studies considered the effect of the limited number of transmission attempts allowed for a frame at the data link layer. Additionally, the majority of those studies were limited to real-time applications that require strict performance guarantees in terms of the endto-end packet delay and loss rate. However, the performance of non-real-time applications that use TCP at the transport layer is equally important for satisfying customer needs. With the massive deployment of wireless networks, performance modeling of TCP in wireless environments has received a lot of attention in the literature. According to the used approach, all analytical models proposed so far can be split into two separate types. In the first type of models, wireless channel behavior is directly modeled at the IP layer and then a TCP performance model is applied to obtain the throughput of a TCP connection running over the wireless channel. For instance, this approach was used by Zorzi and Rao to show that TCP Tahoe performs better in the presence of correlated errors []. However, taking this way we abstract away from the details of ARQ and FEC operation that are implemented at the lower layers of the protocol stack. As a result, evaluating TCP performance under different settings of these error control techniques becomes time consuming as it requires extensive measurements in order to parameterize the model. The other way to estimate the performance of a TCP connection running over a wireless channel is to use the so-called cross-layer modeling. In this type of models, TCP performance is derived as a function of statistical characteristics of the wireless channel together with primary network characteristics like the raw data rate of the bottleneck link and the bottleneck link buffer size. Recently, a big effort has been done to model TCP performance as a function of the wireless channel characteristics, the amount of FEC, the ARQ persistency, etc. In [5], the authors studied the combined effect of FEC, SR ARQ, and power management on TCP throughput. It was shown that increasing the transmission power, the FEC redundancy, and the number of transmission attempts allowed for the ARQ scheme always improves TCP performance by reducing the number of non-congestion losses. The performance of TCP over a wireless channel implementing hybrid SR ARQ/FEC and shared by a number of long-lived TCP flows was considered in [6]. Using the Bernoulli loss model to model non-congestion losses induced by wireless channel impairments, the authors provided results for different physical characteristics of the wireless channel and for different traffic loads. It was shown that the throughput of the wireless channel is an increasing function of the persistency of ARQ. In [7], the authors analyzed TCP throughput over a wireless channel with a NAK-based SR ARQ scheme in the presence of correlated errors at the physical layer. They observed that the TCP throughput mainly depends on the throughput limit of the wireless data link layer, the residual packet loss rate after data link layer retransmissions, and the correlation degree of residual losses. An analytical model, capturing the joint effect of SR ARQ and FEC on TCP performance over a correlated Rayleigh wireless channel, was presented in [8]. One of the main advantages of this model is that it uses wireless channel related characteristics (the signal to noise ratio and the Doppler shift) to parameterize the service process of the wireless channel, while the other models [5 7] require the frame error rate to be given. In this paper, we also take the cross-layer modeling approach. We derive the long-term steady-state throughput of a TCP SACK connection running over a wireless channel as a function of the bit error rate (BER), the value of the normalized autocorrelation function of bit error observations at lag (lag- NACF), the strength of the FEC code, the persistency of ARQ, the size of protocol data units at different layers, the raw data rate of the wireless channel, and the bottleneck link buffer size. The novelty of the proposed model is two-fold. Firstly, the model allows to evaluate the joint effect of stochastic properties of the wireless channel characteristics and various implementation-specific parameters on TCP performance over both correlated and uncorrelated wireless channels. Secondly, the model explicitly takes into account packet losses due to both buffer overflow at the IP layer and an excessive number of transmission attempts at the data link layer, as well as a high correlation between the TCP window size and the round-trip time (RTT). 3 System model and assumptions The system of interest is shown in Fig.. We consider a TCP connection between a server host (the sender) in a wired domain and a client host (the receiver) connected via

4 84 Wireless Netw () 6: Sender Receiver App. App. TCP IP Intermediate system IP TCP IP DL DL DL DL PHY PHY PHY PHY wired network modem wireless modem channel Sender Intermediate system Fig. System model packet losses IP packets carrying TCP ACKs IP packets carrying data traffic Receiver a wireless last-hop link. Taking into account that backbone networks are highly overprovisioned [9], we assume that there is only one bottleneck in the system: the wireless channel. Since such scenario is common in today s networks (e.g., Internet access over mobile networks), we do not refer to a particular wireless technology. According to [], the current status is that nearly all TCP implementations support the Selective Acknowledgement (SACK) option, so we assume that the sender and the receiver are both SACK-capable and use the SACK option under all permitted circumstances. We consider a greedy application process which always has data to send, thus the sender always sends full-sized TCP segments (i.e., containing MSS bits of application layer data) whenever the congestion window cwnd allows. It is assumed that the TCP receive buffer is sufficiently large, so the actual sending rate of the TCP connection is not limited by the receive window size. We also assume that the time needed to send a window of segments is smaller than the total RTT. These assumptions are justified for modern highperformance computers. As long as we are focusing on the performance of a single TCP connection running over a wireless channel, we do not consider the effect of competing traffic and assume that application layer data are transmitted in one direction only: from the sender to the receiver (see Fig. ). Let the round-trip delay of the wired network be s seconds, the raw data rate of the wireless channel be l bits per second, and the buffer size of the intermediate system be B full-sized IP packets. Data packets are buffered at the IP layer of the intermediate system and transmitted one after another to the data link layer. The number of ARQ transmission attempts (including the original transmission and subsequent retransmissions) is limited to r. When a certain frame cannot be successfully delivered in r attempts, the ARQ sender drops this frame and the corresponding IP packet. The channel is then made free for another packet that is queued at the IP layer. The queue management algorithm is assumed to be FIFO Drop-Tail, so any packet arriving when the buffer is full will be lost. Thus, we distinguish between packet losses occurring due to an excessive number of transmission attempts at the data link layer and those resulting from buffer overflow at the IP layer. We denote the former ones as non-congestion losses and the latter as congestion losses. However, we do not model packet losses in the direction from the receiver to the sender and assume that TCP acknowledgements (ACKs) are always delivered to the sender. We believe that the impact of this omission is quite small because the cumulative nature of TCP ACKs ensures that the most recent ACK can acknowledge all previously received data. The size of IP packets and frames is assumed to be constant. This assumption is not restrictive as long as only a single TCP bulk data flow is assumed to be active at a time. Moreover, frames are usually of fixed-size. Between the IP and data link layers IP packets are segmented to a number of frames. Then FEC block coding is applied and the frames start to be transmitted. A data block composed of both data and FEC redundancy bits is called a codeword. In this paper, we assume that the terms frame and codeword refer to the same entity and each frame consists of exactly one codeword. Additionally, we assume that only one bit is transmitted using a single channel symbol and use the terms channel symbol and bit interchangeably. Since extensions of the model to multiple codewords within a frame and multiple bits carried by a single channel symbol are straightforward, these assumptions are not fundamental and can be relaxed when needed. The process of encapsulation and segmentation of protocol data units is shown in Fig.. We assume that the ARQ receiver immediately sends back a feedback frame (carrying either a positive or a negative acknowledgement) for every incoming data frame it gets. This assumption allows to use a single model to capture different variants of ARQ, including the Stop- Transport layer TCP segment Internet layer IP packet Data link layer Segmented IP packet Frames (FEC codewords) m bits Header Header Fig. Encapsulation and segmentation MSS bits Application layer data MTU bits 3... v 3... v FEC redundancy bits

5 Wireless Netw () 6: Table Main notations used in the paper Symbol Meaning E[W E ] K E () MTU MSS m v l r B l s E[d] C p L p C b RTT RTO RTO min x Bit error rate Normalized autocorrelation function of bit error observations at lag IP maximum packet size (bits) TCP maximum segment size (bits) Frame size (bits) Number of frames per IP packet of MTU bits in size Number of errors per frame that can be corrected by the FEC scheme Number of transmission attempts per frame Bottleneck link buffer size in IP packets of MTU bits in size Data rate of the wireless channel (bits/s) Round-trip delay of the wired network (s) Expected amount of time the wireless channel is seized by transmitting an IP packet of MTU bits in size regardless of its eventual fate (s) Average end-to-end path capacity in IP packets of MTU bits in size Packet loss rate due to an excessive number of transmission attempts made at the data link layer Packet loss rate due to buffer overflow at the IP layer Number of segments acknowledged by one ACK Mean value of the total round-trip time (s) Expected duration of the retransmission timer (s) Minimum value of the retransmission timer (s) By how much does RTO exceed RTT and-wait, Go-Back-N, and SR modes [7, ]. Finally, we assume that the wireless channel in the reverse direction is completely reliable and that feedback frames are delivered instantaneously over the wireless channel. Indeed, feedback frames are usually small in size and well protected by a FEC code. Moreover, these assumptions were used in many studies and found to be appropriate for wireless links with a short propagation time [, ]. Table summarizes the main notations used throughout this paper. 4 Service process of the wireless channel 4. Bit error process In this paper, we assume that the channel coherence time is greater than the time required to transmit a single bit and less than the frame transmission time. As a result, the outcome of successive bits transmissions can be correlated. We model the bit error process using a discrete-time Markov modulated process. Let us denote the bit error process by {W E (l), l =,, }. When a discrete-time Markov modulated process is allowed to have two states only and at most a single arrival is allowed in a slot, it reduces to a switched Bernoulli process (SBP). To fully parameterize a covariance-stationary binary process, only the mean and the value of the normalized autocorrelation function of bit error observations at lag have to be captured. In our previous work [3], we have demonstrated that there is a SBP model exactly matching the mean and the lag- NACF of covariance-stationary bit error observations. This model is given by ( a E ¼ ð K E ðþþew ½ E Š; b E ¼ ð K E ðþþð EW ½ E ŠÞ; ( f ;E ðþ ¼ ; f ;E ðþ ¼ ; ðþ where a E and b E are transition probabilities from state to state and from state to state, respectively; K E () is the lag- NACF of bit error observations; E[W E ] is the mean of bit error observations (also referred to as the BER); f,e () and f,e () are probabilities of error in states and, respectively. Details of the algorithm are outlined in [3]. The proposed model captures first- and second-order statistical characteristics in terms of the BER and the lag- NACF. Note that extension to the case of a general finite-state Markov chain [4] is straightforward. If the wireless channel conditions exhibit piecewise covariancestationary behavior as was reported in a number of recent studies, this model was demonstrated to represent well statistical characteristics of covariance-stationary parts [5, 6]. In this case, expressions can be interpreted as a model for a limited, perhaps, long period of time during which first- and second-order bit error statistics remain time-invariant. 4. Frame error process Let the frame length is constant and equals to m bits (see Fig. ). Consider the stochastic process {W N (n), n =,, }, W N (n) [ {,,, m}, n = lm, describing the number of incorrectly received bits in consecutive bit patterns of length m. This process is doubly stochastic, modulated by the underlying Markov chain {S N (n), n =,, } and can be completely parameterized via parameters of the bit error process {W E (l), l =,, } as shown below. Denote the probability of transition from state i to state j for the Markov chain {S N (n), n =,, } with exactly k, k =,,, m, incorrectly received bits in a bit pattern of length m by d N,ij (k, m). Let the set of matrices D N (k, m), k =,,, m, contains these transition probabilities. Obviously, D N (i, )= D E (i). Since at most i errors may

6 84 Wireless Netw () 6: occur in i consecutive slots, we have the following expressions for D N (i, m), i =,, m: D N ði; Þ ¼ Xi k¼ D N ði; 3Þ ¼ Xi... k¼ D N ði; mþ ¼ Xi k¼ D N ðk; ÞD E ði kþ; i ¼ ; ; ; D N ðk; ÞD E ði kþ; i ¼ ; ; ; 3; D N ðk; m ÞD E ði kþ; i ¼ ; ;...; m; ðþ where D E (k), k C, and D N (i, m), i C m?, are all zero matrices.taking this into account, we have: where l is the number of errors that can be corrected by the FEC code. Expressions 4 have the following interpretation: if the number of incorrectly received bits in a frame is greater than that can be corrected by the FEC code (k [ l), the frame is incorrectly received and W F (n) =. Otherwise (k B l), it is correctly received and W F (n) =. 4.3 Notes on the cross-layer modeling We note that the proposed model limits the memory of the bit error process at lag m, where m is the frame length in bits. In practice, m is sufficiently large allowing to accurately capture the memory of the bit error process. If a NACF of a bit error process decays according to a single D N ði; kþ ¼ D Nði; k ÞD N ð; Þ; i ¼ ; D N ði; k ÞD N ð; ÞþD N ði ; k ÞD N ð; Þ; i 6¼ : ð3þ Consider now the frame error process {W F (n), n =,, }, W F (n) [ {, }, where indicates correct reception of a frame and indicates incorrect reception of a frame. Let us denote the transition probability from state i to state j for the Markov chain {S F (n), n =,, } with exactly k, k =,, incorrectly received frames by d F,ij = (k). These probabilities are then combined in the matrices D F () and D F (). The process {W N (n), n =,, }, W N (n) [ {,,, m}, n = lm, describing the number of errors in consecutive frames, is related to the frame error process {W F (n), n =,, }, W F (n) [ {, }, as follows: D F ðþ ¼ Pl D N ðk; mþ; D F ðþ ¼ Pm D N ðk; mþ; ð4þ k¼ k¼lþ geometrical term, the threshold m min, at which the frame error model becomes valid, can be computed using Fig. 3a, where the function y(i) = k i is plotted. One can see that even for a highly autocorrelated bit error process the autocorrelation becomes negligible for lags[. Typically, the length of a codeword is significantly larger. We have tested residual autocorrelation properties of the process describing the number of incorrectly received bits in successive frames. In our experiments, the frame size was set to 55 bits, the mean of the bit error process was kept constant, while the lag- NACF varied from. to.9. The obtained NACFs are shown in Fig. 3b, where the confidence limits of the NACF estimation are also demonstrated. As one may observe, all NACFs are within their confidence limits meaning that all processes are Fig. 3 Memory of the bit error process. a Functional dependencies in the form of y(i) = k i, i =,,. b Empirical NACFs of the frame error processes for different k; m = 55 bits y(i) lambda =. lambda =.3 lambda =.6 lambda =.9 Ke(i).5 Upper control limit lambda =. lambda =.3 lambda =.6 lambda =.9 Lower control limit. 5 5 i, lag (a) i, lag (b)

7 Wireless Netw () 6: uncorrelated irrespective of the degree of autocorrelation in the bit error processes. The confidence limits were computed according to the so-called rule of thumb p ffiffiffiffi N, where N is the overall number of observations used to compute the NACF. Thus, the memory of the covariancestationary bit error process has been destroyed by the segmentation between the IP and physical layers. This allows us to conclude that the frame error process is uncorrelated and can be completely described by a single parameter, the frame error probability f(), which can be obtained using D F (): f ðþ ¼ p~ F D F ðþe~; f ðþ ¼ f ðþ; ð5þ where p~ F is the stationary distribution of {W N (n), n =,, }; e~ is a vector of ones of appropriate size. It is important to note that we can still use the matrix notation in what follows instead of the scalar one introduced in Eq. 5. This is required when the memory of the wireless channel is exceptionally strong. Such behavior can be caused by slow fading phenomena, i.e., when the channel coherence time is larger than the frame transmission time. However, in this case a simpler model can be used to represent the bit error process and this also simplifies extension of the model to the data link layer presented in this section. 4.4 Packet service process Consider now the frame service process at the data link layer. We assume that each transmission attempt for a single frame requires exactly a unit time (i.e., a time slot). However, these transmission attempts can be either successful or unsuccessful. Let the packet length is constant and equals to MTU bits, the number of frames to which an IP packet is segmented be v (see Fig. ), and the number of transmission attempts that can be made for a single frame is limited to r. We assume that whenever r successive times a frame fails to be successfully transmitted, the whole IP packet is dropped irrespective of the number of frames that have already been correctly received. Let D be a random variable describing the number of time slots during which an IP packet is transmitted over the wireless channel and let d(k), k = min (r, v), min (r, v)?,, rv, be its probability function (PF). Note that we define the amount of time irrespective of whether a given packet is successfully transmitted or not. Indeed, in both case we seize the wireless channel for a random number of time slots. Thus, the number of time slots during which an IP packet is transmitted over the wireless channel is either the amount of time to successfully transmit the packet or the time till the packet is dropped due to an excessive number of transmission attempts made for one of its frames. The minimum number of time slots is min (r, v), while the maximum number of time slots is bounded by rv (i.e., every frame out of the total v requires exactly r attempts to be successfully transmitted). Let A be the event of successful frame transmission and I A be its indicator, i.e., I A = when the frame is successfully transmitted and I A = otherwise. We obtain the packet transmission delay using dk ðþ¼ck ðþþbk ðþ; ð6þ where c(k) = Pr {D = k, I A = } is the probability of delay on k time slots induced by successful packet transmission; b(k) = Pr {D = k, I A = } is the probability of delay on k time slots induced by unsuccessful packet transmission. Applying the Bayes rule, we may express c(k) and b(k) in terms of conditional probabilities: ck ðþ¼prfd ¼ k; I A ¼ g¼ PrfD ¼ kji A ¼ gprfi A ¼ g; bk ðþ¼prfd ¼ k; I A ¼ g¼ PrfD ¼ kji A ¼ gprfi A ¼ g: ð7þ Let f L be the probability that a frame is lost due to an excessive number of transmission attempts. We find f L using the frame error probability f() as follows: f L ¼ X i¼rþ ðf ðþþ i f ðþ ¼ Xr i¼ ðf ðþþ i f ðþ: ð8þ Let p L,i, i =,, v, be the probability that the whole IP packet is dropped due to an excessive number of transmission attempts made for the ith frame in the sequence of v frames. Since successive frame transmission times are independent, p L,i, i =,, v, can be found using f L as follows: p L;i ¼ ð f L Þ i f L : ð9þ Using Eq. 8, we get the packet loss probability due to an excessive number of transmission attempts made for one of its frames as p L ¼ PrfI A ¼ g ¼ ð f L Þ v : ðþ Let U, U [ {,,, r}, be a random variable describing the number of transmission attempts required to transmit a single frame given that it is successfully transmitted and let g(, k) be its PF, that is g(, k) = Pr {U = i I A = }. Since probabilities of incorrect frame transmission in successive time slots are independent from each other, the amount of time required to successfully transmit a frame is given by gð; kþ ¼ ðf ðþþk f ðþ P r ; k ¼ ; ;...; r: ðþ ðf ðþþ i f ðþ i¼ In what follows, we determine the delays caused by both successful and unsuccessful packet transmission recursively

8 844 Wireless Netw () 6: assuming that a packet consists of i, i =,,, v, frames. The delay for a given number of frames is then obtained when i = v. Let us also extend the definition of the random variable U as follows. Let U i, i =,,, v, U i [ {min (r, i), min (r, i)?,, ri}, be the set of random variables describing the delay of a single packet on k time slots given that it consists of exactly i frames and all of them have been successfully transmitted and let g(i, k) be its PF. The first PF in the sequence, g(, k), has already been found in Eq.. We get g(, k) using convolution of two PFs g(, k) as follows: gð; kþ ¼ Xk j¼ gð; kþgð; k jþ; k ¼ minðr; Þ; minðr; Þþ;...; r: ðþ Extending Eq. to the case of i = 3, 4,, v, we get: gi; ð kþ ¼ Pk gi ð ; kþgð; k jþ; j¼ k ¼ minðr; iþ; minðr; iþþ;...; ri; ð3þ where g(i, k) =, i = 3, 4,, v, k [ ri, by definition. The maximum delay in Eq. 3 is limited to ri time slots. We note that Eqs. and 3 can also be computed analytically in terms of the probability generating function (PGF). The PGF of g(i, k) can further be inverted to get its PF. Observing Eq., it is easy to notice that g(, k) can be P r rewritten as Gg(p), where G ¼ i¼ ðf ðþþ i f ðþ is a constant, g(p) is a geometric distribution with p = f(). Using linearity of generating functions, the PGF of g(v, k) can be easily inverted to the random variable domain using tabulated transforms. Finally, note that if f() is not close to either zero or one, g(v, k) can also be approximated by the normal distribution for large values of k. To get the delay induced by successful packet transmission, we need g(v, k), k = min (r, v), min (r, v)?,, rv, in Eq. 3. Observe that these probabilities define the PF of a random variable describing the delay of a packet conditioned on the event of its successful transmission, that is Pr {D = k I A = } in Eq. 7 we are looking for. Removing conditioning on successful packet transmission, we get the following: ck ðþ¼gv;k ð Þð p L Þ; k ¼ minðr;vþ;minðr;vþþ;...;rv: ð4þ Let U i, i =,,, v, U i * [ {r? i, r? i?,, ri}, be the set of random variables describing the delay induced by unsuccessful packet transmission given that the ith frame failed to be transmitted due to an excessive number of transmission attempts and let g * (i, k) be its PF. The easiest way to obtain these PFs is to use g(i, k), i =,,, v -, k = min (r, i), min (r, i)?,, ri, already obtained in Eq. 3. Suppose that the ith frame, i =, 3,, v, failed to be transmitted. It implies that all preceding i - frames have been transmitted successfully and the delay induced by them is given by g(i -, k). The only possible number of time slots induced by failed attempts to transmit the ith frame is r. Thus, we have: g ði; kþ ¼ gi ð ; k rþ; k ¼ i þ r; i þ r þ ;...; ir: ð5þ Observe that the PFs g * (i, k) are conditioned on the event of unsuccessful packet transmission, that is Pr {D = k I A = } in Eq. 7 we are looking for. Thus, in order to obtain b(k), k = i? r, i? r?,, ir, we have to remove conditioning on unsuccessful packet transmission due to failed attempts to transmit the ith frame and sum all functions contributing to a particular delay on k time slots. Then, we obtain: bk ðþ¼ Xv i¼ g ði; kþð f L Þ i f L : ð6þ Substituting Eqs. 4 and 6 into Eq. 6, we get the mean number of time slots the wireless channel is seized transmitting an IP packet. Multiplying it by m/l, we obtain the mean delay in seconds: Ed ½ Š ¼ m l X rv k¼minðr;vþ dk ðþk ð7þ Note that the complexity of the numerical solution heavily depends on the value of r as it defines the number of convolutions required to estimate g(i, k), i =,,, v, k = min (i, r), min (i, r)?,, ir, in Eq. 3. Thus, in the case of a persistent ARQ scheme we need to use PGFs to estimate these convolutions. Alternatively, we notice that given a certain frame error probability f(), and a number of time slots k, k [ v, the probability that there will be exactly v successfully transmitted frames in k attempts is given by the binomial distribution. Since in order to complete packet transmission the last frame should always be received correctly, we have: gv; ð kþ ¼ k v! ðf ðþþ v ðf ðþþ k v ; k ¼ v; v þ ;...: ð8þ It is important to note that computation according to Eq. 7 is complicated when the value of f() is close to one and r is large. When v is large enough (as it often holds in practice), the binomial distribution can be fairly well approximated using the normal distribution with the mean vf() and variance vf()f(). In practice, for this approximation to hold both vf() and vf() need to be [5. When f() is sufficiently small, while v is large (e.g.,

9 Wireless Netw () 6: v [ and vf() \ ), the Poisson distribution with k = vf() can also be used to approximate binomial probabilities. 5 TCP model In this section, we consider the evolution of a TCP SACK connection and derive an expression for its long-term steady-state throughput, where the throughput is the average number of TCP segments sent per second regardless of their eventual fate (i.e., whether they are successfully received or not). The developed model is based on the renewal-reward approach introduced in [7, 8]. We suppose that each data packet may be dropped with probability p L due to an excessive number of transmission attempts made for one of its frames at the data link layer or, consequently, successfully delivered to the IP layer with probability ( - p L ). Let p C be the packet loss rate due to buffer overflow at the IP layer in the absence of noncongestion losses. We develop our model in two steps: when non-congestion losses are sufficiently rare and, on average, there is at least one buffer overflow between two consecutive non-congestion losses (p C [ p L ); when non-congestion losses are frequent enough to keep the cwnd below the maximum number of packets that can be accommodated in the network (p C B p L ); in other words, non-congestion losses are frequent enough to prevent the TCP sender from overloading the bottleneck buffer. Note that we do not consider TCP spurious timeouts caused by delay spikes due to wireless channel impairments, which were reported in some empirical studies. As it was demonstrated in [9], TCP spurious timeouts do not occur when wireless channel conditions are covariancestationary and their presence in those measurements should be attributed to non-stationary behavior of wireless channel characteristics, which is, however, out of the scope of this paper and remains for future studies. Moreover, according to the results obtained in [8, 9], the TCP spurious timeout probability is negligibly low even for very severe wireless channel conditions and a perfectly persistent (completely reliable) ARQ scheme in use. To begin with, let us consider steady-state TCP SACK behavior in a wired-cum-wireless network (see Fig. ) in the absence of non-congestion losses. In high-speed and long-distance wired networks, the bit length of links is usually greater than the packet length, so multiple IP packets can be sent back-to-back. Here the bit length of a link stands for the number of bits present on the link at an instance in time when a stream of bits fully occupies this link [3]. The bit length of a link can be found as a product of the data rate of the link (in bits per second) and its propagation delay (in seconds). In terrestrial wireless networks (e.g., mobile networks), the bit length of links is smaller than the length of a typical data packet. Thus, in contrast to the wired network, where IP packets can be sent back-to-back, the wireless channel cannot hold multiple packets at once. Moreover, assuming that the ARQ receiver immediately acknowledges every incoming data frame (either using a positive acknowledgement or a NAK), we get that all frames to which a previous packet was segmented should be successfully transmitted or dropped (due to an excessive number of transmission attempts made for one of the frames) before starting a new transmission. Consequently, at most one IP packet can be in transit on the wireless channel at a time. Since the system bottleneck is solely determined by the wireless channel and at most one packet can be carried on the wireless channel at a time, the average network throughput is equal to MTU/E[d] bits per second, assuming there is always at least one packet waiting for transmission on the wireless channel. Therefore, to fully utilize the wireless channel, we need to ensure that the buffer does not become empty to force the wireless channel to go idle, while the sender does not pause too long to make the buffer go empty. These conditions hold when the buffer size is at least as large as the end-to-end path capacity and all packet losses can be detected within one RTT by the reception of three duplicate ACKs [3]. As it will be shown later, it does not practically limit the generality of our model and really holds in practice. Let the average end-to-end path capacity (the wired network plus the wireless channel) be C full-sized IP packets (i.e., of MTU bits in size). To fully utilize the wireless channel, the buffer at the intermediate system should be sized as B C C, while ensuring that C? B C 3. This is caused by the fact that at least three duplicate ACKs are required to trigger the fast retransmit (if not enough duplicate ACKs arrive from the TCP receiver, the fast retransmit algorithm is never triggered and a timeout will be required to resend the lost segment) [3, 33]. Hence, in case of B C C and C? B C 3, the capacity of the wired network can be found as the bandwidth-delay product (expressed in packets of MTU size), while the capacity of the wireless channel is equal to just one packet: C ¼ MTU MTU Ed ½ Š s þ MTU ¼ s Ed ½ Š þ ; ð9þ where s is the round-trip delay of the wired network; E[d] is from Eq. 7. In order to evaluate the order of magnitude of C, consider the difference in latency between wired and wireless networks (that is, between s and E[d]). As shown in Fig. 4, the one-way latency for a link can be defined as a sum of the propagation delay and the transmission delay. The

10 846 Wireless Netw () 6: first bit last bit Wired link Fig. 4 One-way latency T prop T trans first bit last bit Wireless link T prop T trans propagation delay is the time required for a signal to propagate through the link. The signal propagates at the propagation speed, which depends on the physical medium of the link and is in the range of about, 3, km/s. The propagation delay through the link can be calculated by dividing its length by the propagation speed. The transmission delay is the amount of time it takes to transmit a unit of data, such as a packet, at the data rate of the link. In turn, the transmission delay is equal to the packet size divided by the data rate of the link. In high-speed wired networks, the transmission delay is generally negligible, whereas the propagation delay varies with distance. For instance, the transmission delay for a,5 byte packet at Mbit/s is about ls. For fiber optics, the speed of signal propagation is about /3 of the speed of light in vacuum, which implies about ls of the propagation delay for every km. Typical wired wide area network paths have the propagation delay on the order of tens of milliseconds (e.g., a USA coast-to-coast path has the propagation delay of approximately 5 ms). It should be emphasized that in practice the value of s is larger than just the two-way propagation delay due to the queuing delay component caused by cross-traffic in the wired network. According to the recent measurements [34, 35], round-trip times of the vast majority of TCP connections are below 5 ms. Also note that s will reach its maximum value (up to several hundreds of milliseconds) in case of one or more satellite hops along the path. However, in this paper we do not consider the presence of both satellite links and a terrestrial wireless link on the same path of a given TCP connection and assume that the value of s is mainly determined by the distance between the sender and the intermediate system. The distance in wireless access networks is short enough compared to that in wired wide area networks because the distance does not exceed the cell size. Moreover, radio waves propagate at the speed of light in vacuum. On the other hand, terrestrial wireless networks support much lower data rates than do today s wired networks, whereas the implemented FEC and ARQ schemes can significantly increase the transmission delay since adding FEC bits implies more bits to transmit, while retransmissions of frames received in error cause delayed delivery of correctly received frames. In addition, data rates are inversely proportional to distance: as the data rate increases, the distance that rate can be sustained decreases. Consequently, a terrestrial wireless link introduces a larger transmission delay than most wired networks, but its propagation delay is negligibly small (in the range of a few microseconds). For example, assuming that the FEC code has the code rate of / and neglecting other types of overhead, the transmission delay for a,5 byte packet at Mbit/s is about ms. Suppose the distance between the base station and the mobile terminal is km. Then the propagation delay is approximately 3 ls. As a result of our calculations, we conclude that the values of s and E[d] in Eq. 9 have the same order of magnitude and, hence, the average end-to-end path capacity C is no more than several full-sized packets. In the considered example and the round-trip delay of the wired network of ms (corresponds to the transatlantic two-way propagation delay), C is about ten,5 byte packets or 5 KB. In practice, buffers are significantly overprovisioned in order to prevent packet losses due to buffer overflow [3]. Thus, our assumption that B C C is quite reasonable. The maximum number of IP packets that can be accommodated in the network is approximately equal to C? B, assuming that there are C packets in flight and the buffer at the intermediate system is fully occupied. Since C C and B C C, it implies that C? B C 4. In this case, the connection experiences periodic packet losses: each time the cwnd exceeds the maximum number of packets that can be accommodated in the network, the last packet in the transmitted window is dropped due to buffer overflow at the intermediate system. According to the TCP sliding window algorithm, after the lost segment, C? B - more segments are sent, triggering duplicate ACKs. As long as C? B C 4 and at least three duplicate ACKs are required in order to trigger a fast retransmission without the need to wait for a timeout event, the sender receives enough duplicate ACKs to trigger the SACK-based loss recovery algorithm [33]. Since any lost segment can be recovered within a single RTT by using the SACK-based loss recovery algorithm, we are neglecting the details of the loss recovery phase as having negligible effect on TCP SACK performance. Thus, a congestion avoidance phase starts after a segment loss is detected via three duplicate ACKs. Then the current value of the cwnd is set to approximately (C? B)/ and the congestion avoidance phase begins. The receiver sends one ACK for every bth segment it gets, so the cwnd increases linearly with a slope of /b segments per RTT until cwnd = C? B (see Fig. 5). Factor b depends on the acknowledgement policy of the receiver: as specified in [36], a TCP receiver should use delayed ACKs, sending one ACK for every other received segment (b = ), unless the

11 Wireless Netw () 6: Fig. 5 TCP SACK window evolution in the presence of congestion and non-congestion losses ( C+ B) cwnd Wi W i C+ B ssthresh i n i max ( W i, ) A SS A CA A CA A CA i Z TO delayed ACK timer expires; however, it is also allowed to send one ACK for every received segment (b = ). The next additive increase of the cwnd leads to a new buffer overflow and the current congestion avoidance phase ends. Hence, considering the evolution of the cwnd between (C? B)/ and C? B (see Fig. 5), we get: either via three duplicate ACKs or via expiration of the TCP retransmission timer. As was demonstrated in [37], taking into account the probability of i losses out of a window of w packets, the timeout probability for TCP SACK is bq ðwþ ¼ 8 < ; w\4; P w w p i¼w i i Lð p LÞ w i þ Pw 3 w p i¼ i i Lð p LÞ w i ð p L Þ i : ; w 4: ðþ EA ½ CA Š ¼ b CþB ; EY CA ½ Š ¼ 3b ; pc ¼ CþB EY ½ CA Š ; ðþ where E[A CA ] is the expected duration of a congestion avoidance phase in rounds (a round starts when the sender begins the transmission of a window of segments and ends when it receives the first ACK for one or more of these segments); E[Y CA ] is the expected number of packets sent during this phase; p C is the packet loss rate due to buffer overflow at the IP layer. Let us consider the evolution of a TCP SACK connection as a sequence of cycles, where a cycle is a period between two consecutive non-congestion losses separated by at least one congestion loss (Fig. 5). Note that more than one wireless loss can occur within a single window of data. Let W i- denote the window size at the end of cycle (i - ). After the loss detection, the slow start threshold will be set as ssthresh i = max(w i- /.). For p C [ p L, we can safely assume that the random variable W i-, i =,,, is uniformly distributed from (C? B)/ to C? B. Then EW ½ Š¼ CþB þcþb ¼ 3 CþB ; E½ssthreshŠ¼max E½WŠ ; : ðþ Depending on W i- and the number of losses within a single window of data, the lost segment(s) may be detected As in [8], we approximate: Q ¼ X bq ðwþpr½w ¼ wš bq ðew ½ ŠÞ; ð3þ w¼ where Q is the probability that a wireless loss (or losses) will be detected via expiration of the TCP retransmission timer. The expected durations of phases CA and CA (see Fig. 5) can be found as EA CA C þ B ¼ b EW ½ Š ¼ b C þ B ; 4 EA CA ¼ b E½W Š C þ B ¼ b C þ B ; ð4þ and the expected number of segments sent during these phases can be calculated as EY CA EY CA C þ B ¼ b EW ½ Š EW ½ Š þ b C þ B EW ½ Š ¼ 7b C þ B ; 3 C þ B C þ B ¼ b E½WŠ þ b EW ½ Š C þ B ¼ 5b C þ B : 8 ð5þ When the TCP retransmission timer expires (i.e., after RTO seconds), the cwnd is reduced to one segment and the first

12 848 Wireless Netw () 6: unacknowledged segment is retransmitted. The sender also doubles the timeout value so that it will expire after RTO seconds. This doubling is repeated for each unsuccessful retransmission until the maximum value of 64RTO is reached. After that the timeout value remains constant and equal to 64RTO seconds. According to [8], the expected duration of a timeout sequence can be defined as follows: EZ TO þ p L þ p ¼ RTO L þ 4p3 L þ 8p4 L þ 6p5 L þ 3p6 L ; p L ð6þ where RTO ¼ f RTT. Accounting that each data packet may be dropped with probability p L due to an excessive number of transmission attempts made for one of its frames at the data link layer or successfully delivered to the IP layer with probability ( - p L ), the expected number of packets sent during a cycle can be defined as EY ½ Š ¼ X ð p L Þ k p L k ¼ : ð7þ p k¼ L Then we define the TCP SACK long-term steady-state throughput as ( T ¼ MSS=E½dŠ; p L ¼ ; MSSð=p L Þ ð ÞþQE½Z TO Š ; p ð8þ L [ ; Ed ½ Š =p L where MSS = MTU 4 bytes; E[d] is from Eq. 7; Q is from Eq. 3; E[Z TO ] is from Eq. 6. The number of segments transmitted during the slow start phase can be closely approximated as a geometric series Yi SS ¼ þ c þ...þ c Ni ¼ c N i ð Þ= ðc Þ, where c =? /b [38]. Taking into account that in the slow start phase of the ith cycle the cwnd growths exponentially from to ssthresh i, we get that c Ni ¼ maxðw i =; Þ. Hence the expected duration of the slow start phase and the number of segments sent during this phase can be expressed as EA ½ SS cew ½ Š Š¼max log c ; ; EY ½ SS Š¼max cew ½ Š ðc Þ ; 3 : ð9þ indication (i.e., either via three duplicate ACKs or via expiration of the TCP retransmission timer). Combining Eqs., 3, 5, 7, and 9, we obtain the expected number of buffer overflows within a cycle: En ½Š¼ EY ½ Š QE½YSSŠ EY ½ CA Š EY ½ CA Š EY ½ CA : ð3þ Š The RTT is given by three components: the round-trip delay s of the wired network, the queuing delay at the intermediate system, and the round-trip delay of the wireless channel. As long as the wireless channel is the only bottleneck on the path of the TCP connection (i.e., the wired network has sufficient bandwidth and low enough total load, so it never sustains any queues), the value of s is assumed to be static over time and mainly determined by the geographical spread of the wired network. Thus, to compute the mean value of the RTT, we must determine the mean queuing delay at the intermediate system and the mean round-trip delay of the wireless channel. We begin by deriving an expression for the mean queuing delay E[R]. Since a slow start after a timeout is short compared to the subsequent congestion avoidance phases and, hence, can be safely neglected, the mean queue size during a cycle can be found as E½RŠ ¼ ERCA ½ ŠEn ½ ŠEA ½ CA ŠþER ½ CA ŠEA ½ CA ŠþER ½ CA ŠEA ½ CA Š En ½ ŠEA ½ CA ŠþEA ½ CA ŠþEA ½ CA ; Š ð3þ where E[R CA ], E[R CA ], and E[R CA ] is the expected queue size during congestion avoidance phases CA, CA, and CA, respectively (see Fig. 5). Note that the buffer occupancy tends to be periodic over time, following the saw-tooth TCP SACK window evolution. Figure 6 shows window size and buffer occupancy dynamics obtained using ns- [39]. Then the expected queue size during congestion avoidance phases CA, CA, and CA can be computed as follows: ER ½ CA Š ¼ 3B C 4 ; ER ½ CA Š ¼ ( 7B 9C 6 ; B [ 5C 3 ; ðb CÞ CþB ; B C; 5C 3 ; ER ½ CA Š ¼ 5B 3C 8 : ð3þ As it follows from Fig. 5, the total number of segments sent during the ith cycle can be approximated as Y i = Y i SS? Y i CA? n i Y CA? Y i CA, where the presence of the slow start phase depends on the wireless loss(es) Then the mean queuing delay can be found by multiplying the mean queue size E[R] by the mean wireless delay E[d]. Obviously, E[R] & E[R CA ] for small values of p L.

13 Wireless Netw () 6: Fig. 6 TCP SACK window evolution and buffer occupancy. a B [ C ; b B = C Window/Queue, pkts 4 3 cwnd size queue size Window/Queue, pkts 4 3 cwnd size queue size Time, s (a) Time, s (b) The mean round-trip delay of the wireless channel can be found as a sum of the mean time required to transmit an IP packet over the wireless channel and the amount of time required to get an ACK segment back (the last term depends on whether the delayed ACK algorithm is enabled or disabled). Recall that we neglect the transmission delay in the reverse direction. This is justified, since the size of IP packets carrying TCP ACKs is much smaller compared to the size of IP packets carrying TCP data segments (typically, a 4 byte ACK packet versus a,5 byte data packet). Moreover, we do not take into account the propagation delays in both directions, because, as it was mentioned earlier, these delays are negligibly small compared to the time required to transmit a data packet over the wireless channel. The delayed ACK algorithm specifies how the TCP receiver sends ACKs: whether an ACK is sent for every received segment, or whether an ACK is delayed until either the next segment arrives or the delayed ACK timeout expires (i.e., after T delack seconds). The roundtrip delay of the wireless channel as a function of the delayed ACK algorithm and the inter-packet arrival time is shown in Fig. 7, where T and T are the time intervals required to successfully transmit all frames to which packets and were segmented, respectively. Thus, we approximate the mean round-trip delay of the wireless channel as L ¼ be½dš; Ed ½ ŠT delack; ð33þ Ed ½ ŠþT delack ; Ed ½ Š[ T delack ; where b =, if the receiver immediately acknowledges every TCP segment it gets; or b =, if an ACK is sent for every other segment unless the delayed ACK timer expires. Finally, the mean value of the RTT is obtained as RTT ¼ s þ ER ½ ŠEd ½ ŠþL; ð34þ where E[d] is from Eq. 7; E[R] is from Eq. 3; L is from Eq. 33. Consider now the case when non-congestion losses are frequent enough (p C B p L ) to bind the evolution of the cwnd below the sum of the end-to-end path capacity and the buffer size (see Fig. 8). For small values of p L, the derivation of E[W] and E[A CA ] is similar to [7]: Fig. 7 Round-trip delay of the wireless channel. a b =, T delack = s, b b =,T delack C T, c b =, T delack \ T Intermediate system L Receiver T Intermediate system Receiver T Intermediate system Receiver T ACK L L T T T delack ACK ACK& ACK (a) (b) (c)

14 85 Wireless Netw () 6: Fig. 8 TCP SACK window evolution in the presence of non-congestion losses only ( C+ B) cwnd Wi ssthresh i W i max ( W i, ) Z TO i EW ½ Š ¼ qffiffiffiffiffiffiffi 8 ; EA ½ CA Š ¼ b EW ½ Š : ð35þ 3bp L Neglecting a slow start phase after a timeout, we get the expected queue size during the subsequent CA phase(s) as ER ½ Š ¼ 8 3E½WŠ C ; EW ½ ŠC; >< 4 ðew ½ Š CÞ ; EW ½ EW ½ Š >: ; EW ½ ŠC: Š ðc; CÞ; ð36þ Note that expressions 35 only hold when E[W] C 4 and, hence, p L B /b. In this case, the TCP sender gets enough duplicate ACKs to trigger the SACK-based loss recovery algorithm. However, when p L [ /6b, not enough duplicate ACKs arrive from the TCP receiver and a timeout event is required to detect a lost segment or segments. Thus, on average, every wireless loss will be followed by a timeout. Then Q = and E[R] =. When p L =, we approximate the window size at loss events as E[W] =. Once the mean value of the RTT is obtained, we can calculate the mean duration of the first timeout to substitute into Eq. 6. Most TCP implementations use a coarsegrained retransmission timer, having granularity of 5 ms. Moreover, the current standard [4] requires that whenever a TCP timeout value is computed, if it is less than second then it should be rounded up to s. At the same time, some implementations use fine-grained retransmission timers and do not follow the requirements of [4] by allowing, for example, the minimum limit of ms. Hence, we define the expected duration of the RTO as follows: RTO ¼ max xrtt; RTO min ; ð37þ where x, x [, relates to the granularity of the TCP retransmission timer; RTT is from Eq. 34; RTO min is the minimum value of the RTO. Finally, Fig. 9 summarizes the proposed model including all the input/output parameters. Note that the model has a modular structure, which provides the following advantages. Firstly, following the TCP/IP layering model makes the analytical model tractable. Secondly, modular design allows to easily extend the model by adding implementation- and protocol-specific details. 6 Numerical analysis In this section, we estimate various metrics characterizing TCP SACK performance over wireless channels with semireliable ARQ/FEC. To demonstrate the effect of different FEC codes, we use the following BCH codes: (55,3,8) and (55,87,6), where a triplet (m, n, l) denotes that in a codeword of size m bits and containing n data bits up to l errors can be corrected. The code rate is equal to n/m, so Fig. 9 Proposed model Bit error model Frame error model Packet service model TCP SACK model TCP SACK steady-state throughput lag- NACF BER FEC code parameters MTU size Number of transmission attempts per frame Bottleneck buffer size Data rate of the wireless channel RTT of the wired network Number of segments ACKed by one ACK RTO granularity

15 Wireless Netw () 6: the code rate of the first FEC code is approximately / and the code rate of the second FEC code is about /3. Note that the number of frames per packet can be defined as v = dmtu/ne. Table summarizes the values of v for the given FEC codes and MTU =,5 bytes. The BER of the wireless channel is set to vary between. and.. Note that the latter value corresponds to a very noisy wireless channel. The lag- NACF varies from. (the bit error process has no autocorrelation at lag ) to.95 (a high degree of autocorrelation at lag ). Values of the default system parameters used in the numerical analysis are listed in Table Service process of the wireless channel In the first place, let us consider how the BER and the lag- NACF affect packet transmission over wireless channels with semi-reliable ARQ/FEC. The mean packet transmission delay (including failed and successful transmissions) for the (55,3,8) and (55,87,6) FEC codes is shown in Figs. and, respectively. Note that this metric represents the average amount of time the wireless channel is seized by transmitting an IP packet regardless of whether it is successfully transmitted or not. The packet loss rate due to an excessive number of transmission attempts (p L )is shown in Figs. and 3, correspondingly. As expected, when the BER is small, the FEC code can correct almost all errors in a frame without requiring a retransmission. Thus, nearly all frames to which an IP Table Number of frames per packet (55,3,8) (55,87,6) Frames per packet (v) 9 38 packet was segmented will be successfully transmitted in their first attempts and the packet transmission delay will be approximately v time slots. However, when the BER increases and not all transmission errors in a received frame can be corrected, the erroneous frame is dropped and a new copy is retransmitted, increasing the total number of transmission attempts and, consequently, the packet transmission delay. However, once r successive times any frame fails to be successfully transmitted, the whole IP packet is dropped irrespective of the number of frames that have already been correctly received. Thus, a further increase in the BER results in a less number of transmission attempts per packet, since a frame being dropped due to an excessive number of transmission attempts implies that the ARQ sender will drop all the subsequent frames belonging to that packet even not trying to transmit them. Obviously, when the wireless channel conditions are extremely bad, so the error correcting capability of the FEC code and the persistency of the ARQ scheme do not allow to recover all transmission errors, the packet transmission delay tends to r time slots. In other words, the first frame of every transmitted packet fails to be successfully transmitted in r attempts, which means that every packet will be lost due to an excessive number of transmission attempts and p L =. It is worthwhile to note that for a given range of BER values, the (55,87,6) FEC code combined with the highpersistence ARQ scheme (r = 3) provides completely reliable operation of the data link layer, so p L = (see Fig. 3d). The effect of autocorrelation is more complex. To demonstrates how the lag- autocorrelation of the bit error process affects the performance of the wireless channel, let us consider three different bit error processes assuming that the first process has no autocorrelation at lag (K E () =.), the second one exhibits a moderate degree Table 3 Default system parameters Parameter Value BER (E[W E ]).,,.; Step. lag- NACF (K E ()).,,.95; Step.5 FEC code (55,3,8), (55,87,6) Maximum transmission unit (MTU),5 Bytes =, bits Maximum segment size (MSS) MTU 4 bytes =,68 bits Number of transmission attempts per frame (r) 3,6,9,3 Bottleneck link buffer size (B) Full-sized packets Data rate of the wireless channel (l) Mbit/s =,, bits/s Round-trip delay of the wired network (s). s Number of segments ACKed by one ACK (b) Granularity of the TCP timer (x) Minimum value of the RTO (RTO min ) s

16 85 Wireless Netw () 6: Fig. Mean time (in seconds) during which an IP packet is transmitted over the wireless channel, (55,3,8). a r = 3; b r = 6; c r = 9; d r = 3 of autocorrelation at lag (K E () =.5), and the last one exhibits a high degree of autocorrelation at lag (K E () =.95). Observing Fig. 4, we note that the lag- NACF of the bit error process significantly affects the packet loss rate due to an excessive number of transmission attempts (p L ), while the magnitude of this effect greatly depends on the ARQ persistency. First of all, when the BER is small, the lag- autocorrelation of the bit error process results in higher packet loss rates due to an excessive number of transmission attempts. This effect is most noticeable in case of a low-persistence ARQ scheme (e.g., r = 3). The observed behavior can be explained as follows. The lag- autocorrelation of the bit error process manifests itself in clumping of errors (see Fig. 5b). Therefore, higher values of the lag- NACF result in a less deterministic process with a high variance around the mean number of errors per frame (see Fig. 6b). On the other hand, lower values of the lag- NACF lead to a more uniform distribution of errors over time (see Fig. 5a), thus decreasing the spread in the number of errors per frame (see Fig. 6a). As a result, large values of the lag- NACF lead to more lengthy bursts of errors within a frame than the FEC code can correct (see Fig. 6b). This, in turn, increases the number of transmission attempts required to successfully transmit an IP packet over the wireless channel and, hence, increases the probability that a packet will be dropped due to an excessive number of transmission attempts made for one of its frames. At the same time, when the BER is high, the lag- autocorrelation of the bit error process results in lower packet loss rates due to an excessive number of transmission attempts. This effect mainly occurs for high-persistence ARQ schemes (e.g., r = 6, 9, 3). To get a better understanding of this issue, let us consider the (55,3,8) FEC code. For large values of the BER and small values of the lag- NACF, bit errors, even being well distributed in time, result in more incorrectly received channel symbols per frame than the FEC code can correct, so almost all frames are received incorrectly (see Fig. 6c). Consequently, this increases the total number of transmission attempts required to successfully transmit an IP packet over the wireless channel and naturally increases the probability that a packet will be dropped due to an excessive number of transmission attempts made for one of its frames. For instance, the frame length of 55 bits and E[W E ] =. imply that the mean number of errors per

17 Wireless Netw () 6: Fig. Mean time (in seconds) during which an IP packet is transmitted over the wireless channel, (55,87,6). a r = 3; b r = 6; c r = 9; d r = 3 frame is equal to 5.5, while the error correcting capability of the (55,3,8) FEC code allows to correct just 8 erroneous channel symbols within a frame. When the lag- autocorrelation of bit errors is sufficiently high, bit errors tend to occur in groups. Given the same BER, it leads to more frames received correctly (see Fig. 6d). However, to take advantage of the error grouping effect, the ARQ scheme should be highly persistent in order to be able to cope with a large spread in the number of errors per frame. To demonstrate the impact of the codeword length (m) on the performance of the wireless channel, let us consider another pair of FEC codes: (5,5,3) and (5,57,5). The mean packet transmission delay (including failed and successful transmissions) for the (5,5,3) and (5,57,5) FEC codes is shown in Figs. 7 and 8, and the packet loss rate due to an excessive number of transmission attempts is shown in Figs. 9 and, respectively. Comparing the obtained results with the ones for the (55,3,8) and (55,87,6) FEC codes, we conclude that FEC codes with different codeword lengths but the same code rate perform similarly. Note that there is a small difference between the performance corresponding to the codeword length of 55 and 5 bits. This difference is due to slight deviations in the code rate and the error correcting capability of these FEC codes. 6. TCP SACK performance The TCP SACK long-term steady-state throughput as a function of E[W E ], K E (), and r for the (55,3,8) and (55,87,6) FEC codes is shown in Figs. and, respectively. The major effect on the TCP steady-state throughput is produced by the BER. However, influence of the lag- autocorrelation of the bit error process is also noticeable. When only three transmission attempts are allowed for a single frame, the TCP steady-state throughput drops significantly even for a moderate BER. As it follows from Figs. and, the steady-state throughput of a TCP SACK connection running over a wireless channel is an increasing function of the persistency of the ARQ scheme. As expected, the (55,3,8) FEC code results in better performance for small values of the BER. However, when the BER increases, the (55,87,6) FEC code leads to a

18 854 Wireless Netw () 6: Fig. Packet loss rate due to an excessive number of transmission attempts, (55,3,8). a r = 3; b r = 6; c r = 9; d r = 3 higher TCP throughput compared to the (55,3,8) FEC code at the expense of greater code redundancy. As it was pointed out in [5, 6, 8], there is a clear trade-off between the bandwidth consumed by the FEC scheme and the gain archived in the TCP throughput. Thus, an adaptive FEC scheme, allowing to adjust code parameters on the fly as a function of the wireless channel quality, is the best choice for both TCP performance and efficient resource utilization. Considering Figs. and, we notice a sharp drop in the TCP SACK steady-state throughput which occurs when the BER is high and the ARQ scheme is low-persistent. This behavior can be explained as follows. Firstly, the observed decrease in the TCP throughput corresponds oneto-one to the growth in the packet loss rate due to an excessive number of transmission attempts (see Figs., 3). Indeed, when the packet loss rate tends to one, thus almost every transmitted packet will be lost due to an excessive number of transmission attempts made for one of its frames, the TCP throughput approaches to zero. Secondly, when non-congestion losses are sufficiently rare (p C [ p L ), the window size at loss events belongs to the range [(C? B)/, C? B] and, on average, the TCP sender receives enough duplicate ACKs to trigger the SACKbased loss recovery algorithm (e.g., see Fig. 3a). However, when non-congestion losses dominate congestion losses (p C B p L ), the window size at loss events is inversely proportional to p L and the probability that a wireless pffiffiffiffiffi loss will be detected via a timeout event rapidly increases (e.g., see Fig. 3b). In extreme case, every wireless loss will be followed by a timeout. Thus, high values of the packet loss rate due to an excessive number of transmission attempts together with lengthy TCP timeouts contribute a lot to the degradation of TCP performance over wireless channels with semi-reliable ARQ/FEC. As it was mentioned in Sect. 5, the buffer at the intermediate system should be sized at least as large as the endto-end path capacity (B C C), while ensuring that the window size at loss events due to buffer overflow is large enough to trigger a fast retransmission without the need to wait for a timeout event (C? B C 3). At the same time, setting the size of the buffer to be much larger than the

19 Wireless Netw () 6: Fig. 3 Packet loss rate due to an excessive number of transmission attempts, (55,87,6). a r = 3; b r = 6; c r = 9; d r = 3 end-to-end path capacity results in very long queuing delays, since TCP does its best to fill the pipe (i.e., the endto-end path capacity and the bottleneck link buffer), thus increasing the queue size and, consequently, the queuing delay. In turn, it leads to large values of the RTT and causes a large value of the RTO to be selected. It should be also emphasized that such overprovisioning does not increase the TCP throughput, which is mainly determined by the packet service process of the wireless channel. However, finding the optimal size of the wireless link buffer requires further exploration and out of the scope of this paper. Figures 4 and 5 demonstrate the impact of the MTU size on the TCP SACK steady-state throughput for the (55,3,8) and (55,87,6) FEC codes, respectively. Here the yellow planes denote the case of MTU =,5 bytes and the grey planes correspond to the case of MTU = 96 bytes. It is easy to see that when the BER is small, the decrease in the MTU size results in a smaller TCP throughput due to increased protocol header overhead: from 4/,5 &.7 to 4/96 &.35. On the other hand, as it was demonstrated in Sect. 4.4, the packet loss rate due to an excessive number of transmission attempts (p L ) depends on the number of frames per packet (v). Thus, when the wireless channel quality is relatively bad, by decreasing the packet size and, consequently, the number of frames to which a packet is segmented, we can slightly reduce non-congestion losses and improve TCP performance. Of course, this effect does not take place in the case of a high-persistence ARQ scheme combined with a powerful FEC code, since such scheme ensures that the service provided by the data link layer is highly reliable and the packet loss rate due to an excessive number of transmission attempts tends to zero (see Fig. 5c, d). 7 Conclusions In this paper, we developed an analytical cross-layer model for a TCP SACK connection running over a wireless channel with semi-reliable ARQ/FEC. The proposed model allows to evaluate the combined effect of many implementation-specific parameters on TCP performance

20 856 Wireless Netw () 6: Fig. 4 Packet loss rate due to an excessive number of transmission attempts. a K E () =., (55,3,8); b K E () =., (55,87,6); c K E () =.5, (55,3,8); d K E () =.5, (55,87,6); e K E () =.95, (55,3,8); f K E () =.95, (55,87,6) Packet loss rate Packet loss rate Packet loss rate r = 3 r = 6 r = 9 r = BER (a) r = 3 r = 6 r = 9 r = 3 r = 3 r = 6 r = 9 r = 3 BER (c) BER (e) Packet loss rate Packet loss rate Packet loss rate r = 3 r = 6 r = 9 r = BER r = 3 r = 6 r = 9 r = 3 (b) r = 3 r = 6 r = 9 r = 3 BER (d) BER (f) over both correlated and uncorrelated wireless channels, which makes it suitable for performance optimization studies. These parameters include the BER, the lag- NACF of bit error observations, the size of protocol data units at different layers, the strength of the FEC code, the persistency of the ARQ scheme, the raw data rate of the wireless channel, and the bottleneck link buffer size. It should be emphasized that the developed model is a general framework rather than a model for a particular wireless technology. To use it for practical evaluation of

21 Wireless Netw () 6: Fig. 5 Effect of autocorrelation on the bit error process, E[W E ] =.. a K E () =.; b K E () =.95 = ok, = error = ok, = error Indicator Indicator Received channel symbols (a) Received channel symbols (b) Fig. 6 Number of errors per frame versus the error correcting capability of the FEC codes. a K E () =., E[W E ] =.; b K E () =.95, E[W E ] =.; c K E () =., E[W E ] =.; d K E () =.95, E[W E ] =. Errors per frame Errors (55,3,8) (55,87,6) Errors per frame Errors (55,3,8) (55,87,6) Received frames (a) Received frames (b) 8 Errors (55,3,8) (55,87,6) 8 Errors (55,3,8) (55,87,6) Errors per frame 6 4 Errors per frame Received frames (c) Received frames (d) different technologies, this framework should be extended by adding specific details of state-of-the-art wireless systems. The results of the study allow us to make the following conclusions: Although the major effect on the performance of a wireless channel with semi-reliable ARQ/FEC is produced by the BER, the lag- autocorrelation of the bit error process can significantly alter the reliability of the channel. Specifically, a bit error process with a high degree of autocorrelation at lag results in better performance for a highpersistence ARQ scheme, while considerably degrading the wireless channel quality for ARQ schemes with low persistency.

22 858 Wireless Netw () 6: Fig. 7 Mean time (in seconds) during which an IP packet is transmitted over the wireless channel, (5,5,3). a r = 3; b r = 6; c r = 9; d r = 3 Fig. 8 Mean time (in seconds) during which an IP packet is transmitted over the wireless channel, (5,57,5). a r = 3; b r = 6; c r = 9; d r = 3

23 Wireless Netw () 6: Fig. 9 Packet loss rate due to an excessive number of transmission attempts, (5,5,3). a r = 3; b r = 6; c r = 9; d r = 3 Fig. Packet loss rate due to an excessive number of transmission attempts, (5,57,5). a r = 3; b r = 6; c r = 9; d r = 3

24 86 Wireless Netw () 6: Fig. TCP SACK steadystate throughput (in Mbit/s), (55,3,8). a r = 3; b r = 6; c r = 9; d r = 3 Fig. TCP SACK steadystate throughput (in Mbit/s), (55,87,6). a r = 3; b r = 6; c r = 9; d r = 3

25 Wireless Netw () 6: Fig. 3 TCP SACK performance, (55,3,8), r = 3. a The window size at loss events. b The timeout probability Fig. 4 TCP SACK steadystate throughput (in Mbit/s) for different MTU sizes, (55,3,8). a,5 versus 96 bytes, r = 3; b,5 versus 96 bytes, r = 6; c,5 versus 96 bytes, r = 9; d,5 versus 96 bytes, r = 3 Since a large number of transmission attempts allowed for a frame greatly improves the reliability of a wireless channel by reducing the number of non-congestion losses, a high-persistence ARQ scheme is the best choice for TCP bulk data flows. The amount of FEC, required to maximize TCP performance, depends on both BER and lag- NACF of the bit error process. However, FEC codes with different codeword lengths but the same code rates provide almost similar performance. To ensure that the window size at loss events due to buffer overflow is large enough to trigger a fast retransmission, the buffer at the intermediate system should be sized at least as large as the end-to-end

26 86 Wireless Netw () 6: Fig. 5 TCP SACK steadystate throughput (in Mbit/s) for different MTU sizes, (55,87,6). a,5 versus 96 bytes, r = 3; b,5 versus 96 bytes, r = 6; c,5 versus 96 bytes, r = 9; d,5 versus 96 bytes, r = 3 path capacity. However, setting the size of the buffer to be much larger than this value does not increase the TCP steady-state throughput, which is mainly determined by the packet service process of the wireless channel. When all packet losses (due to both buffer overflow at the IP layer and an excessive number of transmission attempts at the data link layer) can be recovered using the SACK-based loss recovery algorithm, the TCP steady-state throughput is mainly determined by the time required to transmit an IP packet over the wireless channel. But once the window size at loss events becomes less than four segments, lengthy TCP timeouts contribute a lot to the degradation of TCP performance. Using small packet sizes reduces the TCP throughput by increasing the protocol header overheard but can slightly improve TCP performance when the wireless channel quality is relatively bad. This is because a small packet size implies fewer frames per packet and, consequently, a smaller packet loss probability due to an excessive number of transmission attempts made for one of its frames. References. Schulze, H., & Mochalski, K. (9). Internet study 8/ 9. Resource document. ipoque GmbH. com/study/ipoque-internet-study-8-9.pdf. Accessed Nov, 9.. Fairhurst, G., & Wood, L. (). IETF RFC 3366: Advice to link designers on link automatic repeat request (ARQ). 3. Tian, Y., Xu, K., & Ansari, N. (5). TCP in wireless environments: Problems and solutions. IEEE Communications Magazine, 43(3), S7 S3. 4. Internet NetFlow: weekly reports. (9). edu/weekly/. Accessed Nov, Balakrishnan, H., Padmanabhan, V., Seshan, S., & Katz, R. (997). A comparison of mechanisms for improving TCP performance over wireless links. IEEE/ACM Transactions on Networking, 5(6), Zorzi, M., Rao, R., & Milstein, L. (995). Performance analysis of ARQ Go-Back-N protocol in fading mobile radio channels. MILCOM USA, (7), Zorzi, M., & Rao, R. (995). Throughput analysis of Go-Back-N ARQ in Markov channels with unreliable feedback. IEEE ICC USA,, Zorzi, M., & Rao, R. (997). ARQ error control for delay-constrained communications on short-range burst-error channels. VTC USA, 3,

27 Wireless Netw () 6: Kim, Y., & Li, S. (999). Capturing important statistics of a fading/shadowing channel for network performance analysis. IEEE JSAC, 7(5), Zorzi, M., & Rao, R. (997). The effect of correlated errors on the performance of TCP. IEEE Communication Letters, (5), Krunz, M., & Kim, J. (). Delay analysis of selective repeat ARQ for a Markovian source over a wireless channel. IEEE Transactions on Vehicular Technology, 49(5), Krunz, M., & Kim, J. (). Fluid analysis of delay and packet discard performance for QoS support in wireless networks. IEEE JSAC, 9(), Mukhtar, R., Hanly, S., Zukerman, M., & Cameron, F. (4). A model for the performance evaluation of packet transmissions using type-ii hybrid ARQ over a correlated error channel. Wireless Networks, (), Zhao, J., Li, B., Kok, C., & Ahmad, I. (4). MPEG-4 video transmission over wireless networks: A link level performance study. Wireless Networks, (), Barman, D., Matta, I., Altman, E., & Azouzi, R. (4). TCP optimization through FEC, ARQ and transmission power tradeoffs. WWIC, 957, Barakat, C., & Fawal, A. (4). Analysis of link-level hybrid FEC/ ARQ-SR for wireless links and long-lived TCP traffic. Performance Evaluation Journal, 57(4), Wu, Y., Niu, Z., & Zheng, J. (5). Cross-layer analysis of wireless TCP/ARQ systems over correlated channels. Journal of Communication and Networks, 7(), Vacirca, F., Vendictis, A., & Baiocchi, A. (6). Optimal design of hybrid FEC/ARQ schemes for TCP over wireless links with Rayleigh fading. IEEE Transactions on Mobile Computing, 5(4), Iyer, S., Bhattacharyya, S., Taft, N., & Diot, C. (3). An approach to alleviate link overload as observed on an IP backbone. IEEE INFOCOM,, Medina, A., Allman, M., & Floyd, S. (5). Measuring the evolution of transport protocol in the Internet. ACM SIGCOMM Computer Communication Review, 35(), Zorzi, M., Rao, R., & Milstein, L. (997). ARQ error control for fading mobile radio channels. IEEE Transactions on Vehicular Technology, 46(), Fantacci, A. (996). Queuing analysis of the selective repeat automatic repeat request protocol for wireless packet networks. IEEE Transactions on Vehicular Technology, 45(), Moltchanov, D., Koucheryavy, Y., & Harju, J. (5). Simple, accurate and computationally efficient wireless channel modeling algorithm. WWIC, 35, Zhang, Q., & Kassam, S. (999). Finite-state Markov model for Rayleigh fading channels. IEEE Transactions on Communications, 47(), Konrad, A., Zhao, B., Joseph, A., & Ludwig, R. (3). Markovbased channel model algorithm for wireless networks. Wireless Networks, 9(3), Moltchanov, D. (6). State description of wireless channels using change-point statistical tests. WWIC, 397, Mathis, M., Semke, J., Mahdavi, J., & Ott, T. (997). The macroscopic behavior of the TCP congestion avoidance algorithm. ACM SIGCOMM Computer Communication Review, 7(3), Padhye, J., Firoiu, V., Towsley, D., & Kurose, J. (). Modeling TCP Reno performance: A simple model and its empirical validation. IEEE/ACM Transactions on Networking, 8(), Moltchanov, D., Dunaytsev, R., & Koucheryavy, Y. (8). Crosslayer modeling of TCP SACK performance over wireless channels with completely reliable ARQ/FEC. WWIC, 53, Stallings, W. (7). Data and computer communications (8th ed.). Englewood Cliffs: Prentice Hall. 3. Appenzeller, G., Keslassy, I., & McKeown, N. (4). Sizing router buffers. ACM SIGCOMM Computer Communication Review, 34(4), Allman, M., Paxson, V., & Stevens, W. (999). IETF RFC 58: TCP congestion control. 33. Blanton, E., Allman, M., Fall, K., & Wang, L. (3). IETF RFC 357: A conservative selective acknowledgement (SACK)-based loss recovery algorithm for TCP. 34. Aikat, J., Kaur, J., Smith, F., & Jeffay, K. (3). Variability in TCP round-trip times. In ACM SIGCOMM internet measurement conference (pp ). 35. Shakkottai, S., Srikant, R., Brownlee, N., Broido, A., & Claffy, K. C. (4). The RTT distribution of TCP flows in the Internet and its impact on TCP-based flow control. CAIDA technical report, TR (989). IETF RFC : Requirements for internet hosts Communication layers. 37. Wierman, A., Osogami, T., & Olsen, J. (3). A unified framework for modeling TCP-Vegas, TCP-SACK, and TCP-Reno. MASCOTS, doi:.9/mascot Cardwell, N., Savage, S., & Anderson, T. (). Modeling TCP latency. IEEE INFOCOM, 3, The network simulator ns Paxson, V., & Allman, M. (). IETF RFC 988: Computing TCP s retransmission timer. Author Biographies Dmitri Moltchanov is a senior research scientist in the Department of Communications Engineering at Tampere University of Technology, Finland. He received his M.Sc. and Cand.Sc. degrees from Saint-Petersburg State University of Telecommunications, Russia, in and, respectively, and a Ph.D. degree from Tampere University of Technology, Finland, in 6. His research interests include performance evaluation and optimization issues of wired and wireless IP networks, ad hoc and sensor networks, and PP networks. Dmitri Moltchanov serves as TPC member in a number of international conferences. He authored more than 4 publications. Roman Dunaytsev received his M.Sc. degree in Computer Science and Telecommunication systems and Cand.Sc. degree in Telecommunication Networks from Saint-Petersburg State University of Telecommunications, Russia, in 999 and 5, correspondingly. Currently, he is a researcher in the Department of Communications Engineering at Tampere University of Technology, Finland, working towards his Ph.D. degree. His research interests include performance evaluation and modeling of TCP in wired and wired-cum-wireless networks.

Modeling TCP SACK performance over wireless channels with completely reliable ARQ/FEC

Modeling TCP SACK performance over wireless channels with completely reliable ARQ/FEC INTERNATIONAL JOURNAL OF COMMUNICATION SYSTEMS Int. J. Commun. Syst. (0) Published online in Wiley Online Library (wileyonlinelibrary.com). DOI: 0.00/dac.30 Modeling TCP SACK performance over wireless

More information

THE INCREASING popularity of wireless networks

THE INCREASING popularity of wireless networks IEEE TRANSACTIONS ON WIRELESS COMMUNICATIONS, VOL. 3, NO. 2, MARCH 2004 627 Accurate Analysis of TCP on Channels With Memory and Finite Round-Trip Delay Michele Rossi, Member, IEEE, Raffaella Vicenzi,

More information

Improving TCP Performance over Wireless Networks using Loss Predictors

Improving TCP Performance over Wireless Networks using Loss Predictors Improving TCP Performance over Wireless Networks using Loss Predictors Fabio Martignon Dipartimento Elettronica e Informazione Politecnico di Milano P.zza L. Da Vinci 32, 20133 Milano Email: martignon@elet.polimi.it

More information

Impact of transmission errors on TCP performance. Outline. Random Errors

Impact of transmission errors on TCP performance. Outline. Random Errors Impact of transmission errors on TCP performance 1 Outline Impact of transmission errors on TCP performance Approaches to improve TCP performance Classification Discussion of selected approaches 2 Random

More information

CMPE 257: Wireless and Mobile Networking

CMPE 257: Wireless and Mobile Networking CMPE 257: Wireless and Mobile Networking Katia Obraczka Computer Engineering UCSC Baskin Engineering Lecture 10 CMPE 257 Spring'15 1 Student Presentations Schedule May 21: Sam and Anuj May 26: Larissa

More information

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste Outline 15-441 Computer Networking Lecture 18 TCP Performance Peter Steenkiste Fall 2010 www.cs.cmu.edu/~prs/15-441-f10 TCP congestion avoidance TCP slow start TCP modeling TCP details 2 AIMD Distributed,

More information

Exercises TCP/IP Networking With Solutions

Exercises TCP/IP Networking With Solutions Exercises TCP/IP Networking With Solutions Jean-Yves Le Boudec Fall 2009 3 Module 3: Congestion Control Exercise 3.2 1. Assume that a TCP sender, called S, does not implement fast retransmit, but does

More information

Reliable Transport II: TCP and Congestion Control

Reliable Transport II: TCP and Congestion Control Reliable Transport II: TCP and Congestion Control Stefano Vissicchio UCL Computer Science COMP0023 Recap: Last Lecture Transport Concepts Layering context Transport goals Transport mechanisms and design

More information

Chapter III. congestion situation in Highspeed Networks

Chapter III. congestion situation in Highspeed Networks Chapter III Proposed model for improving the congestion situation in Highspeed Networks TCP has been the most used transport protocol for the Internet for over two decades. The scale of the Internet and

More information

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections Application / Transport Interface Application requests service from transport layer Transport Layer Application Layer Prepare Transport service requirements Data for transport Local endpoint node address

More information

ISSN: Index Terms Wireless networks, non - congestion events, packet reordering, spurious timeouts, reduce retransmissions.

ISSN: Index Terms Wireless networks, non - congestion events, packet reordering, spurious timeouts, reduce retransmissions. ISSN:2320-0790 A New TCP Algorithm to reduce the number of retransmissions in Wireless Networks A Beulah, R Nita Marie Ann Assistant Professsor, SSN College of Engineering, Chennai PG Scholar, SSN College

More information

RED behavior with different packet sizes

RED behavior with different packet sizes RED behavior with different packet sizes Stefaan De Cnodder, Omar Elloumi *, Kenny Pauwels Traffic and Routing Technologies project Alcatel Corporate Research Center, Francis Wellesplein, 1-18 Antwerp,

More information

F-RTO: An Enhanced Recovery Algorithm for TCP Retransmission Timeouts

F-RTO: An Enhanced Recovery Algorithm for TCP Retransmission Timeouts F-RTO: An Enhanced Recovery Algorithm for TCP Retransmission Timeouts Pasi Sarolahti Nokia Research Center pasi.sarolahti@nokia.com Markku Kojo, Kimmo Raatikainen University of Helsinki Department of Computer

More information

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP CS 5520/ECE 5590NA: Network Architecture I Spring 2008 Lecture 13: UDP and TCP Most recent lectures discussed mechanisms to make better use of the IP address space, Internet control messages, and layering

More information

6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long

6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long 6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long Please read Chapter 19 of the 6.02 book for background, especially on acknowledgments (ACKs), timers,

More information

UNIT IV -- TRANSPORT LAYER

UNIT IV -- TRANSPORT LAYER UNIT IV -- TRANSPORT LAYER TABLE OF CONTENTS 4.1. Transport layer. 02 4.2. Reliable delivery service. 03 4.3. Congestion control. 05 4.4. Connection establishment.. 07 4.5. Flow control 09 4.6. Transmission

More information

Direct Link Communication I: Basic Techniques. Data Transmission. ignore carrier frequency, coding etc.

Direct Link Communication I: Basic Techniques. Data Transmission. ignore carrier frequency, coding etc. Direct Link Communication I: Basic Techniques Link speed unit: bps abstraction Data Transmission ignore carrier frequency, coding etc. Point-to-point link: wired or wireless includes broadcast case Interested

More information

Network Management & Monitoring

Network Management & Monitoring Network Management & Monitoring Network Delay These materials are licensed under the Creative Commons Attribution-Noncommercial 3.0 Unported license (http://creativecommons.org/licenses/by-nc/3.0/) End-to-end

More information

CS Transport. Outline. Window Flow Control. Window Flow Control

CS Transport. Outline. Window Flow Control. Window Flow Control CS 54 Outline indow Flow Control (Very brief) Review of TCP TCP throughput modeling TCP variants/enhancements Transport Dr. Chan Mun Choon School of Computing, National University of Singapore Oct 6, 005

More information

Performance of UMTS Radio Link Control

Performance of UMTS Radio Link Control Performance of UMTS Radio Link Control Qinqing Zhang, Hsuan-Jung Su Bell Laboratories, Lucent Technologies Holmdel, NJ 77 Abstract- The Radio Link Control (RLC) protocol in Universal Mobile Telecommunication

More information

Principles of Reliable Data Transfer

Principles of Reliable Data Transfer Principles of Reliable Data Transfer 1 Reliable Delivery Making sure that the packets sent by the sender are correctly and reliably received by the receiver amid network errors, i.e., corrupted/lost packets

More information

Congestion Control in Communication Networks

Congestion Control in Communication Networks Congestion Control in Communication Networks Introduction Congestion occurs when number of packets transmitted approaches network capacity Objective of congestion control: keep number of packets below

More information

ENRICHMENT OF SACK TCP PERFORMANCE BY DELAYING FAST RECOVERY Mr. R. D. Mehta 1, Dr. C. H. Vithalani 2, Dr. N. N. Jani 3

ENRICHMENT OF SACK TCP PERFORMANCE BY DELAYING FAST RECOVERY Mr. R. D. Mehta 1, Dr. C. H. Vithalani 2, Dr. N. N. Jani 3 Research Article ENRICHMENT OF SACK TCP PERFORMANCE BY DELAYING FAST RECOVERY Mr. R. D. Mehta 1, Dr. C. H. Vithalani 2, Dr. N. N. Jani 3 Address for Correspondence 1 Asst. Professor, Department of Electronics

More information

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Transmission Control Protocol. ITS 413 Internet Technologies and Applications Transmission Control Protocol ITS 413 Internet Technologies and Applications Contents Overview of TCP (Review) TCP and Congestion Control The Causes of Congestion Approaches to Congestion Control TCP Congestion

More information

Direct Link Communication I: Basic Techniques. Data Transmission. ignore carrier frequency, coding etc.

Direct Link Communication I: Basic Techniques. Data Transmission. ignore carrier frequency, coding etc. Direct Link Communication I: Basic Techniques Link speed unit: bps abstraction Data Transmission ignore carrier frequency, coding etc. Point-to-point link: wired or wireless includes broadcast case Interested

More information

CHAPTER 5 PROPAGATION DELAY

CHAPTER 5 PROPAGATION DELAY 98 CHAPTER 5 PROPAGATION DELAY Underwater wireless sensor networks deployed of sensor nodes with sensing, forwarding and processing abilities that operate in underwater. In this environment brought challenges,

More information

Analysis of TCP Latency over Wireless Links Supporting FEC/ARQ-SR for Error Recovery

Analysis of TCP Latency over Wireless Links Supporting FEC/ARQ-SR for Error Recovery Analysis of TCP Latency over Wireless Links Supporting FEC/ARQ-SR for Error Recovery Raja Abdelmoumen CRISTAL Laboratory, Tunisia Email: Raja.Abdelmoumen@ensi.rnu.tn Chadi Barakat Projet Planète, INRIA-Sophia

More information

Evaluation of End-to-End TCP performance over WCDMA

Evaluation of End-to-End TCP performance over WCDMA Evaluation of End-to-End TCP performance over WCDMA Liang Hu Department of Communications, Optics & Materials Technical University of Denmark, Lyngby, Denmark Email:{lh}@com.dtu.dk Abstract this article

More information

There are 10 questions in total. Please write your SID on each page.

There are 10 questions in total. Please write your SID on each page. Name: SID: Department of EECS - University of California at Berkeley EECS122 - Introduction to Communication Networks - Spring 2005 to the Final: 5/20/2005 There are 10 questions in total. Please write

More information

RD-TCP: Reorder Detecting TCP

RD-TCP: Reorder Detecting TCP RD-TCP: Reorder Detecting TCP Arjuna Sathiaseelan and Tomasz Radzik Department of Computer Science, King s College London, Strand, London WC2R 2LS {arjuna,radzik}@dcs.kcl.ac.uk Abstract. Numerous studies

More information

Improving TCP End to End Performance in Wireless LANs with Snoop Protocol

Improving TCP End to End Performance in Wireless LANs with Snoop Protocol Improving TCP End to End Performance in Wireless LANs with Snoop Protocol Dejan Jaksic, Zeljko Ilic and Alen Bazant Department of Telecommunications, Faculty of Electrical Engineering and Computing Unska

More information

CMPE150 Midterm Solutions

CMPE150 Midterm Solutions CMPE150 Midterm Solutions Question 1 Packet switching and circuit switching: (a) Is the Internet a packet switching or circuit switching network? Justify your answer. The Internet is a packet switching

More information

Hybrid Control and Switched Systems. Lecture #17 Hybrid Systems Modeling of Communication Networks

Hybrid Control and Switched Systems. Lecture #17 Hybrid Systems Modeling of Communication Networks Hybrid Control and Switched Systems Lecture #17 Hybrid Systems Modeling of Communication Networks João P. Hespanha University of California at Santa Barbara Motivation Why model network traffic? to validate

More information

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP EEC7B/ECS5C Review: Internet Protocol Stack Review: TCP Application Telnet FTP HTTP Transport Network Link Physical bits on wire TCP LAN IP UDP Packet radio Transport Layer Services Design Issue Underlying

More information

Wireless TCP Performance Issues

Wireless TCP Performance Issues Wireless TCP Performance Issues Issues, transport layer protocols Set up and maintain end-to-end connections Reliable end-to-end delivery of data Flow control Congestion control Udp? Assume TCP for the

More information

Chapter 24. Transport-Layer Protocols

Chapter 24. Transport-Layer Protocols Chapter 24. Transport-Layer Protocols 23.1 Introduction 23.2 User Datagram Protocol 23.3 Transmission Control Protocol 23.4 SCTP Computer Networks 24-1 Position of Transport-Layer Protocols UDP is an unreliable

More information

The Impact of Delay Variations on TCP Performance

The Impact of Delay Variations on TCP Performance INSTITUT FÜR KOMMUNIKATIONSNETZE UND RECHNERSYSTEME Prof. Dr.-Ing. Dr. h. c. mult. P. J. Kühn The Impact of Delay Variations on TCP Performance Michael Scharf scharf@ikr.uni-stuttgart.de ITG FG 5.2.1 Workshop,

More information

Data Link Control Protocols

Data Link Control Protocols Protocols : Introduction to Data Communications Sirindhorn International Institute of Technology Thammasat University Prepared by Steven Gordon on 23 May 2012 Y12S1L07, Steve/Courses/2012/s1/its323/lectures/datalink.tex,

More information

TCP Congestion Control

TCP Congestion Control 1 TCP Congestion Control Onwutalobi, Anthony Claret Department of Computer Science University of Helsinki, Helsinki Finland onwutalo@cs.helsinki.fi Abstract This paper is aimed to discuss congestion control

More information

Transport Protocols & TCP TCP

Transport Protocols & TCP TCP Transport Protocols & TCP CSE 3213 Fall 2007 13 November 2007 1 TCP Services Flow control Connection establishment and termination Congestion control 2 1 TCP Services Transmission Control Protocol (RFC

More information

image 3.8 KB Figure 1.6: Example Web Page

image 3.8 KB Figure 1.6: Example Web Page image. KB image 1 KB Figure 1.: Example Web Page and is buffered at a router, it must wait for all previously queued packets to be transmitted first. The longer the queue (i.e., the more packets in the

More information

15-744: Computer Networking TCP

15-744: Computer Networking TCP 15-744: Computer Networking TCP Congestion Control Congestion Control Assigned Reading [Jacobson and Karels] Congestion Avoidance and Control [TFRC] Equation-Based Congestion Control for Unicast Applications

More information

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 30, 2018

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 30, 2018 CMSC 417 Computer Networks Prof. Ashok K Agrawala 2018 Ashok Agrawala October 30, 2018 Message, Segment, Packet, and Frame host host HTTP HTTP message HTTP TCP TCP segment TCP router router IP IP packet

More information

Answers to Sample Questions on Transport Layer

Answers to Sample Questions on Transport Layer Answers to Sample Questions on Transport Layer 1) Which protocol Go-Back-N or Selective-Repeat - makes more efficient use of network bandwidth? Why? Answer: Selective repeat makes more efficient use of

More information

Transport layer issues

Transport layer issues Transport layer issues Dmitrij Lagutin, dlagutin@cc.hut.fi T-79.5401 Special Course in Mobility Management: Ad hoc networks, 28.3.2007 Contents Issues in designing a transport layer protocol for ad hoc

More information

Transport Protocols and TCP: Review

Transport Protocols and TCP: Review Transport Protocols and TCP: Review CSE 6590 Fall 2010 Department of Computer Science & Engineering York University 1 19 September 2010 1 Connection Establishment and Termination 2 2 1 Connection Establishment

More information

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service EEC7B/ECS5C Review: Internet Protocol Stack Review: TCP Application Telnet FTP HTTP Transport Network Link Physical bits on wire TCP LAN IP UDP Packet radio Do you remember the various mechanisms we have

More information

Overview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD

Overview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD Overview 15-441 Computer Networking Lecture 9 More TCP & Congestion Control TCP congestion control TCP modern loss recovery TCP modeling Lecture 9: 09-25-2002 2 TCP Congestion Control Changes to TCP motivated

More information

Episode 4. Flow and Congestion Control. Baochun Li Department of Electrical and Computer Engineering University of Toronto

Episode 4. Flow and Congestion Control. Baochun Li Department of Electrical and Computer Engineering University of Toronto Episode 4. Flow and Congestion Control Baochun Li Department of Electrical and Computer Engineering University of Toronto Recall the previous episode Detailed design principles in: The link layer The network

More information

Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione. Link Layer. Fundamentals of Communication Networks

Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione. Link Layer. Fundamentals of Communication Networks Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione Link Layer Fundamentals of Communication Networks Data Link layer o It is the first logical layer in the protocol stack o Functions

More information

Computer Networking. Reliable Transport. Reliable Transport. Principles of reliable data transfer. Reliable data transfer. Elements of Procedure

Computer Networking. Reliable Transport. Reliable Transport. Principles of reliable data transfer. Reliable data transfer. Elements of Procedure Computer Networking Reliable Transport Prof. Andrzej Duda duda@imag.fr Reliable Transport Reliable data transfer Data are received ordered and error-free Elements of procedure usually means the set of

More information

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission Fast Retransmit Problem: coarsegrain TCP timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission Packet 1 Packet 2 Packet 3 Packet 4 Packet 5 Packet 6 Sender Receiver

More information

FEC Performance in Large File Transfer over Bursty Channels

FEC Performance in Large File Transfer over Bursty Channels FEC Performance in Large File Transfer over Bursty Channels Shuichiro Senda, Hiroyuki Masuyama, Shoji Kasahara and Yutaka Takahashi Graduate School of Informatics, Kyoto University, Kyoto 66-85, Japan

More information

8. TCP Congestion Control

8. TCP Congestion Control 8. TCP Congestion Control 1 TCP Congestion Control Slow-start increase Multiplicative decrease Congestion avoidance Measurement of variation Exponential timer backoff 2002 Yanghee Choi 2 Congestion Control

More information

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol)

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol) Transport Layer -UDP (User Datagram Protocol) -TCP (Transport Control Protocol) 1 Transport Services The transport layer has the duty to set up logical connections between two applications running on remote

More information

Performance of ARQ Go-Back-N protocol in Markov channels with unreliable feedback: Delay analysis

Performance of ARQ Go-Back-N protocol in Markov channels with unreliable feedback: Delay analysis ICUPC 95, TOKYO, JAPAN, NOV. 1995 1 Performance of ARQ Go-Back-N protocol in Markov channels with unreliable feedback: Delay analysis Michele Zorzi y and Ramesh R. Rao z y Dipartimento di Elettronica e

More information

Congestion Control in TCP

Congestion Control in TCP Congestion Control in TCP Antonio Carzaniga Faculty of Informatics University of Lugano November 11, 2014 Outline Intro to congestion control Input rate vs. output throughput Congestion window Congestion

More information

TCP Congestion Control : Computer Networking. Introduction to TCP. Key Things You Should Know Already. Congestion Control RED

TCP Congestion Control : Computer Networking. Introduction to TCP. Key Things You Should Know Already. Congestion Control RED TCP Congestion Control 15-744: Computer Networking L-4 TCP Congestion Control RED Assigned Reading [FJ93] Random Early Detection Gateways for Congestion Avoidance [TFRC] Equation-Based Congestion Control

More information

CS132/EECS148 - Instructor: Karim El Defrawy Midterm Spring 2013 Time: 1hour May 2nd, 2013

CS132/EECS148 - Instructor: Karim El Defrawy Midterm Spring 2013 Time: 1hour May 2nd, 2013 CS132/EECS148 - Instructor: Karim El Defrawy Midterm Spring 2013 : 1hour May 2nd, 2013 Total Points: 25 Attempt all problems. Problem #1: (5 points, ½ point each) Choose only one answer. You will not receive

More information

Lecture 7: Flow Control"

Lecture 7: Flow Control Lecture 7: Flow Control" CSE 123: Computer Networks Alex C. Snoeren No class Monday! Lecture 7 Overview" Flow control Go-back-N Sliding window 2 Stop-and-Wait Performance" Lousy performance if xmit 1 pkt

More information

Performance models for wireless channels

Performance models for wireless channels C O M P U T E R S C I E N C E R E V I E W 4 ( 2 0 1 0 ) 1 5 3 1 8 4 available at www.sciencedirect.com journal homepage: www.elsevier.com/locate/cosrev Survey Performance models for wireless channels Dmitri

More information

TCP over Wireless PROF. MICHAEL TSAI 2016/6/3

TCP over Wireless PROF. MICHAEL TSAI 2016/6/3 TCP over Wireless PROF. MICHAEL TSAI 2016/6/3 2 TCP Congestion Control (TCP Tahoe) Only ACK correctly received packets Congestion Window Size: Maximum number of bytes that can be sent without receiving

More information

Managing Caching Performance and Differentiated Services

Managing Caching Performance and Differentiated Services CHAPTER 10 Managing Caching Performance and Differentiated Services This chapter explains how to configure TCP stack parameters for increased performance ant throughput and how to configure Type of Service

More information

TCP PERFORMANCE FOR FUTURE IP-BASED WIRELESS NETWORKS

TCP PERFORMANCE FOR FUTURE IP-BASED WIRELESS NETWORKS TCP PERFORMANCE FOR FUTURE IP-BASED WIRELESS NETWORKS Deddy Chandra and Richard J. Harris School of Electrical and Computer System Engineering Royal Melbourne Institute of Technology Melbourne, Australia

More information

CS321: Computer Networks Congestion Control in TCP

CS321: Computer Networks Congestion Control in TCP CS321: Computer Networks Congestion Control in TCP Dr. Manas Khatua Assistant Professor Dept. of CSE IIT Jodhpur E-mail: manaskhatua@iitj.ac.in Causes and Cost of Congestion Scenario-1: Two Senders, a

More information

Multiple unconnected networks

Multiple unconnected networks TCP/IP Life in the Early 1970s Multiple unconnected networks ARPAnet Data-over-cable Packet satellite (Aloha) Packet radio ARPAnet satellite net Differences Across Packet-Switched Networks Addressing Maximum

More information

Performance Model for TCP over Link Layer on Correlated Channels for Wireless Data Communication

Performance Model for TCP over Link Layer on Correlated Channels for Wireless Data Communication Performance Model for TCP over Link Layer on Correlated Channels for Wireless Data Communication Yi Wu, Zhisheng Niu, Junli Zheng State Key Lab on Microwave and Digital Communications Department of Electronic

More information

CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007

CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007 CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007 Question 344 Points 444 Points Score 1 10 10 2 10 10 3 20 20 4 20 10 5 20 20 6 20 10 7-20 Total: 100 100 Instructions: 1. Question

More information

A Hybrid Systems Modeling Framework for Fast and Accurate Simulation of Data Communication Networks. Motivation

A Hybrid Systems Modeling Framework for Fast and Accurate Simulation of Data Communication Networks. Motivation A Hybrid Systems Modeling Framework for Fast and Accurate Simulation of Data Communication Networks Stephan Bohacek João P. Hespanha Junsoo Lee Katia Obraczka University of Delaware University of Calif.

More information

Flow and Congestion Control Marcos Vieira

Flow and Congestion Control Marcos Vieira Flow and Congestion Control 2014 Marcos Vieira Flow Control Part of TCP specification (even before 1988) Goal: not send more data than the receiver can handle Sliding window protocol Receiver uses window

More information

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control Chapter 6 What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control OSI Model Hybrid Model Software outside the operating system Software inside

More information

Problem 7. Problem 8. Problem 9

Problem 7. Problem 8. Problem 9 Problem 7 To best answer this question, consider why we needed sequence numbers in the first place. We saw that the sender needs sequence numbers so that the receiver can tell if a data packet is a duplicate

More information

Congestion Control in TCP

Congestion Control in TCP Congestion Control in TCP Antonio Carzaniga Faculty of Informatics University of Lugano May 6, 2005 Outline Intro to congestion control Input rate vs. output throughput Congestion window Congestion avoidance

More information

Wireless Challenges : Computer Networking. Overview. Routing to Mobile Nodes. Lecture 25: Wireless Networking

Wireless Challenges : Computer Networking. Overview. Routing to Mobile Nodes. Lecture 25: Wireless Networking Wireless Challenges 15-441: Computer Networking Lecture 25: Wireless Networking Force us to rethink many assumptions Need to share airwaves rather than wire Don t know what hosts are involved Host may

More information

The Transport Layer Congestion control in TCP

The Transport Layer Congestion control in TCP CPSC 360 Network Programming The Transport Layer Congestion control in TCP Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc360

More information

Analyzation of Automatic Repeat Request (ARQ) Protocols

Analyzation of Automatic Repeat Request (ARQ) Protocols RESEARCH ARTICLE OPEN ACCESS Analyzation of Automatic Repeat Request (ARQ) Protocols 1 Jeshvina.S, 2 Sneha.P, 3 Saraanya.S Final year BCA, Dept of Computer Science New Horizon College Kasturinagar, Bangalore

More information

TRANSMISSION CONTROL PROTOCOL

TRANSMISSION CONTROL PROTOCOL COMP 635: WIRELESS & MOBILE COMMUNICATIONS TRANSMISSION CONTROL PROTOCOL Jasleen Kaur Fall 2017 1 Impact of Wireless on Protocol Layers Application layer Transport layer Network layer Data link layer Physical

More information

TSIN01 Information Networks Lecture 3

TSIN01 Information Networks Lecture 3 TSIN01 Information Networks Lecture 3 Danyo Danev Division of Communication Systems Department of Electrical Engineering Linköping University, Sweden September 10 th, 2018 Danyo Danev TSIN01 Information

More information

TCP over Wireless. Protocols and Networks Hadassah College Spring 2018 Wireless Dr. Martin Land 1

TCP over Wireless. Protocols and Networks Hadassah College Spring 2018 Wireless Dr. Martin Land 1 TCP over Wireless Protocols and Networks Hadassah College Spring 218 Wireless Dr. Martin Land 1 Classic TCP-Reno Ideal operation in-flight segments = cwnd (send cwnd without stopping) Cumulative ACK for

More information

Performance Analysis of TCP Variants

Performance Analysis of TCP Variants 102 Performance Analysis of TCP Variants Abhishek Sawarkar Northeastern University, MA 02115 Himanshu Saraswat PES MCOE,Pune-411005 Abstract The widely used TCP protocol was developed to provide reliable

More information

Management of Protocol State

Management of Protocol State Management of Protocol State Ibrahim Matta December 2012 1 Introduction These notes highlight the main issues related to synchronizing the data at both sender and receiver of a protocol. For example, in

More information

Computer Networking Introduction

Computer Networking Introduction Computer Networking Introduction Halgurd S. Maghdid Software Engineering Department Koya University-Koya, Kurdistan-Iraq Lecture No.11 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and

More information

King Fahd University of Petroleum & Minerals

King Fahd University of Petroleum & Minerals King Fahd University of Petroleum & Minerals Department of Computer Engineering COE 541 Local and Metropolitan Area Networks Term 091 Project Progress Report # 3[Final] TCP/IP window and slow-start study

More information

TCP Congestion Control

TCP Congestion Control TCP Congestion Control What is Congestion The number of packets transmitted on the network is greater than the capacity of the network Causes router buffers (finite size) to fill up packets start getting

More information

TCP Congestion Control

TCP Congestion Control What is Congestion TCP Congestion Control The number of packets transmitted on the network is greater than the capacity of the network Causes router buffers (finite size) to fill up packets start getting

More information

Error Control System for Parallel Multichannel Using Selective Repeat ARQ

Error Control System for Parallel Multichannel Using Selective Repeat ARQ Error Control System for Parallel Multichannel Using Selective Repeat ARQ M.Amal Rajan 1, M.Maria Alex 2 1 Assistant Prof in CSE-Dept, Jayamatha Engineering College, Aralvaimozhi, India, 2 Assistant Prof

More information

Basic Reliable Transport Protocols

Basic Reliable Transport Protocols Basic Reliable Transport Protocols Do not be alarmed by the length of this guide. There are a lot of pictures. You ve seen in lecture that most of the networks we re dealing with are best-effort : they

More information

Transport Protocols and TCP

Transport Protocols and TCP Transport Protocols and TCP Functions Connection establishment and termination Breaking message into packets Error recovery ARQ Flow control Multiplexing, de-multiplexing Transport service is end to end

More information

Chapter - 1 INTRODUCTION

Chapter - 1 INTRODUCTION Chapter - 1 INTRODUCTION Worldwide Interoperability for Microwave Access (WiMAX) is based on IEEE 802.16 standard. This standard specifies the air interface of fixed Broadband Wireless Access (BWA) system

More information

Congestion / Flow Control in TCP

Congestion / Flow Control in TCP Congestion and Flow Control in 1 Flow Control and Congestion Control Flow control Sender avoids overflow of receiver buffer Congestion control All senders avoid overflow of intermediate network buffers

More information

Wireless TCP. TCP mechanism. Wireless Internet: TCP in Wireless. Wireless TCP: transport layer

Wireless TCP. TCP mechanism. Wireless Internet: TCP in Wireless. Wireless TCP: transport layer Wireless TCP W.int.2-2 Wireless Internet: TCP in Wireless Module W.int.2 Mobile IP: layer, module W.int.1 Wireless TCP: layer Dr.M.Y.Wu@CSE Shanghai Jiaotong University Shanghai, China Dr.W.Shu@ECE University

More information

Outline. CS5984 Mobile Computing

Outline. CS5984 Mobile Computing CS5984 Mobile Computing Dr. Ayman Abdel-Hamid Computer Science Department Virginia Tech Outline Review Transmission Control Protocol (TCP) Based on Behrouz Forouzan, Data Communications and Networking,

More information

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

Transport Layer PREPARED BY AHMED ABDEL-RAOUF Transport Layer PREPARED BY AHMED ABDEL-RAOUF TCP Flow Control TCP Flow Control 32 bits source port # dest port # head len sequence number acknowledgement number not used U A P R S F checksum Receive window

More information

TCP congestion control:

TCP congestion control: TCP congestion control: Probing for usable bandwidth: Ideally: transmit as fast as possible (cwnd as large as possible) without loss Increase cwnd until loss (congestion) Loss: decrease cwnd, then begin

More information

Enhancing TCP Throughput over Lossy Links Using ECN-Capable Capable RED Gateways

Enhancing TCP Throughput over Lossy Links Using ECN-Capable Capable RED Gateways Enhancing TCP Throughput over Lossy Links Using ECN-Capable Capable RED Gateways Haowei Bai Honeywell Aerospace Mohammed Atiquzzaman School of Computer Science University of Oklahoma 1 Outline Introduction

More information

CHAPTER 5. QoS RPOVISIONING THROUGH EFFECTIVE RESOURCE ALLOCATION

CHAPTER 5. QoS RPOVISIONING THROUGH EFFECTIVE RESOURCE ALLOCATION CHAPTER 5 QoS RPOVISIONING THROUGH EFFECTIVE RESOURCE ALLOCATION 5.1 PRINCIPLE OF RRM The success of mobile communication systems and the need for better QoS, has led to the development of 3G mobile systems

More information

EECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance

EECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance EECS 122, Lecture 19 Today s Topics: More on Reliable Delivery Round-Trip Timing Flow Control Intro to Congestion Control Kevin Fall, kfall@cs cs.berkeley.eduedu Reliable Delivery Stop and Wait simple

More information

Lecture 6. TCP services. Internet Transport Layer: introduction to the Transport Control Protocol (TCP) A MUCH more complex transport

Lecture 6. TCP services. Internet Transport Layer: introduction to the Transport Control Protocol (TCP) A MUCH more complex transport Lecture 6. Internet Transport Layer: introduction to the Transport ontrol Protocol (TP) RF 793 (estensioni RF 1122,1323,2018,2581,working group tsvwg) A MUH more complex transport for three main reasons

More information

Ad hoc and Sensor Networks Chapter 6: Link layer protocols. Holger Karl

Ad hoc and Sensor Networks Chapter 6: Link layer protocols. Holger Karl Ad hoc and Sensor Networks Chapter 6: Link layer protocols Holger Karl Goals of this chapter Link layer tasks in general Framing group bit sequence into packets/frames Important: format, size Error control

More information

Cross-layer TCP Performance Analysis in IEEE Vehicular Environments

Cross-layer TCP Performance Analysis in IEEE Vehicular Environments 24 Telfor Journal, Vol. 6, No. 1, 214. Cross-layer TCP Performance Analysis in IEEE 82.11 Vehicular Environments Toni Janevski, Senior Member, IEEE, and Ivan Petrov 1 Abstract In this paper we provide

More information