To create a TCP connection over which full-duplex data can begin to flow, each TCP peer must obtain the following information from the other TCP peer:
The starting sequence number for data sent on the inbound pipe
The maximum amount of data that can be sent on the outbound pipe before waiting for an acknowledgment (the receive window size of the other TCP peer)
The maximum segment size (MSS) that can be received
The TCP options that are supported
This information is learned through an exchange of three TCP segments called the TCP connection establishment process, or the TCP three-way handshake.
To create a TCP connection, a listening TCP peer must allow a TCP connection, and an initiating TCP peer must initiate a TCP connection. ...