video traffic), then (as an example) 10 Gbit/s for a given TCP connection for a given 2.1 Overview of Internet Technology Protocols RTT (round trip time) between the TCP sender and the TCP receiver can be reached with a CW of size: 10Gbit/s RTT = 833333[sec-1] * RTT (2.1) 8bits/byte*1500bytes For RTT = 100 ms = 0.1 the required CW size of TCP to reach the maximum bitrate of 10 Gbit/s will be CW = 333, while the CW size required in the case of RTT = 10 ms will be CW = 8333. So, the CW size depends upon the capacity of the bottleneck link between the two ends (which communicate by using TCP/IP) and the RTT. One may note that bitrate of the application that is using TCP/IP is directly related to the CW size of the TCP in use. Hence, bigger CW is needed to reach higher speeds and vice versa. However, the main target of TCP is not only to reach maximum capacity (i.e. bitrate) available end-to-end but also to provide fairness based on its congestion avoidance mechanism. The following are the main TCP congestion control mechanisms (Figure 2.3): Slow start provides an exponential increase in the CW size with the aim of reaching the capacity of the bottleneck for the given TCP connection sooner (in the default version, in slow start CW is doubled for each RTT interval). Usually, slow start begins with a CW size equal to one segment, although there are TCP versions which provide slow starts with higher initial values (two TCP segments or more). Congestion avoidance. It provides linear increase of the CW size with the aim of post- poning congestion (which results in packet losses). Fast retransmission. After a lost TCP segment, TCP reacts after receiving a certain number of acknowledgments for TCP segments successfully transmitted after the lost one (e.g. three duplicated acknowledgments) and reacts by reducing the size of CW (e.g. to half). Fast recovery. This mechanism provides the possibility for TCP to stay in the conges- tion avoidance phase after packet loss, thus avoiding going into slow start phase and avoiding sign