6 Chapter 3.2 Error Error Detection and Error Control
3.2 Errors, Error Detection, and Error Control
Learning Objectives
Identify the different types of noise commonly found in computer networks.
Specify error-prevention techniques and apply them to different types of noise.
Compare error-detection techniques, considering efficiency and efficacy.
Perform simple parity and longitudinal parity calculations and enumerate their strengths and weaknesses.
Cite the advantages of arithmetic checksum.
Cite the advantages of cyclic redundancy checksum and which types of errors it can detect.
Differentiate error control methods and describe circumstances for their use.
Follow examples of Hamming self-correcting code.
Introduction to Errors
Noise is pervasive in communications.
High levels of noise can corrupt or destroy signals, requiring systems to check for errors.
Systems may discard erroneous data, or attempt to correct it if the error is detected.
Types of Noise
1. White Noise
Known as thermal or Gaussian noise.
Persistent but can be reduced.
High intensity can disrupt signals.
2. Impulse Noise
Characterized by random spikes that disrupt bits of information.
Difficult to distinguish from the original signal in analog.
More destructive to adjacent bits at higher transmission rates.
3. Crosstalk
Unwanted signal coupling between different paths (e.g., overhearing a conversation).
Can be diminished using appropriate shielding measures.
4. Echo
Reflective feedback of a signal in transmission mediums (particularly coaxial cables).
Can significantly interfere with the original signal.
Methods exist for reducing echo.
5. Jitter
Caused by small timing irregularities in digital signal transmission.
Affects the smooth flow of digital data, necessitating system slowdowns.
Can be mitigated to some extent.
6. Delay Distortion
Results from frequency-dependent signal propagation speeds in mediums.
Can be minimized with corrective measures.
7. Attenuation
Continuous signal strength loss as it travels through a medium.
Error Prevention Techniques
Apply multiple strategies to avert errors:
Proper shielding of cables to minimize interference.
Employ equalization on telephone lines.
Upgrade old media and equipment to digital components.
Optimize the use of digital repeaters and analog amplifiers.
Adhere to the stated operational capacities of communication media.
Error Detection Techniques
Despite prevention methods, errors can still occur:
Parity Checking:
Simple Parity: Maintains an even or odd number of bits.
Longitudinal Parity: Adds additional parity checks for data blocks, increasing redundancy.
Arithmetic Checksum:
Converts data to numerical form, sums values, and includes the sum with the transmitted data.
Receiver performs a similar summation and comparison.
Cyclic Redundancy Check (CRC):
Involves polynomial arithmetic to divide data by a generating polynomial; remainder indicates errors.
High efficacy in detecting various error types based on the polynomial used.
Error Control Mechanisms
Upon detecting an error, actions include:
Do Nothing: Discarding packets error-free, like lower-layer protocols.
Return an Error Message: Sends feedback to the transmitter using:
Stop-and-Wait Protocol: Acknowledges receipt after each frame.
Sliding Window Protocol: Allows several frames to be sent before awaiting acknowledgment.
Correct Errors: Utilizes forward error correction (e.g., Hamming code), which includes redundant bits for self-correction.
Examples of Error Control
Hamming Codes
Utilize redundancy for error correction, with additional parity check bits for various segments of the data stream.
The receiver can detect and correct errors without transmitter interference based on parity checks from the redundancy provided.
Summary
Noise inherently exists in computer networks, leading to potential errors in data transmission.
Various error detection and correction mechanisms help ensure data integrity, with cyclic redundancy checksum (CRC) being highly effective.
Understanding protocol differences like stop-and-wait vs. sliding window is critical for efficient data transmission and error handling.