# [e2e] 10% packet loss stops TCP flow

Jon Crowcroft Jon.Crowcroft at cl.cam.ac.uk
Sat Feb 26 02:26:39 PST 2005

```naive steady state theory:

i) whats the link capacity - lets define capacity as the sustainable window, w
and without loss of generality, define RTT as 1.
ii) so we can workout the possibility of a timeout during a window - its basically
enough packets must be lost that fast recovery doesnt work - e.g. 3

possibility of 3 packets out of w are lost -
prob. of no packets being lost out of w is (1-p)^w
prob. of exactly 1 packets being lost out of w is p*(1-p)^(w-1)
prob. of exactly 2 packets being lost out of w is p^2*(1-p)^(w-2)
prob. of exactly 3 packets being lost out of w is p^2*(1-p)^(w-2)

prob. of _at least 3_ packets being lost - sum the series...leave as excercise....

naive incremental theory:

i) slow start
sends 1 packet, gets 1 ack,
sends 2 packet, gets 2 acks,
sends 4 packet, gets 4 acks
...
ii)
at this point, we have sent 14 packets - chances are something got lost if the loss rate is 10%

so with a loss rate greater than a _very small %age_, we never get out of slow start

QED.

practice -
1/
congestive losses at 10% would be basically unsustainable...i havnt seen that level since >15 years ago except
where ome link failures had forced a lot of traffic onto odd routes...
2/
for interference/noise based loss, you'd haev to look at wireless, and wide area, not 802.11:
some wide area wireless links might have a loss rate mean of 10% although that is pretty poor  -
generally link layer fec would prevent a level that bad....although other problems occur that limit throughput
(e.g. delay distribution  not having a single mean, or even a finite variance....
so tcp rtt estimation being blown away and causing false timeouts:)

so avoiding >a few % packet loss is a recommended link layer design choice if at all possible
(inter-planetary links might be a place wher its tricky:)

In missive <001901c51b77\$55a51eb0\$0a1aeb80 at snow>, Roy Xu typed:

>>This is a multi-part message in MIME format.
>>
>>--Boundary_(ID_TjX6gYk/qmMftKBZ5wcP9Q)
>>Content-type: text/plain; charset=gb2312
>>Content-transfer-encoding: 7BIT
>>
>>Hi all,
>>
>>it seems to be a common understanding that if a TCP flow experiences
>>10% or more packet loss, the flow stops (i.e., attains 0 or meaningless throughput)
>>
>>ns-2 simulations also seem to agree with this observation.
>>
>>my questions is what is the theoretical or analytical explanation for this observation?
>>