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

Size: px
Start display at page:

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

Transcription

1 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 channels with completely reliable ARQ/FEC Roman Dunaytsev,, Dmitri Moltchanov, Yevgeni Koucheryavy and Jarmo Harju Department of Communications Engineering, Tampere University of Technology, P.O. Box 553, Tampere, Finland SUMMARY In this paper, we propose an analytical cross-layer model for a Transmission Control Protocol (TCP) connection running over a covariance-stationary wireless channel with a completely reliable Automatic Repeat request scheme combined with Forward Error Correction (FEC) coding. Since backbone networks today are highly overprovisioned, we assume that the wireless channel is the only one bottleneck in the system which causes packets to be buffered at the wired/wireless interface and dropped as a result of buffer overflow. We develop the model in two steps. At the first step, we consider the service process of the wireless channel and derive the probability distribution of the time required to successfully transmit an IP packet over the wireless channel. This distribution is used at the next step of the modeling, where we derive expressions for the TCP long-term steady-state throughput, the mean round-trip time, and the spurious timeout probability. The developed model allows to quantify the joint effect of many implementationspecific parameters on the TCP performance over both correlated and non-correlated wireless channels. We also demonstrate that TCP spurious timeouts, reported in some empirical studies, do not occur when wireless channel conditions are covariance-stationary and their presence in those measurements should be attributed to non-stationary behavior of the wireless channel characteristics. Copyright 0 John Wiley & Sons, Ltd. Received 0 October 009; Revised November 00; Accepted November 00 KEY WORDS: TCP; wireless; ARQ; FEC. INTRODUCTION The Transmission Control Protocol (TCP) is the de facto standard transport protocol for providing a reliable end-to-end data transfer service over best-effort IP networks. Recent measurements show that about 90% of today s Internet traffic is carried by TCP []. Since TCP controls the vast majority of bytes and packets traversed over the Internet, predicting TCP behavior in various environments and optimizing its performance is extremely important for satisfying user needs and providing quality of service (QoS) in modern networks. The massive deployment of wireless networks has attracted a lot of attention of researchers and practitioners to the TCP performance in wireless and wired-cum-wireless environments (e.g. see [ 4] and references therein), both because the widespread use of TCP on the Internet and because wireless networks used to transport TCP traffic present very different characteristics from those TCP was tuned to. As long as wired networks are highly reliable and much less than % of all packet losses can be attributed to transmission errors, TCP assumes that all losses are due to Correspondence to: Roman Dunaytsev, Department of Communications Engineering, Tampere University of Technology, P.O. Box 553, Tampere, Finland. dunaytse@cs.tut.fi Copyright 0 John Wiley & Sons, Ltd.

2 R. DUNAYTSEV ET AL. network congestion and invokes congestion control procedures every time a packet loss is detected [5]. As a result, TCP reduces its sending rate in an attempt to alleviate the congestion. It is worth noting that the current stability of the Internet largely depends on this TCP congestion control mechanism. However, the situation is much more complicated in wireless and wired-cum-wireless networks, where, in addition to packet losses induced by buffer overflow, TCP encounters losses and abrupt delay variations occurring due to unreliable nature of wireless transmission media. Unfortunately, TCP cannot distinguish packet losses due to bit corruption in wireless channels from those due to network congestion, so any packet loss or excessive delay caused by wireless channel impairments lead to unnecessary execution of the TCP congestion control algorithms and, hence, sub-optimal performance. Being inherently prone to transmission errors, wireless networks take advantage of different error control techniques to alleviate the effects of non-congestion-related losses on the TCP performance. Among the most commonly used are Automatic Repeat request (ARQ), Forward Error Correction (FEC), and their combination (also known as hybrid ARQ/FEC). In ARQ, the receiver uses an error-detecting code, typically a Cyclic Redundancy Check (CRC), to detect whether 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 discards the received frame and notifies the sender via the feedback channel by sending a negative acknowledgment (or by the lack of a positive acknowledgment). In response to the negative acknowledgement (or if the sender does not receive the positive acknowledgment before the timeout), the sender retransmits the corresponding frame. There are three types of ARQ in use: Stop-and-Wait (SW), Go-Back-N (GBN), and Selective Repeat (SR). SW is the simplest ARQ scheme and ensures that each transmitted frame is correctly received before sending the next one, whereas GBN and SR ARQ allow transmitting a number of frames continuously without waiting for an immediate acknowledgement. In GBN ARQ, when a certain frame is received in error the sender retransmits all frames, starting from the incorrectly received one. According to SR ARQ, only incorrectly received frames should be retransmitted. Obviously, when the wireless channel conditions are relatively bad (e.g. due to short-term fading, long-term shadowing, mobility of mobile terminals, surrounding obstacles), ARQ introduces significant delays in data delivery due to multiple retransmissions. In contrast to ARQ, FEC uses certain codes that are designed to be self-correcting for errors occurred during transmission. Thus, the receiver can detect and correct errors (but only within certain limits) without requiring a retransmission. However, this is achieved at the expense of greater bandwidth overhead than that in ARQ: adding more redundant information reduces the amount of available bandwidth but enables the receiver to correct more errors. Owing to complementary advantages, FEC and ARQ are often used in combination. But even in the presence of these local error recovery mechanisms, transmission errors may still propagate to the higher layers, resulting in loss or excessive delay of IP packets and, consequently, TCP segments encapsulated into these packets [6]. As long as the choice of ARQ and FEC parameters may severely affect the TCP performance, their interaction with TCP has been extensively studied during the last decade. The studies reported to date can be split into two broad classes: simulation and measurement studies (e.g. [7 9]) and analytical modeling. Although experiments are extremely useful in performance evaluation, it is a difficult task to simulate and explore the TCP behavior across the range of all possible operational conditions and different settings of lower-layer protocols. In this case, analytical modeling is extremely beneficial because it allows to study the performance of TCP over the entire parameter space and very easily apply a what if test to different scenarios. In [0 ], the authors explored long-term steady-state behavior of a TCP connection in wiredcum-wireless networks. These studies use a simple two-state Markov chain to model the packet loss process directly and do not attempt to derive it from stochastic properties of the wireless channel characteristics. Moreover, the vast majority of TCP analytical models require the end-toend packet delay and the packet loss rate to be given. However, a cross-layer model capable to predict the TCP performance from primary network characteristics (e.g. the raw data rate of the bottleneck link and the bottleneck link buffer size) together with statistical characteristics of the wireless channel would be more usable. Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

3 MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS Recently, a big effort has been done to model the TCP performance as a function of the wireless channel characteristics, the amount of FEC, the ARQ persistency, etc. In [3], the authors studied the combined effects of FEC, SR ARQ, and power management on the TCP throughput. It was shown that increasing the transmission power, FEC redundancy, and the number of retransmissions allowed for the ARQ scheme always improves the 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 has been considered in [4]. Using the Bernoulli loss model to model non-congestion losses induced by wireless channel impairments, the authors provided results for different 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 [5], the authors analyzed the TCP throughput over a wireless channel with NAK-based SR ARQ 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 error probability after data link layer retransmissions, and the correlation degree of the residual errors. An analytical model, capturing the joint effect of SR ARQ and FEC on TCP performance over a correlated Rayleigh wireless channel, was presented in [6]. One of the main advantages of the 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 [3 5] require the frame error rate to be given. In this paper, we consider the performance of a TCP SACK connection running over a wireless channel with completely reliable ARQ/FEC as a function of the bit error rate (BER), the normalized autocorrelation function of bit error observations at lag (lag- NACF), the strength of the FEC code, the use 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 wireless channel characteristics are assumed to be covariance-stationary and modeled by a homogenous Markov process. The novelty of the proposed model is two-fold. First, the model allows to evaluate the joint effect of stochastic properties of the wireless channel characteristics and various implementation-specific parameters on the TCP performance over both correlated and non-correlated wireless channels. Second, the model explicitly takes into account packet losses due to buffer overflow at the Internet layer and the high correlation between the TCP window size and the round-trip time (RTT). Among other conclusions, we demonstrate that TCP spurious timeouts, reported in some empirical studies, do not occur when wireless channel conditions are covariance-stationary and should be attributed to non-stationary behavior of the wireless channel characteristics. This paper is a revised and substantially extended version of the work presented in [7]. The remainder of this paper is organized as follows. The system model and the assumptions we made are described in Section. The analytical cross-layer model is introduced in Sections 3 and 4. Numerical results are discussed in Section 5. Finally, Section 6 concludes the paper.. SYSTEM MODEL AND ASSUMPTIONS The system model is presented in Figure. We consider a TCP connection between two hosts such that the last link on the end-to-end path from the sender to the receiver is a wireless channel with hybrid ARQ/FEC. Taking into account that backbone networks are highly overprovisioned [8], we assume that there is only one bottleneck in the system: the wireless channel. Since such a scenario is common in today s networks (e.g. Internet access over mobile networks), we do not refer to a particular wireless technology. TCP uses a positive feedback mechanism in the form of acknowledgements (ACKs) of the transmitted segments to achieve rate control and provide reliable delivery. Early TCP implementations relied only on the cumulative acknowledgment scheme in which received segments that are not at the left edge of the receive window are not acknowledged. Later it was found that TCP performs poorly when multiple IP packets are lost from a window of data, since multiple dropped segments generally cause TCP to lose its ACK-based clock, reducing the overall throughput. In Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

