Handshaking is a method that controls the flow of serial communication between devices. It’s not a necessary process in that devices can connect and communicate without it, but it makes sure that data is only ever sent from the original to the receiving device when the receiving device is ready. Handshaking can both happen on a software and hardware level, depending on the devices that are involved. Where hardware handshaking isn’t possible because of technical restrictions, software handshaking usually replaces it.
Technipages Explains Handshaking
Handshaking controls not just single-instance communications, but serial ones. In the case of hardware handshaking, the process happens through a separate, dedicated wire that sends a signal when the receiving device is ready to receive data. In the case of software, a set of pre-selected special control characters are transmitted from the receiving device, in order to signal its readiness.
The spare wire used in hardware handshaking isn’t always available though – in the case of telephone connections, no such wire exists, which is why things like modems rely on software handshaking to make up for the shortfall.
The process of handshaking occurs within a computer network – for example between a computer and a modem, rather than between a computer and a server it wants to connect to via the net. The server would use handshaking to communicate with a modem of its own, while the data would travel via various protocols until it arrives at the requesting network.
The purpose of all this is to prevent the loss of data, or the necessity of re-sending parts that were transmitted before the receiving device was ready. By waiting for a virtual go-ahead, nothing is missed and data can be sent securely and with maximum efficiency.
Common Uses of Handshaking
- Handshaking protocols promote efficiency within a network.
- Without the use of handshaking, be it software or hardware, data loss is a potential problem.
- Both software and hardware handshaking fulfill the same purpose, and neither is really superior to the other – they merely rely on different methods.
Common Misuses of Handshaking
- Software handshaking is a process of communication between different programs to check whether both are ready for communication.