Tuesday, March 13, 2012

Integrated IS-IS Lab

Sample IS-IS Multi-Area Network

The router isis [area-tag] global configuration command specifies an IS-IS process, enables the Integrated IS-IS IP routing protocol, and assigns an optional tag to the process. The ip router isis [area-tag] interface subcommand enables an interface to participate in an IS-IS routing process. This is different from other IP routing protocols which define interfaces using the network router subcommands; there is no network command in Integrated IS-IS.

The area-tag is the name for an IS-IS routing process. If it not specified, a null tag is assumed and the routing process is referenced with a null tag. The name must be unique among all IP and CLNS routing processes on a router. It is required for multiarea (multi-process to be precise) IS-IS configuration; and optional for conventional IS-IS configuration.

Cisco routers are L1/L2 routers by default. This configuration is convenient because a router would inform other L1 routers that it is a L2 router which can forward traffic to other areas; and inform other L2 routers of the areas to which it is connected. However, it consumes more CPU, memory, and bandwidth resources for maintaining the L1 and L2 LSDBs at the same time.

Be careful when configuring IP addressing on Integrated IS-IS routers, as it is difficult to troubleshoot IP address misconfigurations with IS-IS. The IS-IS neighborship is established over OSI CLNS; not over IP. Both end routers of an IS-IS adjacency can have IP addresses on different subnets with no impact upon the operation of IS-IS.

IP routing is enabled by default; CLNS routing is disabled by default.
The clns routing global configuration command enables routing of CLNP packets.
The clns router isis [area-tag] interface subcommand enable an interface for CLNS routing.
Note: The clns routing command is not required for Integrated IS-IS to perform only IP routing.
Note: The clns routing command should have been called clnp routing; because CLNS is actually the service for upper transport layers, while CLNP is the actual L3 routed protocol.

Below shows the routing tables on RT1, RT2, and RT3:
RT1#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     23.0.0.0/24 is subnetted, 1 subnets
i L1    23.23.23.0 [115/20] via 12.12.12.2, FastEthernet1/0
     12.0.0.0/24 is subnetted, 1 subnets
C       12.12.12.0 is directly connected, FastEthernet1/0
C    192.168.1.0/24 is directly connected, FastEthernet0/0
i L1 192.168.2.0/24 [115/20] via 12.12.12.2, FastEthernet1/0
i L2 192.168.3.0/24 [115/30] via 12.12.12.2, FastEthernet1/0
RT1#
======================================================================
RT2#sh ip route

Gateway of last resort is not set

     23.0.0.0/24 is subnetted, 1 subnets
C       23.23.23.0 is directly connected, Serial2/0
     12.0.0.0/24 is subnetted, 1 subnets
C       12.12.12.0 is directly connected, FastEthernet0/0
i L1 192.168.1.0/24 [115/20] via 12.12.12.1, FastEthernet0/0
C    192.168.2.0/24 is directly connected, FastEthernet1/0
i L2 192.168.3.0/24 [115/20] via 23.23.23.3, Serial2/0
RT2#
======================================================================
RT3#sh ip route

Gateway of last resort is not set

     23.0.0.0/24 is subnetted, 1 subnets
C       23.23.23.0 is directly connected, Serial0/0
     12.0.0.0/24 is subnetted, 1 subnets
i L2    12.12.12.0 [115/20] via 23.23.23.2, Serial0/0
i L2 192.168.1.0/24 [115/30] via 23.23.23.2, Serial0/0
i L2 192.168.2.0/24 [115/20] via 23.23.23.2, Serial0/0
C    192.168.3.0/24 is directly connected, FastEthernet1/0
RT3#

The show clns EXEC command displays general CLNS information on a router.
RT1#sh clns
Global CLNS Information:
  2 Interfaces Enabled for CLNS
  NET: 49.0001.1111.1111.1111.00
  Configuration Timer: 60, Default Holding Timer: 300, Packet Lifetime 64
  ERPDU's requested on locally generated packets
  Running IS-IS in IP-only mode (CLNS forwarding not allowed)
RT1#

The show clns protocol EXEC command displays information for the IS-IS processes on a router.
RT1#sh clns protocol
IS-IS Router: 
  System Id: 1111.1111.1111.00  IS-Type: level-1-2
  Manual area address(es):
        49.0001
  Routing for area address(es):
        49.0001
  Interfaces supported by IS-IS:
        FastEthernet1/0 - IP
        FastEthernet0/0 - 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
RT1#

The show clns interface {type num} EXEC command displays information about the interfaces that are currently running IS-IS.
RT1#sh clns interface
FastEthernet0/0 is up, line protocol is up
  Checksums enabled, MTU 1497, Encapsulation SAP
  ERPDUs enabled, min. interval 10 msec.
  CLNS fast switching enabled
  CLNS SSE switching disabled
  DEC compatibility mode OFF for this interface
  Next ESH/ISH in 20 seconds
  Routing Protocol: IS-IS
    Circuit Type: level-1-2
    Interface number 0x0, local circuit ID 0x1
    Level-1 Metric: 10, Priority: 64, Circuit ID: RT1.01
    Level-1 IPv6 Metric: 10
    Number of active level-1 adjacencies: 0
    Level-2 Metric: 10, Priority: 64, Circuit ID: RT1.01
    Level-2 IPv6 Metric: 10
    Number of active level-2 adjacencies: 0
    Next IS-IS LAN Level-1 Hello in 1 seconds
    Next IS-IS LAN Level-2 Hello in 856 milliseconds
--- output omitted ---
RT1#

The show clns neighbors {type num} EXEC command displays the ES and IS neighbors. The optional detail keyword displays comprehensive information about the neighbors. Specify the optional interface type and number to list of neighbors across a particular interface.
RT1#sh clns neighbors

System Id      Interface   SNPA              State  Holdtime  Type Protocol
RT2            Fa1/0       cc01.0d0c.0000    Up     9         L1L2 IS-IS
RT1#
RT1#sh clns neighbors detail

System Id      Interface   SNPA              State  Holdtime  Type Protocol
RT2            Fa1/0       cc01.0d0c.0000    Up     9         L1L2 IS-IS
  Area Address(es): 49.0001
  IP Address(es):  12.12.12.2*
  Uptime: 00:01:17
  NSF capable
RT1#

The show isis route EXEC command displays the IS-IS L1 routing table, which includes all other System IDs within the same area. This command is available only if CLNS routing is enabled both globally (with the clns routing global configuration) and at the interface level (with the clns router isis interface subcommand).
CLNS routing is not being implemented and enabled in this scenario.
RT1#sh isis route

IS-IS not running in OSI mode (*) (only calculating IP routes)

(*) Use "show isis topology" command to display paths to all routers
RT1#

The show clns route EXEC command displays the IS-IS L2 routing table. CLNS routing is not being implemented in this scenario therefore it only shows the directly connected subnets.
RT1#sh clns route
Codes: C - connected, S - static, d - DecnetIV
       I - ISO-IGRP,  i - IS-IS,  e - ES-IS
       B - BGP,       b - eBGP-neighbor

C  49.0001.1111.1111.1111.00 [1/0], Local IS-IS NET
C  49.0001 [2/0], Local IS-IS Area

RT1#

The show isis database EXEC command displays contents of the IS-IS LSDB.
Issue the clear isis * privileged command to force IS-IS to refresh its LSDB and recalculate all routes.
RT1#sh isis database

IS-IS Level-1 Link State Database:
LSPID                 LSP Seq Num  LSP Checksum  LSP Holdtime      ATT/P/OL
RT1.00-00           * 0x00000004   0x42EE        1148              1/0/0
RT2.00-00             0x00000004   0x9039        1146              1/0/0
RT2.01-00             0x00000001   0x2630        1121              0/0/0
IS-IS Level-2 Link State Database:
LSPID                 LSP Seq Num  LSP Checksum  LSP Holdtime      ATT/P/OL
RT1.00-00           * 0x00000004   0x2D18        1128              0/0/0
RT2.00-00             0x00000005   0xF505        1141              0/0/0
RT2.01-00             0x00000001   0xB529        1121              0/0/0
RT3.00-00             0x00000002   0xAC54        1139              0/0/0
RT1#

