OpenNap

OpenNap

OpenNap ist ein freier Napster-Klon und ermöglicht den Austausch von Dateien zwischen verschiedenen Benutzern im Internet. OpenNap bietet die gleiche Grundfunktionalität wie damalige Napster-Server, dazu gehört die Suche nach Dateien, Hoch- und Herunterladen von Dateien, Durchstöbern von Dateien eines anderen Benutzers und eine Chat-Funktion sowohl zwischen zwei einzelnen Benutzern als auch auf Basis von öffentlichen Räumen. Zudem ist es möglich mehrere Server miteinander zu verbinden, um mehr Clients miteinander zu verlinken.

OpenNap ist ein Kommandozeilenprogramm ohne graphische Benutzeroberfläche und lässt sich auf vielen POSIX-konformen Systemen einsetzen (z. B. Linux, Unix oder BSD). Auch Windows wird unterstützt. Weil es sich um freie Software handelt, kann jeder einen Server aufsetzen. Seit Ende 2001 wird OpenNap allerdings nicht mehr entwickelt (s. Geschichte).

Neben den Grundfunktionen von Napster wurden auch neue hinzugefügt. So ist es zum Beispiel möglich, nicht nur MP3-Dateien zu tauschen, sondern beliebige Dateitypen. Die Chatfunktionalität wurde derart erweitert, dass es für Chat-Räume (ähnlich wie bei IRC) Benutzer mit besonderen Rechten gibt.

Trotz des in die Jahre gekommenen Konzepts erfreuen sich OpenNap und seine Abkömmlinge noch sehr großer Beliebtheit. Eine Liste von aktiven Servern konnte lange Zeit bei Napigator abgerufen werden. Seit Ende April 2004 existiert dieser Service aber nicht mehr, weswegen zwei neue (von Privatpersonen betriebene) entstanden sind, gotnap.com und naplist.com was zwischenzeitlich wieder abgeschaltet wurde.

Inhaltsverzeichnis

Geschichte

Das Projekt OpenNap wurde im Januar 2000 bei Sourceforge von drscholl registriert. Das Napster-Protokoll wurde dabei durch Reverse Engineering ermittelt und veröffentlicht. Das ermöglichte, dass verschiedene Clients geschrieben werden konnten. Diese konnten auch am originalen Napster-Netz teilnehmen.

StreamCast Networks, Inc. unterhielt während des OpenNap-Booms einige professionelle Server mit dem Namen MusicCity, die bis zu 20000 Benutzer verwalten konnten. Im April 2001 wurden diese aber vom Netz genommen und kurze Zeit darauf der Peer-to-Peer-Client Morpheus gestartet, der einige Zeit sehr populär war und ursprünglich das FastTrack-Netz benutzte.

Nachdem drscholl Probleme mit der RIAA bekommen hatte und die Server, die er für Testzwecke benutzt hatte, geschlossen wurden, resignierte er Ende 2001 und stellte die Entwicklung von OpenNap ein.

Die wichtigsten Clients (neben dem offiziellen Client) waren für Windows FileNavigator, AudioGnome und WinMX, für Linux TekNap, GNapster und Lopster, und auf Basis von Java XNap. Die meisten davon werden schon längere Zeit nicht mehr entwickelt. Die einzigen Clients, die davon noch entwickelt werden, sind Lopster und XNap.

Technische Details

Nachfolgende Beschreibung gilt auch für das (nicht mehr existierende) originale Napster-Protokoll.

Netzwerktopologie

Das OpenNap Netzwerk besitzt eine klassische Sterntopologie. Es gibt einen zentralen Server, der alle Clients bedient. Eine Erweiterung davon ist, dass mehrere Server miteinander verbunden werden können, damit die Last auf verschiedene Rechner verteilt wird. Die Anfragen eines Clients werden dann zu den anderen Servern weitergeleitet und das Ergebnis zum Client zurückgeliefert.

Dateiaustausch

Freigegebene Dateien werden auf dem Server indiziert. Das bedeutet, dass ein Client nach dem Einloggen eine Liste dieser Dateien zum Server sendet. Unterstützt werden dabei beliebige Dateitypen. Startet ein Benutzer eine Suche, so wird diese dem Server übergeben, der daraufhin seine aktuelle Datenbank zu Rate zieht. Die Ergebnisse werden dem Client samt IP-Adresse des besitzenden Benutzers übermittelt. Soll das Herunterladen gestartet werden, wird ein Teil des Handshakes über den Server abgewickelt und erst wenn das Herunterladen vom Besitzer der Datei erlaubt wird, wird eine direkte Verbindung zwischen den beteiligten Parteien hergestellt.

Einer der großen Nachteile von OpenNap ist, dass es keine Prüfsummen oder Hash-Werte für Dateien gibt (obwohl das Protokoll MD5-Summen vorsieht, was auch implementiert ist, aber es kam praktisch nie zum Einsatz). Die Folge ist, dass bei Dateiübertragungen Fehler auftreten können, die unbemerkt bleiben.

Abgebrochenes Herunterladen kann fortgesetzt werden (resume). Dies bedeutet automatisch, dass das gleichzeitige Laden einer Datei von mehreren Quellen möglich ist. Einer der Clients, der dies implementiert, ist Lopster.

Protokoll

