How IS-IS Works: The Link-State IGP Behind ISP Backbones

Intermediate System to Intermediate System (IS-IS) is a link-state interior gateway protocol that routes IP traffic within a single autonomous system. Originally designed in the 1980s for the OSI protocol stack (CLNS/CLNP), IS-IS was extended to carry IP reachability information (RFC 1195, "Integrated IS-IS") and has become the IGP of choice for most large ISP backbones and hyperscaler networks. Unlike OSPF, which runs on top of IP, IS-IS runs directly on Layer 2 — it encapsulates its protocol data units (PDUs) in the Layer 2 frame, independent of the network layer. This architectural decision has made IS-IS easier to extend to new address families (IPv4, IPv6, MPLS Segment Routing) without protocol redesign.

IS-IS matters to BGP operators because it is the IGP that provides next-hop resolution and loopback reachability for iBGP sessions in most tier-1 and tier-2 ISP networks. When IS-IS converges after a link failure, BGP reconverges with it — the speed of IS-IS directly determines how quickly BGP routes re-resolve and traffic reroutes. IS-IS also carries the Segment Routing extensions that are increasingly replacing traditional MPLS signaling protocols.

CLNS Heritage and Protocol Architecture

IS-IS was standardized by ISO (ISO 10589) for routing CLNP (Connectionless Network Protocol) traffic in OSI networks. When the internet adopted IP in the 1990s, IS-IS was extended to carry IPv4 reachability information via Integrated IS-IS (RFC 1195), and later IPv6 reachability (RFC 5308). This CLNS heritage is still visible in several aspects of the protocol:

Despite its OSI origins, modern IS-IS is used exclusively for IP routing. The CLNP routing capability is still present in the protocol specification but is effectively unused in production networks.

TLV-Based Extensibility

One of IS-IS's greatest architectural strengths is its Type-Length-Value (TLV) structure. Every piece of information carried in an IS-IS PDU — IP reachability, IPv6 prefixes, IS neighbor adjacencies, TE metrics, Segment Routing SIDs, Flexible Algorithm definitions — is encoded as a TLV. Each TLV has:

TLVs can contain sub-TLVs, enabling nested extensibility. For example, the Extended IS Reachability TLV (Type 22) carries sub-TLVs for TE metrics, administrative groups, available bandwidth, SRLGs, and Segment Routing adjacency SIDs.

IS-IS TLV Structure Type 1 byte Length 1 byte Value (variable length, up to 255 bytes) may contain sub-TLVs Nested sub-TLVs within the Value field Same Type-Length-Value format, recursively Key IS-IS TLV Types Type 22: Ext IS Reach Type 135: Ext IP Reach Type 236: IPv6 Reach Type 242: SR Capability sub-TLV 3: Admin Group sub-TLV 11: Prefix SID sub-TLV 6: IPv6 Prefix sub-TLV 2: SR Algorithm

This TLV architecture is the reason IS-IS has been extended so successfully over the past three decades. Adding support for a new feature (like Segment Routing or Flexible Algorithm) requires only defining a new TLV type and sub-TLV codes. Routers that do not understand a TLV simply ignore it and continue to flood the containing LSP, which enables incremental deployment. Compare this with OSPF, which required defining entirely new LSA types (and hence new flooding scopes) for each major extension.

IS-IS PDU Types

IS-IS uses three main PDU types, each serving a distinct role in the protocol's operation:

Level 1 and Level 2 Routing

IS-IS uses a two-level hierarchy that is superficially similar to OSPF's area structure but differs in important ways:

IS-IS Two-Level Hierarchy Level 2 Backbone (Inter-Area) L1/L2 L2 L1/L2 Area 49.0001 Level 1 Domain L1 L1 L1 Area 49.0002 Level 1 Domain L1 L1 L1 L1 routers use default route via L1/L2 for inter-area traffic L1/L2 router sets ATT bit in L1 LSP to attract traffic L1 = intra-area topology only L2 = backbone L1/L2 = area border

A critical difference from OSPF: IS-IS areas are defined per-link, not per-interface. Every link in IS-IS belongs to exactly one area, and area boundaries fall on the links between L1/L2 routers, not on the L1/L2 routers themselves. In OSPF, an ABR has interfaces in multiple areas and maintains separate LSDBs per area. In IS-IS, an L1/L2 router belongs to a single area but participates in both the L1 topology of its area and the L2 backbone topology. This subtle difference simplifies area design because moving a router between areas requires only changing its area address, not re-configuring its interfaces.

Route Leaking

By default, L1 routers reach destinations outside their area via a default route to the nearest L1/L2 router. This can lead to suboptimal routing when multiple L1/L2 exits exist and the L1 router cannot distinguish between them. Route leaking (also called route redistribution between levels) addresses this by selectively advertising L2 routes into the L1 LSDB. This gives L1 routers visibility into inter-area destinations and allows them to choose the optimal exit point. Route leaking must be done carefully with prefix filters to avoid overwhelming L1 routers with the full L2 routing table.

IS-IS Adjacency Formation

