In telecommunications,
Handshaking can negotiate acceptable parameters by equipment and systems at both ends of a communication channel, including information transfer rates, alphabetical coding, parity, interrupt procedures, and other hardware protocols or features. Handshaking is a communication technique between two entities. However, in TCP/IP RFC, the term "handshake" is most often used to refer to a three-way TCP handshake. For example, the term "handshake" does not exist in RFCs that include FTP or SMTP. One exception is Transport Layer Security, TLS, setup, FTP RFC 4217. Instead of the term "handshake", FTP RFC 3659 replaces "conversations" for sending commands.
Simple handshaking protocols may only involve recipients sending messages that mean "I received your last message and I'm ready to send you one more message." More complex handshaking protocols may allow the sender to ask the recipient whether it is ready to accept or the recipient responds with a negative acknowledgment "I did not receive your last message correctly, please resend" (for example, if data is corrupted in transit).
Handshaking facilitates connecting systems or equipment that are relatively heterogeneous through communication channels without the need for human intervention to set parameters.
Video Handshaking
Example
TCP triple handshake
Setting a normal TCP connection requires three separate steps:
-
- The first host (Alice) sends a second host message (Bob) a "sync" (SYN) with its own serial number , received by Bob.
- Bob replied with a sync-recognition message (SYN-ACK) with its own serial number and the recognition number , which Alice received.
- Alice replied with acknowledgment message (ACK) with recognition number , received by Bob and no need to reply.
- In this setting, the sync message acts as a service request from one server to another, while the acknowledgment message returns to the server requesting to let it know the message has been received.
One of the most important factors of a three-way handshake is that, to swap the initial sequence numbers that both parties plan to use, the first client sends the segment with its own initial sequence number , then the server responds by sending the segment with its own serial number and the recognition number , and finally the client responds by sending a segment with the recognition number .
The reason for the client and server not to use the default serial number like 0 to establish a connection is to protect against two incarnations of the same connection re-use the same sequence number too quickly, which means the segment of the initial incarnation of the connection may interfere with the incarnation of later connections.
SMTP
Simple Mail Transfer Protocol (SMTP) is the primary Internet standard for email transmission. This includes handshaking to negotiate authentication, encryption and maximum message size.
TLS handshake
When the Transport Layer Security (SSL or TLS) connection starts, the record encapsulates the "control" protocol - the handshake message protocol (content type 22). This protocol is used to exchange all information required by both parties to exchange actual application data by TLS. It defines the message format or contains this information and their exchange order. These may vary according to the demands of the client and server - that is, there are several possible procedures for setting up connections. This initial exchange results in a successful TLS connection (both parties are ready to transfer application data with TLS) or warning messages (as defined below).
The protocol is used to negotiate secure attributes of a session. (RFC 5246, p.Ã, 37)
WPA2 wireless
The WPA2 standard for wireless uses a four-way handshake defined in IEEE 802.11i-2004.
Dial-up access modem
One classic example of handshaking is a dial-up modem, which usually negotiates communication parameters for short periods when connections are first established, and afterwards uses those parameters to provide optimal information transfer through channels as a function of quality and capacity.. The "squealing" (which actually sounds that change in tone 100 times every second) sounds made by some modems with speaker output as soon as the connection is made is actually the sound of the modem at both ends involved in the handshaking procedure; after the procedure is complete, the speaker may be silenced, depending on the operating system settings or the application that controls the modem.
Maps Handshaking
References
Source of the article : Wikipedia