A deeper look at IS-IS adjacencies

Since I’ve been having so much fun with IS-IS recently, I thought I’d look closer at the hello process whereby neighbours form an adjacency. I took two routers, connected over an Ethernet interface, and turned on IS-IS.
r0:interface Loopback99 ip address 1.1.1.1 255.255.255.255 ip router isisinterface Ethernet0 ip address 10.50.0.1 255.255.255.0 ip router isisrouter isis net 49.0001.0100.5000.0001.00 is-type level-1r1:
interface Ethernet0 ip address 10.50.0.3 255.255.255.0 ip router isisrouter isis net 49.0001.0100.5000.0002.00 is-type level-1r1#debug isis adj-packetsIS-IS Adjacency related packets debugging is on00:06:57: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 149700:06:59: ISIS-Adj: L1 adj count 000:06:59: ISIS-Adj: Run level-1 DR election for Ethernet000:06:59: ISIS-Adj: No adjacencies found00:07:00: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 149700:07:00: ISIS-Adj: New adjacency, level 1 for 0060.5cf3.bb1e00:07:00: ISIS-Adj: Sending L1 LAN IIH on Ethernet0, length 149700:07:03: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 149700:07:03: ISIS-Adj: L1 adj count 100:07:03: ISIS-Adj: Adjacency state goes to Up00:07:03: ISIS-Adj: Run level-1 DR election for Ethernet000:07:03: ISIS-Adj: New level-1 DR 0100.5000.0001 on Ethernet000:07:03: ISIS-Adj: Sending L1 LAN IIH on Ethernet0, length 149700:07:06: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 149700:07:09: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 149700:07:12: ISIS-Adj: Sending L1 LAN IIH on Ethernet0, length 149700:07:12: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 149700:07:16: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 1497

00:07:03: ISIS-Adj: Adjacency state goes to Up
00:07:03: ISIS-Adj: Run level-1 DR election for Ethernet0
00:07:03: ISIS-Adj: New level-1 DR 0100.5000.0001 on Ethernet0
00:07:03: ISIS-Adj: Sending L1 LAN IIH on Ethernet0, length 1497
00:07:06: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 1497
00:07:09: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 1497
00:07:12: ISIS-Adj: Sending L1 LAN IIH on Ethernet0, length 1497
00:07:12: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 1497
00:07:16: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 1497
Here, I’ve assigned both hosts a NET in the same area (49.0001). Debugging from R1, I see the IIH coming from R0. The adjacency is then formed, the routers hold a DR election and R0 is chosen as the designated router based on the lower ID (from the NET).

I can then see the loopback route:

r1#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       ...
       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
       ...

Gateway of last resort is not set

     1.0.0.0/32 is subnetted, 1 subnets
i L1    1.1.1.1 [115/20] via 10.50.0.1, Ethernet0
     10.0.0.0/24 is subnetted, 1 subnets
C       10.50.0.0 is directly connected, Ethernet0
What happens if the routers are in different areas?

r0(config)#router isis
r0(config-router)#no net 49.0001.0100.5000.0001.00
r0(config-router)#net 49.0002.0100.5000.0001.00
R1:

02:34:21: ISIS-Adj: No adjacencies found
02:34:21: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 1497
02:34:21: ISIS-Adj: Area mismatch, level 1 IIH on Ethernet0
02:34:21: ISIS-Adj: Sending L1 LAN IIH on Ethernet0, length 1497
02:34:29: ISIS-Adj: Sending L1 LAN IIH on Ethernet0, length 1497
02:34:30: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 1497
02:34:30: ISIS-Adj: Area mismatch, level 1 IIH on Ethernet0
And then, make both L1-L2 routers:

02:37:24: ISIS-Adj: New adjacency, level 1 & 2 for 0060.5cf3.bb1e
02:37:25: %SYS-5-CONFIG_I: Configured from console by vty0 (10.50.0.253)
02:37:25: ISIS-Adj: Sending L2 LAN IIH on Ethernet0, length 1497
02:37:25: ISIS-Adj: Rec L2 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1L2, cir id 0100.5000.0001.01, length 1497
02:37:25: ISIS-Adj: L1 adj count 1
02:37:25: ISIS-Adj: L2 adj count 1
02:37:25: ISIS-Adj: Adjacency state goes to Up
02:37:25: ISIS-Adj: Run level-1 DR election for Ethernet0
02:37:25: ISIS-Adj: No change
02:37:25: ISIS-Adj: Run level-2 DR election for Ethernet0
02:37:25: ISIS-Adj: New level-2 DR 0100.5000.0001 on Ethernet0
02:37:26: ISIS-Adj: Sending L2 LAN IIH on Ethernet0, length 1497
02:37:27: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1L2, cir id 0100.5000.0001.01, length 1497
02:37:28: ISIS-Adj: Rec L2 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1L2, cir id 0100.5000.0001.01, length 1497
02:37:29: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1L2, cir id 0100.5000.0001.01, length 1497
02:37:31: ISIS-Adj: Rec L2 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1L2, cir id 0100.5000.0001.01, length 1497
02:37:32: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1L2, cir id 0100.5000.0001.01, length 1497
02:37:33: ISIS-Adj: Sending L1 LAN IIH on Ethernet0, length 1497
02:37:34: ISIS-Adj: Rec L2 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1L2, cir id 0100.5000.0001.01, length 1497
02:37:35: ISIS-Adj: Sending L2 LAN IIH on Ethernet0, length 1497
Note how both L1 and L2 IIH PDUs are sent and received. There are also separate L1 and L2 elections and tables:

r1#show isis database

IS-IS Level-1 Link State Database:
LSPID                 LSP Seq Num  LSP Checksum  LSP Holdtime      ATT/P/OL
r0.00-00              0x0000006A   0x9F67        1158              0/0/0
r0.01-00              0x00000010   0x6AE4        1159              0/0/0
r1.00-00            * 0x00000014   0x9823        1160              0/0/0
IS-IS Level-2 Link State Database:
LSPID                 LSP Seq Num  LSP Checksum  LSP Holdtime      ATT/P/OL
r0.00-00              0x00000002   0x224D        1162              0/0/0
r0.01-00              0x00000001   0x18CE        1158              0/0/0
r1.00-00            * 0x00000002   0xBF68        1164              0/0/0

r1#show isis topology

IS-IS paths to level-1 routers
System Id             Metric  Next-Hop              Interface   SNPA
r0                    10      r0                    Et0         0060.5cf3.bb1e
r1                    --

IS-IS paths to level-2 routers
System Id             Metric  Next-Hop              Interface   SNPA
r0                    10      r0                    Et0         0060.5cf3.bb1e
r1
Jacking up the debug level to see the LSP exchange (back into L1-L1 mode)

r1# show debug
CLNS:
  IS-IS Adjacency related packets debugging is on
  IS-IS SPF events debugging is on
  IS-IS Update related packet debugging is on
  IS-IS SPF triggering events debugging is on
  IS-IS local updates debugging is on

r1# clear isis *
00:15:38: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 1497
00:15:39: ISIS-Adj: Sending L1 LAN IIH on Ethernet0, length 1497
r1#
00:15:40: ISIS-Spf: Aging L1 LSP 3 (0100.5000.0001.00-00), version 10
00:15:40: ISIS-Spf: Aging IP 1.1.1.1/255.255.255.255, next hop 10.50.0.1
00:15:40: ISIS-Spf: Deleted NDB
00:15:40: ISIS-Spf: Aging L1 LSP 1 (0100.5000.0002.00-00), version 10
00:15:40: ISIS-Spf: Aging L1 LSP 2 (0100.5000.0001.01-00), version 10
00:15:40: ISIS-Adj: L1 adj count 0
00:15:40: ISIS-Spf: L1 SPF needed, database changed, from 0x388860C
00:15:40: ISIS-Adj: Run level-1 DR election for Ethernet0
00:15:40: ISIS-Adj: No adjacencies found
00:15:41: ISIS-Upd: Building L1 LSP
00:15:41: ISIS-Upd: New LSP
00:15:41: ISIS-Spf: L1, new LSP 0 0100.5000.0002.00-00
00:15:41: ISIS-Upd: Full SPF required
00:15:41: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 1497
00:15:41: ISIS-Adj: New adjacency, level 1 for 0060.5cf3.bb1e
00:15:41: ISIS-Adj: Sending L1 LAN IIH on Ethernet0, length 1497
00:15:44: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 1497
00:15:44: ISIS-Spf: L1 SPF needed, new adjacency, from 0x388DBAE
00:15:44: ISIS-Loc: L1 DR changed from 0x388DBBE
00:15:44: ISIS-Adj: L1 adj count 1
00:15:44: ISIS-Adj: Adjacency state goes to Up
00:15:44: ISIS-Adj: Run level-1 DR election for Ethernet0
00:15:44: ISIS-Adj: New level-1 DR 0100.5000.0001 on Ethernet0
00:15:44: ISIS-Adj: Sending L1 LAN IIH on Ethernet0, length 1497
00:15:46: ISIS-Upd: Building L1 LSP
00:15:46: ISIS-Upd: TLV contents different, code 2
00:15:46: ISIS-Spf: L1, 0100.5000.0002.00-00 TLV contents changed, code 2
00:15:46: ISIS-Upd: Full SPF required
00:15:46: ISIS-Upd: Sending L1 LSP 0100.5000.0002.00-00, seq 2, ht 1199 on Ethernet0
00:15:46: ISIS-Upd: Rec L1 LSP 0100.5000.0002.00-00, seq 6, ht 677,
00:15:46: ISIS-Upd: from SNPA 0060.5cf3.bb1e (Ethernet0)
00:15:46: ISIS-Upd: LSP newer than database copy
00:15:46: ISIS-Loc: L1 regeneration
00:15:46: ISIS-Upd: Building L1 LSP
00:15:46: ISIS-Upd: No change
00:15:46: ISIS-Upd: Regenerated LSP
00:15:46: ISIS-Upd: Sending L1 LSP 0100.5000.0002.00-00, seq 7, ht 1199 on Ethernet0
00:15:46: ISIS-Spf:  Compute L1 SPT
00:15:46: ISIS-Spf: Move 0100.5000.0002.00-00 to PATHS, metric 0
00:15:46: ISIS-Spf: Aging L1 LSP 1 (deleted), version 11
00:15:46: ISIS-Spf: Aging L1 LSP 2 (deleted), version 11
00:15:46: ISIS-Spf: Aging L1 LSP 3 (deleted), version 11
00:15:46: ISIS-Spf: Aging L1 LSP 4 (0100.5000.0002.00-00), version 8
00:15:47: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 1497
00:15:48: ISIS-Upd: Rec L1 LSP 0100.5000.0001.00-00, seq 5D, ht 751,
00:15:48: ISIS-Upd: from SNPA 0060.5cf3.bb1e (Ethernet0)
00:15:48: ISIS-Upd: LSP newer than database copy
00:15:48: ISIS-Upd: TLV contents different, code 1
00:15:48: ISIS-Upd: TLV contents different, code 129
00:15:48: ISIS-Upd: TLV contents different, code 137
00:15:48: ISIS-Upd: TLV contents different, code 132
00:15:48: ISIS-Upd: TLV contents different, code 128
00:15:48: ISIS-Upd: TLV contents different, code 2
00:15:48: ISIS-Spf: L1, 0100.5000.0001.00-00 TLV contents changed, code 2
00:15:48: ISIS-Upd: Full SPF required
00:15:48: ISIS-Upd: Rec L1 LSP 0100.5000.0001.01-00, seq 3, ht 608,
00:15:48: ISIS-Upd: from SNPA 0060.5cf3.bb1e (Ethernet0)
00:15:48: ISIS-Upd: LSP newer than database copy
00:15:48: ISIS-Upd: TLV contents different, code 2
00:15:48: ISIS-Spf: L1, 0100.5000.0001.01-00 TLV contents changed, code 2
00:15:48: ISIS-Upd: Full SPF required
00:15:50: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 1497
00:15:52: ISIS-Spf:  Compute L1 SPT
00:15:52: ISIS-Spf: Move 0100.5000.0002.00-00 to PATHS, metric 0
00:15:52: ISIS-Spf: Add 0100.5000.0001.01-00 to TENT, metric 10
00:15:52: ISIS-Spf: Move 0100.5000.0001.01-00 to PATHS, metric 10
00:15:52: ISIS-Spf: considering adj to 0100.5000.0001 (Ethernet0) metric 10, level 1, circuit 3, adj 1
00:15:52: ISIS-Spf:   (accepted)
00:15:52: ISIS-Spf: Add 0100.5000.0001.00-00 to TENT, metric 10
00:15:52: ISIS-Spf:   Next hop 0100.5000.0001 (Ethernet0)

TOP

00:15:52: ISIS-Spf: Move 0100.5000.0001.00-00 to PATHS, metric 10
00:15:52: ISIS-Spf: Add 10.50.0.0/255.255.255.0 to IP RIB, metric 20
00:15:52: ISIS-Spf: Next hop 0100.5000.0001/10.50.0.1 (Ethernet0) (rejected)
00:15:52: ISIS-Spf: Add 1.1.1.1/255.255.255.255 to IP RIB, metric 20
00:15:52: ISIS-Spf: Next hop 0100.5000.0001/10.50.0.1 (Ethernet0) (accepted)
00:15:52: ISIS-Spf: Aging L1 LSP 1 (0100.5000.0001.01-00), version 13
00:15:52: ISIS-Spf: Aging L1 LSP 2 (0100.5000.0001.00-00), version 13
00:15:52: ISIS-Spf: Aging L1 LSP 4 (0100.5000.0002.00-00), version 9
00:15:53: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 1497
00:15:53: ISIS-Adj: Sending L1 LAN IIH on Ethernet0, length 1497
00:15:55: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 1497
00:15:58: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 1497
00:16:01: ISIS-Adj: Sending L1 LAN IIH on Ethernet0, length 1497
00:16:01: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 1497und all
All possible debugging has been turned off
00:16:04: ISIS-Adj: Rec L1 IIH from 0060.5cf3.bb1e (Ethernet0), cir type L1, cir id 0100.5000.0001.01, length 1497
r1#show isis database
IS-IS Level-1 Link State Database:
LSPID                 LSP Seq Num  LSP Checksum  LSP Holdtime      ATT/P/OL
r0.00-00              0x0000005D   0xB75E        687               0/0/0
r0.01-00              0x00000003   0x82DB        544               0/0/0
r1.00-00            * 0x00000007   0xB01A        1134              0/0/0
r1#show isis topology
IS-IS paths to level-1 routers
System Id             Metric  Next-Hop              Interface   SNPA
r0                    10      r0                    Et0         0060.5cf3.bb1e
r1

TOP

thank you very much!

TOP

返回顶部
CopyRight © 2009 CCNA Live

Powered by Discuz! 7.2 © 2008 Comsenz Inc.

Contact Us - Clear Cookies - Stats - Archiver - WAP

GMT+8, 2018-8-14 23:04.