4 R. DUNAYTSEV ET AL. Sender App. TCP Inernet DL PHY wired network Receiver App. Intermediate system Internet TCP Internet DL DL DL PHY PHY PHY modem wireless channel modem Intermediate system IP packets carrying data traffic Sender IP packets carrying TCP ACKs Figure. System model. Receiver order to improve the TCP performance during loss recovery in the face of bursty losses, the Selective Acknowledgement (SACK) option, the use of the SACK option for acknowledging duplicate packets (the D-SACK extension), and the SACK-based loss recovery algorithm have been specified in [9 ], respectively. Using selective acknowledgments, the receiver can inform the sender about all segments that have arrived successfully (including non-contiguous and duplicate blocks of data), hence, the sender needs to retransmit only those segments that have actually been lost. Since the current status is that nearly all TCP implementations now support the SACK option [], we assume that the sender and the receiver are both SACK-capable and use the SACK option under all permitted circumstances. We consider an application process which always has data to send; hence, 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 and, consequently, 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 high-performance computers. Since we are focusing on the performance of a single TCP connection running over a wireless channel, we do not consider here competing traffic effects and assume that application layer data are transmitted in one direction only: from the sender to the receiver (Figure ). Let the round-trip delay of the wired network be τ seconds, the raw data rate of the wireless channel be μ bits per second, and the buffer size of the intermediate system be B full-sized packets. Data packets are buffered at the Internet layer of the intermediate system and transmitted one after another to the data link layer. The queue management algorithm is assumed to be First-In, First-Out Drop-Tail, so any packet arriving when the buffer is full will be lost. However, we do not model packet losses in the direction from the receiver to the sender and assume that TCP ACKs are always delivered to the sender. In other words, packet losses happen only in the direction from the sender to the receiver due to buffer overflow at the intermediate system. 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 cover all previously received data. Between the Internet 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 exactly one bit is transmitted using a single channel symbol and use the terms channel symbol and bit interchangeably. Since extensions of the model for the cases with multiple codewords within a frame and/or multiple bits carried by a single 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 Figure. 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 Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

5 MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS Transport layer TCP segment Internet layer Header MSS bits Application layer data MTU bits IP packet Data link layer Segmented IP packet Frames (FEC codewords) Header 3... v 3... v m bits FEC redundancy bits Figure. Encapsulation and segmentation. are usually of fixed-size. The ARQ scheme is assumed to be completely reliable, thus a frame is always delivered irrespective of the number of retransmissions it takes. However, if the number of data link retransmissions causes the RTT to exceed the current value of the TCP retransmission timeout (i.e. RTO seconds) [3], the TCP retransmission timer expires, leading to a spurious TCP timeout followed by unnecessary retransmissions and congestion control procedures invocation. It is important to note that talking about completely reliable operation here, we neglect the possibility that one of the devices fails or connectivity is entirely lost for some reason. We assume that the ARQ receiver immediately sends back a feedback frame (carrying either a positive or a negative acknowledgement) about every incoming data frame it gets. This assumption allows to use a single model to capture different variants of ARQ, including the SW, GBN, and SR modes [4, 5]. 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 an FEC code. Moreover, these assumptions were used in many studies and found to be appropriate for wireless links with a short propagation time [6, 7]. 3. SERVICE PROCESS OF THE WIRELESS CHANNEL 3.. Bit error model In this paper, we represent the bit error process of the wireless channel using a covariance-stationary two-state Markov modulated process. Using the relatively simple algorithm outlined below, it is possible to capture 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 (FSMC) and its variants are straightforward [8]. We model the bit error process using a two-state Markov modulated process. Let {W E (l),l = 0,,...}, W E (l) {0,}, denote the model with the modulating Markov chain {S E (l),l =0,,...}, S E (l) {0,}. The model is completely defined using the set of matrices D E (k), k =0,, containing transition probabilities from state i to state j with or without incorrect reception of a channel symbol. To parameterize a covariance-stationary binary process, only the mean and the lag- NACF have to be captured. In our previous work, it was shown that there is a unique switched Bernoulli process (SBP), matching the mean and the lag- NACF of covariance-stationary bit error observations [9]. This model is given by { α E = ( K E ())E[W E ], f,e () = 0, () β E = ( K E ())( E[W E ]), f,e () =, where α E and β E are transition probabilities from state to state and from state to state, respectively; K E () is the normalized autocorrelation coefficient of bit error observations at lag Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

6 R. DUNAYTSEV ET AL. (lag- NACF); E[W E ] is the mean of bit error observations (BER); f,e () and f,e () are probabilities of error in states and, respectively. Details of the algorithm are outlined in [9]. 3.. Frame error model Let the frame length is constant and equals to m bits (Figure ). Consider the stochastic process {W N (n),n =0,,...}, W N (n) {0,,...,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 =0,,...} and can be completely parameterized via parameters of the bit error process {W E (l),l =0,,...} as shown below. To parameterize {W N (n), n =0,,...}, wehavetodeterminem-step transition probabilities of the modulating Markov chain {S E (l), l =0,,...} with exactly k, k =0,,...,m, incorrectly received bits. Denote the probability of transition from state i to state j for the Markov chain {S N (n), n =0,,...} with exactly k, k =0,,...,m, incorrectly received bits in a bit pattern of length m by d N,ij (k)=pr{w N (n)=k, S N (n)= j S N (n )=i}. Let the set of matrices D N (k), k =0,,...,m, contains these transition probabilities. These matrices can be found using D E (k), k =0,, as given in (), were D N (i), i =3,4,...,m, can be obtained by induction from D N () or D N (m ). The easiest way is to induce D N (i), i =,3,..., m/, from D N () and D N (i), i =m,m 3,..., m/, from D N (m ): D N (0) = D m E (0), D N () = 0 k=m D N () = m. D N (m ) = k=0 0 k=m D N (m) = D m E (). D m k E (0)D E ()D k E (0), D k E (0)D E () 0 i=m k D m k E ()D E (0)D k E (), D m i k E (0)D E ()D i E (0), Note that the computation according to () is a challenging task and becomes impossible when m is large. Instead, one may use a recursive method as outlined below. Let us extend the definition of D N (k), k =0,,...,m, as follows. We denote the probability of transition from state i to state j for the Markov chain {S N (n),n =0,,...} with exactly k, k =0,,...,m, incorrectly received bits in a bit pattern of length m by d N,ij (k,m).letthesetof matrices D N (k,m), k =0,,...,m, contain these transition probabilities. Since at most two errors may occur in two consecutive slots, we have the following expression for D N (i,), i =0,,: D N (i,)= i D N (k)d E (i k), i =0,,, (3) where D E () is a matrix of zeros. Recursively, we get: D N (i,3) = i k=0 k=0 D N (k,)d E (i k), i =0,,...,3, D N (i,4) = i D N (k,3)d E (i k), i =0,,...,4, k=0. (4) () Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

7 MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS D N (i,m ) = i D N (k,m )D E (i k), i =0,,...,m, k=0 D N (i,m) = i D N (k,m )D E (i k), k=0 where D E (k), k, and D N (i,m), i m +, are all zero matrices. Taking this into account, we finally obtain: i =0,,...,m, { DN (i,k )D N (0,), i =0, D N (i,k)= D N (i,k )D N (0,)+ D N (i,k )D N (,), i 0, (5) where D N (i,)= D E (i), i =0,. Expression (5) defines D N (k), k =0,,...,m, foragivenm. Using the proposed approach, the computational complexity decreases significantly and the model can be used for large values of m. Consider now the frame error process {W F (n), n =0,,...}, W F (n) {0,}, where 0 indicates correct reception of a frame, denotes 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 =0,,...} with exactly k, k =0,, incorrectly received frames by d F,ij (k), k =0,. These probabilities are then combined in the matrices D F (0) and D F (). The process {W N (n), n =0,,...}, W N (n) {0,,...,m}, describing the number of bit errors in consecutive frames, is related to the frame error process {W F (n), n = 0,,...}, W F (n) {0,}, as follows: D F (0)= F T D N (k), D F ()= m D N (k) (6) k=0 k=f T where F T, F T =l +, is the so-called frame error threshold, determining whether a certain frame is correctly received or not; l is the number of errors that can be corrected by the FEC code. Expressions (6) have the following interpretation: if the number of incorrectly received bits in a frame is greater than or equal to the value of the frame error threshold (k F T ), then the frame is incorrectly received and W F (n)=. Otherwise (k<f T ), it is correctly received and W F (n)=0. Thus, the transition probability matrices (6) take the following form: D F (0)= F T D N (k), D F ()= m D N (k). (7) k=0 k=f T One may note that in (5) it is not required to compute D N (k) forallk =0,,...,m. Alternatively, D F () can be found using the following relation: ( FT D F ()= D m E k=0 ) D N (k). (8) Note that the model proposed in this subsection assumes that an FEC block code of BCHtype (named after its inventors, Bose, Chaudhuri, Hocquengham) with one bit per data symbol is used at the wireless channel. However, this model can be extended to estimate the performance of FEC codes with more than one bit per data symbol. For example, a system with M-ary Reed-Solomon block codes can be analyzed. In order to provide this extension, an additional segmentation/reassembly procedure (bits to M-ary data symbols) should be carried out using the analytical tool presented above Packet service model Consider now the frame service process at the data link layer. We assume that each frame requires exactly a single time slot to be transmitted over the wireless channel (m/μseconds). All IP packets are of the same length (MTU bits) and segmented to ν frames at the data link layer (Figure ). Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

8 R. DUNAYTSEV ET AL. i failures out of (v+i) transmission attempts v v Time, slots Figure 3. Sequence of frame transmissions in an IP packet. Owing to impairments introduced by the wireless transmission medium, successful delivery of a frame may take a random amount of time. As a result, successful delivery of an IP packet is also a random variable with a certain distribution. To parameterize the packet service process, we have to find the IP packet service time distribution. Consider the packet service process describing the number of slots required to successfully transmit an IP packet. Let f P (k), k =v,v+,..., be the probability function (PF) of the time required to transmit an IP packet over the wireless channel. In order to correctly transmit an IP packet, we have to correctly transmit all frames to which this packet was segmented. Thus, the minimum time to transmit an IP packet is the amount of time to successfully transmit all v frames from the first try. Since the data link layer is completely reliable, the maximum transmission time of a packet is virtually unlimited. First, consider the situation when all frames in a packet are successfully transmitted in their first attempts. In this case, the duration of packet transmission is exactly v slots. In order to the service time of a packet be (v +) slots, there should be exactly one incorrectly transmitted frame in a sequence of v frames. Generalizing to (v +i) slots delay, we note that there should be exactly i transmission attempts that failed to transmit a frame correctly. Note that any packet transmission should accomplish with a correctly received frame. The sequence of frame transmissions in an IP packet is illustrated in Figure 3, where the gray rectangles denote a failed transmission attempt and the white rectangles stand for a successful transmission attempt. Let {W i,p (u), u =0,,...}, i =v,v+,..., W i,n (u) {0,,...,i}, u =ni, be the set of stochastic processes describing the number of incorrectly received frames in a sequence of i, i =v,v+,..., attempts. Each of these processes contributes one term to the PF describing the transmission time of an IP packet over the wireless channel. For example, W v+i,n (u)=i describes the case when the transmission delay of an IP packet consisting of ν framesisexactly(v +i) slots with i failed transmission attempts. As a result, in order to determine f P (k), k =m,m +,..., we have to obtain probabilities W v+i,n (u)=i for all {W i,p (u), u =0,,...}, i =v,v+,.... These processes are doubly stochastic, modulated by the underlying Markov chain {S i,p (u), u =0,,...}, and can be completely parameterized via parameters of the frame error processes {W F (n), n =0,,...}. To parameterize {W i,p (u), u =0,,...}, i =v,v+,..., for each process, we have to determine i-step transition probabilities between states of the modulating Markov chain {S F (n), n =0,,...} with exactly k, k =0,,...,m, incorrectly received bits. Let the set of matrices D i,p (k), k = 0,,...,i, contain transition probabilities from state i to state j for the Markov chain {S i,p (u), u = 0,,...} with exactly k, k =0,,...,i, incorrectly received frames in a frame pattern of length i. These matrices can be found using D F (k), k =0,,..., and expressions similar to (): D i,n (0) = D i F (0), D i,n () = 0 k=i D i,n () = i. k=0 D i k F (0)D F ()D k F (0), D k F (0)D F () 0 j=m k i j k DF (0)D F ()D j F (0), (9) Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

9 MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS D i,n (i ) = 0 k=i D i,n (i) = D i F (). D i k F ()D F (0)D k F (), Note that the computation of D i,p (k), k =0,,...,i, is a challenging task that becomes impossible when i is large. Instead, we propose to use the recursive algorithm explained below. Let d P,ij (k,m) be the probability of transition from state i to state j for the Markov chain {S F (n), n = 0,,...} with exactly k, k =0,,...,m, incorrectly received frames in a frame pattern of length m, m =v,v+,.... Let the set of matrices D P (k,m) contain these transition probabilities. Setting D P (k,)= D F (k), k =0,, we find D P (k,m) usingd F (k), k =0,, as: { DP (i,k )D P (0,), i =0, D P (i,k)= D P (i,k )D P (0,)+ D P (i,k )D P (,), i 0. (0) Recalling that the successful packet transmission is only possible when the last frame is also successfully transmitted, the expression for f P (k), k =m,m +,..., is given by f P (k)= π k (D P (k v,k )D F (0)) e, () where e is a vector of ones of the appropriate size; π k is the steady-state probability vector of {W k,p (n), n =0,,...}. The vector π k, k =v,v+,..., can be found as the solution of the following matrix equations: π k D k F = π k, π k e =. Finally, the mean time (expressed in seconds) required to transmit an IP packet over the wireless channel can be obtained as: ε = m μ k=v f P (k)k. () 4. TCP SACK MODEL In this section, we consider the evolution of a long-lived TCP SACK connection and derive expressions for its long-term steady-state throughput, the mean RTT, and the spurious timeout probability. The developed model is based on the renewal-reward approach proposed in [30, 3]. To begin with, let us examine steady-state TCP SACK behavior in the absence of delay spikes caused by wireless channel impairments. Consider the system model depicted in Figure. In high-speed and long-distance wired networks, the bit length of links is usually greater that 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 instant of time when a stream of bits fully occupies this link [3, p. ]. 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, such as mobile networks, the bit length of wireless links is smaller than the length of a typical data packet. To illustrate this point, let us consider a 0 Mbit/s wireless channel where the distance between the transmitter and the receiver is 3 km. In free space, the propagation speed of radio waves is almost the same as that of light (approximately km/s), so they would arrive at the receiver in about 0.0 ms. Then the bit length of the link is equal to 00 bits, which is much smaller than the length of a typical full-sized 500-byte ( 000 bits) data packet. At the same time, a 00 Mbit/s wired link, connecting the sender and the receiver located 00 km apart, has the bit length of bits (note that wired media slow down signal propagation to about km/s). Thus, in contrast to the wired network (Figure ), where IP packets are usually sent back-to-back, the wireless channel cannot hold multiple packets at once. Moreover, assuming that the ARQ receiver immediately acknowledges the reception of every incoming data frame (either using a positive acknowledgement or an NAK), we get that all frames to which a previous packet was segmented Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

10 R. DUNAYTSEV ET AL. should be successfully transmitted before starting a new transmission. Consequently, at most one IP packet can be in transit on the wireless channel at a time. Let the mean time required to transmit an IP packet over the wireless channel be ε seconds, where ε is from (). 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/ε bits per second, assuming that there is always at least one packet waiting for transmission on the wireless channel (e.g. see Figure 3). 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 [33]. 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. To fully utilize the wireless channel, the buffer at the intermediate system should be sized as B C and C + B 3. This is caused by the fact that at least three duplicate ACKs are required to trigger 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 packet) [5, ]. In this case, the capacity of the wired network can be found as the bandwidth-delay product (expressed in packets of the MTU size), while the capacity of the wireless channel is equal to just one packet: C = ( ) MTU τ+mtu = τ +. (3) MTU ε ε In order to evaluate the order of magnitude of C, consider the difference in latency between wired and wireless links (that is, between τ and ε). As shown in Figure 4, the one-way latency for a link can be defined as a sum of the propagation delay and the transmission delay. The 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 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 500-byte packet at 00 Mbit/s is about 0. ms. For fiber optics, the speed of signal propagation is about 3 of the speed of light in vacuum, which implies about 0.5 ms of the propagation delay for every 00 km. Typical wired wide area network (WAN) 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 τ is larger than just the two-way propagation delay due to the queuing delay component caused by cross-traffic in the wired network. According first bit T prop first bit last bit T prop T trans T trans last bit Wired link Wireless link Figure 4. One-way latency. Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

11 MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS to large-scale Internet measurements [34 36], RTTs of the vast majority of TCP connections are below 500 ms. In addition, note that τ 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 τ is mainly determined by the distance between the sender and the intermediate system (Figure ). The distance in wireless access networks is short enough compared with that in wired WANs because the distance does not exceed the cell size. Moreover, radio waves propagate at approximately 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 the 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 500-byte packet at 0 Mbit/s is.4 ms. Suppose the distance between the base station and the mobile terminal is 3 km. Then the propagation delay is 0.0 ms. As a result of our calculations, we conclude that the values of τ and ε in (3) have approximately the same order of magnitude and, hence, the average end-to-end path capacity C is in the range of several to tens of full-sized packets. In practice, buffers are significantly overprovisioned in order to prevent packet losses due to buffer overflow [33]. Thus, our assumption that B 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 andb C, it implies that C + B 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 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 loss recovery algorithm []. 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 (Figure 5). The factor b depends on the acknowledgement policy of the receiver: as specified in [37], the receiver should use delayed ACKs, sending an ACK for every other received segment (b =), unless the delayed ACK timer expires; however, it is also allowed to send an 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) (Figure 5), we get: ( ) C + B E[A CA ]=b, E[Y CA ]= 3b ( ) C + B, p = E[Y CA ], (4) where E[A CA ] is the expected duration of a congestion avoidance (CA) 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 is the packet loss rate due to buffer overflow. Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

