Given a link speed of c and a bandwidth of b, the one-way time T to transfer a packet of s length is:
size of packet / bandwidth + link distance / link speed
or to be short:
s / b + d / c
The math, you can do yourself!
Why does this formula give you the time needed to transmit? The whole thing is explainable as:
- The first part is the time needed to push all Bits onto the link. The link has a certain bandwidth (bits per second that can be pushed on it). You're dividing Bits through Bits/sec, which ultimately gives you seconds.
- The second part is the time needed to transfer the whole thing. The link distance is meters, divided by the speed in meters/sec, which again gives us seconds.
We can then just add both components and get the whole time.
Note: This formula is assuming that there is no constant routing delay, including the IP stack, and no variable queueing delay in the links, which you would have to simply add in more realistic calculations.