<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/is-is-3-way-handshake-and-the-power-of-should-ipspace-net-blog-zlzncj2bv" -->

---
title: IS-IS 3-Way Handshake and the Power of SHOULD «...
description: A deep dive into IS-IS P2P 3-way handshake interoperability between Cisco IOS (pre-standard, release 15.x) and RFC 5303-compliant implementations like...
canonical: https://daily.dev/posts/is-is-3-way-handshake-and-the-power-of-should-ipspace-net-blog-zlzncj2bv
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: IS-IS 3-Way Handshake and the Power of SHOULD « ipSpace.net blog | daily.dev
og:description: A deep dive into IS-IS P2P 3-way handshake interoperability between Cisco IOS (pre-standard, release 15.x) and RFC 5303-compliant implementations like...
og:url: https://daily.dev/posts/is-is-3-way-handshake-and-the-power-of-should-ipspace-net-blog-zlzncj2bv
og:image: https://api.daily.dev/og/posts/ZLznCJ2Bv.png
og:image:alt: IS-IS 3-Way Handshake and the Power of SHOULD « ipSpace.net blog
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# IS-IS 3-Way Handshake and the Power of SHOULD « ipSpace.net blog

**[ipSpace.net Blog](https://daily.dev/sources/ipspace)** · 3 min read · 0 upvotes · 0 comments

## Summary

A deep dive into IS-IS P2P 3-way handshake interoperability between Cisco IOS (pre-standard, release 15.x) and RFC 5303-compliant implementations like FRRouting 10.3. The key insight is that RFC 5303 uses SHOULD (not MUST) for the Neighbor System ID and Extended Local Circuit ID fields in TLV 240, meaning their absence is compliant. This allows Cisco's pre-standard hello packets to interoperate with standard implementations. The post also touches on the RFC sausage-making process, the Robustness Principle, and the subtle difference between SHALL and MUST in RFC 2119 language.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://blog.ipspace.net/2025/07/isis-3way-handshake>

## Questions this post answers

### Why does Cisco IOS pre-standard IS-IS 3-way handshake interoperate with RFC 5303 implementations?

Cisco's pre-standard IS-IS hello omits the Neighbor System ID and Extended Local Circuit ID fields from TLV 240. RFC 5303 section 3.1 requires only the Adjacency Three-Way State field (MUST), while the other fields are marked SHOULD. Section 3.2 explicitly states those fields SHALL be examined only 'if present', making their absence fully compliant and enabling interoperability with RFC 5303 implementations like FRRouting 10.3.

_Network engineers navigating IS-IS interoperability edge cases track RFC nuances like these on daily.dev._

### What is the difference between configuring Cisco IOS IS-IS to use IETF 3-way handshake versus the proprietary one?

Configuring Cisco IOS to use the IETF 3-way handshake adds the Extended Local Circuit ID and Neighbor System ID fields to TLV 240 in P2P hello packets, which the pre-standard mode omits. Because RFC 5303 marks those fields as SHOULD rather than MUST, both modes are technically compliant and interoperate with standard implementations — the practical difference is minimal.

_Engineers choosing between Cisco IS-IS handshake modes find real-world interop analysis on daily.dev._

## Similar posts on daily.dev

- [The OSPF MTU Mismatch Saga « ipSpace.net blog](https://daily.dev/posts/the-ospf-mtu-mismatch-saga-ipspace-net-blog-jmtvuzjm6) · ipSpace.net Blog · 0 upvotes · 0 comments
- [How TCP Handshake Works](https://daily.dev/posts/how-tcp-handshake-works-hm2jha6hw) · System Design Codex · 13 upvotes · 2 comments
- [Multivendor SR-MPLS « ipSpace.net blog](https://daily.dev/posts/multivendor-sr-mpls-ipspace-net-blog-qekokwduk) · ipSpace.net Blog · 0 upvotes · 0 comments

---

Tags: [#wireshark](https://daily.dev/tags/wireshark)

[View this post on daily.dev](https://daily.dev/posts/is-is-3-way-handshake-and-the-power-of-should-ipspace-net-blog-zlzncj2bv)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"IS-IS 3-Way Handshake and the Power of SHOULD « ipSpace.net blog","url":"https://daily.dev/posts/is-is-3-way-handshake-and-the-power-of-should-ipspace-net-blog-zlzncj2bv","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/is-is-3-way-handshake-and-the-power-of-should-ipspace-net-blog-zlzncj2bv"},"datePublished":"2026-08-11T08:52:39.269Z","dateModified":"2026-08-11T08:58:05.176Z","description":"A deep dive into IS-IS P2P 3-way handshake interoperability between Cisco IOS (pre-standard, release 15.x) and RFC 5303-compliant implementations like...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/df15070ba4fe4356eec2fd4bedfe1b89?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/df15070ba4fe4356eec2fd4bedfe1b89?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"ipSpace.net Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"ipSpace.net Blog","logo":"https://media.daily.dev/image/upload/s--xS7E82MT--/f_auto,q_auto/v1786438303/logos/ipspace?_a=BAMAMicg0","url":"https://daily.dev/sources/ipspace"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/is-is-3-way-handshake-and-the-power-of-should-ipspace-net-blog-zlzncj2bv","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"wireshark","timeRequired":"PT3M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"ipSpace.net Blog","item":"https://daily.dev/sources/ipspace"},{"@type":"ListItem","position":3,"name":"IS-IS 3-Way Handshake and the Power of SHOULD « ipSpace.net blog"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/is-is-3-way-handshake-and-the-power-of-should-ipspace-net-blog-zlzncj2bv#faq","mainEntity":[{"@type":"Question","name":"Why does Cisco IOS pre-standard IS-IS 3-way handshake interoperate with RFC 5303 implementations?","acceptedAnswer":{"@type":"Answer","text":"Cisco's pre-standard IS-IS hello omits the Neighbor System ID and Extended Local Circuit ID fields from TLV 240. RFC 5303 section 3.1 requires only the Adjacency Three-Way State field (MUST), while the other fields are marked SHOULD. Section 3.2 explicitly states those fields SHALL be examined only 'if present', making their absence fully compliant and enabling interoperability with RFC 5303 implementations like FRRouting 10.3. Network engineers navigating IS-IS interoperability edge cases track RFC nuances like these on daily.dev."}},{"@type":"Question","name":"What is the difference between configuring Cisco IOS IS-IS to use IETF 3-way handshake versus the proprietary one?","acceptedAnswer":{"@type":"Answer","text":"Configuring Cisco IOS to use the IETF 3-way handshake adds the Extended Local Circuit ID and Neighbor System ID fields to TLV 240 in P2P hello packets, which the pre-standard mode omits. Because RFC 5303 marks those fields as SHOULD rather than MUST, both modes are technically compliant and interoperate with standard implementations — the practical difference is minimal. Engineers choosing between Cisco IS-IS handshake modes find real-world interop analysis on daily.dev."}}]}
```