12 R. DUNAYTSEV ET AL. ( C+ B) cwnd, pkts buffer overflows C+ B A CA A CA A CA Time, rounds Figure 5. TCP SACK window evolution in the absence of delay spikes. 40 cwnd size queue size 40 cwnd size queue size Window/Queue, pkts Window/Queue, pkts (a) Time, s (b) Time, s Figure 6. TCP SACK window evolution and buffer occupancy: (a) B>C and (b) B =C. The RTT is given by three components: the round-trip delay τ 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 τ 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]. 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- [38]. One may note that the queuing delay depends on the current value of the cwnd and the ratio between the buffer size B and the average end-to-end path capacity C. Taking into account that in the absence of delay spikes the minimum value of the cwnd is (C + B)/ and the maximum is (C + B) packets (Figure 7), we get the mean queue size during a congestion avoidance phase as: E[R CA ]= b ( ) C + B ( )( C + B +b B C + B ) ( ) = C + B b 3B C. (5) 4 Then the mean queuing delay can be found by multiplying the mean queue size E[R] by the mean time ε required to transmit an IP packet over the wireless channel. In the absence of delay spikes, E[R]= E[R CA ]. Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

13 MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS B Queue size, pkts C+ B B Queue size, pkts C+ B C+ B b Time, rounds C+ B b Time, rounds B > C B = C Figure 7. Queue size as a function of the ratio between the buffer size B and the average end-to-end path capacity C. Intermediate system Receiver Intermediate system Receiver Intermediate system Receiver L T T T ACK L L T T T delack ACK ACK+ ACK b = T delack = 0 s b = T delack T b = T delack < T Figure 8. Round-trip delay of the wireless channel. 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 with the size of IP packets carrying TCP data segments (typically, a 40-byte ACK packet versus a 500-byte data packet). Moreover, we do not take into account the propagation delays in both directions, because, as it was demonstrated earlier, these delays are negligibly small compared with the time required to transmit a data packet over the wireless channel. The delayed ACK algorithm affects 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 round-trip delay of the wireless channel as a function of the delayed ACK algorithm and the inter-packet arrival time is shown in Figure 8, where T andt are the time intervals required to successfully transmit all frames to which packets and were segmented, respectively. Then the mean round-trip delay of the wireless channel can be obtained as { bε, ε TdelACK or b =, L = (6) ε+t delack, ε>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, we get the mean value of the RTT as where E[R] is the mean queue size. RTT =τ+ E[R]ε+ L, (7) Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

14 R. DUNAYTSEV ET AL. Now let us consider the effect of delay spikes on the long-term steady-state throughput of a TCP SACK connection. As it was pointed out in [3], a TCP spurious timeout occurs when the RTT value suddenly increases to the extent that it exceeds the duration of the TCP retransmission timer (i.e. RTO seconds). In the considered scenario, the completely reliable data link layer can cause a sudden delay due to bit errors on the wireless channel and a large number of subsequent retransmissions of the incorrectly received frames. Consider the transmission of packets during the initial slow start (SS) phase when the delayed acknowledgement algorithm is disabled and the receiver acknowledges every segment it gets (Figure 9). For simplicity of illustration, let us assume that the initial window (IW) is equal to two full-sized segments [39] and the SS threshold (ssthresh) is sufficiently high. Once the TCP connection has been established, the sender begins sending data packets. When the sender transmits the first packet, it starts the TCP retransmission timer so that it will expire after RTO seconds. After approximately τ/ seconds the first packet arrives at the intermediate system. Since the wireless channel is idle and the buffer is empty, the incoming packet will be serviced immediately: at the data link layer it will be segmented to a number of frames and these frames will be transmitted one after another over the wireless channel. Packet arriving at the intermediate system will find the wireless channel busy and will be buffered for later transmission. Let T be the time required to successfully transmit all frames to which packet was segmented. The receiver then replies with an ACK segment (ACK). As soon as the wireless channel becomes idle, the packet service process starts all over again: packet is passed to the data link layer for segmentation and subsequent transmission over the wireless channel. Since we assume that the wireless channel in the reverse direction is completely reliable and that the feedback is almost instantaneous, it will take only τ/ seconds to deliver ACK to the sender. The next ACK (ACK) will arrive after T seconds, where T is the time required to successfully transmit all frames to which packet was segmented. Similarly, ACK3 will arrive at the sender after T 3 seconds and so on. Note that these arrivals are separated by the time required to transmit a corresponding IP packet over the wireless channel. When the delayed ACK algorithm is enabled, the receiver acknowledges every other incoming segment or delays an ACK for T delack seconds (Figure 0). In this case, the mean inter-ack gap is given by (6). In accordance with [3], when an ACK is received that acknowledges new data, the TCP retransmission timer should be restarted so that it will expire after RTO seconds (see Step 5.3 in [3]). Thus, every time a new ACK arrives, the TCP retransmission timer will be restarted (denoted by gray diamonds in Figures 9 and 0). Therefore, the only possibility for a TCP spurious timeout to occur is to transmit an IP packet over the wireless channel within RTO seconds or more. In order to illustrate and validate the above examples, we used Iperf [40], a standard tool for measuring network performance, to generate TCP flows between a server host in a high-speed wired domain (00 Mbit/s Ethernet) and a client host connected via a wireless last-hop link (EDGE). In our experiments, we used Wireshark [4] to capture packet traces at both sender and receiver. Figures and depict the obtained results for immediate and delayed ACKs, respectively. For the sake of simplicity, we do not show the delay caused by the three-way handshaking process. Examining the time-sequence graphs, we can make the following observations. TCP, being a window-based protocol, sends packets into the network in bursts. This is especially noticeable in the SS phase (Figures (a) and (a)). However, when the bottleneck link is saturated with incoming traffic and is fully utilized, data packets arriving at the receiver tend to be well distributed in time (Figures (b) and (b)). Note that the gaps between packet arrivals at the beginning of the initial SS phase in Figure (b) are due to the fact that the TCP sending rate at that time is less than that required to fill the pipe (i.e. the end-to-end path capacity and the bottleneck link buffer). Thus, in case of a single greedy source under steady-state conditions, the interarrival time distribution at the receiver is completely determined by the service process of the wireless channel. Since packet arrivals are spread in time, the corresponding ACKs will be sparsely issued as well. In turn, this smoothes out the transmission of packets (see Figures 3 and 4). Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

15 MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS IW = segm. ssthresh = 44 segm. cwnd = cwnd = cwnd + # ACK = + = cwnd = cwnd + # ACK = 3+ = cwnd = cwnd + # ACK = 4 + = cwnd = cwnd + # ACK = 5+ = cwnd = cwnd + # ACK = 6+ = cwnd = cwnd + # ACK = 7+ = cwnd = cwnd + # ACK = 8+ = τ T τ T T3 T4 T5 T6 T7 T8 Sender ACK Intermediate system ACK ACK 3 ACK3 4 ACK4 5 ACK5 6 ACK6 7 ACK7 8 ACK8 Receiver T ACK9 0 Figure 9. End-to-end transmission of a window of packets, MSS=460 bytes, ssthresh=64kb, b=. A common approach to estimate the long-term steady-state throughput of a single TCP source is to compute the ratio between the expected transmission window size and the mean RTT. This concept is used, for instance, in [6, 7, 30, 3]. However, armed with a wireless channel model (such as the one introduced in the previous sections) and assuming that the wireless channel is fully utilized, we can define the TCP steady-state throughput as the ratio between the maximum segment size (MSS) and the mean time required to transmit an IP packet over the wireless channel. At this point, we only need to know the mean RTT to calculate the expected duration of the RTO and, thereby, to estimate the spurious timeout probability. To calculate the mean duration of the TCP retransmission timeout, we use the following approximation. Commonly, TCP implementations use a coarse-grained retransmission timer, having granularity of 500 ms. Moreover, the current standard [3] requires that whenever the RTO is computed, if it is less than s then it should be rounded up to s. At the same time, some TCP implementations use a fine-grained retransmission timer and do not follow the requirements of [3] by allowing, for example, the minimum limit of 00 ms. Then we obtain the expected duration of the RTO as RTO =max(xrtt,rto min ), (8) where x, x>, relates to the granularity of the TCP retransmission timer; RTO min is the minimum value of the RTO; RTT is from (7). Since x>, E[R], and L ε, we get that RTO is at least several times larger than ε: RTO =max(x(τ+ E[R]ε+ L),RTO min )= Mε, M>. (9) Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

16 R. DUNAYTSEV ET AL. IW = segm. ssthresh = 44 segm. cwnd = cwnd = cwnd + # ACK = + = τ T T τ Sender ACK Intermediate system ACK+ 3 Receiver 4 cwnd = cwnd + # ACK = 3+ = T5 ACK ACK cwnd = cwnd + # ACK = 4 + = T6 T7 ACK ACK cwnd = cwnd + # ACK = 5+ = T8 ACK7+8 ACK7+8 9 Figure 0. End-to-end transmission of a window of packets, MSS=460 bytes, ssthresh=64kb, b=. 50 Packet departures 50 Packet arrivals Data packets sent 30 0 Data packets received (a) Time since the first data packet, s (b) Time since the first data packet, s Figure. Time-sequence graph of a TCP connection over EDGE, MSS=460 bytes, ssthresh=64kb, b=: (a) The sending side and (b) The receiving side. Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

17 MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS 50 Packet departures 50 Packet arrivals Data packets sent 30 0 Data packets received (a) 0 Time since the first data packet, s (b) 0 Time since the first data packet, s Figure. Time-sequence graph of a TCP connection over EDGE, MSS=460 bytes, ssthresh=64kb, b=: (a) The sending side and (b) the receiving side. 50 Packet departures 50 Packet arrivals Data packets sent 30 0 Data packets received (a) Time since the first data packet, s (b) Time since the first data packet, s Figure 3. Time-sequence graph of a TCP connection over EDGE, MSS=460bytes, ssthresh=6kb, b=: (a) The sending side and (b) the receiving side. Then the spurious timeout probability can be obtained as the probability that the amount of time required to transmit an IP packet over the wireless channel and to get an ACK segment back will be several times larger than Mε: f P (k), b =, k= μ m Mε Q = f,p (k), b =, ε T delack, k= μ m Mε k= μ m Mε f P ( μ ) k + m T delack, b =, ε>t delack, (0) Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

18 R. DUNAYTSEV ET AL. IW = segm. ssthresh = segm. FlightSize = 0, cwnd = FlightSize =, cwnd = cwnd + # ACK = + = FlightSize =, cwnd = cwnd + # ACK = 3+ = FlightSize = 3, cwnd = cwnd + # ACK = 4+ = FlightSize = 4, cwnd = cwnd + # ACK = 5+ = FlightSize = 5, cwnd = cwnd + # ACK = 6+ = FlightSize = 6, cwnd = cwnd + # ACK = 7+ = FlightSize = 7, cwnd = cwnd + # ACK = 8+ = FlightSize = 8, cwnd = cwnd + # ACK = 9+ = FlightSize = 9, cwnd = cwnd + # ACK = 0+ = FlightSize = 0, cwnd = cwnd + # ACK = > ssthresh FlightSize =, cwnd = cwnd + cwnd τ T τ T T3 T4 T5 T6 T7 T8 T9 Sender ACK Intermediate system 3 ACK ACK 3 ACK3 4 ACK4 5 ACK5 6 ACK6 7 ACK7 8 ACK8 9 ACK9 0 ACK0 ACK ACK Receiver Figure 4. End-to-end transmission of a window of packets, MSS=460bytes, ssthresh=6kb, b=. where is the ceiling function; μ/m is the number of frames transmitted per second or, what is the same, the number of slots per second; f,p (k) is the convolution of two functions, f,p (k)= f P (k) f P (k). The expected duration (in seconds) of a delay spike (DS) can be computed as: E[Z DS ]= m μ m μ m μ f P (k)k, b =, k= μ m Mε f,p (k)k, k= μ m Mε b =, ε T delack, ( μ ) k + m T delack k, b =, ε>t delack. k= μ m Mε f P () Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

19 MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS ( C+ B) cwnd, pkts W W buffer overflows C+ B ssthresh max ( W, ) delay spike (i ) SS CA... n A A A cycle i CA delay spike i Time, rounds Figure 5. TCP SACK window evolution in the presence of delay spikes. Thus, each data packet may be excessively delayed with probability Q due to a large number of transmission attempts at the data link layer, causing a TCP spurious timeout. On the other hand, it may be delivered in time (i.e. before the TCP retransmission timer expires) with probability ( Q). Similar to [3], we consider the evolution of a TCP SACK connection as a sequence of cycles, where a cycle is a period between two consecutive delay spikes (Figure 5). Then the expected number of packets sent during a cycle can be defined as: E[Y ]= ( Q) k Qk= Q. () k= When the variability in the wireless channel quality introduces a sudden delay in the service process of an IP packet, all the subsequent transmissions up to the end of the delay spike will be delayed as well. After TCP retransmission timer expiration, the sender retransmits the first unacknowledged segment, and in the absence of any feedback from the receiver it will continue trying to deliver this segment as specified in [3]. When the delay spike ends, the ACK for the original transmission returns to the sender. On receipt of this ACK after the wireless channel outage, the sender mistakenly interprets it as acknowledging the recently retransmitted segment and enters the SS phase with unnecessary retransmission of all other outstanding segments in the Go-Back-N mode. Since none of the outstanding segments was lost, all these segments get retransmitted unnecessarily. These unnecessarily retransmitted segments arrive as duplicate at the receiver, which in turn triggers a series of duplicate ACKs. In the absence of the SACK option or timestamps, a duplicate ACK carries no information to identify the packet that triggered this ACK, so the sender is unable to distinguish between a duplicate ACK that results from a lost packet, and a duplicate ACK that results from unnecessary retransmission of a packet that had already been received at the receiver. In early TCP implementations, spurious timeouts usually lead to unnecessary multiple fast retransmits and, consequently, multiple reductions of the cwnd. As was demonstrated in [4], TCP SACK is robust against false fast retransmits, since the SACK option with the D-SACK extension allows the sender to infer when it has unnecessarily retransmitted a segment. Based on the above reasoning, we assume that the SS phase continues until the cwnd reaches the ssthresh and then a congestion avoidance phase begins (Figure 5). Let W i denote the window size when delay spike (i ) occurs. After TCP retransmission timer expiration, the current values of the ssthresh and the cwnd will be set as ssthresh i =max(w i /,) and cwnd=, respectively. If delay spikes are less frequent than packet losses due to buffer overflow (i.e. p>q), then we can safely assume that the random variable W i is uniformly distributed from (C + B)/ to(c + B). Hence E[W ]= ( C + B ) +C + B = 3 ( C + B ) ( ) E[W ], E[ssthresh] = max,. (3) Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

20 R. DUNAYTSEV ET AL. The expected durations of the CA and CA phases (Figure 5) can be found as ( C + B E[A CA ] = b E[W ] ) = b ( ) C + B, 4 ( E[A CA ] = b E[W ] C + B ) = b ( ) C + B, (4) and the expected number of segments sent during these phases can be defined as: ( C + B E[Y CA ] = b E[W ] ) E[W ] + b ( C + B ( E[Y CA ] = b E[W ] C + B )( ) C + B + b E[W ] ) = 7b 3 ( E[W ] C + B ) = 5b 8 ( ) C + B, ( ) C + B. (5) The number of segments transmitted during an SS phase can be closely approximated as a geometric series Yi SS =+γ+γ + +γ Ni =(γ N i )/(γ ), where γ=+/b [43]. Taking into account that in the SS phase of the ith cycle the cwnd growths exponentially from one to ssthresh i packets, we get that γ N i =max(w i /,). Then the expected duration (in rounds) of the SS phase and the expected number of segments sent during this phase can be expressed as: ( ( ) ) ( ) γe[w ] γe[w ] E[A SS ]=max log γ,, E[Y SS ]=max,3. (6) (γ ) Neglecting those segments that were unnecessarily retransmitted during the delay spike, the total number of segments sent during the ith cycle is Y i =Yi SS +Yi CA +n i Y CA +Yi CA (Figure 5). Combining (4), (), (5), and (6), we obtain the expected number of buffer overflows within acycle: E[n]= E[Y ] E[Y SS ] E[Y CA ] E[Y CA ] E[Y CA. (7) ] Let us compare the durations of the SS phase after a delay spike and the subsequent congestion avoidance phase. Figure 6 shows the ratio between the expected durations (in rounds) of the congestion avoidance phase, which can be defined as E[A CA ]+ E[n]E[A CA ]+ E[A CA ], and the SS phase (6). It is easy to see that the SS phase is much shorter than the subsequent congestion avoidance phase over a wide range of network conditions. Figure 6. Ratio between the expected durations of the congestion avoidance phase and the slow start phase after a delay spike: (a) b= and(b)b=. Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

21 MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS Bit error model lag- NACF BER Frame error model FEC code parameters Packet service model MTU size TCP steady -state throughput TCP model Mean RTT Spurious timeout probability Bottleneck buffer size Data rate of the wireless channel RTT of the wired network Number of segments ACKed by one ACK RTO granularity Figure 7. Proposed model. Since the SS phase after a delay spike is short compared to the subsequent CA phases and, hence, can be safely neglected, the mean queue size during a cycle can be found as E[R]= E[RCA ]E[n]E[A CA ]+ E[R CA ]E[A CA ]+ E[R CA ]E[A CA ] E[n]E[A CA ]+ E[A CA ]+ E[A CA. (8) ] Similar to (5), the expected queue size during the CA and CA phases can be found as: E[R CA ]= 7B 9C, B> 5C 6 3, (B C) C + B, [ B C, 5C 3 ], E[R CA ]= 5B 3C. (9) 8 Taking into consideration that the expected number of packets sent during a cycle is given by () and the mean time required to transmit an IP packet over the wireless channel is equal to ε seconds, we define the TCP long-term steady-state throughput as E[Y ]MSS T = E[Y ]ε+ E[Z DS ] = MSS ε+ QE[Z DS ], (30) where MSS=MTU 40bytes; ε is from (); Q is from (0); E[Z DS ] is from (). Clearly, T MSS/ε and E[R] E[R CA ] for small values of Q. Finally, Figure 7 summarizes the proposed model including all the input/output parameters. Note that the model has a modular structure, which provides the following benefits. First, following the TCP/IP layering makes the analytical model tractable. Second, modular design allows to easily extend the model by adding implementation- and protocol-specific details. 5. NUMERICAL ANALYSIS In this section, we use the developed model to estimate various metrics characterizing TCP performance over wireless channels with completely reliable ARQ/FEC. To demonstrate the effect of different FEC codes, we use the following BCH codes: (55,3,8), (5,50,3), (55,87,6), and (5,57,5), 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 the code rate of the first two FEC codes is approximately and the code rate of the last two FEC codes is roughly 3. Note that the number of frames per packet can be defined as v = MTU/n. Table I summarizes the values of v for the given FEC codes and MTU=500 bytes. The BER of the wireless channel is set to vary between 0.0 and 0.0. Note that the latter value corresponds to a very noisy wireless channel. The lag- NACF varies from 0.0 (the bit error Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

22 R. DUNAYTSEV ET AL. Table I. Number of frames per packet. (55,3,8) (5,50,3) (55,87,6) (5,57,5) Frames per packet (v) Table II. Default system parameters. Parameter Value BER (E[W E ]) 0.0,0.0,...,0.0 lag- NACF (K E ()) 0.0,0.,...,0.9 FEC code (55,3,8), (5,50,3), (55,87,6), (5,57,5) Maximum Transmission Unit (MTU) 500 bytes Maximum Segment Size (MSS) 460 bytes Bottleneck link buffer size (B) 0 full-sized packets Data rate of the wireless channel (μ) Mbit/s Round-trip delay of the wired network (τ) 0ms Number of segments ACKed by one ACK (b) RTO granularity (x) process has no autocorrelation at lag ) to 0.9 (a high degree of autocorrelation at lag ). Values of the default system parameters used in the numerical analysis are listed in Table II. 5.. The time required to transmit an IP packet over the wireless channel First of all, let us consider the mean number of transmission attempts per frame (including failed and successful transmissions) as a function of E[W E ], K E (), and different FEC codes (Figure 8). As expected, when the BER is small, the FEC code can correct all errors in a frame without requiring a retransmission. Thus, all frames in an IP packet will be successfully transmitted in their first attempts. However, when the BER increases and not all transmission errors can be corrected, the erroneous frame is discarded and a retransmission is requested by the ARQ receiver. Obviously, when the channel quality is relatively bad, more powerful FEC codes provide better performance, requiring less transmission attempts (Figure 8(b) and (d)). Now let us consider the distribution of the time required to transmit an IP packet over the wireless channel. As an example, the PFs (in log scale) of the delay time for E[W E ]=0.03, K E ()=0.0,0.3,0.6,0.9, and different FEC codes are shown in Figure 9. PFs for other values of E[W E ] look qualitatively similar. We note that the increase in the strength of the FEC code leads to higher delays. Indeed, FEC codes with greater redundancy result in more frames and, thus, more bits to transmit. On the other hand, as it was noted above, when the BER increases, more powerful FEC codes perform better. Observing Figure 9, we also note that the lag- NACF significantly affects the delay distribution. To demonstrate the magnitude of this effect, we consider the mean values of the time required to transmit an IP packet over the wireless channel. The mean time required to transmit an IP packet over the wireless channel as a function of E[W E ], K E (), and different FEC codes is shown in Figure 0. As one may expect, the increase in the BER results in higher delay values, since those frames that are dropped due to an excessive number of incorrectly received channel symbols require retransmission and, consequently, increase the total time needed to successfully transmit all frames to which the packet was segmented. The effect of autocorrelation is more complex. When the BER is small, the lag- autocorrelation of the bit error process almost does not affect the performance of the wireless channel. But when the BER is high, the lag- autocorrelation of bit errors results in a smaller delay. This behavior can be explained as follows. The lag- autocorrelation of the bit error process manifests itself in clumping of errors (Figure ). 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 (Figure (b)). On the other hand, lower values of the lag- NACF lead to a more uniform distribution of errors over time, thus decreasing the spread in the number of errors per frame (Figure (a)). Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

23 MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS Figure 8. The mean number of transmission attempts per frame, including failed and successful transmissions: (a) (55,3,8) FEC code; (b) (55,87,6) FEC code; (c) (5,50,3) FEC code; and (d) (5,57,5) FEC code. As an example, 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. As a consequence, this increases the amount of time required to transmit an IP packet over the wireless channel. For instance, the frame length of 55 bits and E[W E ]=0.0 imply that the mean number of errors per 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. However, when the lag- autocorrelation of bit errors is sufficiently high, bit errors tend to occur in groups. Given the same BER, this unequal distribution results in more frames received correctly. This effect remains the same for all FEC codes. The only reason why it is not so noticeable in Figure 0(b) and (d) is that we do not show the region of BER values for which higher values of the lag- NACF lead to better performance. At the same time, the lag- autocorrelation of the bit error process may affect the performance of the wireless channel even when the BER is small (this is more visible in Figure 7(a), when K E ()=0.9andE[W E ]=0.0). That is, it leads to slightly worse performance for FEC codes with a small error correcting capability. Indeed, large values of the lag- NACF lead to more lengthy bursts of errors within a frame that the FEC code cannot correct (Figure 3(b)). This, in turn, increases the number of transmission attempts required to successfully transmit an IP packet over the wireless channel. Figures 4 and 5 illustrate the impact of the raw data rate of the wireless channel on the mean time required to transmit an IP packet over this channel. For the sake of briefness, we present the results for the (55,3,8) and (55,87,6) FEC codes only. It is easy to see that the change in Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

24 R. DUNAYTSEV ET AL. Probability (a) Delay, s Probability (c) Delay, s Ke() = 0.0 Ke() = 0.3 Ke() = 0.6 Ke() = 0.9 Ke() = 0.0 Ke() = 0.3 Ke() = 0.6 Ke() = 0.9 Probability (b) Probability (d) Delay, s Ke() = 0.0 Ke() = 0.3 Ke() = 0.6 Ke() = 0.9 Ke() = 0.0 Ke() = 0.3 Ke() = 0.6 Ke() = Delay, s Figure 9. PFs (in log scale) of the time required to transmit an IP packet over the wireless channel: (a) (55,3,8) FEC code; (b) (55,87,6) FEC code; (c) (5,50,3) FEC code; and (d) (5,57,5) FEC code. the data rate just affects the magnitude of the delay time, since the increase in the data rate results in a smaller transmission time and vice versa. 5.. TCP spurious timeout probability Now let us estimate the spurious timeout probability for a TCP SACK connection over a wireless channel behaving in a covariance-stationary manner. As it was demonstrated in Section 4, a TCP spurious timeout occurs when the variability in the wireless channel quality introduces a sudden delay in the service process of an IP packet which is equal to or larger than RTO seconds. The expected duration of the RTO can be defined as (9). Our numerical analysis shows that the spurious timeout probability is negligibly small for M>. For instance, Figure 6(a) illustrates the PFs (in log scale) of the time required to transmit an IP packet over the wireless channel, using the (55,3,8) FEC code, for K E ()=0.0 and different values of E[W E ]. It is easy to observe that the worst possible scenario for TCP is when the BER is high. Figure 6(b) shows the PF for E[W E ]=0.07, as well as the mean of the distribution, ε, and the quantity required to estimate the probability of a spurious retransmission timeout, ε. According to the first case in (0), the probability mass beyond ε provides approximation for the TCP spurious timeout probability. Note that already for M = ande[w E ]=0.07 the probability of a spurious retransmission timeout is about 0E 4. Considering the other two cases in (0), we get that the probability of a spurious timeout is only insignificantly larger. The obtained results allow us to conclude that completely reliable ARQ does not lead to TCP spurious timeouts when wireless channel conditions are covariance-stationary. This conclusion well agrees with the findings in [3, 4, 6]. Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

25 MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS Figure 0. The mean time (in seconds) required to transmit an IP packet over the wireless channel at Mbit/s: (a) (55,3,8) FEC code; (b) (55,87,6) FEC code; (c) (5,50,3) FEC code, ε max.3s; and (d) (5,57,5) FEC code. 0 = ok, = error 0 = ok, = error Indicator Indicator (a) Received channel symbols (b) Received channel symbols Figure. The effect of autocorrelation on the bit error process, E[W E ]=0.0: (a) K E ()=0.0 and(b)k E ()= TCP SACK steady-state throughput The TCP SACK long-term steady-state throughput as a function of E[W E ], K E (), and different FEC codes is shown in Figure 7. As one may note, it is inverse proportional to the mean time required to transmit an IP packet over the wireless channel (Figure 0). Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

26 R. DUNAYTSEV ET AL Errors Error correcting capability of (55,3,8) Error correcting capability of (55,87,6) Errors Error correcting capability of (55,3,8) Error correcting capability of (55,87,6) Errors per frame Errors per frame (a) Received frames (b) Received frames Figure. The number of errors per frame versus the error correcting capability of the FEC codes, E[W E ]=0.0: (a) K E ()=0.0 and(b)k E ()= Errors Error correcting capability of (55,3,8) Error correcting capability of (55,87,6) Errors Error correcting capability of (55,3,8) Error correcting capability of (55,87,6) Errors per frame Errors per frame (a) Received frames (b) Received frames Figure 3. The number of errors per frame versus the error correcting capability of the FEC codes, E[W E ]=0.0: (a) K E ()=0.0 and(b)k E ()=0.9. Figures 8 and 9 demonstrate the impact of the MTU size on the mean time required to transmit an IP packet over the wireless channel and the TCP steady-state throughput, respectively. For the sake of briefness, we present the results for the (55,3,8) and (55,87,6) FEC codes only. It is easy to see that the change in the MTU size simply affects the magnitude of the mean time required to transmit an IP packet over the wireless channel, since the decrease in the IP packet size results in less bytes to transmit. On the other hand, the change in the MTU size almost does not affect the TCP throughput because a smaller MTU size implies a smaller MSS. The small reduction in the TCP throughput is due to the increased protocol header overhead: from to To show how different error correcting capabilities of FEC codes influence the TCP performance, we provide a graphical illustration of the difference between TCP steady-state throughputs corresponding to different FEC codes (Figure 30). Depending on the BER and the lag- NACF of bit errors, different FEC codes provide better performance. This means that for different wireless channel conditions different FEC codes provide optimal performance in terms of TCP throughput. Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

27 MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS Figure 4. The mean time (in seconds) required to transmit an IP packet over the wireless channel at 384 kbit/s: (a) (55,3,8) FEC code and (b) (55,87,6) FEC code. Figure 5. The mean time (in seconds) required to transmit an IP packet over the wireless channel at 3.6 Mbit/s: (a) (55,3,8) FEC code and (b) (55,87,6) FEC code. 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 of the FEC codes. As it was noted in [3, 4, 6], there is a certain trade-off between the bandwidth consumed by FEC and the gain archived in the TCP performance. Therefore, 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 the TCP performance and efficient resource utilization. 6. CONCLUSION In this paper, we proposed an analytical cross-layer model for a TCP SACK connection running over a covariance-stationary wireless channel with completely reliable ARQ/FEC. The proposed model allows to evaluate the effect of many parameters of wireless channels on TCP performance making it suitable for the performance optimization studies. These parameters include stochastic properties of the wireless channel characteristics, the size of protocol data units at different layers, the strength of the FEC code, the use of ARQ, 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 various technologies, this framework should be extended by adding specific details of state-ofthe-art wireless systems. Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

28 R. DUNAYTSEV ET AL. Probability (a) E[We] = 0.03 E[We] = 0.05 E[We] = Delay, s Probability ε E[We] = (b) Delay, s ε Figure 6. PFs (in log scale) of the time required to transmit an IP packet over the wireless channel, K E ()=0.0: (a) (55,3,8) FEC code and (b) (55,3,8) FEC code, ε =0.0s, ε =0.04s. Figure 7. TCP SACK steady-state throughput (in Mbit/s): (a) (55,3,8) FEC code; (b) (55,87,6) FEC code; (c) (5,50,3) FEC code; and (d) (5,57,5) FEC code. The results of the study allow us to draw the following conclusions: Setting the bottleneck buffer size to be at least as large as the end-to-end path capacity allows a TCP SACK connection to fully utilize the wireless channel and to detect all losses via the reception of three duplicate ACKs. Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

29 MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS Figure 8. The mean time (in seconds) required to transmit an IP packet over the wireless channel, MTU=576bytes: (a) (55,3,8) FEC code and (b) (55,87,6) FEC code. Figure 9. TCP SACK steady-state throughput (in Mbit/s), MTU = 576 bytes: (a) (55,3,8) FEC code and (b) (55,87,6) FEC code. Figure 30. Difference (in Mbit/s) between TCP throughputs for different FEC codes: (a) (55,3,8) versus (55,87,6) and (b) (5,50,3) versus (5,57,5). In the absence of TCP spurious retransmission timeouts, the long-term steady-state throughput of a TCP SACK connection running over a wireless channel with completely reliable ARQ can be defined as the ratio between the MSS and the mean time required to transmit an IP packet over the wireless channel. TCP spurious timeouts, reported in some empirical studies, do not occur when wireless channel conditions are covariance-stationary and should be attributed to non-stationary behavior of the Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

30 R. DUNAYTSEV ET AL. wireless channel characteristics. Moreover, the TCP spurious timeout probability is negligibly small even for very severe wireless channel conditions and a small RTO value. The amount of FEC, required to maximize TCP performance, depends on both BER and autocorrelation of the bit error process at lag. REFERENCES. Internet NetFlow: weekly reports. Available from: Barakat C, Altman E, Dabbous W. On TCP performance in a heterogeneous network: a survey. IEEE Communications Magazine 000; 38(): Inamura H, Montenegro G (eds). TCP over Second (.5G) and Third (3G) Generation Wireless Networks, RFC 348, IETF, February Tian Y, Xu K, Ansari N. TCP in wireless environments: problems and solutions. IEEE Communications Magazine 005; 43(3):S7 S3. 5. Allman M, Paxson V, Stevens W. TCP Congestion Control, RFC 58, IETF, April Fairhurst G, Wood L. Advice to link designers on link automatic repeat request (ARQ), RFC 3366, IETF, August Bai Y, Ogielski A, Wu G. Interactions of TCP and radio link ARQ protocol. Proceedings of IEEE VTC 999, Amsterdam, Netherlands, September 999; Fawal A, Barakat C. Simulation-based study of link-level hybrid FEC/ARQ-SR for wireless links and long-lived TCP traffic. Proceedings of WiOpt 003, Sophia Antipolis, France, March 003; Lundqvist H, Karlsson G. TCP with end-to-end forward error correction. Proceedings of IZS 004, Zurich, Switzerland, February 004; Kumar A. Comparative performance analysis of versions of TCP in a local network with a lossy link. IEEE/ACM Transactions on Networking 998; 6(4): Fu S, Atiquzzaman M. Modelling TCP Reno with spurious timeouts in wireless mobile environments. Proceedings of ICCCN 003, Dallas, TX, October 003; Abouzeid A, Roy S, Azizoglou M. Comprehensive performance analysis of a TCP session over a wireless fading link with queueing. IEEE Transactions on Wireless Communications 003; (): Barman D, Matta I, Altman E, Azouzi R. TCP optimization through FEC, ARQ and transmission power tradeoffs. Proceedings of WWIC 004, Frankfurt (Oder), Germany, February 004; Barakat C, Fawal A. Analysis of link-level hybrid FEC/ARQ-SR for wireless links and long-lived TCP traffic. Performance Evaluation Journal 004; 57(4): Wu Y, Niu Z, Zheng J. Cross-layer analysis of wireless TCP/ARQ systems over correlated channels. Journal of Communication and Networks 005; 7(): Vacirca F, Vendictis A, Baiocchi A. Optimal design of hybrid FEC/ARQ schemes for TCP over wireless links with Rayleigh fading. IEEE Transactions on Mobile Computing 006; 5(4): Moltchanov D, Dunaytsev R, Koucheryavy Y. Cross-layer modeling of TCP SACK performance over wireless channels with completely reliable ARQ/FEC. Proceedings of WWIC 008, Tampere, Finland, May 008; Iyer S, Bhattacharyya S, Taft N, Diot C. An approach to alleviate link overload as observed on an IP backbone. Proceedings of IEEE INFOCOM 003, San Francisco, CA, April 003; Mathis M, Mahdavi J, Floyd S, Romanow A. TCP selective acknowledgement options. RFC 08, IETF, October Floyd S, Mahdavi J, Mathis M, Podolsky M. An extension to the selective acknowledgement (SACK) option for TCP. RFC 883, IETF, July Blanton E, Allman M, Fall K, Wang L. A conservative selective acknowledgement (SACK)-based loss recovery algorithm for TCP. RFC 357, IETF, April Medina A, Allman M, Floyd S. Measuring the evolution of transport protocol in the Internet. ACM SIGCOMM Computer Communication Review 005; 35(): Paxson V, Allman M. Computing TCP s Retransmission Timer. RFC 988, IETF, November Zorzi M, Rao R, Milstein L. ARQ error control for fading mobile radio channels. IEEE Transactions on Vehicular Technology 997; 46(): Zorzi M, Rao R. Throughput analysis of Go-Back-N ARQ in Markov channels with unreliable feedback. Proceedings of IEEE ICC 995, Seattle, WA, June 995; Krunz M, Kim J-G. Fluid analysis of delay and packet discard performance for QoS support in wireless networks. IEEE JSAC 00; 9(): Fantacci A. Queuing analysis of the selective repeat automatic repeat request protocol for wireless packet networks. IEEE Transactions on Vehicular Technology 996; 45(): Swarts J, Ferreira H. On the evaluation and application of Markov channel models in wireless communications. Proceedings of IEEE VTC 999, Houston, TX, May 999; Moltchanov D, Koucheryavy Y, Harju J. Simple, accurate and computationally efficient wireless channel modeling algorithm. Proceedings of WWIC 005, Xanthi, Greece, May 005; Mathis M, Semke J, Mahdavi J, Ott T. The macroscopic behavior of the TCP congestion avoidance algorithm. Computer Communication Review 997; 7(3):67 8. Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

31 MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS 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 000; 8(): Stallings W. Data and Computer Communications (8th edn). Prentice-Hall Inc: Englewood Cliffs, NJ, Appenzeller G, Keslassy I, McKeown N. Sizing router buffers. ACM SIGCOMM Computer Communication Review 004; 34(4): Shakkottai S, Srikant R, Brownlee N, Broido A, Claffy KC. The RTT distribution of TCP flows in the Internet and its impact on TCP-based flow control. CAIDA Technical Report, TR-004-0, January Aikat J, Kaur J, Donelson Smith F, Jeffay K. Variability in TCP round-trip times. Proceedings of ACM SIGCOMM Internet Measurement Conference, Miami, FL, October 003; Wang Y, Ye S, Li X. Understanding current IPv6 performance: a case study from CERNET. Proceedings of IEEE ISCC 005, Cartagena, Spain, June 005; Braden R. Requirements for Internet Hosts Communication Layers. RFC, IETF, October The network simulator ns-. Available from: Allman M, Floyd S, Partridge C. Increasing TCP s Initial Window, RFC 3390, IETF, October Iperf. Available from: 4. Wireshark: go deep. Available from: 4. Guan Y, Van den Broeck B, Potemans J, Theunis J, Li D, Van Lil E, Van de Capelle A. Simulation study of TCP Eifel algorithms. Proceedings of OPNETWORK 005, Washington, DC, August Cardwell N, Savage S, Anderson T. Modeling TCP latency. Proceedings of IEEE INFOCOM 000, Tel-Aviv, Israel, March 000; AUTHORS BIOGRAPHIES Roman Dunaytsev is a research fellow in the Department of Communications Engineering at Tampere University of Technology, Finland. He received his MSc and Candidate of Science degrees from Saint-Petersburg State University of Telecommunications, Russia, in 999 and 005, correspondingly, and a PhD degree from Tampere University of Technology, Finland, in 00. His research interests include TCP performance evaluation and PP networks. Dmitri Moltchanov is a senior research scientist in the Department of Communications Engineering at Tampere University of Technology, Finland. He received his MSc and Candidate of Science degrees from Saint-Petersburg State University of Telecommunications, Russia, in 000 and 00, respectively, and a PhD degree from Tampere University of Technology, Finland, in 006. 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 40 publications. Yevgeni Koucheryavy is a professor in the Department of Communications Engineering at Tampere University of Technology, Finland. He received his MSc degree from Saint- Petersburg State University of Telecommunications, Russia, and a PhD degree from Tampere University of Technology, Finland, in 997 and 004, correspondingly. Before joining Tampere University of Technology, he spent five years in industry with the R&D Institute of Telecommunications (LONIIS) in Saint-Petersburg, Russia, where he held various technical and managerial positions. Yevgeni actively participates in IST projects, in particular he chaired ESF COST 90 Wi-QoST: Traffic and QoS Management in Wireless Multimedia Networks ran from 004 to 008. Yevgeni has authored and coauthored over 60 papers in the field of advanced wired and wireless networking and teletraffic theory. He co-edited several proceedings books published in LNCS, Springer. Yevgeni serves on TPC of a number of conferences and workshops; he also serves as an editor for several international journals. His current research interests include various networking aspects in Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

32 R. DUNAYTSEV ET AL. wireless/mobile/mesh and heterogeneous communications, network and services performance evaluation, and cross-layer techniques. Jarmo Harju received his MSc degree from Helsinki University of Technology in 979 and PhD degree in mathematics from the University of Helsinki in 984. Between 985 and 989 he was a senior researcher at the Telecommunications Laboratory of the Technical Research Center of Finland, working with the development of protocol software. From 989 to 995 he was a professor of data communications at Lappeenranta University of Technology, Finland. Since 996 he has been a professor of telecommunications in the Department of Communications Engineering at Tampere University of Technology, Finland, where he is leading a research group in the area of networking. His research interests include TCP, QoS mechanisms, PP networks, and network architectures in general. Copyright 0 John Wiley & Sons, Ltd. Int. J. Commun. Syst. (0) DOI: 0.00/dac

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

Modeling TCP SACK performance over wireless channels with semi-reliable ARQ/FEC Wireless Netw () 6:837 863 DOI.7/s76-9-3-9 Modeling TCP SACK performance over wireless channels with semi-reliable ARQ/FEC Dmitri Moltchanov Roman Dunaytsev Published online: December 9 Ó Springer Science+Business

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented transport: TCP segment

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

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

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

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

Error Detection Codes. Error Detection. Two Dimensional Parity. Internet Checksum Algorithm. Cyclic Redundancy Check.

Error Detection Codes. Error Detection. Two Dimensional Parity. Internet Checksum Algorithm. Cyclic Redundancy Check. Error Detection Two types Error Detection Codes (e.g. CRC, Parity, Checksums) Error Correction Codes (e.g. Hamming, Reed Solomon) Basic Idea Add redundant information to determine if errors have been introduced

More information

Communications Software. CSE 123b. CSE 123b. Spring Lecture 3: Reliable Communications. Stefan Savage. Some slides couresty David Wetherall

Communications Software. CSE 123b. CSE 123b. Spring Lecture 3: Reliable Communications. Stefan Savage. Some slides couresty David Wetherall CSE 123b CSE 123b Communications Software Spring 2002 Lecture 3: Reliable Communications Stefan Savage Some slides couresty David Wetherall Administrativa Home page is up and working http://www-cse.ucsd.edu/classes/sp02/cse123b/

More information

Lecture 4: CRC & Reliable Transmission. Lecture 4 Overview. Checksum review. CRC toward a better EDC. Reliable Transmission

Lecture 4: CRC & Reliable Transmission. Lecture 4 Overview. Checksum review. CRC toward a better EDC. Reliable Transmission 1 Lecture 4: CRC & Reliable Transmission CSE 123: Computer Networks Chris Kanich Quiz 1: Tuesday July 5th Lecture 4: CRC & Reliable Transmission Lecture 4 Overview CRC toward a better EDC Reliable Transmission

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

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

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

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

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

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

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

CSE 123: Computer Networks Alex C. Snoeren. HW 1 due NOW!

CSE 123: Computer Networks Alex C. Snoeren. HW 1 due NOW! CSE 123: Computer Networks Alex C. Snoeren HW 1 due NOW! Automatic Repeat Request (ARQ) Acknowledgements (ACKs) and timeouts Stop-and-Wait Sliding Window Forward Error Correction 2 Link layer is lossy

More information

S Capacity enhancement methods for radio interface ARQ Schemes

S Capacity enhancement methods for radio interface ARQ Schemes ARQ Schemes, March 26 2004 1 S-72.630 Capacity enhancement methods for radio interface ARQ Schemes Markku Liinaharja March 25, 2004 ARQ Schemes, March 26 2004 2 Outline Classification of error control

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

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

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

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

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

Fall 2012: FCM 708 Bridge Foundation I

Fall 2012: FCM 708 Bridge Foundation I Fall 2012: FCM 708 Bridge Foundation I Prof. Shamik Sengupta Instructor s Website: http://jjcweb.jjay.cuny.edu/ssengupta/ Blackboard Website: https://bbhosted.cuny.edu/ Intro to Computer Networking Transport

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

Overview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers

Overview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers Overview 15-441 Computer Networking TCP & router queuing Lecture 10 TCP & Routers TCP details Workloads Lecture 10: 09-30-2002 2 TCP Performance TCP Performance Can TCP saturate a link? Congestion control

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

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

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

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

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

Assignment 7: TCP and Congestion Control Due the week of October 29/30, 2015

Assignment 7: TCP and Congestion Control Due the week of October 29/30, 2015 Assignment 7: TCP and Congestion Control Due the week of October 29/30, 2015 I d like to complete our exploration of TCP by taking a close look at the topic of congestion control in TCP. To prepare for

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

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

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

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

Networking Link Layer

Networking Link Layer Networking Link Layer ECE 650 Systems Programming & Engineering Duke University, Spring 2018 (Link Layer Protocol material based on CS 356 slides) TCP/IP Model 2 Layer 1 & 2 Layer 1: Physical Layer Encoding

More information

Lecture 7: Sliding Windows. CSE 123: Computer Networks Geoff Voelker (guest lecture)

Lecture 7: Sliding Windows. CSE 123: Computer Networks Geoff Voelker (guest lecture) Lecture 7: Sliding Windows CSE 123: Computer Networks Geoff Voelker (guest lecture) Please turn in HW #1 Thank you From last class: Sequence Numbers Sender Receiver Sender Receiver Timeout Timeout Timeout

More information

Cross-layer Analysis of Wireless TCP/ARQ Systems over Correlated Channels

Cross-layer Analysis of Wireless TCP/ARQ Systems over Correlated Channels Cross-layer Analysis of Wireless TCP/ARQ Systems over Correlated Channels Yi Wu, Zhisheng Niu, and Junli Zheng State Key Lab on Microwave and Digital Communications Department of Electronic Engineering,

More information

Outline. Basic ARQ schemes. S Capacity enhancement methods for radio interface ARQ Schemes. Classification of error control strategies

Outline. Basic ARQ schemes. S Capacity enhancement methods for radio interface ARQ Schemes. Classification of error control strategies ARQ Schemes, March 26 24 ARQ Schemes, March 26 24 2 Outline Classification of error control strategies S-7263 Capacity enhancement methods for radio interface ARQ Schemes Markku Liinaharja March 25, 24

More information

Computer Communication Networks Midterm Review

Computer Communication Networks Midterm Review Computer Communication Networks Midterm Review ICEN/ICSI 416 Fall 2018 Prof. Aveek Dutta 1 Instructions The exam is closed book, notes, computers, phones. You can use calculator, but not one from your

More information

TCP so far Computer Networking Outline. How Was TCP Able to Evolve

TCP so far Computer Networking Outline. How Was TCP Able to Evolve TCP so far 15-441 15-441 Computer Networking 15-641 Lecture 14: TCP Performance & Future Peter Steenkiste Fall 2016 www.cs.cmu.edu/~prs/15-441-f16 Reliable byte stream protocol Connection establishments

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

Analysis of Link-Layer Backoff Algorithms on Point-to-Point Markov Fading Links: Effect of Round-Trip Delays

Analysis of Link-Layer Backoff Algorithms on Point-to-Point Markov Fading Links: Effect of Round-Trip Delays Analysis of Link-Layer Backoff Algorithms on Point-to-Point Markov Fading Links: Effect of Round-Trip Delays A. Chockalingam and M. Zorzi Department of ECE, Indian Institute of Science, Bangalore 560012,

More information

SWAP and TCP performance

SWAP and TCP performance SWAP and TCP performance Jean Tourrilhes, HPLB 23 March 98 1 Introduction The SWAP protocol that we have proposed [4] the HRFWG is designed to carry TCP/IP traffic. Of course, we would never had proposed

More information

Communication Networks

Communication Networks Communication Networks Prof. Laurent Vanbever Exercises week 4 Reliable Transport Reliable versus Unreliable Transport In the lecture, you have learned how a reliable transport protocol can be built on

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

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control : Computer Networks Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control TCP performance We ve seen how TCP the protocol works Sequencing, receive window, connection setup and teardown And

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

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

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

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

Wireless Sensornetworks Concepts, Protocols and Applications. Chapter 5b. Link Layer Control

Wireless Sensornetworks Concepts, Protocols and Applications. Chapter 5b. Link Layer Control Wireless Sensornetworks Concepts, Protocols and Applications 5b Link Layer Control 1 Goals of this cha Understand the issues involved in turning the radio communication between two neighboring nodes into

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

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

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

Christos Papadopoulos

Christos Papadopoulos CS557: Measurements Christos Papadopoulos Adapted by Lorenzo De Carli Outline End-to-End Packet Dynamics - Paxon99b Wireless measurements - Aguayo04a Note: both these studies are old, so the results have

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

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine Computer Science Department 1 / 33 1 COS 140: Foundations

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

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

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

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

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli)

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli) TCP CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli) 1 Sources Fall and Stevens, TCP/IP Illustrated Vol. 1, 2nd edition Congestion Avoidance

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

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

