410 likes | 550 Vues
This lecture provides an in-depth examination of flow and error control mechanisms in network architecture, addressing their significance in ensuring efficient data transmission. It covers the performance of Automatic Repeat Request (ARQ), techniques including Stop-and-Wait, Go-Back-N, and Selective Rejection, and the challenges of modeling flow control performance across multiple network layers. Key concepts such as hop scope, error recovery, and the implications of traffic characteristics are discussed, along with the importance of controlling data flow to prevent bottlenecks and optimize throughput.
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