Die Kommunikation zwischen Server und Client setzt auf TCP/IP auf und wird über Befehle abgewickelt, die aus einem binären Kopf und einem ASCII-Rumpf bestehen. Der Kopf beinhaltet zwei vorzeichenlose, ganzzahlige 16-bit Werte im Little-Endian-Format. Der erste Wert spezifiziert die Länge des Rumpfes und der zweite die Art des Befehls.

Kopf Rumpf
Länge ID Argumente durch Leerzeichen getrennt
16-bit 16-bit ASCII Daten der Länge wie im Kopf definiert

Der Rumpf wird – abhängig von der Art des Befehls – als Anreihung von Argumenten, die durch Leerzeichen (0x32) getrennt werden, interpretiert. Argumente, die selbst ein Leerzeichen enthalten können (wie zum Beispiel Dateinamen) werden von Anführungsstrichen umschlossen.

Die Protokollspezifikation schränkt die Größe der freigegebenen Dateien nicht ein. Derzeit wird sie allerdings sowohl durch die Server- als auch Clientimplementierungen auf 32 bzw. 31 Bits (4 GiB bzw. 2 GiB) limitiert.

Eine relativ genaue Spezifikation des Protokolls findet man auf den Homepages der Serverimplementierungen.

Ähnliche Programme

OpenNap-NG

Seit 2001 sind ein paar Server entstanden, die als Grundlage die letzte Version von OpenNap benutzen. Der bekannteste davon ist OpenNap-NG. Die wichtigste Neuerung ist, dass die Kommunikation zwischen Server und Client komprimiert werden kann um Bandbreite zu sparen und so mehr Clients zu bedienen.

Allerdings soll laut der opennap-ng.org Webseite der Code des Sourceforge-Projekts auf einem drei Jahre altem Code basieren. Nach einem Disput trennte sich einer der Admins, um das Projekt unter eigenem Dach weiter zu führen, während das ursprüngliche Projekt seine Arbeit an altem Code weiter führt.

Beide Projekte konkurrieren um den Namen OpenNap-NG.

SlavaNap

SlavaNap ist ein Server für das Betriebssystem Windows mit einer grafischen Oberfläche. Er besitzt im Grunde dieselbe Funktionalität wie OpenNap. SlavaNap wurde bis zur Version 2.3.0 unter der GNU General Public License entwickelt, ist mittlerweile aber Closed Source. Trotzdem ist er heute der bei weitem meistgenutzte Server.

CleanNap

CleanNap ist eine plattform-unabhängige Implementierung im Alpha-Stadium, deren Entwicklung im Juni 2004 wieder aufgenommen wurde. Laut Homepage wurde sie im Juli 2004 wieder eingestellt.

Siehe auch

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Opennap — Original author(s) Drscholl Stable release 0.44 Beta / 2001 Platform UNIX, Linux, BSD/OS, Solaris, FreeBSD, Windows …   Wikipedia

  • OpenNAP — Napster est un protocole pour partager des dossiers entre les utilisateurs. Avec Napster, les dossiers restent sur la machine du client, ne passant jamais par le serveur. Le serveur fournit la capacité de rechercher les dossiers particuliers et… …   Wikipédia en Français

  • Opennap — Napster est un protocole pour partager des dossiers entre les utilisateurs. Avec Napster, les dossiers restent sur la machine du client, ne passant jamais par le serveur. Le serveur fournit la capacité de rechercher les dossiers particuliers et… …   Wikipédia en Français

  • OpenNap — es un programa que utiliza un protocolo gratuito similar al de Napster y con más funcionalidades. Esta bajo licencia GPL, y funciona bajo Unix, Linux, Windows NT y Windows 2000. Clientes OpenNAP: Lopster (GPL, para sistemas Unix, Gtk) Teknap… …   Wikipedia Español

  • OpenNap — est un logiciel libre de serveur pour service peer to peer. Ce logiciel prolonge le protocole Napster pour permettre le partage de n importe quel type de fichiers et pour permettre de lier des serveurs ensemble. Il existe encore de nombreux… …   Wikipédia en Français

  • OpenNap — es un programa que imita el servidor. OpenNAP usa un protocólo gratuito similar al de Napster y con más funcionalidades, estña bajo GPL, y funciona bajo Unix, Linux, Windows NT y Windows 2000. La página principal de OpenNAP es esta (Nota: Este… …   Enciclopedia Universal

  • OpenNap — File trading Network, bei der die Anwender ihre Dateien (Musik, Videos) in einem virtuellen Netz direkt austauschen, weshalb sich nur schwer verfolgen lässt, woher genau eine Datei abgerufen wird. OpenNap basiert auf Open Source und verwendet die …   Online-Wörterbuch Deutsch-Lexikon

  • WinMX — Infobox Software name = WinMX caption = developer = Frontcode Technologies latest release version = 3.53 latest release date = July 2, 2004 latest preview version = 3.54 Beta 4 latest preview date = operating system = Microsoft Windows platform …   Wikipedia

  • File-Sharing — Mit Filesharing (deutsch Dateifreigabe oder gemeinsamer Dateizugriff, wörtlich Dateien teilen) bezeichnet man das direkte Weitergeben von Dateien zwischen Benutzern des Internets unter Verwendung eines Peer to Peer Netzwerks. Dabei befinden sich… …   Deutsch Wikipedia

  • FileSharing — Mit Filesharing (deutsch Dateifreigabe oder gemeinsamer Dateizugriff, wörtlich Dateien teilen) bezeichnet man das direkte Weitergeben von Dateien zwischen Benutzern des Internets unter Verwendung eines Peer to Peer Netzwerks. Dabei befinden sich… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”