ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

20
ARQ Mechanisms ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601

Transcript of ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

Page 1: ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

ARQ MechanismsARQ Mechanisms

Rudra DuttaECE/CSC 570 - Fall 2010, Section 001, 601

Page 2: ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

Copyright Rudra Dutta, NCSU, Fall, 2010 2

Need for ARQNeed for ARQ Re-transmissions are needed sometimes Flow Control

– Sender swamps receiver, must re-send

Error Control– Error recovery after detection– Only non-erroneous copy at the sender– But– sender needs to know that

Page 3: ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

Copyright Rudra Dutta, NCSU, Fall, 2009 3

The Three Army ProblemThe Three Army Problem

Acknowledgements are needed But may not be available Hence requests must sometimes be implicit

Page 4: ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

Copyright Rudra Dutta, NCSU, Fall, 2009 4

Retransmission StrategiesRetransmission Strategies Automatic Repeat ReQuest

– Scope - Link based, or end-to-end Concerns

– CorrectnessSender and receiver must agree regarding what data is

successfully transmitted, within small variationFrames must be delivered to higher layer in order, each

frame exactly once, and must not deadlock

– EfficiencyThroughput, fraction of time channel successfully used

Assumptions– Transmissions are eventually successful

Page 5: ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

Copyright Rudra Dutta, NCSU, Fall, 2009 5

Sequence numbersSequence numbers Delineated stream of bits stream of frames Successive frames have different identities However – some may be retransmitted

– It is the same frame– How to indicate

Identity must be embedded in identifiers Straightforward approach – sequence numbers Annoying detail – how high must numbers go?

– Finite number of bits to store such numbers– Very important practically !!

Page 6: ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

Copyright Rudra Dutta, NCSU, Fall, 2009 6

Timing Diagrams - AgainTiming Diagrams - Again Diagrams showing sequence of events involved Transmission of frame (start and end) Reception, similarly Delays – four kinds

Time

Sender

Receiver“Dis

tanc

e”

Queueing Transmission Propagation Processing

Page 7: ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

Copyright Rudra Dutta, NCSU, Fall, 2009 7

Verification of CorrectnessVerification of Correctness The (re)transmission rules are embedded into protocols Protocol correctness must be established

– Correctness ?– Must examine “states” of endpoints

Different methods possible “Obviously correct” Formal methods for less obvious cases

– Finite State Machine Models– Petri Net Models

We shall not go into formal methods in this course

Page 8: ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

Copyright Rudra Dutta, NCSU, Fall, 2009 8

Some ARQ ProtocolsSome ARQ Protocols Stop-And-Wait

– What name says– Ignoring ACK sequence creates vulnerability to

unbounded delay Go-Back-N

– Increase utilization– “Sliding window”

Selective Repeat Protocol– Increase efficiency further– “Fill up holes”

Warning: Parallels, but not same as, Tanenbaum

Page 9: ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

Copyright Rudra Dutta, NCSU, Fall, 2009 9

Stop-and-Wait (No ACK SN)Stop-and-Wait (No ACK SN) Simplest scheme Sender assumes acknowledgement delay

bound T– Implicit request for retransmission - “timeout”

Only one outstanding frame at any time– Sequence numbers 0 and 1 suffice– General principle - one more sequence number than

maximum possible outstanding frames– General issue - receiver has choice in numbering

ACKs “I received upto frame n” “I received until before frame n”

Page 10: ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

Copyright Rudra Dutta, NCSU, Fall, 2009 10

SWP OperationSWP Operation

0

0

1

1

2

0

3

1

Nominal Operation

ACK Lost

0 1 1

0 1 1

0 - Conceptual “ideal” SN

0 - Actual SN in header

Page 11: ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

Copyright Rudra Dutta, NCSU, Fall, 2009 11

Use of Sequence NumbersUse of Sequence Numbers Acknowledgements are sequence numbered

– If eliminated, sender would be “guessing” at what frame is ACK’ed

In general, we will mean this version when we speak of SWP

Page 12: ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

Copyright Rudra Dutta, NCSU, Fall, 2009 12

Go Back N (Sliding Window)Go Back N (Sliding Window) Why not fill up the waiting time?

– Sender keeps sending frames during waiting time– “Pipelining” frames

Gain: Higher throughput in nominal operation Risk: Losing a frame makes all succeeding ones useless Discipline: Receiver only accepts in-order frame

– At any time, is prepared to accept only the “right” frame Now, may need to retransmit multiple frames

– Sender needs a buffer A “window” in the sequence of frames sent

– Limited to N frames, or W Need at least W+1 sequence numbers

– ACK is normally numbered with “next” frame Need more if channel is not FIFO Can use Negative Acknowledgments (NAKs) also

Page 13: ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

Copyright Rudra Dutta, NCSU, Fall, 2009 13

GBN Nominal OperationGBN Nominal Operation

0 1 2 3 4 5 10 15 20

2 3 4 51 6 7 8 9 10 131211

Page 14: ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

Copyright Rudra Dutta, NCSU, Fall, 2009 14

Selective RepeatSelective Repeat Why retransmit packets which made it? ACK for a packet does not mean previous ones

received– ACK is numbered for received frame

Same window of W– Now receiver needs buffer also

Page 15: ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

Copyright Rudra Dutta, NCSU, Fall, 2009 15

Sender transmits packets 0 through W-1 Each ACK is remembered At any time, sender can send W packets after n,

if all packets 0 through n have been ACK’ed Each packet starts a retransmission timer

Selective RepeatSelective Repeat

Page 16: ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

Quantitative AnalysesQuantitative Analyses

Page 17: ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

Copyright Rudra Dutta, NCSU, Fall, 2009 17

SWP EfficiencySWP Efficiency

Assume sender always has frames to send What is the best throughput (no losses, errors)?

– Simplifying assumption: ACK is received just before timeout (Timeout is set perfectly)

– Throughput: 1/T frames/second Now consider the case with errors

– Model the uncertainty of a successful transmission with probability

– A transmission is successful with probability p True for any packet => memoryless process

T

Page 18: ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

Copyright Rudra Dutta, NCSU, Fall, 2009 18

SWP EfficiencySWP Efficiency

Approach: find the expected time to transmit any given frame successfully

– First find the probability distribution (pmf)– Probability that exactly 1 transmission is required = ???– Probability that exactly 2 transmissions are required = ???– Probability that exactly k transmissions are required = ???

Expected time before the frame is successfully transferred = ???

Throughput = ???

T

Page 19: ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

Copyright Rudra Dutta, NCSU, Fall, 2009 19

GBN Nominal OperationGBN Nominal Operation

0 1 2 3 4 5 10 15 20

2 3 4 51 146 7 8 9 13121110

“Full” window - enough to keep transmitting through ACK

Key observation– For SWP, Success takes time + T, Failure ALSO takes time + T– For GBN

Success takes time = ? Failure takes same amount of time as before

Hence throughput expression as before

Page 20: ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

Copyright Rudra Dutta, NCSU, Fall, 2009 20

SummarySummary ARQ protocols contribute to error and flow

control at the DLC layer We are interested in

– Correctness– Efficiency

Even simple protocols can be complicated Must know

– How to draw timing diagrams– How to “run the protocol in your mind”– How to argue correctness informally– How to apply probability to obtain efficiency