Technically known as the SYN, SYN-ACK, ACK sequence, the three-way handshake is the process in which two communication partners synchronize during the establishment of a connection. A three-way handshake conceptually goes like this:
Alice first says, “hello” to indicate to Bob that she wants to talk with him. Bob replies with a “hello” to indicate that he is willing to talk. Alice further sends some message to confirm to Bob that communication will take place and that the initial “hello” was not just a passing greeting.
In the three-way handshake process, the sequence numbers and acknowledgement numbers are similarly exchanged. Although it serves such a seemingly simple purpose of initiating a conversation, the TCP handshake is incredibly important because it is designed to overcome unreliable communication streams, such as those found in cellular phone conversation when streams of conversation bits are lost. Furthermore, the three-way handshake provides some security against people trying to spoof connections. The three-way handshake is not completely secure, for sequence-number prediction may still allow spoofing, and SYN floods can be used to cause a DoS attack on the machine.
Cisco Systems, Inc. Three-way Handshake. [Online, 2002.] Cisco Systems, Inc. Website. http://business.cisco.com/glossary/tree.taf-asset_id=92889&word=99375&public_ view=true&kbns=2&DefMode=.htm; Graham, R. Hacking Lexicon. [Online, 2001.] Robert Graham Website. http://www.linuxsecurity.com/resource_files/documentation/hacking-dict .html.