Intermediate System-to-Intermediate System
Abkürzung: IS-IS
Was ist IS-IS?
IS-IS steht für Intermediate System to Intermediate System und ist ein Link-State-Routing-Protokoll, das ursprünglich für das OSI-Referenzmodell (Open Systems Interconnection) entwickelt wurde. Es wird heute vor allem als Interior Gateway Protocol (IGP) für IP-Netze eingesetzt und ist neben OSPF eines der beiden dominierenden Link-State-Protokolle. IS-IS zeichnet sich durch seine effiziente Nutzung von Netzwerkressourcen, schnelle Konvergenz und seine Fähigkeit aus, sehr große Netzwerke mit vielen Routern zu stabilisieren. Es wird von zahlreichen Internet-Service-Providern und in großen Rechenzentren verwendet.
Historischer Hintergrund
IS-IS wurde in den späten 1980er Jahren von der ISO (International Organization for Standardization) als Routing-Protokoll für das verbindungslose OSI-Netzwerkprotokoll CLNP (Connectionless Network Protocol) standardisiert. Mit dem Aufstieg des Internets und des IP-Protokolls wurde IS-IS in den 1990er Jahren um die Fähigkeit erweitert, IP-Routen zu transportieren. Diese Erweiterung wird als Integrated IS-IS bezeichnet und ist im RFC 1195 definiert. Anders als OSPF, das speziell für IP entwickelt wurde, hat IS-IS seine Wurzeln im OSI-Umfeld und nutzt eigene Paketformate und Adressstrukturen.
Grundprinzip: Link-State-Routing
Wie OSPF basiert IS-IS auf dem Link-State-Prinzip. Jeder Router (Intermediate System) erstellt eine vollständige Karte des Netzwerks, indem er Informationen über seine direkt verbundenen Nachbarn, die Kosten der Verbindungen und die erreichbaren Präfixe sammelt. Diese Informationen werden in Link-State-Paketen (LSPs) an alle Router im Netzwerk geflutet. Aus der daraus entstehenden Link-State-Datenbank berechnet jeder Router unabhängig mit dem Dijkstra-Algorithmus die kürzesten Pfade zu allen Zielen. IS-IS arbeitet dadurch schleifenfrei und mit schneller Konvergenz.
Die IS-IS-Domäne und Areas
Eine IS-IS-Domäne kann in mehrere Areas unterteilt werden, um die Größe der Link-State-Datenbank zu begrenzen und die Protokollaktivität zu reduzieren. Anders als bei OSPF gibt es in IS-IS keine zwingende Backbone-Area (Area 0). Stattdessen existiert ein zweistufiges Hierarchiekonzept:
- Level 1 (L1): Router innerhalb derselben Area tauschen nur Informationen über die interne Area-Topologie aus. Sie kennen keine Details anderer Areas.
- Level 2 (L2): Router, die als Level-2-Router konfiguriert sind, verbinden die Areas miteinander und bilden das Backbone. Sie tauschen Informationen über die gesamte Domäne aus.
- Level 1/2 (L1/L2): Router, die sowohl L1- als auch L2-Funktionalität besitzen, agieren als Area-Border-Router und verbinden eine L1-Area mit dem L2-Backbone. Sie sind vergleichbar mit ABRs bei OSPF.
Diese Hierarchie erlaubt eine flexible Skalierung, ohne dass eine physische Backbone-Area erzwungen wird.
Adressierung und NSAP
IS-IS verwendet zur Identifikation von Routern und zur Adressierung sogenannte Network Service Access Points (NSAPs). Jeder Router besitzt eine eindeutige NSAP-Adresse, die oft auch als NET (Network Entity Title) bezeichnet wird. Die NSAP-Adresse ist in der Regel 10 bis 20 Byte lang und enthält eine Area-ID, eine System-ID (6 Byte) und einen NSEL (1 Byte, meist 0). Die System-ID muss innerhalb der Area eindeutig sein und wird typischerweise aus einer MAC-Adresse oder einer Loopback-IP-Adresse abgeleitet. Anders als bei IP-basierten Protokollen ist IS-IS nicht auf IP-Adressen für den eigenen Betrieb angewiesen, was die Unabhängigkeit vom gerouteten Protokoll unterstreicht.
Nachbarschaftsbildung und Hello-Pakete
IS-IS-Router entdecken Nachbarn durch den Austausch von Hello-Paketen, die als IS-IS-Hello (IIH) bezeichnet werden. Es gibt drei Typen:
- LAN Level 1 IIH: Für L1-Nachbarschaften auf Broadcast-Medien.
- LAN Level 2 IIH: Für L2-Nachbarschaften auf Broadcast-Medien.
- Point-to-Point IIH: Für Punkt-zu-Punkt-Verbindungen.
Die Hello-Pakete enthalten Parameter wie die Hold Time, die Priorität für die DIS-Wahl (Designated Intermediate System) und die unterstützten Protokolle. Zwei Router bilden eine Adjazenz, wenn sie in denselben Leveln (L1, L2) übereinstimmen, die Authentifizierung (falls konfiguriert) erfolgreich ist und die Parameter kompatibel sind. Auf Broadcast-Netzen wird ein Designated Router (DIS) gewählt, der für die Synchronisation der Link-State-Datenbank zuständig ist und Pseudonode-LSPs für das LAN erzeugt.
Link-State-Datenbank und Flooding
Die gesamte Topologieinformation wird in der Link-State-Datenbank gespeichert, die aus einer Sammlung von LSPs besteht. Jeder Router generiert einen eigenen LSP, der seine direkt verbundenen Nachbarn, die Kosten der Verbindungen und die erreichbaren IP-Präfixe enthält. LSPs werden zuverlässig an alle Router im selben Level geflutet. Der Flooding-Mechanismus stellt sicher, dass alle Router dieselbe Datenbank besitzen. Jeder LSP hat eine Sequenznummer, ein Lifetime und eine Prüfsumme. Veraltete LSPs werden periodisch aufgefrischt oder nach Ablauf der Lifetime gelöscht. IS-IS ist sehr sparsam im Bandbreitenverbrauch, da LSPs nur bei Änderungen neu geflutet werden und die periodischen Updates in großen Intervallen (15 Minuten) erfolgen.
Metrik und Pfadberechnung
IS-IS verwendet eine 24-Bit-Metrik (bis zu 2^24 – 1), die auf den Kosten einzelner Links basiert. Standardmäßig haben alle Links Kosten von 10, unabhängig von der Bandbreite. In modernen Implementierungen werden jedoch automatisch Bandbreiten-basierte Kosten verwendet oder vom Administrator gesetzt. Zusätzlich gibt es eine erweiterte Metrik (32 Bit), die in neueren Erweiterungen wie Wide Metrics unterstützt wird. Der Dijkstra-Algorithmus berechnet aus der Link-State-Datenbank die kürzesten Pfade zu allen Zielen. IS-IS unterstützt auch ECMP (Equal Cost Multi-Path) für mehrere gleichberechtigte Pfade.
Unterschiede zu OSPF
Obwohl beide Protokolle Link-State-basiert sind, gibt es deutliche Unterschiede. IS-IS ist ein OSI-Protokoll und nutzt NSAP-Adressen, während OSPF direkt auf IP aufsetzt. IS-IS benötigt keine Area 0 und erlaubt eine flexiblere Hierarchie durch L1/L2-Router. OSPF hat eine strengere Backbone-Struktur. IS-IS ist effizienter im Flooding und in der CPU-Belastung bei großen Netzwerken, was zu seiner Beliebtheit bei Service-Providern beigetragen hat. Die Konvergenzzeit von IS-IS ist in der Praxis oft schneller, und das Protokoll gilt als stabiler bei sehr vielen Routern in einer Area.
Integrated IS-IS und moderne Einsatzbereiche
Integrated IS-IS nach RFC 1195 ermöglicht den Transport von IP-Routen und hat sich zum Standard-IGP für viele Provider-Netze entwickelt. Es wird für IPv4 und IPv6 gleichermaßen unterstützt. IS-IS dient als ideale Basis für MPLS-TE, da es Traffic-Engineering-Erweiterungen enthält, die Bandbreitenreservierungen und Affinitätsattribute transportieren. In modernen Rechenzentren wird IS-IS zunehmend als Underlay-Protokoll für VXLAN/EVPN-Fabrics eingesetzt, da es einfach zu konfigurieren, robust und herstellerneutral ist.
Segment Routing und IS-IS
IS-IS ist eines der Protokolle, das native Erweiterungen für Segment Routing (SR) bereitstellt. Mit Segment Routing können Pfade durch das Netzwerk als eine Liste von Segment-IDs (SIDs) vorgegeben werden, ohne dass ein separates Signalisierungsprotokoll wie RSVP-TE erforderlich ist. IS-IS flutet die SIDs zusammen mit den Link-State-Informationen, was eine hoch skalierbare Traffic-Engineering-Lösung ermöglicht. Dies hat IS-IS zu einem wichtigen Baustein in modernen SDN- und 5G-Netzen gemacht.
Zusammenfassung
IS-IS ist ein leistungsfähiges, gut skalierendes Link-State-Routing-Protokoll mit einer langen Erfolgsgeschichte. Seine Flexibilität in der Area-Gestaltung, die effiziente Protokollmechanik und die nahtlose Integration von Erweiterungen wie Segment Routing machen es zu einer ersten Wahl für Carrier-Netze und große Rechenzentren. Obwohl es eine steilere Lernkurve als OSPF hat, bietet es für sehr große, dynamische Netze entscheidende Vorteile.