Lecture 15: Transport Layer Congestion Control

Lecture 15: Transport Layer Congestion Control Lecture 15: Transport Layer Congestion Control COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016, J.F Kurose

More information

Department of EECS - University of California at Berkeley EECS122 - Introduction to Communication Networks - Spring 2005 Final: 5/20/2005

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

More information

Peer-to-Peer Protocols and Data Link Layer. Chapter 5 from Communication Networks Leon-Gracia and Widjaja

Peer-to-Peer Protocols and Data Link Layer. Chapter 5 from Communication Networks Leon-Gracia and Widjaja Peer-to-Peer Protocols and Data Link Layer Chapter 5 from Communication Networks Leon-Gracia and Widjaja Peer-to-Peer Protocols At each layer two (or more) entities execute These are peer processes For

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

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

2.1 CHANNEL ALLOCATION 2.2 MULTIPLE ACCESS PROTOCOLS Collision Free Protocols 2.3 FDDI 2.4 DATA LINK LAYER DESIGN ISSUES 2.5 FRAMING & STUFFING

2.1 CHANNEL ALLOCATION 2.2 MULTIPLE ACCESS PROTOCOLS Collision Free Protocols 2.3 FDDI 2.4 DATA LINK LAYER DESIGN ISSUES 2.5 FRAMING & STUFFING UNIT-2 2.1 CHANNEL ALLOCATION 2.2 MULTIPLE ACCESS PROTOCOLS 2.2.1 Pure ALOHA 2.2.2 Slotted ALOHA 2.2.3 Carrier Sense Multiple Access 2.2.4 CSMA with Collision Detection 2.2.5 Collision Free Protocols 2.2.5.1

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

