# Page History

## Key

• This line was removed.
• Formatting was changed.
Comment: Reverted from v. 10

...

An improved form of the above formula that takes into account the TCP initial retransmit timer and the Maximum TCP window size, and is generally more accurate for larger (> 2%) packet losses, can be found in: . The formula is given below (derived from eqn 31 of Padhye et. al.):.

if w(p) < wmax

Wiki Markup
```Rate = MSS * \[\(\(1-p\)/p\) +  w\(p\) + Q\{p,w\{p\}\}/\(1-p\)\] /
\(RTT * \[\(w\{p\}+1\)\]+\(Q\{p,w\{p\}\}*G\{p\}*T0\)/\(1-p\)\) ```

otherwise:

Wiki Markup
```Rate = MSS * \[\(\(1-p\)/p\)+ wmax+Q\{p,wmax\}/\(1-p\)\] /
\(RTT * \[0.25*wmax+\(\(1-p\)/\(p*wmax\)+2\)\] + \(Q\{p,wmax\}*G\{p\}*T0\)/\(1-p\)]\) ```

Where:

We have assumed the number of packets acknowledged by a received ACK is 2 (this is b in the Padhye et. al. formula 31)
wmax is the maximum congestion window size
w{p} = (2/3)(1 + sqrt{3*((1-p)/p) + 1} from eqn. 13 of Padhye et. al. substituting b=2

Wiki Markup
```Q\{p,w\} = min\{1,\[\(1-\(1-p\)3\)*\(1+\(1-p\)3\)*\(1-\(1-p\)\(w-3\)\)\] /
\[\(1-\(1-p\)w\)\]\} ```

G{p} = 1+p+2*p2+4*p3+8*p4+16*p5+32*p6 from eqn 28 of Padhye et. al.
T0 = Initial retransmit timeout (typically this is suggested by RFCs 793 and 1123 to be 3 seconds).
Wmax = Maximum TCP window size (typical default for Solaris 2.6 is 8192 bytes)

...

Deprecating the TCP Macroscopic ModelM. Mathis, J. Mahdavi, in Computer Communications Review, 49(5), October 2019

Main.TobyRodwell - 12 Aug 2006
– Simon Leinen—14 Oct 2019