Download - The Data Link Layer

Transcript
Page 1: The Data Link Layer

The Data Link Layer

Page 2: The Data Link Layer

Functions of the Data Link Layer

• Provide service interface to the network layer• Frame delineation• 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

Relationship between packets and frames.

Page 4: The Data Link Layer

Data Link Layer Services

• Unacknowledged connectionless service • Acknowledged connectionless service• Acknowledged connection-oriented service

Page 5: The Data Link Layer

Frame Delimiting

• Character count• Flag bytes with byte stuffing• Starting and ending flags, with bit stuffing

Page 6: The Data Link Layer

Framing

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

Page 7: The Data Link Layer

Framing

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

Page 8: The Data Link Layer

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

Error Detection and Correction

• Error-Correcting Codes• Error-Detecting Codes

Page 10: The Data Link Layer

Hamming Distance

• Hamming distance between codewords X and Y, is the number of ones in

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

• The number of corrected bit errors is d if 2d+1 is the minimum Hamming distance between two codes.

YX

Page 11: The Data Link Layer

Error Correction

• Codeword Y is calculated from generation matrix G, and block of data X: Y=XG=[x1,x2,…,xm]·Gmxn • At the receiver side the syndrom is found that detects and correct an error using check parity matrix H:

S=Y’HT

Page 12: The Data Link Layer

Error correction

• For generation and parity check matrices it should hold

GHT=0• If G=[Im|P]

Then H=[-PT|In-m]

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

Page 13: The Data Link Layer

Error correction: Hamming Code

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

101010111001101111000

H

Page 14: The Data Link Layer

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 of order k.

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

Page 15: The Data Link Layer

Error-Detecting Codes

Calculation of the polynomial code checksum.

Page 16: 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

with Frame Sequence Numbers

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

Sliding Window Protocols

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

Sliding Window Protocols

Pipelining and error recovery. Effect on an error when(a) Go back N (Wrec=1)(b) Selective Repeat

Page 20: The Data Link Layer

Sliding Window Protocol Timers

Simulation of multiple timers in software.

Page 21: The Data Link Layer

A Sliding Window Protocol Using Selective Repeat

Wrec ≤ (Smax+1)/2

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

Example Data Link Protocols

• HDLC - High-level Data Link Control• PPP – Point-to-Point Protocol

Page 23: The Data Link Layer

High-Level Data Link Control

Frame format for bit-oriented protocols.

Page 24: The Data Link Layer

High-Level Data Link Control

Control field of (a) An information frame.(b) A supervisory frame.

Type: RECEIVE READY, REJECT, RECEIVE NOT READY, SELECTIVE REPEAT

(c) An unnumbered frame.Type: DISCONNECT, SNRP (set normal response mode), SABM (set asynchronous balanced mode), FRAME REJECT

Page 25: The Data Link Layer

The Data Link Layer in the Internet

A home personal computer acting as an internet host.

Page 26: The Data Link Layer

PPP – Point to Point Protocol

The PPP full frame format for unnumbered mode operation.Protocol: Link Control Protocol (LCP), Network Control Protocol (NCP),

IP, IPX, Appletalk, CLNP

Page 27: The Data Link Layer

PPP – Point to Point Protocol

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

Page 28: The Data Link Layer

PPP – Point to Point Protocol

The LCP frame types.


Top Related