EE450-Discussion8

Download Report

Transcript EE450-Discussion8

Discussion #8
EE450, 10/13/2010
Sample Problems:
-ARQ protocols (Sliding
window)
Problem#1: Description

Draw a timeline diagram for the sliding window algorithm with
SWS=RWS=4 frames for two given scenarios using the following
assumptions:
1. The receiver sends a duplicate acknowledgement if it does not
receive the expected frame. For example it sends dupack[2]
when it expects to see frame[2] but receives frame[3] instead.
2. The receiver sends a cumulative acknowledgement after it
receives all the outstanding frames. For example it sends
ACK[5] when it receives the lost frame[2] after it already
received frame[3], frame[4] and frame[5].
3. The timeout interval is about 2RTT.
2
Problem#1: Two Scenarios
a. Frame[2] is lost. Retransmission takes place upon
timeout (as usual).
b. Frame[2] is lost. Retransmission takes place either
upon receipt of the first dupack or upon timeout.
Does this scheme reduce the transaction time?
Note that some end-to-end protocols (e.g. variants
of TCP) use a similar scheme for fast retransmission.
3
Problem#1 Solution: Scenario (a)
Receiver
Sender
Ttrans + RTT
Frame[1]
Frame[2]
Frame[3]
Frame[4]
Frame[5]
Ttrans + RTT
Transmission
time
Ack[1]
Dupack[2]
Dupack[2]
Dupack[2]
Timeout=2RTT Frame[2]
Ack[5]
Frame[6]
Ack[6]
time
time
4
Problem#1 Solution: Scenario (b)
Receiver
Sender
Ttrans + RTT
Frame[1]
Frame[2]
Frame[3]
Frame[4]
Frame[5]
Ttrans + RTT
Frame[2]
Transmission
time
Ack[1]
Dupack[2]
Dupack[2]
Dupack[2]
Ack[5]
Frame[6]
Ack[6]
time
time
5
Comparing the two scenarios
Ttrans
Frame[1]
Frame[2]
Frame[3]
Frame[4]
Frame[5]
Timeout=2RTT
Transmission
time
Ack[1]
Frame[1]
Frame[2]
Frame[3]
Frame[4]
Dupack[2]
Frame[5]
2Ttrans
Dupack[2]
Dupack[2]
2Ttrans + 2RTT
Frame[2]
Transmission
time
Ack[1]
Dupack[2]
Dupack[2]
Dupack[2]
Frame[2]
Ack[5]
Ttrans + RTT
Ack[5]
Frame[6]
Frame[6]
Ack[6]
Ack[6]
(a) Delay1= 2Ttrans + 3RTT
(b) Delay2= 4Ttrans + 2RTT
6
Comparing the transaction time
(transfer delay) in the two scenarios
RTT=2Tprop
Delay1= 2Ttrans + 3RTT= 2Ttrans + 6Tprop
Delay2= 4Ttrans + 2RTT=4Ttrans + 4Tprop
?
2Ttrans + 6Tprop > 4Ttrans + 4Tprop
?
2Tprop > 2Ttrans
If Tprop > Ttrans , in Scenario (b) the transaction time is reduced!
7
Problem#2: Description




A is connected to B via an intermediate router R.
The A-R and R-B links each accept and transmit
only one packet per second in each direction (so
two packets take 2 seconds).
The two directions transmit independently.
A sends to B using the sliding window protocol
with SWS=4.
8
Problem#2: Questions?
a)
For Time=0, 1, 2, 3, 4, 5 state what packets arrive at
and leave each node, or label them on a timeline.
1 pkt/sec
A
1 pkt/sec
R
B
b) What happens if the links have a propagation delay of
1 seconds, but accept immediately as many packets as
are offered (i.e. latency= 1 second but bandwidth is infinite).
BW=∞
A
R
Tprop=1 sec
BW=∞
Tprop=1 sec
B
9
Part (a) Solution
SWS=4 packets, RTT=4 sec
T=0 sec
Data[3]
Data[2]
Data[1]
Data[0]
A
Data[3]
Data[2]
0<T<1 sec
Data[1]
Data[0]
A
1<T<2 sec
Data[3]
Data[2]
Data[1]
A
R
B
R
B
R
Data[0]
B
10
Part (a) Solution Ctd.
Ignoring Ack Transmission Time
At T=2 sec Data[0] arrives at B
2<T<3 sec
Data[3]
Data[2]
A
R
Data[1]
Data[0]
B
Ack[0]
At T=3 sec Data[1] arrives at B
3<T<4 sec
A
Data[3]
R
Ack[0]
Data[2]
Data[1]
B
Ack[1]
At T=4 sec Data[2] arrives at B
4<T<5 sec
Ack[0]
A
Data[4]
Ack[1]
R
Data[3]
Ack[2]
At T=5 sec Data[3] arrives at B, and Data[4] arrives at R
Data[2]
B
Part (b) Solution
SWS=4 packets, infinite BW, RTT=4 sec
T=0
Data[3]
Data[2]
Data[1]
Data[0]
A
R
B
Data[3] Data[2] Data[1] Data[0]
T=0+sec
A
R
B
Data[3]Data[2]Data[1]Data[0]
T=1 sec
A
R
B
12
Part (b) Solution Ctd.
Virtually No Transmission Time!
Data[3]Data[2]Data[1]Data[0]
T=1+ sec
A
R
B
A
R
Data[0]
Data[1]
Data[2]
Data[3]
B
A
R
B
T=2 sec
T=2+ sec
Ack[0] Ack[1] Ack[2] Ack[3]
13
Part (b) Solution Ctd.
A
R
B
T=3 sec
Ack[0] Ack[1] Ack[2] Ack[3]
T=3+ sec
A
R
B
Ack[0] Ack[1] Ack[2] Ack[3]
Data[7]
Data[6]
Data[5]
Data[4] A
T=4 sec
Ack[0] Ack[1] Ack[2] Ack[3]
R
B
14
Part (b) Solution Ctd.
Data[7] Data[6] Data[5] Data[4]
T=4+sec
A
R
B
Data[7]Data[6]Data[5]Data[4]
T=5 sec
A
R
B
Data[7]Data[6]Data[5]Data[4]
T=5+sec
A
R
B
15
Problem#3: Description




