Upload
vernon-peters
View
217
Download
3
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
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
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
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)
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
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
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
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