I have tried to find the answer on how network throttling works e.g. by ISP when they limit your access to say 100 Mbps. As far as I know TCP/IP itself does not have any mechanisms for that, so it is probably something on top of the protocol that interferes with the packets.
My guess is that the packets received from the server are not sent directly to the client, but wait in some kind of throttling queue and the server does not send the next packet until the confirmation is received. I am not really a big expert on this, but would like to understand how this happens or maybe some good reference to how it works in simple terms, without too deep details (conceptual overview).
P.S. Not sure if throttling is protocol dependent, perhaps it's the same techniques that are used for others.