eDonkey2000 (abgekürzt auch ed2k) ist der Name eines bekannten Filesharing-Netzwerks im Internet. Mit fast jedem Betriebssystem und entsprechender Software können Internet-Nutzer dieses Netzwerk nutzen.
eDonkey2000 - Overnet | |
---|---|
Basisdaten
| |
Entwickler | MetaMachine |
Aktuelle Version | 1.4 (25. Juli 2005) |
Betriebssystem | Windows, Linux, Mac OS X, Solaris, AIX |
Kategorie | Peer-to-Peer |
Lizenz | Proprietär |
deutschsprachig | nein |
eDonkey2000 |
Bei ed2k kommen sowohl das Peer-to-Peer-Prinzip, als auch das Client-Server-Prinzip zum Einsatz. Die Software, die vom Benutzer zur Teilnahme am Netzwerk installiert wird, nennt man dennoch Client.
Geschichte
Ursprünglich konnten Internet-User das Filesharing-Netz nur mit der Software eDonkey2000 von MetaMachine nutzen. Die zunächst bestehende Trennung zwischen Overnet und eDonkey wurde aufgehoben. 2002 entstand aus Unzufriedenheit mit dem ursprünglichen eDonkey2000-Client das eMule-Projekt, um einen alternativen Client auf Open Source-Basis zu schaffen. Im Oktober 2004 überholte eDonkey als Netzwerk in seiner Beliebtheit das KaZaA-Netzwerk (heise news). Am 14. Mai 2005 wurde die 4-Millionen-Nutzer-Grenze überschritten. (slyck news). Nachdem den Entwicklern von Seiten der RIAA mit juristischen Mitteln gedroht worden war, stellten diese die Weiterentwicklung wegen fehlenden Geldes für juristische Gegenmaßnahmen ein.
ed2k-Links
Mit Hilfe der Links kann ein Server in die Server-Liste oder eine Datei in die Download-Liste des Clients aufgenommen werden. Folgende Links zeigen beispielhaft deren Aufbau:
- Datei: ed2k://|file|datei.txt|123|1234567890abcdef1234567890abcdef|
- Server: ed2k://|server|195.245.244.243|4661|
Linkbestandteile
- ed2k://|file Identifiziert den Link als Protokoll ed2k und als Datei.
- datei.txt Gibt dem Client den Namen der Datei an. Austauschbar.
- 123 Gibt Größe der Datei in Byte an.
- 1234567890abcdef1234567890abcdef Gibt den Hash-Wert an, um die Datei zu identifizieren. Bei Dateien die größer als ein sogenannter "Chunk" sind, ist es der übergreifende MD4-Hash aus allen aneinandergehängten MD4-Einzelhashes, welche aus je einem "Chunk" zu ungefähr 9,28 MiB (exakt 9500 KiB bzw. 9728000 Bytes) Daten errechnet werden. Bei Dateien die nur einen Chunk groß (oder kleiner) sind, ist es direkt der MD4-Hash dieses Chunks. Das UNIX/Linux-Programm "md4sum" kann übrigens den ed2k-Link zu einer vollständig vorhandenen Datei ausgeben, hierzu dient der Parameter "-e".
ed2k-Benutzer können diesen ed2k-Link an andere ed2k-Benutzer weitergeben, der Link zeigt immer auf die selbe Datei (wobei der Dateiname keine Rolle spielt, es sind lediglich Größe und Hash-Wert entscheidend). Daher sind zu ein und derselben Datei auch oftmals mehrere Dateinamen im Umlauf, manche Clients können dem Benutzer eine Liste der im Netz gefundenen Dateinamen anzeigen, so dass der Benutzer einen dieser Dateinamen auswählen kann.
Client-Server
Der Client versucht eine Verbindung zu einem Server aufzubauen. Die Server-Software ist ein eigens für diesen Zweck geschriebenes Programm. Grundsätzlich kann jeder Internet-Benutzer einen ed2k-Server zur Verfügung stellen, dies ist allerdings für Benutzer mit Internetanbindungen unter 2 MBit/Sek wegen der hohen Netzwerkbelastung nicht sinnvoll.
Zur Zeit (Dezember 2004) gibt es etwa 70 öffentliche ed2k-Server und 2,6 Mio Clients. Im Mai 2002 waren es 300 - 350 Server, die 200.000 Clients bedient haben.
Die Betreiber von ed2k-Servern sind davon abgewichen, die original Server-Software eDonkey2000 'dserver' zu benutzen. Stattdessen kommt eine optimierte Version von Lugdunum 'eserver' zum Einsatz. Dadurch konnten beispielsweise die Nutzerzahlen pro Server, bei gleichgebliebenen Bandbreiten- sowie Hardwareanforderungen, erheblich gesteigert werden.
Im Wesentlichen findet folgende Kommunikation zwischen Client und Server statt:
- Der Client übermittelt die Informationen über seine freigegebenen Dateien (Shares) an einen Server, der diese indiziert.
- Der Client möchte eine Datei suchen und übermittelt einen Teil eines Dateinamens (einige andere Eigenschaften wie Dateigröße sind ebenfalls möglich) an einen oder mehrere Server. Die angefragten Server durchsuchen ihre Indizes und schicken die entsprechenden ed2k-Links zurück.
- Der Client fragt regelmäßig alle bekannten Server ab, welche Clients die Dateien freigeben, die er herunterladen möchte. Die Server schauen in ihren Indizes nach und senden IP-Adressen und Ports dieser Clients zurück.
Die Server verwalten also nur einen Index der freigegebenen Dateien und der dazugehörigen Client-Adressen. Ein Server speichert und verschickt keine Dateien, sondern lediglich Metadaten über die Dateien.
Serverlos
Da die Netzlast der Server mit zunehmender Beliebtheit des ed2k-Netzwerks immer weiter steigt, wurden verschiedene Konzepte entwickelt, wie die Server zu entlasten seien. Inzwischen sind die meisten Clients in der Lage, ihren Datenverkehr mit dem Server mit Hilfe der zlib-Bibliothek zu komprimieren, und so Bandbreite auf Kosten von CPU-Zeit einzusparen. Der wohl radikalste Ansatz war aber derjenige, das eDonkey-Netz zu einem serverlosen Netz umzubauen. Der ursprüngliche ed2k-Entwickler baute dazu zunächst einen neuen Client (Overnet), der völlig ohne Server mit Hilfe des Kademlia-Algorithmus operierte. Sobald man einmal mit einem anderen Overnet-Client verbunden ist, erhält man eine Liste mit Clients, die man auf der Suche nach einer bestimmten Datei fragen kann. Wenn ein Client die Datei nicht hat (übrigens der Regelfall), weiß er zumindest, welcher andere Client der Datei topologisch näher ist und weiterhelfen kann. Overnet funktionierte gut, litt aber daran, dass die Suche nach Dateien sehr langsam voran ging, und ein signifikanter Teil der Bandbreite des Clients als Overhead für die Suche verloren ging. Man kam daher vom Ansatz, eDonkey komplett serverlos zu machen, wieder ab. Ziel war nun nicht mehr, die Server komplett abzuschaffen, sondern parallel zur servergestützten Suche auch serverlos zu suchen und so die Server zu entlasten. Diese Funktionalität wurde als erstes in den originalen eDonkey-Client integriert, der dadurch zum eDonkey-Hybridclient wurde.
Inzwischen hat auch das Entwicklerteam des beliebtesten Clients, eMule, einen Hybridclient im Betatest, ihre Implementation des Kademlia-Algorithmus unterscheidet sich allerdings etwas von der des eDonkey-Clients. Inzwischen ist dieser eMule Kademlia-Client der offizielle eMule-Client. Sobald das Netz auch standardmäßig aktiviert ist, ist mit dem Durchbruch für das serverlose Netzwerk zu rechnen.
Peer-to-Peer
Sobald ein Client vom Server über andere Clients informiert wurde, versucht er sich mit diesen zu verbinden. Im Folgenden werden die Clients Peers genannt, da sie gleich gestellt sind und der ed2k-Server in diesem Teil der Datenübertragung keine Rolle mehr spielt.
Ein Peer hat eine begrenzte Anzahl von Upload-Plätzen (Slots). Jeder Peer, der bei einem anderen Peer eine Datei anfordert, belegt einen Slot bei diesem. Sind alle Slots belegt, kommen die Peers in eine Warteliste (Queue) und müssen warten, bis sie dran sind.
Die Peers können eine Datei von mehreren Quellen gleichzeitig herunterladen und somit die Download-Zeit verkürzen. Gleichzeitig können sie die fertigen Teile (Chunks) ihrer noch laufenden Downloads an andere Peers verschicken.
Eine kleine Auswahl an ed2k-Clients
- Der ursprüngliche Client eDonkey2000 wird immernoch weiterentwickelt, aber ist stark an das mittlerweile effizient gewordene Overnet gebunden. Ab Version 0.54 (wurde als Version 1.0 veröffentlicht) des eDonkey findet der Datenaustausch standardmässig über Overnet statt. Die alte Methode, sich zu den eDonkey-Servern zu verbinden, ist allerdings nach wie vor zuschaltbar, um weiterhin Erreichbarkeit zu gewährleisten, und um das Netz nicht in eMule und Overnet zerfallen zu lassen.
- eMule [1] ist der zurzeit meistgenutzte ed2k-Client. Er wurde ursprünglich nur für Windows entwickelt und bringt einige Erweiterungen zum ed2k-Netzwerkprotokoll mit sich (z.B. Kreditsystem, Webinterface, Quellenaustausch) welche in andere ed2k-Clients einflossen. Für eMule existieren viele Mods eine übersicht ist unter [2] zu finden Unteranderem eMule Plus, eMule Xtreme und viele weitere. Mittlerweile existieren mit xMule [3] und aMule [4] auch Portierungen für Unix-basierende Systeme.
- MLDonkey [5] wird in erster Linie für Linux entwickelt, es existieren aber auch Versionen für Darwin, FreeBSD, MorphOS, Solaris und Windows. Es vereint neben dem ed2k Protokoll auch die FastTrack, OpenNap, Direct Connect, BitTorrent und viele andere Protokolle.
- Shareaza [6] ist ebenfalls ein Hybrid-Client, der sich neben dem ed2k-Protokoll auch dem Gnutella-, Gnutella2- und dem BitTorrent-Protokoll gegenüber verständlich zeigt.
- Lphant [7] wird primär für Windows entwickelt, es gibt allerdings auch eine Kommandozeilenversion, die neben Windows auch noch Linux und Mac unterstützt. Lphant unterstützt außerdem Webcache, welches in einigen eMule-Mods integriert ist.
Rechtliche Lage bei eDonkey-Links
Mit Beschluss vom 15. Juli 2005 hatte das Landgericht Hamburg über die Zulässigkeit von eDonkey-Links auf urheberrechtlich geschütztes Material auf einer Website im Rahmen eines Verfahrens im einstweiligen Rechtsschutz zu befinden. Das Gericht war hier der Auffassung, dass sowohl der Seitenbetreiber als auch der Serverinhaber als Störer im Rahmen eines urheberrechtlichen Unterlassungsanspruchs herangezogen werden könnten.
Unproblematisch ist das Setzen von eDonkey-Links natürlich dann, wenn der Urheber damit einverstanden ist. Es kann für Urheber im Einzelfall durchaus sinnvoll sein, Werke über Tauschbörsen anzubieten, statt dafür Speicherplatz auf einem Webserver anzumieten. Dabei ist für den Nutzer zu beachten: Dass ein Werk mit Zustimmung des Urhebers unter einem eDonkey-Link erreichbar ist, bedeutet nicht zwingend, dass das Werk gemeinfrei geworden ist. Es bedeutet lediglich, dass der Urheber mit der Verbreitung im eDonkey2000-Netz einverstanden ist. Für die Verbreitung in anderen Netzen braucht man weiterhin die explizite Zustimmung des Urhebers.
Zensierende & gefälschte Server
Gefälscht werden Server-Namen (unter anderem alle Razorback die nicht 2.0 und 2.1 heissen und Byte Devils), Benutzer-Zahlen (Sonny Boy).
Viele Server zensieren Suchergebnisse und verfälsche die Anzahl gefundener Treffer. Dies geschieht über den Datei-Typ (z.B. Videos und mp3s) oder Schlüsselwörter (z.B. "xxx" oder "Sex").
Derartige Server sind: alle "Sonny Boy", "Byte Devils", alle "Pirate's Lair" und andere. Einige dieser Server befinden sich in den USA und haben eine IP, die mit "64.34" beginnt. Die Betreiber-Organisation dieser Server hat auch gefälschte "Razorback" in Betrieb genommen (z.B. "Razorback 2.3", "Razorback 2.4" usw.), deren Suchfunktion eingeschränkt ist. Es wird vermutet, dass die RIAA oder eine ähnliche Organisation dahinter steckt, die dadurch dem Netzwerk schaden und Informationen über Urheberrechtsverletzer sammeln will.
Offizielle Server sind nach Lugdunum Master, dem Entwickler des Edonkey Servers, nur Razorback 2.0, 2.1 und DonkeyServer No1, No2, No3, No5 und No6.
Weblinks
- eDonkey2000 - Overnet - Offizielle Homepage des Originalclienten
- eserver (lugdunum) - eDonkey Server Software (englisch)
- Serverliste - automatisch aktualisierte Liste der aktiven eDonkey Server
- Wikipedia:WikiReader/p2p-filesharing