40
Lect11.ppt - 03/15/05 CDA 6505 Network Architecture and Client/Server Computing Lecture 11 Link-Level Flow and Error Control by Zornitza Genova Prodanoff

Lect11.ppt - 03/15/05 CDA 6505 Network Architecture and Client/Server Computing Lecture 11 Link-Level Flow and Error Control by Zornitza Genova Prodanoff

Embed Size (px)

Citation preview

Lect11.ppt - 03/15/05

CDA 6505 Network Architecture

and Client/Server Computing

Lecture 11

Link-Level Flow and Error Control

byZornitza Genova Prodanoff

ZGP002

Introduction

• The need for flow and error control• Link control mechanisms• Performance of ARQ (Automatic Repeat Request)

ZGP003

Flow Control and Error Control

• Fundamental mechanisms that determine performance

• Can be implemented at different levels: link, network, or application

• Difficult to model performance• Simplest case: point-to-point link

– Constant propagation– Constant data rate– Probabilistic error rate– Traffic characteristics

ZGP004

Flow Control

• Limits the amount or rate of data that is sent• Reasons:

– Source may send PDUs faster than destination can process headers

– Higher-level protocol user at destination may be slow in retrieving data

– Destination may need to limit incoming flow to match outgoing flow for retransmission

ZGP005

Flow Control at Multiple Protocol Layers

• X.25 virtual circuits (level 3) multiplexed over a data link using LAPB (X.25 level 2)

• Multiple TCP connections over HDLC link• Flow control at higher level applied to each

logical connection independently• Flow control at lower level applied to total traffic

Figure 11.1

ZGP007

Flow Control Scope

• Hop Scope– Between intermediate systems that are

directly connected• Network interface

– Between end system and network• Entry-to-exit

– Between entry to network and exit from network

• End-to-end– Between end user systems

Figure 11.2

ZGP009

Error Control

• Used to recover lost or damaged PDUs• Involves error detection and PDU retransmission• Implemented together with flow control in a

single mechanism• Performed at various protocol levels

ZGP0010

Link Control Mechanisms

3 techniques at link level:• Stop-and-wait• Go-back-N• Selective-reject

Latter 2 are special cases of sliding-window

Assume 2 end systems connected by direct link

ZGP0011

Sequence of Frames

Source breaks up message into sequence of frames• Buffer size of receiver may be limited• Longer transmission are more likely to have an

error• On a shared medium, avoids one station

monopolizing medium

ZGP0012

Stop and Wait

• Source transmits frame• After reception, destination indicates willingness

to accept another frame in acknowledgement• Source must wait for acknowledgement before

sending another frame• 2 kinds of errors:

– Damaged frame at destination– Damaged acknowledgement at source

ZGP0013

ARQ

• Automatic Repeat Request• Uses:

– Error detection– Timers– Acknowledgements– Retransmissions

ZGP0014

ZGP0015

Figure 11.4

ZGP0016

Stop-and-Wait Link Utilization

• If Tprop large relative to Tframe then throughput reduced

• If propagation delay is long relative to transmission time, line is mostly idle

• Problem is only one frame in transit at a time• Stop-and-Wait rarely used because of inefficiency

ZGP0017

Sliding Window Techniques

• Allow multiple frames to be in transit at the same time

• Source can send n frames without waiting for acknowledgements

• Destination can accept n frames• Destination acknowledges a frame by sending

acknowledgement with sequence number of next frame expected (and implicitly ready for next n frames)

ZGP0018

Figure 11.5

ZGP0019

Figure 11.6

ZGP0020

Go-back-N ARQ

• Most common form of error control based on sliding window

• Number of un-acknowledged frames determined by window size

• Upon receiving a frame in error, destination discards that frame and all subsequent frames until damaged frame received correctly

• Sender resends frame (and all subsequent frames) either when it receives a Reject message or timer expires

ZGP0021

Figure 11.7

ZGP0022

Figure 11.8

ZGP0023

Error-Free Stop and Wait

T = Tframe + Tprop + Tproc + Tack + Tprop + Tproc

Tframe = time to transmit frame

Tprop = propagation time

Tproc = processing time at station

Tack = time to transmit ack

Assume Tproc and Tack relatively small

ZGP0024

T ≈ Tframe + 2Tprop

Throughput = 1/T = 1/(Tframe + 2Tprop) frames/sec

Normalize by link data rate: 1/ Tframe frames/sec

S = 1/(Tframe + 2Tprop) = Tframe = 1

1/ Tframe Tframe + 2Tprop 1 + 2a

where a = Tprop / Tframe

ZGP0025

Stop-and-Wait ARQ with Errors

P = probability a single frame is in error

Nx = 1 1 - P = average number of times each frame must be

transmitted due to errors

S = 1 = 1 - P Nx (1 + 2a) (1 + 2a)

ZGP0026

The Parameter a

a = propagation time = d/V = Rd transmission time L/R VL

whered = distance between stationsV = velocity of signal propagationL = length of frame in bitsR = data rate on link in bits per sec

ZGP0027

ZGP0028

Figure 11.9

ZGP0029

Error-Free Sliding Window ARQ

• Case 1: W ≥ 2a + 1Ack for frame 1 reaches A before A has

exhausted its window

• Case 2: W < 2a +1A exhausts its window at t = W and cannot send

additional frames until t = 2a + 1

ZGP0030

Figure 11.10

ZGP0031

Normalized Throughput

1 W ≥ 2a + 1

S =

W W < 2a +1

2a + 1

ZGP0032

Selective Reject ARQ

1 - P W ≥ 2a + 1

S =

W(1 - P) W < 2a +1

2a + 1

ZGP0033

Go-Back-N ARQ

1 - P W ≥ 2a + 1

S = 1 + 2aP

W(1 - P) W < 2a +1

(2a + 1)(1 – P + WP)

Figure 11.11

ZGP0035

Figure 11.12

Figure 11.13

ZGP0037

High-Level Data Link Control

• HDLC is the most important data link control protocol

• Widely used which forms basis of other data link control protocols

ZGP0038

ZGP0039

HDLC Operation

• Initialization• Data transfer• Disconnect

ZGP0040