Top Banner
The Data Link Layer
57

The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Jan 03, 2016

Download

Documents

Katherine Mills
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: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

The Data Link Layer

Page 2: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Functions of the Data Link Layer

• Provide service interface to the network layer

• Dealing with transmission errors• Error detection and correction codes• Positive and negative acknowledgements• Timers

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

Page 3: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Functions of the Data Link Layer

Relationship between packets and frames.

Page 4: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Services Provided to Network Layer

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

Page 5: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Services Provided to Network Layer

Placement of the data link protocol.

Page 6: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Data Link Layer Services

• Unacknowledged connectionless service

• Acknowledged connectionless service

• Acknowledged connection-oriented service

Page 7: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Frame Delimiting

• Character count

• Flag bytes with byte stuffing

• Starting and ending flags, with bit stuffing

• Physical layer coding violations.

Page 8: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Framing

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

Page 9: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Framing

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

Page 10: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Framing

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 11: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Error Detection and Correction

• Error-Correcting Codes

• Error-Detecting Codes

Page 12: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Error Probability

)()1(

)()0(

1

0

YYNpXP

YYNpXPP

th

the

Page 13: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Hamming Distance

• Hamming distance between codewords X and

Y, is the number of ones in

• The number of detected error is d if d+1 is the minimum Hamming distance between two codes.

• The number of detected error is d if 2d+1 is the minimum Hamming distance between two codes.

YX

Page 14: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Error Correction

• Codeword Y is calculated from generation matrix G, and block of data X:

Y=XG=[x1,x2,…,xm]·G

• At the receiver side the syndrom is found that detects and correct an error using check parity matrix H:

S=YHT

Page 15: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Error correction

• For generation and parity check matrices it should hold

GHT=0• If

G=[In-k|P]

Then

H=[-PT|Ik]

• Here I is unity matrix, n is the codeword length, and n-k is the data block length

Page 16: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Error correction: Hamming Code

• In Hamming code the codeword length is 2m-1, the number of added bits is 2m-1-m-1 • Parity check matrix comprises all possible column vectors. For example for m=3

1010101

1100110

1111000

Page 17: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Hamming Code

Use of a Hamming code to correct burst errors.

Page 18: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Hamming Code: Exercise

• Decode the bit-stream coded by Hamming code: 111100011001110010110

Page 19: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Hamming Code: Solution

• Correct the bit-stream coded by Hamming code: 111100011001110010110

• Correct stream is 111000011001100010110

000

111

001

111

011

101

001

110

010

100

0110100

1110011

0001111

Page 20: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Hamming Code: Exercise

• Find the generation matrix for Hamming code (7,4), and encode bit stream 001011100.

Page 21: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Hamming Code: Solution

• Find the generation matrix for Hamming code (7,4), and encode bit stream 001011100.

0011001

0000111

0101010

1001011

G

Page 22: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Error Detection Code: CRC

• Data block and codeword represented by polynomials.

• If data block is X(x)=b0+b1x+…+bm-1xm-1, codeword is Y(x)=X(x)xk-mod(X(x), G(x)), where G(x) is a generator polynomial.

• At the receiver side, codeword polynomial is divided by G(x). If the reminder is non-zero, an error is detected.

Page 23: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Error-Detecting Codes

Calculation of the polynomial code checksum.

Page 24: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Elementary Data Link Protocols

• An Unrestricted Simplex Protocol

• A Simplex Stop-and-Wait Protocol

• A Simplex Protocol for a Noisy Channel

Page 25: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Protocol Definitions

Continued

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

Page 26: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Protocol Definitions(ctd.)

Some definitions needed in the

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

Page 27: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Unrestricted Simplex Protocol

Page 28: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Simplex Stop-and-

Wait Protocol

Page 29: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

A Simplex Protocol for a Noisy Channel

A positive acknowledgement

with retransmission protocol.

Continued

Page 30: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

A Simplex Protocol for a Noisy Channel (ctd.)

A positive acknowledgement with retransmission protocol.

Page 31: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Sliding Window Protocols

• A One-Bit Sliding Window Protocol

• A Protocol Using Go Back N

• A Protocol Using Selective Repeat

Page 32: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

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 33: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

A One-Bit Sliding Window Protocol

Continued

Page 34: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

A One-Bit Sliding Window Protocol (ctd.)

Page 35: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

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 36: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

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 37: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Sliding Window Protocol Using Go Back N

Continued

Page 38: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Sliding Window Protocol Using Go Back N

Continued

Page 39: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Sliding Window Protocol Using Go Back N

Continued

Page 40: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Sliding Window Protocol Using Go Back N

Page 41: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Sliding Window Protocol Using Go Back N (2)

Simulation of multiple timers in software.

Page 42: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

A Sliding Window Protocol Using Selective Repeat

Continued

Page 43: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Continued

A Sliding Window Protocol Using Selective Repeat (2)

Page 44: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

A Sliding Window Protocol Using Selective Repeat (3)

Continued

Page 45: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

A Sliding Window Protocol Using Selective Repeat (4)

Page 46: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

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 47: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Protocol Verification

• Finite State Machined Models

• Petri Net Models

Page 48: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Finite State Machined Models

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

Page 49: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Petri Net Models

A Petri net with two places and two transitions.

Page 50: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Petri Net Models (2)

A Petri net model for protocol 3.

Page 51: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

Example Data Link Protocols

• HDLC – High-Level Data Link Control

• The Data Link Layer in the Internet

Page 52: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

High-Level Data Link Control

Frame format for bit-oriented protocols.

Page 53: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

High-Level Data Link Control (2)

Control field of

(a) An information frame.

(b) A supervisory frame.

(c) An unnumbered frame.

Page 54: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

The Data Link Layer in the Internet

A home personal computer acting as an internet host.

Page 55: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

PPP – Point to Point Protocol

The PPP full frame format for unnumbered mode operation.

Page 56: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

PPP – Point to Point Protocol (2)

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

Page 57: The Data Link Layer. Functions of the Data Link Layer Provide service interface to the network layer Dealing with transmission errors Error detection.

PPP – Point to Point Protocol (3)

The LCP frame types.