The show isis topology EXEC command displays the IS-IS L1 and L2 topology tables, which show the least-cost IS-IS paths to the ISs.
RT1#sh isis topology

IS-IS paths to level-1 routers
System Id            Metric     Next-Hop         Interface   SNPA
RT1                  --
RT2                  10         RT2              Fa1/0       cc01.0d0c.0000

IS-IS paths to level-2 routers
System Id            Metric     Next-Hop         Interface   SNPA
RT1                  --
RT2                  10         RT2              Fa1/0       cc01.0d0c.0000
RT3                  20         RT2              Fa1/0       cc01.0d0c.0000
RT1#

The show isis neighbors EXEC command displays brief information about directly connected IS-IS neighbors.
RT1#sh isis neighbors

System Id      Type Interface IP Address      State Holdtime Circuit Id
RT2            L1   Fa1/0     12.12.12.2      UP    8        RT2.01
RT2            L2   Fa1/0     12.12.12.2      UP    7        RT2.01
RT1#
RT1#sh isis neighbors detail

System Id      Type Interface IP Address      State Holdtime Circuit Id
RT2            L1   Fa1/0     12.12.12.2      UP    8        RT2.01
  Area Address(es): 49.0001
  SNPA: cc01.0d0c.0000
  State Changed: 00:01:17
  LAN Priority: 64
  Format: Phase V
RT2            L2   Fa1/0     12.12.12.2      UP    7        RT2.01
  Area Address(es): 49.0001
  SNPA: cc01.0d0c.0000
  State Changed: 00:01:17
  LAN Priority: 64
  Format: Phase V
RT1#

The show isis spf-log EXEC command displays the last 20 occurrences about when and why an IS-IS router has performed a full SPF calculation.
RT1#sh isis spf-log

   level 1 SPF log
  When   Duration  Nodes  Count   First trigger LSP   Triggers
00:01:21       0      1      2           RT1.00-00  PERIODIC NEWLSP
00:01:11       4      3      4           RT1.00-00  NEWADJ NEWLSP TLVCONTENT
00:00:45       4      3      3           RT2.00-00  ATTACHFLAG LSPHEADER

   level 2 SPF log
  When   Duration  Nodes  Count   First trigger LSP   Triggers
00:01:21       0      1      2           RT1.00-00  PERIODIC NEWLSP
00:01:11       4      3      4           RT1.00-00  NEWADJ NEWLSP TLVCONTENT
00:00:51       4      4      2           RT2.00-00  NEWLSP TLVCONTENT

RT1#

Below lists the possible triggers of a full SPF calculation:
Trigger
Description
ATTACHFLAG The router is now attached to or has just lost contact to the L2 backbone.
ADMINDIST Another administrative distance was configured for the IS-IS process on the router.
AREASET Set of learned area addresses in this area changed.
BACKUPOVFL An IP prefix disappeared. The router knows there is another way to reach that prefix but not stored that backup route. The only way to find the alternative route is through a full SPF run.
DBCHANGED The clear isis * privileged command was issued on the router.
IPBACKUP An IP route disappeared, which was not learned via IS-IS, but via another routing protocol with a better administrative distance. IS-IS will run a full SPF to install an IS-IS route for the disappeared IP prefix.
IPQUERY The clear ip route privileged command was issued on the router.
LSPEXPIRED An LSP in the LSDB has expired.
LSPHEADER The ATT/P/OL bits or the is-type in an LSP header has changed.
NEWADJ The router has established a new adjacency to another router.
NEWAREA A new area (via the Network Entity Title – NET) was configured on the router.
NEWLEVEL A new level (via the is-type) was configured on the router.
NEWLSP A new router or pseudonode appeared in the IS-IS topology.
NEWMETRIC A new metric was configured on an interface of the router.
NEWSYSID A new System ID (via the NET) was configured on the router.
PERIODIC An IS-IS router runs a periodic full SPF calculation every 15 minutes.
RTCLEARED The clear clns route privileged command was issued on the router.
TLVCODE TLV code mismatch, indicating that different TLVs are included in the newest version of an LSP.
TLVCONTENT TLV contents changed. This normally indicates that an adjacency somewhere in the area has come up or gone down. The Last trigger LSP column indicates where the instability may have occurred.

1 comment: