IS-IS Neighbors & Adjacencies

IS-IS Neighbors & Adjacencies

IS-IS Hello:

IS-IS routers use IS-IS Hello PDUs to discover their neighbors. All IS-IS routers exchange IS-IS Hello PDUs every 10 seconds by default. Once neighbors are discovered and adjacency is formed, the Hellos act as keepalives to maintain the adjacency and inform changes in the adjacency parameters.

IS-IS Hello PDUs are are of two types depending on the type of network- LAN Hellos and Point-to-point Hellos. LAN Hellos is further divided into L1 and L2 LAN Hellos. L1 LAN Hellos are used by L1 routers on Broadcast network, and L2 LAN Hellos are used by L2 routers on Broadcast network. Point-to-point Hellos are used on non-broadcast media such as point-to-point links, NBMA network, etc. L1 and L2 information is carried in the same point-to-point Hello PDU.

A LAN Hello carries important information like System ID of the router originating the Hello, Priority which is used to elect the Designated IS or DIS (no Backup DIS is elected in IS-IS) and LAN ID which is the System ID of the DR plus one more octet (the Pseudonode ID) to differentiate this LAN ID from another LAN ID that might have the same DR. It also uses CLV (Code, Length, Value) triplet to carry Area addresses (type 1), IS Neighbors (type 6), Authentication information (type 10), Protocols supported (type 129) and IP Interface address (type 132).

The point-to-point Hello is almost identical to LAN Hello except that there is no Priority and LAN ID field, instead there is a Local Circuit ID which is a 1-octet ID assigned to the circuit by the router originating the Hello and is unique among the router's interfaces.

An IS-IS Hello packet is padded to the size of MTU. A sample IS-IS L1 LAN Hello is shown below-

Network topology:

All Cisco routers are L1/L2 routers by default and will send L1 and L2 Hellos over all LAN interfaces. To change a router to L1 router, use is-type level-1 IS-IS router configuration command. This will cause the router to send only L1 Hellos over all LAN interfaces of the router. To change a router to L2 router, use is-type level-2-only command.

To force a router interface to send only L1 or L2 Hellos over a specific LAN interface, use isis circuit-type interface configuration command.

The IS-IS Hello interval can be changed using isis hello-interval <value> command on a per-interface basis. The default Holding timer is 3 times the Hello interval. The Holding timer can also be changed on a per-interface basis using isis hello-multiplier <value> command.

As mentioned above, IS-IS uses Hellos to discover neighbors and form adjacency. For instance, when R2 router's Fa0/0 interface is enabled for IS-IS, it too starts sending L1 Hellos over this interface. When R1 router receives these L1 Hellos, it discovers R2 router. To form adjacency, they must agree to their respective capabilities and interface parameters.

LAN Hellos exchange between R1 & R2

00:06:50.855: ISIS-Adj: Sending L1 LAN IIH on FastEthernet0/0, length 1497
00:06:54.771: ISIS-Adj: Sending L2 LAN IIH on FastEthernet0/0, length 1497
00:06:58.891: ISIS-Adj: Rec L1 IIH from cc02.1538.0000 (FastEthernet0/0), cir type L1, cir id 2222.2222.2222.01, length 1497
00:06:58.891: ISIS-Adj: New adjacency, level 1 for cc02.1538.0000
00:06:58.895: ISIS-Adj: Sending L1 LAN IIH on FastEthernet0/0, length 1497
00:06:59.911: ISIS-Adj: Rec L1 IIH from cc02.1538.0000 (FastEthernet0/0), cir type L1, cir id 2222.2222.2222.01, length 1497
00:06:59.915: ISIS-Adj: L1 adj count 1
00:06:59.915: ISIS-Adj: L1 adjacency state goes to Up

Notice above that since R1 router is a L1/L2 router, it will send both L1 and L2 LAN Hellos over Fa0/0 interface. However, since R2 router is configured only as L1 router, it will only send L1 LAN Hellos over its Fa0/0 interface.

The show isis neighbors detail command shows connected IS-IS neighbors. For instance, below is a sample output.

show isis neighbors detail command on R1

R1# show isis neighbors detail
System Id      Type Interface   IP Address      State Holdtime Circuit Id
R2             L1   Fa0/0       10.1.1.2        UP    7        R2.01           
  Area Address(es): 49.0001
  SNPA: cc02.1538.0000
  State Changed: 01:05:28
  LAN Priority: 64
  Format: Phase V
  Interface name: FastEthernet0/0

Level-1 Adjacencies:

Level-1 adjacencies is formed only between L1 and L1/L2 routers. In this case, L1 adjacencies will be formed between R1, R2, R3 and R4 routers.

The IS-IS neighbor table can be viewed using show clns is-neighbors command as seen below. The first column indicates the System ID of the neighbor, the second column is the interface on which the neighbor is located, the third column is the state of adjacency, the fourth column is the type of adjacency with the neighbor and the fifth column indicates the priority as advertised by the neighbor which is used for the election of DIS.

The sixth column is the circuit ID. The Circuit ID is a 1-octet number that the router uses to uniquely identify its IS-IS interface. When the interface is attached to a broadcast network, the Circuit ID is concatenated with System ID of the network's DIS, to form LAN ID. In this case, the Circuit ID is called the Pseudonode ID. Here, R4 router is the DIS of the network and hence the LAN ID is R4.01, where Circuit ID is R4 while Pseudonode ID is 01.

The last column will always show Phase V for OSI/DECnet Phase V.

show clns is-neighbors

R1# show clns is-neighbors
System Id      Interface   State  Type Priority  Circuit Id         Format
R2             Fa0/0       Up     L1   64        R4.01              Phase V
R3             Fa0/0       Up     L1   64        R4.01              Phase V
R4             Fa0/0       Up     L1L2 64/64     R4.01              Phase V
R5             Fa0/0       Up     L2   64        R5.01              Phase V
R2# show clns is-neighbors
System Id      Interface   State  Type Priority  Circuit Id         Format
R1             Fa0/0       Up     L1   64        R4.01              Phase V
R3             Fa0/0       Up     L1   64        R4.01              Phase V
R4             Fa0/0       Up     L1   64        R4.01              Phase V
R3# show clns is-neighbors
System Id      Interface   State  Type Priority  Circuit Id         Format
R1             Fa0/0       Up     L1   64        R4.01              Phase V
R2             Fa0/0       Up     L1   64        R4.01              Phase V
R4             Fa0/0       Up     L1   64        R4.01              Phase V
R4# show clns is-neighbors
System Id      Interface   State  Type Priority  Circuit Id         Format
R1             Fa0/0       Up     L1L2 64/64     R4.01              Phase V
R2             Fa0/0       Up     L1   64        R4.01              Phase V
R3             Fa0/0       Up     L1   64        R4.01              Phase V
R5             Fa0/0       Up     L2   64        R5.01              Phase V

Level-2 Adjacencies:

Level-2 adjacencies are formed only between L1/L2 and L2 routers. Here, L2 adjacencies is formed between R1, R4 and R5 routers.

Level-2 adjacencies for R5

R5# show clns is-neighbors
System Id      Interface   State  Type Priority  Circuit Id         Format
R1             Fa0/0       Up     L2   64        R5.01              Phase V
R4             Fa0/0       Up     L2   64        R5.01              Phase V