Anda di halaman 1dari 2

Class Notes for CS5229 Lecture 4

Semester 1, 2008/09

1 Introduction period, the α-th packet is lost, where


1
The major differences in the derivation between this class α=
and Padhye’s [Padhye et al. 1998] are: p
If W is the congestion window at the time α is sent, we
• I am using average values in the derivation. This is not can send W −1 more packets after packet α, before triple du-
rigorous, but we are building an approximation model plicates are received. Therefore, the total number of packets
anyway, and the approximated value will be accurate sent during a triple-duplicate period, Y , is
enough if the variance of these random variables are
small. This is a common technique use in performance Y =W −1+α
modeling. 1−p
=W+ (1)
• I assume that p is small and therefore in several places p
I am ignoring terms pk when k > 1. Furthermore, the Let X be the round number for packet α. The window
term pk for k < 0 is large and dominates other constant size at the beginning of a triple-duplicate round is W/2, and
terms. We will ignore the constant terms in this case. at round X is W . Each round increases the window size by
1. Therefore,
• I assume that TCP increases its window for every seg-
ment acknowledged instead of for every acknowledg- W
W = +X
ment segments received (i.e., the parameter b in the 2
paper is going to be 1 for this lecture). W
X= (2)
2
2 Table of Notations Chen et. al. [Chen et al. 2006] pointed out that W should
be W/2 + X − 1. But we stick to the Padhye’s version here.
B throughput of the connection Furthermore, let β be the number of packets sent in the
Y number of packets sent in a triple-duplicate last round. Assuming that the number of packets sent in the
period last round is uniformly distributed between 1 and W , then
A duration of a triple duplicate period W
p probability that a packet is lost given that it β=
is the first packet in a round or the preceding 2
packet in its round is not lost If we sum up the number of packets sent in each round,
α the first packet lost in a triple-duplicate we get Y .
period (we order packets sent in a triple- k=X−1
X „W «
duplicate period as 1, 2, 3, ... Y =β+ +k
β number of packets sent in the last round 2
k=0
W the window size at the end of a triple- „ «
duplicate period (i.e., the window size when X W
=β+ +W −1
packet α is sent). 2 2
X the round where the packet is lost
„ «
W W W
Q probability that a loss indication ending a = + +W −1
2 4 2
triple duplicate period is a timeout
R number of packets sent during the timeout 3W 2 W
= + (3)
period 8 4
TO
Z duration of a timeout period From Equations (1) and (3), we get
TO value of the timeout timer
1−p 3W 2 W
W+ = +
p 8 4
3 Triple-Duplicate ACKs Only
3 2 3 1−p
W − W− =0
We begin by considering only packet losses signaled by a 8 4 p
triple duplicate ACKs. We call the period between two 3pW 2 − 6pW − 8(1 − p) = 0
consecutive triple duplicate events as a triple-duplicate pe- p
riod. Each period consists of a series of round. A round 36p2 − 96p(1 − p)
6p +
W =
starts with the back-to-back transmissions of one congestion- 6p
window worth of packets, and ends with the receipt of the s „ «
first ACK for these packets. 8 1
W =1+ 1+ −1
We assume that if a packet is lost, then the following 3 p
packets in the same round are lost as well. Assuming that r
such loss events are evenly distributed, then packet lost oc- 8
W ≈ (4)
curs on average every 1/p packet. In each triple-duplicate 3p
Packet α is lost in the penultimate (second before last) backs off the retransmission timer (i.e., doubles its value) for
round, therefore there are a total of X + 1 rounds in a triple- every consecutive timeout, the expected duration is approx-
duplicate period, and imately

A = (X + 1)RT T Z T O ≈ TO (1 + 2p)
„ «
W
= + 1 RT T We can now approximate the throughput considering both
2 timeout and triple duplicates.
„ r «
3 2 5
= + − RT T Y + QR
2 3p 12 B=
r A + QZ T O
2 3
≈ RT T (5) Y + min(1, W )(1 + p)
3p = 3
A + min(1, W )T0 (1 + 2p)
The throughput can be computed as q q
1
p
+ 3p 8
+ min(1, 3 3p 8
)(1 + p)
Y =
B=
q q
A RT T 3p 2
+ min(1, 3 3p 8
)TO (1 + 2p)
1−p
p
+W q q
= 1 + 8p 3
+ min(1, 3 3p 8
)p(1 + p)
A = q q
q
1 8 2p 3p
p
+ 3p RT T 3
+ min(1, 3 8 )TO p(1 + 2p)
≈ q
2 1
3p
RT T ≈ q q
2p 3p
r RT T 3
+ min(1, 3 8
)TO p(1 + 2p)
1 3
≈ (6)
RT T 2p
5 Impact of Window Limitation
4 Triple Duplicate ACKs and Timeouts Suppose the receiver advertises a maximum buffer size
Wmax , then the sender’s congestion window cannot grow be-
yond Wmax . Suppose the window can grow to Wmax without
Consider the penultimate round in a triple duplicate pe-
causing any packet loss, then the throughput will simply be
riod. W packets are sent. If W > k and only k (k < 3)
Wmax /RT T .
packets are ACKed, then we have a timeout. Let A(W, k)
Putting the equations together, we have a complete
be the probability that the first k packets are ACKed given
model:
that there is a sequence of one or more losses, then,
0 1
(1 − p)k p Wmax 1
A(W, k) = B ≈ min @ , q q A
1 − (1 − p)W RT T RT T 2p + min(1, 3 3p )T p(1 + 2p)
3 8 O
(1 − kp)p (8)

Wp
1 The original Padhye’s equation is

W 0 1
W max 1
Other possibilities that lead to timeout exist but we as- B ≈ min @ , q q A
sume that they are rare and ignore them in this approxima- RT T RT T 2p + min(1, 3 3p )T p(1 + 32p2 )
3 8 O
tion.
We can now estimate the probability of timeout as follows. I do not know where the term (1 + 32p2 ) comes from.

1 if W ≤ 3
Q= P2

k=0 A(W,
«
k) otherwise References
3
= min 1, (7) Chen, Z., Bu, T., Ammar, M., and Towsley, D. 2006.
W Comments on “Modeling TCP Reno performance: a sim-
Assume that one packet is sent during one timeout se- ple model and its empirical validation”. IEEE/ACM
quence. The number of packets sent during the timeout Trans. on Networking 14, 2, 451–453.
period would be the same as the number of timeouts. If Padhye, J., Firoiu, V., Towsley, D., and Kurose, J.
the packet retransmitted after a timeout period is lost (with 1998. Modeling TCP throughput: a simple model and its
probability p), we get another timeout. The expected num- empirical validation. SIGCOMM Comput. Commun. Rev.
ber of timeout R, is 28, 4, 303–314.
R = 1 + p + p2 + ...
≈1+p

The probability of more than two consecutive timeouts is


too small to be considered here. Since TCP exponentially