There are certain things we can achieve with TCP modeling that cannot be achieved with simulation. Some of them are as follows.
- We can model some uncertainties using stochastic process that cannot be determined by simply simulation. For example, number of current TCP connections, how much bandwidth is occupied by the non TCP transport protocols and what is the effect of those in TCP etc.
- TCP operating scale is very large in terms of geographical scale and the number of inputs/outputs. To simulate the large number of inputs/outputs and geographical scale is not easy due to hardware constraints (some times budget constraints as well).
- Mathematical models are required to quantify metrics that define system performance and develop control strategies that result in the optimum being achieved.
- It also helps to determine how close it is to achieving a system optimum, as defined by a specific cost function, and subsequently identify issues that need to be addressed in future control protocol.
- TCP is already mostly used transport layer protocol in the world. To test some optimization in it is not easy to implement in real world scenario and observe its performances. So, before implementation any optimization patches it is very much necessary to model it. Some examples of those patches are Fast Retransmission and Fast Recovery. These were not in the very first version of TCP.