400 likes | 554 Views
Chapter 11. Link-Level Flow and Error Control. Introduction. The need for flow and error control Link control mechanisms Performance of ARQ (Automatic Repeat Request). Flow Control and Error Control. Fundamental mechanisms that determine performance Can be implemented at different levels:
E N D
Chapter 11 Link-Level Flow and Error Control Chapter 11 Link-Level Flow and Error Control
Introduction • The need for flow and error control • Link control mechanisms • Performance of ARQ (Automatic Repeat Request) Chapter 11 Link-Level Flow and Error Control
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 Chapter 11 Link-Level Flow and Error Control
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 Chapter 11 Link-Level Flow and Error Control
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 Chapter 11 Link-Level Flow and Error Control
Figure 11.1 Chapter 11 Link-Level Flow and Error Control
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 Chapter 11 Link-Level Flow and Error Control
Figure 11.2 Chapter 11 Link-Level Flow and Error Control
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 Chapter 11 Link-Level Flow and Error Control
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 Chapter 11 Link-Level Flow and Error Control
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 Chapter 11 Link-Level Flow and Error Control
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 Chapter 11 Link-Level Flow and Error Control
ARQ • Automatic Repeat Request • Uses: • Error detection • Timers • Acknowledgements • Retransmissions Chapter 11 Link-Level Flow and Error Control
Figure 11.3 Chapter 11 Link-Level Flow and Error Control
Figure 11.4 Chapter 11 Link-Level Flow and Error Control
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 Chapter 11 Link-Level Flow and Error Control
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) Chapter 11 Link-Level Flow and Error Control
Figure 11.5 Chapter 11 Link-Level Flow and Error Control
Figure 11.6 Chapter 11 Link-Level Flow and Error Control
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 Chapter 11 Link-Level Flow and Error Control
Figure 11.7 Chapter 11 Link-Level Flow and Error Control
Figure 11.8 Chapter 11 Link-Level Flow and Error Control
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 Chapter 11 Link-Level Flow and Error Control
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 Chapter 11 Link-Level Flow and Error Control
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) Nx (1 + 2a) Chapter 11 Link-Level Flow and Error Control
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 Chapter 11 Link-Level Flow and Error Control
Table 11.1 Chapter 11 Link-Level Flow and Error Control
Figure 11.9 Chapter 11 Link-Level Flow and Error Control
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 Chapter 11 Link-Level Flow and Error Control
Figure 11.10 Chapter 11 Link-Level Flow and Error Control
Normalized Throughput 1 W ≥ 2a + 1 S = W W < 2a +1 2a + 1 Chapter 11 Link-Level Flow and Error Control
Selective Reject ARQ 1 - P W ≥ 2a + 1 S = W(1 - P) W < 2a +1 2a + 1 Chapter 11 Link-Level Flow and Error Control
Go-Back-N ARQ 1 - P W ≥ 2a + 1 S = 1 + 2aP W(1 - P) W < 2a +1 (2a + 1)(1 – P + WP) Chapter 11 Link-Level Flow and Error Control
Figure 11.11 Chapter 11 Link-Level Flow and Error Control
Figure 11.12 Chapter 11 Link-Level Flow and Error Control
Figure 11.13 Chapter 11 Link-Level Flow and Error Control
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 Chapter 11 Link-Level Flow and Error Control
Figure 11.15 Chapter 11 Link-Level Flow and Error Control
HDLC Operation • Initialization • Data transfer • Disconnect Chapter 11 Link-Level Flow and Error Control
Figure 11.16 Chapter 11 Link-Level Flow and Error Control