SlideShare a Scribd company logo
1 of 34
Download to read offline
1

Error and Flow Control
Required reading:
Garcia 5.2

CSE 3213, Fall 2010
Instructor: N. Vlajic
Error Control
Error Control (1) Forward Error Correction (FEC)
Approaches (2) Error Detection + Automatic Retrans. Req. (ARQ)
•

not enough redundant info to enable error correction
case (a)

receiver detects no errors
an ACK packet is sent back to sender

case (b)

receiver detects errors
no ACK sent back to sender
sender retransmits frame after a ‘time-out’

error detected !!!
= round-trip time

2
Error Control (cont.)
Challenges of
ARQ-based
Error Control

•

3

send one frame at the time, wait for ACK
easy to implement, but inefficient in terms of channel
usage

•

send multiple frames at once
better channel usage, but more complex to implement sender must keep (all) sent but unACKed frame(s) in a
buffer, as such frame(s) may have to be retransmitted

frame
ACK
frame

frame
ACK
frame

buffer of
finite size

How many frames should be sent
at any point in time?
How should frames be released from
the sending buffer?
Error and Flow Control
Flow Control – set of procedures used to restrict the amount of data that
sender can send while waiting for acknowledgment

•

two main strategies
(1) Stop-and-Wait: sender waits until it receives ACK
before sending next frame
(2) Sliding Window: sender can send W frames before
waiting for ACKs

Error + Flow Control (1) Stop-and-Wait ARQ
(2) Go-Back-N ARQ
Techniques

(3) Selective Repeat ARQ

Error Detection + ARQ (error detection with retransmissions)
must be combined with methods that intelligently limit
the number of ‘outstanding’ (unACKed) frames.
Fewer unACKed frames ⇒ fewer packets buffered at sender and receiver.

4
5

(1) Stop-and-Wait ARQ
Stop-and-Wait ARQ

6

Stop-and-Wait ARQ – simplest flow and error control mechanism
•

sender sends an information frame to receiver

•

sender, then, stops and waits for an ACK

•

if no ACK arrives within time-out, sender will
resend the frame, and again stop and wait
time-out period > roundtrip time

•

abnormalities (and how to fix them)
lost acknowledgment
delayed acknowledgment

error detected !!!
= round-trip time
Stop-and-Wait ARQ (cont.)
Lost Acknowledgment

•

7

frame received correctly, but ACK undergoes
errors / loss
after time-out period, sender resends frame
receiver receives the same frame twice

•

frames must be numbered so that receiver
can recognize and discard duplicate frames
sequence # are included in packet header

0

frame
ACK

1

frame
ACK

2

frame
ACK
retransmitted
frame
frame
How will receiver know

that this is NOT
a new packet?!

without packet numbering

2

frame 0
ACK
frame 1
ACK
frame 2
ACK
frame 2

Receiver has already
received frame 2 –
it resends an ACK and
discards the duplicate.

with packet numbering
Stop-and-Wait ARQ (cont.)
Delayed Acknowledgment
(Premature Timeout)

•

8

ACKs can be delayed due to problems with
links or network congestion
time-out expires early, sender resends frame
when delayed ACK arrives, sender assumes
that given ACK is for the last frame sent

•

0

receiver sees this as
ACK for 2nd frame-0
and sends frame-1
receiver sees this as
ACK for frame-1
and sends frame-2

ACKs must be numbered to prevent gaps
in delivered packet sequence

0

frame 0
ACK

ACK 1

0

2

0

0

frame 0
1

frame 0

frame 0

ACK

1

frame-1 not
delivered !!!

without ACK numbering

ACK 1

0

cannot send
frame-2

with ACK numbering

How large should the packet / ACK sequence be? Only 1-bit long !!!
Stop-and-Wait ARQ (cont.)

http://www.net-seal.net/animations.php?aid=37

9
Stop-and-Wait ARQ (cont.)
Stop-and-Wait
Efficiency

•

10

t0 = basic Stop-and-Wait delay – from time when frame
is transmitted into channel until time when ACK arrives
back to receiver, and another frame can be sent

t 0 = 2 ⋅ t prop + 2 ⋅ t proc + t frame + t ACK = 2 ⋅ t prop + 2 ⋅ t proc +

nf n ACK
+
R
R

Reff = effective transmission (data) rate:

•

R eff =

number of info bits delivered to destination nf − nheader
=
total time required to deliver info bits
t0

t0 = total time to transmit 1 frame
A

tproc

nf bits
nACK bits

B

tprop

first frame bit
arrives at
receiver

frame
tf time

tproc

end of frame
is received

tack

tprop

first ACK bit
arrives at
receiver

end of ACK
is received
Stop-and-Wait ARQ (cont.)
•

11

ηSW = transmission efficiency: ratio of actual and effective
efficiency
transmission (data) rate - ideally, ηSW ≈ 1
where do we lose channel efficiency, and how can ηSW → 1
be achieved ?!

ηSW

nf − nheader
R
t0
=
= eff =
R
R

(1)

nheader
nf

(2)

n ACK
nf

(3)

nheader
nf
2(t + t )R
+ prop proc
nf

1−
1+

n ACK
nf

should be
as small
as possible

- loss in efficiency due to (need for) header
- loss in efficiency due to (need for) ACKs

2(t prop + t proc )R - bandwidth-delay product
max number of bits in transit at any given time
in Stop-and-Wait ARQ delay-bandwidth product is a measure
of lost opportunity in terms of transmitted bits
Stop-and-Wait ARQ (cont.)
Bandwidth-delay product = 2*(tprop + tproc)*R =
= capacity of the transmission pipe from the sender to the receiver and back.

12
Stop-and-Wait ARQ (cont.)