A is connected to B via an intermediate
router R.
The A-R link is instantaneous but the R-B link
transmit only one packet per second (so two
packets take 2 seconds).
The two directions transmit independently.
A sends to B using the sliding window
protocol with SWS=4.
16
Problem#3 : Questions?
Buffer
BW=Infinity
A
R
1 pkt/sec
B
Tprop=0 sec
a)
For Time=0, 1, 2, 3, 4, 5 state what packets arrive
at and are sent from each node.
b)
How large does the queue at R grow?
17
Part (a) Solution
SWS=4 packets, RTT=2 sec
T=0 sec
Data[3]
Data[2]
Data[1]
Data[0]
A
T=0+sec
A
0<T<1 sec
A
Data[3]
Data[2]
Data[1]
Data[0]
Data[3]
Data[2]
Data[1]
R
B
R
B
R
Data[0]
B
18
Part (a) Solution Ctd.
Ignoring Ack Transmission Time
At T=1 sec Data[0] arrives at B
1<T<2 sec
A
Data[3]
Data[2]
R
Data[1]
Data[0]
B
Ack[0]
T=2 sec
A
Data[3]
R
Data[2]
Ack[0]
Data[1]
B
Ack[1]
Part (a) Solution Ctd.
T=2+sec
A
Data[4]
Data[3]
R
Ack[0]
Data[1]
Data[2]
B
Ack[1]
At T=3 sec Data[2] arrives at B, and Ack[1] arrives at R
3<T<4 sec
A
Data[4]
Ack[1]
R
Data[3]
Data[2]
Ack[2]
B
Part (a) Solution Ctd.
T=3+sec
A
Data[5]
Data[4]
R
Ack[1]
Data[3]
Data[2]
B
Ack[2]
At T=4 sec Data[3] arrives at B, and Ack[2] arrives at R
4<T<5 sec
A
Data[5]
R
Ack[2]
Data[4]
Data[3]
B
Ack[3]
Part (a) Solution Ctd.
T=4+sec
A
Data[6]
Data[5]
Ack[2]
R
Data[4]
Data[3]
B
Ack[3]
At T=5 sec Data[4] arrives at B, and Ack[3] arrives at R
Part (b) Solution
The steady-state queue size at R is two Data Frames.
22
Problem#4: Description



