I have an internet connection that provides a bandwidth of 256 kbps. However, when I download a file, the downloading software displays numbers like 30 kbps, 40 kbp etc. and keeps changing. I have never seen it showing 256 kbps. What I want to know is that even though I have a connection which has 256 kbps bandwidth, when somthing is being download it doesn't use the full 256 kbps bandwidth. I want to know what do the numbers 30 kbps, 40 kbps indicate ? Do they indicate speed. Please help me to understand this.
migrated from serverfault.com Dec 31 '09 at 15:40
The distinction here is bits per second and bytes per second.
Your internet connection speed is 256 kbps (note the small 'b'), which is 256 kilo bits per second.
There are 8 bits in a byte, which is how most applications will report how they're downloading. So 256 kbps is equivalent to 256 / 8 kBps which is kilobytes per second which is 32 kBps. In this case, note the large B to denote BYTES.
Your internet connection of 256 kbps is raw bandwidth. Every time you make a connection, there is supplemental information sent and received. These are generally protocol specific headers / additional information (e.g. TCP headers / HTTP headers) and they add overhead to the overall communication reducing (normally only by a small amount, but still reducing) the total amount of bandwidth you have available for raw downloading of data.
The bandwidth is a measure of theoretical speed and is determined by the connection between you and the source of the download. ISPs are able to adjust the speed, for example 'throttling' it when you reach a maximum, per billing period.
Actual download speed will always be less than the theoretical limit.
Remember that the speed of a download depends just as much on the computer at the other end of the transfer. Download speed may vary as you watch because some of the connection is shared with other users.
The 'bps' figures are measurements of speed in units of bits per second, although care must be taken that Bytes per second is not meant (which would be 1/8th of the bps speed, since 8 bits = 1 byte). I think it's fair to say that ISPs will always quote 'bits per second' figures because they're bigger and look more impressive.
Phil's answer largely covers this. The reason for the changing speed is due to the way the TCP protocol implements congestion control, it's fine and expected for this to constantly change.