Table of Contents
ISIS metric and metric types are the topic of this section.
After the adjacency and database exchange process that we discussed in the previous sections, it is now time for the routers to calculate the best route to each destination by running SPF algorithm and adding them into the routing table.
ISIS Route Types and Best Route Selection process
As you know, ISIS creates two separate databases for Level 1and Level 2, and the SPF process is executed separately on each database.
ISIS routes can also be classified into internal and external, in addition to being divided into L1 and L2.
Internal routes are routes whose destination is within the ISIS domain, and external routes are routes to destinations outside the ISIS domain. L2 routes can be internal or external, but L1 routes are usually only internal unless we can create L1 and at the same time external routes with special methods, which is usually not recommended.
If both L1 and L2 routes exist for a given destination, L1 routes are always preferred over L2 routes.
The next option when choosing the best route is the metric parameter. This means if there are multiple L1 routes to a given destination, the route or routes with a lower metric are added in the routing table.
ISIS Metric Calculation
How is the metric calculated in ISIS?
By default the metric in ISIS, like OSPF, is the sum of the costs of the links in the path, but the difference with OSPF is that the metric in ISIS is not a measure of link bandwidth, but by default the metric of all links is 10.
In other words, the metric in ISIS is more like RIP than OSPF. Since in ISIS, a route with fewer links in the path has a lower metric.
You can use the command “isis metric” to change the metric value of each interface. Note that the metric value for L1 and L2 can be configured separately.
IOU1(config)#int ethernet 0/0
IOU1(config-if)#isis metric ?
<1-16777214> Default metric
maximum Maximum metric. All routers will exclude this link from their
SPF
IOU1(config-if)#isis metric 10 ?
<1-16777214> Delay metric
level-1 Apply metric to level-1 links
level-2 Apply metric to level-2 links
<cr>
IOU1(config-if)#isis metric 10 1 ?
<1-16777214> Expense metric
level-1 Apply metric to level-1 links
level-2 Apply metric to level-2 links
<cr>
IOU1(config-if)#isis metric 10 1 1 ?
<1-16777214> Error metric
level-1 Apply metric to level-1 links
level-2 Apply metric to level-2 links
<cr>
IOU1(config-if)#isis metric 10 1 1 1 ?
level-1 Apply metric to level-1 links
level-2 Apply metric to level-2 links
<cr>
IOU1(config-if)#isis metric 10 1 1 1
In this command, you can see that in addition to the cost value for each link, you can also configure the Delay value, which by default does not affect the ISIS metric calculation.
If you continue this command, you will see that in addition to Metric and Delay, Expense and Error values can also be configured.
Delay shows the delay of the link. Expense and error show the cost and reliability of the link, respectively. So far I haven’t seen the use of this parameters in ISIS metric in any document to be suggested.
ISIS Metric Types
By default, the maximum allowed metric value of each link is 63 and the total metric of all links is 1023, which is related to the 10-bit field limitation in ISIS LSP. This limitation has caused the metric value to be increased to 32 bits in new versions of IOS.
To enable the 32-bit metric version in ISIS, we use the “metric-style wide” command in the router isis context mode. By default, the metric type in ISIS is narrow, which is 10 bits.
IOU1(config)#router isis
IOU1(config-router)#metric-style ?
narrow Use old style of TLVs with narrow metric
transition Send and accept both styles of TLVs during transition
wide Use new style of TLVs to carry wider metric
IOU1(config-router)#exit
IOU1(config)#exit
IOU1#show clns protocol
IS-IS Router: <Null Tag>
System Id: 0000.0000.0001.00 IS-Type: level-1
Manual area address(es):
49.0001
Routing for area address(es):
49.0001
Interfaces supported by IS-IS:
Ethernet0/0 - IP
Loopback0 - IP
Redistribute:
static (on by default)
Distance for L2 CLNS routes: 110
RRR level: none
Generate narrow metrics: level-1-2
Accept narrow metrics: level-1-2
Generate wide metrics: none
Accept wide metrics: none
IOU1#
The type of metric can be one of narrow, wide, transition, or wide transition, whose default value can be seen in the output of the „show clns protocol” command. As you can see by default narrow metric type is activated for both level 1 and level 2.
The output of command show what type of metric is allowed to be sent or received by the router. Transition metric type means that the router sends and receives both wide and narrow metric types.
This table describes the difference between metric types in ISIS.
metric type/operation | generate narrow metrics | accept narrow metrics | generate wide metrics | accept wide metrics |
narrow | yes | yes | no | no |
wide | no | no | yes | yes |
transition | yes | yes | yes | yes |
wide transition | no | yes | yes | yes |
As you can see, the difference between “wide transition” and “wide” is that if you configure “wide” as metric type, the router will not accept narrow metric when receiving LSP, but it is accepted in “wide transition” metric type.