SYN-ACK Handshake to Establish a TCP Connection
By Stephen Bucaro
Three messages are required to establish a TCP connection between two hosts.
![TCP SYN message TCP SYN message](images/syn.jpg)
1. Host A sends a sends a SYN (for synchronize) message to Host B. The message
contains control bits identifying it as a SYN message and it contains a sequence number.
![TCP SYN-ACK message TCP SYN-ACK message](images/synack.jpg)
2. When Host B receives the SYN message, it sends an ACK (for acknowledge) message
combined with its own SYN message to Host A. The ACK message contains a sequence
number, and a SYN sequence number which is the incremented SYN sequence number it
received from Host A.
![TCP ACK message TCP ACK message](images/ack.jpg)
3. When Host A receives the SYN-ACK message, it sends an ACK message to Host B.
The ACK sequence number is the incremented ACK sequence number it received from Host B.
![TCP Socket connection TCP Socket connection](images/socket.jpg)
4. When Host B receives the ACK message, a TCP Socket connection is established.
A TCP Socket is a "virtual port". A virtual port is a connection identified by the Host's
IP address along with a 16-bit port number. Port numbers are standardized for various
applications or processes, for example HTTP uses port 80 by default.
More Networking Protocols and Standards: • Representation of IPv6 Addresses • IPv4 to IPv6 Transition With the Dual-Stack Technique • Wireless Network Standards - 80211a, 80211b, 80211g, 80211n, 80216 • Video - Data Link Layer of OSI Networking Model • Evolution of the Microsoft NOS (Active Directory) • Neighbor Discovery Protocol (NDP) • IPv6 Unicast Addresses • Internet Protocol versions IPv4, IPv5 and IPv6 • Internet Security and VPN Network Design • The OSI Network Layer
|