Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Why is network throughput measured in KBits/sec? It seems like it would make more sense to have it in KBytes/sec. You'd avoid angry users, and save a lot of headache converting between the two. Is it just advertising, or what?

share|improve this question
up vote 12 down vote accepted

Most data communication is serial, one bit at a time. There are no bytes on the wire, a byte is a a parallel arrangement that exists inside a computer. It's the size of the ALU on old CPUs. On the wire you may have "octets", but no Bytes. So the speed on the wire is measured in bits per second, that's what you see there. That may be chunked into octets, but that is arbitrary.

share|improve this answer
While the bits are sent serially they still are sent a byte at a time, at least in an RS-232 serial connection that modems bridged over the phone line. The size of the byte though, was not fully standardized so it could be 6, 7, 8, or 9 bits, with an optional parity bit, a start bit, and 1 or 2 stop bits. Since the byte size and parity configuration affected your effective throughput in bytes per second, simply stating the raw speed in bits per second was simpler. – psusi Jun 15 '11 at 2:57

I think the distinction is simply because a byte wasn't always 8 bits. It used to be 6, in fact. The whole concept of a "byte" is arbitrary. Bits on the other hand, are literal. 8 bits are 8 bits.

In networking, many things aren't aligned on byte boundaries anyways, so it just doesn't make sense to use them in that context.

share|improve this answer

It's part of the tradition. The measurement unit predates computers. Back in the time when teleprinters were common, speed of transmission was expressed in bauds. The Bd were used to show number of symbols transmitted in a second.

When Internet access became available to masses, modems were used for connection and in early modems, 1 b/s was equal to 1 Bd. During this time, somehow bit became equal to baud and it stuck, even in systems where bit rate isn't same as baud rate (for example compression can be used to transfer more data with less symbols or redundancy can be used to transmit less data with more symbols if the signal is likely to get jammed).

On the other hand, this theory does not explain why this is used for other networking equipment.

share|improve this answer
baud === 'bits per second' or, at least, 'symbols per second'. I don't think baud(s) per second makes sense. – pavium Jun 15 '11 at 2:00
@pavium It most certainly does! How would you otherwise express the change in symbol transfer rate? Anyway, this is what I get when I'm writing answers in 4 in the morning... – AndrejaKo Jun 15 '11 at 2:13
I've never heard it used to describe a change in symbol transfer rate, but I will accede to your probably greater experience. Besides, I know what it's like to be (attempting to) answer questions at 4AM – pavium Jun 15 '11 at 2:51
Baud = symbols per second, not 1000 symbols per second. Hence why the 300 baud modem transferred 300 bits per second. After 9600 baud they started encoding multiple bits per symbol. – psusi Jun 15 '11 at 2:52

An easy way to think of it as in it's single units of information, pluses and minuses, a binary system sending 1's and 0's (bits). A byte isn't sent by itself down a cable, because it isn't the basic unit of information, the bit is. A bit is sent by either sending electrical pulses (like in coax), or by sending light pulses (fiber optic).

share|improve this answer

Probably a holdover when partial KBytes really mattered with network speed, i.e 14.4Kbits/sec sounds better than 1.8Kbytes/sec.

share|improve this answer

Bit interleaving during multiplexing means that the sequence of bits being sent serially over the medium might never form a byte. For that reason we can't measure in bytes.

What would you measure when the system is not fully loaded? A long sequence of idle zeroes is not a long sequence of bytes.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .