75
1 Chapter 4 Data Link Layer Framing Error control Flow control Multiplexing Link Maintenance Security

Chapter 4 Data Link Layer

  • Upload
    miller

  • View
    24

  • Download
    0

Embed Size (px)

DESCRIPTION

Chapter 4 Data Link Layer. Framing Error control Flow control Multiplexing Link Maintenance Security. Services. Transfers frames across direct connections Directly connected (can be wireless), wire-like Losses & errors, but no out-of-sequence frames More detailed services - PowerPoint PPT Presentation

Citation preview

Page 1: Chapter 4  Data Link Layer

1

Chapter 4 Data Link Layer

Framing

Error control

Flow control

Multiplexing

Link Maintenance

Security

Page 2: Chapter 4  Data Link Layer

2

Services

Transfers frames across direct connections Directly connected (can be wireless), wire-like Losses & errors, but no out-of-sequence frames

More detailed services Framing (bits ↔ frames) Error control (protection from impairment) Flow control Multiplexing Link Maintenance Security: Authentication & Encryption

Page 3: Chapter 4  Data Link Layer

3

Data Link Protocols

Examples PPP HDLC Ethernet LAN IEEE 802.11 (WiFi) LAN

Data linklayer

Physicallayer

Physicallayer

Data linklayer

A B

Packets Packets

Frames

Page 4: Chapter 4  Data Link Layer

4

Framing (Chapter 5.4 in Leon-Garcia)

Page 5: Chapter 4  Data Link Layer

5

Framing

Bit stream - frames Frame boundaries can

be determined using:1. Character Counts

2. Control Characters

3. Framing Bits

4. Framing by illegal code

0110110111

Framing

receivedframes

0111

1101

01transmitted

frames

Page 6: Chapter 4  Data Link Layer

6

Data to be sent

A DLE B ETX DLE STX E

After stuffing and framing

DLE DLE B ETX DLE DLE STXDLE STX A E DLE ETX

Control Characters

What about transmission of data (including non-printable characters)? Introduce DLE (data link escape) = 0x10 DLE STX (DLE ETX) used to indicate beginning (end) of frame Insert extra DLE in front of occurrence of DLE STX (DLE ETX) in frame All DLEs occur in pairs except at frame boundaries.

Transmission of printable characters using ASCII Octets with HEX value < 0x20 are nonprintable Use control characters: STX (start of text) = 0x02; ETX (end of text) = 0x03.

Page 7: Chapter 4  Data Link Layer

7

Bit Stuffing

Frame delineated by flag character HDLC uses bit stuffing to prevent occurrence of flag

01111110 inside the frame Transmitter inserts extra 0 after each consecutive

five 1s inside the frame Receiver checks for five consecutive 1s

if next bit = 0, it is removed if next two bits are 10, then flag is detected If next two bits are 11, then frame has errors

Flag FlagAddress Control Information FCS

HDLC frame

any number of bits

Page 8: Chapter 4  Data Link Layer

8

0110111111111100

Data to be sent

After stuffing and framing

0111111001101111101111100001111110

(a)

*000111011111-11111-110*

Data received

After destuffing and deframing

01111110000111011111011111011001111110

(b)

Example: Bit stuffing

Page 9: Chapter 4  Data Link Layer

9

Example: Framing in Ethernet

Ethernet complies to standard IEEE 802.3 An illegal manchester coding is used for

framing. A character count is also included in the

header. All frames have an integral number of bytes.

If not, the frame is considered to be received in error.

Page 10: Chapter 4  Data Link Layer

10

Error Control Coding(Chapter 3.9 in Leon-Garcia)

Page 11: Chapter 4  Data Link Layer

11

Error Control Two approaches

Forward error correction (FEC) Error detection & retransmission (ARQ)

Add redundancy (admit only codewords with a certain pattern) Blindspot: when channel transforms a codeword into another

codeword (n,k) block code There are capacity-achieving codes

