↓ Skip to main content
  1. Network Articles/
  2. IS-IS Articles/

IS-IS DIS and the Pseudonode

Table of Contents

IS-IS DIS and the Pseudonode

On a broadcast segment IS-IS elects one router as the representative, the DIS (Designated Intermediate System). It corresponds to OSPF’s DR, but the resemblance stops at the idea of electing a representative.

The DIS’s central job is to build a fictitious node in the database, the pseudonode, on everyone’s behalf. This article checks what the pseudonode solves, how the DIS is elected, and how it differs from OSPF’s DR.

The Priority and LAN ID fields of a LAN IIH are covered in IS-IS Packet Types and Header Format.

What the Pseudonode Solves

Represented literally, a broadcast segment is n routers in a full mesh, n(n−1)/2 links: 45 for ten routers, and growing fast.

Clause 3.6.7 of ISO/IEC 10589:2002 treats the segment itself as a single node.

Where a broadcast subnetwork has n connected Intermediate systems, the broadcast subnetwork itself is considered to be a pseudonode. The pseudonode has links to each of the n Intermediate and End systems. Each of the ISs has a single link to the pseudonode (rather than n-1 links to each of the other Intermediate systems).

The link count drops to n. Clause 7.2.3 states that each router reports only its link to the pseudonode, and the DIS constructs the pseudonode’s LSPs on its behalf.

That is what the DIS fundamentally does: ghost-write the LSP of a fictitious node called the LAN.

The Pseudonode LSP Carries a Metric of Zero

Traversing a pseudonode means two links, R2 to the pseudonode and the pseudonode to R3, which risks counting the cost twice.

The standard resolves this by making every metric in the pseudonode’s LSP zero; the footnote to 7.2.3 gives the reason.

They are set to zero metric values since they have already been assigned metrics by the link to the pseudonode. Assigning a non-zero metric in the pseudonode LSP would have the effect of doubling the actual value.

The cost is paid only in the router-to-pseudonode direction, so the segment counts correctly as a single hop.

Electing the DIS

The rule is in clause 8.4.5 of ISO/IEC 10589:2002, and it is very short.

A LAN Designated Intermediate System is the highest priority Intermediate system in a particular set on the LAN, with numerically highest MAC source SNPAAddress breaking ties.

OrderCondition
1The IS with the highest priority. IOS XR defaults to 64, configurable from 0 to 127
2On a tie, the IS with the numerically highest SNPA (MAC address)

The standard adds that a router must not declare itself DIS until it has at least one Up adjacency, so that a box with a broken receiver cannot decide it is the DIS.

Each level elects its DIS separately; if they differ, two pseudonodes exist.

Differences from OSPF’s DR

The designs differ in three points.

AspectOSPF DRIS-IS DIS
BackupThere is a BDR, ready to take over instantlyThere is none. ISO/IEC 10589 has no concept of a backup DIS; when one goes, the election simply re-runs
Raising a priorityDoes not take over (non-preemptive). The existing DR staysTakes over (preemptive). Clause 7.2.3 says a router resigns because “some other Intermediate system of higher priority has taken over that function”
AdjacenciesFull adjacency only with the DR and BDRAdjacency with everyone. What is collapsed is the database representation, not the adjacencies

The pseudonode is purely a database representation; it does not reduce the number of adjacencies. Each router on a four-router LAN holds three adjacencies.

The election re-runs on every IIH sent or received (8.4.5), so nothing like a BDR is required.

Verification on Real Equipment

The test environment

Four routers on a single broadcast segment (10.1.0.0/24), all in area 49.0001, all level-1-2, with no point-to-point.

RouterNETSNPA (MAC address)
R149.0001.0010.0100.1001.005254.00a3.a6fa
R249.0001.0020.0200.2002.005254.0075.d9dc
R349.0001.0030.0300.3003.005254.003a.d413
R449.0001.0040.0400.4004.005254.0089.cc01

Every priority is the default 64, so R1, with the highest SNPA, should become the DIS.

The test STEPs

STEPActionPurpose
0Initial stateThe election result and the contents of the pseudonode LSP
1Set R3’s priority to 100Preemption. Can R3, with the lowest MAC, take the role?
2Set R2’s priority to 110 for Level 2 onlyA per-level DIS. Do two pseudonodes appear on one LAN?
3shutdown R3’s LAN interfaceRe-election. Confirming there is no backup
4Restore the priorities and the shutdown (final state)Same as the initial state

Two IOS XR commands proved useful.

