Starting a TCP connection, as seen in the following illustration:
It happens in three steps:
- The TCP process on the client side sends an SYN packet. This is a packet with the SYN flag set to 1. In this packet, the client:
- Specifies its initial sequence number. This is the number of the first byte that the client sends to the server.
- Specifies its window size. This is the buffer the clients allocate to the process (the place in the client's RAM).
- Sets the options that will be used by it: MSS, Selective ACK, and so on.
- When the server receives the request to establish a connection, the server:
- Sends an SYN/ACK packet to ...