# Locator/Identifier Separation Protocol

| Beteilige dich an der Diskussion! | Dieser Artikel wurde wegen inhaltlicher Mängel auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf mit, die inhaltlichen Mängel dieses Artikels zu beseitigen, und beteilige dich an der Diskussion! (+) Begründung: Der Artikel ist für Laien sicher schwer verdaulich, Irrelevanz erschliesst sich allerdings auch nicht. Eine omataugliche Einleitung wäre sicher nützlich --Kgfleischmann (Diskussion) 12:16, 4. Feb. 2013 (CET) |
Das Locator/ID Separation Protocol (LISP) ist ein Protokoll der Vermittlungsschicht zu einer Routing-Architektur. Damit das Routing effizient verläuft, muss eine Adresse topologisch vergeben werden. Für ein einfaches und effektives Management von Geräteansammlungen dürfen deren Adressen explizit nicht topologiebezogen vergeben werden, damit bei topologischen Änderungen keine Neu- oder Umnummerierung erfolgen muss. Eine einzelne IP-Adresse enthält die Identität mit dem (topologischen) Standort, daher soll LISP diese gegensätzlich Anforderungen an das Routing und die Adressvergabe optimieren.

## Historie

Im Oktober 2006 fand in Amsterdam ein Routing und Addressierungs Seminar des Internet Architecture Board statt, bei dem ein Schlüsselerlebnis war, dass das Internet-Routing sowie auch das Adressierungssystem angesichts des explosionsartigen Wachstums neuer Websites nicht gut skalieren. Als Grund hierfür wurde die zunehmende Anzahl von Webseiten genannt, die mehrere Adressen benötigen (Multihomed) sowie auch Webseiten, die nicht als Teil von topologiebasierten oder anbieterbasierten aggregierten Präfixen angesprochen werden können.
Ziel sollte es sein, Designs zu unterstützen, die Anforderung an hochskalierbare Routing-Tabellen und Adressierungen im Internet zu optimieren. Ein grundlegendes Problem war die Überflutung der über BGP gelernten aktuellen IPv4-Routing-Tabelle. Die vielen vorher eingereichten Vorschläge zur Problemlösung basieren alle auf der Aufteilung von Lokation und Identität in der Nummerierung des Internets, auch als „Loc/ID split“ bezeichnet.

## Beispiel

Eine Person A befindet sich in einer Lokation Ost. Die Identität ist A und die Lokation Ost. Wenn diese Person A die Lokation wechselt, beispielsweise in die Lokation West, dann ist es allerdings immer noch die Person A.
Im Zuge von IP wechselt das Endgerät seine IP-Adresse, wie im Beispiel oben; Endgerät A hat die IP-Adresse 192.168.1.1 in der Lokation Ost. Wenn Endgerät A nun in die Lokation West wechselt, bekommt es zum Beispiel per DHCP dort eine Adresse aus dem IP-Subnetz der Lokation West zugewiesen, also zum Beispiel die 10.1.1.1 – somit hat sich die Lokation und die Identität geändert.
Die Folge daraus ist, dass 1. die Identität verloren geht und 2. alle IP-Verbindungen verfallen.
Durch die in LISP gegebene Separierung von „Endpoint Identifier“ (EID = Identität) und „Routing Locator“ (RLOC = Lokation) kann ein Endgerät seine Identität behalten. Um die Lokation eines Gerätes oder eines Subnetzes zu finden, braucht man eine Datenbank, die EID und RLOC miteinander verbindet, das sogenannte Mapping-System. Dieses Mapping-System ähnelt DNS.
Eine EID kann eine Host-IP-Adresse oder ein ganzes IP-Subnetz sein.
Ein RLOC ist in der Regel die IP-Adresse des Interfaces eines LISP-aktivierten Routers, über die er erreichbar ist, beispielsweise aus dem Internet oder aus einem MPLS-Netzwerk.
Durch die Trennung von Identität und Lokation lassen sich verschiedene Szenarien übertragen: Die einfachen sind zum Beispiel IPv6-Hostpakete in IPv4-Header einkapseln und umgekehrt. So können IPv6-Inseln oder ganze IPv6-Sites über IPv4-Netze verbunden werden, um die Migration zu erleichtern und zu beschleunigen. Alternativ lassen sich auch nicht-IP-Pakete über LISP übertragen. Dazu gehören unter anderem Geo-Koordinaten, MAC-Adresse, RFID.
Pakete zwischen zwei LISP-Lokationen werden in einen speziellen LISP-UDP-Header eingepackt.

