3

I am wondering if a routing/forwarding table update at a switching node (e.x., a switch or layer-3 router) can cause momentary packet drop or increased delay for a data stream that will traverse this switching node. For example, given the following topology:

Sender -- S1 -- S2----S4 -- Receiver
            \        / 
             --- S3--

There is a constant data stream (e.x. TCP stream) flowing from the sender to the receiver. The routing/forwarding entry at S1 instructs S1 to forward the sender's packet to S2. Therefore, the path is sender->s1->s2->s4->receiver. However, let's say at one moment a routing table update command is issued at S1, telling S1 to now forward the sender's packet to S3 (so the new path will be sender->s1->s3->s4->receiver). Will this routing table update at that moment causes S1 or the network to drop some packets or delay the transmission? If so, how long will that roughly take?

My thought is that when the routing entry is overwritten, maybe that entry is locked from being read before the update is completed. Therefore, arriving packets may be waiting in the queue, which causes some delay. Also, if the queue is full, maybe the arriving packets will be dropped.

Thank you in advance!

2 Answers 2

3

Switches do not have routing tables; they use MAC address tables. An update of a MAC address table does not interrupt anything (remember that modern switching is done in hardware to give you wirespeed switching).

What can cause switching delays is a spanning tree convergence, and you will lose frames during that time as the interfaces between switches will be blocked for a short to long time, depending on the STP version used.

Updating a router's routing table will not delay routing as it will use the old route until the new route is installed. You may lose a few packets if the old route is broken. If a routing protocol is used to update the routing table, it could be very slow to very fast to replace a broken route, depending on the routing protocol used, or whether or not there is a backup static route.

5

This depends on how the route is updated. If this is a manual (by human hand) process of "no ip route" followed by "ip route", then there will be whole seconds where there's no route. If this is a programmatic route replacement, then it should only take milliseconds; unless these are very small packets on a very high rate line, the update will likely happen between packets, but worst case a few packets are lost. (TCP will handle it.)

If this is an Equal Cost Multi-Path route (ECMP), then both paths are always in the table and one or the other is selected. At no point is there no route, so nothing is ever dropped.

1
  • It doesn't even require equal cost multiple routes - you could add another route and it would take over either right away, if its prefix is longer or the cost is lower, or when the old route is removed. Either way, there's no packet loss and redirection is seamless.
    – Zac67
    Feb 18, 2022 at 20:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.