Showing posts with label unequal. Show all posts
Showing posts with label unequal. Show all posts

Thursday, December 25, 2008

Cisco CCNA Exam Tutorial: IGRP And Equal Cost Load Balancing

To pass the CCNA exam, you've got to know the role of the bandwidth command with IGRP and EIGRP and when to use it. In this tutorial, we'll configure IGRP over a frame relay hub-and-spoke network using the following networks:

R1 (the hub), R2, and R3 are running IGRP over the 172.12.123.0 /24 network. This is a T1 line.

R1 and R3 are also connected on a different subnet, 172.12.13.0 /24. The bandwidth of this connection is 512 KBPS.

R2 and R3 are also connected by an Ethernet segment, 172.23.0.0 /16.

We'll configure IGRP on R1, R2, and R3 with the router igrp 1 command. IGRP will run on all interfaces in the 172.12.0.0 and 172.23.0.0 network.

R1#conf t

R1(config)#router igrp 1

R1(config-router)#network 172.12.0.0

The “1” in the router igrp command refers to the Autonomous System (AS). IGRP is a classful routing protocol, so wildcard masks are not used in the network statements.

R2#conf t

R2(config-if)#router igrp 1

R2(config-router)#network 172.12.0.0

R2(config-router)#network 172.23.0.0

R3#conf t

R3(config-if)#router igrp 1

R3(config-router)#network 172.12.0.0

R3(config-router)#network 172.23.0.0


Run show ip route on R1. R1 will see three equal-cost paths to the Ethernet network. IGRP supports load-sharing over up to four equal-cost paths by default, so all three paths appear in the routing table. R1 will also see a route to the loopback address on R2 and two routes to the loopback address on R3. (You can also run show ip route igrp in order to see only the IGRP routes.)

R1#show ip route igrp


I 172.23.0.0/16 [100/8576] via 172.12.123.2, 00:00:02, Serial0

[100/8576] via 172.12.13.3, 00:00:02, Serial1

[100/8576] via 172.12.123.3, 00:00:01, Serial0

Remember that the numbers in the brackets following the network number in the routes are the Administrative Distance and the IGRP metric, in that order.

Note that classful masks are in use. IGRP does not support variable-length subnet masks (VLSM).

There are two serial connections between R1 and R3. IGRP is assuming that both lines are T1 lines, running at 1544 KBPS. The 172.12.13.0 network is participating in equal-cost load sharing because of IGRP’s bandwidth assumption - that all serial interfaces are connected to T1 lines.

To give IGRP a more accurate picture of the network’s bandwidth, configure bandwidth 512 on R1 and R3’s Serial1 interface (the interfaces on the 172.12.13.0 network).

R1#conf t

R1(config)#interface serial1

R1(config-if)#bandwidth 512

R3#conf t

R3(config)#interface serial 1

R3(config-if)#bandwidth 512

IGRP’s assumption that all serial lines run at 1544 KBPS is overridden by the bandwidth 512 command. IGRP now believes this line runs at 512 KBPS.

To see the effect of this command, clear your routing table on R1.

R1#clear ip route *


R1#show ip route igrp

I 172.23.0.0/16 [100/8576] via 172.12.123.3, 00:00:24, Serial0/0

[100/8576] via 172.12.123.2, 00:00:17, Serial0/0

The routing table is cleared with clear ip route *. To see only the routes received in IGRP updates instead of the entire table, run show ip route igrp.

One of the paths to 172.23.0.0 is now gone - the route that went through the 172.12.13.0 network. Now that IGRP sees that link as slower than the others, equal-cost load balancing will not occur over the 172.12.13.0 network.

It’s important to understand that the bandwidth command does not actually change the bandwidth of the connection; it changes IGRP’s assumption of what the bandwidth is.

In the next part of this IGRP load-balancing tutorial, we'll take a look at how to configure unequal-cost load balancing.

Wednesday, December 24, 2008

Cisco CCNA Certification Exam Tutorial: Variance And Unequal Cost Load Balancing

To pass the CCNA exam, you've got to know how to work with IGRP and EIGRP unequal-cost load balancing. You may not see much IGRP in production networks anymore, but you'll see a lot of EIGRP, and part of fine-tuning your EIGRP network is making sure that all paths are in use while allowing for varying bandwidth rates.

Using the variance command is the easy part - it's getting the metric that's the hard part with IGRP. With EIGRP, you just look in the topology table and that's it. With IGRP, you've got to run a debug to get the right metric.

The variance command is a multiplier when the value supplied with the variance command is multiplied by the lowest-cost metric, it must exceed the higher-cost metric in order for the higher-cost route to be added.

If that sounds complicated, it's not. It's one of those things that sounds difficult, but isn't. Trust me!

In this example, R1 has two paths to 172.23.0.0, but is currently using only one. By looking in the IP routing table, we've seen that the lowest-cost metric for network 172.23.0.0 on R1 is 8576. This path goes through the 172.12.123.0 network. There is another valid path that uses the 172.12.13.0 network, but is not currently in use.

I 172.23.0.0/16 [100/8576] via 172.12.123.2, 00:00:53, Serial0

IGRP does not have a “show" command that displays all valid routes to a destination, as does EIGRP. The command debug ip igrp transactions will show the current metric of the routes using the 512 KBPS route.

R1#debug ip igrp transactions

IGRP protocol debugging is on

19:17:51: IGRP: broadcasting request on Loopback0

19:17:51: IGRP: broadcasting request on Serial0

19:17:51: IGRP: broadcasting request on Serial1

19:17:51: IGRP: received update from 172.12.13.3 on Serial1

19:17:51: subnet 172.12.13.0, metric 23531 (neighbor 21531)

19:17:51: subnet 172.12.123.0, metric 23531 (neighbor 8476)

19:17:51: network 1.0.0.0, metric 24031 (neighbor 8976)

19:17:51: network 2.0.0.0, metric 22131 (neighbor 1600)

19:17:51: network 3.0.0.0, metric 22031 (neighbor 501)

19:17:51: network 172.23.0.0, metric 21631 (neighbor 1100)

R1(config)#router igrp 1
R1(config-router)#variance 3
R1#show ip route 172.23.0.0
Routing entry for 172.23.0.0/16
Known via "igrp 1", distance 100, metric 8576
Redistributing via igrp 1
Advertised by igrp 1 (self originated)
Last update from 172.12.123.2 on Serial0, 00:00:01 ago
Routing Descriptor Blocks:
* 172.12.13.3, from 172.12.13.3, 00:00:20 ago, via Serial1
Route metric is 21631, traffic share count is 1
Total delay is 21000 microseconds, minimum bandwidth is 512 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
172.12.123.3, from 172.12.123.3, 00:00:20 ago, via Serial0
Route metric is 8576, traffic share count is 3
Total delay is 21000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
172.12.123.2, from 172.12.123.2, 00:00:01 ago, via Serial0
Route metric is 8576, traffic share count is 3
Total delay is 21000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0

The metric for 172.23.0.0 through the direct connection is 21631. A variance of 3 means that any route with a metric less than the best metric multiplied by the variance (in this case, 8576 x 3 = 25728) will be entered into the routing table. R1 now has three unequal-cost paths to 172.23.0.0 in its routing table, and load balancing will take place.

IGRP unequal-cost load balancing takes some practice, but as you can see, once you get the metric it's easy to work with. Just make sure you know how to get that metric!