Enhanced Interior Gateway Routing Protocol (EIGRP) is a Cisco proprietary enhanced distance vector routing protocol, relying on the Diffused Update Algorithm (DUAL) to calculate the shortest path to a destination. It is similar to Interior Gateway Routing Protocol (IGRP) in calculating the metric, but has many improvements, such as fast convergence, incremental updates and support for the multiple network layer protocols IP, Internetwork Packet Exchange (IPX) and AppleTalk.
Protocol Type : Distance vector
Algorithm : For Best path selection uses Diffusing Update Algorithm (DUAL)
Specification : Eigrp is Cisco-proprietary
Protocols support : IPv4, IPv6, IPX, and AppleTalk
Transport protocol : IP/88
Maximum hop count : 255
Authentication : Only MD5
Multicast IP : 184.108.40.206
Internal route AD : 90
External route AD : 170
Summary route AD : 5
To enable EIGRP on a router, use the router eigrp command followed by the autonomous system number of your network and then specifies the network numbers connected to the router using the network command followed by the network number.
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router eigrp 100
Router(config-router)#network 10.1.1.0 0.0.0.255
On nexus OS first you will need to enable eigrp feature on then you can configure as shown below
N7K1(config)# feature eigrp
N7K1(config)# router eigrp 100
N7K1(config-router)# router-id 220.127.116.11
N7K1(config)# int e1/2
N7K1(config-if)# no switchport
N7K1(config-if)# ip router eigrp 100
Neighbors and adjacency:
Once eigrp configure on router, it attempt to find neighbors sending Hellos on multicast address 18.104.22.168.Once routers say hello to each other they become adjacent by verifying several conditions. There are following conditions must be met for neighborship establishment:
1) AS numbers 2) The source ip address of received hello is the primary subnets on that interface of router 3) Identical metrics (K values) 4) Authentication
Once router become adjacent, they exchange routing update message 1) Initially full updates are sent, including all updates. 2) Once all routes have been exchanged, update cease. Only partial updates send when one or more routes change. If neighbor fail and come up again full updates are send. Eigrp use RTP (Reliable transport protocol) to send multicast eigrp updates and wait for unicast ACK message from each neighbor on link.
EIGRP packet types:
Hello: hellos are multicast for neighbor discovery and recovery. Acks: Acknowledges receipt of an update. Acks are always sent using a unicast address. Updates: update packets are sent so the neighbor can build up its topology table. Queries: queries are used to ask neighbors whether they have a path to a route which was recently lost. Replies: replies are sent when destinations go into Active state. Replies are always sent in response to queries.
EIGRP convergence component:
Feasible distance - This is the best metric along all paths to a remote network. Reported distance - This is the metric of a remote network, as reported by a neighbor. It is the routing table metric of the neighbor. Successor - A successor route is the best route to a remote network. A successor route is used by EIGRP to forward traffic to a destination and is stored in the routing table. Feasible successor - The path that is not a successor but meets the feasibility condition. A feasible successor is a path whose reported distance is less than the feasible distance, and it is considered a backup route. Feasibility condition- when multiple paths to the same subnet exist, the case in which one routes AD is lower than FD.
Neighbor table - Each router keeps state information about adjacent neighbors. When router newly discovered neighbor is learned, the address and interface, Holdtime, Uptime, Sequence, Retransmission Timeout (RTO), Smooth Round Trip Time (SRTT), Queue count of the neighbor are recorded, and this information is held in the neighbor table.
Topology table - Topology table contains all the information required to construct the EIGRP routing table. The topology table acted upon by the Diffusing Update Algorithm (DUAL). It contains all destinations routes advertised by neighboring routers, holding each destination subnets and a list of neighbors that have advertised these destination subnets. For each neighbor, the advertised metric is recorded, which comes only from the neighbor’s routing table.
Hello and the hold time:
The default hold time is three times the hello interval. Default 5 Second hello and 15 hold time on: 1) Broadcast media 2) Point-to-point serial, point-to-point sub interface links 3) High bandwidth multipoint circuits (greater than T1 (1544Kbps)
Default 60 second hello and 180 hold time on 1) slow-speed NBMA link with speeds equal to or less than T1
Composite Metric= [K1*Bandwidth+ (K2*Bandwidth)/ (256-load) +k3*delay]*[K5/reliability+K4)] K values are constant By default K1=1 K2=0 K3=1 K4=0 K5=0 Composite Metric= 256*[Bandwidth+delay] Bandwidth – 10^7/ (lowest bandwidth in the path, in Kbps) Delay - sum of all delays in the path, in tens of microseconds
EIGRP load balancing:
Unequal load balancing is controlled with the (variance multiplier) command. Any feasible successor route whose metric is less than variance value multiplied by the feasible distance is added to routing table with restriction of maximum-path command by default add 4 routes. The variable multiplier can be any value between 1 and 128.The default is 1, which means equal cost load balancing.
Eigrp Route Queries and Stuck in active:
EIGRP router depends on its neighbor to advertise routing information. When route lost from routing table EIGRP router actively search for the lost routes for fast convergence. This process is called the query process. In the query process, when the route is lost and no feasible successors are available, queries are sent out to all the neighbors, on all interfaces except for the interface to the successor. If the neighboring routers do not have the lost route information, more queries are sent to the neighboring routers until the query boundary is reached. Query boundary consists of either the end of the network. When the queries are sent, the router must wait for all the replies from the neighbors before the router calculates the successor information. If any neighbor fails to reply in three minutes, the route is said to be stuck in active. The router also brings down any neighbors that no corresponding reply thinking neighbors are having problem.
Default auto summarization enables on the router and it can be disable using no auto-summary command under eigrp process.
The ip summary-address eigrp command is used to configure interface-level address summarization. This causes the creation of an EIGRP summary route to the null 0 interface with an administrative distance of 5 for loop-prevention. You should not use the ip summary-address eigrp summarization command to generate the default route (0.0.0.0) from an interface because it create an EIGRP summary default route to the null 0 interface with an administrative distance of 5. The low administrative distance of this default route can cause this route to displace default routes learned from other neighbors from the routing table.
Eigrp stub routing
Eigrp stub feature is used to limit the scope of eigrp query message,and to limit what routes a neighbor advertises.EIGRP stub routing to further control stability and reduce resource utilization.When configuring EIGRP stub routing, only the remote or the spoke router needs to be configured as a stub. This router responds to queries for summaries, connected routes, redistributed static routes, external routes, and internal routes with the message "inaccessible."The stub router also sends special peer information to its neighbor informing its neighbor that it is a stub router.
EIGRP stub routing configure on router under EIGRP process using following command:
Router(config-router)#eigrp stub [receive-only | connected | static | summary]
The options are described as follows:
receive-only : This causes the router to not send any routes.
connected :The router advertises all connected routes to the single neighbor. No redistribution is necessary.
static : The router advertises all static routes to a single neighbor. The static routes still need to be redistributed into EIGRP to be advertised.
summary : The router advertises summary routes.
Logging EIGRP Neighbor State Changes:
When a neighbor relationship is lost, you also lose all of the routing entries for that neighbor. And the effects of this lost routing information are often felt throughout the network. Therefore, it can be extremely useful to have a good log of neighbor change events for troubleshooting strange intermittent network problems. However, this feature also gives you a good way of looking for faults on links that don't have a way of telling you about loss of connectivity.
To enable the logging of EIGRP neighbor state changes, use the eigrp log-neighbor-changes configuration command:
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router eigrp 100