## Aktuelle Internet-Protokoll-Architektur

Die aktuelle Namensgebung, die vom Internet Protocol genutzt wird, heißt IP-Adresse, welche zwei separate Funktionen hat:
* Als Endpunkt-ID, um eindeutig ein Netzwerkinterface innerhalb eines lokalen Netzes zu identifizieren
* Als Locator für den Routing-Prozess. Dieser soll die Möglichkeit geben, einen Endpunkt im Netzwerk zu finden, auch in großen Routing-Umgebungen

## Vorteile von LISP

Folgende Vorteile ergeben sich aus der Separierung von Lokation und Identität und damit für LISP:
* Stark verbesserte Skalierung in großen Routing-Umgebungen
* BGP-freies Multihoming in „Active-Active“-Umgebungen
* Adressfamilien-Transport: IPv4 über IPv4, IPv4 über IPv6, IPv6 über IPv6, IPv6 über IPv4
* Eingehendes Verkehrsmanagement und Lastverteilung
* Mobilität
* Einfach zu konfigurieren und zu verteilen (inklusive Koexistenz zu allen anderen IP-Technologien)
* Keine Änderungen an den Endgeräten notwendig
* VPN-Unterstützung, beispielsweise VPN als Tunnel über MPLS-Netzwerke
* Netzwerk-Virtualisierung
* Kundenbetriebene und verschlüsselte VPN-Umgebung basiert auf LISP/GETVPN lösen IPsec-Skalierungsprobleme
* Hochverfügbare und nahtlose Kommunikation werden mit aktivem Multihoming adressiert und eine Änderung im Datenpaket signalisiert.

## Begriffsdefinition

* Routing Locator (RLOC): Ein RLOC ist eine IPv4- oder IPv6-Adresse von einem Egress-Tunnel-Router (ETR). Ein RLOC ist das ausgehende Interface basierenden auf der Auflösung des EID-to-RLOC-Mapping.
* Endpoint ID (EID): Eine EID ist eine IPv4-oder IPv6-Adresse, die in den Quell- und Ziel-Adressfeldern genutzt wird. Sie wird im Inneren (ersten Header) von einem LISP-Paket genutzt. Normalerweise ist es das IP-Netzwerk der Lokations-Endgeräte.
* Egress Tunnel Router (ETR): Ein ETR ist ein Router, der IP-Pakete annimmt, bei dem die Ziel-IP-Adresse im äußeren Header sein eigener RLOC ist. Er normalisiert LISP-Pakete zu nativen IP-Paketen. Ein ETR kann auch ein anderes Gerät als ein Router sein – zum Beispiel ein mobiles Endgerät.
* Ingress Tunnel Router (ITR): Ein ITR empfängt IP-Pakete von einem Sender innerhalb des EID-Netzes und packt diese in LISP-Pakete ein. Als Ziel im äußeren Header trägt er den auf der Gegenseite liegenden ETR RLOC ein.
* Proxy ETR (PETR): Ein PETR wird für die Kommunikation zwischen LISP- und Nicht-LISP-Lokationen benutzt. Auf der LISP-Seite arbeitet er wie ein ETR auf der Nicht-LISP-Seite wie ein nativer IP-Router.
* Proxy ITR (PITR): Ein PITR wird für die Kommunikation zwischen Nicht-LISP- und LISP-Lokationen benutzt. Er verhält sich im LISP-Netzwerk wie ein ITR und auf der Nicht-LISP-Seite wie ein nativer IP-Router und muss die LISP-Netze in das Nicht-LISP-Netzwerk bekanntgeben.
* xTR: Ein xTR ist die Bezeichnung von einer Komponente, auf der die Funktion ITR und ETR zugleich abgebildet wird. Er wird auch Tunnel- oder Kapselungsendpunkt genannt.

