An echo check detects errors by having the receiver re-transmit what it got to the original sender, who then compares the echo against what was originally transmitted.
How it works:
- The sender transmits the data.
- The receiver echoes the data straight back to the sender.
- The sender compares the echo with what it originally sent.
- If the two match, the transmission is treated as correct.
- If they differ, the sender re-transmits.
Strengths and weaknesses
- Strength: catches almost any error because the sender has the original data to compare against, bit for bit.
- Weakness: it is impossible to tell whether the error happened in the forward direction (sender → receiver) or in the return direction (receiver → sender). The data may have arrived correctly and only the echo corrupted, but the sender will still re-transmit.
- Cost: doubles the amount of data on the network because every byte travels twice. Slow and bandwidth-hungry.
Echo checks are mostly used in short or low-traffic links where reliability matters more than efficiency.