420 likes | 428 Views
CIS 321 Data Communications & Networking. Chapter 10 – Error Detection and Correction. Part 3 - Data Link Layer. Receives services from physical layer and provides services to network layer. Data L ink Layer (cont.). Node-to-node delivery Local responsibility Ensures reliable delivery
E N D
CIS 321Data Communications & Networking Chapter 10 – Error Detection and Correction
Part 3 - Data Link Layer • Receives services from physical layer and provides services to network layer University of South Alabama Computer and Information Sciences
Data Link Layer (cont.) • Node-to-node delivery • Local responsibility • Ensures reliable delivery • Defines frames • Physical addressing • Error control • Flow control • Medium access control University of South Alabama Computer and Information Sciences
Chapter 10 Error Detection and Correction • Errors are inevitable • Interference • Corruption as a result of transmission • Reliable communication is dependent on being able to detect and correct errors • How will we know an error occurred? • Do we retransmit or correct? University of South Alabama Computer and Information Sciences
Types of Errors • Single-bit error • Burst error University of South Alabama Computer and Information Sciences
Single-bit Errors • Only one bit is changed: 0 changed to 1, or a 1 to a 0 • Least likely type of error since noise usually lasts longer than the time to send one bit • More likely in parallel transmission University of South Alabama Computer and Information Sciences
Burst Errors • Two or more bits in data unit are in error, not necessarily consecutive in order • Most likely in serial transmission • Number of bits affected depend on data rate and noise duration University of South Alabama Computer and Information Sciences
10.2 Detection • Need to detect before message is processed • Redundancy may be used to add additional bits to a message for error control • Process must be handled by destination University of South Alabama Computer and Information Sciences
Redundancy University of South Alabama Computer and Information Sciences
Detection Methods • Parity Check • Cyclical Redundancy Check (CRC) • Checksum • Parity and CRC are performed by data link layer; checksum performed by higher-layer protocols University of South Alabama Computer and Information Sciences
Parity Check • Most common and least expensive • In even-parity, a redundant bit (parity bit) is appended to every data unit so total number of 1 bits is even; odd-parity – total should be odd University of South Alabama Computer and Information Sciences
Even-parity Check University of South Alabama Computer and Information Sciences
Example 1 Suppose the sender wants to send the word world. In ASCII the five characters are coded as 1110111 1101111 1110010 1101100 1100100 The following shows the actual bits sent 11101110 11011110 11100100 11011000 11001001 University of South Alabama Computer and Information Sciences
Example2 Now suppose the word world in Example 1 is received by the receiver without being corrupted in transmission. 11101110 11011110 11100100 11011000 11001001 The receiver counts the 1s in each character and comes up with even numbers (6, 6, 4, 4, 4). The data are accepted. University of South Alabama Computer and Information Sciences
Example 3 Now suppose the word world in Example 1 is corrupted during transmission. 11111110 11011110 11101100 11011000 11001001 The receiver counts the 1s in each character and comes up with even and odd numbers (7, 6, 5, 4, 4). The receiver knows that the data are corrupted, discards them, and asks for retransmission. University of South Alabama Computer and Information Sciences
Simple Parity Performance • Can detect all single-bit errors • May detect all burst errors as long as total number of bits changed is odd • Cannot detect errors when total number of bits changed is even since parity check will pass even though errors had occurred University of South Alabama Computer and Information Sciences
Two-Dimensional Parity Check • Data unit is divided into rows and columns; parity checks are performed on corresponding bits of each column University of South Alabama Computer and Information Sciences
Two-Dimensional Parity University of South Alabama Computer and Information Sciences
Two-Dimensional Parity Performance • Increases likelihood of detecting burst errors • LRC of n bits can easily detect a burst error of n bits • May also detect many burst errors of more than in n bits • Cannot detect errors when two bits in one data unit are damaged and two bits in exactly the same positions in another data unit are damaged University of South Alabama Computer and Information Sciences
Cyclic Redundancy Check (CRC) • Parity checks based on addition; CRC based on binary division • A sequence of redundant bits (a CRC or CRC remainder) is appended to the end of the data unit • These bits are later used in calculations to detect whether or not an error had occurred University of South Alabama Computer and Information Sciences
CRC Steps • On sender’s end, data unit is divided by a predetermined divisor; remainder is the CRC • When appended to the data unit, it should be exactly divisible by a second predetermined binary number • At receiver’s end, data stream is divided by same number • If no remainder, data unit is assumed to be error-free University of South Alabama Computer and Information Sciences
Deriving the CRC • A string of 0s is appended to the data unit; n is one less than number of bits in predetermined divisor • New data unit is divided by the divisor using binary division; remainder is CRC • CRC of n bits replaces appended 0s at end of data unit University of South Alabama Computer and Information Sciences
CRC Generator and Checker University of South Alabama Computer and Information Sciences
CRC Generator • Uses modulo-2 division • Resulting remainder is the CRC University of South Alabama Computer and Information Sciences
CRC Checker • Performed by receiver • Data is appended with CRC • Same modulo-2 division • If remainder is 0, data are accepted • Otherwise, an error has occurred University of South Alabama Computer and Information Sciences
Polynomials • Used to represent CRC generator • Cost effective method for performing calculations quickly University of South Alabama Computer and Information Sciences
Standard Polynomials University of South Alabama Computer and Information Sciences
CRC Performance • Can detect all burst errors affecting an odd number of bits • Can detect all burst errors of length less than or equal to degree of polynomial • Can detect with high probability burst errors of length greater than degree of the polynomial University of South Alabama Computer and Information Sciences
Checksum • Performed by higher-layer protocols • Also based on concept of redundancy University of South Alabama Computer and Information Sciences
Checksum Generator • At sender, checksum generator subdivides data unit into k equal segments of n bits • Segments are added together using one’s complement arithmetic to get the sum • Sum is complemented and becomes the checksum, appended to the end of the data University of South Alabama Computer and Information Sciences
Checksum University of South Alabama Computer and Information Sciences
Checksum Checker • Receiver subdivides data unit in k sections of n bits • Sections are added together using one’s complement to get the sum • Sum is complemented • If result is zero, data are accepted; otherwise, rejected University of South Alabama Computer and Information Sciences
Performance • Detects all errors involving odd number of bits, most errors involving even number of bits • Since checksum retains all carries, errors affecting an even number of bits would still change the value of the next higher column and the error would be detected • If a bit inversion is balanced by an opposite bit inversion, the error is invisible University of South Alabama Computer and Information Sciences
10.3 Error Correction • Requires more redundancy bits; must know not only that an error had occurred, but where the error occurred in order to correct it • Correction simply involves flipping the bit • Hamming code may be applied to identify location where error occurred by strategically placed redundancy bits University of South Alabama Computer and Information Sciences
Redundancy Bits University of South Alabama Computer and Information Sciences
Example Hamming Code • For a seven-bit data sequence r1:bits 1, 3, 5, 7, 9, 11 r2:bits 2, 3, 6, 7, 10, 11 r3:bits 4, 5, 6, 7 r4:bits 8, 9, 10, 11 University of South Alabama Computer and Information Sciences
Example Hamming Code University of South Alabama Computer and Information Sciences
Error Detection using Hamming Code University of South Alabama Computer and Information Sciences
Burst Error Correction • By rearranging the order of bit transmission of the data units, the Hamming code can correct burst errors • Organize N units in a column and send first bit of each, followed by second bit of each, and so on • Hamming scheme then allows us to correct corrupted bit in each unit University of South Alabama Computer and Information Sciences
Burst Error Correction Example University of South Alabama Computer and Information Sciences
Coming Up… Chapter 11 • Data Link Control and Protocols • Flow Control • Error Control • Protocols University of South Alabama Computer and Information Sciences
Credits • All figures obtained from publisher-provided instructor downloads Data Communications and Networking, 3rd edition by Behrouz A. Forouzan. McGraw Hill Publishing, 2004 University of South Alabama Computer and Information Sciences