Adjusting IS-IS Link Costs
Problem
You want to direct traffic within an IS-IS area toward a particular router.
Solution
Increase the cost on one of the IS-IS interfaces to force traffic to use a lower-cost interface:
[edit protocols isis] aviva@RouterG# set interface fe-0/0/1.0 level 2 metric 30
Discussion
By default, each IS-IS physical interface has a cost, or metric, of 10. (The lo0 interface has a default metric of 0.) Adding a third IS-IS router to our network (see Figure 11-3), we want to force RouterG to send traffic destined for RouterD (interface address of 10.0.24.2) tHRough RouterJ instead of RouterH.
Figure 11-3. OSFP network topology with three areas
With the default metric values, the cost through RouterH is 20 (a cost of 10 for each interface transited) while the cost through RouterJ is 30 (a cost of 10 for each of the three interfaces), so the router chooses the path through RouterH:
aviva@RouterG> show route 10.0.24.2 inet.0: 14 destinations, 14 routes (14 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 10.0.24.0/24 *[IS-IS/18] 00:04:10, metric 20 > to 10.0.1.1 via fe-0/0/1.0
Use the TRaceroute command to confirm the path taken:
aviva@RouterG> traceroute 10.0.24.2 traceroute to 10.0.24.2 (10.0.24.2), 30 hops max, 40 byte packets 1 10.0.1.1 (10.0.1.1) 10.977 ms 9.131 ms 29.827 ms 2 10.0.24.2 (10.0.24.2) 9.763 ms 9.670 ms 29.863 ms
Increasing the IS-IS cost of RouterG's fe-0/0/1 interface to 30 reroutes the traffic through RouterJ. Here, we see that the cost to 10.0.24.0/24 has increased from 20 to 30:
aviva@RouterG> show route 10.0.24.2 inet.0: 14 destinations, 14 routes (14 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 10.0.24.0/24 *[ IS-IS/18] 00:00:06, metric 30 > to 10.0.0.2 via fe-1/0/1.0
This increase occurs because traffic is now going via RouterJ, across three interfaces that each have a metric of 10:
aviva@RouterG> traceroute 10.0.24.2 traceroute to 10.0.24.2 (10.0.24.2), 30 hops max, 40 byte packets 1 10.0.0.2 (10.0.0.2) 11.747 ms 8.741 ms 10.099 ms 2 10.0.2.1 (10.0.2.1) 9.783 ms 19.964 ms 19.541 ms 3 10.0.24.2 (10.0.24.2) 20.068 ms 19.382 ms 20.051 ms
If the IS-IS interfaces are running at significantly different speeds, each interface still has the same default metric of 10. When there are equal-cost paths to the same destination, instead of traffic being routed across the fastest interface, the default behavior is to equally distribute traffic across the different interfaces in a round-robin fashion. To have IS-IS calculate interface metrics that accurately reflect the actual interface speeds, you need to configure a reference bandwidth value. Instead of using the default metric, IS-IS uses the following formula to calculate the metric on each interface:
For IS-IS, the default reference bandwidth value is 10 Mbps, which is the speed of a regular Ethernet interface. To illustrate how the reference bandwidth affects the metric, consider a router that has Fast Ethernet and Gigabit Ethernet interfaces running IS-IS. For IS-IS to choose the best path, you can set the reference bandwidth to 1 Gbps:
[edit protocols isis] aviva@RouterJ# set reference-bandwidth 1g
With this configuration, IS-IS assigns the Fast Ethernet interface a metric of 10 and the Gigabit Ethernet interface a metric of 1. Because the Gigabit Ethernet interface has the lowest metric, IS-IS selects it when routing traffic.