Octet

Build a two-area IS-IS network with L1, L1/L2 and L2 routers

Cisco IOSWorking

Tasks

  1. Configure each router's NET and level.
  2. Enable IS-IS on the links and loopbacks, in point-to-point mode, with wide metrics everywhere.
  3. Keep the R1 to R2 link Level 1 only and the R2 to R3 link Level 2 only.
  4. Verify the adjacencies, the ATT bit, the default route on R1 and the routes on R3.

Solution

  1. 1R1, Level 1 onlyR1
    R1 on Cisco IOS
    interface Loopback0
     ip address 10.255.0.1 255.255.255.255
     ip router isis CORE
    !
    interface GigabitEthernet0/0/0
     description to R2
     ip address 10.1.12.1 255.255.255.0
     ip router isis CORE
     isis network point-to-point
     no shutdown
    !
    router isis CORE
     net 49.0001.0000.0000.0001.00
     is-type level-1
     metric-style wide
     log-adjacency-changes
  2. 2R2, the L1/L2 border routerR2
    R2 on Cisco IOS
    interface Loopback0
     ip address 10.255.0.2 255.255.255.255
     ip router isis CORE
    !
    interface GigabitEthernet0/0/0
     description to R1
     ip address 10.1.12.2 255.255.255.0
     ip router isis CORE
     isis network point-to-point
     isis circuit-type level-1
     no shutdown
    !
    interface GigabitEthernet0/0/1
     description to R3
     ip address 10.1.23.2 255.255.255.0
     ip router isis CORE
     isis network point-to-point
     isis circuit-type level-2-only
     no shutdown
    !
    router isis CORE
     net 49.0001.0000.0000.0002.00
     metric-style wide
     log-adjacency-changes

    No is-type line: Cisco routers are level-1-2 by default. The circuit types stop R2 sending useless L2 hellos toward R1 and L1 hellos toward R3.

  3. 3R3, Level 2 only in another areaR3
    R3 on Cisco IOS
    interface Loopback0
     ip address 10.255.0.3 255.255.255.255
     ip router isis CORE
    !
    interface GigabitEthernet0/0/1
     description to R2
     ip address 10.1.23.3 255.255.255.0
     ip router isis CORE
     isis network point-to-point
     no shutdown
    !
    router isis CORE
     net 49.0002.0000.0000.0003.00
     is-type level-2-only
     metric-style wide
     log-adjacency-changes

    R2 and R3 are in different areas, so only an L2 adjacency is possible between them, which is what we want.

Verify

R2 output
R2# show isis neighbors
Tag CORE:
System Id       Type Interface     IP Address      State Holdtime Circuit Id
R1              L1   Gi0/0/0       10.1.12.1       UP    27       00
R3              L2   Gi0/0/1       10.1.23.3       UP    25       00

An L1 adjacency to R1 and an L2 adjacency to R3. System IDs show as hostnames because dynamic hostname is on by default.

R1 output
R1# show isis database
Tag CORE:
IS-IS Level-1 Link State Database:
LSPID                 LSP Seq Num  LSP Checksum  LSP Holdtime/Rcvd      ATT/P/OL
R1.00-00            * 0x00000004   0x5D1E                1061/*         0/0/0
R2.00-00              0x00000005   0x8A42                1102/1199      1/0/0

R1 holds only the Level 1 database. R2's LSP has ATT set to 1, because R2 has an L2 adjacency into another area.

R1 output
R1# show ip route isis | include 0.0.0.0
i*L1  0.0.0.0/0 [115/10] via 10.1.12.2, 00:06:12, GigabitEthernet0/0/0

The default route R1 built from the ATT bit, with metric 10, the cost of one link to R2.

R3 output
R3# show ip route isis | include 10.255
i L2     10.255.0.1/32 [115/30] via 10.1.23.2, 00:06:30, GigabitEthernet0/0/1
i L2     10.255.0.2/32 [115/20] via 10.1.23.2, 00:06:30, GigabitEthernet0/0/1

Level 1 routes are passed into Level 2 by default, so R3 sees R1's loopback. Every interface, including loopbacks, has metric 10 on IOS: R1's loopback is 10 + 10 (R1 to R2) + 10 (R2 to R3) = 30.

R1 output
R1# ping 10.255.0.3 source Loopback0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.255.0.3, timeout is 2 seconds:
Packet sent with a source address of 10.255.0.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms

R1 has no specific route to R3's loopback, yet the ping works through the default route. R3 can answer because it learned 10.255.0.1/32 through L2.

Mistakes people make

  • Making R2 and R3 both level-1 in different areas. L1 adjacencies need the same area, so nothing forms.
  • Leaving metric-style wide off one router. The adjacency comes up, but that router ignores the wide TLVs and routes go missing.
  • A NET ending in something other than 00, or two routers sharing a system ID.
  • MTU mismatch on a link. IS-IS pads hellos to the full MTU, so the adjacency stays down until the MTUs match.
  • Expecting R1 to see R3's loopback as a specific route. Without route leaking it only has the default.

On other platforms

R1 on Junos. The NET lives on lo0, every IS-IS interface needs family iso, and Level 2 is disabled for an L1-only router.

Junos
set interfaces ge-0/0/0 unit 0 family inet address 10.1.12.1/24
set interfaces ge-0/0/0 unit 0 family iso
set interfaces lo0 unit 0 family inet address 10.255.0.1/32
set interfaces lo0 unit 0 family iso address 49.0001.0000.0000.0001.00
set protocols isis level 2 disable
set protocols isis level 1 wide-metrics-only
set protocols isis interface ge-0/0/0.0 point-to-point
set protocols isis interface lo0.0 passive

Say it in the interview

"R1 is Level 1 in 49.0001, R2 is the L1/L2 border, R3 is Level 2 in 49.0002. Circuit types keep each link to the one level it needs, and point-to-point mode avoids a DIS on two-router links. R2 sets the ATT bit, so R1 installs a default toward it, while R1's routes flow up into Level 2 so R3 can answer. Wide metrics go on every router, or routes disappear even though adjacencies look fine."

Book 4.1 Global Internet