# ISIS

### Topoloji

<figure><img src="https://2292156749-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfDBccroFkvJ25uVFqYX%2Fuploads%2FCxkQvbd2BcYnHluRgxB8%2Fimage.png?alt=media&#x26;token=249e9642-bad6-4638-b20a-8708b8da3567" alt=""><figcaption></figcaption></figure>

IS-IS (Intermediate System to Intermediate System) is a link-state routing protocol like OSPF. It builds a map of the network and calculates the best path using the Shortest Path First (SPF) algorithm.

But IS-IS has its quirk;

1. It was originally designed for OSI (not TCP/IP) but adapted for IP.
2. It runs directly over Layer 2 (no IP headers like OSPF's use of IP protocol 89)
3. It does not have Area 0 drama. - just levels ( Level 1 for intra area, Level 2 for inter area)

think of IS-IS as OSPF'' cousin - the one that's quieter ,efficient, and doesn't make a fuss about areas.

**IS-IS vs OSPF - What's Differences ?**

<figure><img src="https://2292156749-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfDBccroFkvJ25uVFqYX%2Fuploads%2FQ2VMLrpoYh7mbGW2tyJs%2Fimage.png?alt=media&#x26;token=807b04fa-dca4-4007-b7fd-627264196fcc" alt=""><figcaption></figcaption></figure>

So if OSPF is a strict schoolteacher demanding Area 0, IS-IS is the laid-back professor\
who says, “Just call them Levels, and we’ll be fine.”

**IS-IS AT THE PACKET TYPES**

IS-IS does not use traditional IP packets. Nope, it is cool for that. Instead, it has its own special PDUs(Protocol Data Units) Think of these like different types of email in your inbox - some are useful, some are annoying, and some are just pain weird.

<figure><img src="https://2292156749-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfDBccroFkvJ25uVFqYX%2Fuploads%2F5Y8hfPGJfpfnCNZ1chXC%2Fimage.png?alt=media&#x26;token=61badba1-b15e-4e52-8199-bb4f0df6df95" alt=""><figcaption></figcaption></figure>

Now, if you’re thinking, “Wait, why does IS-IS have a whole system that sounds like\
postal mail?”—well, that’s because it’s like an old-school librarian. Everything must be\
logged, checked, and cross-checked.

### IS-IS HEADER

Since IS-IS skips IP altogether (yup, it doesn’t even use IP headers), it has a unique\
packet structure. Here’s what a typical IS-IS packet looks like:

<figure><img src="https://2292156749-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfDBccroFkvJ25uVFqYX%2Fuploads%2FpILu4WPu6H4aOSThukSx%2Fimage.png?alt=media&#x26;token=d168857a-1716-4173-aae0-d1a08605996b" alt=""><figcaption></figcaption></figure>

### IS-IS PACKET ANATOMY&#x20;

<figure><img src="https://2292156749-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfDBccroFkvJ25uVFqYX%2Fuploads%2FcI9yOYOZdNXwVogYIKP0%2Fimage.png?alt=media&#x26;token=b9ad30f8-8532-46c6-8062-3c053582c805" alt=""><figcaption></figcaption></figure>

It’s like a VIP pass—without it, your IS-IS updates aren’t getting past the bouncer

### IS-IS TLVS (TYPE-LENGTH-VALUE FIELDS)

IS-IS relies on **TLVs** to carry the actual routing info. It’s like a buffet—only take what\
you need. OSPF, on the other hand, is that restaurant where you must order a full\
meal even if you just wanted fries.

<figure><img src="https://2292156749-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfDBccroFkvJ25uVFqYX%2Fuploads%2FNBOz4UiHY99nBn3F14uA%2Fimage.png?alt=media&#x26;token=09406db9-2165-4cab-8fe6-323a4b8232b9" alt=""><figcaption></figcaption></figure>

**EXAMPLE OF AN IS-IS LSP TLV**

Inside an IS-IS LSP, you might see:

<figure><img src="https://2292156749-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfDBccroFkvJ25uVFqYX%2Fuploads%2FXKZ1Y1wsxokq9nifiHRA%2Fimage.png?alt=media&#x26;token=965ac4aa-758d-426c-a91e-f2c4686caacb" alt=""><figcaption></figcaption></figure>

**Translation:** "I can get you to **192.168.1.0/24** in **10 hops.** Also, I’m cool enough for\
Segment Routing!

### ACTUAL EXAMPLE BREAKDOWN OF THE SUB-TLV FOR&#xD; SEGMENT ROUTING

<figure><img src="https://2292156749-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfDBccroFkvJ25uVFqYX%2Fuploads%2Fiey3RqNgtYJ0xRWWXmEY%2Fimage.png?alt=media&#x26;token=5e40c7c6-21de-4644-b3b7-12f711047cd2" alt=""><figcaption></figcaption></figure>

### **What This Means:**

• **TLV 135** advertises reachability for **192.168.1.0/24.**\
• **Sub-TLV 31 (Prefix-SID)** indicates that this prefix has a **Segment Routing MPLS Label**\
**16010.**\
• **Flags (0x40, No-PHP)** means Penultimate Hop Popping (PHP) is disabled (i.e., the label\
stays until the final destination).\
\&#xNAN;**• Algorithm 0** means the label is assigned using **default SPF routing.**

### IS-IS NET ADDRESS - THE ROUTER'S SECRET IDENTITY

\
Ever wondered what the **NET address** in IS-IS actually means?&#x20;

If you're coming from OSPF, you’re&#x20;probably thinking, "Just give me a router ID and be done with it!" But IS-IS is a bit more...&#x20;sophisticated. Instead of a simple IP-based identity, it has its own special **Network Entity Title&#x20;(NET)**—think of it as a **router’s secret superhero identity** that makes IS-IS work.

### **WHAT ARE IS-IS NET ADDRESS?**

The **NET (Network Entity Title) is a 10-byte (or longer)** address that uniquely identifies a\
router in an IS-IS network. It’s like a **router’s passport number**, except instead of boring digits, it\
follows a cool hierarchical format.\
The **NET address** is made up of three parts:\
**Area Address** → "Which neighborhood am I in?"\
**System ID** → "Who am I, really?"\
**NSEL (NSAP Selector)** → "What’s my role at the party?" (Always 00 for IS-IS routers)

### BREAKING DOWN A NET ADDRESS

\
Let’s say you have the following NET address:

**49.0001.1921.6800.1001.00**\
Here’s what each part means:

<figure><img src="https://2292156749-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfDBccroFkvJ25uVFqYX%2Fuploads%2FxVWULTyVxXxXP9PPF7mO%2Fimage.png?alt=media&#x26;token=53eb6e18-6eb1-480a-9aa7-bf59dbbd4de4" alt=""><figcaption></figcaption></figure>

Now, if routers were in a club, the **Area Address** would be their table number, the **System ID**\
would be their name tag, and the **NSEL** would tell the bouncer if they were a VIP or just a regular\
guest (spoiler: routers are always "00").

### HOW TO CHOOSE A SYSTEM ID?

Unlike OSPF, where the **Router ID is just a single IP address,** IS-IS wants a **6-byte System ID.**\
You can pick **any unique value**, but a common trick is:\
**Use an IP address (without dots!)**\
• Example: If the loopback IP is **192.168.1.1**, you can format it as **1921.6800.1001**\
**Use a simple numbering scheme**\
• Example: R1 = **0000.0000.0001,** R2 = **0000.0000.0002**\
**Use MAC addresses** (if you like long and messy things)\
Whatever you pick, just make sure it's **unique** across the IS-IS domain!

### **HOW IS-IS HANDLES UPDATES (AKA "WHY IT DOESN’T**&#xD; **FREAK OUT LIKE OSPF")**

OSPF floods LSAs like a panicked intern sending mass emails. IS-IS? Nah, it’s way more relaxed.

1. **New LSPs are generated** when topology changes. (Think: “Hey, new route available!”)
2. **LSPs have sequence numbers** to keep track of updates. (Like version numbers on a   \
   document.)
3. **CSNPs** act like a full index of known LSPs. (Sent periodically to ensure everyone is on the   \
   same page.)
4. **PSNPs** help routers request missing LSPs. (Like asking for a re-send of an email you missed.)
5. **LSP Aging** makes sure expired routes get tossed. (No hoarding of old data!)

**END RESULT?** IS-IS is more efficient and doesn’t have the same LSA flooding headaches as\
OSPF.

### WIRESHARK TIME - CATCHING AN IS-IS HELLO PACKET IN&#xD; ACTION

If you fire up Wireshark and capture an IS-IS Hello packet, here’s what you might see:

<figure><img src="https://2292156749-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfDBccroFkvJ25uVFqYX%2Fuploads%2FMIr3cZVJCgC7IurrbnTw%2Fimage.png?alt=media&#x26;token=b218c4a5-ad56-4903-9f10-cfeab724eea2" alt=""><figcaption></figcaption></figure>

What this means:\
• "Hey, I’m sending an IS-IS Hello!"\
• "I belong to Area 49.0001!"\
• "I want to be friends with 00:1A:2B:3C:4D:5E"\
If the neighbor likes your back, an adjacency forms. If not? Well, it’s not you, it’s them.

### WHY IS-IS IS MORE EFFICIENT THAN OSPF AT THE PACKET&#xD; LEVEL

1. **No LSA Types Mess** – OSPF has 11 types of LSAs, IS-IS has just LSPs.
2. **No IP Overhead** – Runs directly on Layer 2, skipping unnecessary IP processing.
3. **Faster SPF Computation** – Thanks to its streamlined database and simple flooding   \
   mechanism.
4. **Smaller Packet Sizes** – TLVs allow compact updates instead of rigid, bloated LSAs.

### IS-IS IS LIKE A MINIMALIST—NO UNNECESSARY COMPLEXITY, JUST EFFICIENCY.

<figure><img src="https://2292156749-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfDBccroFkvJ25uVFqYX%2Fuploads%2Fowawe5lj6SivaiiUZTwm%2Fimage.png?alt=media&#x26;token=870c374e-29b2-45f3-96f3-81d08fbbdd2f" alt=""><figcaption></figcaption></figure>

All routers will run **Cisco IOS XR** and form an IS-IS Level 2 network (like OSPF Area 0).

**STEP 1: ENABLE IS-IS ON ALL ROUTERS**\
Go to each router and enable IS-IS in **Level-2 mode** (like OSPF Area 0).

**R1 CONFIGURATION**

<figure><img src="https://2292156749-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfDBccroFkvJ25uVFqYX%2Fuploads%2FwvghN6tBc4YJgEuFLSNb%2Fimage.png?alt=media&#x26;token=969be34f-78ef-4a91-a6e6-d647ad8233e9" alt=""><figcaption></figcaption></figure>

**R2 CONFIGURATION**

<figure><img src="https://2292156749-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfDBccroFkvJ25uVFqYX%2Fuploads%2Fau2j9qA1xdAagns3dc3P%2Fimage.png?alt=media&#x26;token=1dd892cd-d96d-45d5-921e-8bc5113caa2a" alt=""><figcaption></figcaption></figure>

**R3 CONFIGURATION**

<figure><img src="https://2292156749-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfDBccroFkvJ25uVFqYX%2Fuploads%2FhaXrYPlqkx6xEM4jaJ9v%2Fimage.png?alt=media&#x26;token=f2413470-4838-4907-a5fa-56c7cc7ee62d" alt=""><figcaption></figcaption></figure>

**R4 CONFIGURATION**

<figure><img src="https://2292156749-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfDBccroFkvJ25uVFqYX%2Fuploads%2FQWIoFIKiOql2BOqJKwEM%2Fimage.png?alt=media&#x26;token=61eeb015-bdc2-4c16-85f7-80dd62f6f39e" alt=""><figcaption></figcaption></figure>

**STEP 2: IS-IS VERIFICATION**

<figure><img src="https://2292156749-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfDBccroFkvJ25uVFqYX%2Fuploads%2Fnsozf05gdPs0d23aqvNi%2Fimage.png?alt=media&#x26;token=d868799a-695f-442c-842f-c30d26a2699b" alt=""><figcaption></figcaption></figure>

**IS-IS KEY TAKEAWAYS FOR OSPF USERS**

<figure><img src="https://2292156749-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfDBccroFkvJ25uVFqYX%2Fuploads%2FcO3uDou3ITFWTxIErXYb%2Fimage.png?alt=media&#x26;token=b9a3c30a-5004-456c-aaa0-cb7e7dbfddb9" alt=""><figcaption></figcaption></figure>

If OSPF is a dramatic soap opera (with Area 0 politics, ABRs, and LSAs causing drama), IS-IS is a\
chill, organized documentary—clean, structured, and free of unnecessary emotions.\
IS-IS may not be as common as OSPF, but it’s widely used in service provider networks due to its\
simplicity, scalability, and stability. If OSPF is your first love, IS-IS might just be your cool, lowmaintenance second relationship.\
Now that you know how IS-IS works at the packet level, go ahead and fire up Wireshark! Capture\
some IS-IS packets, analyze them, and see just how efficient it really is.\
Next time, we’ll dive into ECMP, Traffic Engineering, and Segment Routing—because why\
settle for basic routing when you can optimize the path like a pro? Stay tuned
