ScholarGate
Assistant

Error Detection and Correction (Link Layer)

Error detection and correction add carefully computed redundant bits to transmitted data so that a receiver can detect, and sometimes correct, bit errors introduced by a noisy communication link.

Definition

Error detection and correction are coding techniques that append redundant check bits, computed from the data, so that a receiver can determine whether bits were corrupted in transit (detection) and, with stronger codes, reconstruct the original data (correction).

Scope

This topic covers the coding techniques used at the link layer to cope with bit errors: simple parity checks, two-dimensional parity, Internet checksums, and cyclic redundancy checks (CRC) for detection, and forward error-correcting codes such as Hamming codes for correction. It treats the trade-off between redundancy overhead and the strength of detection or correction, and where each technique is used. It excludes the retransmission-based reliability built at higher layers, which complements coding rather than replacing it.

Core questions

  • How do redundant check bits let a receiver detect that a transmission was corrupted?
  • How do parity, checksums, and cyclic redundancy checks differ in strength and cost?
  • How do forward error-correcting codes such as Hamming codes correct errors without retransmission?
  • What is the trade-off between coding overhead and error-handling capability?
  • When is error correction preferable to detection plus retransmission?

Key concepts

  • parity check
  • two-dimensional parity
  • Internet checksum
  • cyclic redundancy check (CRC)
  • generator polynomial
  • forward error correction
  • Hamming codes
  • burst errors
  • coding overhead

Key theories

Redundancy for error detection
By transmitting extra bits computed from the data — a parity bit, a checksum, or a CRC remainder — a receiver can recompute and compare to detect corruption; CRCs based on polynomial arithmetic catch all burst errors up to the degree of the generator polynomial.
Forward error correction
Error-correcting codes such as Hamming codes add enough structured redundancy that the receiver can not only detect but locate and fix a limited number of bit errors, avoiding retransmission at the cost of more overhead.
Channel capacity and reliable communication
Information theory establishes that every noisy channel has a capacity below which arbitrarily reliable communication is possible with suitable coding, framing the fundamental limits that practical error-control codes approach.

Clinical relevance

Error control is invisible but pervasive: CRCs protect Ethernet and Wi-Fi frames, checksums guard IP and transport headers, and forward error correction is essential where retransmission is costly or impossible, such as on deep-space links, storage media, and streaming over lossy wireless. The right balance of detection versus correction shapes reliability and efficiency across communication and storage systems.

History

Claude Shannon's 1948 information theory established the existence of reliable coding up to channel capacity, and Richard Hamming's 1950 codes gave the first practical single-error-correcting scheme. Cyclic redundancy checks and stronger codes followed, becoming standard in link-layer framing, and the field has since produced powerful codes (such as turbo and LDPC codes) that approach Shannon's limit.

Key figures

  • Claude Shannon
  • Richard Hamming

Related topics

Seminal works

  • shannon1948
  • hamming1950
  • kurose2021

Frequently asked questions

What is the difference between error detection and error correction?
Error detection only tells the receiver that data was corrupted, after which it can discard the data or request a retransmission. Error correction adds enough redundancy that the receiver can also reconstruct the original data without asking for it again, which is valuable when retransmission is slow or impossible.
Why do networks use CRCs instead of simple parity?
A single parity bit misses any even number of bit errors, whereas a cyclic redundancy check, based on polynomial division, detects all single-bit errors, all double-bit errors, and all burst errors shorter than the check, making it far stronger for the kinds of errors links actually produce.

Methods for this concept

Related concepts