TCP Vegas Performance with Streaming Media Sean Boyden Anirban Mahanti Carey Williamson Department of Computer Science, University of Calgary 2500 University Drive NW, Calgary, AB, Canada T2N 1N4 {boyden, mahanti, carey}@cpsc.ucalgary.ca Abstract In this paper we study the use of TCP Vegas as a trans- port protocol for streaming media. We also consider TCP NewReno as a transport protocol for streaming media. We find that: 1) TCP is able to transport streaming media with good performance in a wide variety of scenarios; 2) TCP Vegas performs better than TCP NewReno in many cases; and 3) for viable media streams, both TCP variants need to achieve mean throughputs that are at least 1.5 times the encoding rate of the media objects being carried. 1. Introduction With the increase in “last-mile” and core capacity in the Internet, the use of streaming media has increased dramat- ically in recent years. The wide availability of software, including RealNetworks’ RealPlayer, Microsoft’s Media Player, Apple’s QuickTime Player, and Flash has also con- tributed to the increase. Streaming media places unique demands on the Internet. Encoded media files consist of a series of temporally-related data fragments, which must be received in-order within the bounds of the temporal relationship. If portions of the me- dia object are not received by the client before the preced- ing portion is decoded, then the decoding of the media ob- ject will be interrupted. While streaming media is time- sensitive, it is loss-tolerant to some extent, depending on the nature of the encoding protocol used. The client decoder can recover lost data through interpolation, within reason, without a noticeable loss in quality. Streaming media can be delivered across the Internet us- ing either the User Datagram Protocol (UDP) or the Trans- mission Control Protocol (TCP). UDP has been generally regarded as the transport protocol of choice for stream- ing media due to its simplicity. The flow control, con- gestion control, and retransmission mechanisms in TCP have been regarded as detrimental to media flows as they can introduce extra delay and rate fluctuation in the deliv- ery of media data. The control mechanisms in TCP, how- ever, are considered necessary for the stability of the Inter- net [9]. These contrasting demands have resulted in much research into developing application-layer control proto- cols over UDP [10, 13, 26, 30]. Many application-layer rate control protocols are, in fact, similar in behaviour to TCP [13, 26, 30]. This poses the question: why not simply use TCP for streaming media? Several different variants of TCP exist. These variants are typically distinguished by the particular congestion con- trol and packet loss recovery mechanisms incorporated into the protocol. Some of the important variants are TCP Tahoe [15], Reno [15], NewReno [11], SACK [7], and Vegas [5]. The most widely deployed of these is TCP NewReno [22]. TCP NewReno has a characteristic “sawtooth” pattern of throughput caused by its congestion avoidance and control mechanisms. This throughput pattern is often cited as one of the problems TCP has for streaming media. The sawtooth is a byproduct of TCP’s linear increase in throughput during periods of no packet loss followed by a multiplicative de- crease in throughput upon packet loss. This causes unstable throughput for the stream, which is considered undesirable. TCP Vegas, being delay-based, rather than loss-based, does not create this sawtooth pattern. With TCP being used for streaming on a large scale [17, 28], it is important to investigate whether or not TCP Vegas is a more suitable alternative. Intuitively, this would seem to be the case because Vegas touts steadier throughput. In this paper we carry out a comprehensive simulation- based study of TCP Vegas with respect to the unique needs of streaming media. Through progressively more complex simulations, we describe the behaviour of TCP Vegas under varying network, application, and load parameters. We also run TCP NewReno through the same simulations to provide an opportunity to compare the performance of both variants when delivering streaming media. Our results demonstrate that TCP Vegas is indeed a suit- able transport-layer protocol for streaming media in many cases. Furthermore, we demonstrate that TCP NewReno also performs well in this role. Both variants perform sim- 1