Top Banner
Adapted from Tanenbaum's Slides for Computer Netwo rking, 4e The Data Link Layer Chapter 3
49

Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Dec 22, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Adapted from Tanenbaum's Slides for Computer Networking, 4e

The Data Link Layer

Chapter 3

Page 2: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Data Link Layer Design Issues

• Services Provided to the Network Layer

• Framing

• Error Control

• Flow Control

Page 3: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Functions of the Data Link Layer

• Provide service interface to the network layer

• Dealing with transmission errors

• Regulating data flow• Slow receivers not swamped by fast senders

Page 4: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Functions of the Data Link Layer (2)

Relationship between packets and frames.

Page 5: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Services Provided to Network Layer

(a) Virtual communication.(b) Actual communication.

Page 6: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Services Provided to Network Layer (2)

Placement of the data link protocol.

Page 7: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Framing

A character stream. (a) Without errors. (b) With one error.

Page 8: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Framing (2)

(a) A frame delimited by flag bytes.(b) Four examples of byte sequences before and after stuffing.

Page 9: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Framing (3)

Bit stuffing

(a) The original data.

(b) The data as they appear on the line.

(c) The data as they are stored in receiver’s memory after destuffing.

Page 10: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Error Detection and Correction

• Error-Correcting Codes

• Error-Detecting Codes

• Key idea: redundant (additional) bits (use only 2m out of 2n code words)

• Key metrics: • how many errors can be

corrected/detected; • what burst length

Page 11: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Hamming Distance• Some codes words are valid; others are invalid

• Hamming distance between two code words is number of bits that must be flipped to change from one to the other

• If Hamming distance is d then d single bit errors needed to change one word to the other

• Hamming distance of a code is the minimum Hamming distance between two valid code words

• Detecting one single-bit error requires a distance 2 code; how does this generalize?

• Correcting one single-bit error requires a distance 3 code; how does this generalize?

Page 12: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Parity Schemes

• Parity bits: choose a rule• Even parity – each codeword has even number of 1’s

• Odd parity – each codeword has odd number of 1’s

• Always transmit according to the rule

• On receipt, if rule is violated, word is invalid

• Can also do “vertical parity” over whole block to achieve single-bit error correction

Page 13: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

CRC Schemes• CRC – Cyclic Redundancy Check or polynomial code

• Consider bits of a message to be coefficients of a polynomial M(x)

• 1011 – 1x3 + 0x2 + 1x1 + 1x0

• Of course real messages will be much longer and hence of higher degree

• Agree on a small-degree generator polynomial G(x) of degree r• Note: G(x) has r digits to the right of the leading 1, hence r+1 total

• Divide xrM(x) by G(x) using modulo 2 division (no carries or borrows) getting the remainder polynomial R(x)

• Transmit T(x) = xrM(x) - R(x); note that this has remainder 0 when divided by G(x)

• Receiver rejects frame if the remainder it computers is not 0

Page 14: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Error-Detecting Codes

Calculation of the polynomial code checksum.

Page 15: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

CRC Properties

• Easily computed with feedback shift register hardware

• Detects any single-bit error

• Proper choice of G(x) gives detection of any two bit errors

• Proper choice of G(x) gives detection of any odd number of bit errors

• Detects any burst error of length <= r; Why?• Received message is T(x)+E(x) for some error polynomial E(x)

• If E(x) represents a burst of length <= r then it can be written as xi(F(x)) where the degree of F(x) is < r

• If G(x) has an x0 term it can’t divide xi and no degree r polynomial divides a polynomial of degree < r

Page 16: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Elementary Data Link Protocols

• Important to read pp. 200-204 – set up the coding conventions used in what follows

• An Unrestricted Simplex Protocol• No buffer limits, no errors

• A Simplex Stop-and-Wait Protocol• Add buffer limits

• A Simplex Protocol for a Noisy Channel• Add channel errors

Page 17: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Protocol Definitions

Continued

Some definitions needed in the protocols to follow. These are located in the file protocol.h.

Page 18: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Protocol Definitions(ctd.)

Some definitions needed in the

protocols to follow. These are located in the file protocol.h.

Page 19: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Unrestricted Simplex Protocol

Page 20: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Simplex Stop-and-

Wait Protocol

Page 21: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

A Simplex Protocol for a Noisy Channel

A positive acknowledgement

with retransmission protocol.

Continued

Page 22: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

A Simplex Protocol for a Noisy Channel (ctd.)

A positive acknowledgement with retransmission protocol.

Page 23: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Sliding Window Protocols

• Why?• Efficiency – bandwidth*delay product

• Efficiency – when errors occur

• A One-Bit Sliding Window Protocol

• A Protocol Using Go Back N

• A Protocol Using Selective Repeat

Page 24: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Sliding Window Protocols (2)

A sliding window of size 1, with a 3-bit sequence number.

(a) Initially.

(b) After the first frame has been sent.

(c) After the first frame has been received.

(d) After the first acknowledgement has been received.

Page 25: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

A One-Bit Sliding Window Protocol

Continued

Page 26: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

A One-Bit Sliding Window Protocol (ctd.)

Page 27: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

A One-Bit Sliding Window Protocol (2)

Two scenarios for protocol 4. (a) Normal case. (b) Abnormal case. The notation is (seq, ack, packet number). An asterisk indicates where a network layer accepts a packet.

Page 28: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

A Protocol Using Go Back N

Pipelining and error recovery. Effect on an error when

(a) Receiver’s window size is 1.

(b) Receiver’s window size is large.

Page 29: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Sliding Window Protocol Using Go Back N

Continued

Page 30: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Sliding Window Protocol Using Go Back N

Continued

Page 31: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Sliding Window Protocol Using Go Back N

Continued

Page 32: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Sliding Window Protocol Using Go Back N

Page 33: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Sliding Window Protocol Using Go Back N (2)

Simulation of multiple timers in software.

Page 34: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

A Sliding Window Protocol Using Selective Repeat

Continued

Page 35: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Continued

A Sliding Window Protocol Using Selective Repeat (2)

Page 36: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

A Sliding Window Protocol Using Selective Repeat (3)

Continued

Page 37: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

A Sliding Window Protocol Using Selective Repeat (4)

Page 38: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

A Sliding Window Protocol Using Selective Repeat (5)

(a) Initial situation with a window size seven.

(b) After seven frames sent and received, but not acknowledged.

(c) Initial situation with a window size of four.

(d) After four frames sent and received, but not acknowledged.

Page 39: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Protocol Verification

• Finite State Machined Models

• Petri Net Models

Page 40: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Finite State Machined Models

(a) State diagram for protocol 3. (b) Transmissions.

Page 41: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Petri Net Models

A Petri net with two places and two transitions.

Page 42: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Petri Net Models (2)

A Petri net model for protocol 3.

Page 43: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

Example Data Link Protocols

• HDLC – High-Level Data Link Control

• The Data Link Layer in the Internet

Page 44: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

High-Level Data Link Control

Frame format for bit-oriented protocols.

Page 45: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

High-Level Data Link Control (2)

Control field of

(a) An information frame.

(b) A supervisory frame.

(c) An unnumbered frame.

Page 46: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

The Data Link Layer in the Internet

A home personal computer acting as an internet host.

Page 47: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

PPP – Point to Point Protocol

The PPP full frame format for unnumbered mode operation.

Page 48: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

PPP – Point to Point Protocol (2)

A simplified phase diagram for bring a line up and down.

Page 49: Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.

PPP – Point to Point Protocol (3)

The LCP frame types.