RFC1195 defines IS-IS usage for IP routing. Unlike OSPF, which uses IP as its transport mechanism, IS-IS uses OSI as its underlay protocol. Furthermore, IS-IS can be used as an Interior Gateway Protocol (IGP) for both IPv4 and IPv6. In contrast, OSPFv2 only supports IPv4, while OSPFv3 was later introduced to add support for IPv6. Like OSPF, IS-IS is a dynamic routing protocol based on the SPF (Dijkstra) algorithm.
However, IS-IS provides certain features that make it easier to manage and troubleshoot than OSPF.
Below you can find some key similaries and differnce between two protocols:
| Feature | OSPF | IS-IS |
|---|---|---|
| OSI Layer | Operates over IP (Layer 3) | Operates over Data Link (Layer 2) |
| Hierarchical Structure | Multi-area (Area 0 is the mandatory backbone) | Two-level (Level 1/2; any L2 link can be backbone) |
| Router Identification | Router ID (usually an IP address) | System ID |
| Broadcast Election | Designated Router (DR) and Backup DR (BDR) | Designated Intermediate System (DIS) |
| Area Membership | A router can belong to multiple areas | A router belongs to only one area |
| Protocol Extensions | Uses different versions for IPv4 and IPv6 (OSPFv2/v3) | Uses TLVs to support multiple protocols (IPv4/IPv6) in one instance |
| Virtual Links | Supported | Not supported |
Here are some features that makes IS-IS makes more attractive then OSPF:
- Native Layer 2 Operation: IS-IS encapsulates packets directly into Data Link frames rather than IP/UDP, which minimizes overhead.
- Flexible Two-Level Backbone Architecture: Unlike OSPF’s strict requirement for a physically contiguous Area 0, IS-IS allows any Level 2 capable router or link to act as part of the backbone. This design prevents backbone partitioning and completely eliminates the need for complex OSPF virtual links.
- CSNP Database Synchronization: IS-IS uses Complete Sequence Number PDUs (CSNPs) to broadcast a consolidated catalog of every Link-State PDU (LSP) in a single packet. This enables routers to evaluate entire databases at once, scaling significantly efficient than ospf’s individual update checks in massive topologies.
- PSNP Batch Acknowledgment: IS-IS uses Partial Sequence Number PDUs (PSNPs) to acknowledge or request multiple Link-State PDUs (LSPs) in a single batch. This batch-processing mechanism drastically reduces CPU overhead and packet chatter compared to OSPF’s individual LSA acknowledgement mechanisms.
Some key characteristics of IS-IS:
- Unlike OSPF, where an IS-IS router belongs to a specific area, OSPF assigns individual interfaces to areas.
- Routers can be Level-1, Level-1-2, or Level-2.
- A Level-1-2 router maintains two separate Link-State Databases (LSDBs): one for Level-1 and one for Level-2.
- By default, on a Level-1-2 router, the Level-1 LSDB is imported into the Level-2 LSDB, but the Level-2 LSDB is not imported into the Level-1 LSDB.
Table of Routers Forming Adjacencies
| Router A | Router B | Same Area | Can Form Adjacencies |
|---|---|---|---|
| Level 1 | Level 1 | Yes | Yes (Level 1 Adjacency) |
| Level 1 | Level 1 | No | No |
| Level 1 | Level 1-2 | Yes | Yes (Level 1 Adjacency) |
| Level 1 | Level 1-2 | No | No |
| Level 1 | Level 2 | Yes/No | No |
| Level 1-2 | Level 1-2 | Yes | Yes (Level 1 & Level 2 Adjacencies) |
| Level 1-2 | Level 1-2 | No | Yes (Level 2 Adjacency) |
| Level 1-2 | Level 2 | Yes & No | Yes (Level 2 Adjacency) |
| Level 2 | Level 2 | Yes & No | Yes (Level 2 Adjacency) |
IS-IS uses a multicast destination MAC address to send Hellos. A Level-1 router sends only Level-1 multicast Hellos, a Level-2 router sends Hellos only to Level-2, and a Level-1-2 router sends Level-1 and Level-2 Hellos separately in the case of a broadcast network. Conversely, on a point-to-point link, both Level-1 and Level-2 PDUs are sent via the same destination MAC.
There are dedicated MAC addresses that are used in IS-IS Hello (IIH):
- 0180.c200.0014 -> All L1 IS devices
- 0180.c200.0015 -> All L2 IS devices
- 0900.2b00.0005 -> All IS devices in case of a point-to-point link
IS-IS Adjacency Formation Steps:
IS-IS has 3 stages of forming an adjacency:
- Down: No Hello packet has been received from a neighbor within the holding time.
- Initializing: A Hello packet has been received from the neighbor, but the neighbor has not yet received a Hello packet back (or bidirectional communication is not yet confirmed).
- Up: Both neighbors have received each other’s Hello packets and have successfully agreed upon the parameters.
Scenario 1: LAN (Broadcast Network)
In a multi-access broadcast network (e.g., Ethernet switch connecting R1 and R2), routers use level-specific multicast MAC addresses and separate Hello packets for Level-1 and Level-2.
- R1 (configured as
is-type level-1-2) generates separate Hello packets:- A Level-1 IIH destined for the L1 multicast MAC (
0180.c200.0014). - A Level-2 IIH destined for the L2 multicast MAC (
0180.c200.0015).
- A Level-1 IIH destined for the L1 multicast MAC (
- R2 does the exact same thing, multicasting its own L1 and L2 IIHs.
- R2 receives R1’s L1 IIH and validates matching parameters: Area ID(s), Maximum Transmission Unit (MTU), and circuit type compatibility.
- If R2 finds that R1’s parameters match, it records R1 in its memory.
- R2 sends a Hello packet back, including R1 in the neighbor list.
- R1 receives the Hello from R2 and sees that its own ID is in the neighbor list.
- R1 transitions R2 into UP mode.
Scenario 2: Point-to-Point Link
On a direct point-to-point link between R1 and R2, the process is streamlined using a universal MAC address and a modern 3-way handshake (RFC 5303).
-
Periodic Hello Transmission
- R1 sends a single Point-to-Point IIH (P2P IIH) to the universal IS-IS multicast address:
0900.2b00.0005. - This single P2P IIH contains a Circuit Type field indicating whether R1 wants to form an L1, L2, or L1/L2 adjacency.
- R1 sends a single Point-to-Point IIH (P2P IIH) to the universal IS-IS multicast address:
-
Reception and Parameter Checks
- R2 receives R1’s P2P IIH via
0900.2b00.0005. - R2 checks fundamental parameters like Area IDs, authentication, and MTU.
- R2 receives R1’s P2P IIH via
-
Three-Way Handshake (RFC 5303)
- P2P links use a specialized 3-Way Adjacency State TLV inside the IIH packet to explicitly track neighbor states and prevent split-brain issues.
- Down State: R1 sends an IIH with its own state marked as
Down. - Initializing State: R2 receives R1’s IIH, recognizes R1, and replies with an IIH indicating its state is
Initand referencing R1’s local circuit ID. - Up State: R1 receives R2’s reply, sees that R2 acknowledges it, and transitions the adjacency to
Up. R1 then sends an IIH with its state marked asUp. When R2 sees this, it also transitions the adjacency toUp.
-
Database Synchronization
- With the adjacency fully in the Up state, R1 and R2 immediately begin exchanging Complete Sequence Number PDUs (CSNPs) to synchronize their Link State Databases (LSDB).
Refence: https://info.support.huawei.com/info-finder/encyclopedia/en/IS-IS.html