Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

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)

...