1 / 13

data link Control layer (DLC) – error detection codes

data link Control layer (DLC) – error detection codes. Data link layer (DLC) and lower. Error detection. Network Layer. Network Layer. Error correction. Deliver packets in order and error free. Data Link Layer. Data Link Layer. header. Packet. Trailer. Virtual unreliable bit pipe.

dorie
Download Presentation

data link Control layer (DLC) – error detection codes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. data link Control layer (DLC) – error detection codes

  2. Data link layer (DLC) and lower Error detection Network Layer Network Layer Error correction Deliver packets in order and error free Data Link Layer Data Link Layer header Packet Trailer Virtual unreliable bit pipe Physical Interface Physical Interface Synchronous bit pipe Intermittent synchronous bit pipe Physical communication link Asynchronous character pipe Subject to transmission errors

  3. Error detection in DLC • Packet transmission errors can not be detected by analysis of the packet itself (why?) • Extra bits must be appended to a packet to detect errors • Error detection techniques • Parity check • Cyclic redundancy check (CRC) • Once errors are detected, receiver can request a re-transmission

  4. Single parity checks • Append a single bit to the packet • Has the value ‘1’, if the number of ‘1’ in the packet is odd • Has the value ‘0’, otherwise • Results in a bit stream that contains even number of ‘1’s • Can detect any single error in the bit string • Can also detect add odd number of errors, but not even number of errors • Noises are sometimes bursty - a number of consecutive errors may occur due to some noise • Single parity check is not effective in detecting multiple errors

  5. Single parity check • 1101000  1101000 1 • 1110010  1110010 • Probability of undetected error (assume errors are independent) Parity check bit 0 p: error probability N: packet length (bit string length)

  6. Horizontal and vertical parity checks • 2-D version of single parity check Horizontal check Vertical check • Not able to detect four bit errors in a rectangular configuration • The overhead: (N+1)*(M+1) - NM

  7. Error check codes • Effectiveness of a code is usually measured by: • Minimum distances of the code • Burst detecting capability • The probability that a random string will be accepted as error free • Error check codes can be used to correct certain errors header anddata Parity checks Code word

  8. Cyclic Redundancy Checks (CRC) • CRC is the most commonly used parity check codes in DLCs • Information bit string M (K bits) • Generator string is G (L bits) • Find the remainder of R = M×2L-1/G, code word is then M×2L-1+R header anddata - M Check bits - G K bits L bits Codeword(K+L bits)

  9. Typical generator string/polynomials • CRC-16 • x16 + x15 + x2+ 1 • used in HDLC • CRC-CCITT • x16 + x12 + x5 + 1 • CRC-32 • x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1 • used in Ethernet

  10. Cyclic Redundancy Checks (CRC)Long division & shift register • CRC Can be generated with a shift register with feedback • The feedback itself is controlled by the generator string G header anddata Check bits K bits L bits • gL-3 • gL-2 • g0 • g1 • g2 Bits in Bits out L SRs and feedbacks

  11. Cyclic Redundancy Checks (CRC)Long division & shift register • Information bit string M: 110101 • Generator string is G: 1001 (4 bits) • Find the remainder of R = 011, code word is then 110101011 1 1 0 0 1 1 1 0 1 1 1 0 0 1 1 0 1 0 1 0 0 0 1 1 1 0 1 0 1 1 1001 110101000 01000 s0 s1 s2 s3 1001 01000 1001 1100 1001 01010 1001 0011

  12. Cyclic Redundancy Checks (CRC) • Let • T be the code word • M be the information string, and has K bits • R be the check bits, and has Lbits • T = M*2L + R, can be divided by generator string G • T is transmitted, and if at the receiver side, the received string T’ can still be divided by G, then there is no error, otherwise there must be errors • The selection of G is critical in the effectiveness of CRC

  13. Physical layer error characteristics • Most Physical Layers ( communications channels) are not well described by a simple BER parameter • Most physical error processes tend to create a mix of random & bursts of errors • A channel with a BER of 10-7 and a average burst size of 1000 bits is very different from one with independent random errors • Example: For an average frame length of 104 bits • random channel: E[Frame error rate] ~ 10-3 • burst channel: E[Frame error rate] ~ 10-6 • Best to characterize a channel by its Frame Error Rate, but it is difficult

More Related