Consumer internet connections often feature asymmetrical bandwidth with just 10% of even 5% of upstream speed compared to downstream, for example 1000MBit/s downstream with 50MBit/s upstream speeds.

I know there are some tricks that reduce the number of ACK packets necessary to keep the download going. What is the minimum upstream bandwidth required to achieve full downstream speed on a TCP connection (in % of the downstream bandwidth) and why?

  • 1
    That depends on the TCP packet size (which is not fixed). An ACK package has 40 bytes. Assuming a typical packet size is 1500 bytes you can calculate 40/1500 = 0.0267 = 2.67%
    – Robert
    Jun 8, 2021 at 12:01
  • But you can get away with sending less than 1 ACK packet per TCP packet, can't you? @Robert
    – neuhaus
    Jun 8, 2021 at 12:22
  • 1
    RFC1122 says that for delayed TCP acknowledgement, you can send one ACK per two received packets. That would reduce @Robert's number by half.
    – mtak
    Jun 8, 2021 at 12:26
  • @mtak Interestingly you only have to send one ACK per 500ms according to that RFC.
    – neuhaus
    Jun 8, 2021 at 12:29


You must log in to answer this question.

Browse other questions tagged .