Reliability & Channel Coding

Slides:



Advertisements
Similar presentations
Lecture 12 Layer 2 – Data Link Layer Protocols
Advertisements

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.
NET0183 Networks and Communications Lectures 13 and 14 Channel Coding 8/25/20091 NET0183 Networks and Communications by Dr Andy Brooks Lecture powerpoints.
.1 Computer Networks and Internets, 5e By Douglas E. Comer Lecture PowerPoints Adapted from notes By Lami Kaya, © 2009 Pearson Education.
Chapter 6 Errors, Error Detection, and Error Control
Error Detection and Correction
Chapter 6 Errors, Error Detection, and Error Control.
Transmission Errors Error Detection and Correction
Error Detection and Correction
CSCI 4550/8556 Computer Networks Comer, Chapter 7: Packets, Frames, And Error Detection.
Chapter Six Errors, Error Detection, and Error Control Data Communications and Computer Networks: A Business User’s Approach Sixth Edition.
Error Detection and Correction
1 Chapter Six - Errors, Error Detection, and Error Control Chapter Six.
PART III DATA LINK LAYER. Position of the Data-Link Layer.
Transmission Errors1 Error Detection and Correction.
Long distance communication Multiplexing  Allow multiple signals to travel through one medium  Types Frequency division multiplexing Synchronous time.
EE 122: Error detection and reliable transmission Ion Stoica September 16, 2002.
1 ITC242 – Introduction to Data Communications Week 10 Topic 16 Data link control.
Chapter 6: Errors, Error Detection, and Error Control
Chapter 6 Errors, Error Detection, and Error Control
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 Correction
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 PART III: DATA LINK LAYER ERROR DETECTION AND CORRECTION 7.1 Chapter 10.
Transmission Errors Error Detection and Correction
18-Aug-154/598N: Computer Networks Overview Direct link networks –Error detection - Section 2.4 –Reliable transmission - Section 2.5.
Data link layer: services
CSE331: Introduction to Networks and Security Lecture 3 Fall 2002.
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,
Data Link Layer - 1 Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
1 Data Link Layer Lecture 20 Imran Ahmed University of Management & Technology.
PART III DATA LINK LAYER. Position of the Data-Link Layer.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Data Link Layer PART III.
© 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 1 Communication Reliability Asst. Prof. Chaiporn Jaikaeo, Ph.D.
Error Coding Transmission process may introduce errors into a message.  Single bit errors versus burst errors Detection:  Requires a convention that.
Part 2: Packet Transmission Packets, frames Local area networks (LANs) Wide area networks (LANs) Hardware addresses Bridges and switches Routing and protocols.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
© 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets, 5e By Douglas E. Comer Lecture PowerPoints.
Data Link Layer: Error Detection and Correction
Lecture 6: Framing and Error Detection-Data Link Layer Functions
COSC 3213: Computer Networks I Instructor: Dr. Amir Asif Department of Computer Science York University Section M Topics: 1. Error Detection Techniques:
1 Chapter Six - Errors, Error Detection, and Error Control Chapter Six.
Data Communications & Computer Networks, Second Edition1 Chapter 6 Errors, Error Detection, and Error Control.
Chapter 6: Errors, Error Detection, and Error Control Data Communications and Computer Networks: A Business User’s Approach Third Edition.
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
CHAPTER 3: DATA LINK CONTROL Flow control, Error detection – two dimensional parity checks, Internet checksum, CRC, Error control, Transmission efficiency.
Error Detection.
SEPT, 2005CSI Part I.2 Packets, Frames, Parity, Checksums, and CRCs Dr. R.L. Probert, SITE, University of Ottawa.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Error Detection and Correction
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 PART III: DATA LINK LAYER ERROR DETECTION AND CORRECTION 7.1 Chapter 10.
David Wetherall Professor of Computer Science & Engineering Introduction to Computer Networks Error Coding Overview (§3.2)
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.
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.
Part III: Data Link Layer Error Detection and Correction
Chi-Cheng Lin, Winona State University CS412 Introduction to Computer Networking & Telecommunication Error Correction/Detection.
Simple Parity Check The simplest form of error detection is the parity check used with ASCII codes, originally on asynchronous modem links Each 7 bit ASCII.
The Three Main Sources of Transmission Errors
CIS 321 Data Communications & Networking
Transmission Errors Error Detection and Correction
Packets, Frames, Parity, Checksums, and CRCs
COMPUTER NETWORKS CS610 Lecture-5 Hammad Khalid Khan.
Reliability and Channel Coding
Transmission Errors Error Detection and Correction
Error detection: Outline
Data Link Layer. Position of the data-link layer.
Presentation transcript:

