IS-IS Multiarea Networks
Module Introduction
Before you start the hands-on part of this module, you should load the appropriate configuration and verify that the testbed is up and running by executing the corresponding robot file:
student@tour:~/trainings_resources/robot$ robot isis_multiarea/isis_multiarea_setup.robot
In order to get a better understanding, the lab setup is shown in the picture below.
Configuring IS-IS Level-2 Routing
In the previous module we restricted the IS-IS Routing to Level-1 only by disabling the Level-2 adjacencies on the corresponding interfaces. If you want to configure a Level-2 only router, you have to disable Level-1 adjacencies in a similar way.
R1 is part of IS-IS Area 49.0001. Please configure Level-2 only adjacencies to R2 (hostif-0/0/1) and R3 (hostif-0/0/2). The authentication type is md5, the key-id 2 and the password rtbrick.
Click to reveal the answer
cfg> set instance default protocol isis system-id 1921.6800.0001
cfg> set instance default protocol isis area 49.0001/24
cfg> set instance default protocol isis hostname R1
cfg> set instance default protocol isis router-id 192.168.0.1
cfg> set instance default protocol isis authentication level-2 type md5
cfg> set instance default protocol isis authentication level-2 key1-encrypted-text $21e4946e31b406de98b3077aef03ed5a7
cfg> set instance default protocol isis authentication level-2 key-id1 2
cfg> set instance default protocol isis interface hostif-0/0/1/0 level-1 adjacency-disable true
cfg> set instance default protocol isis interface hostif-0/0/2/0 level-1 adjacency-disable true
cfg> set instance default protocol isis interface lo-0/0/0/0 level-1 adjacency-disable true
cfg> commit
cfg> show isis neighbor
Instance: default
Interface System Level State Type Up since Expires
hostif-0/0/1/0 R2 L2 Up P2P Tue Apr 04 08:55:12 in 22s 835945us
hostif-0/0/2/0 R3 L2 Up P2P Tue Apr 04 08:55:16 in 26s 771878us
As R1 is now part of Level-2, it should have the full reachability information. Let’s take a look at the routing table for the loopback address of R4:
cfg> show route prefix 192.168.0.4/32
Instance: default, AFI: ipv4, SAFI: unicast
Prefix/Label Source Pref Next Hop Interface
192.168.0.4/32 isis 18 172.16.0.6 hostif-0/0/2/0
172.16.0.2 hostif-0/0/1/0
From the output, we can see that R1 has two equally good paths to R4. The routing table does not provide any details about the metric. Remember, IS-IS is a link-state protocol preferring the path with the lowest metric. The routing table is populated by the IS-IS route table:
cfg> show isis route ipv4 unicast
Instance: default, AFI: ipv4, SAFI: unicast
Prefix Level Metric Type Next Hop Interface
172.16.0.0/30 2 1000000 Internal n/a local
172.16.0.4/30 2 1000000 Internal n/a local
172.16.0.8/30 2 1000100 Internal 172.16.0.2 hostif-0/0/1/0
172.16.0.12/30 2 1000100 Internal 172.16.0.6 hostif-0/0/2/0
172.16.0.2 hostif-0/0/1/0
172.16.0.16/30 2 1000100 Internal 172.16.0.6 hostif-0/0/2/0
192.168.0.1/32 2 1000000 Internal n/a local
192.168.0.2/32 2 1000010 Internal 172.16.0.2 hostif-0/0/1/0
192.168.0.3/32 2 1000010 Internal 172.16.0.6 hostif-0/0/2/0
192.168.0.4/32 2 1000110 Internal 172.16.0.6 hostif-0/0/2/0
172.16.0.2 hostif-0/0/1/0
For the directly connected interfaces, IS-IS uses a default metric of 1000000. The total metric to reach 192.168.0.4/32 is 1000110. The metric can be modified on a per-interface and per-level basis using the syntax set instance <instance_name> protocol isis interface <ifl> <level> metric <metric>
.
The IS-IS SPF calculation should result in two equally to node R4 (192.168.0.4/32). Configure the IS-IS interfaces in such a way, that the path to R4 via R2 is preferred. The metric should be set in such a way, that the path to 192.168.0.3/32 via hostif-0/0/2 is still best.
Click to reveal the answer
The overall metric for the path R1-R2-R4 is currently 1000000+100+10=1000110 and for the path R1-R3-R4 also 1000000+100+10=1000110. If we change the link metric for hostif-0/0/1 to 100, then metric(R1-R2-R4)=100+100+10=210. However, the metric(R1-R2-R3)=100+100+10 and metric(R1-R3)=1000000+10=1000010. In order to achieve our goal, we need to adjust the metric for hostif-0/0/2 to a value bigger than 100 but lower than 200:
cfg> set instance default protocol isis interface hostif-0/0/1/0 level-2 metric 100
cfg> set instance default protocol isis interface hostif-0/0/2/0 level-2 metric 150
cfg> commit
cfg> show isis route ipv4 unicast
Instance: default, AFI: ipv4, SAFI: unicast
Prefix Level Metric Type Next Hop Interface
172.16.0.0/30 2 100 Internal n/a local
172.16.0.4/30 2 150 Internal n/a local
172.16.0.8/30 2 200 Internal 172.16.0.2 hostif-0/0/1/0
172.16.0.12/30 2 200 Internal 172.16.0.2 hostif-0/0/1/0
172.16.0.16/30 2 250 Internal 172.16.0.6 hostif-0/0/2/0
192.168.0.1/32 2 1000000 Internal n/a local
192.168.0.2/32 2 110 Internal 172.16.0.2 hostif-0/0/1/0
192.168.0.3/32 2 160 Internal 172.16.0.6 hostif-0/0/2/0
192.168.0.4/32 2 210 Internal 172.16.0.2 hostif-0/0/1/0