Consider the same topology and situation
as in problem #2.
Assume that the router has a buffer size of
1, i.e. it can hold one packet (or frame) in
to addition to the one it is sending (in each
direction).
Assume that A has a timeout interval of 4
sec and SWS=4.
23
Problem#4 : Questions?
Buffer size=1
BW=∞
A
R
1 pkt/sec
B
Tprop=0 sec
From Time=0, show what happens at each second until
all four packets successfully arrive at B.
24
Solution
SWS=4 packets, RTT=2 sec
T=0 sec
Data[3]
Data[2]
Data[1]
Data[0]
A
R
Data[3]
Data[2]
Data[1]
T=0+sec
A
0<T<1 sec
A
B
R
Data[1]
Dropped
Data[0]
R
B
Data[0]
B
25
Solution Ctd.
Ignoring Ack Transmission Time
1<T<2 sec
A
R
Data[0]
Data[1]
B
Ack[0]
Data[1]
T=2 sec
A
R
Ack[0]
T=2+sec
A
Data[4]
Ack[0]
R
B
Ack[1]
B
Ack[1]
Solution Ctd.
Ignoring Ack Transmission Time
Data[4]
T=3 sec
A
R
B
Ack[1]
T=3+sec
A
Data[5]
R
B
Data[4]
Buffered at B.
Ack[1]
B receives an out of order frame, it does not send an Ack.
At T=4 Timeout for Data[2] and Data[3]. A starts retransmitting them.
At T=4 sec Data[5] also arrives at B.
T=4
Data[3]
Data[2]
A
R
B
Data[4]
Data[5]
Buffered at B.
Solution Ctd.
Ignoring Ack Transmission Time
Data[2]
T=4+sec
Data[3]
A
R
B
Data[4]
Data[5]
Buffered at B.
At T=4+sec, R has started transmitting Data[2] while Data[3] is enqueued.
4<T<5 sec
A
Data[3]
R
Data[2]
B
Data[4]
Data[5]
Buffered at B.
28
Solution Ctd.
Data[3]
T=5+sec
5<T<6 sec
A
A
Data[2] Data[4]
Data[5]
B
Buffered at B.
R
R
Data[3]
Data[2]
B
Ack[2]
Data[4]
Data[5]
Buffered at B.
B received Data[2] which was in-order, so it sends an Ack[2].
T=6 sec
A
R
Ack[2]
Data[3] Data[4]
Data[5]
B
Buffered at B.
B receives Data[3] and can send a Cumulative Ack for Data[3],Data[4] and Data[5]
29
Solution Ctd.
T=6+sec
Data[6]
A
R
Ack[2]
6<T<7 sec
A
B
Cumulative
R
Data[6]
Cumulative
T=7+sec
A
Cumulative
Data[9]
Data[8]
Ack[5]
R
Ack[5]
B
Ack[5]
Data[7]
Data[6]
B
Ack[6]
Problem#5: Description
Suppose we run:
 A sliding Window Protocol (or algorithm)
 With SWS=5, RWS=3
 And no out of order arrivals
31
Problem#5 : Questions?
a) What is the smallest value for MaxSeqNum?
Hint: Assume that it suffices to find the smallest
MaxSeqNum such that if Data[MaxSeqNum] is in the
receive window, Data[0] can no longer arrive.
b) Give an example showing that MaxSeqNum-1 is
not sufficient.
c) State a general rule for the minimum
MaxSeqNum in terms of SWS and RWS.
32
Part (a) Solution
 The smallest working value for
MaxSeqNum is SWS+RWS= 5 +3 =8.
 The earliest possible receive window is Data[6],
Data[7], Data[8].
 Data[5] was delivered and Acknowledged.
 Since SWS=5, all Data[0]s were sent before
Data[5] and by the “no out of order” hypothesis,
Data[0] can no longer arrive.
33
Part (b) Solution
MaxSeqNum-1=7 is not enough because:
 When the receiver is expecting Data[7], an old Data[0]
can still arrive.
 0 and 7 are indistinguishable in mod (MaxSeqNum-1) so
receiver can not tell which one has arrived.
 Consider this example:
 Sender sends Data[0] through Data[4] and they all arrive
so receiver sends Ack[4] but it’s slow.
 The receive window is now Data[5],Data[6] and Data[7].
 Sender times out and retransmits Data[0].
 Receiver accepts it as Data[7].

34
Part (c) Solution
 A general rule for minimum MaxSeqNum
in terms of SWS and RWS:
MaxSeqNum >= SWS+ RWS
35
Problem#6: Description
Suppose we run:

A sliding Window Protocol (or algorithm)

With SWS=RWS=3

And no out of order arrivals

And infinite-precision sequence numbers
36
Problem#6 : Questions?
a) If Data[6] is in the receive window, Data[0] (or
in general any older data) can no longer arrive
(hence that MaxSeqNum = 6 would have
sufficed).
b) Show that if Ack[6] may be sent ( or more
literally, that DATA[5] is in the sending window)
then ACK[2] (or earlier) cannot be received.
37
Problem #6: Hints




Reminder: Let ACK[N] denote the acknowledgment of all data
packets less than N.
Note that data below the sending window (that is, <LAR) is
never sent again.
Hence – because out-of-order arrival is disallowed – if
DATA[N] arrives at the receiver then nothing at or before
DATA[N-3] can arrive later.
Similarly for ACKs, if ACK[N] arrives then (because ACKs are
cumulative) no ACK before ACK[N] can arrive later.
38
Part (a) Solution

If DATA[6] is in the receive window, then
the earliest that window can be is
DATA[4]-DATA[6].

This implies ACK[4] was sent, thus
DATA[1]-DATA[3] were received, and thus
DATA[0] can no longer arrive.
39
Part (b) Solution

If ACK[6] may be sent, then the lowest the
sending window can be is
DATA[3]...DATA[5].

This means that ACK[3] must have been
received.

Once an ACK is received, no smaller ACK can
ever be received later.
40
Problem#7
Design a sliding window ARQ protocol for:
A 1Mbps point-to-point link to the moon
With a one-way latency of 1.25sec
And a frame size of 1KB
Minimum number of bits needed for the sequence number?
Solution:
RTT=2 × 1.25sec=2.5 sec BW=1Mbps=125 KBps
Window size=BW × RTT=125KB/sec × 2.5 sec=312 KB or 312
frames
Sequence number space= 2 × window size= 2 × 312=624
bits required for sequence number space= log2 624=9.285 ~10 bits
41