ASYNC Bandwidth (cable modem) Theoretical Speed Limit

jkeegan123
jkeegan123 used Ask the Experts™
on
With ASYNC Bandwidth (faster download than upload) Can UPLOAD LIMIT prevent you from reaching your maximum speed?

I'm thinking, since every packet in TCP (not UDP) needs to be acknowledged, if you were doing a fast HTTP/FTP download with a 100MB down / 5MB up circuit (common in my area), is it possible to actually download at 100MB if you cannot acknowledge faster than 5MB?
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Top Expert 2016

Commented:
I have 5.5MB/.5MB and frequently get > than 5.5MBytes download. my provider adds a little bit more just to not get a complaing..

try http://www.speedtest.net and checkspeedtest cable modem, friday 6pm -- not an ideal time to test

Author

Commented:
I use speed test all the time, and the results are usually what is posted, but I have a customer that has 200MB down and 5MB up .... that's a big difference and I wonder if they'll ever get 200MB.
Top Expert 2016

Commented:
oops wrong pic
Friady 6PM not a great time for a cable modem test
Top Expert 2016

Commented:
yes they will get it.. packets run at the speed of light.. and acks are tiny
Instructor
Top Expert 2015
Commented:
is it possible to actually download at 100MB if you cannot acknowledge faster than 5MB?
Yes.

It is possible that the upstream speed could be limiting, but that would be using some primitive scenarios where you are acknowledging very small blocks of data.

Let's use a 1,460 byte window size (which would be equal to a 1,518-byte ethernet frame).

The sender is cranking out no more than 8,234 frames per second (100m bits per second/8 = 12.5m bytes per second/1,518 = 8,234 frames per second).

Now if you consider that an acknowledgement is a minimum segment size which would work out to a 64-byte frame, that would be 512 bits per acknowledgement. Which means that with a 3mbp/s circuit, you could send 5,859 acknowledgements per second.  So in that situation, the sender would slowed down to about 71mbp/s... if we were talking about a 1,460byte window size. Which is possible, but more than likely your hosts will be using sliding windows to allow a window size much larger than that.

So now (for example), let's increase the window size to 4,000 bytes.

That means you only need to send almost a third as many acknowledgements. Which results is receiving three times as much data (210mbps with a 4k window).  If the window size is larger, you receive more data per acknowledgement.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial