Enhanced Interior Gateway Routing Protocol (EIGRP) is an advanced
distance-vector routing protocol
A distance-vector routing protocol in data networks determines the best route for data packets based on distance. Distance-vector routing protocols measure the distance by the number of routers a packet has to pass; one router counts as one hop ...
that is used on a
computer network
A computer network is a collection of communicating computers and other devices, such as printers and smart phones. In order to communicate, the computers and devices must be connected by wired media like copper cables, optical fibers, or b ...
for automating
routing
Routing is the process of selecting a path for traffic in a Network theory, network or between or across multiple networks. Broadly, routing is performed in many types of networks, including circuit-switched networks, such as the public switched ...
decisions and configuration. The protocol was designed by
Cisco Systems
Cisco Systems, Inc. (using the trademark Cisco) is an American multinational corporation, multinational digital communications technology conglomerate (company), conglomerate corporation headquartered in San Jose, California. Cisco develops, m ...
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
Interior Gateway Routing Protocol (IGRP) is a distance vector interior gateway protocol (IGP) developed by Cisco. It is used by routers to exchange routing data within an autonomous system.
IGRP is a proprietary protocol. IGRP was created in pa ...
(IGRP) in 1993. One of the major reasons for this was the change to
classless IPv4 addresses in the
Internet Protocol
The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet.
IP ...
, which IGRP could not support.
Overview
Almost all
routers contain a
routing table
In computer networking, a routing table, or routing information base (RIB), is a data table stored in a router or a network host that lists the routes to particular network destinations, and in some cases, metrics (distances) associated wi ...
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
In computer networking, dynamic routing (DR), also called adaptive routing (AR),
is a process where a router can forward data via a different route for a given destination based on the current conditions of the communication circuits within a sys ...
protocol by which routers automatically share route information. This eases the workload on a
network administrator
A network administrator is a person designated in an organization whose responsibility includes maintaining computer infrastructures with emphasis on local area networks (LANs) up to wide area networks (WANs). Responsibilities may vary between or ...
who does not have to configure changes to the
routing table
In computer networking, a routing table, or routing information base (RIB), is a data table stored in a router or a network host that lists the routes to particular network destinations, and in some cases, metrics (distances) associated wi ...
manually.
In addition to the
routing table
In computer networking, a routing table, or routing information base (RIB), is a data table stored in a router or a network host that lists the routes to particular network destinations, and in some cases, metrics (distances) associated wi ...
, EIGRP uses the following tables to store information:
*Neighbor Table: The neighbor table keeps a record of the
IP addresses
An Internet Protocol address (IP address) is a numerical label such as that is assigned to a device connected to a computer network that uses the Internet Protocol for communication. IP addresses serve two main functions: network interface id ...
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
In computer networking, a routing table, or routing information base (RIB), is a data table stored in a router or a network host that lists the routes to particular network destinations, and in some cases, metrics (distances) associated wi ...
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
In computer networking, a routing table, or routing information base (RIB), is a data table stored in a router or a network host that lists the routes to particular network destinations, and in some cases, metrics (distances) associated wi ...
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 protocol
Link-state routing protocols are one of the two main classes of routing protocols used in packet switching networks for computer communications, the others being distance-vector routing protocols. Examples of link-state routing protocols include ...
s, 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
The MD5 message-digest algorithm is a widely used hash function producing a 128-bit hash value. MD5 was designed by Ronald Rivest in 1991 to replace an earlier hash function MD4, and was specified in 1992 as Request for Comments, RFC 1321.
MD5 ...
and
SHA-2
SHA-2 (Secure Hash Algorithm 2) is a set of cryptographic hash functions designed by the United States National Security Agency (NSA) and first published in 2001. They are built using the Merkle–Damgård construction, from a one-way compression ...
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
Routing is the process of selecting a path for traffic in a Network theory, network or between or across multiple networks. Broadly, routing is performed in many types of networks, including circuit-switched networks, such as the public switched ...
processes for
Internet Protocol
The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet.
IP ...
(IP),
IPv6
Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communication protocol, communications protocol that provides an identification and location system for computers on networks and routes traffic ...
,
IPX and
AppleTalk
AppleTalk is a discontinued proprietary suite of networking protocols developed by Apple Computer for their Macintosh computers. AppleTalk includes a number of features that allow local area networks to be connected with no prior setup or the ...
, 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
In Internet networking, a private network is a computer network that uses a private address space of IP addresses. These addresses are commonly used for local area networks (LANs) in residential, office, and enterprise environments. Both the IPv ...
. The 0.0.15.255
wildcard in this example indicates a subnetwork with a maximum of 4094 hosts—it is the
bitwise complement
In computer programming, a bitwise operation operates on a bit string, a bit array or a binary numeral (considered as a bit string) at the level of its individual bits. It is a fast and simple action, basic to the higher-level arithmetic operatio ...
of the
subnet mask
A subnet, or subnetwork, is a logical subdivision of an IP network. Updated by RFC 6918. The practice of dividing a network into two or more networks is called subnetting.
Computers that belong to the same subnet are addressed with an identica ...
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
A routing protocol specifies how routers communicate with each other to distribute information that enables them to select paths between nodes on a computer network. Routers perform the traffic directing functions on the Internet; data packet ...
that uses the
diffusing update algorithm (DUAL) (based on work from
SRI International
SRI International (SRI) is a nonprofit organization, nonprofit scientific research, scientific research institute and organization headquartered in Menlo Park, California, United States. It was established in 1946 by trustees of Stanford Univer ...
) 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.
EIGRP does not operate using the
Transmission Control Protocol
The Transmission Control Protocol (TCP) is one of the main communications protocol, protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, th ...
(TCP) or the
User Datagram Protocol
In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages (transported as datagrams in Network packet, packets) to other hosts on an Internet Protoco ...
(UDP). This means that EIGRP does not use a
port number
In computer networking, a port is a communication endpoint. At the software level within an operating system, a port is a logical construct that identifies a specific process or a type of network service. A port is uniquely identified by a numbe ...
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
multicast
In computer networking, multicast is a type of group communication where data transmission is addressed to a group of destination computers simultaneously. Multicast can be one-to-many or many-to-many distribution. Multicast differs from ph ...
ing.
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.
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
;MTU:Minimum path
Maximum Transmission Unit
In computer networking, the maximum transmission unit (MTU) is the size of the largest protocol data unit (PDU) that can be communicated in a single network layer transaction. The MTU relates to, but is not identical to the maximum frame size tha ...
(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 loop
A routing loop is a common problem with various types of networks, particularly computer networks. They are formed when an error occurs in the operation of the routing algorithm, and as a result, in a group of nodes, the path to a particular desti ...
s 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:
:
= 10
7 / Value of the ''bandwidth'' interface command
:
= Value of the ''delay'' interface command
On Cisco routers, the interface bandwidth is a configurable static parameter expressed in kilobits per second (setting this only affects metric calculation and not actual line bandwidth). Dividing a value of 10
7 kbit/s (i.e. 10 Gbit/s) by the interface bandwidth statement value yields a result that is used in the weighted formula. The interface delay is a configurable static parameter expressed in tens of microseconds. EIGRP takes this value directly without scaling into the weighted formula. However, various ''show'' commands display the interface delay in microseconds. Therefore, if given a delay value in microseconds, it must first be divided by 10 before using it in the weighted formula.
IGRP uses the same basic formula for computing the overall metric, the only difference is that in IGRP, the formula does not contain the scaling factor of 256. In fact, this scaling factor was introduced as a simple means to facilitate backward compatility between EIGRP and IGRP: In IGRP, the overall metric is a 24-bit value while EIGRP uses a 32-bit value to express this metric. By multiplying a 24-bit value with the factor of 256 (effectively bit-shifting it 8 bits to the left), the value is extended into 32 bits, and vice versa. This way, redistributing information between EIGRP and IGRP involves simply dividing or multiplying the metric value by a factor of 256, which is done automatically.
Feasible successor
A feasible successor for a particular destination is a next hop router that is guaranteed not to be a part of a
routing loop
A routing loop is a common problem with various types of networks, particularly computer networks. They are formed when an error occurs in the operation of the routing algorithm, and as a result, in a group of nodes, the path to a particular desti ...
. This condition is verified by testing the
feasibility condition.
Thus, every successor is also a feasible successor. However, in most references about EIGRP the term ''feasible successor'' is used to denote only those routes which provide a loop-free path but which are not successors (i.e. they do not provide the least distance). From this point of view, for a reachable destination, there is always at least one successor, however, there might not be any feasible successors.
A feasible successor provides a working route to the same destination, although with a higher distance. At any time, a router can send a packet to a destination marked "Passive" through any of its successors or feasible successors without alerting them in the first place, and this packet will be delivered properly. Feasible successors are also recorded in the topology table.
The feasible successor effectively provides a backup route in the case that existing successors become unavailable. Also, when performing unequal-cost load-balancing (balancing the network traffic in inverse proportion to the cost of the routes), the feasible successors are used as next hops in the routing table for the load-balanced destination.
By default, the total count of successors and feasible successors for a destination stored in the routing table is limited to four. This limit can be changed in the range from 1 to 6. In more recent versions of Cisco IOS (e.g. 12.4), this range is between 1 and 16.
Active and passive state
A destination in the topology table can be marked either as ''passive'' or ''active''. A passive state is a state when the router has identified the successor(s) for the destination. The destination changes to ''active'' state when the current successor no longer satisfies the
feasibility condition and there are no feasible successors identified for that destination (i.e. no backup routes are available). The destination changes back from ''active'' to ''passive'' when the router received replies to all queries it has sent to its neighbors. Notice that if a successor stops satisfying the feasibility condition but there is at least one feasible successor available, the router will promote a feasible successor with the lowest total distance (the distance as reported by the feasible successor plus the cost of the link to this neighbor) to a new successor and the destination will remain in the ''passive'' state.
Feasibility condition
The feasibility condition is a sufficient condition for loop freedom in EIGRP-routed network. It is used to select the successors and feasible successors that are guaranteed to be on a loop-free route to a destination. Its simplified formulation is strikingly simple:
:''If, for a destination, a neighbor router advertises a distance that is strictly lower than our feasible distance, then this neighbor lies on a loop-free route to this destination.''
or in other words,
:''If, for a destination, a neighbor router tells us that it is closer to the destination than we have ever been, then this neighbor lies on a loop-free route to this destination.''
It is important to realize that this condition is a sufficient, not a necessary, condition. That means that neighbors which satisfy this condition are guaranteed to be on a loop-free path to some destination, however, there may be also other neighbors on a loop-free path which do not satisfy this condition. However, such neighbors do not provide the shortest path to a destination, therefore, not using them does not present any significant impairment of the network functionality. These neighbors will be re-evaluated for possible usage if the router transitions to Active state for that destination.
Unequal Path Cost Load Balancing
EIGRP features load balancing on paths with different costs. A multiplier, called variance, is used to determine which paths to include into load balancing. The variance is set to 1 by default, which means load balancing on equal cost paths. The maximum variance is 128. The minimum
metric
Metric or metrical may refer to:
Measuring
* Metric system, an internationally adopted decimal system of measurement
* An adjective indicating relation to measurement in general, or a noun describing a specific type of measurement
Mathematics
...
of a route is multiplied by the variance value. Each path with a metric that is smaller than the result is used in load balancing.
[How Does Unequal Cost Path Load Balancing (Variance) Work in IGRP and EIGRP]
Cisco. Retrieved on 2017-03-24
With the functionality of the Unequal Path Cost Load Balancing on EIGRP,
OSPF protocol is unable to design the network by Unequal Path Cost Load Balancing. Regarding the Unequal Path Cost Load Balancing function on industry usage, the network design can be flexible with the traffic management.
EIGRP and compatibility to other vendors
Cisco released details of the proprietary EIGRP routing protocol in an
RFC in an effort to assist companies whose networks operate in a multi-vendor environment. The protocol is described in . EIGRP was developed 20 years ago, yet it is still one of the primary Cisco routing protocols due to its purported
usability
Usability can be described as the capacity of a system to provide a condition for its users to perform the tasks safely, effectively, and efficiently while enjoying the experience. In software engineering, usability is the degree to which a softw ...
and
scalability
Scalability is the property of a system to handle a growing amount of work. One definition for software systems specifies that this may be done by adding resources to the system.
In an economic context, a scalable business model implies that ...
in comparison to other
protocols
Protocol may refer to:
Sociology and politics
* Protocol (politics), a formal agreement between nation states
* Protocol (diplomacy), the etiquette of diplomacy and affairs of state
* Etiquette, a code of personal behavior
Science and technology
...
.
Cisco has stated that EIGRP is an
open standard
An open standard is a standard that is openly accessible and usable by anyone. It is also a common prerequisite that open standards use an open license that provides for extensibility. Typically, anybody can participate in their development due to ...
but they leave out several core details in the
RFC definition which makes
interoperability
Interoperability is a characteristic of a product or system to work with other products or systems. While the term was initially defined for information technology or systems engineering services to allow for information exchange, a broader de ...
hard to set up between different vendors' routers when the protocol is used. Even
Cisco NX-OS
NX-OS is a network operating system for the Nexus-series Ethernet switches and MDS-series Fibre Channel storage area network switches made by Cisco Systems. It evolved from the Cisco operating system SAN-OS, originally developed for its MDS sw ...
for example does not support unequal cost load balancing.
As of 2022 EIGRP has alpha support in
FRRouting and it seems to be generally unsupported by other
routing software
Routing is the process of selecting a path for traffic in a network or between or across multiple networks. Broadly, routing is performed in many types of networks, including circuit-switched networks, such as the public switched telephone ne ...
.
References
* .
* .
* .
* .
* .
External links
* {{cite web , url=http://www.cisco.com/c/en/us/support/docs/ip/enhanced-interior-gateway-routing-protocol-eigrp/13669-1.html , title=Introduction to EIGRP , publisher=Cisco Systems , date=2005-08-10
Cisco protocols
Routing protocols
he:Interior Gateway Routing Protocol#EIGRP