Zum Hauptinhalt Zur Navigation Zur Suche

Named Data Networking: NDN soll das Internet revolutionieren

IPv6 wird für die steigenden Anforderungen an das Netz kaum ausreichen. Named Data Networking schlägt deshalb einen fundamental anderen Ansatz als Lösung vor. Wir erklären, was es von dem heutigen IP-Netz unterscheidet.
/ Wilhelm Nüßer
89 Kommentare Auf Google folgen (öffnet im neuen Fenster)
Das Internet kann auch völlig anderes funktionieren, als es jetzt der Fall ist. (Bild: Norlando Pobre, Flickr.com)
Das Internet kann auch völlig anderes funktionieren, als es jetzt der Fall ist. Bild: Norlando Pobre, Flickr.com / CC-BY 2.0

Der Übergang von IPv4 auf IPv6 ist noch in vollem Gange, da wird schon intensiv an den Konzepten und Techniken gearbeitet, die das Internet auf Dauer leistungsfähig halten sollen. Diese Überlegungen werden nicht nur in Forschungseinrichtungen und großen Konzernen wie Google angestellt, sondern auch von staatlichen Stellen organisiert.

So hat die EU zum Beispiel das Future Internet Projekt(öffnet im neuen Fenster) organisiert. Die US-amerikanische National Science Foundation verfolgt mit dem Future Internet Architecture Project(öffnet im neuen Fenster) ähnliche Ansätze. Zu den anfangs vier, nun fünf Projekten unter dem Dach des FIA zählt auch das Projekt "Named Data Networking" (NDN(öffnet im neuen Fenster)), dessen Grundzüge in diesem Artikel erklärt werden sollen.

In diesem Projekt arbeiten so renommierte Forscher wie Van Jacobson, der maßgeblich an der Entwicklung von TCP/IP beteiligt gewesen ist, an einer Ablösung von IP als zentrale Stelle (small waist) im Netzwerk-Stack, durch die jeder Datenaustausch hindurch muss. Der Grund für die angestrebte Ablösung ist dabei nicht eine grundsätzliche Fehlerhaftigkeit der IP-Familie. Vielmehr argumentieren die NDN-Forscher, dass IP eine gute Lösung ist – jedoch nicht für die Probleme und Anforderungen des modernen Internets.

Die Schwächen von IP

Auch wenn IPv6 mit seinem deutlich erweiterten Adressraum und einer Vielzahl von kleineren und größeren Optimierungen in verwandten Protokollen sicherlich ein wichtiger Schritt hin zu einem Netz der Zukunft ist, folgt es doch im Kern den Konzepten, die IPv4 schon in den 70er Jahren entwickelte. Kommunikationsendpunkte, wie Embedded Systems, Smartphones und Server erhalten IP-Adressen. Die Kommunikation selbst geschieht dann durch Versenden von Paketen, die mit Anfangs- und End-Adresse markiert sind und die Nutzdaten enthalten.

Anfragen richten sich damit an Endgeräte (Hosts), also die Orte, wo die Daten gelagert sind, und nicht an die Daten selbst. So führt die Anfrage nach der Ressource http://www.golem.de/doku.pdf auf der Netzwerk-Ebene zu einem Paket, das – nach einer DNS-Abfrage – an die IP-Adresse des zugehörigen Hosts gerichtet ist. IP basiert also auf der Nutzung von Orts-Identifikationen, nicht auf der direkten Adressierung von Daten oder Dokumenten. Leser, die sich hier an die Unterscheidung von URL und URI erinnert fühlen, können ihrer Erinnerung trauen.

Wenn wir dies etwas abstrakter ausdrücken, dann bedeutet es, dass IP von einem Netzwerk ausgeht, das die – meist länger andauernde – Kommunikation zwischen zwei Partnern ermöglichen soll (Communication Network). Überwiegend wird das Internet heute jedoch anders verwendet: Statt einer längeren Unterredung mit einem festen Partner (Point-To-Point) wird nur die Bereitstellung gewisser Daten, etwa Webseiten, Video-Streams etc. gewünscht.

