IS-IS
aus ANOther Wiki, der freien Wissensdatenbank
- Interior-Gateway-Protocol
- schnelle Konvergenz
- unterstützt VLSM
- ähnelt in einigen Punkten OSPF
- wurde in den 90ern totgesagt, erlebt aber eine Renaissance bei europäischen und US-amerikanischen ISPs
- unterstützt die meisten Charakteristiken von OSPF und EIGRP
- ist ein Teil der OSI-Protokollgruppe
- unterstützt verbindungslode Datenübertragung, CLSN für ConnectionLess Network Services
- das Schicht-3-Protokoll dazu heisst ConnectionLess Network Protocol, CLNP, welches ebenso wie IP eine Lösung für verbindungslose Datenübertragung ist
Allgemein
Übersicht
IS-IS arbeitet strikt nach CLNS-Bedingungen, integriertes IS-IS routet aber auch IP. CLNS-Adressen werden zur Konfiguration und zur Fehlersuche benötigt, auch wenn IP verwendet wird. IS-IS unterstützt verschiedene Data-Link-Umgebungen, wie Ethernet und Framerelay
Wie jedes Protokoll hat IS-IS Vor- und Nachteile, doch ist IS-IS eines der drei angemessenen, skalierbaren Routingprotokolle für große Netzwerke
Die Entwicklung von IS-IS begann vor der OSPFs. Große ISPs verwendeten IS-IS vor allem wegen der Konvergenz, der Stabilität und der Skalierbarkeit. Heute findet man eher Informationen und Fachartikel über OSPF als über IS-IS. Dennoch wird in einigen der weltweit grüßten Netzwerke IS-IS verwendet. Der Grund hierfür sind die oben genannten Fähigkeiten.
ISO definiert einen Router als Intermediate System, IS. Folglich ist IS-IS ein System, mit dem Router untereinander kommunizieren können
Die OSI-Protokollgruppe verwendet verbindungslose Netzwerkdienste (ConnectionLess Network Services, CLNS), um eine verbindungslose Datenübertragung zu gewährleisten, das verwendete Schicht-3-Protokoll heisst ConnectionLess Network Protocol (CLNP)
IS-IS verwendet CLNS-Adressen um Router zu identifizieren und die LSDb, die LinkState DataBase, aufzubauen. IS-IS ist ein Interior-Gateway-Protocol für CLNS
CLNP ist also eine Lösung für einen verbindungslosen, unzuverlässigen Datenaustausch, wie für IP
Eigenschaften von IS-IS
- IS-IS ist ein dynamisches Linkstate-Routingprotokoll für den OSI-Protokollstack. Es verteilt Routinginformationen, um CLNP-Daten in einer ISO-CLNS-Umgebung zu routen
- ISIS unterstützt VLSM
- Routingdomänen können ähnlich OSPF in Areas geteilt werden. IS-IS stellt Nachbarschaftsbeziehungen mittels Hello-Paketen her, und verwendet Link-State-Pakete (LSP), um die LinkState-Informationen auszutauschen, damit die LSDB gebaut werden kann
- Jeder Router wendet den Dijkstra-Algorithmus (SPF) an der LSDB an, um den besten Weg zu finden. Es werden nur wenige Informationen zwischen den Areas ausgetauscht, dies verringert die Last an den Routern, die dieses Protokoll unterstützen. Somit ist IS-IS effizient, was die Verwendung von Bandbreite, Speicher und Prozessorlast angeht
- Das IS-Is-Protokoll findet auf zwei Ebenen statt:
- Ebene: Routing passiert in der IS-IS. Es erkennt die Lage der IS und der ES (End-Systems), und baut eine Routingtabelle, um jedes ES zu erreichen. Alle Geräte in einer Level-1-Routingarea haben die gleiche Area-Adresse. Das Routing in einer Area geschieht, indem die System-ID (auch Logical Significalt Adress Portion) betrachtet und der Weg mit den geringsten Kosten gesucht wird
- Ebene: Die Router lernen die Lokationen aus den Level-1-Routingareas, und bauen eine Interarea-Routingtabelle. Alle IS in Level-2 verwenden die Adresse der Zielarea um den Verkehr über den Weg mit den geringsten Kosten ins Ziel zu lenken
LinkState-Ablauf
Um die beiden Ebenen zu ermöglichen, werden in IS-Is drei verschiedene Routertypen definiert:
- Level 1: Diese Router lernen die Pfade der Area, in der sie sich befinden (intra-area)
- Level 2: Diese Router lernen die Pfade zwischen den Areas (interarea)
- Level 1-2: Diese Art lernt sowohl die Pfade in den Areas als auch die dazwischen. Sie sind das Äquivalent zu den ABR in OSPF
Die Pfade, an denen L2 und L1-2-Router verbunden sind, werden Backbone genannt. Die Areas und der Backbone müssen verbunden sein
Integriertes IS-IS-Routing
Integrated IS-IS oder Dual-IS-IS ist eine Implementierung, um mehrere Netzwerkprotokolle zu unterstützen (IP, CLNSoder beide). Dies ist spezifiziert in http://www.faqs.org/rfcs/rfc1195.html">RFC 1195 und ISO 10589
Integrated IS-IS hängt CLNP-Routen Informationen über IP-Netzwerke und Subnets an. Es kombiniert ISO CLNS und IP-Routing zu einem Protokoll, so kann Integrated IS-IS für IP bzw. CLNS-Routing verwendet werden, oder einer Kombination aus beiden
Integrated IS-IS verwendet seine eigenen PDUs (Protocol-Data-Unit)um die Informationen zwischen den Routern, inklusive der IP-Erreichbarkeit, zu transportieren. IS-IS-Informationen werden nicht mit einem Netzwerklayer-Protokoll übertragen. Stattdessen werden diese Informationen direkt mittels Datalink-Frames versendet
Diese Protokollunabhängigkeit machen IS-IS äusserst erweiterbar. Es existiert auch eine Integrated IS-IS-Version, die IPv6 unterstützt
Da IS-IS CLNS-Adressen verwendet, um die Router zu identifizieren und die LSDB zu erstellen, ist es zwingend notwendig, das CLSN-Adressschema zu verstehen, wenn es konfiguriert oder debugged werden soll. Selbst wenn es nur für IP-Routing verwendet wird
Kernpunkte des Integrated IS-IS-Designs
Effektive Netzwerke sind gut geplant. Der erste und wichtigste Schritt beim Entwickeln einers skalierbaren Netzes ist der Entwurf eines Adressschemas, um das Zusammenfassen von Routen zu ermöglichen. Routesummarization ist nur in strikt hierarchischen Umgebungen möglich
Eine durchdachte Adressplanung bietet die Möglichkeit, die Router in Areas zu gliedern. Durch die Verwendung von Areas kann die Verbreitung von LSPs beschränkt werden, was Bandbreite einspart. L1-2-Router, die zwischen zwei Areas stehen, sind die logischen Punkte, um Summaries zu bilden
Probleme bei Integrated IS-IS
Ein Problem mit älteren Implementierungen ist die knappe Metrik, welche eine maximale Interfacemetrik von 63 (6 bit) und einer maximalen total-path-metric von 1023 (10 bit) bietet. Diese Metrik lässt wenig Spielraum.
Cisco-IOS ab 12.0 erlaubt eine 24bit Interface- und eine 32bit-Pfadmetrik. Per Default ist allerdings noch immer die kleine, knappe Metrik eingestellt. Probleme können dann entstehen, wenn mit älteren Routern bzw Routern unterschiedlicher Hersteller gearbeitet wird
Die Cisco-Implementierung von IS-IS misst nicht die Metrik der Interface, sondern legt sie auf 10 fest. Dieser Wert kann angepasst werden. Sollte dies nicht gemacht werden, verwendet IS-IS einfach eine Hopcount-Metrik, wie RIP
ES-IS-Protokoll
Das ES-IS-Protokoll erlaubt Routern und Hosts (ES), sich gegenseitig zu erkennen. Weiters können ES so auch ihre Network-Layer-Adresse lernen
ES-IS wickelt das Erforschen der Topologie bzw. den Austausch von Informationen zwischen den Routern (IS) und den Hosts (ES) ab.
Router senden End-System-Hellos (ESH) zu bekannten Adressen, um ihr Vorhandensein mitzuteilen. ES lauschen auf diese ESH und wählen einen zufälligen Routern an den sie ihre Pakete senden. Sollte ein ES ein Paket zu einem anderen ES senden wollen, geschieht dies ebenso über einen angeschlossenen IS.
Router hingegen senden IS-IS-Hellos (IIH), um Nachbarschaften herzustellen und aufrechtzuerhalten.
IP-Systeme verwenden kein ES-IS, denn IP hat seine eigenen Prozesse und Applikationen, um diese Funktionalität zu gewährleisten. Beispiele hierfür sind ICMP, DHCP oder ARP
Auch wenn IS-IS IP komplett unterstützt, werden zum Bilden von Nachbarschaften und zum Übertragen von Erreichbarkeitsinformationen IIHs verwendet
OSI Routing Levels
OSI kennt vier einzelne Routingoperationen, welche von 0 bis 3 nummeriert sind. IS-IS ist verantwortlich für Level 1 und Level 2 des OSI-Routings
Level 0 Routing
Das OSI-Routing beginnt mit ES-IS, wenn ein ES seinen nähesten IS auffinden will, durch das Lauschen nach ISH-Paketen
Wenn nun ein ES zu einem anderen ES ein Paket schicken will, sendet er dieses an seinen IS. Dies wird als Level-0-Routing bezeichnet
Level 1 Routing
Alle ES und IS befinden sich in einer bestimmten Area. Der Router begutachtet die Zieladresse, und leitet die Pakete auf die beste Route. Wenn sich das Ziel im selben Subnet befindet, was der Router ja aus den empfangenen ESH-Paketen weiss, forwardet er das Paket
Der IS kann eine Nachricht auch umleiten, wenn die Quelle einen direkteren Link kennt. Wenn sich das Ziel in einem anderen Subnet, aber in der gleichen Area befindet, identifiziert der Router anhand der System-ID den besten weg und leitet das Paket weiter
Level 2 Routing
Wenn sich das Ziel in einer anderen Area befindet, leitet der Router das Paket an den nächsten Level-1-2-IS weiter. Dieser Vorganng nennt sich Level-2-Routing. Die Paket wird weitergeleitet, bis es eine Level-1-2 Router bzw. einen Level-2-Router im Zielnetz erreicht. Innerhalb der Zielarea routet IS das Paket, basierend auf der System-ID, auf den besten Pfad
Level-2-Routing wird auch als Interarea-Routing bezeichnet
Level 3 Routing
Routing zwischen getrennten Domänen wird Level-3-Routing genannt. Das Level-3-Routing kann mit dem Border-Gateway-Protokoll, (BGP) verglichen werden. L3-Routing passiert zwischen verschiedenen AS, welche eine unterschiedliche Routinglogik verwenden und so unter Umständen Metrics haben, die nicht miteinander verglichen werden können. L3-OSI-Routing ist in Cisco-Routern nicht implementiert.
Zusammenfassung
- L0-Routing wird von ES-IS durchgeführt
- L1- und L2-Routing sind Funktionen von IS-IS
- IDRP führt das L3-Routing aus, wird von Cisco-Routern allerdings nicht unterstützt. IDRP ist ähnlich vielfältig wie BGP
Vergleich zwischen IS-IS und OSPF
Die beiden Protokolle sind relativ ähnlich. Beide Routingprotokolle haben folgende Merkmale:
- beide sind ein Open-Standard Link-State-Routingprotokoll
- beide unterstützen VLSM
- beide verwenden ähnliche Mechanismen (LSAs, Linkstate-Agingtimer und LSDB-Syncronisation) um die LSDB zu erhalten
- beide nutzen SPF, mit ähnlichen Update-, Entscheidungs- und Floodingprozellen
- beide werden erfolgreich in den größten und kompliziertesten Netzwerken eingesetzt (ISP)
- beide haben eine schnelle Konvergenz
Ein großer Unterschied zwischen den beiden Protokollen ist die Grenze anderen Areas. Während bei OSPF ein Router, der ABR, die Grenze darstellt, ist diese bei IS-IS der Link zwischen zwei L1-2-Routern. So kann bei IS-IS der Backbone erweitert werden, indem einfach weitere L2 und L1-2-Router hinzugefügt werden. Dadurch ist eine Erweiterung bei IS-IS wesentlich weniger komples als bei OSPF
Unterschiede
OSPF | Integrated IS-IS |
---|---|
Area-Grenze an den ABR | Area-Grenze an einem Link |
Jeder Link nur in einer Area | Jeder Router nur in einer Area |
Erweiterung des Backbones ist eher komplex | Einfache Erweiterung des Backbones |
Gesendete LSA sind sehr klein | Es werden sehr wenige LSP gesendet |
Läuft auf IP | Läuft auf dem DataLink-Layer |
Benötigt IP-Adressen | Benötigt IP- und CLNS-Adressen |
Die Defaultmetrik wird anhand der Interface-Bandbreite bestimmt | Die Defaultmetrik ist 10, für alle Interfaces |
Knowhow und Equipment sind verfügbar | Knowhow und Equipment sind schwieriger zu finden |
Zusammenfassung
- IS-IS ist ein unter ISPs populäres Routingprotokoll
- IS-IS ist ein stabiles IGP mit schneller Konvergenz, welches zum Routen von IPv4, IPv6 und CLNS verwendet wird
- Alle IS-IS-Interfaces haben per Default die Metrik von 10
- ES-IS (nur für CLNS-Routing) unterstützt das Bilden einer Nachbarschaft von Hosts und Routern mit Hello-Paketen. Hosts senden ESH, Router ISH
- OSI definiert vier Routinglevels, L0 bis L3. L0 deckt Routing zwischen ES und IS ab, L1 und L2 erledigen das Intradomainrouting, wobei L1 für Intra-, L2 für Interarearouting zuständig ist. L3 beinhaltet das Interdomainrouting
- OSPF und IS-IS sind Open-Standard-Routingprotokolle, die skalierbar sind, VLSM unterstützen und eine schnelle Konvergenz haben
Ablauf des Routingvorganges
Im Gegensatz zu IP-Adressen, wo die Adressen zu jeweiligen Interfaces gehören, werden CLNS-Adressen den jeweiligen Knoten zugeteilt. Da IS-IS ursprünglich für CLNS entwickelt wurde, benötigt IS-IS auch eine CLNS-Adresse, selbst wenn es nur für IP-Routing verwendet wird. CLNS-Adressen, die von Routern verwendet werden, bezeichnet man als Network Service Access Point(NSAP). Ein Teil einer NSAP-Adresse ist das NSAP-Sektor(NSEL)-Byte. Wenn ein NSAP eine NSEL von 0 besitzt, wird er Network Entry Title (NET) genannt.
NSAP-Adressen
- OSI-Networklayer-Adressierung ist mit NSAP-Adressen implementiert
- eine NSAP-Adresse identifiziert ein System im OSI-Netzwerk. Eine Adresse ist einem Knoten zugeordnet, nicht einem Interface
- verschiedene NSAP-Formate werden in verschiedenen Systemen verwendet
- NSAP-Adressen bestehen aus max. 20 Byte
- Higher-Order-Bits für die Interarea-Struktur
- Lower-Order-Bits für die Systeme in der Area
CLNS-Adressen, welche von Routern verwendet werden, werden NSAP-Adressen genannt. Anders als bei IP-Adressen werden NSAP-Adressen einem Gerät, nicht einem Interface zugeordnet
IP-IP Linkstate-Pakete (LSP) verwenden NSAP-Adressen, um die Router zu identifizieren und die Topologietabelle zuerstellen, die den Grundstock zum IS-IS-Routingbaum darstellt. Hierfür benötigt IS-IS NSAP-Adressen, selbst wenn IS-IS nir für IP-Routing verwendet wird. NSAP-Adressen beinhalten:
- die OSI-Adresse für das jeweilige Gerät
- den Link zum higher-layer-Prozess
Die NSAP-Adresse ist das Equivalent zu IP-Adresse und dem Upper-Layer-Protokoll im IP-Header
Es gibt verschiedene NSAP-Adressformate
Integrated IS-IS NSAP Adressstruktur
Die Cisco-Implementierung von Integrated IS-IS teilt die NSAP-Adresse in drei Felder: die Area-Adresse, die System-ID und das NSEL. ISO NSAP-Adressen bestehen aus
- der Authority and Format Identifier (AFI) und der Initial Domain Identifier (IDI) bilden den Initial Domain Part (IDP) der NSAP-Adresse. Dies entspricht in etwa einem classfull-Netzes in IP
-
- Das AFI-Byte spezifiziert das Format der Adresse. So entspricht ein Wert von 39 ISO-Data-Country-Code (DCC), 45 entspricht E.164, und 49 steht für lokal-administriert, also private Adressen
- Adressen, die mit AFI 49 starten, gelten als private Adressen, ähnlich http://www.faqs.org/rfcs/rfc1918.html">RFC 1918 bei IP. IS-IS routet diese Adressen, allerdings sollten sie nicht anderen CLNS mitgeteilt werden, da sie Ad-Hoc-Adressen sind.
- die IDI markiert die Subdomain unter der AFI. So ist zum Beispiel 47.0005 zivilen Einrichtungen der US-Regierung zugewiesen, 47.0006 dem DoD
- der Domain-Specific-Part (DSP) liefert das Routing in der IS-IS-Routingdomain. Der DSP enthält den High-Order-Domain-Specific-Part (HO-DSP), die System-ID, und die NSEL
-
- die HO-DSP teilt die Domain in Areas. Die HO-DSP ist mehr oder weniger mit dem Subneting in IP zu vergleichen
- die System-ID identifiziert das jeweilige OSI-Gerät.
- die NSEL steht für einen Prozess am Gerät, und ist grob mit Ports oder Sockets in IP vergleichbar. NSELs spielen bei Routenentscheidungen keine Rolle
Typische NSAP-Adressstruktur
Das einfachste IS-IS-Format, dann von den meisten IS-IS-verwendenden Firmen eingesetzt wird, ist folgendes:
- Areaadresse (mindestens 1 byte).
-
- AFI auf 49 gesetzt
-
- lokal administriert; dadurch können eigene Adressen verwendet werden
- Area-ID
-
- Die Oktette der Area-ID nach der AFI
- System-ID
-
- Cisco-Router benötigen eine 6-byte-System-ID
- NSEL
-
- bei Routern immer 0
Das NSAP wird NET genannt, wenn die NSEL gleich 0 ist. Router verwendern NET um sich selbst in den IS-IS-PDUs zu identifizieren
Als Beispiel kann die Adresse 49.0001.0000.0c12.3456.00 zugewiesen werden. Diese Adresse bedeutet:
- AFI 49
- Area-ID 0001
- System-ID 0000.0c12.3456, eine MAC-Adresse eines LAN-Interfaces
- die NSEL auf 0
In einigen Dokumentationen wird anstatt des Begriffes "Area-ID" das Synonym "Area-Adresse" verwendet
Identifizieren von Systemen in IS-IS
Area-Adresse
Der erste Teil der NSAP ist die Area-Adresse. Sie ist dem Routingprozess zugeordnet. Im Unterschied zum OSPF kann ein IS-IS-Router nur Mitglied einer Area sein
Alle Router in einer Area müssen die selbe Area-ID haben. Die Area-ID wird im L2-routing verwendet
End-Systems (ES) erkennen nur IS und andere ES im selben Subnetz, wenn sie die selbe Area-ID haben
System-ID
die 6-byte-NSAP-System-ID muss in einer Area einzigartig sein. Üblicherweise verwendet man eine MAC-Adresse des Routers, ider man wandelt eine IP-Adresse um (für Integrated IS-IS). Alle System-IDs in einer Domäne müssen die selbe Länge haben. Cisco erzwingt diese OSI-Direktive, indem immer 6 byte für die System-IDs vorausgesetzt werden.
L1 Intra-Area-Routing verwendet die System-ID. Daher müssen ES und IS einzigartige System-IDs haben
Alle L2-IS erkennen unter Umständen alle anderen IS im L2-Backbone. Daher müssen auch hier die System-IDs einzigartig sein
Folglich ist es ratsam, in einer Domain ausschließlich einzigartige System-ID-s zu verwenden, da so sie Probleme entstehen können, wenn z. B. ein Gerät in eine andere Area verlegt wird
NET-Adressen
- NSAP-Adressen beinhalten ein NSEL-Feld (Prozess- oder Portnummer)
- NET: NSAP mit einem NSEL-Feld 0
-
- gehört dem Gerät selber (wie die OSI-Schicht-3-Adresse des Gerätes)
- wird nur in Routern verwendet, denn nur Router sind in der Netzwerkschicht implementiert (die Basis für die SPF-Berechnung)
Subnetwork Point of Attachment (SNPA) und Circuit
Drei weitere Begriffe in IS-IS sind Subnetwork Point of Attachment, Circuit und Link
SNPA
Der SNPA ist der Punkt, der Subnetting ermöglicht. Der SNPA ist das Equivalent zur L2-Adresse, entspricht dem NET oder der NSAP-Adresse
Der SNPA eird wie folg bestimmt
- die MAC-Adresse eines LAN-Interfaces
- der Virtual Circuit-ID von X.25 oder ATM-Verbindungen, oder der Data-Link Connection Identifier (DLCI) einer Framerelay-Verbindung
- für High Level Data Link Control (HDLC) einfach HFLC
Circuit
Ein Circuit ist der IS-IS-Ausdruck für ein Interface. Da NSAP und NET das genamte Gerät bezeichnen, wird der Circuit verwendet, die einzelnen Interfaces zu unterscheiden. Der Router weist die Circuit-ID (ein Oktet) den Interfaces wie folgt zu:
- im Falle einer Punkt-zu-Punkt-Verbindung ist die SNPA die einzige Bezeichnung für einen Circuit. So ist zum Beispiel die Circuit-ID an einem HDLC Punkt-zu-Punkt-Link 0x00
- bei einem LAN-Interface wird die Circuid-ID mit der aus sechs Oktetten bestehenden System-ID eines designierten IS zu einer sieben-Oktett-LAN-ID verbunden. Ein Beispiel hiefür wäre 1921.6800.0001.01. Auf Cisco-Routern wird anstelle der System-ID der Hostname verwendet. Eine mögliche Circuit-ID könnte so ANOR01.01 sein
Link
Ein Link ist der Pfad zwischen zwei benachbarten IS. Der Status "up" ist definiert, wenn die Kommunikation zwischen den benachbaten SNPAs möglich ist
IS-IS Routing Levels
Level 1, Level 2 und Level1-2 Router
- Level 1 (entspräche OSPF interne Nicht-Backbone-Router)
-
- Intra-Area-Routing erlaubt es ES zu kommunizieren
- Level 1 Area ist eine Ansammlung von L1 und L1-2-Routern
- Level 1 IS haben eine Kopie der L1-Area-LSDB
- Level 1-2 (ähnlich en ABR in OSPF)
-
- Intra- und Interarea-Routing
- L1-2 IS hat für L1 und L2 je eine eigene LSDB, und bietet den L1 eine Default-Route
- Level 2 (wie OSPF-Backbone-Router)
-
- Interarea-Routing
- Level 2, der Backbone, ist eine zusammenhängende Reihe von L2- und L1-2-Routern
- L2 IS haben eine Kopie der L2-LSDB
Intra und Interarea-Adressierung und Routing
- die Area-Adresse wird für das Routing zwischen Areas verwendet. Die System-ID wird hier nicht berücksichtigt
- die System-ID wird für das Routing in der Area verwendet. Hier wird die Area-ID nicht berücksichtigt
Der Area-ID-Teil der NSAP-Adresse kann eine Länge von 1 - 13 bytes aufweisen, wie im ISO-Standard definiert. Daher ist eine NSAP-Adresse mindestens 8 byte lang. Um Flexibilität zu gewährleisten ist sie meist länger. Die Area-ID ist bei allen Geräten in einer Area gleich, und in allen Areas unterschiedlich. ES und IS haben, sofern sie sich in der gleichen Area befinden, die gleiche Area-ID
Routing in Areas hat zur Folge, dass alle System-IDs und Nachbarschaften aller IS und ES in der Area gesammelt werden, und mittels des SPF-Algorithmus der beste Pfad zwischen den Geräten bestimmt wird. L1-Router kennen nur die lokale Routingtable, die der eigenen Area. Sie leiten Traffic, der für eine andere Area bestimmt ist, an ihren nächsten L1-2-Router weiter.
Routing zwischen Areas basiert auf den Areaadressen. L2-Router der verschiedenen Areas tauschen die Areaadress-Informationen aus und nutzen den SFP-Algorithmus um den besten Pfad zwischen den Areas zu bestimmen.
OSI IS-IS Routinglogik
- L1-Router: für die weitere Vorgehensweise vergleichen sie die Areaadresse des Zielpaketes mit der der eigenen Area
-
- wenn sie gleich ist, verwenden L1-Router die System-ID um das Paket dem Ziel in der eigenen Area zuzustellen
- wenn sich die Area-IDs unterscheiden, werden die Pakete zu dem nächsten L1-2-Router weitergeleitet
- L1-2-Router: diese vergleichen ebenso die Area-ID
-
- ist sie gleich, verwenden sie für die Zustallung die L1-Datenbank und die System-ID für die Zustellung
- ist sie ungleich kommt die L2-Datenbank zum Tragen, und das Paket wird nach der Area-ID geroutet
Route Leaking
Dies ist ein seit den IOS 12.0 verfügbares Feature, welches L2-Routern erlaubt, Traffic zu einem L1-Router umzuleiten, um asymetrisches Routing zu verhindern.
Dieses Frature hilft, nicht obtimales Routing zu verbessern, indem es einen Mechanismus bietet, L2-Informationen in eine L1-Area einfließen zu lassen. Da L1-Router mehr Informationen bezüglich Intraarearouting haben, können diese gegebenenfalls einen besseren Weg in eine andere Area finden, indem sie einen anderen L1-2-Router verwenden
Route Leaking ist im http://www.faqs.org/rfcs/rfc2966.html">RFC 2966 definiert.
Beim implementieren von Route-Leaking wird ein up/down-Bit im TLV (Type, Length und Value, Tyte 128 und 130, IETF hat ebenso eine 135 definiert) gesetzt. Ist das bit auf "0", stammt die Route aus einer L1-Area
Ist das Bit allerdings auf "1", wurde die Route von L2 redistributiert. Dieser Mechanismus wird verwendet, um Routingloops vorzubeugen.
Diese Funktion sollte eher vorsichtig verwendet werden, da eine Topologieänderung in einer Area Auswirkungen auf viele andere Router, in anderen Areas haben könnte
IS-IS PDUs
Der OSI-Stack definiert eine Einheit aus Daten als PDU. OSI bezeichnet einen Frame als ein Data-Link-PDU und ein Paket als Network-PDU
In der Grafik sind drei PDU-Typen angeführt, alle drei mit der IEEE 802.2 Logical Linc Lontrol (LLC) Verkapselung. IS-IS und ES-IS PDUs sind direkt in ein Data-Link PDU verkapselt (frame); es bibt kein CLNP und keinen IP-Header. In andere Worten, IS-IS und ES-IS verpacken keine Routinginformationen in IP oder CLNP-Paketen, sie geben die Information direkt in einen Data-Link-Frame.
CLNP-Pakete beinhalten den ganzen CLNP-Header zwischen dem Data-Link-Header und den höheren CLSN-Informationen
IS-IS und ES-IS PDUs haben eine variable Feldlänge, abhängig von der Funktion des PDU. Jedes Feld beinhaltet einen Typencode, die Länge, und die diverse Werte (Values). Diese Informationen werden auch TLV genannt
IS-IS PDUs sind also direkt in einen OSI-DataLink-Frame verlkapselt. Es gibt weder einen CLNP noch einen IP-Header
IS-IS definiert vier PDU-Typen:
- Hello PDU (ESH, Intermediats System Hello [ISH], IS-IS-Hello[IIH]): sie werden verwendet, um Nachbarschaften herzustellen und aufrechtzuerhalten
- LSP: wird zum Verbreiten von LinkState-Informationen verwendet
- Partial Sequence Number PDU (PSNP): wird zur Bestätigung bzw. Neuanforderung verlorener Teile von LinkState-Informationen verwendet
- Complete Sequence Number PDU (CSNP): wird verwendet, um die kompletten LSPs in der LSDB eines Routers darzustellen
LinkState Pakete (LSP)
Ein Link-State-Paket repräsentiert einen Router. Ein Router beschreibt sich selbst mit einem LSP
In IS-IS wird die Charakteristik eines Routers mittels eines LSP definiert. Das LSP eines Routers besteht aus dem LSP-Header und den TLV-Feldern
- ein LSP-Header enthält folgendes
-
- den PDU-Typ und die Länge
- die LSP-ID
- die LSP-Sequenznummer, welche verwendet wird, um doppelte LSPs festzustellen und um sicherzustellen, dass nur die aktuellsten LSP-Informationen in der Topologietabelle gespeichert bleiben
- die verbleibende Lifetime des LSP
- TLV-Felder enthalten
-
- die Nachbar-IS des Routers, mit diesen wird eine Netzwerk-Karte erstellt.
- die benachbarten ES des Routers
- Authentikationsinformationen, um die Route-Updates abzusichern
- angeschlossene IP-Subnetze (optional für Integrated IS-IS)
LSP-Header
Im Header befindet sich eine Sequenznummer. Wird ein Router neu gestartet, steht die Sync-Nummer wieder auf "1". Nun empfängt der Router sein ursprüngliches LSP mit der Sequenznummer von vor dem Reload von seinen Nachbarn. Er nimmt das Paket auf und erhöht die Nummer wieder um "1". Durch dieses Verfahren wird sichergestellt, dass nur aktuelle LSPs im Umlauf sind
Ebenso befindet sich die Lifetime im Header. Dadurch verschwinden veraltete LSPs aus den Topologietabellen. Die Lifetime eines LSP beträgt 1200 Sekunden
LSP TLV Beispiele
TLV | Type | Längenfeld | veränderbare Länge |
---|---|---|---|
Area Adresse | 1 | Area-ID | Area |
IS-Nachbarn | 2 | Nachbarcount+1 | IS-Nachbarn |
interne IP-Erreichbarkeit | 128 | Anzahl der verbundenen Präfixe | verbundene IP-Präfixe - 4byte metric, 4byte prefix, 4byte mask |
externe IP-Erreichbarkeit | 130 | Anzahl der redistributierten Präfixe | redistributierteIP-Präfixe - 4byte metric, 4byte prefix, 4byte mask |
Jeder Informationssatz, welcher "tuple" genannt wird, enthält einen Typencode, ein Längenfeld und die Länge
Jedes LSP enthält spezifische Informationen über das Netzwerk und die an einem Router angeschlossenen Geräte. Diese Informationen befinden sich in verschiedenen TLV-Feldern, hinter dem Header. Die TLV-Struktur ist eine flexible Art, Daten dem LSP hinzuzufügen, und ein einfacher mechanismus für zukünftige Erweiterungen
Genauere Dokumentation über wichtige TLV finden sich in ISO 10589 und http://www.faqs.org/rfcs/rfc1195.html">RFC 1195
Implementierung von IS-IS in NBMA-Netzwerken
Netzwerktopologien entsprechen im Allgemeinen einer von zwei Typen
- Punkt-zu-Punkt-Netzwerke: Point-to-Point-Links sind entweder permanent (leased line, permanent virtual circuit [PVC]) oder dynamisch (ISDN, switched virtual circuit [SVC])
- Broadcast-Netzwerke: Multipoint-WAN-Links oder LAN-Links wie Ethernet, FDDI oder Token Ring
IS-IS unterstützt
- Broadcast für LAN und Multiport-WAN-Links
- Point-to-Point für alle anderen Medien
IS-IS kann mit NBMA-Netzen nichts anfangen. Es sollte auf Point-to-Point-Links, wie ATM, Frame-Relay oder X.25 zurückgegriffen werden
Netzwerktypen in NBMA implementieren
IS-IS in Broadcast-Netze implementieren
- wird für LAN- und Multipoint-WAN-Interfaces verwendet
- Nachbarschaften werden mit "hello" hergestellt; es gibt eigene L1 und L2-Nachbarschaften
- Designiertes IS (DIS) erstellt einen Pseudonode und repräsentiert das LAN
- DIS dür L1 und L2 können sich unterscheiden
- DIS wird nach folgenden Kriterien bestimmt
-
- nur Router mit geeigneter Umgebung
- die höchste Interface-Priorität
- sollten mehrere geeignete Router überbleiben, entscheidet die SNPA (MAC), die höchste gewinnt
- es gibt kein Backup-DIS
Der BC-Mode ist nur für LAN-Interfaces empfehlenswert, ist allerdings auch bei den multiport-WANs per Default aktiviert.
LSP repräsentiert Router: LAN-Repräsentation
Bei IS-IS ist ein Broadcast-Link als Pseudonode dargestellt, an dem alle Router sternfärmig angeschlossen sind. Der DIS stellt den Pseudonode dar.
Router, auch der DIS, haben leichter eine einfache Nachbarschaft mit dem Pseudonode, als eine Nachbarschaft zu allen anderen Router im LAN. Ansonsten müsste jeder Router in einem Netzwerk mit n IS (n*(n-1)/2) nachbarschaftliche Verbindungen benötigen. Dies würde gewaltige Last bei der LSDB-Syncronisation nach sich ziehen
Der DIS generiert die Pseudonode-LSP. Ein Pseudonode-LSP detailiert nur die benachbarten IS (z.B. die im gleichen LAN). Es wird verwendet, um eine Netzwerkkarte zu erstellen und den SPF zu berechnen. Das PseudoLSP ist das Equivalent zum LinkState Advertisement (LSA) in OSPF
Bei IS-IS stellen Alle Router im LAN eine nachbarschaftliche Beziehung mit allen Routern inklusive dem DIS her. Daher kann, sollte der DIS ausfallen, ein anderer Router dessen Aufgabe schnell übernehmen, mit keinen oder nur geringen Auswirkungen auf die Toplogie des Netzes. Dies ist ein Unterschied zu OSPF, wo dem DR ein BDR zur Seite steht. Sollte der DR ausfallen, wird der BDR zum DR, und ein neuer DBR wird gewählt. In IS-IS ist dies nicht nötig.
LSP und IIH-Levels
- Da IS-IS aus zwei Levels besteht, werden auch zwei LSP-Typen benötigt: L1 und L2-LSPs
- Der DIS ist der "Beauftragte" des LAN:
-
- er sendet pseudo-L1 und pseudo-L2 für das LAN
- für L1 und L2 existieren eigene DIS
- LSP werden unicast in Punkt-zu-Punkt-Netzwerken gesendet
- In Broadcast-Netzen werden sie per Multicast gesendet
- In LAN werden eigene L1 und L2-IIHs versendet, per multicast
- Bei Punkt-zu-Punkt wird ein einfaches IIH-Format verwendet, per multicast versendet
Vergleich BC und PtP-Topologien
Konfiguration: Basic Integrated IS-IS
Selbst wenn IS-IS ausschließlich für IP verwendet wird, müssen die Router das OSI CLNS (ConnectionLess NetworkService) verwenden. Jeder Router benötigt einen Network Entity Title (NET), und die IS-IS-Pakete werden direkt am DataLink-Layer verkapselt
Die Konfugutarion von IS-IS unterscheidet sich leicht von der OSPFs und der von EIGRP. weiters sind die Defaulteinstellungen von IS-IS suboptimal, das heisst, so eingesetzt würden die vorhandenen Netzwerkressourcen nicht bestmöglich genutzt. Zwei Gründe, warum sich ein IS-IS-Admin mit der Materie genau beschäftigen muss...
Integrieren von IS-IS in eine CLNS-Umgebung
Eine NER-Adresse bezeichnet ein Gerät, nihct ein Interface. Dies ist ein wichtiger Unterschied zwischen NET- und IP-Adressen
Auch wenn nur IP geroutet werden soll muss jeder Router mit NET-Adressen bezeichnet werden, da IS-Is aus CLNS-Routing basiert
Die OSP-Protokolle (hello PDUs) werden verwendet, um die Nachbarschaftsbeziehungen herzustellen, die SPF-Berechnung passiert mittels NET-Adressen
Ein Gerät identifiziert ein anderes anhand der NET-Adresse. Daran erkennen die Geräte, dass sie miteinander kommunizieren können, entweder mit oder ohne einer Default-Route.
IS-IS verwendet eine OSI-Weiterleitungsdatenbank (die Routingtabelle) um den besten Pfad zum Ziel zu finden. Wenn die Datenbanken syncronisiert sind, verwenden Router die LSDB um den SPF-Baum zu den OSI-Zielen, den NETs, zu berechnen
L1 und L2-Router haben eigene LSDBs. Daher kann es sein, dass ein Router den SPF zweimal benutzen, einmal pro Level, und zwei SPF-Trees erstellen muss
Die Router legen die besten Pfade un der CLNS-Routingtabelle ab
Integrated IS-IS baut die IP-Informationen in die LinkState-Pakete (LPS) ein, und behandelt sie so wie ES-Informationen im SPF-Tree. Daher erfordert ein Update der IP-Erreichbarkeit, wie bei ES, nur eine Partial Route Calculation (PRC)
Die PRC generiert eine Auswahl an möglichen besten Routen, und leitet diese an die IP-Routingtable weiter, wo sie nach normalen IP-Routingtabellen-Regeln akzeptiert werden. So berücksichtigt der Router beim Vorhandensein mehrerer Routingprotokolle die Administrative Distanz. Wenn IS-IS-Routen in die IP-Routingtabelle einfließen, werden diese als L1 bzw L2 gezeigt, je nachdem was zutrifft
Durch die Trennung IP - Corenetz bietet Integrated IS-IS eine wesentlich bessere Skalierbarkeit als beispielsweise OSPF
Konfiguration: Integrated IS-IS
Die Grundkonfiguration von IS-IS lässt sich in vier Schritten zusammenfassen:
1. Bestimmen von Areas, vorbereiten des Adressplans (NETs) für Router, und bestimmen der Interfaces Es muss die Entscheidung fallen, wer L1, L2, L1-2-Router wird. Neben dem CLNS-Adressplan (NET) darf auch der IP-Adressplan nicht vergfessen werden. Hier sollte auf die Routesummarization nicht vergessen werden
2. IS-IS am Router aktivieren
router(config)# router isis [area-tag]
mit dem tag kann eine Prozessnummer vergeben werden, welche allerdings nur Einfluss auf den lokalen Router hat. Ein Cisco-IOS nimmt per Default eine "0" als tag an.
CLNS-Routing ist standardmäßig deaktiviert. Um es zu aktivieren muss das globale Kommando
clns routing
gesetzt werden, weiters muss das CLNS-Routing auf jedem betroffenem Interface aktiviert werden.
Per Default ist ein Cisco-Router ein L1-2-Router
3. NET konfigurieren Dies passiert mittels
net [network-entity-title]
Hier wird die Kombination aus Area-Nummer, der einzigartigen System-Identifizierungsnummer jedes einzelnen Routers und der NSEL 00 am Ende verwendet
Die Areanummer muss zwischen einem und 13 Bytes lang sein, bei Cisco ist die SystemID fix auf 6 bytes gesetzt.
4. Integrated IS-IS auf den auf den jeweiligen Interfaces aktivieren.
router(config-if)# ip router [area-tag]
Dies ist der letzte Schritt, es wird das Interface, auf welchem das IS-IS-Routing aktiviert werden soll.
Sollten mehrere IS-IS-Prozesse ausgeführt werden, muss der zugehörige Prozess mittels des area-tags angegeben werden
Auch hier gilt: Sollte CLNS-Routing aktiviert werden müssen, passiert dies mittels des Befehles
clns routing isis [area-tag]
Beispiel
interface Ethernet0/0 ip address 192.168.1.1 255.255.255.0 ip router isis ! interface Serial1/1 ip address 172.16.0.2 255.255.255.0 ip router isis ! [gekürzt] router isis net 49.0001.0000.0000.0002.00
Dies bedeitet
- 49.0001 ist die Area, eine "private"
- 0001.0000.0000.0002 ist die einzigartige SystemID
- IS-IS ist auf E0/0 und S1/1 aktiviert
- da nichts anderes konfiguriert ist, handelt es sich hier um einen L1-2-Router
Optimierung von IS-IS
Ändern des Router-Levels
router(config-router)# is-type [level-1 | level-1-2 | level-2-only]
Zwar würde das Netzwerk mit ausschließlich L1-2-Routern auch funktionieren, dies würde allerdings
- Speicherverschwendung (Jeder L1-2-Routrer hat eine LSDB von L1 und L2) und
- Bandbreitenverschwendung (Hellos und LSPs würden über alle Router/Netze laufen)
bedeuten
Ändern des Interface-Levels
router(config-if)# isis circuit-type [level-1 | level-1-2 | level-2-only]
Auch hier sind alle Interfaces standardmäßig auf L12 gesetzt. Unter Umständen können aber einzelne Interfaces L1 oder L2 zugewiesen werden, was wiederum Ressourcen spart
Ändern der IS-IS-Metrik
router(config-if)# isis metric metric [delay-metric [expanse-metric [error-metric]]] {level-1 | level-2}
Hiermit wird eine Metrik auf einem Interface konfiguriert, die Defaultmetrik ist 10. Die Metrik kann einen Wert zwischen 1 und 63 betragen
router(config-router)# metric [default-valute [level-1 | level-2]
Alternativ kann die Metrik global, für alle Interfaces angegeben werden. Dieser Befehl ist nur ab IOS >12.3(4)T verfügbar, und es wird nur die Cost-Metrik unterstützt
Konfiguration von Route-Summarization in IS-IS
router(config-router)# summary-adress adress mask [level-1 | level-2 | level-1-2] [tag Tagnummer] [metric Metriknummer]
So wird die Summarization erstellt. Default hierbei ist Level 2
Anbei ein Beispiel
router(config-router)# summary-adress 10.3.2.0 255.255.254.0 level-1-2
Hier wird eine Summarization von 10.3.2.0/23 in Level 1-2 erstellt.
Überprüfen der IS-IS-Konfiguration
Mit zwei einfachen, bekannten Befehlen kann die Konfiguration überprüft werden:
- show ip protocols: zeigt die aktiven IP-Routingprotokolle, die Interfaces, die am Routingprozess teilnehmen und die gerouteten Netzwerke
- sh ip route: zeigt die gesamte IP-Routingtabelle. Hier sind detailierte Angaben zu den Routen und den Protokollen zu finden
So würde
show ip route isis
zum Beispiel mittels '"i L2"' bekannt geben, dass es sich um eine I-ISIS-Toute aus Level 2 handelt. Weiters würde [115/20] für die Integrated-IS-IS-Distanz von 115 stehen, die IS-IS-Metrik würde hier auf 20 gestellt sein
Überprüfen der CLNS IS-IS-Struktur
Troubleshooting Kommandos: CLNS
router# show clns
zeigt generelle Informationen über das CLNS-Netzwerk
router# show clns [area-tag] protocol
zeigt Informationen über die spezifischen IS-IS-Prozesse am Router
router# show clns interface [type number]
zeigt Informationen über die Interfaces, auf denen CLNS läuft
router# show clns [area-tag] neighbors [type number] [detail]
zeigt, wenn vorhanden, IS und ES-Nachbarn.
Troubleshooting Kommandos: CLNS und IS-IS
router# show isis [area-tag] route
zeigt die L1-IS-IS-Routingtabelle, welche alle anderen SystemIDs der Area enthält. Ist nur verfügbar, wenn CLNS-Routing global und am Interface aktiviert ist
router# show clns route [nsap]
zeigt die L2-Routingtabelle, welche alle Routen zu allen bekannten Areas zeigt
router# show isis [area-tag] database
zeigt die IS-IS-LSDB. Um ein Refresh der LSDB zu erzwingen, kann clear isis * verwendet werden
router# show isis topology
zeigt die L1 und L2-Topologietabellen, in welchen die billigsten Pfade zu den jeweiligen IS beschrieben stehen