Store-and-Forward Packet Switching Delays – Causes and Solutions

Networkpacket-pathrouterspeed

My question arose as i was reading Computer Networking a Top Down Approach . The author said the following regarding packet switching:

L = length of packet(bits)
R = transmission rate(bits/sec)

"To gain some insight into store-and-forward transmission, let’s now
calculate the amount of time that elapses from when the source begins
to send the packet until the destination has received the entire
packet. (Here we will ignore propagation delay—the time it takes for
the bits to travel across the wire at near the speed of light—which
will be discussed in Section 1.4.) The source begins to transmit at
time 0; at time L/R seconds, the source has transmitted the entire
packet, and the entire packet has been received and stored at the
router (since there is no propagation delay). At time L/R seconds,
since the router has just received the entire packet, it can begin to
transmit the packet onto the outbound link towards the destination; at
time 2L/R, the router has transmitted the entire packet, and the
entire packet has been received by the destination. Thus, the total
delay is 2L/R. If the switch instead forwarded bits as soon as they
arrive (without first receiving the entire packet), then the total
delay would be L/R since bits are not held up at the router."

But, I was confused when he said:

If the switch instead forwarded bits as soon as they
arrive (without first receiving the entire packet), then the total
delay would be L/R since bits are not held up at the router."

But, this does not click with me because if it takes 2L/R for one packet to go from the source PC to the destination PC with the router storing and forwarding packets, why would it take L/R if the router just forwarded the bits immediately without buffering an entire packet before transmitting it onto the outbound link? Considering we know that the two PCs are connected by a router with the first link connecting the source PC to the router and the second link connecting the router to the destination PC, and that both links transmit at R, should it not still take 2L/R amount of time regardless of buffering?

Best Answer

What this is trying to communicate is that as soon as a bit is received on one interface, it could be transmitted on the next interface.

Think of the packet as a snake, and the threshold of a door as the router. If the entire snake curls up on the threshold before crossing it, that is store and forward, and it will take the snake twice as long to get completely across the doorway as it would for the snake to simply slither straight across the doorway.

The length of the snake and its speed dictate how long it would take for the entire snake to enter the doorway by slithering straight across the door sill, but if it must get fully on the door sill first, then it will take twice as long.

Related Topic