In this post: A detailed, step-by-step guide demonstrating the steps I use to solve a problem similar to one encountered in my CS 372 Intro to Networking class. Yeah, I’m still cranky that this class makes no effort to teach this stuff. They just send you a-Googlin’. Welcome, Googlers…
Suppose there are 3 routers in sequence between Host A and Host B, all of which use store-and-forward routing. What is the total end-to-end delay for a packet originating from Host A with destination Host B, under the following conditions.
- Each of the link transmission rates are 5.1 Mbps
- The total distance from Host A to Host B along its path of transmission is 175.1 km
- The speed of propagation through the transmission medium is is 2.7 x 108 m/s
- The packet size is 2 KiB
Remember that you must also uplink from Host A to the first router. Suppose this one wants the answer in milliseconds rounded to 1 decimal place.
Step 1: Figure out the transmission delay for one link
The “twist” of this problem is that there are multiple transmission delays to account for. Every “hop” incurs a transmission delay.
We can use the L/R formula with the known packet size (2 KiB and known transmission rate (5.1 Mbps) to calculate the transmission delay for one node to another. Node here means host or router. Be sure to convert both into bits.
(2 KiB * 8192) / (5.1 Mbps * 10^6) = 16,384/5,100,000 = 0.00321254... seconds
Remember that the units R is in determines the outcome, so this result is in seconds. Multiply it by 1000 to turn it into milliseconds and save this result for later.
0.00321254 x 1000 = 3.21254901... milliseconds
Step 2: Figure out the entire path’s transmission delay
Recall that our three routers and two hosts basically look like this:
We know the transmission delay (the time it takes for a bit to be placed on the transmission medium) at one host or router, and we know how many routers there are total, so we can figure out how many “transmission delays” our bits will go through by multiplying the total number of routers plus one (to account for being placed on the transmission medium by A) by the transmission delay we calculated in step 1.
(R + 1) * 3.21254901 // R is the number of routers = (3 + 1) * 3.21254901 // add 1 to account for initial link = 4 * 3.21254901 = 12.85019604 milliseconds
This number represents the total amount of transmission delay experienced by bits traversing this multi-router path.
Step 3: Figure out the propagation delay
Recall that our distance is 175.1 km and our speed of propagation is 2.7 x 108 m/s and the propagation delay formula is Tprop = d/s. Note that km has to be turned into meters and the result will be in seconds.
= (175.1 * 1000) / (2.7 x 108 m/s) = 0.0006485185... seconds
0.0006485185... seconds x 1000 = 0.64851 milliseconds
Step 4: Add total trans. delay + propagation delay
12.85019604 + 0.64851 = 13.49870604 milliseconds
And that’s it, you’re done! Hope you found this helpful!
4 thoughts on “Networking – how to solve the “routers in a sequence” problem”
Thank you for this really clear step-by-step!
One question — it looks like in the final total the transmission delay of 3.12ms is added an additional time? Unless I read wrong the 3.12 ms is already accounted for in the total of 12.85 ms.
You are right, and I have updated the post. I even re-worked it with a different problems from my class notes to confirm.
Sorry about that, but thank you for helping make it better!
Hey thanks for posting this guide, it’s been super helpful with the summary exercises!
I was wondering why your final equation ended up being
(L/R) + 4(L/R) + (d/s)
I get 4(L/R) is the traversal time across the 3 routers + transmission time from A to first router and (d/s), but wasn’t sure why you added the first L/R.
I ended up using this formula in the summary questions and was off by that amount so just wanted to check!
Thanks in advance!
Hi Jed, I am so sorry – you are right. I dug up my notes from the class, worked it out again, and fixed the post.
Thank you for being my unwitting beta tester.