A Simple Throughput Model for TCP Veno Bin Zhou∗ , Cheng Peng Fu∗ , Dah-Ming Chiu† , Chiew Tong Lau∗ , and Lek Heng Ngoh‡ ∗ School
of Computer Engineering, Nanyang Technological University, Singapore 639798 Email: {zhou0022, ascpfu, asctlau}@ntu.edu.sg † Department of Information Engineering, The Chinese University of Hong Kong, Shatin, Hong Kong Email:
[email protected] ‡ Networking Department, Institute for Infocomm Research, Singapore 119613 Email:
[email protected]
Abstract— TCP Veno was proposed to eliminate TCP performance suffering from wireless links. Real network measurements and live Internet results have validated TCP Veno’s significant throughput improvement in wireless networks and its harmonious co-existence with TCP Reno connections in wired networks. In this paper, we develop a simple analytic approach to characterize TCP Veno behavior in both wire and wireless situations. Being different from the equation of TCP Reno, a more general close formula is derived, taking into account of the refined multiplicative decrease algorithm in Veno, to model the throughput for a bulk transfer of TCP Veno flow. Our simulation and experimental results demonstrate that such an equation is able to accurately predict TCP Veno throughput over different network scenarios, ranging from very low lossy links to very heavy lossy links.
for a bulk transfer of TCP Veno flow. The remainder of the paper is organized as follows. In Section 2, we describe TCP Veno mechanism in detail. Then Section 3 gives the derivation of Veno equation. A validation of this equation on NS-2 [14] simulation and wireless LAN experiments is presented in Section 4. Finally, Section 5 concludes our work and gives the future directions.
I. I NTRODUCTION
cwnd BaseRT T cwnd Actual = RT T where, cwnd is the current congestion window size, BaseRT T is the minimum of measured round-trip time, and RT T is the smoothed round-trip time measured. The difference of the rate is:
TCP Reno [1] is the dominating version of TCP. Over last decade, many efforts have been made to model its throughput in a bulk transfer TCP flow. Among those work, a equation derived by [2] (hereinafter, called “Reno equation”) has been widely used today, e.g., in the TCP-Friendly Rate Control (TFRC) protocol [3]. Recently, wireless communication technology has been making significant progress and will be playing a more and more important role in the future. Such evolution brings new challenges to TCP Reno. For example, Reno assumes packet loss is always induced by congestion, which can lead to significant performance degradation in wireless networks, where random loss is rampant due to environmental noise. To deal with random loss effectively, a novel end-to-end congestion control mechanism called TCP Veno [4][7][9][12][13] was proposed. The key innovation in Veno is the enhancement of Reno congestion control algorithm by making use of the estimated state of a connection based on Vegas [5]. This scheme significantly reduces “blind” reduction of TCP window regardless of the cause of packet loss. Thus Veno is suitable for any heterogeneous networks, particularly when wireless links form part of such networks [6][8][10][11]. In this paper, we develop a simple analytic approach to characterize TCP Veno behavior in both wire and wireless situations. Being different from the equation of TCP Reno, a more general closed form equation (hereinafter, called “Veno equation”) is derived, taking into account of the refined multiplicative decrease algorithm in Veno, to model the throughput
II. BASIC M ECHANISM OF V ENO TCP Veno makes use of the state distinguishing scheme from TCP Vegas, and integrates it into congestion window evolution scheme of TCP Reno. In Vegas, the sender measures the so-called Expected and Actual rates: Expected =
Dif f = Expected − Actual When RT T > BaseRT T , there is a bottleneck link where the packets of the connection accumulate. Let the backlog at the queue be denoted by N . We have: N Actual That is, we attribute the extra delay to the bottleneck link in the second term of the right side above. Rearranging, we have: RT T = BaseRT T +
= Actual × (RT T − BaseRT T ) = Dif f × BaseRT T cwnd cwnd − ) × BaseRT T = ( BaseRT T RT T The main idea of Veno is to use the measurement of N as an indication of whether the network is in congestive state or non-congestive state. At any time, if N ≥ β, Veno deduces the link is in congestive state and considers the packet loss is congestion loss. Otherwise if N < β, the link N
is in non-congestive state and the packet loss is random loss. Here β is normally set to be 3. Based on the differentiated state, Veno applies different algorithms to Reno’s additive increase (AI) and multiplicative decrease (MD) phases, thus makes congestion window (cwnd) evolution more efficient: In AI phase, IF (N < β) 1 for every new ACK THEN set cwnd = cwnd + cwnd ELSE IF (N ≥ β) 1 THEN set cwnd = cwnd + cwnd for every other new ACK In MD phase, 1)Retransmit the missing packet, and IF (N < β) THEN set ssthresh = cwnd × 45 ELSE IF (N ≥ β) THEN set ssthresh = cwnd × 12 , and set cwnd = ssthresh + 3. 2)Each time another dup ACK arrives, increment cwnd by one packet. 3)When the next ACK acknowledging new data arrives, set cwnd to ssthresh (value in step 1). Note that, Veno only refines the AIMD mechanism of Reno. All other parts of Reno, including initial slow start, fast retransmit, fast recovery, computation of the retransmission timeout, and the backoff algorithm remain intact. III. D ERIVATION OF V ENO E QUATION From the mathematical view, we simplify the above AIMD mechanism as follows: in AI phase, 1 cwnd + cwnd , for every new ACK N