Difficulty: Easy
Correct Answer: cyclic redundancy codes
Explanation:
Introduction / Context:
The data link layer packages network-layer packets into frames and is responsible for detecting corrupted frames so they can be discarded or retransmitted. A widely used technique for error detection at this layer is the cyclic redundancy check (CRC).
Given Data / Assumptions:
Concept / Approach:
CRC treats the bit string as coefficients of a polynomial over GF(2). The transmitter divides by a generator polynomial and appends the remainder (the CRC). The receiver repeats the division; a nonzero remainder indicates an error.
Step-by-Step Solution:
1) Choose a generator polynomial G(x) standardized for the link (e.g., CRC-32 for Ethernet).2) Compute remainder R = Data(x) * x^k mod G(x), where k is CRC length.3) Append R to the frame as the FCS (frame check sequence).4) Receiver divides (Data || R) by G(x).5) If remainder = 0, accept; else, discard or request retransmission.
Verification / Alternative check:
CRCs detect common error patterns (single-bit errors, burst errors up to a length bound) with extremely low undetected error probability when G(x) is well-chosen.
Why Other Options Are Wrong:
Bit stuffing: A framing method to avoid flag emulation in bit-oriented protocols; not error detection.
Common Pitfalls:
Confusing CRC (detection) with FEC (correction). Also thinking a CRC fixes errors; it only detects them.
Final Answer:
cyclic redundancy codes
Discussion & Comments