Das Internet ähnelt damit mehr einem Distribution Network, das eine Verallgemeinerung einesCommunication Networks ist. In einem Distribution Network herrschen Point-To-Multipoint-Anfragen und sehr variable Zeitdauern des Datenaustauschs vor. Bekannte Beispiele sind Video-Portale, das Torrent-Netzwerk oder Content Delivery Networks. Die Bedeutung dieser Systeme wird von den NDN-Forschern gerne auch als Beleg für die korrekte Einstufung des Internets als Distribution Network gesehen.

Daten werden zum Mittelpunkt des Netzwerks

In einem Distribution Network stehen damit die Daten im Vordergrund und nicht mehr der Bereitsteller der Daten: Letztlich ist es dem Anfrager gleichgültig, von welchem Server er seine gewünschten Daten erhält. Dadurch, dass IP allerdings dem Kommunikations-Paradigma folgt und damit eine Lösung für eine letztlich andere Aufgabe ist, entstehen unter anderem die folgenden Probleme.

Wenn nur die Kommunikationsendpunkte bekannt sind und nicht die Daten selbst, können zum Beispiel gleiche Inhalte nicht erkannt werden. Damit können kein effizientes Caching und andere Optimierungen, wie das Aufspalten von Datenströmen auf mehrere Kanäle, geschehen. Punktuelle Studien haben beispielsweise gezeigt, dass in vielen Routern die gleichen Daten mehrere tausend Mal in unterschiedlichen IP-Paketen gecacht wurden. Der aktuelle IP-basierte Ansatz erhöht damit signifikant die Last auf den Routern und dem Netz.

Da die Daten im bisherigen Modell keine Identität haben, kann eine Absicherung der Datenübertragung auch nur auf der Ebene der Übertragungskanäle erfolgen. So kann zwar die Übertragung einer Mail vom Mail-Server zum Beispiel durch TLS gesichert werden, doch ist die Erkennung von SPAM damit nicht möglich. Die Vertrauensbeziehung gilt damit dem Lieferanten der Daten, nicht den Daten selbst.

Nutzer müssen schließlich selbst den Ort der gewünschten Daten kennen, obwohl sie eigentlich nur an den Daten interessiert sind. Viele Nutzer verwenden deshalb Suchmaschinen, um nicht mit Adressen, wie URLs, arbeiten zu müssen. Dies ist aus Sicht der NDN-Entwickler eine Anpassung der Nutzer an eine Schwäche der Architektur.

Was Named Data Networking verbessern soll

NDN tritt nun an, diese Probleme des aktuellen IP-Ansatzes zu beheben, indem die Daten als vollgültige Bestandteile des Netzwerks angesehen werden. Die Daten erhalten einen eindeutigen Namen. Der Fokus liegt auf diesem Namen und nicht mehr auf dem Ort der Daten. Ein Nutzer könnte dann eine Anfrage folgender Form stellen: REQ /golem/artikel/1234567890/1/3, in der die dritte Version des ersten Teils des Artikels mit der Nummer 1234567890 von Golem.de angefordert wird. Dem Nutzer ist es dabei gleichgültig, wer die Daten liefert, solange die Daten-Integrität sichergestellt ist.

Um diese Funktion zu ermöglichen, definiert NDN eine Architektur(öffnet im neuen Fenster), die primär aus zwei Paket-Typen und einer neuartigen Forwarding-Struktur besteht. Anfragen nach bestimmten Daten werden durch ein Interest-Paket implementiert, das neben anderen Informationen vor allem den Namen der gesuchten Daten beinhaltet. Dieses Interest-Paket wird vom Anfrager an einen NDN-Router gesendet, der den NDN-Forwarding-Algorithmus implementiert, der später beschrieben wird. Wenn letztlich die passenden Daten gefunden wurden, wird einData-Paket den gleichen Weg zurückgesendet, das neben dem Namen und den gewünschten Daten auch eine Signatur des Daten-Herstellers beinhaltet.

Wie Name-Data geroutet werden kann

Zentral für diesen Ablauf ist offensichtlich das Geschehen im NDN-Router, auch NDN Forwarding Daemon (NFD) genannt. Die wesentlichen Abläufe beim Empfang einer Datenanfrage (Interest) in einem NDN-Router sowie der Rückweg der Daten über diesen NDN-Router sind in der Bildergalerie dargestellt.

