Chapter 11 LinkLevel Flow and Error Control 1

  • Slides: 35
Download presentation
Chapter 11 Link-Level Flow and Error Control 1

Chapter 11 Link-Level Flow and Error Control 1

Introduction The need for flow and error control l Link control mechanisms l Performance

Introduction The need for flow and error control l Link control mechanisms l Performance of ARQ (Automatic Repeat Request) l Chapter 11: Link Level Flow and Error Controls 2

Flow Control and Error Control l l Motivation: these are fundamental mechanisms that determine

Flow Control and Error Control l l Motivation: these are fundamental mechanisms that determine performance Can be implemented at different levels: link, network, transport, or application Difficult to model flow/error control endto-end Simplest case: point-to-point link – – Constant propagation Constant data rate Probabilistic error rate Traffic characteristics Chapter 11: Link Level Flow and Error Controls 3

Flow Control l l A mechanism whereby the destination node imposes limits on the

Flow Control l l A mechanism whereby the destination node imposes limits on the amount or rate of data that is sent, or is en route to the receiver Reasons destination may need to limit flow: – Source may send PDUs faster than destination can process information – Higher-level protocol at destination may be slow in retrieving data – Destination may need to limit incoming flow to match outgoing flow for retransmission (bridging/forwarding) Chapter 11: Link Level Flow and Error Controls 4

Flow Control Layering/Scope Chapter 11: Link Level Flow and Error Controls 6

Flow Control Layering/Scope Chapter 11: Link Level Flow and Error Controls 6

Flow Control Scope End-to-End Scope: • exercised on logical connections between end systems •

Flow Control Scope End-to-End Scope: • exercised on logical connections between end systems • managed by end systems • e. g. TCP, FR LAPF Control Network Entry to Exit Scope: • internetwork flows, such as virtual circuits • managed by network • prevents overflow of buffers at network exit (egress) nodes Chapter 11: Link Level Flow and Error Controls Hop Scope: • directly connected intermediate systems • managed at link-layer • e. g. , X. 25 LAPB flow control, or HDLC • simplest to model Network Interface Scope: • between end user and network interface (UNI) • limit total flow of packets from an end-system into the network 8

