Realisierung des Content-Centric Networking-Ansatzes in der Netlet-based Node Architecture

  • Beschreibung

    Neben evolutionären Ansätzen, die darauf abzielen, das existierende Internet schrittweise zu verbessern, gibt es auch eine Vielzahl interessanter radikaler Ansätze, die komplett neue Kommunikationsparadigmen definieren. Ein vielversprechender Ansatz ist Content-Centric Networking (CCN): Hier werden nicht mehr die Rechner, die den Inhalt bereitstellen, adressiert, sondern der Inhalt selbst. Ein größeres Projekt, das einen solchen Ansatz verfolgt, ist das CCN Projekt des PARC (www.ccnx.org). Treibende Kraft dahinter ist u.a. Van Jacobson, einer der Väter von TCP. Die CCN Architektur behandelt Daten (content) als hauptsächlichstes Architekturelement und trennt deren Speicherort von deren Identität und Integrität.

    Aufgabenstellung

    Die Netlet-based Node Architecture (NENA) ermöglicht es, verschiedene Netzwerkarchitekturen gleichzeitig zu betreiben. Dabei werden Netzwerkprotokolle in sogenannten Netlets gekapselt. An Anwendungen wird eine vereinfachte Schnittstelle für die Kommunikation über das Netzwerk bereitgestellt, die keinerlei netzwerkspezifisches Wissen voraussetzt. NENA wählt für eine bestimmte Kommunikationsaufgabe, transparent für die Anwendung, automatisch das passende Netlet aus. Da Netlets transparent geändert, hinzugefügt oder entfernt werden können, ermöglicht NENA das einfache Ausbringen neuer Netzwerkarchitekturen und fördert damit Innovationen im Internet.

    Für die vorhandene NENA-Prototypimplementierung wurde bisher nur eine einfache Netzwerkarchitektur implementiert, die der herkömmlichen IP-Protokollfamilie ähnelt. Um zu zeigen, dass NENA auch neuartige Netzwerkarchitekturen unterstützt, wurde in dieser Arbeit die "Content- Centric Networking"-Netzwerkarchitektur für NENA implementiert.

    Arbeitsumgebung

    Klimatisierter Rechner-Pool, GLUCK-System (Kaffee und andere Getränke), zahlreiche Testbett-Rechner

    Voraussetzung

    Grundlegende Programmierkenntnisse, Kenntnisse in C/C++ hilfreich