Advanced Protocol Design

We are designing, implementing, and evaluating advanced network protocols for the Internet, with particular attention being paid to protocols that support real-time video and image transfer. In this context, a key problem is detecting and avoiding congestion in the network. Specifically, we are investigating ways to improve upon the congestion control algorithms found in conventional protocols like TCP. In conjunction with this effort, we are building a complete protocol design and testing environment that includes the x-sim network simulator and a suite of visualization tools.

Select the following icon to see a trace of the current implementation of TCP (TCP Reno) running in x-sim. The protocol is transfering a 1MByte file. The topmost graph tracks various protocol parameters, with the the congestion window given by the light-blue line. The middle graph tracks the average throughput rate measured every 12 packets. The vertical red lines in both the top two graphs represent packets that are dropped. The bottom graph shows the transmission rate of the background traffic that was running during the test. This traffic was generated using tcplib.

The output represented by the following icon shows the same information as before, but this time for a new implementation of TCP (TCP Vegas). In this case, the second graph is replaced by one that plots the measured throughput rate (black line) against a range (very thick blue-green line) that the congestion mechanism is using to control this rate. When the observed rate falls below this range, Vegas decreases the congestion window (the observed throughput rate is too far from what one would expect given the current congestion window, meaning we are sending too fast). When the observed rate goes above this range, Vegas increases the congestion window (the observed throughput rate is too close to what one would expect given the current congestion window, meaning the network has room to absorb additional packts). When the observed rate is contained within the range, Vegas leaves the congestion window unchanged.

Notice that no packets are dropped in the Vegas case. Also note that because Vegas is able to deliver data at a higher throughput rate than Reno---i.e., it takes less time to transfer a megabyte---the time covered on the horizontal axis in the Vegas graphs is almost half that covered in the Reno graphs.


[Brak94] L. Brakmo, S. O'Malley, and L. Peterson. TCP Vegas: New techniques for congestion detection and avoidance. In Proceedings of the SIGCOMM '94 Symposium (Aug. 1994) pages 24-35.

[Brak95a] L. Brakmo and L. Peterson. TCP Vegas: End to End Congestion Avoidance on a Global Internet. IEEE Journal on Selected Areas in Communication, Vol 13, No. 8 (October 1995) pages 1465-1480.

[Brak95b] L. Brakmo and L. Peterson. Performance Problems in BSD4.4 TCP. Computer Communication Review, Vol 25, No. 5 (October 1995), pages 69-86.

[Brak96] L. Brakmo and L. Peterson. Experiences with Network Simulation. SIGMETRICS '96 (June 1996).

Related Projects



This work is supported by the Advanced Research Projects Agency and the Navy Research Lab.

Back to CS Department Home Page.

Larry Peterson /