How do ISPs limit internet speed?
June 27, 2019 2:25 PM   Subscribe

If I have a 35 Mbps down / 5 up Internet connection, how does my ISP stop me at that rate instead of my devices eating up as much throughput as they can get?

IIRC TCP will ramp up and use as high a rate as it can get until it hits congestion and packets are dropped. So do ISPs just start dropping packets once your connection is saturated and let TCP limit the rate?
posted by Tehhund to Computers & Internet (4 answers total) 1 user marked this as a favorite
 
Best answer: Yeah, bandwidth limiting ultimately boils down to dropping packets, but where that happens can vary. The bottleneck might be in the physical connection between you and the ISP, or it might be deliberate throttling (aka bandwidth shaping) in the ISP's equipment, or it could be congestion on an outbound connection to another ISP. TCP responds to congestion-induced packet loss identically, no matter which hop of the network it happens on.

For example, if you have cable internet, the ISP assigns your modem a particular range of frequencies on a cable that's physically shared by multiple customers (similar to the way channels are assigned on the radio spectrum). The width of the channel defines a particular bit rate, which is generally less than the bandwidth of your LAN. If packets arrive on the modem's Ethernet interface more quickly than it can forward them over the cable connection, it'll be forced to drop them (once its buffers are full).

Originally, packet loss was the only way for networked devices to detect the end-to-end bandwidth between them and a remote device. This is less than ideal, because figuring out which packets were lost and retransmitting them adds extra overhead, latency, and complexity. There are some newer, more sophisticated approaches that can do a bit better, e.g. by having the receiver send back more detailed statistics about the rate it's receiving data to the sender (TCP BBR), or by having intermediate routers set bits in the packet headers to indicate when they're almost at the point of needing to drop packets (ECN).
posted by teraflop at 3:08 PM on June 27, 2019 [6 favorites]


Mostly sometimes all virutally, they give you a bucket and start dropping tokens into the bucket until it fills up and overflows. They only drop enough tokens for you to get 300 Mb/s worth of traffic, but if you don't use them the bucket fills up with some extra tokens up to a certain point. This lets you do bursts of over 300 Mb/s for a short while (draining the bucket faster than it's getting filled) but over the long term it's only going to get tokens at a rate that would give you 300 Mb/s.

The rest is as above, errors, congestion, out of tokens, etc. and the packet just gets dropped like a hot potato and it's up to TCP or some other higher level protocol to recover and re-send the packet.

So there's actual capacity that keeps you in check. Or there's just rate-limit of packets/bytes, and that rate limit is usually allocated like a bucket of tokens that fills up at a rate that you can spend until you run out and have to wait for the next token to drop.
posted by zengargoyle at 4:03 PM on June 27, 2019 [1 favorite]


If I have a 35 Mbps down / 5 up Internet connection, how does my ISP stop me at that rate instead of my devices eating up as much throughput as they can get?

If this is DSL, which it sounds like, the ISP doesn't have to do anything, the DSL link you're establishing is literally not capable of sending more data than that. It's like asking how gigabit ethernet stops you from sending 10 gigabits a second through it.

The actual mechanism that TCP/IP uses for this is as described above.

Aside from the DSL limits, it's pretty easy for a router to meter and/or limit how much bytes it routes between networks - they'd obviously be doing that from their end, so that you can't defeat it by using different equipment.
posted by aubilenon at 5:03 PM on June 27, 2019 [2 favorites]


For cable internet, the amount of bandwidth available also depends on the number of channels being used to carry data, and the cable company is able to configure the number of channels used for individual subscribers.
posted by Aleyn at 10:11 PM on June 27, 2019


« Older Birthday dinner (and other meals) for...   |   Fast internet and beautiful forests/mountains in... Newer »
This thread is closed to new comments.