# Module 1: The Underlay — IS-IS > **Course**: [ISP Backbone Lab Course](../README.md) > **Next**: [Module 2: MPLS](02-mpls.md) --- ## Network Diagram ![IS-IS Level 2 Topology](../diagrams/Module1_ISIS_Topology.png) *IS-IS Level 2 domain — all P and PE routers with NET addresses and link subnets* --- ## Why IS-IS and Not OSPF? Every major ISP on the planet runs IS-IS as their IGP (Interior Gateway Protocol). Here's why: 1. **IS-IS runs on Layer 2** — it doesn't need IP to function. OSPF runs on top of IP. This means IS-IS is more resilient; if your IP config is broken, IS-IS still forms adjacencies. 2. **Protocol-agnostic** — IS-IS carried IPv4, IPv6, and MPLS labels long before OSPF could. It was designed to carry *any* protocol (it originally carried CLNS). 3. **Scales better** — IS-IS uses a flat TLV (Type-Length-Value) structure, making it trivially extensible. Adding Segment Routing support to IS-IS was easy. Adding it to OSPF required new LSA types and was messy. 4. **Faster convergence** — IS-IS partial route calculations (PRC) are more efficient than OSPF's. 5. **Convention** — When everyone uses IS-IS, interop is easier. It's the industry standard for SP networks. ## IS-IS Key Concepts **Levels:** - **Level 1 (L1)** = Intra-area routing (like OSPF's intra-area routes) - **Level 2 (L2)** = Inter-area / backbone routing (like OSPF Area 0) - **Level 1-2** = A router that participates in both (most PE routers) For our ISP: **Everything runs Level 2 only.** This is standard practice in SP networks. We're one big backbone — no need for L1 areas. Keeps it simple and fast. **NET (Network Entity Title):** This is IS-IS's address format. It looks weird but it's simple: ``` 49.0001.0000.0000.0001.00 │ │ │ │ │ │ └──────────────┘── System ID (unique per router, often based on loopback IP) │ └── Area ID └── AFI (49 = private, always use this in labs) ``` **Metric:** IS-IS uses a flat metric (default: 10 on every link). We'll use **wide metrics** (mandatory for Segment Routing) and set costs based on link speed to influence traffic paths. ## Lab 1 Config: IS-IS on the Core **Goal:** Full IS-IS adjacency across all P and PE routers. Every router can ping every other router's loopback. **Addressing Plan:** | Router | Loopback0 | IS-IS NET | Role | |--------|-----------|-----------|------| | P1 | 10.0.0.1/32 | 49.0001.0000.0000.0001.00 | Core P | | P2 | 10.0.0.2/32 | 49.0001.0000.0000.0002.00 | Core P | | P3 | 10.0.0.3/32 | 49.0001.0000.0000.0003.00 | Core P | | P4 | 10.0.0.4/32 | 49.0001.0000.0000.0004.00 | Core P | | P-CORE | 10.0.0.5/32 | 49.0001.0000.0000.0005.00 | Core P / RR | | PE-EDGE1 | 10.0.0.11/32 | 49.0001.0000.0000.0011.00 | PE (AS65000 border) | | PE-EDGE2 | 10.0.0.12/32 | 49.0001.0000.0000.0012.00 | PE (AS65000 cust) | | PE-EDGE3 | 10.0.0.13/32 | 49.0001.0000.0000.0013.00 | PE (AS65100 border) | | PE-EDGE4 | 10.0.0.14/32 | 49.0001.0000.0000.0014.00 | PE (AS65100 cust) | **Link Addressing (point-to-point, /30s):** | Link | Subnet | Router A IP | Router B IP | |------|--------|-------------|-------------| | P1 — PE-EDGE1 | 10.1.1.0/30 | .1 | .2 | | P1 — P-CORE | 10.1.1.4/30 | .5 | .6 | | P1 — P2 | 10.1.1.8/30 | .9 | .10 | | P2 — PE-EDGE2 | 10.1.1.12/30 | .13 | .14 | | P2 — P-CORE | 10.1.1.16/30 | .17 | .18 | | P3 — PE-EDGE3 | 10.1.1.20/30 | .21 | .22 | | P3 — P-CORE | 10.1.1.24/30 | .25 | .26 | | P3 — P4 | 10.1.1.28/30 | .29 | .30 | | P4 — PE-EDGE4 | 10.1.1.32/30 | .33 | .34 | | P4 — P-CORE | 10.1.1.36/30 | .37 | .38 | | PE-EDGE1 — IXP | 172.16.0.0/24 | .1 | — | | PE-EDGE3 — IXP | 172.16.0.0/24 | .3 | — | **Sample Config — P1 (IOS-XE / IOSv):** ``` hostname P1 ! interface Loopback0 ip address 10.0.0.1 255.255.255.255 ip router isis YOURSP ! interface GigabitEthernet0/1 description TO PE-EDGE1 ip address 10.1.1.1 255.255.255.252 ip router isis YOURSP isis network point-to-point isis metric 10 no shutdown ! interface GigabitEthernet0/2 description TO P-CORE ip address 10.1.1.5 255.255.255.252 ip router isis YOURSP isis network point-to-point isis metric 10 no shutdown ! interface GigabitEthernet0/3 description TO P2 ip address 10.1.1.9 255.255.255.252 ip router isis YOURSP isis network point-to-point isis metric 10 no shutdown ! router isis YOURSP net 49.0001.0000.0000.0001.00 is-type level-2-only metric-style wide log-adjacency-changes passive-interface Loopback0 ``` ## Verification Commands ``` show isis neighbors ! Are adjacencies UP? show isis database detail ! What LSPs do we have? show ip route isis ! Are all loopbacks in the table? ping 10.0.0.5 source 10.0.0.1 ! Can P1 reach P-CORE? show isis topology ! Visual of the IS-IS graph ``` ## Understanding Check Before moving on, you should be able to answer: 1. Why does the ISP use Level 2 only? 2. What's the System ID in the NET, and why do we derive it from the loopback? 3. Why `isis network point-to-point` on every link? 4. What happens if you forget `metric-style wide`? (Hint: Segment Routing won't work) --- > **Next Module**: [Module 2: MPLS — Labeling the Backbone →](02-mpls.md)