ASYNC Bandwidth (cable modem) Theoretical Speed Limit

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?
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

David Johnson, CD, MVPOwnerCommented:
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 and checkspeedtest cable modem, friday 6pm -- not an ideal time to test
jkeegan123Author 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.
David Johnson, CD, MVPOwnerCommented:
oops wrong pic
Friady 6PM not a great time for a cable modem test
David Johnson, CD, MVPOwnerCommented:
yes they will get it.. packets run at the speed of light.. and acks are tiny
Don JohnstonInstructorCommented:
is it possible to actually download at 100MB if you cannot acknowledge faster than 5MB?

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.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.