Wikipedia · einfach zusammengefasst · Stand
Locator/Identifier Separation Protocol
Das Locator/ID Separation Protocol (LISP) ist ein Protokoll der Vermittlungsschicht zu einer Routing-Architektur. Damit das Routing effizient verläuft, …
Inhalt6 Abschnitte
Kernidee und Zweck
Das Locator/ID Separation Protocol (LISP) ist ein Protokoll der Vermittlungsschicht und Teil einer Routing-Architektur. Es trennt zwei Aufgaben, die bei einer gewöhnlichen IP-Adresse zusammenfallen: die Identität eines Endpunkts und seine topologische Lokation, also den Standort beziehungsweise den Weg, über den er im Netzwerk erreichbar ist.
Eine IP-Adresse dient heute gleichzeitig als Endpunkt-ID und als Locator. Als Endpunkt-ID identifiziert sie ein Netzwerkinterface innerhalb eines lokalen Netzes. Als Locator unterstützt sie den Routing-Prozess dabei, einen Endpunkt auch in großen Routing-Umgebungen zu finden. Für effizientes Routing müssen Adressen topologisch vergeben werden. Für die Verwaltung von Geräteansammlungen ist es dagegen günstiger, Adressen nicht an eine bestimmte Topologie zu binden, damit topologische Änderungen keine Neu- oder Umnummerierung erfordern.
LISP soll diesen Gegensatz durch einen Loc/ID-Split lösen. Die Identität eines Geräts wird als Endpoint Identifier (EID) bezeichnet, sein erreichbarer Standort als Routing Locator (RLOC). Ändert sich der Standort, kann die EID gleich bleiben, während nur die Zuordnung zu einem RLOC aktualisiert wird.
Beispiel für die Trennung
Eine Person A befindet sich zunächst in der Lokation Ost. Ihre Identität ist A, und ihr Standort ist Ost. Wechselt sie nach West, bleibt sie dennoch Person A. Bei einer normalen IP-Adressierung kann diese Trennung nicht direkt abgebildet werden.
Befindet sich ein Endgerät A in Ost, kann es dort beispielsweise die IP-Adresse 192.168.1.1 besitzen. Wechselt es nach West, erhält es dort etwa per DHCP eine Adresse aus dem dortigen IP-Subnetz, zum Beispiel 10.1.1.1. Dadurch ändern sich zugleich die Lokation und die Identität, die aus der IP-Adresse abgeleitet wird. Nach dem Artikel gehen dabei die Identität verloren und alle IP-Verbindungen verfallen.
LISP verwendet deshalb eine EID für die Identität und einen RLOC für die Lokation. Eine EID kann eine Host-IP-Adresse oder ein ganzes IP-Subnetz sein. Ein RLOC ist normalerweise die IP-Adresse des Interfaces eines LISP-aktivierten Routers, über das dieser beispielsweise aus dem Internet oder aus einem MPLS-Netzwerk erreichbar ist.
Damit ein Gerät oder Subnetz gefunden werden kann, muss ein Mapping-System die EID mit dem passenden RLOC verbinden. Die Pakete zwischen zwei LISP-Lokationen werden in einen speziellen LISP-UDP-Header eingepackt. Die Trennung ermöglicht außerdem den Transport von IPv6-Hostpaketen in IPv4-Headern und umgekehrt. So können IPv6-Inseln oder ganze IPv6-Sites über IPv4-Netze verbunden werden. Auch Nicht-IP-Pakete, etwa Geo-Koordinaten, MAC-Adressen oder RFID-Daten, lassen sich über LISP übertragen.
Wichtige Komponenten
Die wichtigsten LISP-Begriffe sind:
-
Routing Locator (RLOC): Eine IPv4- oder IPv6-Adresse eines Egress-Tunnel-Routers (ETR). Sie bezeichnet das ausgehende Interface, das sich aus der Auflösung des EID-to-RLOC-Mappings ergibt.
-
Endpoint ID (EID): Eine IPv4- oder IPv6-Adresse in den Quell- und Zieladressfeldern des inneren, ersten Headers eines LISP-Pakets. Normalerweise ist sie das IP-Netzwerk der Endgeräte an einer Lokation.
-
Egress Tunnel Router (ETR): Ein Router, der IP-Pakete annimmt, deren Ziel-IP-Adresse im äußeren Header sein eigener RLOC ist. Er entfernt die LISP-Kapselung und wandelt LISP-Pakete in native IP-Pakete um. Ein ETR kann auch ein anderes Gerät als ein Router sein, beispielsweise ein mobiles Endgerät.
-
Ingress Tunnel Router (ITR): Er empfängt IP-Pakete von einem Sender innerhalb des EID-Netzes und packt sie in LISP-Pakete ein. Im äußeren Header trägt er als Ziel den RLOC des gegenüberliegenden ETR ein.
-
Proxy ETR (PETR): Er vermittelt zwischen LISP- und Nicht-LISP-Lokationen. Auf der LISP-Seite arbeitet er wie ein ETR, auf der Nicht-LISP-Seite wie ein nativer IP-Router.
-
Proxy ITR (PITR): Er vermittelt ebenfalls zwischen Nicht-LISP- und LISP-Lokationen. Im LISP-Netz verhält er sich wie ein ITR, auf der Nicht-LISP-Seite wie ein nativer IP-Router. Außerdem muss er die LISP-Netze im Nicht-LISP-Netzwerk bekanntgeben.
-
xTR: Ein xTR vereint die Funktionen von ITR und ETR in einer Komponente. Er wird auch Tunnel- oder Kapselungsendpunkt genannt.
Das Mapping-System
Das Mapping-System ist ein zentraler Bestandteil von LISP. Es verbindet EIDs mit RLOCs, ohne dass dieser Vorgang im Internet oder im Transportnetzwerk sichtbar ist. Die Zuordnungen liegen in einer verteilten Datenbank. ITR-Geräte richten Anfragen an dieses System, um den RLOC zur Ziel-EID zu erfahren. Ein ETR muss sich am Mapping-System anmelden und dort seinen Status eintragen.
Dabei werden insbesondere zwei Komponenten unterschieden:
-
MAP-Server (MS): Er erhält Informationen von ETR-Geräten und speichert die Zuordnung von EID zu RLOC. Auf Grundlage seiner Datenbank ist er außerdem dafür zuständig, Anfragen eines ITR an den ETR weiterzuleiten.
-
MAP-Resolver (MR): Er nimmt Anfragen von ITR-Geräten zur Auflösung der Ziel-Lokation entgegen und leitet sie an den MAP-Server weiter.
Das Mapping-System ähnelt damit DNS: Eine Anfrage nach einer EID liefert die für die Weiterleitung benötigte Lokationsinformation, ohne dass die Identität selbst an den aktuellen topologischen Standort gebunden werden muss.
Vorteile und Nutzungsmöglichkeiten
Durch die Trennung von Lokation und Identität soll LISP Routing und Adressverwaltung besser miteinander vereinbaren. Im Artikel werden folgende Vorteile genannt:
- stark verbesserte Skalierung in großen Routing-Umgebungen,
- BGP-freies Multihoming in „Active-Active“-Umgebungen,
- Transport zwischen den Adressfamilien IPv4 über IPv4, IPv4 über IPv6, IPv6 über IPv6 und IPv6 über IPv4,
- eingehendes Verkehrsmanagement und Lastverteilung,
- Unterstützung von Mobilität,
- einfache Konfiguration und Verteilung bei gleichzeitiger Koexistenz mit anderen IP-Technologien,
- keine notwendigen Änderungen an den Endgeräten,
- VPN-Unterstützung, beispielsweise VPN-Tunnel über MPLS-Netzwerke,
- Netzwerk-Virtualisierung,
- kundenbetriebene und verschlüsselte VPN-Umgebungen auf Basis von LISP/GETVPN zur Lösung von IPsec-Skalierungsproblemen,
- hochverfügbare und nahtlose Kommunikation durch aktives Multihoming und die Signalisierung einer Änderung im Datenpaket.
Als Nutzungsmöglichkeiten nennt der Artikel VPNs mit sehr großer Skalierung, die Migration von IPv4 zu IPv6, die Mobilität von virtuellen Maschinen oder Hosts, lokationsbasierte eingehende Lastverteilung des IP-Verkehrs sowie LISP Mobile Node für mobile Endgeräte.
Historie, Normung und Software
Im Oktober 2006 fand in Amsterdam ein Routing- und Addressierungs-Seminar des Internet Architecture Board statt. Dort wurde deutlich, dass Internet-Routing und Internet-Adressierung angesichts des explosionsartigen Wachstums neuer Websites nicht gut skalierten. Als Problem wurden unter anderem Websites mit mehreren Adressen (Multihoming) und Websites genannt, die nicht als Teil topologiebasierter oder anbieterbasierter aggregierter Präfixe angesprochen werden konnten. Ziel war, Entwürfe für hochskalierbare Routing-Tabellen und Adressierungen zu unterstützen. Ein grundlegendes Problem war die Überflutung der über BGP gelernten aktuellen IPv4-Routing-Tabelle. Viele Lösungsvorschläge beruhten auf der Aufteilung von Lokation und Identität, dem „Loc/ID split“.
Die Architektur wurde bei der IETF unter dem Titel LISP normiert. Genannt werden RFC 6830 „The Locator/ID Separation Protocol (LISP)“, RFC 6831 für Multicast-Umgebungen, RFC 6832 zur Zusammenarbeit zwischen LISP- und Nicht-LISP-Sites, RFC 6833 zur MAP-Server-Schnittstelle, RFC 6834 zur Map-Versionierung, RFC 6835 zum LISP Internet Groper (LIG) und RFC 6836 zu LISP+ALT, der „Alternative Logical Topology“. Außerdem führt der Artikel aktive Draft RFCs zu Architektur, Delegated Database Tree, Deployment, EID Block, Einführung, LCAF, MIB, LISP-Security und Threats Analysis auf.
Verfügbare Implementierungen sind Cisco IOS und NX-OS mit LISP-Unterstützung, der FreeBSD-Stack OpenLISP der Université catholique de Louvain und T-Labs/Technischen Universität Berlin, LISPmob für Linux und OpenWrt sowie FRITZ!OS ab Version 06.00 für Fritz!Box-Router. LISPmob wird als Open-Source-Implementierung für LISP Mobile Node beschrieben und kann als xTR oder LISP-Mobile-Node eingesetzt werden.