Cisco Routing & Switching

EIGRP Summarization Issues

A common issue we can find when we doing summarization in EIGRP is the lost of the optimum path towards a remote network. This is due to the fact that EIGRP supress the most specific subnets, that is, those network advertisements with longer prefixes.

I’m going to simulate this behaviour with a very brief example. I’ll use R1, R2, R4, R8, R9 and R10 from the topology:

 All these routers are running eigrp with auto-summary disabled. Their connected networks are enabled and neighborship is fully established. Sample output from R1:

R1(config)#do sh run | sec eigrp
router eigrp 2
 network 85.0.12.1 0.0.0.0
 network 85.0.145.1 0.0.0.0
 network 85.0.146.1 0.0.0.0
 no auto-summary
R1(config)#do sh ip eigrp ne
IP-EIGRP neighbors for process 2
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
0   85.0.146.9              Se0/0              1 00:00:13  546  3276  0  42
1   85.0.12.2               Fa0/1             10 00:48:18  255  1530  0  39

And R9’s routing table:

R9(config)#do sh ip route
Gateway of last resort is not set
     85.0.0.0/24 is subnetted, 6 subnets
C       85.0.109.0 is directly connected, FastEthernet0/0
D       85.0.108.0 [90/2195456] via 85.0.109.10, 00:00:06, FastEthernet0/0
D       85.0.28.0 [90/2707456] via 85.0.146.1, 00:00:07, Serial0/0
                  [90/2707456] via 85.0.109.10, 00:00:07, FastEthernet0/0
D       85.0.12.0 [90/2195456] via 85.0.146.1, 00:09:49, Serial0/0
D       85.0.145.0 [90/2195456] via 85.0.146.1, 00:09:49, Serial0/0
C       85.0.146.0 is directly connected, Serial0/0

Route learning is normal, EIGRP DUAL calculations injects the correct routes to the RIB (Routing Information Base = Routing table).

Now configure route summarization on R10’s FA0/0 :

R10(config)#int fa0/0
R10(config-if)#ip summary-address eigrp 2 0.0.0.0 0.0.0.0

Notice I’m aggregating all the routes, that is, I’m advertising a default-route to R9. Yes, you just have learnt how to publish a default route on EIGRP.

Review the RIB at R9:

R9#
*Mar  1 01:15:16.283: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 2: Neighbor 85.0.109.10 (FastEthernet0/0) is resync: peer graceful-restart
R9#sh ip route
Gateway of last resort is 85.0.109.10 to network 0.0.0.0
     85.0.0.0/24 is subnetted, 6 subnets
C       85.0.109.0 is directly connected, FastEthernet0/0
D       85.0.108.0 [90/3219456] via 85.0.146.1, 00:00:08, Serial0/0 <-- What the..!!!
D       85.0.28.0 [90/2707456] via 85.0.146.1, 00:00:08, Serial0/0
D       85.0.12.0 [90/2195456] via 85.0.146.1, 00:18:54, Serial0/0
D       85.0.145.0 [90/2195456] via 85.0.146.1, 00:18:54, Serial0/0
C       85.0.146.0 is directly connected, Serial0/0
D*   0.0.0.0/0 [90/307200] via 85.0.109.10, 00:00:08, FastEthernet0/0

Now we have a default route, but, what about the optimal route to 85.0.108.0/24 pointing towards R10? As you can see in the topology, the best route to this network uses R10 as gateway, but now it’s being aggregated within the default route, routing the current traffic through the sub-optimal path: R1-R2-R8:

R9#traceroute 85.0.108.8
Type escape sequence to abort.
Tracing the route to 85.0.108.8
  1 85.0.146.1 60 msec 4 msec 72 msec
  2 85.0.12.2 36 msec 0 msec 48 msec
  3 85.0.28.8 128 msec *  120 msec

Great, in a attempt to improve our network using summarization, we reached a state of suboptimal routing. How can we solve it? Very easy, with leak-maps.

Using Leak Maps to unsuppress more specific networks

Leak maps allows to specify which networks will be advertised together with the aggregated. We just need to select those interesting networks with a prefix-lists and build a route-map based on it:

R10#sh ip prefix-list
ip prefix-list PL_LEAK: 1 entries
   seq 5 permit 85.0.108.0/24
R10#sh route-map
route-map RM_LEAK, permit, sequence 10
  Match clauses:
    ip address prefix-lists: PL_LEAK
  Set clauses:
  Policy routing matches: 0 packets, 0 bytes

Finally we only need to apply this route-map to the summary-address sentence:

R10(config-if)#ip summary-address eigrp 2 0.0.0.0 0.0.0.0 leak-map RM_LEAK
R10(config-if)#
*Mar  1 01:48:21.171: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 2: Neighbor 85.0.109.9 (FastEthernet0/0) is resync: summary configured

EIGRP peers re-synchronize with new changes and the resulting RIB is:

R9#sh ip route
Gateway of last resort is 85.0.109.10 to network 0.0.0.0
     85.0.0.0/24 is subnetted, 6 subnets
C       85.0.109.0 is directly connected, FastEthernet0/0
D       85.0.108.0 [90/2195456] via 85.0.109.10, 00:00:08, FastEthernet0/0 <- Correct!
D       85.0.28.0 [90/2707456] via 85.0.146.1, 00:00:12, Serial0/0
D       85.0.12.0 [90/2195456] via 85.0.146.1, 00:46:47, Serial0/0
D       85.0.145.0 [90/2195456] via 85.0.146.1, 00:46:47, Serial0/0
C       85.0.146.0 is directly connected, Serial0/0
D*   0.0.0.0/0 [90/307200] via 85.0.109.10, 00:00:09, FastEthernet0/0

Check path:

R9#traceroute 85.0.108.8
Type escape sequence to abort.
Tracing the route to 85.0.108.8
  1 85.0.109.10 236 msec 128 msec 84 msec
  2 85.0.108.8 80 msec *  152 msec

 

 

Related Posts

No Comments

Leave a Reply