an essay

A Few Words About Pushing Data

aka "The truth about kilobytes, megabytes, bandwidth and download times."

Bandwidth is generally listed in terms of kilobits per second, or kbps. But filesizes are generally listed in terms of kilobytes, or KB. Behold, there is great confusion in the land!

This is a quick tipsheet I wrote up last year when thinking about streaming media delivery -- an over-hyped technology that isn't really suited to the internet...

Bits vs. Kilobytes

There are two secrets to successfully determining how much information you can move over a particular connection:
A byte is 8 bits, and a kilobyte is 1024 bytes.
Also good to know, a megabyte (MB) is 1024 KB, and a gigabyte (GB) is 1024 MB. See the pattern?

Using the above knowledge, we can show that a 56kbps modem, should such a thing actually exist, would be able to download 7KB/sec. A 128kbps DSL connection could handle 16KB per second, and super-duper 1.5Mbps DSL could download 192KB in that same second. This assumes that all the packets are arriving with no delay and little overhead, of course. Your bandwidth will vary.

For a definitive calculation, try Martindale's 'The Reference Desk': Download Time Calculator

How Much Audio Can I Broadcast?

For anyone considering audio broadcasts (Internet Radio much?), FM-quality is generally considered to be acheivable at around 128kbps, or 16KB per second of mp3 or ogg data.

At that rate, for each listener, you will be sending:
  • 960KB per minute
  • 56.25MB per hour
  • 1.32GB per day
  • 40GB per month
You can fit a whopping 12 such FM-quality streams into a 1.5Mbps connection.

What About Video?

If you're not such a stickler for quality, you can find room in that same 128kbps stream for full-screen video at 15 frames per second (half of the standard 30fps) and AM-quality audio. Not such a bad tradeoff, really, unless you like things like stereo sound and fast action.

Only 12 Streams on a T1?

And that's pushing it. What kind of server and connection will you need to scale to thousands of connections? Millions? The infrastructure for this kind of thing gets cheaper every month, but the internet is not to be confused with a broadcast medium. You take a hit for every additional member of your audience.

There are two ways around this scalability problem: peer-to-peer filesharing and IPv6 Multicast. Of those solutions, only P2P is near-term realistic, because the bandwidth gets spread around the entire internet using existing technology. The more popular any given bit of content is, the more places it will be hosted. This is the theory behind the Open Content Network and BitTorrent, both of which are worth keeping an eye on.

By Chris Snyder on March 25, 2003 at 11:07pm

jump to top