Error/loss Control Used to recover lost or damaged PDUs l Involves error detection (via

Error/loss Control Used to recover lost or damaged PDUs l Involves error detection (via some type of FCS), and PDU retransmission l Typically implemented together with flow control in a single mechanism l Performed at various protocol levels l Chapter 11: Link Level Flow and Error Controls 9

Link Control Mechanisms l Three techniques for flow and error control at the link

Link Control Mechanisms l Three techniques for flow and error control at the link level: – – – l l Stop-and-wait Go-back-N Selective-reject (a. k. a. selective repeat) Latter two are special cases of slidingwindow ARQ (Automatic Repeat re. Quest) Simplifying assumption: end systems are connected by direct link Chapter 11: Link Level Flow and Error Controls 10

ARQ Automatic Repeat re. Quest l A flow and error control mechanism which uses:

ARQ Automatic Repeat re. Quest l A flow and error control mechanism which uses: l – Error detection – Timers – Acknowledgements – Retransmissions Chapter 11: Link Level Flow and Error Controls 11

Stop and Wait Source transmits a frame l After reception, destination indicates willingness to

Stop and Wait Source transmits a frame l After reception, destination indicates willingness to accept another frame in ACKnowledgement l Source must wait for ACK before sending another frame l 2 kinds of errors: l – Damaged frame received at destination – Damaged ACK received at source Chapter 11: Link Level Flow and Error Controls 13

Stop-and-Wait ARQ Chapter 11: Link Level Flow and Error Controls 14

Stop-and-Wait ARQ Chapter 11: Link Level Flow and Error Controls 14

Stop-and-Wait Link Utilization Chapter 11: Link Level Flow and Error Controls 15

Stop-and-Wait Link Utilization Chapter 11: Link Level Flow and Error Controls 15

Stop-and-Wait Link Utilization l If Tprop is large relative to Tframe (a. k. a.

Stop-and-Wait Link Utilization l If Tprop is large relative to Tframe (a. k. a. Ttrans) then throughput is reduced – i. e. , if propagation delay is long relative to transmission time, link is mostly idle Problem is only one frame in transit at a time l Stop-and-Wait rarely used because of inefficiency l Chapter 11: Link Level Flow and Error Controls 16

Sliding Window (Pipelined) Techniques Allow multiple frames to be in transit at the same

Sliding Window (Pipelined) Techniques Allow multiple frames to be in transit at the same time l Source can send n frames (a “window”) without waiting for acknowledgements l Destination can accept n frames (credit) l Destination acknowledges a frame by sending acknowledgement with sequence number of next frame expected (and implicitly ready for next n frames) l Chapter 11: Link Level Flow and Error Controls 17

Sliding Window Example RR = Receive Ready window size = 7 segments Chapter 11:

Sliding Window Example RR = Receive Ready window size = 7 segments Chapter 11: Link Level Flow and Error Controls 19

Go-back-N ARQ l l Most common form of error control based on sliding window

Go-back-N ARQ l l 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 Controls 20

Selective Reject ARQ l l Error control based on sliding window Number of un-acknowledged

Selective Reject ARQ l l Error control based on sliding window Number of un-acknowledged frames determined by window size Upon receiving a good frame, destination stores that frame and sends reject (SREJ) for lowest sequence number frame that it still expects Sender resends each frame for which it receives a SREJ message or timer expires Chapter 11: Link Level Flow and Error Controls 21

Sliding Window Protocols Go-back-N Selective Reject/ Repeat Chapter 11: Link Level Flow and Error

Sliding Window Protocols Go-back-N Selective Reject/ Repeat Chapter 11: Link Level Flow and Error Controls 22

Link Utilization - Efficiency The ratio between the use of a link for sending

Link Utilization - Efficiency The ratio between the use of a link for sending user data to the available bandwidth on the link… or User data that is sent Maximum capacity of link for sending user data Chapter 11: Link Level Flow and Error Controls 23

Stop-and-Wait Link Utilization Chapter 11: Link Level Flow and Error Controls 24

Stop-and-Wait Link Utilization Chapter 11: Link Level Flow and Error Controls 24

ARQ Performance: Error-Free Stop-and-Wait T = Tframe + Tprop + Tproc + Tack +

ARQ Performance: Error-Free Stop-and-Wait T = Tframe + Tprop + Tproc + Tack + Tprop + Tproc Tframe = time to transmit frame (Ttrans) Tprop = propagation time Tproc = processing time at station Tack = time to transmit ack Assume Tproc and Tack relatively small Chapter 11: Link Level Flow and Error Controls 25

Error-Free Stop and Wait T ≈ Tframe + 2 Tprop (time required to send

Error-Free Stop and Wait T ≈ Tframe + 2 Tprop (time required to send a frame) Throughput = 1/T = 1/(Tframe + 2 Tprop) frames/sec Normalize to link data rate: 1/ Tframes/sec S = 1/(Tframe + 2 Tprop) = 1/ Tframe = 1 Tframe + 2 Tprop 1 + 2 a where a = Tprop / Tframe Chapter 11: Link Level Flow and Error Controls 26

The Parameter a a = propagation time = d/V = Rd transmission time L/R

The Parameter a a = propagation time = d/V = Rd transmission time L/R VL where d = distance between stations V = velocity of signal propagation (“s”) L = length of frame in bits R = data rate on link in bits per sec Chapter 11: Link Level Flow and Error Controls 27

Stop-and-Wait Timing tframe = 1, tprop = a Chapter 11: Link Level Flow and

Stop-and-Wait Timing tframe = 1, tprop = a Chapter 11: Link Level Flow and Error Controls 28

Stop-and-Wait Performance a = Rd/VL Chapter 11: Link Level Flow and Error Controls 29

Stop-and-Wait Performance a = Rd/VL Chapter 11: Link Level Flow and Error Controls 29

Example Values of a: e. g. , ISDN BRI, 1250 bytes e. g. ,

Example Values of a: e. g. , ISDN BRI, 1250 bytes e. g. , FR FR via satellite, 1250 bytes e. g. , LAN 100 Base. T, 1250 bytes Chapter 11: Link Level Flow and Error Controls 30

Stop-and-Wait ARQ with Errors P = probability a single frame is in error Nx

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 Nx (1 + 2 a) = Chapter 11: Link Level Flow and Error Controls 1–P 1 + 2 a 31

Error-Free Sliding Window ARQ l Case 1: W ≥ 2 a + 1 Ack

Error-Free Sliding Window ARQ l Case 1: W ≥ 2 a + 1 Ack for frame 1 reaches A before A has exhausted its window l Case 2: W 2 a +1 A exhausts its window at t = W and cannot send additional frames until t = 2 a + 1 Chapter 11: Link Level Flow and Error Controls 32

Sliding Window Timing Case 1 Case 2 Chapter 11: Link Level Flow and Error

Sliding Window Timing Case 1 Case 2 Chapter 11: Link Level Flow and Error Controls 33

Normalized Throughput Error-Free Sliding Window ARQ S= 1 W ≥ 2 a + 1

Normalized Throughput Error-Free Sliding Window ARQ S= 1 W ≥ 2 a + 1 W 1 + 2 a W 2 a +1 or, W times stop-and-wait throughput Chapter 11: Link Level Flow and Error Controls 34

Selective Reject ARQ S= 1 -P W ≥ 2 a + 1 W(1 -

Selective Reject ARQ S= 1 -P W ≥ 2 a + 1 W(1 - P) 2 a + 1 W 2 a +1 or, W times stop-and-wait throughput Chapter 11: Link Level Flow and Error Controls 35

Go-Back-N ARQ S= 1 -P 1 + 2 a. P W(1 - P) (2

Go-Back-N ARQ S= 1 -P 1 + 2 a. P W(1 - P) (2 a + 1)(1 – P + WP) Chapter 11: Link Level Flow and Error Controls W ≥ 2 a + 1 W 2 a +1 36

Sliding Window Utilization Chapter 11: Link Level Flow and Error Controls 37

Sliding Window Utilization Chapter 11: Link Level Flow and Error Controls 37

-3 ARQ Utilization (P = 10 ) Chapter 11: Link Level Flow and Error

-3 ARQ Utilization (P = 10 ) Chapter 11: Link Level Flow and Error Controls 38

-3 ARQ Throughput (P = 10 ) Chapter 11: Link Level Flow and Error

-3 ARQ Throughput (P = 10 ) Chapter 11: Link Level Flow and Error Controls 39