Table of Contents

ISIS Adjacency details are the first step to learn not only the ISIS routing protocol but all other routing protocols, which is discussed in this section.

We will discuss L1 and L2 Adjacency. ISIS Adjacency Differences in LAN and Point-to-Point Interfaces. Adjacency Timers, ISIS Adjacency requirements and also ISIS Adjacency States which help us in troubleshooting.

ISIS Adjacency Fundamental

ISIS protocol, like most routing protocols, in the first step, identifies its neighbors before transmitting any information. The purpose of forming an adjacency, as with other routing protocols, is to ensure that our adjacency parameters are compatible or identical between neighboring routers.

why ISIS Adjacency
why ISIS Adjacency

The second goal of forming an adjacency is to track the status of neighboring routers, so that if the connection with any neighboring router is broken, it will be quickly identified to reduce the convergence time.

ISIS routers identify and track their neighbors by sending and receiving Hello packets, which are transmitted every 10 seconds by default.

ISIS Adjacency Level Types and Interface Types

There are two types of Hello packets in ISIS protocol. L1 and L2.

Hello packet sent on LAN interfaces is different from Hello packet sent on Point-to-Point interfaces.

ISIS Adjacency in LAN interfaces
ISIS Adjacency in LAN interfaces

Hello packet sent on LAN interfaces has two types, L1 and L2. In other words, the Hello packet sent by L1 routers on LAN interfaces is separate from the Hello packet sent by L2 routers on the same interface. Therefore, if two routers on a LAN are both of L1/L2 type, two independent adjacency are created, one for L1 and the other for L2.

But on Point-to-Point interfaces, only one type of Hello packet is sent, which contains both L1 and L2 router information.

You may ask why Hello packet related to L1 routers is sent separately from L2 routers in LAN networks. The answer is clear because there may be several routers in a LAN network and some routers are only of L1 type, some routers are only of L2 type and other routers are also of L1/L2 type.

For example, in the figure, routers R1, R2, R3, and R4 form an L1 adjacency, but routers R1, R4, and R5 form an L2 adjacency, and therefore L1 neighbors are different from L2 neighbors.

In Point-to-Point interfaces, there are always two neighbors that are either L1 or L2 or both L1/L2.

ISIS Adjacency Requirements

In the ISIS protocol, like all routing protocols, it is necessary to match some parameters of the neighboring routers to form an adjacency. Some of the parameters that are important in the adjacency of ISIS are as follows:

  • Having the same Area number, is necessary to form an L1 Adjacency, but it is not important for a L2 Adjacency.
  • In ISIS, as in EIGRP routing protocol, it is not important that neighboring routers have the same hello time and hold time, and each router expects the hello packet according to the hello time configured in the neighboring router.
  • It is necessary to have the same authentication information between neighboring routers. The implementation of authentication will be discussed in the next sections.
ISIS Adjacency Requirements
ISIS Adjacency Requirements

ISIS Adjacency States

In ISIS, there are three adjacency states. Knowing these states help us to troubleshoot adjacency problems easier.

ISIS neighbor states
ISIS neighbor states

DOWN: This means that no hello packet was received from that neighbor during the hold time.

Initializing: In this case, the hello packet has been received from the neighbor, but the neighbor has not received the hello packet of this router.

In the hello packet, there is the is-neighbors field, which lists the routers whose hellos are received on each interface. So if the neighbor’s hello is received, but the router’s address isn’t in the is-neighbors field, the router knows that the neighbor hasn’t yet received that router’s hello.

UP: The UP neighbor state means that the two neighbors have received each other’s hello and also agreed on the parameters of the ISIS protocol. For example, if authentication is enabled, the password information is the same between the neighbors.

ISIS Hello Packet Details

It is not bad to know exactly which information are transferred through hello packet in ISIS routing protocol.

This photo which is borrowed from Amit N. Bhagat’s blog, shows the details of a Level 1 LAN Hello packet. This output is not related to our topology and is just for better understanding.

ISIS Hello Packet details
ISIS Hello Packet details

The information sent in LAN Hello includes the following:

  • System Id of the router that sends the Hello packet
  • Priority which is used to select DIS (equivalent to DR in OSPF. There is no concept of Backup DIS in ISIS).
  • LAN ID, which is formed by adding one byte to the system ID of the DIS router. The reason for adding this one byte is that if the same router becomes DIS again for another LAN, we can use this one byte to separate these two DIS.
  • Area number
  • List of neighboring routers
  • Authentication information
  • IP address of the interface
  • List of supported protocols

The information that is sent in Point-to-Point Hello is the same as the LAN Hello packet, with the difference that it does not have the LAN ID and priority fields, but it has a Circuit Id byte that specifies the router interface and has been discussed before.

ISIS Adjacency Demo Example

This is a topology identical to the topology we saw at the beginning of this section. The configuration is shown here but we do not discuss about the configuration since they are discussed in the previous sections.

In this topology, we can see the output of the adjacency table on router R1 with the command “show isis neighbors”.

ISIS Adjacency Monitoring and Troubleshooting
ISIS Adjacency Monitoring and Troubleshooting
IOU1#show isis neighbors

