The Scalability Wall: Why OSPF Isn’t Always the Answer
Most networking careers start with OSPF. It is everywhere, well-documented, and works for standard enterprise shops. However, as I have scaled fabrics for large ISPs and high-density data centers, OSPF’s rigid area structure often becomes a liability. I’ve seen OSPF convergence times crawl to several seconds in networks with over 500 nodes because of constant LSA flooding and CPU-intensive SPF recalculations.
Intermediate System to Intermediate System (IS-IS) handles these massive scales with ease. Originally built for the OSI protocol suite, it was later adapted for IP. Because it runs directly on Layer 2, it is invisible to IP-based spoofing or DoS attacks. In my experience, mastering IS-IS is the single most important step if you want to move from basic networking into the world of Tier-1 Service Providers.
Core Concepts: Thinking in IS-IS
Stop thinking in OSPF areas and start thinking in Levels. While both protocols use the Dijkstra algorithm, IS-IS builds its hierarchy differently.
1. Levels instead of Areas
Forget Area 0. In IS-IS, the backbone is a collection of Level 2 routers.
- Level 1 (L1): Local routing. Routers only care about their own area.
- Level 2 (L2): The backbone. This connects different L1 areas.
- Level 1-2 (L1L2): The bridge. These routers act as the boundary, similar to an OSPF ABR.
2. The NET Address
IS-IS does not use a 32-bit Router ID. Instead, it uses a Network Entity Title (NET). A typical NET looks like 49.0001.1921.6800.1001.00. It follows a strict 20-byte logic.
49: The Authority Identifier (Private use).0001: The Area ID.1921.6800.1001: The System ID. A pro tip: take your Loopback IP (192.168.0.1), pad it (192.168.000.001), and regroup it into three blocks of four digits.00: The N-Selector. This is always 00 for the router itself.
Hands-on Practice: Deploying IS-IS with FRRouting
I use FRRouting (FRR) for this setup. It provides a Cisco-like CLI (vtysh) and is the production standard for open-source routing on Linux. Let’s link two nodes.
Step 1: Get the Binaries
Update your packages and install the FRR suite. This example uses Ubuntu 22.04.
sudo apt update && sudo apt install frr -y
The IS-IS daemon is off by default. You must wake it up in /etc/frr/daemons.
# Change isisd=no to isisd=yes
sudo sed -i 's/isisd=no/isisd=yes/' /etc/frr/daemons
sudo systemctl restart frr
Step 2: Configure via VTYSH
I prefer the shell over editing raw files. It catches syntax errors immediately.
sudo vtysh
Now, build the IS-IS process. We will set this as a Level-2 router to form a backbone link. This is common in spine-leaf architectures where every node is part of the backbone.
conf t
router isis CORE
net 49.0001.0000.0000.0001.00
is-type level-2-only
topology ipv4-unicast
exit
Step 3: Activating Interfaces
Unlike BGP, you don’t define neighbors by IP. You enable IS-IS on the interface, and it finds its peers automatically.
interface eth1
ip router isis CORE
isis network point-to-point
exit
interface lo
ip router isis CORE
exit
write memory
Note the point-to-point command. In modern data centers, we use P2P links to skip the DIS (Designated Intermediate System) election. This can shave 2-3 seconds off neighbor formation time.
Verification: Checking the Link
Configure your second node with a unique System ID (like 0000.0000.0002). Then, check the adjacency.
show isis neighbor
If the state is “Up,” you’re golden. If it says “Init,” check your MTU. IS-IS Hello packets are padded to the full MTU (usually 1500 bytes), and if your link can’t handle it, the adjacency will fail.
To see the actual routes:
show ip route isis
This is the ultimate proof. If you see your remote loopbacks here, the SPF algorithm has successfully calculated the shortest path across your fabric.
Conclusion
Learning IS-IS feels like picking up a new dialect. Its elegance in large networks is unmatched. By separating the routing logic from the IP stack, you get a level of stability that OSPF lacks at scale. Whether you are building a modern CLOS topology or managing a regional backbone, FRRouting on Linux offers a rock-solid, free way to run the world’s most scalable protocol.
Success with IS-IS depends on two things: a clean NET addressing plan and knowing when to use P2P links. Master those, and your network will stay stable long after OSPF would have buckled.