Reliability & Channel Coding CECS 474 Computer Network Interoperability CHAPTER 8 Reliability & Channel Coding Tracy Bradley Maples, Ph.D. Computer Engineering & Computer Science Cal ifornia State University, Long Beach Notes for Douglas E. Comer, Computer Networks and Internets (5th Edition)

Errors Problem: All data communications systems are susceptible to errors The physics of the universe causes errors. Devices fail and/or equipment does not meet engineering standards.   Thus: We need ways/mechanisms to control and recover from errors. Note: Small errors are often more difficult to detect than complete failures. Three Main Sources of Transmission Errors Interference Example: Electromagnetic radiation interferes with electrical signals Distortion Rule: All physical systems distort signals Attenuation Example: As a signal passes across a medium, the signal becomes weaker

Reducing Errors Shannon's Theorem suggests one way to reduce errors:   Shannon's Theorem suggests one way to reduce errors: Increase the signal-to-noise ratio (either by increasing the signal or lowering noise if possible) Unfortunately, it is not always possible to change the signal-to-noise ratio. Example: Mechanisms like shielded wiring can help lower noise but a physical transmission system is always susceptible to some noise Bottom Line: Noise/interference cannot be eliminated completely Fortunately, many transmission errors can be detected. In some cases, errors can even be corrected automatically (but hardly ever!) Conclusion: Error handling is a tradeoff between the need for detecting errors and the additional overhead for error detection and/or correction.

Effect of Transmission Errors on Data Two key Characteristics of errors: BER bit error rate: Probability P of a single bit being corrupted in a defined time interval. Random (or burst) errors: Whether the errors occur as random single-bit errors or as groups of contiguous errors.

Error Detection and Correction   A variety of mathematical techniques have been developed that overcome errors during transmission and increase reliability. These techniques are known collectively as channel coding. Two primary approaches: Error Control Forward Error Control (FEC) mechanisms Backward Error Control (BEC) mechanisms 2. Automatic Repeat reQuest (ARQ) mechanisms

Error Control (FEC & BEC)   Basic idea of Error Control: Add additional information to the data that allows a receiver to verify that data arrives correctly and to correct errors (if possible). Backward error control (error detecting): Each transmitted character or frame contains additional information so that the receivers can detect but not correct errors. A retransmission scheme must also be used. Forward error control (error correcting): Each transmitted character or frame contains additional information so that the receivers can detect and correct errors.  

Parity Simplest method for detecting bit errors: Single Parity Checking (SPC) Add the # of 1 bits in the code together (modulo 2) and choose the parity bit so that the total number of one bits is: even (even parity) or odd (odd parity) A parity bit can be used to detect 1-bit errors in the code. SPC is a weak form of channel coding that can detect errors but cannot correct errors.   An single-bit parity mechanism can only handle errors where an odd number of bits are changed

Two-Dimensional Parity (Block sum check) Used with blocks of characters Use a row parity bit for each byte Use a column parity for each bit column position in the complete frame

Internet Checksum Algorithm   The Internet checksum is a simple error detection technique used by TCP/IP. The Internet Checksum Algorithm is simple: treat the data being transmitted as 16-bit integers, add them together using 16-bit ones-complement arithmetic, take the complement of the sum as the checksum, send the checksum across the network with the original data. The Internet checksum: Does not have strong error detection properties, but handles many multiple bit errors Cannot handle all errors It is easy to implement in software It is used in a end-to-end manner, so lower layer protocols catch most of the errors

Example: Internet Checksum Computation   The checksum is computed over the data: The checksum is then appended to the frame.   Example: An Error Checksum Fails To Detect When the second bit is reversed in each item, the two Checksums are the same.

Internet Checksum Algorithm (Cont’d) The Internet checksum: does not have strong error detection properties, but handles many multiple bit errors Cannot handle all errors is easy to implement in software is used in a end-to-end manner, so lower layer protocols catch most of the errors

Cyclic Redundancy Code (CRC)   A form of channel coding known as a Cyclic Redundancy Code (CRC) is used in high-speed data networks Key properties of CRC are summarized below:

CRC (cont’d) Cyclic redundancy codes: Uses a mathematical function More complex to compute than checksums Handles more errors Used with frame transmission schemes A single set of check digits is generated and appended at the end of each frame transmitted In this method the bits of data are treated as coefficients of a polynomial

CRC (cont’d) CRC Coding: A k-bit message is regarded as the coefficient list for a polynomial with k terms, ranging from x(k-1) to x0. The high-order (leftmost) bit is the coefficient of x(k-1); the next bit is the coefficient of x(k-2), and so on. The check digits are generated by multiplying the k-bit message by xn and dividing the product by an (n+1)-bit code polynomial (modulo 2). The n-bit remainder is used as the check digits. Decoding: The complete received bit sequence is divided by the same generator polynomial (modulo 2). If the remainder is zero, no errors occurred. If the remainder is nonzero, a transmission error has occurred.

CRC Calculation This figure shows the division of 1010 (k=4) which represents the data by a constant generator function: 1011 (n+1=4). Figure 8.12

CRC (cont’d) A generator polynomial of N+1 bits will detect: all single-bit errors all double-bit errors all odd-number of bit errors all error bursts < N+1 bits most error bursts >= N+1 bits

CRCs and Polynomial Representation   We can view the above process as a polynomial division: Think of each bit in a binary number as the coefficient of a term in a polynomial For example, we can think of the divisor in Figure 8.12, 1011, as coefficients in the following polynomial: Similarly, the dividend in Figure 8.12, 1010000, represents the polynomial:

Code Polynomials (or generator polynomials): Code polynomials are usually of degree 12 or 16 or 32   Six polynomials are in widespread use: Ethernet and FDDI use CRC-32 HDLC uses CRC-CCITT ATM uses CRC-8 and CRC-10 Three polynomials are international standards: CRC-12, CRC-16, and CRC-CCITT

Building Blocks For Implementing CRC   Exclusive OR Shift register a shows status before shift b shows status after shift Output same as top bit

Example Of CRC Hardware Computes 16-bit CRC Registers initialized to zero Bits of message shifted in CRC found in registers   Illustration of Frame Using CRC Note: The CRC covers data only

Automatic Repeat reQuest (ARQ) Mechanisms   Whenever one side sends a message to another, the other side sends a short acknowledgement (ACK) message back For example: If A sends a message to B, B sends an ACK back to A Once A receives the ACK, it knows that the message arrived correctly If no ACK is received after T time units, A assumes the message was lost and retransmits a copy ARQ is especially useful when errors are detected. ARQ cannot handle error correction

Error Detection Schemes in the Internet Most Layer 2 Protocols (e.g., Ethernet, Wi-Fi) Use CRC to detect transmission errors   TCP (Transmission Control Protocol) Uses an ARQ scheme is added to guarantee delivery. If a transmission error occurs: The receiver discards the message with an error The sender retransmits another copy More on TCP (and Reliable Data Transmission later)…