counter stats

A Unified Framework for Modeling TCP Variants

 

People

Adam Wierman
Takayuki Osogami
Jorgen Olsen

 

Motivation

A large majority of today’s Internet traffic is carried using the Transmission Control Protocol (TCP), and resultantly there has been a significant amount of research toward modeling the dynamics of this protocol. TCP has been and will continue to be an evolving protocol, and as such, one important task of these models is to facilitate comparisons between the different flavors of TCP, such as Reno, Sack, and Vegas. Unfortunately, because TCP has gone through such development, the protocol itself has grown increasingly complex, which makes analytical modeling quite difficult. As a result, much of the evaluation of TCP variations has been done using empirical simulators, such as ns, an event driven simulator developed at Lawrence Berkeley National Laboratory. Although ns is quite powerful, there are inherent limitations to even driven simulations, since they can be quite time consuming when simulating high speed networks and they force researchers to use packet level granularity even when investigating large, complex networks.  As a result, many papers have been written introducing new, analytical analyses of the complexities of TCP. For instance, Altman et al. and Roy et al. have suggested using a fluid model of individual TCP connections in order to derive expressions for the throughput and queue evolution of the connection. Another style of approaches uses stochastic analysis of the window size under TCP to again provide an expression for the throughput of a single connection. Yet another technique uses Markovian analysis of the evolution of the congestion window to derive a closed form expression for the throughput of a connection. Unfortunately, the approaches described above are limited to modeling one feature of a TCP connection rather than the structure and dynamics of the entire flow. Further, none of these techniques provides a unified framework for contrasting the behavior of different TCP flavors. 


Figure 1.  An illustration of the Markov model of TCP Reno for a small maximum congestion window.


Results

Our approach is to develop a Markovian model that tracks the evolution of the TCP congestion window.  Using this approach, changes to the TCP protocol correspond to simple changes to the underlying Markov change in the model.  Another benefit of this approach is that it is easy to build application level traffic models on top of the transport level model of the congestion window.  Thus, the resulting structure of the model of each source mimics the structure of the network stack.  In addition to the Markovian model of each source, we use a queuing model of the network to capture congestion effects and then use feedback between these two models in order to determine the operating point of the network. 

To illustrate the generality of this modeling approach, we have built and validated models of TCP Reno, SACK, and Vegas.  We have found that the Markovian approach provides very accurate approximations of many of the key parameters of TCP connections, including throughput, queuing delay, and segment loss, allowing us to provide an analytical comparison of these measures under various flavors of TCP. In addition to these standard metrics, the Markovian model allows us to investigate details such as the fraction of time that a TCP sender spends at each state, which gives an understanding of where, and under which circumstances, the performance gains of each features arise.


Figure 2.  An illustration of how to add an application model on top of the transport level model of TCP.  In this case, we add a simple on-off model, however it is easy to add more complex models as well.


Impact

Since our initial work on this topic, the generality of this Markovian approach to modeling TCP has been empirically proven by its use by a number of other researchers to quickly develop models of newly proposed TCP flavors during the design phase, e.g. Freeze-TCP developed by Baig et al.  This style of modeling is especially useful when considering new designs for TCP because it is considerably faster to develop a Markovian model of the new protocol than it is evaluate the protocol using ns.


Publications