IS-IS is new to the CCIE v5. It's not something that I have touched on in the past, so let's jump in and have a play around.
We have a simple topology (using GNS3 ER Alpha 1.0) of four routers connected via a switch:
R1#sh ip int bri | i up FastEthernet0/0 10.200.1.1 YES manual up up Loopback0 1.1.1.1 YES manual up up R1#sh cdp neigh | beg Device Device ID Local Intrfce Holdtme Capability Platform Port ID R2 Fas 0/0 168 R S I 3745 Fas 0/0 R3 Fas 0/0 159 R S I 3745 Fas 0/0 R4 Fas 0/0 152 R S I 3745 Fas 0/0 R1# R2#sh ip int bri | i up FastEthernet0/0 10.200.1.2 YES manual up up Loopback0 2.2.2.2 YES manual up up R2#sh cdp neigh | beg Device Device ID Local Intrfce Holdtme Capability Platform Port ID R3 Fas 0/0 127 R S I 3745 Fas 0/0 R1 Fas 0/0 154 R S I 3745 Fas 0/0 R4 Fas 0/0 120 R S I 3745 Fas 0/0 R2# R3#sh ip int bri | i up FastEthernet0/0 10.200.1.3 YES manual up up Loopback0 3.3.3.3 YES manual up up R3#sh cdp neigh | beg Device Device ID Local Intrfce Holdtme Capability Platform Port ID R2 Fas 0/0 168 R S I 3745 Fas 0/0 R1 Fas 0/0 126 R S I 3745 Fas 0/0 R4 Fas 0/0 152 R S I 3745 Fas 0/0 R3# R4#sh ip int bri | i up FastEthernet0/0 10.200.1.4 YES manual up up Loopback0 4.4.4.4 YES manual up up R4#sh cdp neigh | beg Device Device ID Local Intrfce Holdtme Capability Platform Port ID R2 Fas 0/0 140 R S I 3745 Fas 0/0 R3 Fas 0/0 131 R S I 3745 Fas 0/0 R1 Fas 0/0 158 R S I 3745 Fas 0/0 R4#We have connectivity between the routers, so we can start configuring IS-IS.
IS-IS is similar to OSFP in that it forms adjacencies and uses different areas, where OSPF has nssa, stub etc which control how routes are passed, or not passed between areas. IS-IS has levels, which follow the same concept. There are three levels, 1, 1-2, and 2. By default a Cisco router will be at level 1-2. A level 1 router will form an adjacency with another level 1 router, or a level 1-2 router. A level 2 router will only form an adjacency with a level 1-2 router, or another level 2 router.
Let's see this in action, setting R1 as level 1, and leaving the other routers at their default.
We will need to specify the ISIS area under the routing process. The area is referred to as a NET (Network Entity Type), and is formed of an area, system ID, and the selector. The Selector is always 00. The area specifies the AFI (Authority and Format Identifier), for this example we are using 49. The next set of digits are the system ID. For this we are using 0001 followed by the loopback interface IP surrounded by zeros (010.010.010.010 for R1, 020.020.020.020 for R2 etc). The net's for R1, R2, R3 and R4 will be 49.0001.010.010.010.010.00, 49.0001.020.020.020.020.00, 49.0001.030.030.030.030.00, and 49.0001.040.040.040.040.00 respectively.
The configuration for R1 looks like this:
R1(config)#router isis R1(config-router)#is-type level-1 R1(config-router)#passive-interface lo0 R1(config-router)#net 49.0001.010.010.010.010.00 R1(config)#int lo0 R1(config-if)#ip router isis R1(config-if)#int fa0/0 R1(config-if)#ip router isis R1(config-if)#exitI am not going to specify an is-type level for R2, R3 or R4 as we want it to take the defaults and see what happens, but the logic and commands are the same (albeit for different net commands).
With our commands in place we can check out our neighbors, and our routing table:
R1#sh isis neigh System Id Type Interface IP Address State Holdtime Circuit Id R2 L1 Fa0/0 10.200.1.2 UP 24 R4.02 R3 L1 Fa0/0 10.200.1.3 UP 22 R4.02 R4 L1 Fa0/0 10.200.1.4 UP 8 R4.02 R1#sh ip route | beg Gate Gateway of last resort is not set 1.0.0.0/32 is subnetted, 1 subnets C 1.1.1.1 is directly connected, Loopback0 2.0.0.0/32 is subnetted, 1 subnets i L1 2.2.2.2 [115/20] via 10.200.1.2, FastEthernet0/0 3.0.0.0/32 is subnetted, 1 subnets i L1 3.3.3.3 [115/20] via 10.200.1.3, FastEthernet0/0 4.0.0.0/32 is subnetted, 1 subnets i L1 4.4.4.4 [115/10] via 10.200.1.4, FastEthernet0/0 10.0.0.0/24 is subnetted, 1 subnets C 10.200.1.0 is directly connected, FastEthernet0/0 R1#ping 4.4.4.4 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 4.4.4.4, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 28/45/60 ms R1#R1 looks good, and we can have a quick look at R3 and see the same results:
R3#sh ip route | beg Gate Gateway of last resort is not set 1.0.0.0/32 is subnetted, 1 subnets i L1 1.1.1.1 [115/10] via 10.200.1.1, FastEthernet0/0 2.0.0.0/32 is subnetted, 1 subnets i L1 2.2.2.2 [115/20] via 10.200.1.2, FastEthernet0/0 3.0.0.0/32 is subnetted, 1 subnets C 3.3.3.3 is directly connected, Loopback0 4.0.0.0/32 is subnetted, 1 subnets i L1 4.4.4.4 [115/10] via 10.200.1.4, FastEthernet0/0 10.0.0.0/24 is subnetted, 1 subnets C 10.200.1.0 is directly connected, FastEthernet0/0 R3#ping 2.2.2.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 12/43/104 ms R3#R1 is at our deired level, and the others have defaulted to 1-2
R1#sh clns neighbors System Id Interface SNPA State Holdtime Type Protocol R2 Fa0/0 c402.3838.0000 Up 27 L1 IS-IS R3 Fa0/0 c403.0620.0000 Up 29 L1 IS-IS R4 Fa0/0 c404.59b0.0000 Up 7 L1 IS-IS R1# R3#sh clns neighbors System Id Interface SNPA State Holdtime Type Protocol R1 Fa0/0 c401.2864.0000 Up 25 L1 IS-IS R2 Fa0/0 c402.3838.0000 Up 27 L1L2 IS-IS R4 Fa0/0 c404.59b0.0000 Up 8 L1L2 IS-IS R3#Let's change R3's level to level 2 only and see what happens.
With IS-IS a level 1 router will not receive packets from a level 2 router. It works the other way around though and a Level 2 router will receive level -1 routes, through a level 1-2 router.
R3(config)#router isis R3(config-router)#is-type ? level-1 Act as a station router only level-1-2 Act as both a station router and an area router level-2-only Act as an area router only R3(config-router)#is-type level-2-only R3(config-router)#exit R3(config)#exit R3#After a few moments for the timers to refresh we can check R1's routing table, and we would not expect to see any of R3's routes:
R1#sh ip route | beg Gate Gateway of last resort is not set 1.0.0.0/32 is subnetted, 1 subnets C 1.1.1.1 is directly connected, Loopback0 2.0.0.0/32 is subnetted, 1 subnets i L1 2.2.2.2 [115/20] via 10.200.1.2, FastEthernet0/0 4.0.0.0/32 is subnetted, 1 subnets i L1 4.4.4.4 [115/10] via 10.200.1.4, FastEthernet0/0 10.0.0.0/24 is subnetted, 1 subnets C 10.200.1.0 is directly connected, FastEthernet0/0 R1#That's exactly what we are expecting. R2 should be able to see R3's routes though:
R2#sh ip route | beg Gate Gateway of last resort is not set 1.0.0.0/32 is subnetted, 1 subnets i L1 1.1.1.1 [115/10] via 10.200.1.1, FastEthernet0/0 2.0.0.0/32 is subnetted, 1 subnets C 2.2.2.2 is directly connected, Loopback0 3.0.0.0/32 is subnetted, 1 subnets i L2 3.3.3.3 [115/20] via 10.200.1.3, FastEthernet0/0 4.0.0.0/32 is subnetted, 1 subnets i L1 4.4.4.4 [115/10] via 10.200.1.4, FastEthernet0/0 10.0.0.0/24 is subnetted, 1 subnets C 10.200.1.0 is directly connected, FastEthernet0/0 R2#Perfect. And just to confirm, we will check the adjacencies using the command "sh clns neighbors":
R2#sh clns neigh System Id Interface SNPA State Holdtime Type Protocol R1 Fa0/0 c401.2864.0000 Up 26 L1 IS-IS R3 Fa0/0 c403.0620.0000 Up 25 L2 IS-IS R4 Fa0/0 c404.59b0.0000 Up 8 L1L2 IS-IS R2# R1#sh clns neigh System Id Interface SNPA State Holdtime Type Protocol R2 Fa0/0 c402.3838.0000 Up 22 L1 IS-IS R4 Fa0/0 c404.59b0.0000 Up 7 L1 IS-IS R1#So R2 can form an adjacency with R3 but R1 cannot. In part 2 we will look at connecting two different areas.