CMPE 150 Fall 2005 Lecture 11 - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

CMPE 150 Fall 2005 Lecture 11

Description:

Code with single parity bit has Hamming distance of 2! ... Each check bit used in parity (even or odd) computation of collection of bits. ... – PowerPoint PPT presentation

Number of Views:59
Avg rating:3.0/5.0
Slides: 28
Provided by: man46
Category:
Tags: cmpe | fall | lecture | parity

less

Transcript and Presenter's Notes

Title: CMPE 150 Fall 2005 Lecture 11


1
CMPE 150 Fall 2005Lecture 11
  • Introduction to Computer Networks

2
Announcements
  • No labs this week!
  • Except for make-up sessions.
  • Homework 2 is up.
  • Due 10.24.
  • Graded homework 1 is back.
  • Midterm on 10.28.

3
Last Class
  • Started DLL (layer 2).
  • Functionality.
  • Error control.
  • Flow control.
  • Framing.
  • Different approaches.
  • Counters.
  • Flag byte.
  • Byte stuffing.
  • Bit stuffing.

4
Reading Assignment
  • Tanenbaum Chapter 3.

5
Today
  • Layer 2 (contd)

6
Error Control
7
Error Control
  • Reliable delivery.
  • Hop-by-hop!
  • Detecting errors.
  • Detecting and correcting errors.

8
Acknowledgments
  • Special control info (in the case of the DLL,
    control frame) acknowledging receipt of data.
  • Positive and negative ACKs.
  • ACKs.
  • NACKs.
  • Are ACKs sufficient?

9
Reliable Delivery
  • Timers.
  • Retransmission.
  • Duplicate detection.

10
Flow Control
  • Handles mismatch between senders and receivers
    speed.
  • Receivers buffer limitation.
  • Feedback-based flow control.
  • Explicit permission from receiver.
  • Rate-based flow control.
  • Implicit mechanism for limiting sending rate.
  • DLL typically uses feedback-based flow control.

11
Error Detection and Correction
  • Add control information to the original data
    being transmitted.
  • Error detection enough info to detect error.
  • Need retransmissions.
  • Error correction enough info to detect and
    correct error.
  • A.k.a., forward error correction (FEC).

12
Why?
  • Error detection versus error correction.
  • Cost-efficiency?
  • Environment.
  • Application.

13
Whats an error?
  • Frame m data bits r bits for error control.
  • n m r.
  • Given the original frame f and the received frame
    f, how many corresponding bits differ?
  • Hamming distance (Hamming, 1950).

14
Hamming Distance Examples

15
Hamming Distance
  • If f and f are Hamming distance of d apart,
    there needs to be d single-bit errors to convert
    f to f.
  • Error detecting/correcting properties of a code
    depend on the codes Hamming distance.
  • To detect d errors, need code with Hamming
    distance d1.
  • Need d1 single-bit errors to change a valid f to
    a valid f.
  • If receiver sees invalid f, it knows an error
    occurred.

16
Parity Bit
  • Simple error detecting code.
  • Even- or odd parity.
  • Example
  • Transmit 1011010.
  • Add parity bit 1011010 0 (even parity) or 1011010
    1 (odd parity).
  • Code with single parity bit has Hamming distance
    of 2!
  • Any single bit error produces frame with wrong
    parity.

17
Error Correcting Codes
  • To correct d errors, need 2d1distance code.
  • Code words are 2d1 apart.
  • With d changes, original frame is closer than any
    other valid frame.

18
Error Correction Example
  • Suppose code with 4 valid words 0000000000,
    0000011111, 1111100000, 1111111111.
  • Hamming distance is 5.
  • Possible to correct double errors.
  • Example If 0000000111 arrives at receiver,
    receiver assumes original must have been
    0000011111.
  • But if triple error changes 0000000000 into
    0000000111, not able to correct it properly.

19
Hamming Code
  • Bits in positions that are power of 2 are check
    bits. The rest are data bits.
  • Each check bit used in parity (even or odd)
    computation of collection of bits.
  • Example check bit in position 11, checks for
    bits in positions, 11 128. Similarly, bit 11
    is checked by bits 1, 2, and 8.

20
Hamming Code Example
7-bit
. Hamming codes can only correct single errors. .
21
Error Detecting Codes
  • Typically used in reliable media.
  • Examples parity bit, polynomial codes (a.k.a.,
    CRC, or Cyclic redundancy Check).

22
Polynomial Codes
  • Treat bit strings as representations of
    polynomials with coefficients 1s and 0s.
  • K-bit frame is coefficient list of polynomial
    with k terms (and degree k-1), from xk-1to x0.
  • Highest-order bit is coefficient of xk-1, etc.
  • Example 110001 represents x5 x4 x0.
  • Generator polynomial G(x).
  • Agreed upon by sender and receiver.

23
CRC
  • Checksum appended to frame being transmitted.
  • Resulting polynomial divisible by G(x).
  • When receiver gets checksummed frame, it divides
    it by G(x).
  • If remainder, then error!

24
Cyclic Redunancy Check
At Transmitter, with M 1 1 1 0 1 1, compute
2rM 1 1 1 0 1 1 0 0 0 with G 1 1 0 1
T 2rM R note G starts and ends with
1
? R 1 1 1
Transmit T 1 1 1 0 1 1 1 1 1
25
Cyclic Redundancy Check
At the Receiver, compute
Note remainder 0 ?? no errors detected
26
CRC Performance
  • Errors go through undetected only if divisible by
    G(x)
  • With suitably chosen G(x) CRC code detects all
    single-bit errors.
  • And more

27
More on CRC
Write a Comment
User Comments (0)
About PowerShow.com