Understanding the Meaning of 2 Mbps Bandwidth

bandwidthethernetlatency

I read this article – https://rescomp.stanford.edu/~cheshire/rants/Latency.html
I have a 2 Mbps private link. This means that I can transfer at the rate of 2*10^6 bits per second ~= 250*10^3 bytes per second ~= 250 bytes per millisecond.

So if I have sent one packet of size 250 bytes, will the next packet, sent nearly simultaneously wait for the previous packet and thus incur the delay of 1 milliseconds. Consider me a newbie and help me out.

Best Answer

Well, every link transmits only either 0 or 1 at any specific moment. So if your router connected to 2Mbit/s link receives first 250 bytes packet, and assuming that it doesn't have anything at the moment to send, it will pass the 250 bytes into the interface driver, and then serialize it (meaning put 0s and 1s) onto a link.

The next packet, even if it's just milisecond later, will wait for the first packet to be transmitted. This may incur delay in sending (alone) of 1 milisecond, but that's just theory - in reality, there will be some additional, minimal delay depending on the way your router works.

Take a look here for additional writeup.

There are techniques to fight with serialization delay (take a look here), but in todays networks and with your 2Mbit/s link, you may find them unnecessary. You shouldn't have to use them, as even with 1500 bytes segments, with proper priority queue implementation, this link shouldn't incur delay that's visible for typical IP-based applications.