Thursday, June 28, 2012

Redistribution with RIP

When redistributing into RIP , we must remember that the metric must be set because RIP's max hop count is 16 and if an OSPF route comes in with a metric of 20, RIP will not learn the route because it's an infinity route.  Below I will redistribute OSPF into RIP.


After configuring  RIP and OSPF, I took a look at the routes in the routing table, R1 shows the OSPF route 172.12.13.0 that is being advertised, currently RIP isn't advertising any routes. R2 and R3 show no routes learned.


R1#show ip route

Gateway of last resort is not set

     20.0.0.0/24 is subnetted, 1 subnets
C       20.1.1.0 is directly connected, Serial0/0
     172.12.0.0/16 is variably subnetted, 2 subnets, 2 masks
O       172.12.34.1/32 [110/65] via 172.12.13.2, 00:06:59, Serial0/1
C       172.12.13.0/24 is directly connected, Serial0/1


R3#show ip route rip 
R3#

R2#show ip route rip 
R2#

I want to send OSPF routes into RIP, configuration always takes place in the receiving protocol. OSPF will need a metric of 2 because it will increment by one for each router it travels too and 2 being a safe number away for 16. Redistribute connected routes must use a metric as well. The command default-metric 2 can also be used instead of typing it for each statement.

R1(config)#router rip
R1(config-router)#redistribute ospf 1 metric ?
  <0-16>       Default metric
  transparent  Transparently redistribute metric

R1(config-router)#redistribute ospf 1 metric 2
R1(config-router)#redistribute connected metric 2

Now that I redistribute OSPF into RIP, I take a look at R2 to see if it learned the routes. The routes show up as RIP routes with a metric of 2.

R2#show ip route rip
     172.12.0.0/16 is variably subnetted, 2 subnets, 2 masks
R       172.12.34.1/32 [120/2] via 20.1.1.1, 00:00:22, Serial0/0
R       172.12.13.0/24 [120/2] via 20.1.1.1, 00:00:22, Serial0/0

I try to ping the remote loopback of R3 to ensure the route works but my pings fail, that's because R3 doesn't know how to get back to R2 when it received the ICMP message.

R2#ping 172.12.34.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.12.34.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)

A static route will get the ping to work or I can use two-way redistribution , RIP into OSPF. Redistribute subnets is needed so that classful routes aren't sent because we need the true subnets for our network to work properly.

R1(config)#router ospf 1
R1(config-router)#redistribute connected subnets 
R1(config-router)#redistribute rip subnets 


I can now see the external OSPF route inside R3's routing table

R3#show ip route ospf 
     20.0.0.0/24 is subnetted, 1 subnets
O E2    20.1.1.0 [110/20] via 172.12.13.1, 00:00:43, Serial0/0

A successful ping verifies I now have connectivity 

R2#ping 172.12.34.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.12.34.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 56/63/72 ms




EIGRP to EIGRP Route Redistribute

When a router, normally a border router, is running two EIGRP ASs and they need to communicate ,route redistribution is needed. Below is an example:

R2 and R3 have no EIGRP routes for each other , instead R1 the border router knows both routes from each EIGRP AS. I want R2 and R3 to have each other routes so I will configured route redistribution on each AS.

Here I take a look at what routes each router knows


R2#show ip route eigrp 
R2#



R3#show ip route eigrp 
R3#



R1#show ip route eigrp  
     2.0.0.0/32 is subnetted, 1 subnets
D       2.2.2.2 [90/2297856] via 172.12.123.2, 00:00:03, Serial0/0
     3.0.0.0/32 is subnetted, 1 subnets
D       3.3.3.3 [90/2297856] via 172.12.123.3, 00:00:27, Serial0/0


Here I verify the neighbor relationship between the routers



R1#show ip eigrp neighbors 
IP-EIGRP neighbors for process 100
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
0   172.12.123.2            Se0/0            130 00:05:29    8   200  0  2
IP-EIGRP neighbors for process 50
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
0   172.12.123.3            Se0/0            133 00:02:39   16   200  0  2




First I configured route redistribution of EIGRP 50 into AS 100, EIGRP requires that each of the 5 metrics to be define.


R1(config)#router eigrp 100
R1(config-router)#redistribute eigrp 50 metric 1500 10 255 1 1500



Taking a look at R2 routing table I can now see the external route learned via EIGRP.


R2#show ip route eigrp 
     3.0.0.0/32 is subnetted, 1 subnets
D EX    3.3.3.3 [170/2221056] via 172.12.123.1, 00:00:39, Serial0/0

I want the redistribution to be two-way so I configure the other side.



R1(config)#router eigrp 50
R1(config-router)#redistribute eigrp 100 metric 1500 10 255 1 1500


R3#show ip route eigrp
     2.0.0.0/32 is subnetted, 1 subnets
D EX    2.2.2.2 [170/2221056] via 172.12.123.1, 00:00:27, Serial0/0










Tuesday, June 26, 2012

EIGRP Manual Route Summarization

EIGRP supports manual route summarization between EIGRP neighbors to help reduce the size of routing tables and to lessen CPU work on the routers. EIGRP enables route summarization at the interface level using the ip summary address command. Below is an example;


R1(config)#router eigrp 100
R1(config-router)#no auto-summary 
R1(config-router)#network 100.1.1.0 0.0.0.255
R1(config-router)#network 100.2.1.0 0.0.0.255
R1(config-router)#network 100.3.1.0 0.0.0.255
R1(config-router)#network 100.4.1.0 0.0.0.255
R1(config-router)#network 100.5.1.0 0.0.0.255
R1(config-router)#network 100.6.1.0 0.0.0.255
R1(config-router)#network 100.7.1.0 0.0.0.255
R1(config-router)#network 10.1.1.0 0.0.0.3


