3 way handshake


3WayHandshake.com

Learn about the TCP 3 way handshake




3 Way:

1) A tri-directional communications establishment process.

Handshake:

1) A handshake is an automated process of negotiation that dynamically sets parameters of a communications channel established between two entities before normal communication over the channel begins.
2) It follows the physical establishment of the channel and precedes normal information transfer.

 

The three way or 3 way handshake is necessary for reliable TCP communication.

To establish a connection, TCP uses a three-way handshake. Before a client attempts to connect with a server, the server must first bind to a port to open it up for connections: this is called a passive open. Once the passive open is established, a client may initiate an active open. To establish a connection, the three-way (or 3-step) handshake occurs:

1. The active open is performed by sending a SYN to the server.
2. In response, the server replies with a SYN-ACK.
3. Finally the client sends an ACK (usually called SYN-ACK-ACK) back to the server.

Find out about TCP Handshaking and Network Security!

At this point, both the client and server have received an acknowledgement of the connection.

Example:

1. The initiating host (client) sends a synchronization (SYN flag set) packet to initiate a connection. Any SYN packet holds a Sequence Number. The Sequence Number is a 32-bit field in TCP segment header. For example let the Sequence Number value for this session be x.
2. The other host receives the packet, records the Sequence Number of x from the client, and replies with an acknowledgment and synchronization (SYN-ACK). The Acknowledgment Number is a 32-bit field in TCP segment header. It contains the next sequence number that this host is expecting to receive (x + 1). The host also initiates a return session. This includes a TCP segment with its own initial Sequence Number value of y.
3. The initiating host responds with the next Sequence Number (x+1) and a simple Acknowledgment Number value of y + 1, which is the Sequence Number value of the other host + 1.




Find out about Application Security!


Ethical Hacking Training and courses from a certified published industry profession.

Valid HTML 4.01! Valid CSS!


©2007 All Rights Reserved.
Last Modified 04.4.07