My network is subscribed to a 16 Mbps cap. So if I download a file from let's say Facebook, does the ISP download the file from Facebook at a different speed then sends it to my network at 16 Mbps? Or does the ISP download the file from Facebook at 16 Mbps then sends it to my network at the same speed? A simple diagram that could express my confusion:

my network <-- 16 Mbps transfer -- ISP <-- ??? -- Facebook

As for upload, I'm also confused as to which part of the networking process the limit is enforced.

  • Did any answer help you? If so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you can provide and accept your own answer.
    – Ron Maupin
    Feb 19, 2018 at 17:56

3 Answers 3


The ISP does not cache your file for you. Things just "arrange themselves" in such a way that bits don't reach you faster than 16 Mbps.

When the TCP session between your computer and facebook.com first starts off, the facebook.com server's TCP implementation will try to send data as "aggressively" as possible. At some point your ISP's router will realize that if it transmits the next packet from facebook.com towards you, it would exceed your 16 Mbps plan limit, and so the router simply drops that particular packet. The two end points will then realize that one packet went missing, and the server will respond by retransmitting that packet and also slowing itself down to not be as aggressive as it was. Eventually things settle down to a point where the data transfer between your computer and facebook.com will not exceed 16 Mbps (of course assuming nothing else is using your ISP link).

Look for "TCP Sliding Window" for a more in-depth explanation.


The ISP doesn't download the file at all. You do. The ISP just transmits the data to you. Very likely, the data transfer from {wherever} to your ISP is faster than 16 Mbit/s, some packets are queued and transfered to you at 16 Mbit/s. Your browser ACKs the received packets which makes the server send more.


The speed of transmission is a process that happens between the sender (facebook) and the receiver (your PC).

Depending on transfer method the scenarios will be a bit different but the gist is the same.

The network devices (routers, switches and so on) will transfer the packets as fast as possible.

If a congestion or another cause that drops packages in between the sender and the receiver there are mechanisms where the receiving part will inform the sending part to slow down and to re-transmit the lost package.

  • Only true for certain protocols. TCP, as an example, can dynamically manage bandwidth based on resizing transmission window sizes. Applications using other protocols (ex: streaming media over UDP) will tend to send at a fixed rate regardless of any kind of congestion or packet loss conditions.
    – rnxrx
    Aug 27, 2017 at 17:20
  • Well UDP streaming is outside the scoope of the question.
    – MatsK
    Aug 27, 2017 at 17:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.