EIGRP

Distance Vector + Link State (distance vector = split horizon) toc

=Features=


 * **Transport** - IP; protocol type 88
 * **Metric** - bandwidth; delay (in 1/10 microseconds); load; reliability; mtu
 * **Hello Interval**
 * **Hold Timer** - when neighbor router has failed
 * **Update Destination Address** - 224.0.0.10; retransmissions are unicast
 * **Full & Partial Updates** - full updates on neighbor discovery; rest are partial
 * **Authentication** - md5
 * **VLSM/Classless**
 * **Route Tags**
 * **Next-hop-field**
 * **Manual Route Summarization**
 * **Multi Protocol** - IP; IPX; AppleTalk

=Neighbors=


 * Pass authentication
 * Same AS number
 * Source IP of hello needs to be in subnet of primary IP
 * K values need to match

=Updates=


 * Reliable Transport Protocol (RTP) to send multicast
 * Waits for unicast EIGRP Acks
 * Resends to non-ack'd neighbors - Retransmission Timeout (RTO)

=Tables=


 * **Topology** - state info regarding neighbors
 * Metric = 256(10,000,000/bandwidth) + 256(delay)
 * # show ip eigrp topology
 * "via 172.16.1.1 (x/y), serial 0/0.4"
 * x = calculated metric
 * y = RD = 256(delay)
 * Feasible Distance (FD) - best FD is successor route (gets added to routing table)

=Convergence=


 * **Reported Distance (RD)** - metric of route report by neighbors
 * **Feasible Distance (FD)** - value of lowest metric path to subnet
 * **Feasibility Condition** - multiple routes to subnet; RD < FD
 * **Successor Route** - lowest metric to destination prefix
 * **Feasible Successor (FS)** - not successor; meets feasibility condition; used when successor route fails
 * **Input Event** - occurrence that can change topology table
 * **Local Computation** - reaction to input events; leading to the use of a FS

=Local Computation=


 * ===__**Scenarios**__===
 * if FS route exists, install lowest metric FS in routing table; send updates
 * if no FS exist, query neighbors
 * called "going active" on a route
 * multicasts query messages
 * waits for all to respond (rcvreply debug message)
 * if neighbor router has no FS, it will also send a Query to remaining neighbors
 * response to original query is withheld until all responses to it's own query are received
 * if process never completes, considered stuck-in-active
 * ===__**Stuck-in-active**__===
 * Active Timer
 * Brings down neighbors that didn't reply
 * config-router# timers active-time disable
 * ===__**Limiting Query Scope**__===
 * Route Summarization - will reply that it doesnt have a FS even if a specific route matches a summary
 * Stub Routers - neighbors wont send queries to stubs

=Stubs=

> config-router# eigrp stub connected summary
 * ===__**Types**__===
 * **Connected** - advertise conected routes; on interfaces in network command
 * **Summary** - advertise auto-summarized and static summary routes
 * **Static** - advertise static routes; assuming "redistribute static" command
 * **Redistributed** - is redistribution is enabled
 * **Receive-only** - do not advertise

=Loading Balancing=


 * Variance** - any FS route < (variance * FD) is added to the routing table

config-router# variance config-router# maximum-paths 1...6 (default 4) config-router# traffic-share balanced (more packets to lower metrics) config-router# traffic-share min (send traffic to lowest metric) config-router# traffic-share min across-interfaces (different outgoing interface is chosen) config-router# no traffic-share (balances evenly; ignores eigrp metrics)

**Authentication**

config-if# ip authentication mode eigrp md5 config-if# ip authentication key-chain eigrp 

=Route Filtering=

config-router# distribute-list in FastEthernet0/0

config# ip prefix-list WORD seq 10 permit 0.0.0.0/0 le 32 confg-router# distribute-list prefix WORD in FastEthernet0/0

=Weight/Metric Configuration=

config-router# metric weights 0 1 0 1 0 0 (type of service, bandwidth, load, delay, reliability, mtu)

=Redistribute Specific Networks=

config# route-map WORD config-route-map# match ip address 3 (ACL 3) config# router eigrp 500 config-router# redistribute rip metric 1500 0 255 1 1500 WORD

=Timers=

config-if# ip hello-interval 1 2 config-if# ip hold-time 1 6

=Bandwidth Percent=

config-if# ip bandwidth-percent eigrp 150 (out of 255)

=Passive Interface=

config-router# passive-interface Ethernet0/0 (stops hello messages)

=Redistribute Internal and External Specifically=

config# interface s0/0.1 config-subif# no split-horizon eigrp 500 config-router# redistribute ospf 1 match [internal | external] metric 3000 0 255 1 1500 config# router ospf 1 config-router# redistribute eigrp 500 subnets metric 500000

=Summary Configuration=

config-router# no auto-summary config# interface s0/0.1 config-if# ip summary-address 500 155.155.0.0 255.255.0.0

=View and Debug Commands=

show ip eigrp neighbor debug eigrp packet hello debug eigrp packet update ack debug eigrp fms (finite state machine; FD and FS logic)