CommandWhat it shows
show isis trace all | include ELECTDIS_RUN_ELECTION / DIS_TRIGGER_ELECTION / DIS_ELECTION_RESULT_* — the election itself
show isis trace all | include PSEUDOLOCAL_PSEUDO_BUILD_START to LOCAL_PSEUDO_NARROW_LINK_ADD to LOCAL_PSEUDO_BUILD_END — the pseudonode LSP being assembled

show isis trace selects by severity; all runs to nearly 4000 lines, so narrow it with | include (| include DIS matches the unrelated DIST_ entries).

The Initial DIS (STEP 0)

STEP 0: show isis interface GigabitEthernet0/0/0/0 on R1 (excerpt)
  Level-1                   
    Adjacency Count:        3
    Adjacency Flaps:        0
    LAN ID:                 R1.01
    Priority (Local/DIS):   64/64
    Next LAN IIH in:        1 s
    LSP Pacing Interval:    33 ms
    PSNP Entry Queue Size:  0
    Hello Interval:         10 s
    Hello Multiplier:       3
  Level-2                   
    Adjacency Count:        3
    Adjacency Flaps:        0
    LAN ID:                 R1.01
    Priority (Local/DIS):   64/64

LAN ID: R1.01 is the same at both levels, so R1 is the DIS for both. Priority (Local/DIS): 64/64 reads “our priority / the DIS’s priority”.

Adjacency Count: 3 shows that a pseudonode does not reduce the number of adjacencies.

Inside the pseudonode LSP

STEP 0: show isis database detail on R1 (excerpt)
R1.01-00              0x00000008   0xb492        636  /*            0/0/0
  Metric: 0          IS R4.00
  Metric: 0          IS R3.00
  Metric: 0          IS R2.00
  Metric: 0          IS R1.00
R2.00-00              0x00000006   0x8090        619  /1200         0/0/0
  Area Address:   49.0001
  LSP MTU:        1492
  NLPID:          0xcc
  IP Address:     2.2.2.2
  Hostname:       R2
  Metric: 0          IP 2.2.2.2/32
  Metric: 10         IP 10.1.0.0/24
  Metric: 10         IS R1.01

The first part is the pseudonode LSP R1.01-00, listing all four routers with every metric zero.

R2’s own LSP has a single IS reference, Metric: 10 IS R1.01: each router reports only its one link to the pseudonode, as 7.2.3 requires.

The cost from R2 to R3 is 10 plus 0, giving 10. Had the pseudonode LSP carried 10, it would be 20, twice the real cost.

Taking the Role by Priority (STEP 1)

R3’s priority is raised to 100. R3 has the lowest SNPA, so it shows whether priority alone can win.

STEP 1: configuration applied to R3
router isis 1
 interface GigabitEthernet0/0/0/0
  priority 100
STEP 1: show isis database on R1 (Level-1)
IS-IS 1 (Level-1) Link State Database
LSPID                 LSP Seq Num  LSP Checksum  LSP Holdtime/Rcvd  ATT/P/OL
R1.00-00            * 0x00000007   0x24d2        1100 /*            0/0/0
R1.01-00              0x00000009   0x9aef        0 (1099)/*         0/0/0
R2.00-00              0x00000008   0xa228        1100 /1200         0/0/0
R3.00-00              0x00000007   0x257b        1099 /1200         0/0/0
R3.01-00              0x00000001   0x60a9        1099 /1200         0/0/0
R4.00-00              0x00000008   0xa3d0        1100 /1200         0/0/0

The old DIS’s pseudonode LSP R1.01-00 shows a Holdtime of 0 (purged), and R3.01-00 appears with sequence number 0x00000001.

This is the behaviour clause 7.2.3 of ISO/IEC 10589:2002 prescribes.

When an Intermediate system resigns as Designated Intermediate System, it shall initiate a network wide purge of its pseudonode Link State PDU(s) by setting their Remaining Lifetime to zero.

This shows that priority overrides the lowest MAC and that a change of DIS rebuilds the pseudonode LSP.

The handover in the capture

STEP 1: LSPs seen in the R2-SW capture (excerpt)
  No type   LSP-ID                    life seq
  23 L1 LSP 0010.0100.1001.01-00         0 0x00000008
  24 L2 LSP 0010.0100.1001.01-00         0 0x00000008
  ...
  41 L1 LSP 0030.0300.3003.01-00      1200 0x00000001
  43 L2 LSP 0030.0300.3003.01-00      1199 0x00000001

The old DIS’s pseudonode 0010.0100.1001.01-00 is purged with life=0 and the new 0030.0300.3003.01-00 is born with seq=1.

Download the capture taken during preemption, STEP 1 (isis-dis-preempt.pcap)

The re-election in the trace

STEP 1: show isis trace all | include ELECT on R1 (excerpt)
Sep  9 06:51:42.059 isis/1/det ... isis_dis_run_election:778      DIS_ELECTION_RESULT_DIS_EXISTS L1 Gi0/0/0/0
Sep  9 06:51:42.059 isis/1/det ... isis_dis_run_election:778      DIS_ELECTION_RESULT_DIS_EXISTS L2 Gi0/0/0/0
Sep  9 06:51:43.049 isis/1/det ... isis_dis_trigger_election:964  DIS_TRIGGER_ELECTION L1 Gi0/0/0/0 0030.0300.3003
Sep  9 06:51:43.049 isis/1/det ... isis_dis_trigger_election:964  DIS_TRIGGER_ELECTION L2 Gi0/0/0/0 0030.0300.3003

DIS_TRIGGER_ELECTION ending with 0030.0300.3003 (R3) records that receiving R3’s IIH made R1 re-run the election, two seconds after the commit on R3 (06:51:41).

On R3, the new DIS, the assembly of the pseudonode LSP was recorded.

STEP 1: show isis trace all | include PSEUDO on R3 (excerpt)
Sep  9 06:51:42.103 isis/1/lsp ... LOCAL_PSEUDO_BUILD_START L1 Gi0/0/0/0 Node Num: 1
Sep  9 06:51:42.103 isis/1/std ... LOCAL_PSEUDO_NARROW_LINK_ADD L1 Gi0/0/0/0 Node Num: 1 0030.0300.3003.00
Sep  9 06:51:42.103 isis/1/std ... LOCAL_PSEUDO_NARROW_LINK_ADD L1 Gi0/0/0/0 Node Num: 1 0010.0100.1001.00
Sep  9 06:51:42.103 isis/1/std ... LOCAL_PSEUDO_NARROW_LINK_ADD L1 Gi0/0/0/0 Node Num: 1 0020.0200.2002.00
Sep  9 06:51:42.103 isis/1/std ... LOCAL_PSEUDO_NARROW_LINK_ADD L1 Gi0/0/0/0 Node Num: 1 0040.0400.4004.00
Sep  9 06:51:42.103 isis/1/lsp ... LOCAL_PSEUDO_BUILD_END L1 Gi0/0/0/0 Node Num: 1 1

NARROW_LINK_ADD appears four times, the four routers on the LAN: the pseudonode LSP being assembled as “links to everyone on the LAN”.

A Different DIS per Level (STEP 2)

IOS XR can set the priority per level. R2’s Level 2 priority alone was raised to 110.

STEP 2: configuration applied to R2
router isis 1
 interface GigabitEthernet0/0/0/0
  priority 110 level 2
STEP 2: show isis interface GigabitEthernet0/0/0/0 on R1 (excerpt)
  Level-1                   
    Adjacency Count:        3
    Adjacency Flaps:        0
    LAN ID:                 R3.01
    Priority (Local/DIS):   64/100
  Level-2                   
    Adjacency Count:        3
    Adjacency Flaps:        0
    LAN ID:                 R2.01
    Priority (Local/DIS):   64/110

The Level 1 DIS is R3 (100) and the Level 2 DIS is R2 (110).

The database shows two pseudonodes on the same LAN.

STEP 2: show isis database on R1
IS-IS 1 (Level-1) Link State Database
LSPID                 LSP Seq Num  LSP Checksum  LSP Holdtime/Rcvd  ATT/P/OL
R1.00-00            * 0x00000007   0x24d2        839  /*            0/0/0
R1.01-00              0x00000009   0x9aef        0 (838)/*          0/0/0
R2.00-00              0x00000008   0xa228        839  /1200         0/0/0
R3.00-00              0x00000007   0x257b        838  /1200         0/0/0
R3.01-00              0x00000001   0x60a9        838  /1200         0/0/0
R4.00-00              0x00000008   0xa3d0        839  /1200         0/0/0

 Total Level-1 LSP count: 6     Local Level-1 LSP count: 1

IS-IS 1 (Level-2) Link State Database
LSPID                 LSP Seq Num  LSP Checksum  LSP Holdtime/Rcvd  ATT/P/OL
R1.00-00            * 0x0000000f   0xfa2b        1097 /*            0/0/0
R1.01-00              0x00000009   0x9aef        0 (838)/*          0/0/0
R2.00-00              0x0000000f   0x807e        1096 /1200         0/0/0
R2.01-00              0x00000001   0xd556        1096 /1200         0/0/0
R3.00-00              0x0000000d   0x0acf        1097 /1200         0/0/0
R4.00-00              0x0000000e   0x8d24        1097 /1200         0/0/0

Level 1 holds R3.01-00 and Level 2 R2.01-00: one physical LAN represented by a different pseudonode at each level (IS-IS Level 1 and Level 2).

R3.01-00 has disappeared from Level 2. Resignation happens per level.

Download the capture taken while splitting the DIS per level, STEP 2 (isis-dis-level.pcap)

When the DIS Goes Away (STEP 3)

R3, the Level 1 DIS, had its LAN interface shut down.

STEP 3: configuration applied to R3
interface GigabitEthernet0/0/0/0
 shutdown
STEP 3: show isis interface GigabitEthernet0/0/0/0 on R1 (excerpt)
  Level-1                   
    Adjacency Count:        2
    LAN ID:                 R1.01
    Priority (Local/DIS):   64/64
  Level-2                   
    Adjacency Count:        2
    LAN ID:                 R2.01
    Priority (Local/DIS):   64/110

The Level 1 DIS moves to R1. The remaining three are at Level 1 priority 64, so the highest SNPA wins. The Level 2 DIS is still R2.

STEP 3: show isis database on R1 (Level-1)
IS-IS 1 (Level-1) Link State Database
LSPID                 LSP Seq Num  LSP Checksum  LSP Holdtime/Rcvd  ATT/P/OL
R1.00-00            * 0x00000008   0xfb3e        1092 /*            0/0/0
R1.01-00              0x0000000a   0xe651        1092 /*            0/0/0
R2.00-00              0x0000000a   0x7894        1093 /1200         0/0/0
R3.00-00              0x00000007   0x257b        594  /1200         0/0/0
R3.01-00              0x00000001   0xe16c        0 (1092)/*         0/0/0
R4.00-00              0x0000000a   0x793d        1093 /1200         0/0/0

R3.01-00 is purged and R1.01-00 is back.

No backup had been prepared. The remaining three re-ran the election on the spot and settled on R1.

The lost adjacency is in the log as well.

STEP 3: show isis adjacency-log on R1 (Level 1, tail)
07:00:00.552  R3              Gi0/0/0/0          u -> d  Holdtime expired
                                                         IPv4 Unicast Down

STEP 4 restores the priorities and the shutdown, and the DIS returns to R1 at both levels.

Download the capture taken during re-election, STEP 3 (isis-dis-reelect.pcap)

Verification Config and show Output

At every STEP the following three files were collected per router. The verification config is the ..._run.txt file (final state: STEP 4).

FileContent
..._show.txtshow version / show interface description / show route / show route isis / show isis / show isis hostname / show isis interface / show isis interface brief / show isis neighbors / show isis neighbors detail / show isis database / show isis database detail / show isis topology / show isis adjacency / show isis adjacency detail / show isis adjacency-log / show isis trace all | include ELECT / show isis trace all | include PSEUDO / show isis spf-log / show isis lsp-log / show isis statistics / show cef
..._log.txtshow logging narrowed to that STEP (STEP 0 holds the full history since boot)
..._run.txtshow running-config at that STEP (that is, the verification config for the STEP)

The final configuration has no priority configured on any router and the shutdown removed.

STEP 0: initial state

Routershow outputsyslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun

STEP 1: R3’s priority set to 100

Routershow outputsyslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun

STEP 2: R2’s Level 2 priority set to 110

Routershow outputsyslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun

STEP 3: R3’s LAN interface shut down

Routershow outputsyslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun

STEP 4: priorities and the shutdown restored (final state)

Routershow outputsyslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
There are three capture files.

Download the capture from preemption, STEP 1 (isis-dis-preempt.pcap)

Download the capture from splitting the DIS per level, STEP 2 (isis-dis-level.pcap)

Download the capture from re-election, STEP 3 (isis-dis-reelect.pcap)

References

StandardTitleSummary
ISO/IEC 10589:2002 (Second Edition)Intermediate System to Intermediate System intra-domain routeing information exchange protocolThe IS-IS specification itself. This article draws on 3.6.6 / 3.6.7 (definitions of the DIS and the pseudonode), 7.2.3 (how a broadcast subnetwork is handled, and the zero metric), 7.3.8 (generating pseudonode LSPs), 7.3.16.4 (purging an LSP), 8.4.5 (electing the DIS), 9.5 / 9.6 (the Priority and LAN ID fields of a LAN IIH) and 11.3 (management-parameter defaults).
RFC 1142OSI IS-IS Intra-domain Routing ProtocolA republication of the ISO 10589 Draft Proposal (1990), now Historic. It must not be referenced in place of ISO/IEC 10589 (see RFC 7142).
RFC 7142Reclassification of RFC 1142 to HistoricStates that references should be to ISO/IEC 10589:2002, Second Edition.
RFC 1195Use of OSI IS-IS for Routing in TCP/IP and Dual EnvironmentsThe extension that carries IP routes.

Related Articles