frame size in comparison
to bandwidth-delay product

tprop + tproc > tframe

max number of bits in transit –
‘the pipe is full’

tprop + tproc < tframe

Stop-and-Wait ARQ becomes inadequate when data is fragmented
into small frames, such that nf / R = tframe is small relative to tprop .

13
Stop-and-Wait ARQ (cont.)

14

Example [ impact of delay-bandwidth product ]
nf = 1250 bytes = 10000 bits
nACK = nheader = 25 bytes = 200 bits

ηSW =

R eff
=
R

⇒

n ACK nheader
=
= 0.02
nf
nf

nheader
0.98
nf
=
2 ⋅ (t prop + t proc )R
2 ⋅ (t prop + t proc )R
+
1.02 +
nf
nf

1−
1+

n ACK
nf

Efficiency

200 km
(tprop = 1 ms)

2000 km
(tprop = 10 ms)

20000 km
(tprop = 100 ms)

200000 km
(tprop = 1 sec)

1 Mbps

103
88%

104
49%

105
9%

106
1%

1 Gbps

106
1%

107
0.1%

108
0.01%

109
0.001%

Stop-and-Wait does NOT work well for very high speeds or long propagation delays.
Stop-and-Wait ARQ (cont.)
Stop-and-Wait
Efficiency in
Channel with
Errors

•

Pf = probability that transmitted frame has errors and
need to be retransmitted
(1-Pf) – probability of successful transmission

1
1- Pf

R eff_error
R

and including

– average # of (re)transmission until first correct arrival

total delay per frame:

ηSW_error =

15

n f − nheader
t0
(1- Pf )
= (1- Pf ) ⋅
=
R

t 0 ⋅ (average # of retrans.) = t 0 ⋅

nheader
nf
2(t + t )R
+ prop proc
nf

1−
1+

n ACK
nf

ηSW_error = (1- Pf ) ⋅η0

Pf increases ⇒ ηSW decreases

1
1- Pf

(∗)
Stop-and-Wait ARQ (cont.)
successful
transmission

average # of transmissions in error
before a successful transmission
time-out

time-out

16

time-out

t0

Probability that i transmission are needed to deliver frame successfully
( i-1 transmission in error and the ith transmission is error free ):

P[ # of trans. in error = i-1 ] = (1-Pf) Pfi-1
∞

∞

i=1

i=1

E[# of transmissi ons in error] = ∑ (i - 1) ⋅ P[n trans in error = i - 1] = ∑ (i - 1) ⋅ (1− Pf )Pfi−1 =
∞

= (1− Pf ) ⋅ ∑ (i - 1) ⋅ P

i−1
f

i=1

∞

∞

= (1− Pf ) ⋅ ∑ n ⋅ Pfn =
n =1

= (1− Pf ) ⋅ Pf ⋅ ∑ n ⋅ Pfn−1 = (1− Pf ) ⋅ Pf ⋅
n =1

=
Total average
delay per frame:

1
=
(1− Pf )2

Pf
1− Pf

t 0 + time - out ⋅ E[# of transmiss in error] = t 0 + time - out ⋅

Pf
1
≈
t0
1- Pf 1- Pf
Stop-and-Wait ARQ (cont.)
Piggybacking

17

•

Stop-and-Wait discussed so far was ‘unidirectional’

•

in ‘bidirectional’ communications, both parties send &
acknowledge data, i.e. both parties implement flow control

•

piggybacking method: outstanding ACKs are placed in
the header of information frames
piggybacking can save bandwidth since the overhead from
a data frame and an ACK frame (addresses, CRC, etc) can
be combined into just one frame

•

S(0)

S(0)
0

S(1)

R(0)

R(0)
S(1)

0
1
S(2)

R(1)

R(1)
S(2)

1

without piggybacking

with piggybacking
18

(2) Go-Back-N ARQ
Go-Back-N ARQ

19

Go-Back-N ARQ – overcomes inefficiency of Stop-and-Wait ARQ –

sender continues sending enough frames to keep
channel busy while waiting for ACKs

•

a window of Ws outstanding frames is allowed

•

m-bit sequence numbers are used for both - frames
and ACKs, and Ws = 2m-1
4 frames are outstanding; so go back 4

Go-Back-4:
A

fr
0

fr
1

fr
2

fr
3

fr
4

fr
5

fr
6

fr
3

fr
4

fr
5

fr
6

fr
7

fr
8

Time

fr
9

B
A
C
K
1

Rnext

0

A
C
K
2

A
C
K
3

out of sequence
frames

1

2

3

3

A
C
K
4

4

A
C
K
5

5

A
C
K
6

6

A
C
K
7

7

A
C
K
8

8

A
C
K
9

9

Assume: Ws= 4
1) sender sends frames one by one
2) frame 3 undergoes transmission error – receiver ignores frame 3 and all subsequent frames
3) sender eventually reaches max number of outstanding frames, and takes following action:
go back N=Ws frames and retransmit all frames from 3 onwards
Go-Back-N ARQ (cont.)
Sender Sliding Window

•

20

all frames are stored in a buffer, outstanding
frames are enclosed in a window
frames to the left of the window are already
ACKed and can be purged

before ACKs for frames 0 and 1 arrive

frames to the right of the window cannot be sent
until the window slides over them
whenever a new ACK arrives, the window slides
to include new unsent frames

after ACKs for frames 0 and 1 arrive
and window slides

once the window gets full (max # of outstanding
frames is reached), entire window gets resent

Receiver Sliding Window
•

the size of receiver window is always 1
receiver is always looking for a specific frame
to arrive in a specific order
any frame arriving out of order is discarded
and needs to be resent

The complexity of the receiver in Go-Back-N is the same as that of Stop-and-Wait!!!
Only the complexity of the transmitter increases.
Go-Back-N ARQ (cont.)
Problems with
Go-Back-N
(Go-Back-N
with Timeout)

•

21

Go-Back-N works correctly (retransmission of
damaged frames gets triggered) as long as the
sender has an unlimited supply of packets that
need to be transmitted
but, in case when packets arrive sporadically, there
may not be Ws-1 subsequent transmissions ⇒ window
will not be exhausted, retransmissions will not be
triggered
this problem can be resolved by modifying Go-Back-N
such that:
1) set a timer for each sent frame
2) resend all outstanding frames either when window

