Skip to content

Instantly share code, notes, and snippets.

@indrora
Created March 22, 2011 00:04
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save indrora/880503 to your computer and use it in GitHub Desktop.
Save indrora/880503 to your computer and use it in GitHub Desktop.
EIGRP Notes
EIGRP := Enhanced Interior Gateway Routing Protocol
Successor to IGRP.
EIGRP uses the DUAL (Diffusing update algorythm) as opposed to a Bellman-Ford algorythm.
Metrics for EIGRP:
- Reliability (0-255, larger->better)
- Bandwidth (max banhdwidth in Kb/s) higher = better
- Delay (in n*10 uS) to destination network. smaller -> better.
EIGRP uses an ask/reply system. Shortly put, this allows for totally autonomous systems which are faster to converge.
**TOPOLOGY TABLE**
A mechanism by which to know who's where in the network.
Take for instance this network:
A---~---B---~---C---~---D---*
| |
X---~---Y
Assume: All routers are running EIGRP.
All routers send out "Hello" packets, asking "What's out there?" to the next-hop system. The next-hop system using Multicast addresses (224.0.0.10 in EIGRP's case), saying that its been ACK'd.
Everyone gets Hello packets. These are unreliable and do not assume that it will come back.
After the Hello packet, which provides the initial state of the routing system, "Update" packets are sent when something changes. Hello packets are still sent on a regular basis, and this keeps accounting going.
ACK packets come back when an Update, Query or Reply packet is sent.
Query & Reply packets are used by DUAL to search for networks. Query packets can deliver using either (Unicast in PTP || Multicast in all others). Reply packets use only Unicast.
When links go down or packets get dropped (reliability goes down) then you get a Query packet sent out to rebuild networks.
HELLO packets are sent every 5 seconds on Ethernet links, while on Multipoint non-broadcast networks its 60 seconds (Frame Relay, Serial, Dialup, V.25, etc)
** Hold Down Timers **
EIGRP does /not/ use Hold-down timers, however it uses Hold-Down time as such:
if(last_hello_from(LINK_NEIGHBOR) > 3*HELLO_INTERVAL) {
link_down(LINK_NEIGHBOR);
}
**EIGRP Bounded Updates**
partial: Only the route information that has changed is sent.
Bounded: Only devices which are impacted by the change get the change.
Aperiodic: Only sent when a network change is detected.
** Administrative Distance **
EIGRP Summary Route => 5AD
internal EIGRP => 90
External EIGRP => 170
** Authentication and Encryption**
Encryption and Authentication are possible using EIGRP.
**Network Topology**
EIGRP Auto-Summarizes the network at classful boundaries (192.168.1.0 and 192.168.2.0) however it will auto-summarize entire systems (ex. 172.16.0/16). For example, take this design:
A----B----C----D
| |
E----F----G
if A, B, C and D are running inter-system routes on a 172.16/30 or some such, packets going from E to A or D to G will be treated as the same! Their metrics will be equal.
** AUTONOMOUS SYSTEMS **
AS => Collections of networks.
EIGRP AS functions as a pid.
(router)#router eigrp (as-number)
** Wildcard Masks **
Wildcard Masks are pretty fail-tastic. Simply, they are the NOT'd values. take this:
255.255.255.252
255.255.255.255 !!
000.000.000.003 ==
255.255.240.000
255.255.255.255 !!
000.000.015.255 ==
[wikipedia: EIGRP]
Successor
A successor for a particular destination is a next hop router that satisfies these two conditions:
* it provides the least distance to that destination
* it is guaranteed not to be a part of some routing loop
The first condition can be satisfied by comparing metrics from all neighboring routers that advertise that particular destination, increasing the metrics by the cost of the link to that respective neighbor, and selecting the neighbor that yields the least total distance. The second condition can be satisfied by testing a so-called Feasibility Condition for every neighbor advertising that destination. There can be multiple successors for a destination, depending on the actual topology.
The successors for a destination are recorded in the topology table and afterwards they are used to populate the routing table as next-hops for that destination.
Feasible Successor
A feasible successor for a particular destination is a next hop router that satisfies this condition:
it is guaranteed not to be a part of some routing loop
This condition is also 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 routers 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 die. 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment