Monday, August 10, 2009

Comcast And The 250 Gigabyte Bandwidth Limit

Well, as many of you are probably aware, Comcast limits the monthly bandwidth of residential customers to 250 gigabytes per month. This is equivalent to downloading 28,500 minutes worth of CD music or 53 full-length DVD movies. Certainly sounds like a lot, but how much exactly is this limit? I did a bit of math to figure out how much continuous bandwidth usage you would need to use in order to break the bandwidth limit.

First of all, since connection speeds are typically rated in bits per second, we will use that as a metric. So, to start off, we figure out how many bits are in 250 gigabytes. One gigabyte is 1024 megabytes, 1 megabyte is 1024 kilobytes, and 1 kilobyte is 1024 bytes. After that, 1 byte is equal to 8 bits. So, we have:

250 gigabytes * 1024 = 256,000 megabytes,
256,000 megabytes * 1024 = 262,144,000 kilobytes,
262,144,000 kilobytes * 1024 = 26,843,546,000 bytes,
26,843,546,000 bytes * 8 = 2,147,483,648,000 bits

As you can see, we're dealing with some very large numbers. 250 gigabytes is just slightly over 2.1 trillion bits of data. That is a lot of data. If you tried to write out every bit, and take one second to write out each bit, it would take you over 68,000 years to finish the task. And an ordinary SATA-3.0 hard drive's interface could theoretically transmit all that data in just a little over 11 minutes.

Back to the main topic of discussion. How much bandwidth would you need to be using in order to go over that amount? Let's find out. There are anywhere between 28 to 31 days in a month, but for these calculations, we'll assume 30.4375 days, which is the average length of a month (including. So, we start as follows: 30.4375 days in a month, 24 hours in a day, 60 minutes in an hour, and 60 seconds in a minute (all figures rounded up into whole numbers):

2,147,483,648,000 bits / 30.5 = 70,553,8777,553 bits per day,
70,553,877,553 bits / 24 = 2,939,744,899 bits per hour,
2,939,744,899 bits / 60 = 48,995,749 bits per minute,
48,995,748 / 60 = 816,596 bits per second,
816,596 / 1024 = 798 kilobits per second

So, there you have it. In order to go over the bandwidth limit, you would need to be using 798 kilobits per second of bandwidth nonstop. If you have some program that is using bandwidth constantly when running, it's a good idea to limit its bandwidth to that amount. If you have another ISP, here's a good rule of thumb to follow: set the bandwidth limit (in kilobits) to three times what the montly bandwidth limit in gigabytes is. So if your ISP limits you to 250 gigabits per month, set it to 750 kilobits. If it's 150 gigabits per month, set it to 450 kilobits.