Usually with somewhat high complexity; When bandwidth is abundant it suffices to use simpler codes.

ChannelEncoderb1…bk Decoder

c1…cn

Page 12: Chapter 4  Data Link Layer

12

Single Parity Check

Information bits: b1, b2, b3, …, bk

Check Bit: bk+1= b1+ b2+ b3+ …+ bk modulo 2

Codeword: (b1, b2, b3, …, bk,, bk+!)

All codewords have even # of 1s All error patterns that change an odd number of bits are

detectable Others undetectable

Redundancy: overhead = 1/(k + 1)

n=k+1

Page 13: Chapter 4  Data Link Layer

13

Example

Information (7 bits): (0, 1, 0, 1, 1, 0, 0)

Page 14: Chapter 4  Data Link Layer

14

Probability of Error

Example: Evaluate above for n = 6, p = 0.01

P[error detection failure]= P[undetectable error pattern] = P[all error patterns with even number of 1s]

= p2(1 – p)n-2 + p4(1 – p)n-4 + …n2

n4

P[undetectable error] = 0.0014

Page 15: Chapter 4  Data Link Layer

15

Two-Dimensional Parity Check

1 0 0 1 0 0

0 1 0 0 0 1

1 0 0 1 0 0

1 1 0 1 1 0

1 0 0 1 1 1

column check bit

row check bits

Page 16: Chapter 4  Data Link Layer

16

1 0 0 1 0 0

0 0 0 1 0 1

1 0 0 1 0 0

1 0 0 0 1 0

1 0 0 1 1 1

1 0 0 1 0 0

0 0 0 0 0 1

1 0 0 1 0 0

1 0 0 1 1 0

1 0 0 1 1 1

1 0 0 1 0 0

0 0 0 1 0 1

1 0 0 1 0 0

1 0 0 1 1 0

1 0 0 1 1 1

1 0 0 1 0 0

0 0 0 0 0 1

1 0 0 1 0 0

1 1 0 1 1 0

1 0 0 1 1 1

Arrows indicate failed check bits

Two errorsOne error

Three errors Four errors

(undetectable)

Error-detecting capability

1, 2, or 3 errors can always be

detected; Not all patterns >4 errors can be detected

Page 17: Chapter 4  Data Link Layer

17

Hamming Codes

Class of linear block codes Capable of correcting all single-error patterns For each m > 2, there is a (2m–1, n-m) Hamming code

m n = 2m–1 k = n–m Code rate k/n

3 7 4 4/7

4 15 11 11/15

5 31 26 26/31

Page 18: Chapter 4  Data Link Layer

18

m = 3 Hamming Code

Information bits are b1, b2, b3, b4

Parity checks (binary addition/multiplication)

Linearity 24 = 16 codewords

b5 = b1 + b3 + b4

b6 = b1 + b2 + b4

b7 = + b2 + b3 + b4

Page 19: Chapter 4  Data Link Layer

19

Hamming (7,4) codeInformation Codeword Weight

b1 b2 b3 b4 b1 b2 b3 b4 b5 b6 b7 w(b)

0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 1 0 0 0 1 1 1 1 4

0 0 1 0 0 0 1 0 1 0 1 3

0 0 1 1 0 0 1 1 0 1 0 3

0 1 0 0 0 1 0 0 0 1 1 3

0 1 0 1 0 1 0 1 1 0 0 3

0 1 1 0 0 1 1 0 1 1 0 4

0 1 1 1 0 1 1 1 0 0 1 4

1 0 0 0 1 0 0 0 1 1 0 3

1 0 0 1 1 0 0 1 0 0 1 3

1 0 1 0 1 0 1 0 0 1 1 4

1 0 1 1 1 0 1 1 1 0 0 4

1 1 0 0 1 1 0 0 1 0 1 4

1 1 0 1 1 1 0 1 0 1 0 4

1 1 1 0 1 1 1 0 0 0 0 3

1 1 1 1 1 1 1 1 1 1 1 7

