DUAL route FSM Processing of EIGRP Queries

This blog is a part of series of posts about EIGRP routing protocol. Let’s recall that EIGRP is one of the so called IGP routing protocols. IGP stands for interior routing protocols as opposed to EGP or exterior routing protocols. In addition EIGRP is a hybrid as it borrows some similiarities to distance-vector and link-state type of routing processing by protocols such as: RIP and OSPF.

In this post we explore how DUAL (diffusing update algorithm) route FSM (finite state machine) works. DUAL is the way EIGRP helps keep routing information consistent among all routers belonging to the same domain.

DUAL route FSM into play

Fig. 1: EIGRP route FSM

An interesting case of how DUAL route FSM operates is presented next. We see in the next figure that the FSM is a 5 states: one passive and four active states, and almost 12 events kind of pseudo code or algorithm. the R and O are reply status and origin of a route.

First let’s note that an EIGRP router send a Query to its neighbor to find a better route to a destination that has passed from Passive (working state) to Active (not working any more) state; that is actively searching for a new feasible route to a destination that no more satisfies the Feasibility Condition (to be installed in the effective routing table or validated for adverstisment to other neighbors).

at first

After EIGRP packet generic input processing (to validate the packet), a router that receives a Query message checks if the corresponding route is Passive (working state) or Active (in its database in a non working, routing state).

router is passive for the route

If router is Passive for this route and a neighbor has reported (kind of reply to a query) an unreachable metric, by means of 0xffffffff put in the field corresponding to the cumulative Delay part of Metric, a reply is sent immediately to this neighbor hinting him to consider rather information contained in Reply message (with its information).

If metric is not UNreachable, then the router considers checking FC (the feasibility) condition by adding Query information to its computation. If FC condition is still met, it replies to its neighbor with this received information (meaning that the router is on the best route from the neighbor to the destination).

router is active for the route

If Not (the router is not on the best route), it put its own prefix in Active (not working or routing) state. Further, it sends a Reply to its neighbor if he does not correspond to the current Successor (kind of a split horizon rule). If the Query was received from the Successor (representing the best route), only the Query Origin code is set to 3 in FSM (event IE2). Otherwise, it is set to 1 (FSM event IE3).

If router is Active for this route upon reception of the Query message, then it changes the current route Query Origin code to corresond to 2 (FSM event IE10), if the message was received from the Successor. Otherwise, it sends a Reply to this neighbor.

in general

It is interesting to see that whenever the router considers it has a better route to a destination it replies to its neighbor. If it considers that it may not have the best route, route is passed to Active state and it replies back to the neighbor provided that it’s not the current route Successor (the one presenting the best route cost calculation to the target network).

atlink'admin

Learn More →

One thought on “DUAL route FSM Processing of EIGRP Queries

  1. atlink'admin March 31, 2017 at 1:16 pm

    test

Leave a Reply

Table of Contents