## Das LISP Mapping System

Ein Element im Locator/ID Separation Protocol ist das Mapping System. Dieses hat die Aufgabe EID und RLOC miteinander zu verbinden. Dieser Prozess ist im Internet oder Transportnetzwerk nicht sichtbar. Die Zuordnung ist in einer verteilten Datenbank organisiert, die auf Anfragen von ITR Geräten reagiert. Ein ETR muss sich am Mapping-System anmelden und seinen Status eintragen.
Folgende Begriffe werden im Mapping-System genutzt:
* MAP-Server (MS): Der MAP-Server wird durch Informationen der ETR-Geräten gefüllt und er speichert die Zuordnung von EID zu RLOC. Darüber hinaus ist er verantwortlich aufgrund seiner Datenbank den Anfragen eines ITR an den ETR weiterzuleiten.
* MAP-Resolver (MR): Der MAP-Resolver nimmt Anfragen von ITR-Geräten zur Auflösung der Ziel-Lokation entgegen und leitet diese an den MS weiter.

## Nutzungsmöglichkeiten

Mit LISP lassen sich viele bestehende Lösungen und Möglichkeiten unter einer Architektur zusammenfassen und darüber hinaus völlig neue Nutzungsmöglichkeiten im Netzwerk ableiten. Die hier in den folgenden beschrieben werden.
* VPN (Virtual Private Networks) mit sehr großer Skalierung
* Migration von IPv4 zu IPv6
* VM oder Host Mobilität
* Lokation basierende eingehende Last Verteilung des IP Verkehrs
* LISP Mobile Node – Unterstützung der LISP Funktion auf Mobilen Endgeräten

## Verfügbare Software

* Cisco hat IOS und NX-OS Software mit LISP-Support in offiziellen Releases.
* Entwicklungsteams von der Université catholique de Louvain und T-Labs/Technischen Universität Berlin haben einen FreeBSD-Stack geschrieben der sich OpenLISP nennt.
* LISPmob ist eine Open-Source-Implementierung für LISP Mobile Node und dessen Spezifikation für Linux und OpenWrt, welche durch Universitat Politècnica de Catalunya gepflegt wird. Sie kann als xTR oder LISP-Mobile-Node verwendet werden.
* AVM bietet LISP-Unterstützung für die Fritz!Box-Router ab FRITZ!OS 06.00

## Normung

In folgenden RFCs wurde diese Architektur bei der IETF unter dem Titel LISP (Locator/ID Separation Protocol) genormt:
* RFC 6830 – The Locator/ID Separation Protocol (LISP). (englisch).
* RFC 6831 – The Locator/ID Separation Protocol (LISP) for Multicast Environments. (englisch).
* RFC 6832 – Interworking between Locator/ID Separation Protocol (LISP) and Non-LISP Sites. (englisch).
* RFC 6833 – Locator/ID Separation Protocol (LISP) Map-Server Interface. (englisch).
* RFC 6834 – Locator/ID Separation Protocol (LISP) Map-Versioning. (englisch).
* RFC 6835 – The Locator/ID Separation Protocol Internet Groper (LIG). (englisch).
* RFC 6836 – Locator/ID Separation Protocol Alternative Logical Topology (LISP+ALT). (englisch).
Aktive Draft RFCs
| Draft | Beschreibung |
| draft-ietf-lisp-architecture-00 | An Architectural Perspective on the LISP Location-Identity Separation System |
| draft-ietf-lisp-ddt-00 | LISP Delegated Database Tree |
| draft-ietf-lisp-deployment-06 | LISP Network Element Deployment Considerations |
| draft-ietf-lisp-eid-block-03 | LISP EID Block |
| draft-ietf-lisp-introduction-00 | An Introduction to the LISP Location-Identity Separation System |
| draft-ietf-lisp-lcaf-01 | LISP Canonical Address Format (LCAF) |
| draft-ietf-lisp-mib-08 | LISP MIB |
| draft-ietf-lisp-sec-04 | LISP-Security (LISP-SEC) |
| draft-ietf-lisp-threats-03 | LISP Threats Analysis |