Beim Hinweg wird zunächst in einer lokalen Tabelle, dem Context Store (CS), geschaut, ob die gewünschten Daten vorhanden sind. Falls ja, kann der NDN-Router die Daten sofort und integritätsgesichert liefern. Wenn die Daten nicht lokal vorhanden sind, schaut der NDN-Router in der Pending Interest Table (PIT), ob er eine Anfrage nach diesen Daten bereits weitergeleitet hat. Wenn ja, merkt sich der NDN-Router nur die neuen Eingangs- und Ausgangs-Netzwerk-Schnittstellen. Auf diese Weise wird das Forwarding zustandsbehaftet.

Wenn der NDN-Router die Anfrage noch nicht weitergeleitet hat, wird ebenfalls ein Eintrag in der PIT erstellt, aber zudem die Anfrage an die eigentliche Forwarding-Logik weitergeleitet. Mittels der Forwarding Information Base (FIB) und einem Logik-Modul, der Forwarding Strategy, kann der NDN-Router nun entscheiden, ob und wie die Anfrage weitergeleitet wird. Dazu nutzt das Modul einen longest-prefix Match über die Namen der Daten, der dem bekannten Algorithmus von IP ähnelt. Eine gute Belegung der FIB muss dabei durch Routing-Protokolle sichergestellt werden, die ebenfalls den bekannten Protokollen der IP-Protokoll-Suite nahestehen. So macht etwa ein NDN-Router die Namens-Präfixe bekannt, die er bedient.

Beim Rückweg der Daten wird der Eintrag in der PIT genutzt, um die passenden Ausgangs-Schnittstellen zu finden. Die Daten werden entsprechend weitergeleitet und im CS gecacht. Die PIT wird ebenfalls aktualisiert. Wenn für eingehende Daten kein Eintrag in der PIT vorliegt, hat der Router diese Daten nicht angefragt, kann damit auch keine weitere Aktion durchführen und verwirft folglich die eingehenden Daten.

Bisherige Tests des Projekts zeigen, dass dieser Ansatz durchaus funktioniert und bislang skaliert. Einige Anwendungen sind bereits entwickelt(öffnet im neuen Fenster) und im Testbetrieb, so dass die grundsätzliche Machbarkeit erwiesen scheint.

Vor- und Nachteile von NDN

NDN tritt an, die aktuellen Probleme des Internets besser zu beheben, als IP es tut. Der gerade beschriebene Ablauf zeigt, dass NDN in der Tat einige wesentliche Vorteile bieten kann. Da nun Daten identifiziert werden können, ist ein besseres Caching möglich. Jeder NDN-Router kann als effizienter Cache dienen, der anders als bei der heutigen IP-Infrastruktur Daten nicht redundant halten muss.

Da es NDN zudem um die Daten geht, kann auch jeder an einer Datenübertragung teilnehmen, der Bits auf ein Netzwerk geben kann. Damit sind mobile Teilnehmer wie Autos gleichberechtigte Partner im Netz(öffnet im neuen Fenster). Auch andere Protokolle als IP sind auf diese Weise möglich.

NDN ermöglicht eine einfachere Implementierung allgemeinerer Formen des Datenaustauschs. So sind Broadcasts und kleine, schnelle Datenübertragungen leicht zu bewerkstelligen. Da Nutzer nun sagen, was und speziell welche Daten sie eigentlich wollen, hat die Netzwerk-Infrastruktur mehr Informationen, um diese Anfrage gut zu beantworten. Einfache, Daten-orientierte QoS-Anforderungen wie "Gib mir diese Daten zuerst" sind möglich.

Schließlich erlaubt NDN die Sicherung der Daten selbst und muss sich nicht mehr um letztlich periphere Konzepte wie Kommunikationskanäle kümmern. Eine Sicherheit der Daten ist damit auf fundamentaler Ebene möglich.

Große Herausforderungen für NDN