R2(config)#router eigrp 100
R2(config-router)#network 10.1.1.0 0.0.0.3
R2(config-router)#no auto-summary 
*Mar  1 00:21:22.850: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 100: Neighbor 10.1.1.1 (FastEthernet0/0) is up: new adjacency

R2#show ip route eigrp 
     100.0.0.0/24 is subnetted, 7 subnets
D       100.5.1.0 [90/156160] via 10.1.1.1, 00:00:47, FastEthernet0/0
D       100.4.1.0 [90/156160] via 10.1.1.1, 00:00:48, FastEthernet0/0
D       100.7.1.0 [90/156160] via 10.1.1.1, 00:00:48, FastEthernet0/0
D       100.6.1.0 [90/156160] via 10.1.1.1, 00:00:48, FastEthernet0/0
D       100.1.1.0 [90/156160] via 10.1.1.1, 00:00:48, FastEthernet0/0
D       100.3.1.0 [90/156160] via 10.1.1.1, 00:00:48, FastEthernet0/0
D       100.2.1.0 [90/156160] via 10.1.1.1, 00:00:48, FastEthernet0/0

I can see the routes learned from R1 on R2 with the show ip route command. These routes are hierarchical so I will do some binary math to find the summary route. The matching stops at 100.0.0.0 and counting the consecutive bits give us 13 bits, so /13 as subnet mask.

01100100.00000001.00000001.00000000
01100100.00000010.00000001.00000000
01100100.00000011.00000001.00000000
01100100.00000100.00000001.00000000
01100100.00000101.00000001.00000000
01100100.00000110.00000001.00000000
01100100.00000111.00000001.00000000

100.0.0.0  255.248.0.0 is the summary route

R1(config)#interface fastEthernet 0/0
R1(config-if)#ip summary-address eigrp 100 100.0.0.0 255.248.0.0 
*Mar  1 00:35:29.602: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 100: Neighbor 10.1.1.2 (FastEthernet0/0) is down: summary configured
*Mar  1 00:35:33.777: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 100: Neighbor 10.1.1.2 (FastEthernet0/0) is up: new adjacency

R1#show ip route eigrp 
     100.0.0.0/8 is variably subnetted, 8 subnets, 2 masks
D       100.0.0.0/13 is a summary, 00:01:49, Null0

R2#show ip route eigrp 
     100.0.0.0/13 is subnetted, 1 subnets
D       100.0.0.0 [90/156160] via 10.1.1.1, 00:01:04, FastEthernet0/0


R2#ping 100.1.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 100.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/8 ms
R2#ping 100.2.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 100.2.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/5/12 ms
R2#ping 100.7.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 100.7.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/6/16 ms

Here I verified connectivity to the loopbacks using the summary route



Thursday, June 7, 2012

EIGRP Unequal-Cost Load Balancing

Router 1's routing table has two routes  to 2.2.2.2 , 3.3.3.3 and 192.168.10.0 but I can only see the successor routes from the routing table. Network 192.168.10.0 has two successor routes because they are being equally load balanced, their AD and FD are the same [ 90/2172416] EIGRP by default will equal cost load balance 4 links but can do up 16 links.

R1#show ip route eigrp 
     2.0.0.0/32 is subnetted, 1 subnets
D       2.2.2.2 [90/2297856] via 172.12.123.2, 00:00:18, Serial0/0
     3.0.0.0/32 is subnetted, 1 subnets
D       3.3.3.3 [90/2297856] via 172.12.123.3, 00:00:18, Serial0/0
D    192.168.10.0/24 [90/2172416] via 172.12.123.2, 00:00:18, Serial0/0
                     [90/2172416] via 172.12.123.3, 00:00:18, Serial0/0


Looking at the EIGRP topology table I can see all the routes


R1#show ip eigrp topology 
IP-EIGRP Topology Table for AS(100)/ID(1.1.1.1)

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - reply Status, s - sia Status 

P 3.3.3.3/32, 1 successors, FD is 2297856
        via 172.12.123.3 (2297856/128256), Serial0/0
        via 172.12.123.2 (2300416/156160), Serial0/0
P 2.2.2.2/32, 1 successors, FD is 2297856
        via 172.12.123.2 (2297856/128256), Serial0/0
        via 172.12.123.3 (2300416/156160), Serial0/0
P 1.1.1.1/32, 1 successors, FD is 128256
        via Connected, Loopback0
P 192.168.10.0/24, 2 successors, FD is 2172416
        via 172.12.123.2 (2172416/28160), Serial0/0
        via 172.12.123.3 (2172416/28160), Serial0/0
P 172.12.123.0/24, 1 successors, FD is 2169856
        via Connected, Serial0/0


Networks 2.2.2.2 and 3.3.3.3 have feasible successors routes that are pretty close to the successor routes in terms of cost, so I would like to load balance between unequal cost. Using the variance command I can set the variance between the successor metric to twice FD. Now the routing table has been updated with the load balancing routes. 


R1(config)#router eigrp 100
R1(config-router)#variance 2

R1(config)#do show ip route eigrp
     2.0.0.0/32 is subnetted, 1 subnets
D       2.2.2.2 [90/2297856] via 172.12.123.2, 00:00:15, Serial0/0
                [90/2300416] via 172.12.123.3, 00:00:15, Serial0/0
     3.0.0.0/32 is subnetted, 1 subnets
D       3.3.3.3 [90/2297856] via 172.12.123.3, 00:00:15, Serial0/0
                [90/2300416] via 172.12.123.2, 00:00:15, Serial0/0
D    192.168.10.0/24 [90/2172416] via 172.12.123.2, 00:00:15, Serial0/0
                     [90/2172416] via 172.12.123.3, 00:00:15, Serial0/0