Earlier quoted context omitted.
In the US it’s also not uncommon for connections to be not only asymmetrical, but downright lopsided. Comcast sells “gigabit” in my area that’s 1.2Gbps down but only like 20Mbps up which is just silly. Thankfully a competitor offers true gigabit for about the same price, and so that’s what I subscribe to.
Can you even achieve 1200 down with only 20 up? Is it enough bandwidth to send all the ACKs back and get full speed down?
However, you only need to send an ACK when the TCP window is full, not for every incoming packet. If the TCP window is set at 64k, for example, and assuming an MSS of 1460, then you can receive a total of ~66K bytes for each ACK you send ((64k/1460)*1500, assuming the provider counts every byte in every packet, not just the TCP payload). The window size can actually scale much higher though, up to 1GB. So, in principle, yes, you can comfortably get this much download speed with only this much upload speed.
Of course, this would only apply for downloading huge files with a very efficient implementation. If you are using HTTP to download lots of small resources, your uplink would be saturated with GETs far before you saturate your downlink.