CSCI-1680 Link Layer I Rodrigo Fonseca

CSCI-1680 Link Layer I Rodrigo Fonseca CSCI-1680 Link Layer I Rodrigo Fonseca Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti Last time Physical layer: encoding, modulation Today Link layer framing Getting frames

More information

Computer Networks and Data Systems

Computer Networks and Data Systems Computer Networks and Data Systems Transport Layer TDC463 Winter 2011/12 John Kristoff - DePaul University 1 Why a transport layer? IP gives us end-to-end connectivity doesn't it? Why, or why not, more

More information

Congestion. Can t sustain input rate > output rate Issues: - Avoid congestion - Control congestion - Prioritize who gets limited resources

Congestion. Can t sustain input rate > output rate Issues: - Avoid congestion - Control congestion - Prioritize who gets limited resources Congestion Source 1 Source 2 10-Mbps Ethernet 100-Mbps FDDI Router 1.5-Mbps T1 link Destination Can t sustain input rate > output rate Issues: - Avoid congestion - Control congestion - Prioritize who gets

More information

Network Protocols. Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1

Network Protocols. Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1 Network Protocols Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1 IP review IP provides just enough connected ness Global addressing Hop by hop routing IP over

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

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

CS CS COMPUTER NETWORKS CS CS CHAPTER 6. CHAPTER 6 Congestion Control

CS CS COMPUTER NETWORKS CS CS CHAPTER 6. CHAPTER 6 Congestion Control COMPUTER NETWORKS CS 45201 CS 55201 CHAPTER 6 Congestion Control COMPUTER NETWORKS CS 45201 CS 55201 CHAPTER 6 Congestion Control P. Farrell and H. Peyravi Department of Computer Science Kent State University

More information

CS457 Transport Protocols. CS 457 Fall 2014

CS457 Transport Protocols. CS 457 Fall 2014 CS457 Transport Protocols CS 457 Fall 2014 Topics Principles underlying transport-layer services Demultiplexing Detecting corruption Reliable delivery Flow control Transport-layer protocols User Datagram

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

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

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