1 / 15

Error Detection Neil Tang 9/26/2008

Error Detection Neil Tang 9/26/2008. Outline. Basic Idea Objectives Two-Dimensional Parity Checksum Algorithm Cyclic Redundancy Check (CRC). Basic Idea. Add redundant information to a frame that can be used to determine if errors have been introduced.

zeph-nieves
Download Presentation

Error Detection Neil Tang 9/26/2008

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. Error DetectionNeil Tang9/26/2008 CS440 Computer Networks

  2. Outline • Basic Idea • Objectives • Two-Dimensional Parity • Checksum Algorithm • Cyclic Redundancy Check (CRC) CS440 Computer Networks

  3. Basic Idea • Add redundant information to a frame that can be used to determine if errors have been introduced. • Sender: It applies the algorithm to the message to generate the redundant bits and then transmits the original message along with the extra bits. • Receiver: It applies the same algorithm on the received message to come up with a result then compares it with the expected results. CS440 Computer Networks

  4. Basic Idea • Trivial Solution: always transmitting two complete copies. • Real Solutions: k redundant bits for n-bit messages, k<<n, e.g., CRC, k = 32bit, n = 12,000bits. CS440 Computer Networks

  5. Objectives • Maximize the probability of detecting errors. • Minimize the number of redundant bits. CS440 Computer Networks

  6. Two-Dimensional Parity • It can catch 1-, 2-, 3- and most 4-bits errors. Why? • 14 redundant bits for 42-bit message. Good enough? CS440 Computer Networks

  7. Checksum Algorithm • Basic Ideas: The checksum is obtained by adding all words in the original message. • Internet Checksum Algorithms: Add 16-bit subsequences together using the ones complement arithmetic and then take the ones complement of the result as the checksum. E.g., 1010 +) 1110 ---------------------- 1000 +) 1 ----------------------- 1001 →0110 CS440 Computer Networks

  8. Checksum Algorithm • Cost Effective: 16 bits for a message of any length • Inefficiency for Error Detection: a pair of single-bit errors may cause trouble. • Easy Implementation: Several lines of codes CS440 Computer Networks

  9. CRC • (n+1) bit message can be represented as a polynomial of degree n. E.g., 10011010 → M(x) = 1x7+ 1x4+1x3+1x1 • The sender and the receiver agree on a divisor polynomial C(x) with a degree of k, e.g., C(x)=x3+x2+1. C(x) is usually specified by the standards, e.g., in Ethernet, k=32, CRC-32. CS440 Computer Networks

  10. Polynomial Arithmetic • B(x) can be divided by C(x) if same degree • The remainder can be obtained by performing XOR on each pair of matching coefficients. E.g., (x3+1) can be divided by (x3+x2+1) and the remainder is x2. How? 1001 XOR 1101 = 0100 CS440 Computer Networks

  11. 11111001 Generator C(x) Message T(x) 1101 10011010000 1101 1001 1101 1000 1101 1011 1101 1100 1101 1000 1101 101 Remainder Algorithm to Obtain CRC • Multiply M(x) by xk , i.e., attach k 0s at the end of the message. Call this extended message T(x). • Divide T(x) by C(x) and find the remainder (CRC). • Attach CRC to M(x) and send the new message. CS440 Computer Networks

  12. CRC Algorithm • Sender: It applies the algorithm to obtain CRC (remainder). Attach CRC to the end of the original message (e.g., 10011010101) and send it. • Receiver: divides the received polynomial by C(x). If 0, no error; otherwise, corrupted. CS440 Computer Networks

  13. Obtain C(x) • Basic Idea: Select C(x) so that it is very unlikely to divide evenly into a message with errors. • Frequently used C(X) in Table 2.5 • Provable Results: • - Single bit error detectable – the coefficients of the first and last term • of C(x) are not 0. • - Double bit error detectable – C(x) contain at least three 1 • coefficients • - Odd number of errors detectable - C(x)contains the factor (x+1) • - Any “burst” (consecutive) error detectable – its length less than k CS440 Computer Networks

  14. CRC Algorithm • Cost Effective • Efficient for Error Detection • Easy Implementation CS440 Computer Networks

  15. Error Detection Vs. Error Correction Error Correction is used only if • Errors happen frequently: wireless environment • The cost of retransmission is too high: satellite link, acoustic link. CS440 Computer Networks

More Related