Equations

Impacts of delay on TCP throughput

The throughput of a single TCP session is not only constrained by the available bandwidth, but also by delay and packet loss rate. Any layer 2 error correction method needs to find the right balance between adding delay and accepting packet loss.

The Mathis formula gives an upper bound:

Max DATA throughput rate < (MSS/RTT)*(1 / sqrt(p))
  • MSS: maximum segment size
  • RTT: round trip time
  • p: packet loss rate

RfC 3819, Section 8.5 gives a more accurate estimate:

                                         MSS
           BW = --------------------------------------------------------
                RTT*sqrt(1.33*p) + RTO*p*[1+32*p^2]*min[1,3*sqrt(.75*p)]

   where

           BW   is the maximum TCP throughout achievable by an
                individual TCP flow
           MSS  is the TCP segment size being used by the connection
           RTT  is the end-to-end round trip time of the TCP connection
           RTO  is the packet timeout (based on RTT)
           p    is the packet loss rate for the path
                (i.e., .01 if there is 1% packet loss)
To edit this page, submit a pull request to the Github repository.
RSS feed

Recent News & Articles

Jul 6, 2016 Wiki page
RRUL Chart Explanation
Jul 4, 2016 Wiki page
Getting SQM Running Right
Nov 19, 2015 Wiki page
CakeFAQ

Find us elsewhere

Bufferbloat Mailing Lists
#bufferbloat on Twitter
Google+ group
Archived Bufferbloat pages from the Wayback Machine

Sponsors

Comcast Research Innovation Fund
Nlnet Foundation
Shuttleworth Foundation
GoFundMe

Bufferbloat Related Projects

Congestion Control Blog
Lede Project (OpenWrt)
Flent Network Test Suite
Sqm-Scripts
The Cake shaper
AQMs in BSD
IETF AQM WG

Network Performance Related Resources


Jim Gettys' Blog - The chairman of the Fjord
Toke's Blog - Karlstad University's work on bloat
Voip Users Conference - Weekly Videoconference mostly about voip
Candelatech - A wifi testing company that "gets it".