INTERNATIONAL JOURNAL OF COMMUNICATION SYSTEMS Int. J. Commun. Syst. (2011) Published online in Wiley Online Library (wileyonlinelibrary.com). DOI: 10.1002/dac.1230
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 䉷 2011 John Wiley & Sons, Ltd. Received 10 October 2009; Revised 22 November 2010; Accepted 22 November 2010 KEY WORDS:
TCP; wireless; ARQ; FEC
1. 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 [1]. 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 [2–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 1% 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. † E-mail:
[email protected] Copyright 䉷 2011 John Wiley & Sons, Ltd.
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 [10–12], 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 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
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 [13], 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 [14]. 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 [15], 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 [16]. 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 [13–15] 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 1 (lag-1 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 [17]. The remainder of this paper is organized as follows. The system model and the assumptions we made are described in Section 2. 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.
2. SYSTEM MODEL AND ASSUMPTIONS The system model is presented in Figure 1. 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 [18], 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 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
R. DUNAYTSEV ET AL.
Sender App. TCP Inernet DL PHY
Receiver App. TCP Internet DL PHY
Intermediate system Internet DL DL PHY PHY modem
wired network Intermediate system
wireless channel
modem
IP packets carrying data traffic
Sender
Receiver IP packets carrying TCP ACKs
Figure 1. System model.
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 [19–21], 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 [22], 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 1). 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 2. 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 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS
Transport layer
MSS bits
TCP segment
Header
Internet layer
Application layer data MTU bits
IP packet
Header
Data link layer Segmented IP packet Frames (FEC codewords)
1 1 m bits
2
...
3 2
3
v ...
v
FEC redundancy bits
Figure 2. 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) [23], 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 [24, 25]. 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 [26, 27].
3. SERVICE PROCESS OF THE WIRELESS CHANNEL 3.1. 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-1 NACF. Note that extension to the case of a general finite-state Markov chain (FSMC) and its variants are straightforward [28]. We model the bit error process using a two-state Markov modulated process. Let {W E (l),l = 0, 1, . . .}, W E (l) ∈ {0, 1}, denote the model with the modulating Markov chain {S E (l),l = 0, 1, . . .}, S E (l) ∈ {0, 1}. The model is completely defined using the set of matrices D E (k), k = 0, 1, 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-1 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-1 NACF of covariance-stationary bit error observations [29]. This model is given by E = (1− K E (1))E[W E ], f 1,E (1) = 0, (1) E = (1− K E (1))(1− E[W E ]), f 2,E (1) = 1, where E and E are transition probabilities from state 1 to state 2 and from state 2 to state 1, respectively; K E (1) is the normalized autocorrelation coefficient of bit error observations at lag 1 Copyright 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
R. DUNAYTSEV ET AL.
(lag-1 NACF); E[W E ] is the mean of bit error observations (BER); f 1,E (1) and f 2,E (1) are probabilities of error in states 1 and 2, respectively. Details of the algorithm are outlined in [29]. 3.2. Frame error model Let the frame length is constant and equals to m bits (Figure 2). Consider the stochastic process {W N (n), n = 0, 1, . . .}, W N (n) ∈ {0, 1, . . . , 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, 1, . . .} and can be completely parameterized via parameters of the bit error process {W E (l),l = 0, 1, . . .} as shown below. To parameterize {W N (n), n = 0, 1, . . .}, we have to determine m-step transition probabilities of the modulating Markov chain {S E (l), l = 0, 1, . . .} with exactly k, k = 0, 1, . . . , m, incorrectly received bits. Denote the probability of transition from state i to state j for the Markov chain {S N (n), n = 0, 1, . . .} with exactly k, k = 0, 1, . . . , m, incorrectly received bits in a bit pattern of length m by d N ,i j (k) = Pr{W N (n) = k, S N (n) = j |S N (n −1) = i}. Let the set of matrices D N (k), k = 0, 1, . . . , m, contains these transition probabilities. These matrices can be found using D E (k), k = 0, 1, as given in (2), were D N (i), i = 3, 4, . . . , m −2, can be obtained by induction from D N (1) or D N (m −1). The easiest way is to induce D N (i), i = 2, 3, . . . , m/2, from D N (1) and D N (i), i = m −2, m −3, . . . , m/2, from D N (m −1): D N (0) = D m E (0), D N (1) =
0 k=m−1
D N (2) =
m−2 k=0
D m−k−1 (0)D E (1)D kE (0), E
D kE (0)D E (1)
0 i=m−k−2
D m−i−k−2 (0)D E (1)D iE (0), E (2)
.. . D N (m −1) =
0 k=m−1
D m−k−1 (1)D E (0)D kE (1), E
D N (m) = D m E (1). Note that the computation according to (2) 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, 1, . . . , m, as follows. We denote the probability of transition from state i to state j for the Markov chain {S N (n), n = 0, 1, . . .} with exactly k, k = 0, 1, . . . , m, incorrectly received bits in a bit pattern of length m by d N ,i j (k, m). Let the set of matrices D N (k, m), k = 0, 1, . . . , 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, 2), i = 0, 1, 2: D N (i, 2) =
i
D N (k)D E (i −k),
i = 0, 1, 2,
(3)
k=0
where D E (2) is a matrix of zeros. Recursively, we get: D N (i, 3) = D N (i, 4) =
i k=0 i
D N (k, 2)D E (i −k),
i = 0, 1, . . . , 3,
D N (k, 3)D E (i −k),
i = 0, 1, . . . , 4,
k=0
.. . Copyright 䉷 2011 John Wiley & Sons, Ltd.
(4) Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS
D N (i, m −1) =
i
D N (k, m −2)D E (i −k),
i = 0, 1, . . . , m −1,
D N (k, m −1)D E (i −k),
i = 0, 1, . . . , m,
k=0
D N (i, m) =
i k=0
where D E (k), k2, and D N (i, m), im +1, are all zero matrices. Taking this into account, we finally obtain: D N (i, k −1)D N (0, 1), i = 0, D N (i, k) = D N (i, k −1)D N (0, 1)+ D N (i −1, k −1)D N (1, 1), i = 0,
(5)
where D N (i, 1) = D E (i), i = 0, 1. Expression (5) defines D N (k), k = 0, 1, . . . , m, for a given m. 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, 1, . . .}, W F (n) ∈ {0, 1}, where ‘0’ indicates correct reception of a frame, ‘1’ 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, 1, . . .} with exactly k, k = 0, 1, incorrectly received frames by d F,i j (k), k = 0, 1. These probabilities are then combined in the matrices D F (0) and D F (1). The process {W N (n), n = 0, 1, . . .}, W N (n) ∈ {0, 1, . . . , m}, describing the number of bit errors in consecutive frames, is related to the frame error process {W F (n), n = 0, 1, . . .}, W F (n) ∈ {0, 1}, as follows: D F (0) =
F T −1
D N (k),
D F (1) =
m
D N (k)
(6)
k=FT
k=0
where FT , FT =l +1, 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 (kFT ), then the frame is incorrectly received and W F (n) = 1. Otherwise (kC 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-2 [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)/2 and the maximum is (C + B) packets (Figure 7), we get the mean queue size during a congestion avoidance phase as: C+B b C+B 2 C+B +b B− 3B −C 2 2 2 2 E[R CA ] = . (15) = C+B 4 b 2 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 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS
Queue size, pkts
Queue size, pkts
B
⎛ C +B ⎞ ⎜ ⎟ ⎝ 2 ⎠
B
Time, rounds
⎛ C +B ⎞ b⎜ ⎟ ⎝ 2 ⎠
⎛ C +B ⎞ ⎜ ⎟ ⎝ 2 ⎠ Time, rounds
⎛ C +B ⎞ b⎜ ⎟ ⎝ 2 ⎠
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
L1
Intermediate system
Receiver
1 ACK1
2
1
T1
Intermediate system
Receiver
T1
1
T1
2
TdelACK
L1
L1
2
T2
Receiver
T2
ACK1 ACK2
ACK1+2
b=1 TdelACK = 0 s
b=2 TdelACK T2
b=2 TdelACK < T2
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 1500-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 TdelACK 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 1 and T 2 are the time intervals required to successfully transmit all frames to which packets 1 and 2 were segmented, respectively. Then the mean round-trip delay of the wireless channel can be obtained as bε, εTdelACK or b = 1, L= (16) ε + TdelACK , ε>TdelACK , where b = 1, if the receiver immediately acknowledges every TCP segment it gets; or b = 2, 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 RTT = + E[R]ε + L,
(17)
where E[R] is the mean queue size. Copyright 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
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 /2 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 2 arriving at the intermediate system will find the wireless channel busy and will be buffered for later transmission. Let T 1 be the time required to successfully transmit all frames to which packet 1 was segmented. The receiver then replies with an ACK segment (ACK1). As soon as the wireless channel becomes idle, the packet service process starts all over again: packet 2 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 /2 seconds to deliver ACK1 to the sender. The next ACK (ACK2) will arrive after T 2 seconds, where T 2 is the time required to successfully transmit all frames to which packet 2 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 TdelACK seconds (Figure 10). In this case, the mean inter-ACK gap is given by (16). In accordance with [23], 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 [23]). Thus, every time a new ACK arrives, the TCP retransmission timer will be restarted (denoted by gray diamonds in Figures 9 and 10). 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 (100 Mbit/s Ethernet) and a client host connected via a wireless last-hop link (EDGE). In our experiments, we used Wireshark [41] to capture packet traces at both sender and receiver. Figures 11 and 12 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 11(a) and 12(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 11(b) and 12(b)). Note that the gaps between packet arrivals at the beginning of the initial SS phase in Figure 12(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 13 and 14). Copyright 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS
Intermediate system
Sender IW = 2 segm.
τ
ssthresh = 44 segm. cwnd1 = 2
1 2
2
1
T1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 cwnd 2 = cwnd 1 + # ACK = 2 + 1 = 3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
τ
ACK1
1
T2
ACK 3 4
T3
5 6
ACK3
T4
7 8
ACK4
T5
9 10
T6
11 12
T7
13 14
T8
15 16
T9
17 18
2
2
ACK2
cwnd 3 = cwnd 2 + # ACK = 3 + 1 = 4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
3
cwnd 4 = cwnd 3 + # ACK = 4 + 1 = 5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
4
cwnd 5 = cwnd 4 + # ACK = 5 + 1 = 6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
5
ACK5
cwnd 6 = cwnd5 + # ACK = 6 + 1 = 7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
6
ACK6
cwnd 7 = cwnd 6 + # ACK = 7 + 1 = 8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
7
ACK7
cwnd 8 = cwnd 7 + # ACK = 8 + 1 = 9
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Receiver
8
ACK8 9
ACK9 10
19
Figure 9. End-to-end transmission of a window of packets, MSS = 1460 bytes, ssthresh = 64 KB, b = 1.
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 [16, 17, 30, 31]. 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 [23] requires that whenever the RTO is computed, if it is less than 1 s then it should be rounded up to 1 s. At the same time, some TCP implementations use a fine-grained retransmission timer and do not follow the requirements of [23] by allowing, for example, the minimum limit of 200 ms. Then we obtain the expected duration of the RTO as RTO = max(xRTT, RTOmin ),
(18)
where x, x>1, relates to the granularity of the TCP retransmission timer; RTOmin is the minimum value of the RTO; RTT is from (17). Since x>1, E[R]1, and Lε, we get that RTO is at least several times larger than ε: RTO = max(x(+ E[R]ε + L), RTOmin ) = Mε, Copyright 䉷 2011 John Wiley & Sons, Ltd.
M>2.
(19)
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
R. DUNAYTSEV ET AL.
Intermediate system
Sender IW = 2 segm.
τ
ssthresh = 44 segm. cwnd1 = 2
Receiver
1 2
2
T1
1
T2
2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
τ
cwnd 2 = cwnd1 + # ACK = 2 + 1 = 3
ACK1+2
1+2 ACK 3 4 5
2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
3
4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
T5
T6
5
6
ACK5+6
5+6 ACK 9 10 11
cwnd 4 = cwnd 3 + # ACK = 4 + 1 = 5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
ACK3+4
3+4 ACK 6 7 8
cwnd 3 = cwnd 2 + # ACK = 3 + 1 = 4
T7
T8 cwnd 5 = cwnd 4 + # ACK = 5 + 1 = 6
ACK 12
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
7
8
ACK7+8 9
7+8
Figure 10. End-to-end transmission of a window of packets, MSS = 1460 bytes, ssthresh = 64 KB, b = 2.
50
50 Packet arrivals
Packet departures 40 Data packets received
Data packets sent
40
30
20
10
20
10
0
0 0
(a)
30
1
2
3
4
5
6
Time since the first data packet, s
7
0
8
(b)
1
2
3
4
5
6
7
8
Time since the first data packet, s
Figure 11. Time-sequence graph of a TCP connection over EDGE, MSS = 1460 bytes, ssthresh= 64 KB, b = 1: (a) The sending side and (b) The receiving side. Copyright 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS
50
50 Packet arrivals
Packet departures 40 Data packets received
Data packets sent
40
30
20
30
20
10
10
0
0
(a)
(b)
Time since the first data packet, s
Time since the first data packet, s
Figure 12. Time-sequence graph of a TCP connection over EDGE, MSS = 1460 bytes, ssthresh= 64 KB, b = 2: (a) The sending side and (b) the receiving side.
50
50
Packet arrivals
Packet departures 40 Data packets received
Data packets sent
40
30
20
20
10
10
0
0 0
(a)
30
1
2
3
4
5
6
7
8
9
Time since the first data packet, s
10 11 12
(b)
0
1
2
3 4 5 6 7 8 9 10 11 12 Time since the first data packet, s
Figure 13. Time-sequence graph of a TCP connection over EDGE, MSS = 1460 bytes, ssthresh= 16 KB, b = 1: (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 = 1, ⎪ ⎪ ⎪ ⎪ k= m Mε ⎪ ⎪ ⎪ ⎪ ∞ ⎨ f 2,P (k), b = 2, εTdelACK , Q= ⎪ ⎪ k= m Mε ⎪ ⎪ ⎪
⎪ ∞ ⎪ ⎪ ⎪ f k + , b = 2, ε>TdelACK , T ⎪ P delACK ⎩ m k= Mε
(20)
m
Copyright 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
R. DUNAYTSEV ET AL.
Intermediate system
Sender IW = 2 segm.
τ
ssthresh = 11 segm. FlightSize = 0, cwnd1 = 2 1 2 3 4 5 6 7
1 2 1
T1
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
FlightSize = 1, cwnd = cwnd + # ACK = 2 + 1 = 3 1 2 3 4 5 6 7
2
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
τ
T2
ACK 3 4
T3
5 6
T4
7 8
T5
9 10
T6
11 12
T7
13 14
T8
15 16
T9
17 18
2
FlightSize = 2, cwnd = cwnd + # ACK = 3 + 1 = 4 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
FlightSize = 6, cwnd = cwnd + # ACK = 7 + 1 = 8 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
FlightSize = 7, cwnd = cwnd + # ACK = 8 + 1 = 9 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
FlightSize = 8, cwnd = cwnd + # ACK = 9 + 1 = 10 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
FlightSize = 9, cwnd = cwnd + # ACK = 10 + 1 = 11 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
19 20
FlightSize = 10, cwnd = cwnd + # ACK = 12 > ssthresh 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
21 22
FlightSize = 11, cwnd = cwnd + 1 cwnd ≈ 12.08 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
2
ACK2
ACK3
ACK4 5
FlightSize = 5, cwnd = cwnd + # ACK = 6 + 1 = 7 1 2 3 4 5 6 7
ACK1
4
FlightSize = 4, cwnd = cwnd + # ACK = 5 + 1 = 6 1 2 3 4 5 6 7
1
3
FlightSize = 3, cwnd = cwnd + # ACK = 4 + 1 = 5 1 2 3 4 5 6 7
Receiver
23
ACK5 6
ACK6 7
ACK7 8
ACK8 9
ACK9 10
ACK10 11
ACK11 12
ACK12 13
Figure 14. End-to-end transmission of a window of packets, MSS = 1460 bytes, ssthresh = 16 KB, b = 1.
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 2,P (k) is the convolution of two functions, f 2,P (k) = f P (k)∗ f P (k). The expected duration (in seconds) of a delay spike (DS) can be computed as: ⎧ ∞ m ⎪ ⎪ f P (k)k, b = 1, ⎪ ⎪ k= Mε ⎪ ⎪ m ⎪ ⎪ ⎪ ⎪ ∞ ⎨m DS f 2,P (k)k, b = 2, εTdelACK , E[Z ] = ⎪ k= Mε ⎪ m ⎪ ⎪ ⎪
⎪m ∞ ⎪ ⎪ ⎪ f k + k, b = 2, ε>TdelACK . T P delACK ⎪ ⎩ m k= Mε
(21)
m
Copyright 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS
cwnd, pkts
max (W 2, 2 )
ssthresh
1
buffer overflows
1
delay spike (i –1) SS
A
... A
CA2
C +B 2
W
W
CA1
(C + B )
n
delay spike i
A
Time, rounds
cycle i
Figure 15. 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 (1− Q). Similar to [31], 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 15). Then the expected number of packets sent during a cycle can be defined as: E[Y ] =
∞
(1− Q)k−1 Qk =
k=1
1 . Q
(22)
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 [23]. 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 [42], 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 15). Let Wi−1 denote the window size when delay spike (i −1) occurs. After TCP retransmission timer expiration, the current values of the ssthresh and the cwnd will be set as ssthreshi = max(Wi−1 /2, 2) and cwnd = 1, 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 Wi is uniformly distributed from (C + B)/2 to (C + B). Hence E[W ] =
1 2
3 C+B C+B +C + B = , 2 2 2
Copyright 䉷 2011 John Wiley & Sons, Ltd.
E[ssthresh] = max
E[W ] ,2 . 2
(23)
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
R. DUNAYTSEV ET AL.
The expected durations of the CA1 and CA2 phases (Figure 15) can be found as b C+B C + B E[W ] CA1 E[A ]=b − = , 2 2 4 2 C+B b C+B CA2 ] = b E[W ]− E[A = , 2 2 2
(24)
and the expected number of segments sent during these phases can be defined as:
C + B E[W ] E[W ] b C + B E[W ] 2 7b C + B 2 = , − + − 2 2 2 2 2 2 32 2 C+B C+B b C + B 2 5b C + B 2 CA2 E[Y ] = b E[W ]− = . + E[W ]− 2 2 2 2 8 2
E[Y CA1 ] = b
(25)
The number of segments transmitted during an SS phase can be closely approximated as a geometric series YiSS = 1++2 +· · ·+ Ni −1 = ( Ni −1)/(−1), where = 1+1/b [43]. Taking into account that in the SS phase of the ith cycle the cwnd growths exponentially from one to ssthreshi packets, we get that Ni −1 = max(Wi−1 /2, 2). 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 ]−2 SS SS E[A ] = max log , 2 , E[Y ] = max ,3 . (26) 2 2(−1) Neglecting those segments that were unnecessarily retransmitted during the delay spike, the total number of segments sent during the ith cycle is Yi = YiSS +YiCA1 +n i Y CA +YiCA2 (Figure 15). Combining (14), (22), (25), and (26), we obtain the expected number of buffer overflows within a cycle: E[n] =
E[Y ]− E[Y SS ]− E[Y CA1 ]− E[Y CA2 ] . E[Y CA ]
(27)
Let us compare the durations of the SS phase after a delay spike and the subsequent congestion avoidance phase. Figure 16 shows the ratio between the expected durations (in rounds) of the congestion avoidance phase, which can be defined as E[ACA1 ]+ E[n]E[ACA ]+ E[ACA2 ], and the SS phase (26). 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 16. Ratio between the expected durations of the congestion avoidance phase and the slow start phase after a delay spike: (a) b = 1 and (b) b = 2. Copyright 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS
Bit error model • lag-1 NACF • BER
Packet service model
Frame error model • FEC code parameters
• MTU size
TCP model
• Bottleneck buffer size • Data rate of the wireless channel • RTT of the wired network • Number of segments ACKed by one ACK • RTO granularity
• TCP steady -state throughput • Mean RTT • Spurious timeout probability
Figure 17. 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[R CA ]E[n]E[ACA ]+ E[R CA1 ]E[ACA1 ]+ E[R CA2 ]E[ACA2 ] . E[n]E[ACA ]+ E[ACA1 ]+ E[ACA2 ]
Similar to (15), the expected queue size during the CA1 and CA2 phases can be found as: ⎧ 7B −9C 5C ⎪ ⎪ ⎨ 16 , B> 3 , 5B −3C E[R CA1 ] = . E[R CA2 ] = 2 ⎪ 8 5C (B −C) ⎪ ⎩ , B ∈ C, , C+B 3
(28)
(29)
Taking into consideration that the expected number of packets sent during a cycle is given by (22) 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 T=
MSS E[Y ]MSS = , DS E[Y ]ε + E[Z ] ε + Q E[Z DS ]
(30)
where MSS = MTU−40 bytes; ε is from (12); Q is from (20); E[Z DS ] is from (21). Clearly, T ≈ MSS/ε and E[R] ≈ E[R CA ] for small values of Q. Finally, Figure 17 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: (255,131,18), (511,250,31), (255,87,26), and (511,157,51), 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 12 and the code rate of the last two FEC codes is roughly 13 . 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 = 1500 bytes. The BER of the wireless channel is set to vary between 0.01 and 0.10. Note that the latter value corresponds to a very noisy wireless channel. The lag-1 NACF varies from 0.0 (the bit error Copyright 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
R. DUNAYTSEV ET AL.
Table I. Number of frames per packet.
Frames per packet (v)
(255,131,18)
(511,250,31)
(255,87,26)
(511,157,51)
92
48
138
77
Table II. Default system parameters. Parameter BER (E[W E ]) lag-1 NACF (K E (1)) FEC code Maximum Transmission Unit (MTU) Maximum Segment Size (MSS) Bottleneck link buffer size (B) Data rate of the wireless channel () Round-trip delay of the wired network () Number of segments ACKed by one ACK (b) RTO granularity (x)
Value 0.01, 0.02, . . . , 0.10 0.0, 0.1, . . . , 0.9 (255,131,18), (511,250,31), (255,87,26), (511,157,51) 1500 bytes 1460 bytes 20 full-sized packets 2 Mbit/s 10 ms 1 2
process has no autocorrelation at lag 1) to 0.9 (a high degree of autocorrelation at lag 1). Values of the default system parameters used in the numerical analysis are listed in Table II. 5.1. 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 (1), and different FEC codes (Figure 18). 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 18(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 (1) = 0.0, 0.3, 0.6, 0.9, and different FEC codes are shown in Figure 19. 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 19, we also note that the lag-1 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 (1), and different FEC codes is shown in Figure 20. 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-1 autocorrelation of the bit error process almost does not affect the performance of the wireless channel. But when the BER is high, the lag-1 autocorrelation of bit errors results in a smaller delay. This behavior can be explained as follows. The lag-1 autocorrelation of the bit error process manifests itself in clumping of errors (Figure 21). Therefore, higher values of the lag-1 NACF result in a less deterministic process with a high variance around the mean number of errors per frame (Figure 22(b)). On the other hand, lower values of the lag-1 NACF lead to a more uniform distribution of errors over time, thus decreasing the spread in the number of errors per frame (Figure 22(a)). Copyright 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS
Figure 18. The mean number of transmission attempts per frame, including failed and successful transmissions: (a) (255,131,18) FEC code; (b) (255,87,26) FEC code; (c) (511,250,31) FEC code; and (d) (511,157,51) FEC code.
As an example, let us consider the (255,131,18) FEC code. For large values of the BER and small values of the lag-1 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 255 bits and E[W E ] = 0.10 imply that the mean number of errors per frame is equal to 25.5, while the error correcting capability of the (255,131,18) FEC code allows to correct just 18 erroneous channel symbols within a frame. However, when the lag-1 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 20(b) and (d) is that we do not show the region of BER values for which higher values of the lag-1 NACF lead to better performance. At the same time, the lag-1 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 27(a), when K E (1) = 0.9 and E[W E ] = 0.01). That is, it leads to slightly worse performance for FEC codes with a small error correcting capability. Indeed, large values of the lag-1 NACF lead to more lengthy bursts of errors within a frame that the FEC code cannot correct (Figure 23(b)). This, in turn, increases the number of transmission attempts required to successfully transmit an IP packet over the wireless channel. Figures 24 and 25 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 (255,131,18) and (255,87,26) FEC codes only. It is easy to see that the change in Copyright 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
R. DUNAYTSEV ET AL.
1
1 Ke(1) = 0.0 Ke(1) = 0.3 Ke(1) = 0.6 Ke(1) = 0.9
0.01 1×10–4 –6
1×10–4 1×10–6
–8
Probability
Probability
1×10 1×10 1×10
–10
1×10
–12
1×10–8 1×10
1×10–12 1×10–14
1×10
–16
1×10–16
1×10
–18
1×10–18 0
0.01
(a)
0.02
0.03
1×10–20
0.04
–6
1×10–4 1×10–6
–8
1×10
1×10
0.03
0.04
1×10–8 1×10
–10
1×10–12
1×10–14
1×10–14
1×10
–16
1×10–16
1×10
–18
1×10–18
1×10
–20
0
0.01
0.02
0.03
Delay, s
Ke(1) = 0.0 Ke(1) = 0.3 Ke(1) = 0.6 Ke(1) = 0.9
0.01
Probability
Probability
1×10
–12
0.02
1 Ke(1) = 0.0 Ke(1) = 0.3 Ke(1) = 0.6 Ke(1) = 0.9
1×10–4
1×10
0.01
Delay, s
1
–10
0
(b)
Delay, s
0.01
(c)
–10
1×10–14
1×10–20
Ke(1) = 0.0 Ke(1) = 0.3 Ke(1) = 0.6 Ke(1) = 0.9
0.01
0.04
1×10–20
(d)
0
0.01
0.02
0.03
0.04
Delay, s
Figure 19. PFs (in log scale) of the time required to transmit an IP packet over the wireless channel: (a) (255,131,18) FEC code; (b) (255,87,26) FEC code; (c) (511,250,31) FEC code; and (d) (511,157,51) 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.2. 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 (19). Our numerical analysis shows that the spurious timeout probability is negligibly small for M>2. For instance, Figure 26(a) illustrates the PFs (in log scale) of the time required to transmit an IP packet over the wireless channel, using the (255,131,18) FEC code, for K E (1) = 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 26(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, 2ε. According to the first case in (20), the probability mass beyond 2ε provides approximation for the TCP spurious timeout probability. Note that already for M = 2 and E[W E ] = 0.07 the probability of a spurious retransmission timeout is about 10E−24. Considering the other two cases in (20), 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 [13, 14, 16]. Copyright 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS
Figure 20. The mean time (in seconds) required to transmit an IP packet over the wireless channel at 2 Mbit/s: (a) (255,131,18) FEC code; (b) (255,87,26) FEC code; (c) (511,250,31) FEC code, εmax ≈ 11.3 s; and (d) (511,157,51) FEC code.
2
2 0 = ok, 1 = error
Indicator
Indicator
0 = ok, 1 = error
1
0
0 0
(a)
1
500 Received channel symbols
1×103
0
(b)
1×103
500 Received channel symbols
Figure 21. The effect of autocorrelation on the bit error process, E[W E ] = 0.10: (a) K E (1) = 0.0 and (b) K E (1) = 0.9.
5.3. TCP SACK steady-state throughput The TCP SACK long-term steady-state throughput as a function of E[W E ], K E (1), and different FEC codes is shown in Figure 27. As one may note, it is inverse proportional to the mean time required to transmit an IP packet over the wireless channel (Figure 20). Copyright 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
R. DUNAYTSEV ET AL.
100
100 Errors Error correcting capability of (255,131,18) Error correcting capability of (255,87,26)
80 Errors per frame
Errors per frame
80
Errors Error correcting capability of (255,131,18) Error correcting capability of (255,87,26)
60
40
20
60
40
20
0
0 0
20
(a)
40
60
80
100
0
20
(b)
Received frames
40
60
80
100
Received frames
Figure 22. The number of errors per frame versus the error correcting capability of the FEC codes, E[W E ] = 0.10: (a) K E (1) = 0.0 and (b) K E (1) = 0.9.
100
100 Errors Error correcting capability of (255,131,18) Error correcting capability of (255,87,26)
80 Errors per frame
Errors per frame
80
60
40
20
60
40
20
0
0 0
(a)
Errors Error correcting capability of (255,131,18) Error correcting capability of (255,87,26)
20
40
60
Received frames
80
100
(b)
0
20
40
60
80
100
Received frames
Figure 23. The number of errors per frame versus the error correcting capability of the FEC codes, E[W E ] = 0.01: (a) K E (1) = 0.0 and (b) K E (1) = 0.9.
Figures 28 and 29 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 (255,131,18) and (255,87,26) 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 40 in the TCP throughput is due to the increased protocol header overhead: from 1500 ≈ 0.027 to 40 576 ≈ 0.069. 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-1 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 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS
Figure 24. The mean time (in seconds) required to transmit an IP packet over the wireless channel at 384 kbit/s: (a) (255,131,18) FEC code and (b) (255,87,26) FEC code.
Figure 25. The mean time (in seconds) required to transmit an IP packet over the wireless channel at 3.6 Mbit/s: (a) (255,131,18) FEC code and (b) (255,87,26) FEC code.
Note that there is a small difference between the performance corresponding to the codeword length of 255 and 511 bits. This difference is due to slight deviations in the code rate of the FEC codes. As it was noted in [13, 14, 16], 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 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
R. DUNAYTSEV ET AL.
1
1×10−4
1×10−12
1×10−16
1×10−16
1×10−20 1×10−24
(a)
1×10−20 1×10−24
1×10−28
1×10−28
1×10−32
1×10−32
1×10−36
1×10−36 0.02
0.04 0.06 Delay, s
0.08
E[We] = 0.07
1×10−8
1×10−12
0
2ε
1×10−4
Probability
Probability
1×10−8
1×10−40
1ε
1 E[We] = 0.03 E[We] = 0.05 E[We] = 0.07
1×10−40
0.1
0
0.02
(b)
0.04
0.06
0.08
0.1
Delay, s
Figure 26. PFs (in log scale) of the time required to transmit an IP packet over the wireless channel, K E (1) = 0.0: (a) (255,131,18) FEC code and (b) (255,131,18) FEC code, ε = 0.02 s, 2ε = 0.04 s.
Figure 27. TCP SACK steady-state throughput (in Mbit/s): (a) (255,131,18) FEC code; (b) (255,87,26) FEC code; (c) (511,250,31) FEC code; and (d) (511,157,51) 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 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS
Figure 28. The mean time (in seconds) required to transmit an IP packet over the wireless channel, MTU = 576 bytes: (a) (255,131,18) FEC code and (b) (255,87,26) FEC code.
Figure 29. TCP SACK steady-state throughput (in Mbit/s), MTU = 576 bytes: (a) (255,131,18) FEC code and (b) (255,87,26) FEC code.
Figure 30. Difference (in Mbit/s) between TCP throughputs for different FEC codes: (a) (255,131,18) versus (255,87,26) and (b) (511,250,31) versus (511,157,51).
• 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 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
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 1. REFERENCES 1. Internet2 NetFlow: weekly reports. Available from: http://www.netflow.internet2.edu/weekly/. 2. Barakat C, Altman E, Dabbous W. On TCP performance in a heterogeneous network: a survey. IEEE Communications Magazine 2000; 38(1):40–46. 3. Inamura H, Montenegro G (eds). TCP over Second (2.5G) and Third (3G) Generation Wireless Networks, RFC 3481, IETF, February 2003. 4. Tian Y, Xu K, Ansari N. TCP in wireless environments: problems and solutions. IEEE Communications Magazine 2005; 43(3):S27–S32. 5. Allman M, Paxson V, Stevens W. TCP Congestion Control, RFC 2581, IETF, April 1999. 6. Fairhurst G, Wood L. Advice to link designers on link automatic repeat reQuest (ARQ), RFC 3366, IETF, August 2002. 7. Bai Y, Ogielski A, Wu G. Interactions of TCP and radio link ARQ protocol. Proceedings of IEEE VTC 1999, Amsterdam, Netherlands, September 1999; 1710–1714. 8. 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 2003, Sophia Antipolis, France, March 2003; 133–150. 9. Lundqvist H, Karlsson G. TCP with end-to-end forward error correction. Proceedings of IZS 2004, Zurich, Switzerland, February 2004; 152–155. 10. Kumar A. Comparative performance analysis of versions of TCP in a local network with a lossy link. IEEE/ACM Transactions on Networking 1998; 6(4):485–498. 11. Fu S, Atiquzzaman M. Modelling TCP Reno with spurious timeouts in wireless mobile environments. Proceedings of ICCCN 2003, Dallas, TX, October 2003; 391–396. 12. 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 2003; 2(2):344–356. 13. Barman D, Matta I, Altman E, Azouzi R. TCP optimization through FEC, ARQ and transmission power tradeoffs. Proceedings of WWIC 2004, Frankfurt (Oder), Germany, February 2004; 87–98. 14. Barakat C, Fawal A. Analysis of link-level hybrid FEC/ARQ-SR for wireless links and long-lived TCP traffic. Performance Evaluation Journal 2004; 57(4):453–476. 15. Wu Y, Niu Z, Zheng J. Cross-layer analysis of wireless TCP/ARQ systems over correlated channels. Journal of Communication and Networks 2005; 7(1):45–53. 16. 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 2006; 5(4):289–302. 17. Moltchanov D, Dunaytsev R, Koucheryavy Y. Cross-layer modeling of TCP SACK performance over wireless channels with completely reliable ARQ/FEC. Proceedings of WWIC 2008, Tampere, Finland, May 2008; 13–26. 18. Iyer S, Bhattacharyya S, Taft N, Diot C. An approach to alleviate link overload as observed on an IP backbone. Proceedings of IEEE INFOCOM 2003, San Francisco, CA, April 2003; 406–416. 19. Mathis M, Mahdavi J, Floyd S, Romanow A. TCP selective acknowledgement options. RFC 2018, IETF, October 1996. 20. Floyd S, Mahdavi J, Mathis M, Podolsky M. An extension to the selective acknowledgement (SACK) option for TCP. RFC 2883, IETF, July 2000. 21. Blanton E, Allman M, Fall K, Wang L. A conservative selective acknowledgement (SACK)-based loss recovery algorithm for TCP. RFC 3517, IETF, April 2003. 22. Medina A, Allman M, Floyd S. Measuring the evolution of transport protocol in the Internet. ACM SIGCOMM Computer Communication Review 2005; 35(2):37–52. 23. Paxson V, Allman M. Computing TCP’s Retransmission Timer. RFC 2988, IETF, November 2000. 24. Zorzi M, Rao R, Milstein L. ARQ error control for fading mobile radio channels. IEEE Transactions on Vehicular Technology 1997; 46(2):445–455. 25. Zorzi M, Rao R. Throughput analysis of Go-Back-N ARQ in Markov channels with unreliable feedback. Proceedings of IEEE ICC 1995, Seattle, WA, June 1995; 1232–1237. 26. Krunz M, Kim J-G. Fluid analysis of delay and packet discard performance for QoS support in wireless networks. IEEE JSAC 2001; 19(2):384–395. 27. Fantacci A. Queuing analysis of the selective repeat automatic repeat request protocol for wireless packet networks. IEEE Transactions on Vehicular Technology 1996; 45(2):258–264. 28. Swarts J, Ferreira H. On the evaluation and application of Markov channel models in wireless communications. Proceedings of IEEE VTC 1999, Houston, TX, May 1999; 117–121. 29. Moltchanov D, Koucheryavy Y, Harju J. Simple, accurate and computationally efficient wireless channel modeling algorithm. Proceedings of WWIC 2005, Xanthi, Greece, May 2005; 234–245. 30. Mathis M, Semke J, Mahdavi J, Ott T. The macroscopic behavior of the TCP congestion avoidance algorithm. Computer Communication Review 1997; 27(3):67–82. Copyright 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
MODELING TCP SACK PERFORMANCE OVER WIRELESS CHANNELS
31. Padhye J, Firoiu V, Towsley D, Kurose J. Modeling TCP Reno performance: a simple model and its empirical validation. IEEE/ACM Transactions on Networking 2000; 8(2):133–145. 32. Stallings W. Data and Computer Communications (8th edn). Prentice-Hall Inc: Englewood Cliffs, NJ, 2007. 33. Appenzeller G, Keslassy I, McKeown N. Sizing router buffers. ACM SIGCOMM Computer Communication Review 2004; 34(4):281–292. 34. 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-2004-02, January 2004. 35. 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 2003; 279–284. 36. Wang Y, Ye S, Li X. Understanding current IPv6 performance: a case study from CERNET. Proceedings of IEEE ISCC 2005, Cartagena, Spain, June 2005; 71–76. 37. Braden R. Requirements for Internet Hosts—Communication Layers. RFC 1122, IETF, October 1989. 38. The network simulator ns-2. Available from: http://www.isi.edu/nsnam/ns/. 39. Allman M, Floyd S, Partridge C. Increasing TCP’s Initial Window, RFC 3390, IETF, October 2002. 40. Iperf. Available from: http://iperf.sourceforge.net/. 41. Wireshark: go deep. Available from: http://www.wireshark.org. 42. 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 2005, Washington, DC, August 2005. 43. Cardwell N, Savage S, Anderson T. Modeling TCP latency. Proceedings of IEEE INFOCOM 2000, Tel-Aviv, Israel, March 2000; 1742–1751. 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 1999 and 2005, correspondingly, and a PhD degree from Tampere University of Technology, Finland, in 2010. His research interests include TCP performance evaluation and P2P 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 2000 and 2002, respectively, and a PhD degree from Tampere University of Technology, Finland, in 2006. His research interests include performance evaluation and optimization issues of wired and wireless IP networks, ad hoc and sensor networks, and P2P 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 SaintPetersburg State University of Telecommunications, Russia, and a PhD degree from Tampere University of Technology, Finland, in 1997 and 2004, 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 290 ‘Wi-QoST: Traffic and QoS Management in Wireless Multimedia Networks’ ran from 2004 to 2008. 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 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac
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 1979 and PhD degree in mathematics from the University of Helsinki in 1984. Between 1985 and 1989 he was a senior researcher at the Telecommunications Laboratory of the Technical Research Center of Finland, working with the development of protocol software. From 1989 to 1995 he was a professor of data communications at Lappeenranta University of Technology, Finland. Since 1996 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, P2P networks, and network architectures in general.
Copyright 䉷 2011 John Wiley & Sons, Ltd.
Int. J. Commun. Syst. (2011) DOI: 10.1002/dac