Page 20: Chapter 4  Data Link Layer

20

Parity Check Equations Rearrange parity check equations:

All codewords must satisfy these equations

Note: each nonzero 3-tuple appears once as a column in check matrix H

In matrix form:

0 = b1 + b3 + b4 + b5

0 = b1 + b2 + b4 + b6

0 = + b2 + b3 + b4 + b7

b1

b2

0 = 1 0 1 1 1 0 0 b3

0 = 1 1 0 1 0 1 0 b4 = H bt = 0

0 = 0 1 1 1 0 0 1 b5

b6

b7

Page 21: Chapter 4  Data Link Layer

21

0010000

s = H e = =101

Single error detected

0100100

s = H e = = + =011

Double error detected100

1 0 1 1 1 0 01 1 0 1 0 1 00 1 1 1 0 0 1

1110000

s = H e = = + + = 0 110

Triple error not detected

011

101

1 0 1 1 1 0 01 1 0 1 0 1 00 1 1 1 0 0 1

1 0 1 1 1 0 01 1 0 1 0 1 00 1 1 1 0 0 1

111

Hamming Code: Error Detection

Page 22: Chapter 4  Data Link Layer

22

Minimum distance Undetectable error pattern must have 3 or more bits At least 3 bits must be changed to convert one codeword

into another codeword

b1 b2o o

o

o

oo

o

o

Set of n-tuples within

distance 1 of b1

Set of n-tuples within

distance 1 of b2

Spheres of distance 1 around each codeword do not overlap

If a single error occurs, the resulting n-tuple will be in a unique sphere around the original codeword

Distance 3

Page 23: Chapter 4  Data Link Layer

23

General Hamming Codes

For m > 2, the Hamming code is obtained through the check matrix H: Each nonzero m-tuple appears once as a column The resulting code corrects all single errors

