Fundamentals of Computer Networks ECE 478/578 Lecture #4: Error Detection and Correction Instructor: Loukas Lazos Dept of Electrical and Computer Engineering.

Slides:



Advertisements
Similar presentations
Cyclic Code.
Advertisements

Lecture 12 Layer 2 – Data Link Layer Protocols
Introduction to Information Technologies
Data and Computer Communications
CSE 461: Error Detection and Correction. Next Topic  Error detection and correction  Focus: How do we detect and correct messages that are garbled during.
Error Detection and Correction
Transmission Errors Error Detection and Correction
Error Detection and Correction
Error Detection and Correction
PART III DATA LINK LAYER. Position of the Data-Link Layer.
Transmission Errors1 Error Detection and Correction.
EE 122: Error detection and reliable transmission Ion Stoica September 16, 2002.
EEC-484/584 Computer Networks Lecture 13 Wenbing Zhao
Chapter 2 : Direct Link Networks (Continued). So far... Modulation and Encoding Link layer protocols Error Detection -- Parity Check.
7/2/2015Errors1 Transmission errors are a way of life. In the digital world an error means that a bit value is flipped. An error can be isolated to a single.
Error Detection and Reliable Transmission EECS 122: Lecture 24 Department of Electrical Engineering and Computer Sciences University of California Berkeley.
Chapter 10 Error Detection and Correction
Transmission Errors Error Detection and Correction
Lecture 3: Controlling Errors CS 3035/GZ01: Networked Systems Kyle Jamieson Department of Computer Science University College London.
18-Aug-154/598N: Computer Networks Overview Direct link networks –Error detection - Section 2.4 –Reliable transmission - Section 2.5.
Data link layer: services
COM342 Networks and Data Communications
Lecture 10: Error Control Coding I Chapter 8 – Coding and Error Control From: Wireless Communications and Networks by William Stallings, Prentice Hall,
PART III DATA LINK LAYER. Position of the Data-Link Layer.
Error Coding Transmission process may introduce errors into a message.  Single bit errors versus burst errors Detection:  Requires a convention that.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 14.
Advanced Computer Networks Chapter 2: Direct Link Networks.
Data Link Layer: Error Detection and Correction
Lecture 6: Framing and Error Detection-Data Link Layer Functions
Data and Computer Communications Chapter 6 – Digital Data Communications Techniques.
Data and Computer Communications by William Stallings Eighth Edition Digital Data Communications Techniques Digital Data Communications Techniques Click.
COSC 3213: Computer Networks I Instructor: Dr. Amir Asif Department of Computer Science York University Section M Topics: 1. Error Detection Techniques:
EEC4113 Data Communication & Multimedia System Chapter 5: Error Control by Muhazam Mustapha, October 2011.
Data Integrity © Prof. Aiman Hanna Department of Computer Science Concordia University Montreal, Canada.
David Wetherall Professor of Computer Science & Engineering Introduction to Computer Networks Error Detection (§3.2.2)
Computer Science Division
Computer Networks Lecture 2: Data Link Based on slides from D. Choffnes Northeastern U. and P. Gill from StonyBrook University Revised Autumn 2015 by S.
Computer Communication & Networks Lecture 9 Datalink Layer: Error Detection Waleed Ejaz
CSCI 465 D ata Communications and Networks Lecture 9 Martin van Bommel CSCI 465 Data Communications & Networks 1.
1 © Unitec New Zealand CRC calculation and Hammings code.
Review.
10.1 Chapter 10 Error Detection and Correction Data can be corrupted during transmission. Some applications require that errors be detected and.
Error Detection and Correction
David Wetherall Professor of Computer Science & Engineering Introduction to Computer Networks Error Coding Overview (§3.2)
Winter 2007CS244a Handout 141 CS244a: An Introduction to Computer Networks Handout 14: Error Detection and Correction Nick McKeown Professor of Electrical.
Transmission Errors Error Detection and Correction.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Network Layer4-1 Chapter 5: The Data Link Layer Our goals: r understand principles behind data link layer services: m error detection, correction m sharing.
Lecture 4 Error Detecting and Correcting Techniques Dr. Ghalib A. Shah
Dr. Clincy Professor of CS
Modulo-2 Digital coding uses modulo-2 arithmetic where addition becomes the following operations: 0+0= =0 0+1= =1 It performs the.
Introduction to Information Technologies
Error Detection and Correction
Subject Name: COMPUTER NETWORKS-1
: An Introduction to Computer Networks
Advanced Computer Networks
CIS 321 Data Communications & Networking
Digital data communication (Error control)
ECE 4450:427/527 - Computer Networks Spring 2017
Error Detection Bit Error Rate(BER): It is the ratio of number Ne of errors appearing over a certain time interval t to the number Nt of 1 and 0 pulses.
Detecting and Correcting Bit Errors
EEC4113 Data Communication & Multimedia System Chapter 5: Error Control by Muhazam Mustapha, August 2010.
EEC-484/584 Computer Networks
Introduction to Information Technologies
Error Detection Neil Tang 9/26/2008
Protocols and the TCP/IP Suite
EECS 122: EE122: Error Detection and Reliable Transmission
Presentation transcript:

