CIS 185 CCNP ROUTE Chapter 2: Implementing EIGRP Rick Graziani Cabrillo College graziani@cabrillo.edu Spring 2017
Basic EIGRP
Types of Routing Protocols Exterior Gateway Protocols Interior Gateway Protocols Distance Vector Link State Path Vector Distance Vector Routing Protocols Link State Routing Protocols Path Vector RIPv2 EIGRP OSPFv2 IS-IS BGP-4 RIPng EIGRP for IPv6 OSPFv3 * IS-IS for IPv6 BGP-4 for IPv6 or MP-BGP IPv4 IPv6 * OSPFv3 supports routing both IPv4 and IPv6.
/24 Topology /24 /24
Initial Config – R1 interface GigabitEthernet0/0 ip address 172.16.1.1 255.255.255.0 ! interface Serial0/0/0 description R1-->R2 bandwidth 64 ip address 10.1.102.1 255.255.255.248 clock rate 64000 interface Serial0/0/1 description R1-->R3 bandwidth 1544 ip address 10.1.103.1 255.255.255.248
Initial Config – R2 interface GigabitEthernet0/0 ip address 172.16.2.1 255.255.255.0 ! interface Serial0/0/0 description R2-->R1 bandwidth 64 ip address 10.1.102.2 255.255.255.248 interface Serial0/0/1 description R2-->R3 bandwidth 1024 ip address 10.1.203.2 255.255.255.248 clock rate 64000
Initial Config – R3 interface GigabitEthernet0/0 ip address 172.16.3.1 255.255.255.0 ! interface Serial0/0/0 description R3-->R1 bandwidth 1544 ip address 10.1.103.3 255.255.255.248 clock rate 64000 interface Serial0/0/1 description R3-->R2 bandwidth 1024 ip address 10.1.203.3 255.255.255.248
Configuring Basic EIGRP R1(config)# router eigrp 1 R1(config-router)# network 172.16.0.0 R1(config-router)# network 10.0.0.0 R1(config-router)# R2(config)# router eigrp 1 R2(config-router)# network 172.16.0.0 R2(config-router)# network 10.0.0.0 R2(config-router)# /29 255.255.255.248 255.255.255.255 - 255.255.255.248 ------------------ 0. 0. 0. 7 R3(config)# router eigrp 1 R3(config-router)# network 172.16.3.0 0.0.0.255 R3(config-router)# network 10.1.103.0 0.0.0.7 R3(config-router)# network 10.1.203.0 0.0.0.7 R3(config-router)#
EIGRP Router ID R1(config)# router eigrp 1 R1(config-router)# eigrp router-id 1.1.1.1 R2(config)# router eigrp 1 R2(config-router)# eigrp router-id 2.2.2.2 R3(config)# router eigrp 1 R3(config-router)# eigrp router-id 3.3.3.3 *Feb 1 20:00:37.883: %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 10.1.103.1 (Serial0/0/0) is down: route configuration changed *Feb 1 20:00:42.279: %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 10.1.103.1 (Serial0/0/0) is up: new adjacency
EIGRP Packets IP EIGRP relies on 5 types of packets to maintain its various tables and establish complex relationships with neighbor routers. Packet Type Description Hello Used to discover other EIGRP routers in the network. Acknowledgement Used to acknowledge the receipt of any EIGRP packet. Update Convey routing information to known destinations. Query Used to get specific information from a neighbor router. Reply Used to respond to a query.
EIGRP Hello Packets Hello packets are used to discover & form adjacencies with neighbors. Multicasted to: IPv4: 224.0.0.10 IPv6: FF02::A Hello packets are always sent unreliably. Therefore Hello packets do not require acknowledgment.
EIGRP Neighbors Amount of time since this neighbor was added to the neighbor table. R2# show ip eigrp neighbors EIGRP-IPv4 Neighbors for AS(1) H Address Interface Hold Uptime SRTT RTO Q Seq (sec) (ms) Cnt Num 1 10.1.203.3 Se0/0/1 10 00:03:15 28 168 0 19 0 10.1.102.1 Se0/0/0 12 00:13:22 23 2340 0 46 R2# Neighbor’s IPv4 address The local interface receiving EIGRP Hello packets. Seconds remaining before declaring neighbor down. Reset to hold time when Hello is received.
EIGRP Interfaces R2# show ip eigrp interfaces EIGRP-IPv4 Interfaces for AS(1) Xmit Queue PeerQ Mean Pacing Time Multicast Pending Interface Peers Un/Reliable Un/Reliable SRTT Un/Reliable Flow Timer Routes Se0/0/0 1 0/0 0/0 23 10/390 478 0 Se0/0/1 1 0/0 0/0 28 0/23 139 0 Gi0/0 0 0/0 0/0 0 0/0 0 0 R2#
EIGRP Interfaces R2# show ip eigrp interfaces detail EIGRP-IPv4 Interfaces for AS(1) Xmit Queue PeerQ Mean Pacing Time Multicast Pending Interface Peers Un/Reliable Un/Reliable SRTT Un/Reliable Flow Timer Routes Se0/0/0 1 0/0 0/0 23 10/390 478 0 Hello-interval is 5, Hold-time is 15 Split-horizon is enabled Next xmit serial <none> Packetized sent/expedited: 20/0 Hello's sent/expedited: 2186/4 Un/reliable mcasts: 0/0 Un/reliable ucasts: 23/23 Mcast exceptions: 0 CR packets: 0 ACKs suppressed: 0 Retransmissions sent: 0 Out-of-sequence rcvd: 1 Topology-ids on interface - 0 Authentication mode is not set <rest of output omitted> Expedited hellos are sent during initialization, startup EIGRP uses small hello packets. These are sent periodically approximately every 5 seconds on all kind of interfaces except low-speed (T1 or slower) NBMA networks, where they are sent by default every 60 seconds. The time interval is called a hello timer.
IPv4 Routing Protocols R2# show ip protocols *** IP Routing is NSF aware *** Routing Protocol is "application" Sending updates every 0 seconds Invalid after 0 seconds, hold down 0, flushed after 0 Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set Maximum path: 32 Routing for Networks: Routing Information Sources: Gateway Distance Last Update Distance: (default is 4) <continued next slide> Expedited hellos are sent during initialization, startup
IPv4 Routing Protocols EIGRP Process ID EIGRP Router ID Routing Protocol is "eigrp 1" Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set Default networks flagged in outgoing updates Default networks accepted from incoming updates EIGRP-IPv4 Protocol for AS(1) Metric weight K1=1, K2=0, K3=1, K4=0, K5=0 NSF-aware route hold timer is 240 Router-ID: 2.2.2.2 Topology : 0 (base) Active Timer: 3 min Distance: internal 90 external 170 Maximum path: 4 Maximum hopcount 100 Maximum metric variance 1 Automatic Summarization: disabled Routing for Networks: 10.0.0.0 172.16.0.0 Routing Information Sources: Gateway Distance Last Update 10.1.102.1 90 00:23:27 10.1.203.3 90 00:23:28 R2# IPv4 Routing Protocols EIGRP Process ID EIGRP Router ID Hopcount is not a metric Variance – For unequal cost load balancing Starting with 15.0 no auto-summary is the default network statements neighbors Expedited hellos are sent during initialization, startup
IPv4 Routing Protocols EIGRP Composite Metric Formula Routing Protocol is "eigrp 1" Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set Default networks flagged in outgoing updates Default networks accepted from incoming updates EIGRP-IPv4 Protocol for AS(1) Metric weight K1=1, K2=0, K3=1, K4=0, K5=0 NSF-aware route hold timer is 240 Router-ID: 2.2.2.2 Topology : 0 (base) Active Timer: 3 min Distance: internal 90 external 170 Maximum path: 4 Maximum hopcount 100 Maximum metric variance 1 Automatic Summarization: disabled Routing for Networks: 10.0.0.0 172.16.0.0 Routing Information Sources: Gateway Distance Last Update 10.1.102.1 90 00:23:27 10.1.203.3 90 00:23:28 R2# IPv4 Routing Protocols EIGRP Composite Metric Formula METRIC = ( [K1 x Bandwidth + (K2 x Bandwidth) / (256-load) + K3 x Delay] x [K5 / (Reliability + K4] ) x 256 METRIC = ( [1 x Bandwidth + (0 x Bandwidth) / (256-load) + 1 x Delay] x [0 / (Reliability + 0] ) x 256 METRIC = (1 x Bandwidth + 1 x Delay) x 256 NOTE: The multiplication by 256 is a legacy feature to maintain backwards compatibility with IGRP. Expedited hellos are sent during initialization, startup
EIGRP Wide Metrics The EIGRP composite cost metric does not scale correctly for high-bandwidth interfaces or Ethernet channels, resulting in incorrect or inconsistent routing behavior. The lowest delay that can be configured for an interface is 10 microseconds. As a result, high-speed interfaces, such as 10 Gigabit Ethernet (GE) interfaces, or high-speed interfaces channeled together (GE ether channel) will appear to EIGRP as a single GE interface. To resolve this issue, the EIGRP Wide Metrics feature supports 64-bit metric calculations The 64-bit metric calculations work only in EIGRP named mode configurations. The EIGRP Wide Metric is beyond the scope of this book. For more information, see the Cisco.com document “EIGRP Wide Metrics,” at http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/iproute_eigrp/configuration/15-mt/ire-15-mt-book/ire-wid-met.pdf.
Configuring Passive Interfaces X R1(config)# router eigrp 1 R1(config-router)# passive-interface g0/0 X X R2(config)# router eigrp 1 R2(config-router)# passive-interface g0/0 R3(config)# router eigrp 1 R3(config-router)# passive-interface g0/0
EIGRP Interfaces after Passive R2# show ip eigrp interfaces EIGRP-IPv4 Interfaces for AS(1) Xmit Queue PeerQ Mean Pacing Time Multicast Pending Interface Peers Un/Reliable Un/Reliable SRTT Un/Reliable Flow Timer Routes Se0/0/0 1 0/0 0/0 23 10/390 478 0 Se0/0/1 1 0/0 0/0 28 0/23 139 0 R2# R2# show ip protocols <selected output> Routing Protocol is "eigrp 1” Passive Interface(s): GigabitEthernet0/0 Routing for Networks: 10.0.0.0 172.16.0.0
Observing Hello Packets R1(config)# interface serial 0/0/0 R1(config-if)# no ip address R1(config-if)# *Feb 1 21:34:02.926: %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 10.1.102.2 (Serial0/0/0) is down: interface down -------------------------------------------------------------------------------------------------- R2# debug eigrp packets hello (HELLO) EIGRP Packet debugging is on R2# *Feb 1 21:28:40.602: EIGRP: Received HELLO on Se0/0/0 - paklen 20 nbr 10.1.102.1 *Feb 1 21:28:41.062: EIGRP: Sending HELLO on Se0/0/0 - paklen 20 *Feb 1 21:28:41.062: AS 1, Flags 0x0:(NULL), Seq 0/0 interfaceQ 0/0 iidbQ un/rely 0/0 *Feb 1 21:28:45.354: EIGRP: Sending HELLO on Se0/0/0 - paklen 20 *Feb 1 21:28:45.354: AS 1, Flags 0x0:(NULL), Seq 0/0 interfaceQ 0/0 iidbQ un/rely 0/0 *Feb 1 21:28:50.174: EIGRP: Sending HELLO on Se0/0/0 - paklen 20 *Feb 1 21:28:50.174: AS 1, Flags 0x0:(NULL), Seq 0/0 interfaceQ 0/0 iidbQ un/rely 0/0 *Feb 1 21:28:55.602: %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 10.1.102.1 (Serial0/0/0) is down: holding time expired X Shutdown on a serial link in a lab environment does not work because it brings down both ends of the link
EIGRP Neighbors w/ Differing Timers 5/15 5/15 R2# show ip eigrp interfaces detail serial 0/0/0 EIGRP-IPv4 Interfaces for AS(1) Xmit Queue PeerQ Mean Pacing Time Multicast Pending Interface Peers Un/Reliable Un/Reliable SRTT Un/Reliable Flow Timer Routes Se0/0/0 1 0/0 0/0 68 10/390 390 0 Hello-interval is 5, Hold-time is 15 <> ---------------------------------------------------------------------------------------- R1# show ip eigrp interfaces detail serial 0/0/0 Se0/0/0 1 0/0 0/0 1290 10/390 6826 0 R1#show ip eigrp neighbors EIGRP-IPv4 Neighbors for AS(1) H Address Interface Hold Uptime SRTT RTO Q Seq (sec) (ms) Cnt Num 0 10.1.102.2 Se0/0/0 11 00:03:36 28 2340 0 26
EIGRP Neighbors w/ Differing Timers 5/15 10/30 R1(config)# interface serial 0/0/0 R1(config-if)# ip hello-interval eigrp 1 10 R1(config-if)# ip hold-time eigrp 1 30 R1(config-if)# end R1# R1# show ip eigrp interfaces detail serial 0/0/0 EIGRP-IPv4 Interfaces for AS(1) Xmit Queue PeerQ Mean Pacing Time Multicast Pending Interface Peers Un/Reliable Un/Reliable SRTT Un/Reliable Flow Timer Routes Se0/0/0 1 0/0 0/0 1290 10/390 6826 0 Hello-interval is 10, Hold-time is 30 <> R1# show ip eigrp neighbors EIGRP-IPv4 Neighbors for AS(1) H Address Interface Hold Uptime SRTT RTO Q Seq (sec) (ms) Cnt Num 0 10.1.102.2 Se0/0/0 12 00:25:47 1290 5000 0 54
Initial Route Discovery Process to establish and discover neighbor routes occurs simultaneously in EIGRP: A new router (router A) comes up on the link and sends a hello packet through all of its EIGRP-configured interfaces. Routers receiving the hello packet (router B) on one interface reply with update packets that contain all the routes they have in their routing tables, except those learned through that interface (split horizon). Router B sends an update packet to router A, but a neighbor relationship is not established until router B sends a hello packet to router A. The update packet from router B has the initialization bit set, indicating that this is the initialization process. The update packet includes information about the routes that the neighbor (router B) is aware of, including the metric that the neighbor is advertising for each destination. After both routers have exchanged hellos, and the neighbor adjacency is established, router A replies to router B with an ACK packet, indicating that it received the update information. Router A assimilates all update packets in its topology table. The topology table includes all destinations advertised by neighboring (adjacent) routers. It lists each destination, all the neighbors that can reach the destination, and their associated metric. Router A then sends an update packet to router B. Upon receiving the update packet, router B sends an ACK packet to router A. After router A and router B successfully receive the update packets from each other, they are ready to update their routing tables with the successor routes from the topology table.
Observing EIGRP R3# debug eigrp packet R3# conf t R3(config)# router eigrp 1 R3(config-router)# network 10.1.203.0 0.0.0.7 *Feb 1 22:06:45.678: EIGRP: Sending HELLO on Se0/0/1 - paklen 20 *Feb 1 22:06:45.698: EIGRP: Received HELLO on Se0/0/1 - paklen 30 nbr 10.1.203.2 *Feb 1 22:06:45.698: %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 10.1.203.2 (Serial0/0/1) is up: new adjacency *Feb 1 22:06:45.698: *Feb 1 22:06:45.698: EIGRP: Enqueueing UPDATE on Se0/0/1 - paklen 0 nbr 10.1.203.2 tid 0 iidbQ un/rely 0/1 peerQ un/rely 0/0 *Feb 1 22:06:45.706: EIGRP: Sending UPDATE on Se0/0/1 - paklen 0 nbr 10.1.203.2 tid 0 *Feb 1 22:06:45.706: AS 1, Flags 0x1:(INIT), Seq 63/0 interfaceQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/1 *Feb 1 22:06:47.770: EIGRP: Received UPDATE on Se0/0/1 - paklen 222 nbr 10.1.203.2 *Feb 1 22:06:47.770: AS 1, Flags 0x0:(NULL), Seq 64/63 interfaceQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/1 *Feb 1 22:06:47.770: EIGRP: Enqueueing ACK on Se0/0/1 - paklen 0 nbr 10.1.203.2 tid 0 *Feb 1 22:06:47.770: Ack seq 64 iidbQ un/rely 0/0 peerQ un/rely 1/1 *Feb 1 22:06:47.774: EIGRP: Sending ACK on Se0/0/1 - paklen 0 nbr 10.1.203.2 tid 0 *Feb 1 22:06:47.774: AS 1, Flags 0x0:(NULL), Seq 0/64 interfaceQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 1/1 *Feb 1 22:06:47.778: EIGRP: Received ACK on Se0/0/1 - paklen 0 nbr 10.1.203.2 *Feb 1 22:06:47.778: AS 1, Flags 0x0:(NULL), Seq 0/64 interfaceQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/1
Observing EIGRP R3# show ip eigrp traffic EIGRP-IPv4 Traffic Statistics for AS(1) Hellos sent/received: 8319/6103 Updates sent/received: 48/43 Queries sent/received: 5/9 Replies sent/received: 9/5 Acks sent/received: 51/57 SIA-Queries sent/received: 0/0 SIA-Replies sent/received: 0/0 Hello Process ID: 145 PDM Process ID: 106 Socket Queue: 0/10000/2/0 (current/max/highest/drops) Input Queue: 0/2000/2/0 (current/max/highest/drops) R3#
IPv4 Routing Table – EIGRP Routes The EIGRP World from R2’s Distance Vector Perspective R2# show ip route eigrp Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area <output omitted> Gateway of last resort is not set 10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks D 10.1.103.0/29 [90/3523840] via 10.1.203.3, 00:58:05, Serial0/0/1 172.16.0.0/16 is variably subnetted, 4 subnets, 2 masks D 172.16.1.0/24 [90/3526400] via 10.1.203.3, 00:58:05, Serial0/0/1 D 172.16.3.0/24 [90/3014400] via 10.1.203.3, 00:58:05, Serial0/0/1 R2#
DUAL Concepts Diffusing Update Algorithm is the algorithm used by EIGRP. Determines: Best loop-free path Loop-free backup paths (which can be used immediately) DUAL also provides the following: Fast convergence Minimum bandwidth usage with bounded updates DUAL uses several terms that are discussed in more detail throughout this section: Successor Feasible distance Feasible successor Reported distance or advertised distance Feasible condition or feasibility condition Diffusing Update Algorithm is the algorithm used by EIGRP. Determines: best loop-free path loop-free backup paths (which can be used immediately) DUAL also provides the following: Fast convergence Minimum bandwidth usage with bounded updates DUAL uses several terms that are discussed in more detail throughout this section: Successor Feasible distance Feasible successor Reported distance or advertised distance Feasible condition or feasibility condition
I can get to 10.0.0.0/8 with a metric of 300. 10.0.0.0/8 RX R2 R3 I will choose R3 to get to 10.0.0.0/8 which means I have a cost of 120. Is R2 a valid back up? RA R1 RB No, because it comes back through me R1 (loop). It only knows this route because of me.
I can get to 10.0.0.0/8 with a metric of 300. RX RB R2 R3 I will choose R3 to get to 10.0.0.0/8 which means I have a cost of 120. Is R2 a valid back up? RA R1 Yes, because it has its own path to 10.0.0.0/8. (no loop)
I can only use R2 as a backup if it reports a cost less than my total cost through R3. EIGRP is a distance vector routing protocol. Does not see any topology map. Can’t tell if there is a loop or not? To play it safe, EIGRP only accepts a backup route if it meets the Feasibility Condition (coming). R1 will only use R2 if R2’s metric to 10.0.0.0/8 is less than R1’s cost through R3.
R2’s EIGRP Topology Table R2# show ip eigrp topology EIGRP-IPv4 Topology Table for AS(1)/ID(2.2.2.2) Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - reply Status, s - sia Status P 10.1.102.0/29, 1 successors, FD is 40512000 via Connected, Serial0/0/0 P 172.16.2.0/24, 1 successors, FD is 28160 via Connected, GigabitEthernet0/0 P 10.1.103.0/29, 1 successors, FD is 3523840 via 10.1.203.3 (3523840/2169856), Serial0/0/1 via 10.1.102.1 (41024000/2169856), Serial0/0/0 P 172.16.3.0/24, 1 successors, FD is 3014400 via 10.1.203.3 (3014400/28160), Serial0/0/1 via 10.1.102.1 (41026560/2172416), Serial0/0/0 P 10.1.203.0/29, 1 successors, FD is 3011840 via Connected, Serial0/0/1 P 172.16.1.0/24, 1 successors, FD is 3526400 via 10.1.203.3 (3526400/2172416), Serial0/0/1 via 10.1.102.1 (40514560/28160), Serial0/0/0 R2#
The Successor R2# show ip eigrp topology P 172.16.3.0/24, 1 successors, FD is 3014400 via 10.1.203.3 (3014400/28160), Serial0/0/1 via 10.1.102.1 (41026560/2172416), Serial0/0/0 R3: Successor Outbound interface to reach this network Feasible distance Next hop address of the successor Successor’s (R3’s) Reported Distance Successor
The Feasible Successor The reported distance - EIGRP neighbor’s FD to the same destination network. The metric that a router reports to a neighbor about its own cost to that network. Feasibility Condition: The FC is met when a neighbor’s reported distance (RD) to a network is less than the local router’s FD to the same destination network. R2# show ip eigrp topology P 172.16.3.0/24, 1 successors, FD is 3014400 via 10.1.203.3 (3014400/28160), Serial0/0/1 via 10.1.102.1 (41026560/2172416), Serial0/0/0 R1: Feasible Successor Outbound interface to reach this network R2’s feasible distance if R1 becomes the Successor. This would the metric in R2’s routing table via R1. R1’s (feasible successor) Reported Distance to R2 Next hop address of the Feasible Successor Feasible Successor
Why is R1 a Feasible Successor? R2# show ip eigrp topology P 172.16.3.0/24, 1 successors, FD is 3014400 via 10.1.203.3 (3014400/28160), Serial0/0/1 via 10.1.102.1 (41026560/2172416), Serial0/0/0 R3: Successor R1: Feasible Successor Feasibility Condition: R1’s Reported Distance is less than R2’s Feasible Distance via R3, so R1 is a Feasible Successor. A Feasible Successor is a neighbor who has a loop-free backup path to the same network as the successor by satisfying the feasibility condition. Can become new successor with no packets lost. Feasible Successor
Why is R1 a Feasible Successor? R2# show ip eigrp topology P 172.16.3.0/24, 1 successors, FD is 3014400 via 10.1.203.3 (3014400/28160), Serial0/0/1 via 10.1.102.1 (41026560/2172416), Serial0/0/0 R3: Successor R1: Feasible Successor My current metric (feasible distance) 3,014,400. If current best path to 172.16.3.0 becomes unavailable you will become my successor with a (feasible distance) of 41,026,560 (slower bw and additional delay) My cost to 172.16.3.0 is 2,172,416. If this is less than your current metric (feasible distance) then I am a feasible successor. Successor Feasible Successor
Using a Feasible Successor? My new successor is R1 with a metric (feasible distance) of 41,026,560 X I’m the new successor R2(config)# interface serial 0/0/1 R2(config-if)# shutdown R2(config-if)# end *Feb 1 23:51:54.218: %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 10.1.203.3 (Serial0/0/1) is down: interface down R2# show ip eigrp topology <> P 172.16.3.0/24, 1 successors, FD is 3014400 via 10.1.102.1 (41026560/2172416), Serial0/0/0 R2# show ip route eigrp D 172.16.3.0/24 [90/41026560] via 10.1.102.1, 00:00:22, Serial0/0/0 R2# R2 immediately uses Feasible Successor from EIGRP Topology Table
Back to normal Feasible Successor Successor R2(config)# interface serial 0/0/1 R2(config-if)# no shutdown R2(config-if)# end *Feb 2 00:02:59.422: %LINK-3-UPDOWN: Interface Serial0/0/1, changed state to up *Feb 2 00:03:03.346: %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 10.1.203.3 (Serial0/0/1) is up: new adjacency R2# show ip route eigrp <> D 172.16.3.0/24 [90/3014400] via 10.1.203.3, 00:00:09, Serial0/0/1 R2#
IPv4 Routing Table – EIGRP Routes The EIGRP World from R1’s Distance Vector Perspective R1# show ip route eigrp Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area <output omitted> Gateway of last resort is not set 10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks D 10.1.203.0/29 [90/3523840] via 10.1.103.3, 00:07:11, Serial0/0/1 172.16.0.0/16 is variably subnetted, 4 subnets, 2 masks D 172.16.2.0/24 [90/3526400] via 10.1.103.3, 00:07:09, Serial0/0/1 D 172.16.3.0/24 [90/2172416] via 10.1.103.3, 00:07:09, Serial0/0/1 R1#
R1’s EIGRP Topology Table R1# show ip eigrp topology EIGRP-IPv4 Topology Table for AS(1)/ID(1.1.1.1) Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - reply Status, s - sia Status P 10.1.102.0/29, 1 successors, FD is 40512000 via Connected, Serial0/0/0 P 172.16.2.0/24, 1 successors, FD is 3526400 via 10.1.103.3 (3526400/3014400), Serial0/0/1 via 10.1.102.2 (40514560/28160), Serial0/0/0 P 10.1.103.0/29, 1 successors, FD is 2169856 via Connected, Serial0/0/1 P 172.16.3.0/24, 1 successors, FD is 2172416 via 10.1.103.3 (2172416/28160), Serial0/0/1 P 10.1.203.0/29, 1 successors, FD is 3523840 via 10.1.103.3 (3523840/3011840), Serial0/0/1 via 10.1.102.2 (41024000/3011840), Serial0/0/0 P 172.16.1.0/24, 1 successors, FD is 28160 via Connected, GigabitEthernet0/0 R1#
The Successor R1# show ip eigrp topology P 172.16.3.0/24, 1 successors, FD is 2172416 via 10.1.103.3 (2172416/28160), Serial0/0/1 R3: Successor Outbound interface to reach this network Feasible distance Next hop address of the successor Successor’s (R3’s) Reported Distance NO feasible successor To be a feasible successor, R2 must satisfy the Feasibility Condition.
Why is R2 is NOT a Feasible Successor? R1# show ip eigrp topology all-links P 172.16.3.0/24, 1 successors, FD is 2172416, serno 23 via 10.1.103.3 (2172416/28160), Serial0/0/1 via 10.1.102.2 (41026560/3014400), Serial0/0/0 R3: Successor R2: NOT Feasible Successor Feasibility Condition: R2’s Reported Distance is NOT less than R1’s Feasible Distance via R3, so R2 is NOT a Feasible Successor. Does this mean R2 cannot be used if the current best path fails? No, R2 can be used, but there will be a longer delay before adding it to the routing table. DUAL will need to find (Query) R2 to see if it has a route.
DUAL: An Introduction R2 sends updates out all interfaces Not shown X
Observing EIGRP X Reply Query Query Reply R1# debug eigrp fsm EIGRP Finite State Machine debugging is on R1# conf t Enter configuration commands, one per line. End with CNTL/Z. R1(config)# interface serial 0/0/1 R1(config-if)# shutdown *Feb 2 00:38:10.082: %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 10.1.103.3 (Serial0/0/1) is down: interface down *Feb 2 00:38:10.086: DUAL: Destination 172.16.3.0/24 for tid 0 *Feb 2 00:38:10.086: EIGRP-IPv4(1): Find FS for dest 172.16.3.0/24. FD is 2172416, RD is 2172416 on tid 0 *Feb 2 00:38:10.086: DUAL: AS(1) Dest 172.16.3.0/24 entering active state for tid 0. *Feb 2 00:38:10.086: EIGRP-IPv4(1): Set reply-status table. Count is 1. *Feb 2 00:38:10.554: DUAL: AS(1) Removing dest 172.16.3.0/24, nexthop 10.1.103.3 *Feb 2 00:38:10.554: EIGRP-IPv4(1): rcvreply: 172.16.3.0/24 via 10.1.102.2 metric 41026560/3014400 for tid *Feb 2 00:38:10.554: EIGRP-IPv4(1): Find FS for dest 172.16.3.0/24. FD is 72057594037927935, RD is 72057594037927935 on tid 0found *Feb 2 00:38:10.554: DUAL: AS(1) RT installed 172.16.3.0/24 via 10.1.102.2 *Feb 2 00:38:10.554: DUAL: AS(1) Send update about 172.16.3.0/24. Reason: metric chg on tid 0 Query Reply X Neighbor change Find FS for 172.17.3.0 – There isn’t one DUAL enters active state Set reply status – R1 Sends Query Removes current route via R3 from routing table DUAL receives a Reply from R2 with metric 41026560 and RD or 3014400 See if there is a FS for this (no one responds – none) Remove R3 as successor from topology table R1 is new successor and route is installed. Send routing update to any neighbors about new route to 172.16.3.0
New Route X I’m the new successor My new successor is R2 with a metric (feasible distance) of 41,026,560. I don’t have a feasible successor. X R1# show ip eigrp topology <> P 172.16.3.0/24, 1 successors, FD is 41026560 via 10.1.102.2 (41026560/3014400), Serial0/0/0 R1# R1# show ip route eigrp D 172.16.3.0/24 [90/41026560] via 10.1.102.2, 00:14:08, Serial0/0/0 R1
Back to normal R1(config)# interface serial 0/0/1 R1(config-if)# no shutdown R1(config-if)# end *Feb 2 01:08:40.865: %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 10.1.103.3 (Serial0/0/1) is up: new adjacency R1# R1# show ip eigrp topology <> P 172.16.3.0/24, 1 successors, FD is 2172416 R1# via 10.1.103.3 (2172416/28160), Serial0/0/1 R1# show ip route eigrp D 172.16.3.0/24 [90/2172416] via 10.1.103.3, 00:00:13, Serial0/0/1 48
EIGRP Queries, Stub Routing, Summarization
X X EIGRP Queries Queries Replies Router B Queries Replies Router A X X When there is no feasible successor DUAL puts the route into Active (topology table) and sends queries to neighbors looking for another path.
EIGRP Queries and Stuck in Active Router loses a route and does not have an FS in its topology table, it looks for an alternative path to the destination. - known as going active on a route If a neighbor does not have an alternative route, it queries each of its own neighbors for an alternative path. The queries then propagate through the network, thus creating an expanding tree of queries.
X X X Stuck in Active (SIA) Queries Replies SIA Router C Stuck in Active (SIA) Router D X Router B Queries Replies SIA Router A X X When EIGRP returns a stuck in active (SIA) message, it means that it has not received a reply to a query. Summarization can help prevent SIA.
Stuck-in-Active EIGRP 101 EIGRP 102 The most common reasons for SIA routes are as follows: The router is too busy to answer the query The link between the two routers is not good A failure causes traffic on a link to flow in only one direction. This is called a unidirectional link. Misconceptions Using multiple EIGRP domains (AS’s) to simulate OSPF areas (later) will help limit the scope of the queries. This is not true, the boundary router will create a new EIGRP query into the other EIGRP domain.
Queries Optimizing EIGRP Reduce queries EIGRP Summarization EIGRP Stub Routing Reduce the affect of SIAs EIGRP Active Enhancement Process
Reduce Queries by using Summary Routes HQ(config)# interface serial 0/0/0 HQ(config-if)# ip summary-address eigrp 1 192.168.0.0 255.255.0.0 HQ performs summarization for all remote networks. A summary route is announced to other routers, like router GW.
Reduce Queries by using Summary Routes ? Connectivity to the remote location fails HQ has no feasible successors to reach the lost network HQ sends a query to its neighbors including GW. GW receives a query for a network 192.168.12.0/24… Immediately responds with a reply message without further forwarding the query because it has a summary route 192.168.0.0/16 from HQ, which also describes 192.168.12.0/24 prefix. Because this route was learned from router HQ, router GW will respond that it does not have an alternative path for 192.168.12.0/24. The summary is still valid as long as there is one prefix covered by the summary.
Manual Summarization EIGRP can be configured to summarize routes, whether or not automatic summarization (auto-summary) is enabled. Modified topology. EIGRP can be configured to summarize routes, whether or not automatic summarization (auto-summary) is enabled.
Manual Summarization 192.168.1.0/24, 192.168.2.0/24, 192.168.3.0/24 192.168.1.0/24, 192.168.2.0/24, 192.168.3.0/24 Only pertinent routes shown R1# show ip route D 192.168.1.0/24 [90/2172416] via 192.168.10.6, 02:07:38, S0/0/1 D 192.168.2.0/24 [90/2297856] via 192.168.10.6, 00:00:34, S0/0/1 D 192.168.3.0/24 [90/2297856] via 192.168.10.6, 00:00:18, S0/0/1 R2# show ip route D 192.168.1.0/24 [90/3014400] via 192.168.10.10, 02:08:50, S0/0/1 D 192.168.2.0/24 [90/3139840] via 192.168.10.10, 00:01:46, S0/0/1 D 192.168.3.0/24 [90/3139840] via 192.168.10.10, 00:01:30, S0/0/1 R1 and R2 routing tables show these additional networks in their routing tables. Instead of sending three separate networks, R3 can summarize the 192.168.1.0/24, 192.168.2.0/24, and 192.168.3.0/24 networks as a single route. Instead of sending three separate networks, R3 can summarize the 192.168.1.0/24, 192.168.2.0/24, and 192.168.3.0/24 networks as a single route.
Determining the Summary EIGRP Route 1. Write out the networks that you want to summarize in binary. 2. Find the matching bits. Count the number of leftmost matching bits, which in this example is 22. This number becomes your subnet mask for the summarized route: /22 or 255.255.252.0. 3. To find the network address for summarization, copy the matching 22 bits and add all 0 bits to the end to make 32 bits. The result is the summary network address and mask for 192.168.0.0/22 1. Write out the networks that you want to summarize in binary. 2. Find the matching bits. Count the number of leftmost matching bits, which in this example is 22. This number becomes your subnet mask for the summarized route: /22 or 255.255.252.0. 3. To find the network address for summarization, copy the matching 22 bits and add all 0 bits to the end to make 32 bits. The result is the summary network address and mask for 192.168.0.0/22
Configure EIGRP Manual Summarization 192.168.0.0/22 192.168.0.0/22 Router(config-if)# ip summary-address eigrp as-number network-address subnet-mask R3(config)# interface serial 0/0/0 R3(config-if)# ip summary-address eigrp 1 192.168.0.0 255.255.252.0 R3(config)# interface serial 0/0/1 R3# show ip route <output omitted> D 192.168.0.0/22 is a summary, 00:00:06, Null0 Creates a Null0 summary route Because R3 has two EIGRP neighbors, the EIGRP manual summarization in configured on both Serial 0/0/0 and Serial 0/0/1.
Verify EIGRP Manual Summarization 192.168.0.0/22 192.168.0.0/22 R1# show ip route <output omitted> D 192.168.0.0/22 [90/2172416] via 192.168.10.6, 00:01:11, Serial0/0/1 R2# show ip route D 192.168.0.0/22 [90/3014400] via 192.168.10.10, 00:00:23, Serial0/0/1 Fewer number of total routes in routing table - Faster routing table lookup process. Summary routes also require less bandwidth and memory Single route can be sent rather than multiple individual routes. NOTE: The minimum metric of specified routes is used as the metric of the summary route. Summary routes lessen the number of total routes in routing tables, which makes the routing table lookup process more efficient. Summary routes also require less bandwidth utilization for the routing updates because a single route can be sent rather than multiple individual routes.
I’m an EIGRP for IPv4 router configured for automatic summarization. Automatic Summarization at Classful Network Boundary I’m an EIGRP for IPv4 router configured for automatic summarization. IPv4 Routing Table 172.16.1.0/24 172.16.2.0/24 172.16.3.0/24 172.17.0.0/30 R1 R2 172.16.0.0/16 via R1 Summary Update: 172.16.0.0/16 Classful Networks Class A: 0.0.0.0 to 127.255.255.255 Default Mask: 255.0.0.0 or /8 Class B: 128.0.0.0 to 191.255.255.255 Default Mask: 255.255.0.0 or /16 Class C: 192.0.0.0 to 223.255.255.255 Default Mask: 255.255.255.0 or /24 When enabled, EIGRP summarizes at classful boundaries. EIGRP groups subnets into their Class A, B, or C network address and creates a single entry. Media Description: Use graphic from powerpoint
EIGRP for IPv4 automatic summarization defaults Since IOS 15.0(1)M and 12.2(33), automatic summarization is disabled. R1(config-router)# no auto-summary Prior, automatic summarization was enabled. R1(config-router)# auto-summary 172.16.1.0/24 172.16.2.0/24 172.16.3.0/24 172.16.1.0/24 172.16.2.0/24 172.16.3.0/24 R3# show ip route eigrp <Output omitted> 172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks D 172.16.1.0/24 [90/2170112] via 192.168.10.5, 02:21:10, Serial0/0/0 D 172.16.2.0/24 [90/3012096] via 192.168.10.9, 02:21:10, Serial0/0/1 D 172.16.3.0/30 [90/41024000] via 192.168.10.9, 02:21:10, Serial0/0/1 [90/41024000] via 192.168.10.5, 02:21:10, Serial0/0/0 R3#
Propagating a Default Route Default Static Route Propagating a Default Route Redistribute static Redistribute static R2(config)# ip route 0.0.0.0 0.0.0.0 serial 0/1/0 R2(config)# router eigrp 1 R2(config-router)# redistribute static Better R2(config)# ip route 0.0.0.0 0.0.0.0 serial 0/1/0 R2(config)# interface serial 0/0/0 R2(config-if)# ip summary-address eigrp 1 0.0.0.0 0.0.0.0 R2(config)# interface serial 0/0/1
Queries Optimizing EIGRP Reduce queries EIGRP Summarization EIGRP Stub Routing Reduce the affect of SIAs EIGRP Active Enhancement Process
EIGRP Interfaces The summary route of 192.168.16.0/23 is installed in HQ’s route table rather than the specific (directly connected) network 192.168.16.0/24 because 192.168.16.0/24 is included in the summary. HQ# show ip route eigrp D 192.168.0.0/24 [90/409600] via 172.16.1.2, 00:12:07, Ethernet0/0 D 192.168.16.0/23 [90/307200] via 172.16.1.2, 00:12:07, Ethernet0/0 D EX 192.168.18.0/24 [170/307200] via 172.16.1.2, 00:12:07, Ethernet0/0 BR1A announces to HQ: Summary route to 192.168.16.0/23 (192.168.16.0/24 and 192.168.17.0/24) It’s static route to 192.168.18.0/24 that it redistributes into EIGRP and announces the prefix as an external EIGRP route to HQ. BR1A also advertises its own directly connected networks 192.168.0.0/24 and 192.168.16.0/24
Stub Routers X X Stub Queries EIGRP Updates X X Stub Queries Stub Routers learn routes from nonstub routers but… Stub routers do not forward EIGRP learned routes to other neighbors Nonstub routers do not send query messages to stub routers…. Stub will send what it wants (if anything).
Stub Router Options Options – One or more, except for receive-only connected – Sends connected routes covered by a network statement. Most widely practical stub option (default) summary - Sends summary routes, manually created or automatic. (default) static - Sends static routes redistributed with the redistribute static command. redistributed – Sends all redistributed routes configured with the redistribute command. receive-only - Restricts the stub router from sharing any of its routes with any other EIGRP router. This option does not permit any other option to be used. This option is rarely used. Router has a single interface or using NAT (later) EIGRP Updates Note: There is one more keyword the leak-map option. The leak-map keyword permits the EIGRP stub routing feature to reference a leak map that identifies routes that are allowed to be advertised on an EIGRP stub router that would normally have been suppressed.
Stub default: connected and summary BR1A(config)# router eigrp 1 BR1A(config-router)# eigrp stub *Oct 18 11:51:16.232: %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 172.16.1.1 (Ethernet0/0) is down: HQ# show ip route eigrp D 192.168.0.0/24 [90/409600] via 172.16.1.2, 00:09:07, Ethernet0/0 D 192.168.16.0/23 [90/307200] via 172.16.1.2, 00:09:07, Ethernet0/0 Default: connected and summary When you configure or change the EIGRP stub options, any neighboring session needs to be torn down and reestablished.
Stub default: connected and summary BR1A(config)# router eigrp 1 BR1A(config-router)# eigrp stub HQ# show ip eigrp neighbors detail EIGRP-IPv4 Neighbors for AS(100) H Address Interface Hold Uptime SRTT RTO Q Seq (sec) (ms) Cnt Num 0 10.2.2.2 Se0/0/0 14 00:21:37 20 120 0 15 Version 16.0/2.0, Retrans: 0, Retries: 0, Prefixes: 3 Topology-ids from peer - 0 Stub Peer Advertising (CONNECTED SUMMARY ) Routes Suppressing queries Max Nbrs: 0, Current Nbrs: 0 HQ# Default: connected and summary
Stub default: connected BR1A(config)# router eigrp 1 BR1A(config-router)# eigrp stub connected HQ# show ip route eigrp D 192.168.0.0/24 [90/409600] via 172.16.1.2, 00:14:52, Ethernet0/0 D 192.168.16.0/24 [90/307200] via 172.16.1.2, 00:14:52, Ethernet0/0 connected – Sends connected routes covered by a network statement. Most widely practical stub option (default)
Stub default: receive-only BR1A(config)# router eigrp 1 BR1A(config-router)# eigrp stub receive-only HQ# show ip route eigrp <No routes learned from BR1A> receive-only - Restricts the stub router from sharing any of its routes with any other EIGRP router. Useful in cases when all hosts behind router BR1A would be translated using NAT with PAT. HQ has no need to be aware of networks behind router BR1A because all outgoing traffic would be destined for BR1A’s egress interface, where NAT would be performed.
Queries Optimizing EIGRP Reduce queries EIGRP Summarization EIGRP Stub Routing Reduce the affect of SIAs EIGRP Active Enhancement Process
Active Process Enhancement feature 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.
X X BEFORE Active Process Enhancement feature. 10.1.1.0/24 gone; no FS Never heard from B So after 3 min reset adjacency along with all networks X Query 3 min timer 10.1.1.0/24 gone; no FS B No entry so sends Query Bad link; reply never makes it No entry send Reply C 10.1.1.0/24 gone; Remove 10.1.1.0/24
X AFTER Active Process Enhancement feature. Thanks for letting me know, I will not terminate our adjacency. 10.1.1.0/24 gone; no FS A Query The neighbor relationship between Routers A and B remains intact. After 1.5 min SIA Query 10.1.1.0/24 gone; no FS SIA Reply: I’m ok but waiting on C B No entry so sends Query After 1.5 min SIA Query (3 attempts until I terminal adjacency with C) Bad link; reply never makes it No entry send Reply C 10.1.1.0/24 gone; Remove 10.1.1.0/24
EIGRP Load Balancing
Variance command Router(config)# router eigrp 1 Router(config-router)# variance multiplier Cisco IOS allows up to 32 equal-cost paths (IOS dependent), 4 by default. EIGRP does unequal cost load balancing, forwarding packets relative to the metric. The variance command: Instructs the router to include routes with a metric less than or equal to n times the minimum metric route for that destination n is the number specified by the variance command (1 -128). Default = 1 The maximum-paths number EIGRP is used to sent the number of load-balancing paths (up to 32 paths). 1 disables load balancing Note: If a path isn't a feasible successor, then it isn't used in load balancing. Note: Load balancing is only performed on traffic that passes through the router, not traffic generated by the router.
Variance command Successor: R3 with a FD of 20 RD FS Succ FS Successor: R3 with a FD of 20 Feasible Successors: R2 and R5 R2’s RD of 10 < R3’s FD of 20 R5’s RD of 10 < R3’s FD of 20 R4 is NOT a FS because it’s RD of 25 > R3’s FD of 20
Variance command RD FS Succ x 2 = 40 R1(config)# router eigrp 110 FS R1(config-router)# variance 2 Variance = 2 R3’s FDv 2 x 20 (FD) = 40 R2 is added as successor to R1’s routing table: R2’s FD of 30 < R3’s FDv of 40 R5 is NOT added to R1’s routing table: R5’s FD of 50 > R3’s FDv of 40 R5 would still be a Feasible Successor Note: R4 is not considered even if it’s FD was < or = R3’s FDv of 40 because it is not a FS The load in is balanced proportional to the bandwidth. FD of the route via router R2 is 30 FD of the route via router R3 is 20 Ratio of traffic between the two paths will be proportional to the metric.
EIGRP over MPLS
Layer 2 and Layer 3 MPLS VPN Solutions Layer 2 MPLS VPN provides a Layer 2 service across the backbone R1 and R2 are connected together on the same IP subnet. Layer 3 MPLS VPN provides a Layer 3 service across the backbone R1 and R2 are connected to ISP edge routers; on each side, a separate IP subnet is used.
Layer 3 MPLS VPNs L3 192.168.1.0/30 network 192.168.2.0/30 network R1 and R2 are configured for EIGRP as if there were a corporate core network between them. EIGRP parameters between R1 and R2 (such as the AS number, authentication password, and so on) are often governed/coordinated by the service provider.
Layer 3 MPLS VPNs R1 establishes an EIGRP neighbor relationship with the PE1 (Provider Edge) router, R2 establishes an EIGRP neighbor relationship with the PE2 router. Routers R1 and R2 do NOT establish an EIGRP neighbor relationship with each other.
Layer 2 MPLS VPNs 192.168.1.100/27 network EIGRP needs to be enabled with the same AS number on both routers. network command includes the interface toward the PE router (PE1 and PE2) over which the routers R1 and R2 will form their neighbor relationship. From the EIGRP perspective, the MPLS backbone and routers PE1 and PE2 are not visible.
Layer 2 MPLS VPNs A neighbor relationship is established directly between routers R1 and R2 over the MPLS backbone.
EIGRP for IPv6 Separate Presentation Can be found on my CIS 185 ROUTE course materials page or by going to: http://www.cabrillo.edu/~rgraziani/ipv6/Rick-Presentations/12-EIGRP-IPv6-RickGraziani.pptx
CIS 185 CCNP ROUTE Chapter 2: Implementing EIGRP Rick Graziani Cabrillo College graziani@cabrillo.edu