gets full or when the timer of first frame expires

Window size
5

6

7

0

1

2

3

4

5

6

7

0

1

2

3
Go-Back-N ARQ (cont.)
Example [ lost frame in Go-Back-N with time-out ]

Note:
• ACKs number always defines the number of the next expected frame !!!
• in Go-Back-N, receiver does not have to acknowledge each frame received –
it can send one cumulative ACK for several frames

22
Go-Back-N ARQ (cont.)
Sequence Numbers
and Window Size

•

23

m bits allotted within a header for seq. numbers
⇒ 2m possible sequence numbers
how big should the sender window be!?
W > 2m cannot be accepted – multiple frames with
same seq. # in the window ⇒ ambiguous ACKs
W = 2m can still cause some ambiguity – see below
W = 2m – 1 acceptable !!!

ACK1
ACK1
ACK2
ACK2
ACK3
ACK3
ACK0
ACK3
ACK1

window size 2m = 4

window size 2m-1 = 3
Go-Back-N ARQ (cont.)
Go-Back-N
Efficiency

•

24

completely efficient if Ws is large enough to keep channel busy,
and if channel is error free
time

time

•

in case of error-prone channel, with Pf frame loss probability,
time to deliver a frame is:
t frame

average # of
frame/window
(re)transmission
until a successful
transmission

t frame +

- if 1st transmission succeeds – prob. (1-Pf)

1
⋅ Ws ⋅ t frame - if 1st transmission does NOT succeeds –
1 − Pf
prob. Pf

• total average time required to transmit a frame:

⎞
⎛
P
1
t GBN = (1 − Pf ) ⋅ t frame + Pf ⋅ ⎜ t frame +
⋅ Ws ⎟ = t frame + f ⋅ Ws ⋅ t frame
⎟
⎜
1 − Pf
1 − Pf
⎠
⎝
• transmission efficiency

ηGBN

n f − nheader
n
1− header
t GBN
nf
=
=
(1− Pf )
R
1+ (Ws − 1)Pf

(∗∗)
Go-Back-N ARQ (cont.)

25

What is total average time required to transmit a frame, assuming Pf?
successful
transmission

successful
transmission
WS

0 1 2 3 4 5 6 7 8 9 1011

tframe

WS

0 1 2 3 4 5 6 7 R R R R R R R R 8 9 10 11

tframe

ACK keeps window ‘sliding’

1st attempt successful:

t GBN = t frame

2nd attempt successful:

t GBN = t frame + WS ⋅ t frame

average case:

