The Data Link Layer

46
The Data Link Layer Chapter 3

description

The Data Link Layer. Chapter 3. Data Link Layer Design Issues. Services Provided to the Network Layer Framing Error Control Flow Control. Functions of the Data Link Layer. Provide service interface to the network layer Dealing with transmission errors Regulating data flow - PowerPoint PPT Presentation

Transcript of The Data Link Layer

Page 1: The Data Link Layer

The Data Link Layer

Chapter 3

Page 2: The Data Link Layer

Data Link Layer Design Issues

• Services Provided to the Network Layer

• Framing

• Error Control

• Flow Control

Page 3: The Data Link Layer

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: The Data Link Layer

Functions of the Data Link Layer (2)

Relationship between packets and frames.

Page 5: The Data Link Layer

Services Provided to Network Layer

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

Page 6: The Data Link Layer

Services Provided to Network Layer (2)

Placement of the data link protocol.

Page 7: The Data Link Layer

Framing

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

Page 8: The Data Link Layer

Framing (2)

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

Page 9: The Data Link Layer

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: The Data Link Layer

Error Detection and Correction

• Error-Correcting Codes

• Error-Detecting Codes

Page 11: The Data Link Layer

Error-Correcting Codes

Use of a Hamming code to correct burst errors.

Page 12: The Data Link Layer

Error-Detecting Codes

Calculation of the polynomial code checksum.

Page 13: The Data Link Layer

Elementary Data Link Protocols

• An Unrestricted Simplex Protocol

• A Simplex Stop-and-Wait Protocol

• A Simplex Protocol for a Noisy Channel

Page 14: The Data Link Layer

Protocol Definitions

Continued

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

Page 15: The Data Link Layer

Protocol Definitions(ctd.)

Some definitions needed in the

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

Page 16: The Data Link Layer

Unrestricted Simplex Protocol

Page 17: The Data Link Layer

Simplex Stop-and-

Wait Protocol

Page 18: The Data Link Layer

A Simplex Protocol for a Noisy Channel

A positive acknowledgement

with retransmission protocol.

Continued

Page 19: The Data Link Layer

A Simplex Protocol for a Noisy Channel (ctd.)

A positive acknowledgement with retransmission protocol.

Page 20: The Data Link Layer

Sliding Window Protocols

• A One-Bit Sliding Window Protocol

• A Protocol Using Go Back N

• A Protocol Using Selective Repeat

Page 21: The Data Link Layer

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 22: The Data Link Layer

A One-Bit Sliding Window Protocol

Continued

Page 23: The Data Link Layer

A One-Bit Sliding Window Protocol (ctd.)

Page 24: The Data Link Layer

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 25: The Data Link Layer

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 26: The Data Link Layer

Sliding Window Protocol Using Go Back N

Continued

Page 27: The Data Link Layer

Sliding Window Protocol Using Go Back N

Continued

Page 28: The Data Link Layer

Sliding Window Protocol Using Go Back N

Continued

Page 29: The Data Link Layer

Sliding Window Protocol Using Go Back N

Page 30: The Data Link Layer

Sliding Window Protocol Using Go Back N (2)

Simulation of multiple timers in software.

Page 31: The Data Link Layer

A Sliding Window Protocol Using Selective Repeat

Continued

Page 32: The Data Link Layer

Continued

A Sliding Window Protocol Using Selective Repeat (2)

Page 33: The Data Link Layer

A Sliding Window Protocol Using Selective Repeat (3)

Continued

Page 34: The Data Link Layer

A Sliding Window Protocol Using Selective Repeat (4)

Page 35: The Data Link Layer

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 36: The Data Link Layer

Protocol Verification

• Finite State Machined Models

• Petri Net Models

Page 37: The Data Link Layer

Finite State Machined Models

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

Page 38: The Data Link Layer

Petri Net Models

A Petri net with two places and two transitions.

Page 39: The Data Link Layer

Petri Net Models (2)

A Petri net model for protocol 3.

Page 40: The Data Link Layer

Example Data Link Protocols

• HDLC – High-Level Data Link Control

• The Data Link Layer in the Internet

Page 41: The Data Link Layer

High-Level Data Link Control

Frame format for bit-oriented protocols.

Page 42: The Data Link Layer

High-Level Data Link Control (2)

Control field of

(a) An information frame.

(b) A supervisory frame.

(c) An unnumbered frame.

Page 43: The Data Link Layer

The Data Link Layer in the Internet

A home personal computer acting as an internet host.

Page 44: The Data Link Layer

PPP – Point to Point Protocol

The PPP full frame format for unnumbered mode operation.

Page 45: The Data Link Layer

PPP – Point to Point Protocol (2)

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

Page 46: The Data Link Layer

PPP – Point to Point Protocol (3)

The LCP frame types.