This document discusses error control techniques used at the data link layer. It describes different types of errors that can occur during transmission such as single bit errors and burst errors. It then explains various error detection techniques like parity checks, checksum, and cyclic redundancy check (CRC). Parity checks can detect single bit errors but not burst errors affecting an even number of bits. Checksum and CRC are more robust techniques that can detect most errors. The document also introduces error correcting codes using Hamming codes that can not only detect errors but also correct them by adding redundant bits to determine the position of the erroneous bit.