### 2. TCP improvements over a satellite link¶

TCP extensions described in RFC 1323 improve the performances of a link with high delay.

#### 2.1. TCP Window Scale¶

Initially, the length field of the reception window is limited to 16 bits, which corresponds to a maximum size of 65535 bytes for the reception window. On a link with significant delay, this maximum value implies a maximum rate lower than the capacity.
The "TCP Window Scale" extension allows to apply a scaling factor on this field to simulate a 32-bit field, and get reception window greater than 65535 bytes.
Its use is essential in the case of a geostationary satellite link because it can send data at the rate supported by the link without having to wait acknowledgment all the time.

For example, if we use a 2Mbits/s link with a RTT of 600ms we have $cwnd_{max} = 2.10^6\times0.6=1,2\ .10^6\ bits$ which corresponds to 150kB. This number is higher than 64kB so in this case Window Scaling is useful with a scaling factor of 3.

#### 2.2. TCP for transactions¶

The purpose of T/TCP is to lower the number of frames involved in a connection. It mixes, in the same frame, connection management (open and close procedures) with data. Comparing with "classical" connection, the number of frames sent is reduced up to 2/3.

Figure 1: Example of a transaction

In the case of a end-to-end geostationnary link could reach 6 × 250 = 1, 5s for TCP versus 3 × 250 = 750ms for T/TCP.

#### 2.3. Selective Acknowledgment mechanism¶

In TCP, acknowledgments specifiy the last received frame before a loss. Considering the following case : three packets are sent, P1, P2 and P3, with P1, P3 well received and P2 lost. In "classical" TCP, P2 will be retransmitted and then P3 will be retransmitted too. In TCP with Selective Acknowledgment, P2 will be retransmitted but not P3. This mechanism determine the discontinuities and so indicate the packets to be retransmitted. It saves bandwidth and reduces transmission delay.

#### 2.4. Quick Start¶

With Fast Start option, the window size is initialized to contain several frames in order to reach the higher value as fast as posible. In fact, in the TCP SYN packet, the sender specifies the desired sending rate. Then the receiver sends feedback to the sender in the SYN/ACK packet according to the routers in the path.

Figure 2: Comparison between slow start (in red) and quick start (in green)

This mechanism is really effective on a satellite link because we use the maximum window size really quickly.