Many applications today (e.g., game servers and video streaming servers)deliver time-dependent data to remote users. In TCP based systems,retransmission of data might give high and varying delays. In applications withthin data streams (e.g., interactive applications like games), theinteraction between game players raises stringent latency requirements, and it istherefore important to retransmit lost or corrupted data as soon aspossible.
In the current version of the Linux kernel (2.6.15), several variations ofTCP are included. In this thesis, these variations are compared,tested and evaluated with respect to retransmission latency in differentand varying RTT and loss scenarios. The variations are tested for thinand thick data streams, respectively. Thick streams transmit as much dataas possible, while the thin streams only need to transfer a smallamount of data every once in a while, thus potentially havingconsiderable time intervals between the sending of a few packets.
Due to poor performance experienced for the TCP variations in thethin stream part of the tests, several enhancements are proposed,implemented and tested for use in thin stream scenarios. The lossdetection mechanisms of TCP do not perform adequately in a thinstream scenario, resulting in high and varying retransmissiondelays, something which might violate the stringent latencyrequirements of interactive games. Theimplemented enhancements provide considerable improvements in theretransmission delay, reducing both the level and the variation of theretransmission delay values.