Auf der anderen Seite steht NDN vor einigen Herausforderungen sowohl technischer als auch konzeptioneller Natur. Zunächst muss das Namenssystem sorgfältig definiert und skalierbar implementiert werden. Ein unbegrenzter und damit dynamischer Namensraum stellt erhebliche Anforderungen zum Beispiel an Such-Algorithmen, die auch für die Forwarding-Abläufe von Bedeutung sind. Doch selbst wenn der Name der gewünschten Daten dem Nutzer bekannt ist, muss die Routing-Infrastruktur weiterhin mit einem komplexeren Konstrukt Namearbeiten, als es IP-basierte Protokolle tun müssen. Wie sind in einem solchen Fall Flusskontrolle und eine globale Congestion Control zu erreichen?

Aber auch die Sicherheit der Daten ist nicht per se gegeben. Neben vergleichsweise einfachen Fragen nach guten Algorithmen für Signatur und Ähnliches stellt sich auch die Frage, wie mit bösartigen Daten umgegangen werden soll. Wer ist zum Beispiel haftbar, wenn ein NDN-Router einen Virus weiterverbreitet? Der NDN-Betreiber? Wie können Vertrauensbeziehungen in einem NDN-Modell aussehen? Wie kann überhaupt erkannt werden, wer die Daten verwendet, wenn doch auch die Anfrager nicht explizit bekannt sind?

Schließlich ändert NDN auch die Programmierung von Anwendungen, da es keine Transport-Protokolle wie TCP braucht. Das De-Multiplexing von Datenströmen wird über den Namen geregelt und verlagert sich damit in die Anwendung, die dann auch andere Forderungen, wie Zuverlässigkeit, umsetzen kann oder muss. Auch wenn dies zu einer Verkürzung des Netzwerk-Stacks im Betriebssystem führen kann und damit eine Performance-Steigerung erlauben mag, erfordert es doch zumindest neue Bibliotheken, um komplexe Anforderungen wie Zuverlässigkeit nicht jedes Mal neu implementieren zu müssen. Ein solch merklicher Wechsel im Programmiermodell diffundiert meist langsam in die Entwickler-Community.

Fazit

Mit dem Named Data Networking wird ein Ansatz systematisiert und in ersten Systemen implementiert, der seit ungefähr zehn Jahren diskutiert wird. Der Wechsel von der Betonung der Orte der Datenlieferanten zur Betonung der Daten selbst erscheint sicherlich nicht als konzeptionell besonders komplex. Doch haben ähnliche Änderungen der Sichtweise in der Geschichte der Informatik und speziell der Netzwerke und verteilten Systeme immer wieder für Furore gesorgt. Der Übergang vom Telefon-System zum IP-basierten Internet war ein Beispiel, der Wechsel von RPC-basierten Systemen wie NFS zu großen Systemen, wie Google sie einsetzt, ein anderes.

NDN erscheint damit durchaus vielversprechend, um die aktuellen Nutzungsszenarien des Internets auf technischer Ebene besser umsetzen zu können. Es bleiben allerdings einige offene Fragen. Wird NDN hinreichend skalieren, um einer immer größer werdenden Menge von Daten gerecht zu werden? Welche Auswirkungen wird NDN auf die Netzneutralität haben, wenn nun das Netz nicht mehr agnostisch dem Inhalt der Übertragung gegenübersteht? Der Schritt von "Gib mir bitte diese Daten zuerst" bis hin zu "Leite dies nicht weiter" erscheint nicht sehr groß. Wie lange wird es dauern, bis wirklich neue NDN-konforme Anwendungen in ausreichender Anzahl vorliegen und was wird mit den alten Anwendungen geschehen? Alle Erfahrungen zeigen, dass selbst bei einem Erfolg von NDN eine lange Koexistenz mit älteren Technologien zu erwarten ist.

Die Ansätze dieser oder anderer Formen eines Daten- oder Content-orientierten Netzes sind aber sicherlich sehr spannend und vielleicht entscheidend für die weitere Evolution des Internets. Es lohnt sich jetzt schon, diese Entwicklungen genau im Blick zu behalten.

Wilhelm Nüßer ist Professor für Informatik an der FHDW Paderborn. Er lehrt dort u.a. Netzwerke und verteilte Systeme und leitet zahlreiche Forschungsprojekte.


Relevante Themen