Enhanced Interior Gateway Routing Protocol (EIGRP) is an advanced distance-vector routing protocol that is used on a computer network for automating routing decisions and configuration. The protocol was designed by Cisco Systems as a proprietary protocol, available only on Cisco routers. In 2013, Cisco permitted other vendors to freely implement a limited version of EIGRP with some of its associated features such as High Availability (HA), while withholding other EIGRP features such as EIGRP stub, needed for DMVPN and large-scale campus deployment. Information needed for implementation was published with informational status as in 2016, which did not advance to Internet Standards Track level, and allowed Cisco to retain control of the EIGRP protocol.
EIGRP is used on a router to share routes with other routers within the same autonomous system. Unlike other well known routing protocols, such as RIP, EIGRP only sends incremental updates, reducing the workload on the router and the amount of data that needs to be transmitted.
EIGRP replaced the Interior Gateway Routing Protocol (IGRP) in 1993. One of the major reasons for this was the change to classless IPv4 addresses in the Internet Protocol, which IGRP could not support.
Overview Almost all routers contain a routing table that contains rules by which traffic is forwarded in a network. If the router does not contain a valid path to the destination, the traffic is discarded. EIGRP is a dynamic routing protocol by which routers automatically share route information. This eases the workload on a network administrator who does not have to configure changes to the routing table manually.
In addition to the routing table, EIGRP uses the following tables to store information: Neighbor Table: The neighbor table keeps a record of the IP addresses of routers that have a direct physical connection with this router. Routers that are connected to this router indirectly, through another router, are not recorded in this table as they are not considered neighbors. Topology Table: The topology table stores routes that it has learned from neighbor routing tables. Unlike a routing table, the topology table does not store all routes, but only routes that have been determined by EIGRP. The topology table also records the metrics for each of the listed EIGRP routes, the feasible successor and the successors. Routes in the topology table are marked as "passive" or "active". Passive indicates that EIGRP has determined the path for the specific route and has finished processing. Active indicates that EIGRP is still trying to calculate the best path for the specific route. Routes in the topology table are not usable by the router until they are inserted into the routing table. The topology table is never used by the router to forward traffic. Routes in the topology table will not be inserted into the routing table if they are active, are a feasible successor, or have a higher administrative distance than an equivalent path.
Information in the topology table may be inserted into the router's routing table and can then be used to forward traffic. If the network changes (for example, a physical link fails or is disconnected), the path will become unavailable. EIGRP is designed to detect these changes and will attempt to find a new path to the destination. The old path that is no longer available is removed from the routing table. Unlike most distance vector routing protocols, EIGRP does not transmit all the data in the router's routing table when a change is made, but will only transmit the changes that have been made since the routing table was last updated. EIGRP does not send its routing table periodically, but will only send routing table data when an actual change has occurred. This behavior is more inline with link-state routing protocols, thus EIGRP is mostly considered a hybrid protocol.
When a router running EIGRP is connected to another router also running EIGRP, information is exchanged between the two routers. They form a relationship, known as an adjacency. The entire routing table is exchanged between both routers at this time. After the exchange has completed, only differential changes are sent.
EIGRP is often considered a hybrid protocol because it also sends link state updates when link states change.
Features EIGRP supports the following features: Support for load balancing on parallel links between sites. The ability to use different authentication passwords at different times. MD5 and SHA-2 authentication between two routers. Sends topology changes, rather than sending the entire routing table when a route is changed. Periodically checks if a route is available, and propagates routing changes to neighboring routers if any changes have occurred. Runs separate routing processes for Internet Protocol (IP), IPv6, IPX and AppleTalk, through the use of protocol-dependent modules (PDMs). Backwards compatibility with the IGRP routing protocols.Introduction to EIGRP. Cisco. Retrieved on 2014-05-30.
Configuration
Cisco IOS example Example of setting up EIGRP on a Cisco IOS router for a private network. The 0.0.15.255 wildcard in this example indicates a subnetwork with a maximum of 4094 hosts—it is the bitwise complement of the subnet mask 255.255.240.0. The no auto-summary command prevents automatic route summarization on classful boundaries, which would otherwise result in routing loops in discontiguous networks. Router# configure terminal Router(config)# router eigrp 1 Router (config-router)# network 10.201.96.0 0.0.15.255 Router (config-router)# no auto-summary Router (config-router)# exit
Technical details EIGRP is a distance vector & Link State routing protocol that uses the diffusing update algorithm (DUAL) (based on work from SRI International) to improve the efficiency of the protocol and to help prevent calculation errors when attempting to determine the best path to a remote network. EIGRP determines the value of the path using five metrics: bandwidth, load, delay, reliability and MTU.Cisco Systems (2012), Enhanced Interior Gateway Routing Protocol (EIGRP) Wide Metrics, retrieved 14 March 2014 EIGRP uses five different messages to communicate with its neighbor routers – Hello, Update, Query, Reply, and Acknowledgement.
EIGRP routing information, exchanged to a router from another router within the same autonomous system, has a default administrative distance of 90. EIGRP routing information, that has come from an EIGRP-enabled router outside the autonomous system, has a default administrative distance of 170.Cisco Systems (2013), What is Administrative Distance?, retrieved 14 September 2013
EIGRP does not operate using the Transmission Control Protocol (TCP) or the User Datagram Protocol (UDP). This means that EIGRP does not use a port number to identify traffic. Rather, EIGRP is designed to work on top of Layer 3 (i.e. the IP protocol). Since EIGRP does not use TCP for communication, it implements Cisco's Reliable Transport Protocol (RTP) to ensure that EIGRP router updates are delivered to all neighbors completely. The Reliable Transport Protocol also contains other mechanisms to maximize efficiency and support multicasting. EIGRP uses 224.0.0.10 as its multicast address and protocol number 88.
Distance vector routing protocol Cisco Systems now classifies EIGRP as a distance vector routing protocol, but it is normally said to be a hybrid routing protocol.CCIE Practical Studies, Volume I | Chapter 11. Hybrid: Enhanced Interior Gateway Routing Protocol (EIGRP) . InformIT (2008-06-13). Retrieved on 2014-05-30. While EIGRP is an advanced routing protocol that combines many of the features of both link-state and distance-vector routing protocols, EIGRP's DUAL algorithm contains many features which make it more of a distance vector routing protocol than a link-state routing protocol.Ashraf, Muhammad Irfan, et al. "Comparative Analysis of Link State and Hybrid Routing Protocols " Despite this, EIGRP contains many differences from most other distance-vector routing protocols, including:Albrightson, R., Garcia-Luna-Aceves, J. J., & Boyle, J. (1994, May). EIGRP a fast routing protocol based on distance vectors. In Proc. Network ID/Interop (Vol. 94, pp. 136-147).
the use of explicit hello packets to discover and maintain adjacencies between routers. the use of a reliable protocol to transport routing updates. the use of a feasibility condition to select a loop-free path. the use of diffusing computations to involve the affected part of the network into computing a new shortest path.
EIGRP composite and vector metrics EIGRP associates six different vector metrics with each route and considers only four of the vector metrics in computing the Composite metric: Router1# show ip eigrp topology 10.0.0.1 255.255.255.255 IP-EIGRP topology entry for 10.0.0.1/32 State is Passive, Query origin flag is 1, 1 Successor(s), FD is 40640000 Routing Descriptor Blocks: 10.0.0.1 (Serial0/0/0), from 10.0.0.1, Send flag is 0x0 Composite metric is (40640000/128256), Route is Internal Vector metric: Minimum bandwidth is 64 Kbit Total delay is 25000 microseconds Reliability is 255/255 Load is 197/255 Minimum MTU is 576 Hop count is 2 Bandwidth Minimum Bandwidth (in kilobits per second) along the path from router to destination network.
Load Number in range 1 to 255; 255 being saturated
Total Delay Delay, in 10s of microseconds, along the path from router to destination network
Reliability Number in range 1 to 255; 255 being the most reliable
MTUMinimum path Maximum Transmission Unit (MTU) (never used in the metric calculation)
Hop Count Number of routers a packet passes through when routing to a remote network, used to limit the EIGRP AS. EIGRP maintains a hop count for every route, however, the hop count is not used in metric calculation. It is only verified against a predefined maximum on an EIGRP router (by default it is set to 100 and can be changed to any value between 1 and 255). Routes having a hop count higher than the maximum will be advertised as unreachable by an EIGRP router.
Routing metric The composite routing metric calculation uses five parameters, so-called K values, K1 through K5. These act as multipliers or modifiers in the composite metric calculation. K1 is not equal to Bandwidth, etc.
By default, only total delay and minimum bandwidth are considered when EIGRP is started on a router, but an administrator can enable or disable all the K values as needed to consider the other Vector metrics.
For the purposes of comparing routes, these are combined together in a weighted formula to produce a single overall metric:
where the various constants ( through ) can be set by the user to produce varying behaviors. An important and unintuitive fact is that if is set to zero, the term is not used (i.e. taken as 1).
The default is for and to be set to 1, and the rest to zero, effectively reducing the above formula to .
Obviously, these constants must be set to the same value on all routers in an EIGRP system, or permanent routing loops may result. Cisco routers running EIGRP will not form an EIGRP adjacency and will complain about K-values mismatch until these values are identical on these routers.
EIGRP scales the interface Bandwidth and Delay configuration values with following calculations: = 107 / Value of the bandwidth interface command = Value of the delay interface command