# Meaning of 2 Mbps

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.

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.

Adding to Łukasz Bromirski's answer - it will also depend on the physical speed of your interface.

If your 2Mbps link is (say) an E1 serial link, then your maths holds up, however if you have an Ethernet connection that is rate-limited to 2Mbps, then you will actually be transmitting at the speed of the underlying physical interface (say 10/100/1000Mbps), and some form of statistical shaper/policer will kick-in once you've exceeded your allocated rate for that second.