IS-IS adjacency formation is simpler than OSPF because the LSDB synchronization does not require the complex ExStart/Exchange/Loading states. IS-IS adjacency formation on point-to-point links uses a three-way handshake (RFC 5303):

  1. Router A sends an IIH with its system ID and adjacency state set to Initializing.
  2. Router B receives the IIH, adds Router A to its neighbor list, and responds with its own IIH containing Router A's system ID and adjacency state Initializing.
  3. Router A receives Router B's IIH, sees itself listed, and transitions to Up. It sends another IIH with state Up.
  4. Router B receives the Up IIH and also transitions to Up.

Once the adjacency is Up, LSDB synchronization happens through CSNP/PSNP exchange. Each side sends CSNPs listing all LSPs in its database. The other side compares the CSNP against its own LSDB and uses PSNPs to request any missing or newer LSPs. This is simpler and more robust than OSPF's DBD-based exchange.

Designated Intermediate System (DIS)

On broadcast (LAN) segments, IS-IS elects a Designated Intermediate System (DIS), which is analogous to OSPF's Designated Router but with important differences:

IS-IS Metrics

IS-IS originally defined a narrow metric with a maximum value of 63 per link and 1023 per path. This was quickly found to be inadequate for modern networks. RFC 3784 introduced wide metrics, which support up to 224 - 1 (16,777,215) per link and 232 - 1 (4,294,967,295) per path. Wide metrics are carried in the Extended IS Reachability (TLV 22) and Extended IP Reachability (TLV 135) TLVs.

All modern IS-IS deployments use wide metrics exclusively. The narrow metric TLVs (Type 2 for IS neighbors, Type 128/130 for IP reachability) are deprecated but may still appear in very old configurations.

Like OSPF, IS-IS metric assignment is typically derived from interface bandwidth. A common formula is reference_bandwidth / interface_bandwidth, with the reference set high enough (e.g., 1 Tbps) to differentiate between 10G, 100G, and 400G links.

IS-IS vs. OSPF: Why ISPs Choose IS-IS

Both IS-IS and OSPF are link-state protocols running Dijkstra's SPF algorithm. They solve the same problem and produce equivalent results in terms of shortest-path computation. However, IS-IS has won the IGP battle in large ISP networks for several reasons:

OSPF remains dominant in enterprise networks, where its rich feature set (NSSA areas, stub areas, per-interface area assignment) and wider vendor documentation make it more accessible. The "IS-IS for ISPs, OSPF for enterprises" guideline, while not absolute, reflects real deployment patterns.

IS-IS and MPLS Segment Routing

IS-IS has become the preferred IGP for MPLS Segment Routing deployments. SR extensions for IS-IS (RFC 8667) define TLVs and sub-TLVs that carry:

IS-IS Segment Routing eliminates the need for LDP and RSVP-TE signaling in most use cases, dramatically simplifying the MPLS control plane. The IGP alone distributes all label information needed for forwarding.

IS-IS Convergence

IS-IS convergence follows the same general pattern as other link-state protocols: detect failure, generate LSP, flood LSP, run SPF, update RIB/FIB. Key tuning parameters include:

With BFD and aggressive timers, IS-IS networks routinely achieve sub-100ms failover for single link failures. Topology-Independent Loop-Free Alternate (TI-LFA), computed by IS-IS SR extensions, provides pre-computed backup paths that activate immediately when BFD detects a failure, achieving near-zero packet loss.

IS-IS Overload Bit

IS-IS provides a mechanism called the Overload Bit (OL bit) that a router can set in its LSP to signal that it should not be used for transit traffic. When a router sets the OL bit, other routers will compute paths that avoid it (except for destinations directly connected to the overloaded router). Use cases include:

OSPF has an equivalent mechanism called the "max metric" (RFC 6987), where a router advertises all its links with the maximum metric value (0xFFFF) to make itself undesirable as a transit router.

IS-IS Authentication

IS-IS supports authentication at multiple levels:

Authentication methods include plaintext passwords (TLV Type 10, insecure) and HMAC-MD5 (RFC 5304). RFC 5310 added support for generic cryptographic authentication, enabling SHA-based HMAC algorithms for stronger security. Key chains with hitless key rollover allow changing authentication keys without disrupting adjacencies.

Multi-Instance IS-IS

RFC 6822 defines Multi-Instance IS-IS, which allows multiple independent IS-IS instances to run on the same set of links. Each instance has a unique Instance ID (IID) and maintains separate adjacencies and LSDBs. Use cases include running separate routing instances for different tenants in a shared infrastructure, or running a production instance alongside a test instance for validation.

Multi-Instance IS-IS is distinct from multi-topology IS-IS (RFC 5120), which runs a single instance with multiple topology-specific TLVs. Multi-instance provides complete isolation, while multi-topology shares adjacencies but computes separate paths for different address families or traffic classes.

Deploying IS-IS for a BGP Network

For a network running BGP as the inter-domain routing protocol, the IS-IS deployment strategy is straightforward:

See BGP Routes in Action

IS-IS provides the internal routing foundation that makes BGP work within an autonomous system. The routes you see in the global BGP table are carried across ISP backbones running IS-IS as their IGP. To explore live BGP routing data — AS paths, prefix origins, and the inter-domain routing that runs on top of IS-IS — use the god.ad BGP Looking Glass.

See BGP routing data in real time

Open Looking Glass
More Articles
What is BGP? The Internet's Routing Protocol Explained
What is an Autonomous System (AS)?
What is a BGP Looking Glass?
How to Look Up an IP Address's BGP Route
Understanding BGP AS Paths
What is RPKI? Securing BGP Routing