Control Ingress (incoming) bandwidth... with Bittorrent and others

I wanted to download a file, but we just got this awesome high speed fiber optic internet... and it's billed at the 95th percentile, meaning that if I download for too long, I'll cause our internet bill to shoot up. Solution: bittorrent. utorrent has a feature that lets you set the upload and download speeds.

Bittorrent can regulate speeds because it's based around requesting blocks of data. If the download goes too fast, bittorrent can just request blocks less often.

Our current speed is 5Mbps (megabits per second - the little b). I need to convert that to KBps or kilobytes per second (the big b). Since bandwidth is the sum of up and down traffic, I have to choose a download and upload speed to total a bit less than 5. I just set it to 200KBps down and 100KBps up. The up never really goes high. Here's a conversion table.

1 megabit per second = 128 kilobytes per second
2 Mbps = 256 KBps
4 Mbps = 496 KBps
5 Mbps = 512 KBps

I can handle waiting. There's not that much difference between a 5 minute download and a 30 minute download. The speed only matters at the tails, when I might wait for the download: the 30 second download versus the 3 minute download, and the 1 hour download versus the 6 hour download... Once the download takes longer than the workday, it might as well take 18 hours. Between 1 minute and an hour or two, it's all the same to me - I have to work on something else instead of waiting, and that task will take at least 15 minute.

Other Programs

One other program I use with bandwidth control is rsync. You can really crank the speed down on that, and it helps to keep the network responsive during backups.

The popular Dropbox application also had bandwidth limiting. It's set in the system tray icon.

FTP programs usually have some bandwidth capping features. The problem is, you can't really control download speed too well.

A weird solution

One possible weird solution is to operate a remote proxy out on the internet. The proxy can slow down delivery of data for you. It's called delay pools.

Here's an idea: set rules in your firewall to use the proxy at night, when speed doesn't matter. Your 8-hour work day will consume 160 of 720 hours per month, or 22% of the time. Your goal is to reduce the bandwidth use of the other 88% down to well below your subscribed speed, so it won't get counted as part of the 95%ile. Then, to avoid touching the 95th%ile, you need to keep the traffic below your bandwidth limit for 124 hours a month during business hours. You can burst the other 36 hours. Unless you're watching videos all the time, that's not too difficult.

The key to fixing this issue is probably to slow down Windows Update. Use WSUS on the network to push out updates. According to a lot of people complaining about WSUS, it's very slow at dowloading updates.

Spam filtering

Typical offices get 50% or more of their mail in spam. If you filter this outside of the network, you can avoid putting the email onto your network.