Prerequisite – EIGRP
As Enhanced Interior Gateway Routing Protocol (EIGRP) is a hybrid vector routing protocol as it contains features of both distance vector routing protocol and link-state routing protocol. It is a network layer protocol which uses protocol number 88.
Cost Calculation –
Composite matrix is used to calculate the cost and also used for neighbourship discovery purpose. It has values:
As only bandwidth and delay is used to calculate the cost. The formula used for cost calculation is:
EIGRP Metric = 256*((K1*Bandwidth) + (K2*Bandwidth)/(256-Load) + K3*Delay)*(K5/(Reliability + K4)))
As values of K1 and K3 are set to 1, and K2, K4 and K5 are set to 0. Therefore the formula becomes:
Metric = 256*( Bandwidth +Sum of all Delay)
Where the bandwidth = (10^7/least bandwidth) and
Delay = (sum of all delays /10)
The bandwidth is the lowest bandwidth between the source and destination and the delay is the cumulative interface delay along a path between source and destination.
Some important terms are:
- Advertised or reported distance: It is the distance given by the neighbouring router to reach the destination network.
- feasible distance: Best metric among all path to a network. It is calculated by adding the advertised/reported distance advertised by the neighbor and the cost calculated by that current router to reach the neighbor.
- successor: It is the (lowest) best path to reach to any specific destination network. These are stored in routing table.
- feasible successor: It is defined as the path whose advertised distance is less than the feasible distance of the current successor. These are stored in topology table.
- routing table: It contains current successor routes to the remote networks. It is stored in RAM. The best routes are copied from the topology table to the routing table .
- neighbour table: It contains the information of EIGRP neighbor like IP address, interface, queue count, retransmit interval etc.
- topology table: This table contains all the destination network advertised by neighbouring routers. It contains both successor and feasible successor routes but only successor routes are copied to the routing table. If in case successor route goes down then feasible successor is selected from the topology table to reach that network.
Reliable Transport Protocol –
EIGRP uses RTP for the exchange of EIGRP messages between the neighboring EIGRP routers. EIGRP sends multicast messages at 126.96.36.199. The list is built and maintained of which neighbors have acknowledged the messages. In case, if the neighbor doesn’t acknowledge the message then messages are unicast to the neighboring router 16 times. If there is no reply even after the unicast messages then the neighbor is declared dead. This is known as a reliable multicast.
Diffusing Update Algorithm (DUAL) –
DUAL maintains several metrics about the paths, including the successor, feasible distance, feasible successor, reported distance and feasible condition.DUAL is used to prevent routing loops by continuously computation the routes. It finds the shorter loop-free path from the router to a destination network. There are 2 scenarios in DUAL:
- When the successor path goes down, the router will search for a feasible successor. If a feasible successor is present then it is used
- When there are no feasible successors but there are neighbors advertising the destination, a recomputation must occur(query message is multicast). This is the process where a new successor is determined. The amount of time it takes to recompute the route affects the convergence time.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Improved By : shubham_singh