410 likes | 533 Views
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. Introduction. The need for flow and error control Link control mechanisms Performance of ARQ (Automatic Repeat Request). ZGP00 2.
E N D
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
Introduction • The need for flow and error control • Link control mechanisms • Performance of ARQ (Automatic Repeat Request) ZGP002
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 ZGP003
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 ZGP004
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 ZGP005
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 ZGP007
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 ZGP009
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 ZGP0010
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 ZGP0011
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 ZGP0012
ARQ • Automatic Repeat Request • Uses: • Error detection • Timers • Acknowledgements • Retransmissions ZGP0013
Figure 11.4 ZGP0015
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 ZGP0016
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) ZGP0017
Figure 11.5 ZGP0018
Figure 11.6 ZGP0019
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 ZGP0020
Figure 11.7 ZGP0021
Figure 11.8 ZGP0022
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 andTack relatively small ZGP0023
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 ZGP0024
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) ZGP0025
The Parameter a a = propagation time = d/V = Rd transmission time L/R VL where d = distance between stations V = velocity of signal propagation L = length of frame in bits R = data rate on link in bits per sec ZGP0026
Figure 11.9 ZGP0028
Error-Free Sliding Window ARQ • Case 1: W ≥ 2a + 1 Ack for frame 1 reaches A before A has exhausted its window • Case 2: W < 2a +1 A exhausts its window at t = W and cannot send additional frames until t = 2a + 1 ZGP0029
Figure 11.10 ZGP0030
Normalized Throughput 1 W ≥ 2a + 1 S = W W < 2a +1 2a + 1 ZGP0031
Selective Reject ARQ 1 - P W ≥ 2a + 1 S = W(1 - P) W < 2a +1 2a + 1 ZGP0032
Go-Back-N ARQ 1 - P W ≥ 2a + 1 S = 1 + 2aP W(1 - P) W < 2a +1 (2a + 1)(1 – P + WP) ZGP0033
Figure 11.12 ZGP0035
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 ZGP0037
HDLC Operation • Initialization • Data transfer • Disconnect ZGP0039