EIGRP 101
Starting the routing process
EIGRP will advertise routes learned by the EIGRP process and all routes that appear directly connected on the interfaces that are matched by the network command. These include static routes that point to an interface and that are matched by a network command. These routes are considered directly connected and are redistributed as internal routes.
secondary IP addresses are not advertised when using the network command. They can only be redistributed into EIGRP
With Split Horizon enabled(default), it will not advertise a route back on the outgoing interface of that route.
Routes that don’t make it into the routing table are not advertised
To see the interfaces that run EIGRP use:
Split Horizon
When Split Horizon is enabled on an interface, Update and Query packets are not sent for destinations which have this interface as outgoing. This could be a problem in Hub and Spoke Frame Relay topologies. Use this command to disable Split Horizon:
Make sure you know the difference between the RIP and the EIGRP command that disables Split Horizon:
Some IOS implementations disable split-horizon on interface where “encapsulation frame-relay” is configured.
Passive interfaces
When defining a passive interface, the EIGRP process will advertise the network but will not send or accept EIGRP messages on the interface.
This behavior is different than RIP’s, where a passive interface would still accept RIP advertisements.
You can also enable passive interfaces by default and then disable it on the interfaces where EIGRP should run:
Neighbors
When a router running EIGRP receives valid HELLOs from another router, it adds it to the neighbor list. To see the neighbors list use:
A HELLO message contains the AS number and the K values of the router sending the message. In order to become neighbors, two routers must share the following values:
K values
AS number
Primary subnet
Authentication
By default, when valid HELLOs are not received for an entire HOLD-TIME period, the router considers the neighbor to be down. See Timers section below.
Static Neighbors
When a neighbor is defined, all communication with it is done using unicast packets:
Unlike RIP, this will disable multicast EIGRP on the interface, so no dynamic neighbors will be discovered. This config should be used on Frame Relay Hub & Spoke networks when two spokes should become neighbors.
Authentication
EIGRP supports only MD5 authentication of EIGRP messages:
Define the key chain
Apply it on the interface
When sending EIGRP messages, the router uses the lowest key number among all current valid keys. When receiving EIGRP messages, the router checks the MD5 digest using all current valid keys. Both the key ID and the Key-string must match in order to form an adjacency.
Timers
Hello interval
It specifies how often a router sends EIGRP HELLO packates. The default timer is:
5 seconds for almost all interfaces
60 seconds for Frame Relay physical interfaces or multipoint subinterfaces with a bandwidth lower than T1(1544kbps)
The default value can be changed using:
To verify, use:
Hold Time
If a router does not receive Hello Messages for an entire Hold Time, the router considers the neighbor to have failed. The default timer is 3xHELLO-INTERVAL:
15 seconds for almost all interfaces
180 seconds for Frame Relay physical interfaces or multipoint subinterfaces with a bandwidth lower than T1(1544kbps)
The default value can be changed using:
Active Timer
When the router sends a Query, it will wait the time specified in the active timer for a replies from its neighbors. If no reply is received in the specified interval, the route is declared dead:
See Going Active for details.
Packets
EGIRP uses IP protocol 88 (RTP=Reliable Transport Protocol). EIGRP uses both unicast and mulitcast packets. Except for HELLO and ACK packets, the other packets require ACK from the neighbors. A router would retry 16 times to send a packet before neighbor relationship is reset. All packets are sourced from the primary IP address of the interface.
HELLO packets are sent every HELLO-INTERVAL as multicasts to 224.0.0.10 or as unicasts to each static neighbor. They contain the K values used by the router as well as the HOLD-TIME – how much time to wait for a HELLO, before resetting adjacency. EIGRP packets are sourced from the primary address of each interface.
UPDATE packets are sent as unicast when neighbors are discovered initially and as multicasts whne updates are genertated by network changes. For each route, a packet contains the prefix, prefix length, hop count, and components of the advertised metric (Bandwidth, Load, Delay, Reliability, MTU). These packets are sent only when changes occur and only to the routers that need the update. EIGRP doesn’t use periodic updates. Update packets need to be acknowledged.
QUERY packets are used when “going active” – see Going Active. QUERY packets are sent as multicast and need to be ACKed.
REPLY packets are used to reply to QUERY packets. They are sent as unicasts and need to be ACKed.
ACK packets are sent as an acknowledgement to Query and Reply messages. ACK are always unicasts, and EIGRP expectes one ACK from each neighbor.
GOODBYE packets are sent when the EIGRP process is shut down or restarted to inform the neighbors.
If there are many changes in the network, EIGRP messages can overwhelm a link. Use this command to limit the bandwidth used by EIGRP Updates per interface:
EIGRP metric
See here for information about EIGRP metric and offset lists.
EIGRP Administrative Distance
By default, EIGRP AD is 90 for internal routes, 170 for external routes and 5 for summary routes. The default can be changed using:
The AD can be changed per routing source and destination using:
Load Balancing
In addition to Equal Cost Load Balancing, EIGRP can perform Unequal cost load balancing. To enable this, the variance command must be used. When setting variance, all routes that have a metric lower then the FD * VARIANCE are added to the routing table and traffic can be load balanced between them.
Distribute Lists
Used to filter updates going out or coming into the EIGRP process
Summarization
Auto Summarization
By default, EIGRP performs an auto-summarization each time it crosses a border between two different major networks. To disable this behaviour and to advertise the component routes, use:
The auto-summary routes appear as internal routes and the metric of the summary route is the best metric from among the summarized routes. On the router doing the summarization, a route to Null0 is added for the summarized address, so that traffic that is destined for other destinations than the component routes, but inside the same major network, is discared.
EIGRP will not auto-summarize external routes unless there is a component of the same major network that is an internal route
Manual Summarization
Manual sumamrization can be done on an interface, with no limitation of the bit boundary, using:
The router will advertise the summary address instead of any component, as long as there is one component in the routing table.
By default, manual summary routes have an AD of 5 and point to Null0. Due to the low AD value, they can override other learned routes with the same prefix (like a default route). Use the concept of a floating summary route to change the default AD when defining the manual summary. Use a value of 255 to stop the summary route from getting into the routing table
Leak maps enable sending routing information for specific routes defined by a route-map, and the summary route for all other.
Default routes
Redistribute Static Route to 0.0.0.0 into EIGRP
Define a default network
By default 0.0.0.0/0 is considered the default route, but EIGRP can advertise another route as the default route as long as it is marked as the default-network
If we have the NETWORK-ADDR with its default class (A/B/C) in our routing table, then the next step is to advertise it into EIGRP. This can be done via redistribution (of connected/static routes) or the network command (provided the matched interfaces will bring the specific prefix into the EIGRP topology). Things get ugly when the default-network is not int our routing table with the default class. Let’s take an example: If we have a loopack address with the network 5.5.5.5/24 and we want it to become the default network, then we will have to run the following commands:
The second command will generate a static route in the config, that will be deleted only when the default-network is removed from the config:
Now we have a route pointing to the Class A network 5.0.0.0 via the next-hop 5.5.5.5. We can add the 5.0.0.0 network to EIGRP via redistribution (static) to EIGRP or add the 5.5.5.5 interface to the network list. From now on, EIGRP will advertise a route to 5.0.0.0 that is also marked as a candidate default.
Manual Summary to 0.0.0.0/0
Use a lower AD not to override other default routes learned by the downstream routers.
Last updated