The characteristics of EIGRP follow:
§ Hybrid routing protocol (distance vector that has link-state protocol characteristics).
§ Use DUAL, first proposed by E. W. Dijkstra and C. S. Scholten, to perform distributed shortest-path routing while maintaining freedom from loops at every instant. Although many researchers have contributed to the development of DUAL, the most prominent work is that of J. J. Garcia-Luna-Aceves.
§ Cisco Proprietary created in 1994.
§ First released in IOS 9.21
§ Uses IP protocol 88.
§ Makes Automatic summarization on network Class boundary.
§ Classless protocol (supports VLSMs).
§ Have the power to shut the Auto-summarization And make a configured manual Summarization.
§ Default composite metric of bandwidth and delay.
§ You can factor load, MTU and reliability into the metric.
§ Eigrp metric is the same as IGRP*256, It uses the smallest B.W,Reliablity,Load & MTU with the Comulative delay upon the path…..The MTU doesn’t actually used in the Metric calculations, But is included in the EIGRP Routing updates.
§ Sends route updates to multicast address 188.8.131.52, and nei. Reply’s back with Unicast Address.
§ Sends non-periodic, partial, and bounded updates.
§ Send Hello packets every 5 sec. and Hold down timer is 15 sec.
§ For Low speed Hello is every 60 sec. with hold down time 180 sec.
§ By default, EIGRP uses no more than 50 percent of the bandwidth of a link.
§ Support for authentication via MD5 Only.
§ Uses DUAL for loop prevention, and generating Succ./Fesible Succ.
§ Maximum paths for Load-balancing are 6 & default is 4 , maximum are 16 in IOS 12.3(2)T and later IOS releases
§ By default, Equal-Metric load balancing. If Unequal-Metric load sharing is used the router will load share inversely proportional to the metrics of the paths.
§ Administrative distance is 90 for EIGRP internal routes, 170 for EIGRP external routes, and 5 for EIGRP summary routes.
§ Potential routing protocol for the core of a network; used in large networks.
§ For neighbor relation to be established, both routers must send and receive Hello or Ack packets from each other, they must have the same AS #, and the same Metric K values.
§ Eigrp doesn’t restrict that neighbors must have the same Hello & dead interval timers, Unlike OSPF.
§ Has a Maximum hop count of 255, the default is 100 in the last IOS releases.
The composite metric for each EIGRP route is calculated as
EIGRP metric = IGRP metric * 256
IGRP metric = [k1*BWIGRP(min) + (k2* BWIGRP(min))/(256-LOAD) + k3*DLYIGRP(sum)] x [k5/(RELIABILITY + k4)]
If k5 is set to zero, the [k5/(RELIABILITY+k4)] term is not used.
Given the default values for k1 through k5, the composite metric calculation used by IGRP reduces to the default metric:
IGRP metric = BWIGRP(min) + DLYIGRP(sum)
BWIGRP(min) = 107/BW(min)
DLYIGRP(sum) = DLY(sum) /10
EGRP uses multiple packet types, all identified by protocol number 88 in the IP header:
· Hellos are used by the neighbor discovery and recovery process. Hello packets are multicast and use unreliable delivery.
· Acknowledgments (ACKs) are Hello packets with no data in them. ACKs are always unicast and use unreliable delivery.
· Updates convey route information. Unlike RIP and IGRP updates, these packets are transmitted only when necessary, contain only necessary information, and are sent only to routers that require the information. When updates are required by a specific router, they are unicast. When updates are required by multiple routers, such as upon a metric or topology change, they are multicast. Updates always use reliable delivery.
· Queries and Replies are used by the DUAL finite state machine to manage its diffusing computations. Queries can be multicast or unicast, and replies are always unicast. Both queries and replies use reliable delivery.
· Requests were a type of packet originally intended for use in route servers. This application was never implemented, and request packets are noted here only because they are mentioned in some older EIGRP documentation.
EIGRP has four components:
Protocol-Dependent Modules (PDM): EIGRP implements modules for IP, IPX, and AppleTalk, which are responsible for the protocol-specific routing tasks. For example, the IPX EIGRP module is responsible for exchanging route information about IPX networks with other IPX EIGRP processes and for passing the information to the DUAL. Additionally, the IPX module will send and receive SAP information.
Reliable Transport Protocol (RTP): The Reliable Transport Protocol (RTP) manages the delivery and reception of EIGRP packets. Reliable delivery means that delivery is guaranteed and that packets will be delivered in order. If any packet is reliably multicast and an ACK is not received from a neighbor, the packet will be retransmitted as a unicast to that unresponding neighbor. If an ACK is not received after 16 of these unicast retransmissions, the neighbor will be declared dead. The time to wait for an ACK before switching from multicast to unicast is specified by the multicast flow timer. The time between the subsequent unicasts is specified by the retransmission timeout (RTO). Both the multicast flow timer and the RTO are calculated for each neighbor from the smooth round-trip time (SRTT). The SRTT is the average elapsed time, measured in milliseconds, between the transmission of a packet to the neighbor and the receipt of an acknowledgment. The formulas for calculating the exact values of the SRTT, the RTO, and the multicast flow timer are proprietary.
Neighbor Discovery/Recovery: Hellos are multicast every 5 sec., minus a small random time to prevent synchronization. & are unicast every 60 sec. On multipoint X.25, Frame Relay, and ATM interfaces, with access link speeds of T1 or slower also it’s the default for ATM SVCs and for ISDN PRI In all cases, the Hellos are unacknowledged.
Diffusing Update Algorithm (DUAL): Used For routing calculations, loop free & convergence.
The steps for EIGRP convergence are as follows:
1- When the local router sees a connected route disappear, it checks
the topology table for a feasible successor.
2- If no feasible successor exists, The Route moves into active state in
the topology table.
3- The originating router queries its neighbor for alternative routes.
4- If an alternative exists, it is sent to the Originating router via an update message.
If no alternative route is found in the neighbor topology table, this neighbor
It-self Also send a query to all its own neighbors to confirm if they got an
5- When the router receives the alternatve routes though its neighbors, it adds the
route to its topology table and run the DUAL to insert the successor in its
6- If no router is able to supply an alternative route, All routers within the
domain remove the network from their Routing & topology table.
7- A flash update of the path with the higher metric is sent out.
8- Updates are acknowledged.
Convergence is very quick because it is the detection time, plus query, reply, and update time.
If there is a feasible successor, then convergence is almost instantaneous.
Once a route goes Active and the Query sequence is initiated, the route can only come out of the Active state and move to Passive state when it receives a Reply for every generated Query. If the router does not receive a reply to all the outstanding queries within 180 seconds (the default time), the route goes to the SIA state.
When the route goes to SIA state, the querying router resets the neighbor relationship to the neighbor that fails to Reply. This setting causes the router to go Active on all routes known through the lost neighbor and to readvertise all the routes that it knows about to the lost neighbor.
SIA-Query and SIA-Reply are two new additions to the Type, Length, Value (TLV) triplets in the EIGRP packet header. These packets are generated automatically with no configuration required, from Cisco IOS Software Release 12.1(5) and later with the active process enhancement feature. This feature enables an EIGRP router to monitor the progression of the search for a successor route and ensure that the neighbor is still reachable. Improved network reliability results from reducing the unintended termination of the neighbor adjacency.
SIA-Query is sent every SIA-Retransmit timer (half the active timer, default is 90 sec.)
as long as SIA-replies are received, the Active timer & SIA-Retransmit timer will reset for maximum 3 times (270 sec).
So if no SIA-Reply is received from neighbor for 90 sec. the router reset the neighbor relationship.
So as long as a neighbor router responds to the SIA-Query, it won’t be declared SIA and reset, for six minutes (270 sec.), assuming a default Active time of 180 seconds. This gives ample time for a large network to respond to queries.
config)# router eigrp <AS#> (1-65535)
conf-router)# network < Net ID> (classlfull)
conf-router)# network < Net ID> < wildcard>
(To identify the exact Interfaces or connected Networks which will participate in the EIGRP process, Also Networks will be auto summarized unless no auto-sumary cmd is used )
conf-router)# metric maximum-hop <#> (Up to 255, default =224)
conf-router)#distance <N> (Define an administrative distance, default =90)
conf-router)#metric weight <tos k1 k2 k3 k4 k5>
(tos is a relic of the Cisco original intention to have IGRP do type of service routing; this plan was never adopted, and tos in this command is always set to zero.)
conf-router)#maximum –paths <N> (Up to 16 Links for load sharing, Over Equal/Unequal metric paths, default is 4 paths)
conf-router)#traffic-share < minimum / balanced > (Minimum is the default, and will provide Equal-Metric load Balance, Balanced is for UnEqual-Metric load sharing, will be done referred to each link Metric)
conf-router)# eigrp log-neighbor-changes
conf-router)# eigrp router-id < ip add > ( Set router-id for this EIGRP process)
conf-router)#no auto-summary (disable automatic summ. To the class boundary)
config-if)# ip summary-address eigrp <AS#> <Net ID + mask> (Will suppress the advertisement of the more specific routes)
conf-router)# no metric holdown (Disables Hold down timer)
conf-router)#timers active-time <min/disable.> (Default is 3 min)
config-if)# bandwidth < BW in kbps>
config-if)# delay < Delay in Micro sec> (maximum167 seconds)
config-if)# ip bandwidth-percent eigrp <AS#> < % > ( To adjust Eigrp traffic over the link Bandwidth , default is 50%)
config-if)# ip hello-interval eigrp <AS#> < sec >
config-if)# ip hold-time eigrp <AS#> < sec >
config-if)# no ip split-horizon (Disables it from a specific interface)
Advanced EIGRP Configuration
EIGRP Stub Networks
- The EIGRP stub routing feature improves network stability, reduces resource utilization, and simplifies remote router (spoke) configuration.
- Stub routing is commonly used in a hub-and-spoke topology.
- Spokes are configured as stub routers under the global config prompt.
- A stub router sends a special peer information packet to all neighboring routers to report its status as a stub router.
- A neighbor that receives a packet informing it of the stub status does not query the stub router for any routes, instead, hub routers connected to the stub router answer the query on behalf of the stub router
conf-router)# eigrp stub
conf-router)# eigrp stub <receive-only / redistributed -connected – static – summary >
(optional cmd , Default is connected and summary.)
Receive-only : Prevents the stub from sending any type of route, Cannot use any option with it.
This will issue to config Static routes to reach the routes on the Hub to
the Spoke-Stub router.
Redistributed : Permits stub to send redistributed routes.
Connected : Permits stub to send connected routes (may still need to redistribute If a network command does not include the connected routes).
Static : Permits stub to send static routes (must still redistribute).
Summary : Permits stub to send summary routes.
EIGRP Authentication MD5
The router may be configured to use more than one "key chain." & also different keys at different times (key management).
The steps for setting up EIGRP authentication follow:
1-Define a key chain with a name.
2- Define the authentication key or keys on the key chain
3- Define the password of the key or keys.
4- Apply authentication on an interface and specify the key chain to be used.
5- Apply MD5 authentication on an interface.
6- Optionally configure key management.
Here is the cmds :
config)# key chain <name>
config-keychain)# key <#>
config-keychain-key)# key-string < password>
config-keychain-key)#accept-lifetime<h:m:s mm dd yy>duration< mm- infinite >
config-keychain-key)#send-lifetime <h:m:s mm dd yy> duration < mm- infinite >
config)# interface <int>
config-if)# ip authentication key-chain eigrp <AS#> <name>
config-if)# ip authentication mode eigrp <AS#><md5>
# debug eigrp packets
The password that is accepted from other routers and the password that is used with transmitted/sent messages are managed separately. Both the accept-lifetime and the send-lifetime cmd. must have a specified start time and may have either a specified duration or end time or the keyword infinite. The key numbers are examined from the lowest to the highest, and the first valid key is used.
If the service password-encryption command is not used when
implementing EIGRP authentication, the key string will be stored as plaintext
in the router configuration. If you configure the service password-encryption command, the key string will be stored and displayed in an encrypted form; when it is displayed, there will be an encryption type of 7 specified before the encrypted key string.
# sh ip route
# sh ip route eigrp
# sh ip route < Net ID >
# sh ip protocols
# sh ip eigrp traffic
# sh ip eigrp traffic <AS#>
# sh ip eigrp nei
# sh ip eigrp nei detail
# sh ip eigrp topology
# sh ip eigrp topology <AS#> <ip add +mask > (optional)
# sh ip eigrp topology all-links
# sh ip eigrp topology < active / pending / zero-successors>
# sh ip eigrp traffic
# sh ip eigrp events (Shows the types of packets sent and received and statistics on routing decisions.)
#debug ip eigrp
#debug ip eigrp fsm
#debug ip eigrp nei (Shows the hello packets sent and received to the neighbors)
#debug ip eigrp route (Shows dynamic changes made on the routing table process)
#debug ip eigrp summary (Shows a summary of the EIGRP activity)
#debug ip eigrp packet (Shows the packets sent and received by the router. The packet types to be monitored can be selected.
Up to 11 types are available)
# no debug all
Thanks & B.Regards
Ahmed Elhoussiny, CCIE # 21988 (R&S)
Network Consultant & Cisco Academy Instructor