System Id      Type Interface   IP Address      State Holdtime Circuit Id
IOU2           L1   Et0/0       192.168.1.2     UP    28       IOU4.01
IOU3           L1   Et0/0       192.168.1.3     UP    29       IOU4.01
IOU4           L1   Et0/0       192.168.1.4     UP    8        IOU4.01
IOU4           L2   Et0/0       192.168.1.4     UP    22       IOU5.01
IOU5           L2   Et0/0       192.168.1.5     UP    8        IOU5.01
IOU1#

As you can see in this output, router R1 has created two separate Adjacency with router R4, one of the type of L1 and the other of the type of L2.

To see the details of neighborship, we can use the command “show isis neighbors detail”.

IOU1#show isis neighbors detail

System Id      Type Interface   IP Address      State Holdtime Circuit Id
...
IOU4           L1   Et0/0       192.168.1.4     UP    9        IOU4.01
System Id      Type Interface   IP Address      State Holdtime Circuit Id
  Area Address(es): 49.0001
  SNPA: aabb.cc00.0400
  State Changed: 00:11:18
  LAN Priority: 64
  Format: Phase V
  Remote TID: 0
  Local TID:  0
  Interface name: Ethernet0/0
IOU4           L2   Et0/0       192.168.1.4     UP    22       IOU5.01
  Area Address(es): 49.0001
  SNPA: aabb.cc00.0400
  State Changed: 00:17:57
  LAN Priority: 64
  Format: Phase V
  Remote TID: 0
  Local TID:  0
  Interface name: Ethernet0/0
...

As you can see in the output, there are two records for the neighbor R4 is created. One for L1 and one for L2.

The system Id of the neighbor, type of the neighbor, IP address of the neighbor, area number and LAN priority are some important fields that are shown in the output.

Configure ISIS Router and Interface Level type

As you already know, all ISIS routers are L1/L2 by default, so they send both L1 and L2 Hellos on LAN interfaces.

As already shown, if you want the router to be L1 only, use the “is-type level-1” command, so the router will only send L1 type hello packets.

If you want the router to send L2 type hello packets only, use the command “is-type level-2-only” command.

If the router is of the type of L1/L2, and you want to send only L1 or L2 Hello packets on specific interface, use the “isis circuit-type” command in the interface context mode to determine the type of hello packet sent.

ISIS Adjacency Timers

As I have mentioned at the beginning of this section, Hello packets are transmitted every 10 seconds by default.

To change the interval of sending hello packet, to minimize the convergence time, we use the command “isis hello-interval” in the interface environment.

By default, the hold time is 3 times the hello time. To change the hold time multiplier, use the “isis hello-multiplier” command in the interface context mode.

IOU1(config)#interface ethernet 0/0
IOU1(config-if)#isis hello-interval ?
  <1-65535>  Hello interval value
  minimal    Holdtime 1 second, interval depends on multiplier

IOU1(config-if)#isis hello-interval minimal ?
  level-1  Specify hello-interval for level-1 IIHs
  level-2  Specify hello-interval for level-2 IIHs
  <cr>

IOU1(config-if)#isis hello-multiplier ?
  <3-1000>  Hello multiplier value

IOU1(config-if)#isis hello-multiplier 3 ?
  level-1  Specify hello multiplier for level-1 IIHs
  level-2  Specify hello multiplier for level-2 IIHs
  <cr>

IOU1#

There are three points worth mentioning in ISIS adjacency timer commands.

ISIS Ajacency Timers
ISIS Ajacency Timers

First, it is possible to change the value of hello-time and hold-time at L1 and L2 levels independently. This means that on LAN interfaces, interval of sending L1 Hello and L2 Hello can be different.

Second, if you configure hello-time as minimal, the hold-time value will be 1 second and the hello-time value is determined according to the hello-multiplier.

For example, by configuring hello-time as minimal and the value of 3 as hello-multiplier, the hello timer will be one third (1/3) of one second.

Another important point is that the value of hello time and hold time in DIS router is one third of the configured time. The reason for that is to detect quick when DIS router is failed. We will discuss this further in the next sections.

By default, the value of hello time and hold time in DIS router are 3.333 seconds and 10 seconds.

Circuit Id in ISIS LAN Interface

You can also use the command “show clns is-neighbors” to view the ISIS neighbor table. System Id and type of the neighbors are shown in the output.

IOU1#show clns is-neighbors
System Id      Interface   State  Type Priority  Circuit Id         Format
IOU2           Et0/0       Up     L1   64        IOU4.01            Phase V
IOU3           Et0/0       Up     L1   64        IOU4.01            Phase V
IOU4           Et0/0       Up     L1L2 64/64     IOU4.01            Phase V
IOU5           Et0/0       Up     L2   64        IOU5.01            Phase V
IOU1#

The sixth column in this output shows the circuit id. You know that the circuit id is used to address the interface in the router.

As already mentioned, if the interface type is LAN, the circuit ID refers to the system ID of the DIS router.

From this output we can understand that the DIS in the LAN network is router R4 for L1 adjacency and router R5 for L2 adjacency.

Back to: IS-IS Routing Protocol > Cisco ISIS Configuration and Troubleshooting

Leave a Reply

Your email address will not be published. Required fields are marked *


Post comment