t GBN = t frame + E[# of transmissions in error] ⋅ WS ⋅ t frame
E[# of transmissions in error] =

t GBN = t frame +

Pf
WS ⋅ t frame
1 − Pf

⇒

ηGBN

Pf
1 − Pf

n f − nheader
n
1− header
t GBN
nf
=
=
(1− Pf )
R
1+ (Ws − 1)Pf
Go-Back-N ARQ (cont.)

26

Example [ Stop-and-Wait vs. Go-Back-N ]
nf = 1250 bytes = 10000 bits
nACK = nheader = 25 bytes = 200 bits
Compare S&W with GBN efficiency for random bit errors with pb = 0, 10-6, 10-5, 10-4 and
bandwidth-delay product R*2*(tprop+tproc) = 1 Mbps * 100 ms = 100000 bits = 10 frames →
use Ws = 11.
11

Efficiency

pb=10-5

pb=10-4

8.9%

8.8%

8.0%

3.3%

GBN

•

pb=10-6

S&W

•

pb=0
98%

88.2%

45.4%

4.9%

Go-Back-N provides significant improvement over Stop-and-Wait for large delaybandwidth product
Go-Back-N becomes inefficient as error rate increases
27

(3) Selective Repeat ARQ
Selective Repeat ARQ
Selective Repeat ARQ

•

28

Go-Back-N is NOT suitable for ‘noisy links’ – in
case of a lost/damaged frame a whole window
of frames need to be resent
excessive retransmissions use up the bandwidth
and slow down transmission

•

Selective Repeat ARQ overcomes the limitations
of Go-Back-N by adding 2 new features
(1) receiver window > 1 frame, so that out-of-order

but error-free frames can be accepted
(2) retransmission mechanism is modified – only

individual frames are retransmitted
•

Window size

Window size

already ACKed
sent, not yet ACKed

Selective Repeat ARQ is used in TCP !!!

usable not yet sent
not usable

sender window of size WS

out of order buffered
but already ACKed
expected, not yet received

acceptable
(within window)
not usable

receiver window of size WR
Selective Repeat ARQ (cont.)

29

Selective Repeat ARQ Operation
Receiver:
• window advances whenever next

in-order frame arrives
Rnext

• out-of-order frames are accepted only

Rnext + WS -1 if their sequence numbers satisfy

Rnext < Rframe < Rnext + Ws
• a negative ACK (NAK) with sequence

number Rnext is sent whenever an
out-of-sequence frame is observed

Sender:
• window advances whenever an ACK

arrives
• if a timer expires, the corresponding

frame is resent, and the timer is reset
• whenever a NAK arrives, Rnext frame

is resent
Selective Repeat ARQ (cont.)
Window Sizes
(WS and WR)

•

30

m bits allotted within a header for sequence numbers
⇒ 2m possible sequence numbers
how big should the windows be!?
WS and WR = 2m-1 cannot be accepted due to possible
ambiguity as shown below
W = 2m/2 = 2m-1 acceptable !!!

ACK1
ACK1
ACK2
ACK2
ACK3

window size 2m-1 = 3

window size 2m-1 = 2
Selective Repeat ARQ (cont.)
Selective Repeat
Efficiency

•

31

completely efficient if Ws is large enough to keep
channel busy, and if channel is error free
of course, sequence number space must be 2X sequence
sequence number space of Go-Back-N

•

in case of error-prone channel, total average time
required to transmit a frame:
t SR =

•

t frame
nf
=
1− Pf R ⋅ (1− Pf )

transmission efficiency

ηSR

n f − nheader
⎛ n
R
t SR
= ⎜1− header
= eff =
⎜
R
R
nf
⎝

⎞
⎟ ⋅ (1− Pf )
⎟
⎠

(∗∗∗)
Selective Repeat ARQ (cont.)

32

What is total average time required to transmit a frame, assuming Pf?
successful
transmission

successful
transmission

on NAK or time-out
0 1 2 3 4 5 6 7 8 9 1011

0 1 2 3 4 5 R 6 7 8 9 101112

tframe
NAK 0

1st attempt successful:

t SR = t frame

2nd attempt successful:

t SR = t frame + t frame

average case:

t SR = t frame + E[# of transmissions in error] ⋅ t frame
Pf
1 − Pf

t SR = t frame +

Pf
1 nf
⋅ t frame =
⋅
1− Pf
1− Pf R

⇒

ηSR

nf − nheader
⎛ n
t SR
= ⎜1− header
=
⎜
R
nf
⎝

⎞
⎟(1− Pf )
⎟
⎠
Stop-and-Wait vs. Go-Back-N vs. Selective Repeat
Performance
Comparison

•

33

assume nACK and nheader are negligible relative to nf, and
2(t prop + t proc )R
nf

= L = Ws − 1

WS is for 1 less than the
number of frames currently in transit

size of the “pipe” in
multiples of frames

•

efficiencies of three ARQ techniques are

ηSW =

1
⋅ (1- Pf )
1+ L

ηGBN =

1
(1− Pf )
1+ LPf

ηSW < ηGBN < ηSR

ηSR = (1− Pf )

•

for 0 < Pf < 1, Selective Repeat provides best performance

•

for Pf → 0 Go-Back-N as good as Selective Repeat
34

ARQ Efficiency Com parison
Selective
Repeat

Efficiency

1.5

Go Back N 10

1

Stop and Wait
100

0.5
0

Go Back N 100
-9 -8 -7 -6 -5 -4 -3 10 10
10-9 10-8 10-7 10-6 10-5 10-4 10-3 -2-2 -1-1
p
- LOG(p)

Delay-Bandwidth product = 10, 100

Stop and Wait
10

More Related Content

What's hot

Advance Repeat reQuest (ARQ)
Advance Repeat reQuest (ARQ)Advance Repeat reQuest (ARQ)
Advance Repeat reQuest (ARQ)Muhammad Irtiza
 
Selective repeat protocol
Selective repeat protocolSelective repeat protocol
Selective repeat protocolManusha Dilan
 
Module15: Sliding Windows Protocol and Error Control
Module15: Sliding Windows Protocol and Error Control Module15: Sliding Windows Protocol and Error Control
Module15: Sliding Windows Protocol and Error Control gondwe Ben
 
Data link control
Data link controlData link control
Data link controlIffat Anjum
 
3a data link layer continued
3a data link layer continued3a data link layer continued
3a data link layer continuedkavish dani
 
Go back-n protocol
Go back-n protocolGo back-n protocol
Go back-n protocolSTEFFY D
 
Stop and Wait arq
Stop and Wait arqStop and Wait arq
Stop and Wait arqpramodmmrv
 
Sliding window protocol
Sliding window protocolSliding window protocol
Sliding window protocolranakishi
 
Chapter 7 - Data Link Control Protocols 9e
Chapter 7 - Data Link Control Protocols 9eChapter 7 - Data Link Control Protocols 9e
Chapter 7 - Data Link Control Protocols 9eadpeer
 
14 data link control
14 data link control14 data link control
14 data link controlarvindsarja
 

What's hot (20)

Flow Control
Flow ControlFlow Control
Flow Control
 
Advance Repeat reQuest (ARQ)
Advance Repeat reQuest (ARQ)Advance Repeat reQuest (ARQ)
Advance Repeat reQuest (ARQ)
 
Chapter 11
Chapter 11Chapter 11
Chapter 11
 
Stop And Wait ARQ
Stop And Wait ARQStop And Wait ARQ
Stop And Wait ARQ
 
Stop-and-Wait ARQ Protocol
Stop-and-Wait ARQ ProtocolStop-and-Wait ARQ Protocol
Stop-and-Wait ARQ Protocol
 
Selective repeat protocol
Selective repeat protocolSelective repeat protocol
Selective repeat protocol
 
GO BACK N PROTOCOL
GO BACK N PROTOCOLGO BACK N PROTOCOL
GO BACK N PROTOCOL
 
Module15: Sliding Windows Protocol and Error Control
Module15: Sliding Windows Protocol and Error Control Module15: Sliding Windows Protocol and Error Control
Module15: Sliding Windows Protocol and Error Control
 
go back n protocol
go back n protocolgo back n protocol
go back n protocol
 
Flow control
Flow controlFlow control
Flow control
 
Data link control
Data link controlData link control
Data link control
 
Go Back N Arq1
Go  Back N Arq1Go  Back N Arq1
Go Back N Arq1
 
3a data link layer continued
3a data link layer continued3a data link layer continued
3a data link layer continued
 
6 data linkcontrol
6  data linkcontrol6  data linkcontrol
6 data linkcontrol
 
Go back-n protocol
Go back-n protocolGo back-n protocol
Go back-n protocol
 
Stop And Wait
Stop And WaitStop And Wait
Stop And Wait
 
Stop and Wait arq
Stop and Wait arqStop and Wait arq
Stop and Wait arq
 
Sliding window protocol
Sliding window protocolSliding window protocol
Sliding window protocol
 
Chapter 7 - Data Link Control Protocols 9e
Chapter 7 - Data Link Control Protocols 9eChapter 7 - Data Link Control Protocols 9e
Chapter 7 - Data Link Control Protocols 9e
 
14 data link control
14 data link control14 data link control
14 data link control
 

Similar to Cse3213 11 flow_errorcontrol_f2010

Similar to Cse3213 11 flow_errorcontrol_f2010 (20)

Arq protocol part 2
Arq protocol part 2Arq protocol part 2
Arq protocol part 2
 
session -7 - Sliding Window Protocol 1- N oisy Channels.ppt
session -7 - Sliding Window Protocol 1- N oisy Channels.pptsession -7 - Sliding Window Protocol 1- N oisy Channels.ppt
session -7 - Sliding Window Protocol 1- N oisy Channels.ppt
 
Computer network
Computer networkComputer network
Computer network
 
Data linkcontrol
Data linkcontrolData linkcontrol
Data linkcontrol
 
Data Link Control Protocols
Data Link Control ProtocolsData Link Control Protocols
Data Link Control Protocols
 
Datalink control(framing,protocols)
Datalink control(framing,protocols)Datalink control(framing,protocols)
Datalink control(framing,protocols)
 
07 data linkcontrol
07 data linkcontrol07 data linkcontrol
07 data linkcontrol
 
PROTOCOL ICT.pptx
PROTOCOL ICT.pptxPROTOCOL ICT.pptx
PROTOCOL ICT.pptx
 
Mobile comn.pptx
Mobile comn.pptxMobile comn.pptx
Mobile comn.pptx
 
Ch3 transport layer Network
Ch3 transport layer NetworkCh3 transport layer Network
Ch3 transport layer Network
 
Computer network slides for easy prepration
Computer network slides for easy preprationComputer network slides for easy prepration
Computer network slides for easy prepration
 
Micro project on ARQ
Micro project on ARQMicro project on ARQ
Micro project on ARQ
 
Unit IV_Flow.pptx
Unit IV_Flow.pptxUnit IV_Flow.pptx
Unit IV_Flow.pptx
 
sliding window protocol for datalink layer.ppt
sliding window protocol for datalink layer.pptsliding window protocol for datalink layer.ppt
sliding window protocol for datalink layer.ppt
 
Congestion control in TCP.pptx
Congestion control in TCP.pptxCongestion control in TCP.pptx
Congestion control in TCP.pptx
 
Computer network (13)
Computer network (13)Computer network (13)
Computer network (13)
 
Lect9 (1)
Lect9 (1)Lect9 (1)
Lect9 (1)
 
Lect9
Lect9Lect9
Lect9
 
Protocols
ProtocolsProtocols
Protocols
 
6610-l14.pptx
6610-l14.pptx6610-l14.pptx
6610-l14.pptx
 

Recently uploaded

Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 

Recently uploaded (20)

Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 

Cse3213 11 flow_errorcontrol_f2010

  • 1. 1 Error and Flow Control Required reading: Garcia 5.2 CSE 3213, Fall 2010 Instructor: N. Vlajic
  • 2. Error Control Error Control (1) Forward Error Correction (FEC) Approaches (2) Error Detection + Automatic Retrans. Req. (ARQ) • not enough redundant info to enable error correction case (a) receiver detects no errors an ACK packet is sent back to sender case (b) receiver detects errors no ACK sent back to sender sender retransmits frame after a ‘time-out’ error detected !!! = round-trip time 2
  • 3. Error Control (cont.) Challenges of ARQ-based Error Control • 3 send one frame at the time, wait for ACK easy to implement, but inefficient in terms of channel usage • send multiple frames at once better channel usage, but more complex to implement sender must keep (all) sent but unACKed frame(s) in a buffer, as such frame(s) may have to be retransmitted frame ACK frame frame ACK frame buffer of finite size How many frames should be sent at any point in time? How should frames be released from the sending buffer?
  • 4. Error and Flow Control Flow Control – set of procedures used to restrict the amount of data that sender can send while waiting for acknowledgment • two main strategies (1) Stop-and-Wait: sender waits until it receives ACK before sending next frame (2) Sliding Window: sender can send W frames before waiting for ACKs Error + Flow Control (1) Stop-and-Wait ARQ (2) Go-Back-N ARQ Techniques (3) Selective Repeat ARQ Error Detection + ARQ (error detection with retransmissions) must be combined with methods that intelligently limit the number of ‘outstanding’ (unACKed) frames. Fewer unACKed frames ⇒ fewer packets buffered at sender and receiver. 4
  • 6. Stop-and-Wait ARQ 6 Stop-and-Wait ARQ – simplest flow and error control mechanism • sender sends an information frame to receiver • sender, then, stops and waits for an ACK • if no ACK arrives within time-out, sender will resend the frame, and again stop and wait time-out period > roundtrip time • abnormalities (and how to fix them) lost acknowledgment delayed acknowledgment error detected !!! = round-trip time
  • 7. Stop-and-Wait ARQ (cont.) Lost Acknowledgment • 7 frame received correctly, but ACK undergoes errors / loss after time-out period, sender resends frame receiver receives the same frame twice • frames must be numbered so that receiver can recognize and discard duplicate frames sequence # are included in packet header 0 frame ACK 1 frame ACK 2 frame ACK retransmitted frame frame How will receiver know that this is NOT a new packet?! without packet numbering 2 frame 0 ACK frame 1 ACK frame 2 ACK frame 2 Receiver has already received frame 2 – it resends an ACK and discards the duplicate. with packet numbering
  • 8. Stop-and-Wait ARQ (cont.) Delayed Acknowledgment (Premature Timeout) • 8 ACKs can be delayed due to problems with links or network congestion time-out expires early, sender resends frame when delayed ACK arrives, sender assumes that given ACK is for the last frame sent • 0 receiver sees this as ACK for 2nd frame-0 and sends frame-1 receiver sees this as ACK for frame-1 and sends frame-2 ACKs must be numbered to prevent gaps in delivered packet sequence 0 frame 0 ACK ACK 1 0 2 0 0 frame 0 1 frame 0 frame 0 ACK 1 frame-1 not delivered !!! without ACK numbering ACK 1 0 cannot send frame-2 with ACK numbering How large should the packet / ACK sequence be? Only 1-bit long !!!
  • 10. Stop-and-Wait ARQ (cont.) Stop-and-Wait Efficiency • 10 t0 = basic Stop-and-Wait delay – from time when frame is transmitted into channel until time when ACK arrives back to receiver, and another frame can be sent t 0 = 2 ⋅ t prop + 2 ⋅ t proc + t frame + t ACK = 2 ⋅ t prop + 2 ⋅ t proc + nf n ACK + R R Reff = effective transmission (data) rate: • R eff = number of info bits delivered to destination nf − nheader = total time required to deliver info bits t0 t0 = total time to transmit 1 frame A tproc nf bits nACK bits B tprop first frame bit arrives at receiver frame tf time tproc end of frame is received tack tprop first ACK bit arrives at receiver end of ACK is received
  • 11. Stop-and-Wait ARQ (cont.) • 11 ηSW = transmission efficiency: ratio of actual and effective efficiency transmission (data) rate - ideally, ηSW ≈ 1 where do we lose channel efficiency, and how can ηSW → 1 be achieved ?! ηSW nf − nheader R t0 = = eff = R R (1) nheader nf (2) n ACK nf (3) nheader nf 2(t + t )R + prop proc nf 1− 1+ n ACK nf should be as small as possible - loss in efficiency due to (need for) header - loss in efficiency due to (need for) ACKs 2(t prop + t proc )R - bandwidth-delay product max number of bits in transit at any given time in Stop-and-Wait ARQ delay-bandwidth product is a measure of lost opportunity in terms of transmitted bits
  • 12. Stop-and-Wait ARQ (cont.) Bandwidth-delay product = 2*(tprop + tproc)*R = = capacity of the transmission pipe from the sender to the receiver and back. 12
  • 13. Stop-and-Wait ARQ (cont.) frame size in comparison to bandwidth-delay product tprop + tproc > tframe max number of bits in transit – ‘the pipe is full’ tprop + tproc < tframe Stop-and-Wait ARQ becomes inadequate when data is fragmented into small frames, such that nf / R = tframe is small relative to tprop . 13
  • 14. Stop-and-Wait ARQ (cont.) 14 Example [ impact of delay-bandwidth product ] nf = 1250 bytes = 10000 bits nACK = nheader = 25 bytes = 200 bits ηSW = R eff = R ⇒ n ACK nheader = = 0.02 nf nf nheader 0.98 nf = 2 ⋅ (t prop + t proc )R 2 ⋅ (t prop + t proc )R + 1.02 + nf nf 1− 1+ n ACK nf Efficiency 200 km (tprop = 1 ms) 2000 km (tprop = 10 ms) 20000 km (tprop = 100 ms) 200000 km (tprop = 1 sec) 1 Mbps 103 88% 104 49% 105 9% 106 1% 1 Gbps 106 1% 107 0.1% 108 0.01% 109 0.001% Stop-and-Wait does NOT work well for very high speeds or long propagation delays.
  • 15. Stop-and-Wait ARQ (cont.) Stop-and-Wait Efficiency in Channel with Errors • Pf = probability that transmitted frame has errors and need to be retransmitted (1-Pf) – probability of successful transmission 1 1- Pf R eff_error R and including – average # of (re)transmission until first correct arrival total delay per frame: ηSW_error = 15 n f − nheader t0 (1- Pf ) = (1- Pf ) ⋅ = R t 0 ⋅ (average # of retrans.) = t 0 ⋅ nheader nf 2(t + t )R + prop proc nf 1− 1+ n ACK nf ηSW_error = (1- Pf ) ⋅η0 Pf increases ⇒ ηSW decreases 1 1- Pf (∗)
  • 16. Stop-and-Wait ARQ (cont.) successful transmission average # of transmissions in error before a successful transmission time-out time-out 16 time-out t0 Probability that i transmission are needed to deliver frame successfully ( i-1 transmission in error and the ith transmission is error free ): P[ # of trans. in error = i-1 ] = (1-Pf) Pfi-1 ∞ ∞ i=1 i=1 E[# of transmissi ons in error] = ∑ (i - 1) ⋅ P[n trans in error = i - 1] = ∑ (i - 1) ⋅ (1− Pf )Pfi−1 = ∞ = (1− Pf ) ⋅ ∑ (i - 1) ⋅ P i−1 f i=1 ∞ ∞ = (1− Pf ) ⋅ ∑ n ⋅ Pfn = n =1 = (1− Pf ) ⋅ Pf ⋅ ∑ n ⋅ Pfn−1 = (1− Pf ) ⋅ Pf ⋅ n =1 = Total average delay per frame: 1 = (1− Pf )2 Pf 1− Pf t 0 + time - out ⋅ E[# of transmiss in error] = t 0 + time - out ⋅ Pf 1 ≈ t0 1- Pf 1- Pf
  • 17. Stop-and-Wait ARQ (cont.) Piggybacking 17 • Stop-and-Wait discussed so far was ‘unidirectional’ • in ‘bidirectional’ communications, both parties send & acknowledge data, i.e. both parties implement flow control • piggybacking method: outstanding ACKs are placed in the header of information frames piggybacking can save bandwidth since the overhead from a data frame and an ACK frame (addresses, CRC, etc) can be combined into just one frame • S(0) S(0) 0 S(1) R(0) R(0) S(1) 0 1 S(2) R(1) R(1) S(2) 1 without piggybacking with piggybacking
  • 19. Go-Back-N ARQ 19 Go-Back-N ARQ – overcomes inefficiency of Stop-and-Wait ARQ – sender continues sending enough frames to keep channel busy while waiting for ACKs • a window of Ws outstanding frames is allowed • m-bit sequence numbers are used for both - frames and ACKs, and Ws = 2m-1 4 frames are outstanding; so go back 4 Go-Back-4: A fr 0 fr 1 fr 2 fr 3 fr 4 fr 5 fr 6 fr 3 fr 4 fr 5 fr 6 fr 7 fr 8 Time fr 9 B A C K 1 Rnext 0 A C K 2 A C K 3 out of sequence frames 1 2 3 3 A C K 4 4 A C K 5 5 A C K 6 6 A C K 7 7 A C K 8 8 A C K 9 9 Assume: Ws= 4 1) sender sends frames one by one 2) frame 3 undergoes transmission error – receiver ignores frame 3 and all subsequent frames 3) sender eventually reaches max number of outstanding frames, and takes following action: go back N=Ws frames and retransmit all frames from 3 onwards
  • 20. Go-Back-N ARQ (cont.) Sender Sliding Window • 20 all frames are stored in a buffer, outstanding frames are enclosed in a window frames to the left of the window are already ACKed and can be purged before ACKs for frames 0 and 1 arrive frames to the right of the window cannot be sent until the window slides over them whenever a new ACK arrives, the window slides to include new unsent frames after ACKs for frames 0 and 1 arrive and window slides once the window gets full (max # of outstanding frames is reached), entire window gets resent Receiver Sliding Window • the size of receiver window is always 1 receiver is always looking for a specific frame to arrive in a specific order any frame arriving out of order is discarded and needs to be resent The complexity of the receiver in Go-Back-N is the same as that of Stop-and-Wait!!! Only the complexity of the transmitter increases.
  • 21. Go-Back-N ARQ (cont.) Problems with Go-Back-N (Go-Back-N with Timeout) • 21 Go-Back-N works correctly (retransmission of damaged frames gets triggered) as long as the sender has an unlimited supply of packets that need to be transmitted but, in case when packets arrive sporadically, there may not be Ws-1 subsequent transmissions ⇒ window will not be exhausted, retransmissions will not be triggered this problem can be resolved by modifying Go-Back-N such that: 1) set a timer for each sent frame 2) resend all outstanding frames either when window gets full or when the timer of first frame expires Window size 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3
  • 22. Go-Back-N ARQ (cont.) Example [ lost frame in Go-Back-N with time-out ] Note: • ACKs number always defines the number of the next expected frame !!! • in Go-Back-N, receiver does not have to acknowledge each frame received – it can send one cumulative ACK for several frames 22
  • 23. Go-Back-N ARQ (cont.) Sequence Numbers and Window Size • 23 m bits allotted within a header for seq. numbers ⇒ 2m possible sequence numbers how big should the sender window be!? W > 2m cannot be accepted – multiple frames with same seq. # in the window ⇒ ambiguous ACKs W = 2m can still cause some ambiguity – see below W = 2m – 1 acceptable !!! ACK1 ACK1 ACK2 ACK2 ACK3 ACK3 ACK0 ACK3 ACK1 window size 2m = 4 window size 2m-1 = 3
  • 24. Go-Back-N ARQ (cont.) Go-Back-N Efficiency • 24 completely efficient if Ws is large enough to keep channel busy, and if channel is error free time time • in case of error-prone channel, with Pf frame loss probability, time to deliver a frame is: t frame average # of frame/window (re)transmission until a successful transmission t frame + - if 1st transmission succeeds – prob. (1-Pf) 1 ⋅ Ws ⋅ t frame - if 1st transmission does NOT succeeds – 1 − Pf prob. Pf • total average time required to transmit a frame: ⎞ ⎛ P 1 t GBN = (1 − Pf ) ⋅ t frame + Pf ⋅ ⎜ t frame + ⋅ Ws ⎟ = t frame + f ⋅ Ws ⋅ t frame ⎟ ⎜ 1 − Pf 1 − Pf ⎠ ⎝ • transmission efficiency ηGBN n f − nheader n 1− header t GBN nf = = (1− Pf ) R 1+ (Ws − 1)Pf (∗∗)
  • 25. Go-Back-N ARQ (cont.) 25 What is total average time required to transmit a frame, assuming Pf? successful transmission successful transmission WS 0 1 2 3 4 5 6 7 8 9 1011 tframe WS 0 1 2 3 4 5 6 7 R R R R R R R R 8 9 10 11 tframe ACK keeps window ‘sliding’ 1st attempt successful: t GBN = t frame 2nd attempt successful: t GBN = t frame + WS ⋅ t frame average case: t GBN = t frame + E[# of transmissions in error] ⋅ WS ⋅ t frame E[# of transmissions in error] = t GBN = t frame + Pf WS ⋅ t frame 1 − Pf ⇒ ηGBN Pf 1 − Pf n f − nheader n 1− header t GBN nf = = (1− Pf ) R 1+ (Ws − 1)Pf
  • 26. Go-Back-N ARQ (cont.) 26 Example [ Stop-and-Wait vs. Go-Back-N ] nf = 1250 bytes = 10000 bits nACK = nheader = 25 bytes = 200 bits Compare S&W with GBN efficiency for random bit errors with pb = 0, 10-6, 10-5, 10-4 and bandwidth-delay product R*2*(tprop+tproc) = 1 Mbps * 100 ms = 100000 bits = 10 frames → use Ws = 11. 11 Efficiency pb=10-5 pb=10-4 8.9% 8.8% 8.0% 3.3% GBN • pb=10-6 S&W • pb=0 98% 88.2% 45.4% 4.9% Go-Back-N provides significant improvement over Stop-and-Wait for large delaybandwidth product Go-Back-N becomes inefficient as error rate increases
  • 28. Selective Repeat ARQ Selective Repeat ARQ • 28 Go-Back-N is NOT suitable for ‘noisy links’ – in case of a lost/damaged frame a whole window of frames need to be resent excessive retransmissions use up the bandwidth and slow down transmission • Selective Repeat ARQ overcomes the limitations of Go-Back-N by adding 2 new features (1) receiver window > 1 frame, so that out-of-order but error-free frames can be accepted (2) retransmission mechanism is modified – only individual frames are retransmitted • Window size Window size already ACKed sent, not yet ACKed Selective Repeat ARQ is used in TCP !!! usable not yet sent not usable sender window of size WS out of order buffered but already ACKed expected, not yet received acceptable (within window) not usable receiver window of size WR
  • 29. Selective Repeat ARQ (cont.) 29 Selective Repeat ARQ Operation Receiver: • window advances whenever next in-order frame arrives Rnext • out-of-order frames are accepted only Rnext + WS -1 if their sequence numbers satisfy Rnext < Rframe < Rnext + Ws • a negative ACK (NAK) with sequence number Rnext is sent whenever an out-of-sequence frame is observed Sender: • window advances whenever an ACK arrives • if a timer expires, the corresponding frame is resent, and the timer is reset • whenever a NAK arrives, Rnext frame is resent
  • 30. Selective Repeat ARQ (cont.) Window Sizes (WS and WR) • 30 m bits allotted within a header for sequence numbers ⇒ 2m possible sequence numbers how big should the windows be!? WS and WR = 2m-1 cannot be accepted due to possible ambiguity as shown below W = 2m/2 = 2m-1 acceptable !!! ACK1 ACK1 ACK2 ACK2 ACK3 window size 2m-1 = 3 window size 2m-1 = 2
  • 31. Selective Repeat ARQ (cont.) Selective Repeat Efficiency • 31 completely efficient if Ws is large enough to keep channel busy, and if channel is error free of course, sequence number space must be 2X sequence sequence number space of Go-Back-N • in case of error-prone channel, total average time required to transmit a frame: t SR = • t frame nf = 1− Pf R ⋅ (1− Pf ) transmission efficiency ηSR n f − nheader ⎛ n R t SR = ⎜1− header = eff = ⎜ R R nf ⎝ ⎞ ⎟ ⋅ (1− Pf ) ⎟ ⎠ (∗∗∗)
  • 32. Selective Repeat ARQ (cont.) 32 What is total average time required to transmit a frame, assuming Pf? successful transmission successful transmission on NAK or time-out 0 1 2 3 4 5 6 7 8 9 1011 0 1 2 3 4 5 R 6 7 8 9 101112 tframe NAK 0 1st attempt successful: t SR = t frame 2nd attempt successful: t SR = t frame + t frame average case: t SR = t frame + E[# of transmissions in error] ⋅ t frame Pf 1 − Pf t SR = t frame + Pf 1 nf ⋅ t frame = ⋅ 1− Pf 1− Pf R ⇒ ηSR nf − nheader ⎛ n t SR = ⎜1− header = ⎜ R nf ⎝ ⎞ ⎟(1− Pf ) ⎟ ⎠
  • 33. Stop-and-Wait vs. Go-Back-N vs. Selective Repeat Performance Comparison • 33 assume nACK and nheader are negligible relative to nf, and 2(t prop + t proc )R nf = L = Ws − 1 WS is for 1 less than the number of frames currently in transit size of the “pipe” in multiples of frames • efficiencies of three ARQ techniques are ηSW = 1 ⋅ (1- Pf ) 1+ L ηGBN = 1 (1− Pf ) 1+ LPf ηSW < ηGBN < ηSR ηSR = (1− Pf ) • for 0 < Pf < 1, Selective Repeat provides best performance • for Pf → 0 Go-Back-N as good as Selective Repeat
  • 34. 34 ARQ Efficiency Com parison Selective Repeat Efficiency 1.5 Go Back N 10 1 Stop and Wait 100 0.5 0 Go Back N 100 -9 -8 -7 -6 -5 -4 -3 10 10 10-9 10-8 10-7 10-6 10-5 10-4 10-3 -2-2 -1-1 p - LOG(p) Delay-Bandwidth product = 10, 100 Stop and Wait 10