P[undetectable error]= P[ error is a codeword]≈ (# of codewords with dmin) x pdmin

Animated example http://www.systems.caltech.edu/EE/Faculty/rjm/SAMPLE_20040708.html

Page 24: Chapter 4  Data Link Layer

24

Hamming Codes: Error-correction

Compute syndrome: s = HR = H (b + e) = Hb + He = He If s = 0, then the receiver accepts R as the transmitted

codeword, find the corresponding k-bit message If s is nonzero, then an error is detected

Hamming decoder assumes a single error has occurred Each single-bit error pattern has a unique syndrome The receiver matches the syndrome to a single-bit error

pattern and corrects the appropriate bit

b

e

R+ (Receiver)(Transmitter)

Error pattern

Page 25: Chapter 4  Data Link Layer

25

Hamming Codes: Performance

Assume bit errors occur independent of each other and with probability p

s = H R = He

s = 0 s = 0

No errors intransmission

Undetectableerrors

Correctableerrors

Uncorrectableerrors

(1–p)7 7p3

1–3p 3p

7p

7p(1–3p) 21p2

Page 26: Chapter 4  Data Link Layer

26

Other Error Control Codes

Good practical codes for error detection: Internet Check Sums CRC Polynomial Codes

They can detect the vast majority of errors.

Good codes for error “correction”: Turbo codes Low-density parity-check (LDPC) codes

Page 27: Chapter 4  Data Link Layer

27

Internet Checksum

Several Internet protocols (e.g. IP, TCP, UDP) use check bits to detect errors in the header

A checksum is calculated for header contents and included in a special field.

Treating each 16-bit word in data as an integer, find

x = b0 + b1 + b2+ ...+ bL-1 modulo 216-1 The checksum is then given by:

bL = - x modulo 216-1

Thus, the headers satisfy the following pattern:

0 = b0 + b1 + b2+ ...+ bL-1 + bL modulo 216-1

Page 28: Chapter 4  Data Link Layer

28

Polynomial Codes

Convenient mathematical formulation of coding Polynomials as codewords Implemented using shift-register circuits Called cyclic redundancy check (CRC) codes Excellent for detecting burst errors

Reg 0 ++

Encoder for g(x) = x3 + x + 1

Reg 1 Reg 20,0,0,i0,i1,i2,i3

g0 = 1 g1 = 1 g3 = 1

Page 29: Chapter 4  Data Link Layer

29

Automatic Repeat Request (ARQ)

(Chapter 5 in Leon-Garcia)

Page 30: Chapter 4  Data Link Layer

30

n – 1 n – 1

n n

n + 1 n + 1

Peer-to-Peer Protocols

Each layer provides a service to the layer above.

It does so by executing a peer-to-peer protocol.

The protocol uses the the services of the layer below.

Page 31: Chapter 4  Data Link Layer

31

Service Models

The service model specifies the manner in which information is transferred. Connection-oriented Connectionless

Page 32: Chapter 4  Data Link Layer

32

Connection setup Message transfer Connection release Example: TCP, PPP

Connection-Oriented

n + 1 peer processsend

n + 1 peer processreceive

Layer n connection-oriented serviceSDU SDU

Page 33: Chapter 4  Data Link Layer

33

No setup Each message sent independently Must provide all address information per message Simple & quick Example: UDP, IP

Connectionless Transfer Service

n + 1 peer processsend

n + 1 peer processreceive

SDU Layer n connectionless service

Page 34: Chapter 4  Data Link Layer

34

Purpose: To pass to the receiver every frame correctly, only once, in order.

Bad things can happen: Error, arbitrary delay, out-of-order arrival, or loss. Aim at very high reliability.

Assume if frames arrive, they arrive in-order for now. We save the out-of-order problem for later.

Basic elements: Error-detecting code ACKs (positive acknowledgments) NAKs (negative acknowledgments) Timeout mechanism

Automatic Repeat Request (ARQ)

Page 35: Chapter 4  Data Link Layer

35

PacketError-free

packet

Information frame

Control frame

Transmitter Receiver

Stop-and-Wait ARQ

Timer set after each frame

transmission

Transmit a frame, wait for ACK

Page 36: Chapter 4  Data Link Layer

36

In cases (a) & (b) the transmitting station A acts the same way But in case (b) the receiving station B accepts frame 1 twice Question: How is the receiver to know the second frame is also frame 1? Need a sequence number: Slast=SN of most recent transmitted frame.

Need for Sequence Numbers(a) Frame 1 lost

A

B

Frame 0

Frame1

ACK

Frame1

ACK

TimeTime-out

Frame2

(b) ACK lost

A

B

Frame 0

Frame1

ACK

Frame1

ACK

TimeTime-out

Frame2

ACK

Page 37: Chapter 4  Data Link Layer

37

Sequence Numbers

The transmitting station misinterprets duplicate ACKs Question: How is the receiver to know second ACK is for frame 0?

(c) Premature Time-out

A

B

Frame 0 Frame

0ACKFrame

1ACK

TimeTime-out

Frame2

Need SN in ACK: Rnext=SN of next frame expected by the receiver. Implicitly acknowledges receipt of all prior frames. What if ACK only if Slast=Rnext?

Page 38: Chapter 4  Data Link Layer

38

Transmitter A

Receiver B

SlastRnext

0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Timer

Rnext

Slast

How many bits for SN?

1-Bit SN Suffices

Page 39: Chapter 4  Data Link Layer

39

Transmitter A

Receiver B

Rnext

Slast

Finite State Machine

(0,0) (0,1)

(1,0) (1,1)

Global State:(Slast, Rnext)

Error-free frame 0arrives

ACK 0arrives

ACK 1arrives

Error-free frame 1arrives

Frame 0lost/error

Frame 1lost/error

ACK 0lost/error

ACK 1lost/error

Page 40: Chapter 4  Data Link Layer

40

S/W Efficiency

A

B

First frame bit enters channel

Last frame bit enters channel

Transmitter waits for ACK

Last frame bit arrives at receiver

Receiver processes frame

and prepares ACK

ACK arrives

First frame bit arrives at receiver

t

t

Page 41: Chapter 4  Data Link Layer

41

frametf time

A

B

tproptack tproc

tprop

tproc

t0 = total time to transmit 1 frame if no error

S/W Transmission Time

R

n

R

ntt

ttttt

afprocprop

ackfprocprop

22

220bits/info frame

channel transmission rate

bits/ACK frame

Page 42: Chapter 4  Data Link Layer

42

Efficiency on Error-free channel

.)(2

1

1

0

0

0

f

procprop

f

a

f

o

ofeff

n

Rtt

nn

nn

Rt

nn

R

R

Overhead bits (header, CRC)

, timetotal

bitsn informatio of #

0

0

t

nnR ofeff

Effect offrame overhead

Effect ofACK frame

Effect ofDelay-Bandwidth Product

Effective transmission rate:

Transmission efficiency:

Page 43: Chapter 4  Data Link Layer

43

Delay-Bandwidth Product

nf=10,000 bits, na=no=200 bits

2xDelayxBW

Efficiency 1 ms

200 km

10 ms

2000 km

100 ms

20,000 km

1 sec

200,000 km

1 Mbps 103

88%

104

49%

105

9%

106

1%

1 Gbps 106

1%

107

0.1%

108

0.01%

109

0.001%

S/W inefficient for very high speeds or long delays

Page 44: Chapter 4  Data Link Layer

44

Average Transmission Number

Proposition: Let Pf be the frame error probability. Then the average number of transmissions per successful frame is 1/ (1–Pf ).

Proof: The number of transmissions to first correct arrival has geometric distribution.

E.g., if 1-in-10 gets through, then in average 10 tries to success.

.1

1

1

11

1

1

)1()1(

][][

11

1

1

ffff

i

if

ff

i

iff

i

PPdP

d

P

PdP

dPPPi

iniPNE

Page 45: Chapter 4  Data Link Layer

45

Efficiency in Channel with Errors

)1()(2

1

1

)1/(0f

f

procprop

f

a

f

o

f

ofeffSW P

n

Rtt

nn

nn

PRt

nn

R

R

Effect of frame loss

pnepP fpnn

fff small and largefor )1(1

If bit-error-rate is p, then

Assuming time-out is equal to t0 (it should be larger)

Page 46: Chapter 4  Data Link Layer

46

Go-Back-N

A sliding-window protocol. Keep channel busy by continuing to send frames Allow a window of up to Ws outstanding frames If ACK for oldest frame arrives before window is

exhausted, we can continue transmitting If window is exhausted, pull back and retransmit all

outstanding frames

Page 47: Chapter 4  Data Link Layer

47

Frame transmission are pipelined to keep the channel busy Frame with errors and subsequent out-of-sequence frames are ignored

Go-Back-N ARQ

A

B

fr0

Timefr1

fr2

fr3

fr4

fr5

fr6

fr3

ACK1

out of sequence frames

Go-Back-4: 4 frames are outstanding; so go back 4

fr5

fr6

fr4

fr7

fr8

fr9

ACK2

ACK3

ACK4

ACK5

ACK6

ACK7

ACK8

ACK9

Rnext 0 1 2 3 3 4 5 6 7 8 9

Page 48: Chapter 4  Data Link Layer

48

A

B

fr0

Timefr1

fr2

fr3

fr0

Receiver is looking for

Rnext=0

Out-of-sequence

frames

If window exhausted, go back N

fr2

fr3

fr1

fr4

fr5

fr6

Go-Back-N ARQ

ACK1

ACK2

ACK3

ACK4

ACK5

ACK6

A

B

Timefr0

fr0

Time-outfr1

ACK1

Stop-and-Wait ARQ

Receiver is looking for

Rnext=0

Choose Window Size > RTT

Page 49: Chapter 4  Data Link Layer

49

Go-Back-N with Timeout

Problem with Go-Back-N as presented: If frame is lost and source does not have frame to

send, then window will not be exhausted and recovery will not commence

Use a timeout with each frame When timeout expires, resend all outstanding

frames

Page 50: Chapter 4  Data Link Layer

50

Receiver

Receive Window (size 1)

Rnext

Framesreceived

Receiver will only accepterror-free frame with SN Rnext.

When the frame arrives Rnext is incremented by 1, so the receive window slides forward by 1.

Timer Slast

Slast+1

Srecent

Slast+Ws-1

Timer

Timer

Transmitter

...

Buffers

Slast Slast+Ws-1

...Send Window (size Ws)

Srecent

Framestransmittedand ACKed

...

most recent transmission

oldest un-ACKed frame

max SN allowed

Go-Back-N Transmitter & Receiver

Page 51: Chapter 4  Data Link Layer

51

Example: M = 22 = 4, Go-Back – 4 is not good.

Example: Go-Back-3 is good.

A

B

fr0

Timefr1

fr2

fr0

fr1

fr2

ACK1

ACK2

ACK3

Receiver has Rnext= 3 , so it rejects the old frame 0

Rnext 0 1 2 3

Maximum Window Size Ws = 2m-1

A

B

fr0

Timefr1

fr2

fr3

fr0

fr1

fr2

fr3

ACK1

ACK0

ACK2

ACK3

Transmitter goes back 4

Receiver has Rnext= 0, but it does not know whether this is the old frame 0 or a new frame 0

Rnext 0 1 2 3 0

Transmitter goes back 4

Page 52: Chapter 4  Data Link Layer

52

ACK Piggybacking in Bidirectional GBN

Transmitter Receiver

TransmitterReceiver

SArecent RA next

SBrecent RB next

In bi-directional communication, ACKs are often piggybacked on data frames to reduce overhead.

Page 53: Chapter 4  Data Link Layer

53

Tf Tf

Tproc

TpropTprop

Tout

Choice of Timeout & Window Size

Timeout value should allow for: 2 Tprop + Tproc

A frame begins transmission right before the first frame arrives Tf

Next frame carries the ACK, Tf (piggy-back) Thus, timeout > 2 Tprop + 2 Tf + Tproc

Ws should be large enough to keep channel busy for Tout

Page 54: Chapter 4  Data Link Layer

54

Efficiency of Go-Back-N

if channel is error-free and Ws is large enough to keep channel busy

Assume Pf frame loss probability, time to deliver a frame is: tf if first attempt succeeds Tf + Wstf /(1-Pf) otherwise go back Ws and try again

)1()1(1

1

1

1

)1(

ffs

f

o

GBN

of

GBN

f

fsfff

f

fsfffGBN

PPW

n

n

R

t

nn

P

tWPtP

P

tWtPtt

Delay-bandwidth product determines Ws

1GBN

Page 55: Chapter 4  Data Link Layer

55

Improvement over Go-Back-N?

Go-Back-N repeats multiple frames when a few errors or losses occur

How about retransmitting only an individual frame? Selective Repeat ARQ

Timeout pinpoints individual frame Receiver maintains a window of acceptable SN Error-free, but out-of-sequence frames with SN within the

receive window are buffered Arrival of Rnext causes window to slide forward by 1 or more NAK causes retransmission of oldest un-acked frame

Page 56: Chapter 4  Data Link Layer

56

A

B

fr0

Timefr1

fr2

fr3

fr4

fr5

fr6

fr2

ACK1

fr8

fr9

fr7

fr10

fr11

fr12

ACK2

NAK2

ACK7

ACK8

ACK9

ACK10

ACK11

ACK12

ACK2

ACK2

ACK2

Selective Repeat ARQ

Page 57: Chapter 4  Data Link Layer

57

Transmitter

Buffers

Slast Slast+ Ws-1

...Send Window

Srecent

Framestransmittedand ACKed

Timer Slast

Slast+ 1

Srecent

Slast+ Ws - 1

Timer

Timer

...

...

Selective Repeat ARQ

Framesreceived

Receiver

Receive Window

Rnext Rnext + Wr-1

Rnext+ 1

Rnext+ 2

Rnext+ Wr- 1

...

Buffers

max Seq # accepted

Page 58: Chapter 4  Data Link Layer

58

Send & Receive WindowsTransmitter Receiver

01

2

i

i + Ws – 1

2m-1

Slast

sendwindow

i + 1

Moves k forward when ACKarrives with Rnext = Slast + k

k = 1, …, Ws-1

01

2

i

j + Wr – 1

2m-1

Rnext

receivewindow

j

Moves forward by 1 or more when frame arrives with

Seq. # = Rnext

Page 59: Chapter 4  Data Link Layer

59

What size Ws and Wr allowed?

Example: M=22=4, Ws=3, Wr=3

A

B

fr0Time

fr1 fr2 fr0

ACK1 ACK2 ACK3

Frame 0 resent

{0,1,2} {1,2} {2} {.}Send

Window

{0,1,2} {1,2,3}Receive Window

{2,3,0} {3,0,1}

Old frame 0 accepted as anew frame because it fallsin the receive window

Page 60: Chapter 4  Data Link Layer

60

Ws + Wr = 2m is maximum allowed

Example: M=22=4, Ws=2, Wr=2

A

B

fr0Time

fr1 fr0

ACK1 ACK2

Frame 0 resent

{0,1} {1} {.}Send

Window

{0,1} {1,2}Receive Window

{2,3}

Old frame 0 rejected because it falls outside the receive window

Page 61: Chapter 4  Data Link Layer

61

Why Ws + Wr = 2m works

The number of bits, m, is enough to label all outstanding frames.

Usually, Ws = Wr = 2m-1

01

2

Ws-1

2m-1

Slast

sendwindow

01

2Ws +Wr-1

2m-1

Rnextreceivewindow

Ws

Page 62: Chapter 4  Data Link Layer

62

Efficiency of Selective Repeat

# of transmissions required to deliver a frame is:tf / (1-Pf)

)1(1)1/(

ff

off

of

SR Pn

n

R

Pt

nn

Page 63: Chapter 4  Data Link Layer

63

Example: Impact Bit Error Rate on Selective Repeat

Efficiency 0 10-6 10-5 10-4

S&W 8.9% 8.8% 8.0% 3.3%

GBN 98% 88.2% 45.4% 4.9%

SR 98% 97% 89% 36%

GBN >> S&W for large delay-bandwidth product GBN becomes inefficient as error rate increases SR is the best. Efficiency drops as error rate increases

nf=10,000 bits, na=no=200 bitsp = 0, 10-6, 10-5, 10-4 and R = 1 Mbps & 100 ms

1 Mbps x 100 ms = 100000 bits = 10 frames → Use Ws = 11

Page 64: Chapter 4  Data Link Layer

64

Selective-Repeat:

Go-Back-N:

Stop-and-Wait:

L

P

n

Rtt

n

n

P f

f

procprop

f

a

fSW

1

1

)(21

)1(

f

f

fS

fGBN LP

P

PW

P

1

1

)1(1

1

)1(1)1( ff

ofSR P

n

nP

Comparison of ARQ Efficiencies

Assume na, no << nf, and L = 2(tprop+tproc)R/nf =(Ws-1).

For Pf≈0, SR & GBN same

For Pf→1, GBN & SW same

Page 65: Chapter 4  Data Link Layer

65

ARQ Efficiency Comparison

0

0.5

1

1.5

-9 -8 -7 -6 -5 -4 -3 -2 -1

- LOG(p)

Eff

icie

ncy

SelectiveRepeat

Go Back N 10

Stop and Wait100

Go Back N 100

Stop and Wait10

10-9 10-8 10-7 10-6 10-5 10-4 10-3 10-2 10-1

p

Delay-Bandwidth product = 10, 100

ARQ Efficiencies

Page 66: Chapter 4  Data Link Layer

66

Standard Data Link Layer Protocols:

PPP & HDLC (Chapter 5.5-6 in Leon-Garcia)

Page 67: Chapter 4  Data Link Layer

67

Physicallayer

Data linklayer

Networklayer

“Packet”

“Frame”

DLL

Physicallayer

Data linklayer

Networklayer

Page 68: Chapter 4  Data Link Layer

68

PPP: Point-to-Point Protocol

A data link layer protocol. Encapsulating IP packets over point-to-point links.

Router-router; Dial-up to router (PC to Internet service provider (ISP))

Functions: Provides Framing and Error Detection Link Control Protocols

Set up, configure, testing, maintain, terminate; Authentication: Password Authentication Protocol, etc.

Network Control Protocols Configure network layer protocols E.g., IP, IPX (Novell), Appletalk

Page 69: Chapter 4  Data Link Layer

69

• Can support multiple network protocols simultaneously• Specifies what kind of packet is contained in the payload

PPP Frame Format

Flag FlagAddress Control Information FCSProtocol01111110 011111101111111 00000011

CRC 16 or CRC 32

1 or 2 variable 2 or 4

All stations are toaccept the frame

HDLC Unnumbered frame

Page 70: Chapter 4  Data Link Layer

70

High-Level Data Link Control (HDLC)

Bit-oriented data link control Derived from IBM Synchronous Data Link

Control (SDLC)

Page 71: Chapter 4  Data Link Layer

71

Normal Response Mode Used in polling multidrop lines

Asynchronous Balanced Mode Used in full-duplex point-to-point links

HDLC Data Transfer Modes

PrimaryCommands

Responses

Secondary Secondary Secondary

Primary

Secondary

Commands Responses

Primary

Secondary

CommandsResponses

Mode is selected during connection establishment

Page 72: Chapter 4  Data Link Layer

72

HDLC Frame Format

Control field gives HDLC its functionality Codes in fields have specific meanings and uses

Flag: delineate frame boundaries Address: identify secondary station (1 or more octets) Control: purpose & functions of frame (1 or 2 octets) Information: user data; length not standardized Frame Check Sequence: 16- or 32-bit CRC

Flag FlagAddress Control Information FCS

Page 73: Chapter 4  Data Link Layer

73

Control Field Format

0 N(S) N(R)P/F

1 2-4 5 6-8Information Frame

N(R)P/F

Supervisory Frame

1 0 S S

Unnumbered Frame

P/F1 1 M M M M M

S: Supervisory Function Bits N(R): Receive Sequence Number N(S): Send Sequence Number M: Unnumbered Function Bits P/F: Poll/final bit used in interaction

between primary and secondary

Note: The information frames and supervisory frames allow HDLC to implement Stop-and-Wait, Go-Back-N, and Selective Repeat ARQ.

Note: The unnumbered frames implement control functions.

Page 74: Chapter 4  Data Link Layer

74

Primary A Secondaries B, C

B, RR, 0, P

B, I, 0, 0B, I, 1, 0B, I, 2, 0,F

X

B, SREJ, 1

C, RR, 0, P

C, RR, 0, F

B, SREJ, 1,P

B, I, 1, 0B, I, 3, 0B, I, 4, 0, F

B, I, 0, 5

Time

Example: HDLC Using Polling

A polls BRR=receive ready B sends 3 info

frames

A rejects fr1

A polls C

C nothing to send

A polls B, requestsselective retrans. fr1

B resends fr1Then fr 3 & 4

A send info fr0to B, ACKs up to 4

N(R)

N(S) N(R)

Address of secondary

Page 75: Chapter 4  Data Link Layer

75

I3 I4 I5 I6RNR5 RR6

HDLC Flow Control

Flow control prevents transmitter from overrunning receiver buffers.

Receiver can control flow by delaying acknowledgement messages.

Receiver can also use supervisory frames to explicitly control transmitter Receive Not Ready (RNR) & Receive Ready (RR)