Fundamentals of Computer Networks ECE 478/578 Lecture #4: Error Detection and Correction Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University of Arizona

Bit Errors in a Link Types of errors Isolated errors: Bit errors that do not affect other bits Burst errors: A cluster of bits in which a number of errors occur Burst errors increase with data rate 1μs of impulse noise or fading effect will affect At most 2 bits when data rate is 1Mbps At most 101 bits when data rate is 100Mb ps 2

How Often do Errors Occur? Let two independent events have probability p, q Probability of either event is: 1 - (1 - p)(1 - q) = p + q – pq ≈ p + q, for p, q small BER = 10 -7, and a file is 10 4 long, then the probability of a single error is 10 4 x = Probability of exactly two errors. For two bits i, j the probability of error is x Total # of pairs: Probability of two errors: 5 x 10 7 x = 5 x

Dealing with Errors Receiver must be aware that an error occurred in a frame Need to have an error detection mechanism Receiver must receive the correct frame Two possible strategies Add information redundancy to correct errors (error correcting codes) Ask sender to re-send frame (retransmission strategies) In practice both are employed 4

Error Detection Single parity checks Append a single parity bit at end of frame. Parity is 1 if # of ones is odd, and zero otherwise Example: ← parity Single parity check can detect any odd # of errors Cannot tell where the error took place or how many occurred Not useful for burst errors 5

Two-dimensional Parity Arrange bits of a frame into a two dimensional array Can detect all 1-, 2-, and 3-bit errors, and most 4-bit errors but not all Can also correct 1-bit errors, if it is known that a one-bit error occurred Overhead: 13/

(IP) Checksum Treat data as 16-bit words Add 16-bit words two at a time Add carry to LSB Once done, compute one’s complement (i.e. invert result) E.g. Assume the following header What type of errors can remain undetected ? 7

Cyclic Redundancy Check (CRC) Add k redundant bits on a n-bit message Design goal k<<n so that overhead is low Example: 32-bit CRC adequate for 12,000 bits (1,500) bytes Represent (n+1)-bit messages as n degree polynomials Example: maps to x 7 + x 4 + x 3 + x 1 The bits of the message to be transmitted become the coefficients of the polynomial 8

Polynomial Arithmetic Any polynomial B(x) is divisible by a polynomial C(x) if deg(B) ≥ deg(C) C(x) is called the divisor If C(x) and B(x) are of the same degree, the remainder is obtained by subtracting C(x) from B(x) Modulo 2 arithmetic, subtraction is an XOR operation between coefficients Example B(x) = x 3 + 1, C(x) = x 3 + x Remainder: R(x) = x 2 B(x) = 1001, C(x) =1101, R(x) = 0100 (XOR of B(x), C(x)) 9

CRC Calculation Goal: For message M(x), and divisor C(x), construct polynomial P(x) that is divisible by C(x) C(x) known to both sender and receiver Process: Step 1: multiply M(x) by x k (add k zeros at the end of message) and obtain T(x). k is the degree of C(x). Step 2: Divide T(x) by C(x) Step 3: Subtract the remainder R(x) from T(x). Step 4: Obtain P(x) = M(x)|R(x) divisible by C(x) 10

Example: CRC Calculation M = , C(x) = x 3 + x 2 +1 T(x) = | 000 R(x) = 101 P(x) = |

Selection of C(x) Bit errors can be seen as a polynomial E(x) added to P(x) Error remains undetected if E(x) is divisible by C(x) Single-bit errors: E(x) = x i, x k, x 0 coefficients are nonzero, all single-bit errors detected Double-bit errors: C(x) has a factor with at least 3 terms Odd number errors: C(x) contains the factor (x+1) Any burst error of less than k bits and most burst errors of larger than k bits 12

Commonly Used CRCs CRCC(x)C(x) CRC-8x 8 + x 2 + x + 1 CRC-10x 10 + x 9 + x 5 + x 4 + x + 1 CRC-12x 12 + x 11 + x 3 + x CRC-16x 16 + x 15 + x CRC-CCITTx 16 + x 12 + x CRC-32x 32 + x 26 + x 23 + x 22 + x 16 + x 12 + x 11 + x 10 + x 8 + x 7 + x 5 + x 4 + x 2 + x +1 13

Fundamentals of Coding Coding: Map an k-bit word to an n-bit word. Notation: This code is usually referred to as (n,k)-code Weight of a word: The number of ones in the word. Ex.: W( )= 5 Hamming distance between x, y: d(x,y) = W(x  y) Ex. x = , y = , d = 6 # words at a hamming distance d: # words at a distance up to d: Minimum distance: the minimum Hamming distance out of all distances in a code 14

Detecting and Correcting Errors An (n, k)-code can detect up to n-k-1 errors and correct up to n-k/2 errors Example Hamming (7,4)-code, can detect any single or two bit errors, and correct any single bit error Well known codes Hamming codes Reed-Solomon codes: used in DSL, WiMax, CD, DVD, Blue-Ray Discs 15