ED2k-URI-Schema

ED2k-URI-Schema

Das eD2k-URI-Schema ist ein Hyperlink-Typ, der benutzt wird, um, ähnlich wie Magnet-Links, auf Dateien innerhalb des eDonkey2000- oder Kademlia-Filesharing-Netzes zu verweisen.

Inhaltsverzeichnis

Allgemein

Viele Programme, so wie eMule, MLDonkey und der ursprüngliche eDonkey2000-Client von MetaMachine, können genutzt werden, um Dateien im eDonkey-Netzwerk zu finden, hoch- und herunterzuladen. Dabei stehen die Dateien auf den Computern anderer Netzwerkteilnehmer zur Verfügung, die diese dann an Interessenten hochladen. Dateien werden dabei über ihren eD2k-Hash eindeutig identifiziert. Da die Hashsumme identisch bleibt, auch wenn eine Datei umbenannt wird, ist diese Identifizierung viel zuverlässiger als beispielsweise eine Identifizierung anhand des Namens.

eD2k-Links gehörten zu den ersten Inhaltslinks für Dateien in P2P-Netzwerken. Heutzutage werden jedoch meist die moderneren, weil nicht auf einen Hashtyp limitierten und daher universell einsetzbaren Magnet-Links verwendet. So können diese zum Beispiel auch SHA-1- und MD5-Hashes enthalten, was es möglich macht, die gleiche Datei auch in anderen Netzwerken, etwa Gnutella2, zu lokalisieren.

Wie andere URIs auch können sich Programme im Betriebssystem und/oder Webbrowser registrieren, um bei einem Klick auf einen derartigen Link automatisch aufgerufen zu werden und die verlinkte Datei herunterzuladen.

Linkformat

Es gibt zwei Haupttypen von eD2k-Links. Ist das erste Schlüsselwort file, wird auf eine Datei verwiesen, ist es dagegen server, enthält der Link den Verweis auf die IP eines eDonkey2000-Servers. Neuere eMule-Versionen unterstützen auch andere Schlüsselwörter wie etwa search für automatisierte Suchanfragen.

file

Ein typischer eD2k-Link enthält sowohl den benötigten eD2k-MD4-Hash als auch einen Dateinamen und die Dateigröße. Als Beispiel kann der Installer von Shareaza v2.5.3.0 (6,35 MB) dienen:

ed2k://|file|Shareaza_2.5.3.0_Win32.exe|6653348|7fb2bc10e0422a0e4f7e8613bd522c89|/

Zusätzlich können durch Anhängen des Sources-Tags feste Quellen für die Datei angegeben werden:

ed2k://|file|Shareaza_2.5.3.0_Win32.exe|6653348|7fb2bc10e0422a0e4f7e8613bd522c89|/|sources,252.191.193.62:6443|/

Es ist auch möglich, den AICH-Hash[1] durch das Anhängen eines Tokens in der Form |h=H52BHJ5K2L90WXDPQQDH2RJDDAKRUWST| (wobei in diesem Beispiel H52BHJ5K2L90WXDPQQDH2RJDDAKRUWST der AICH-Hash entspricht) anzugeben, wie es zum Beispiel eMule beim Generieren von ed2k URIs tut.

server

Ein Server-Link enthält die IP-Adresse eines eDonkey2000-Servers, der beim Verwenden des Links dem Server-Cache des verwendeten eDonkey-Clients hinzugefügt wird, sofern dieser dies unterstützt.

Ein typischer Server-eD2k-Link folgt dem folgenden Schema:

ed2k://|server|IP|PORT|/
  • IP → eD2k-Server-IP
  • PORT → der Port des eD2k-Servers, auf welchem dieser eD2k-Verbindungen akzeptiert

Beispiel:

ed2k://|server|207.44.222.51|4242|/

search

Der Such-URI-Typ wurde mit eMule 0.50a eingeführt.[2] Er besteht aus dem Schlüsselwort search und einem Suchbegriff:

ed2k://|search|Suchbegriff|/

Die erste Implementierung einer Browsererweiterung, die von diesem Linkschema Gebrauch macht, erfolgte für Mozilla Firefox.[3]

eD2k-Hash-Algorithmus

Der eD2k-Hash, welcher im eDonkey-Netzwerk und daher auch in ed2k-Links zur Dateiidentifizierung und -verifikation genutzt wird, ist der MD4-Hash einer MD4-Hashliste. Er wird wie folgt generiert:

Im ersten Schritt wird die Datei in Teile (sog. chunks) von 9.500 KiB (9728000 Byte, also annähernd 9,28 MB) eingeteilt, wobei der letzte Teil den Rest umfasst und daher kleiner als 9.500 KiB ist. Im Fall dass die Dateigröße genau ein Vielfaches von 9.500 KiB ist, hat das Reststück eine Größe von 0 Byte. Im zweiten Schritt wird von jedem Stück eine 128-bit-MD4-Prüfsumme berechnet. Gibt es mehr als ein Chunk, werden daraufhin alle diese Hashsummen aneinander gehängt und aus dem resultierenden String wird mit erneuter Hilfe der MD4-Hashfunktion der finale Hash berechnet. Ist die Datei jedoch kleiner als 9.500 KiB, wird die Hash des einzigen Chunks der Datei ohne weitere Modifikationen als Dateihash verwendet.[4]

Als wichtig ist also hervorzuheben, dass die eD2k-Hashsumme in den meisten Fällen nicht mit dem einfachen MD4-Hash identisch ist. Auch bedeutet dies, dass einfach verifiziert werden kann, ob eine Chunk-Hash-Liste zu einer Datei gehört, denn der Dateihash lässt sich aus den einzelnen Chunk-Hashes berechnen. Der größte Nachteil dieses Hashsystems ist dabei, dass Einzelchunks 9.500 KiB an Größe haben, also immer nur relativ große Teile der Datei nach dem Herunterladen verifiziert werden können, was im Fehlerfall den erneuten Download von 9,28MB an Daten nötig macht. Dies machte die Entwicklung von Sub-Chunk-Verifizierungssystemen wie ICH[5] und AICH[1], notwendig.

Siehe auch

Einzelnachweise

  1. a b AICH = Advanced Intelligent Corruption Handling, ein verbesserter Schutz gegen defekte Dateien
  2. eMule-Changelog. Abgerufen am 31. Juli 2010.
  3. eMuleSearch-Erweiterung für Firefox. Abgerufen am 31. Juli 2010.
  4. eMule-Quellcode: CKnownFile::CreateFromFile-Methode.
  5. ICH = Intelligent Corruption Handling, des Vorläufers von AICH

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

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

  • Schéma d'URI — En informatique, un schéma d’URI est le premier niveau de la structure de nommage des identifiants uniformes de ressources (URI). Toutes les URIs sont construites à partir d’un nom de schéma, suivi de deux points (« : ») puis du reste… …   Wikipédia en Français

  • Data URI scheme — Le Data URI scheme est un Schéma d URI, dans le contexte d Internet, qui contient directement des données. L IETF décrit ce schéma dans le RFC 2397[1]. Le schéma est le suivant : data:[<mediatype>][;base64],<data> Un… …   Wikipédia en Français

  • Tag URI — Les Tag URI sont conçues pour être uniques dans le temps et l’espace tout en étant utilisées par les humains[1]. Elles sont distinctes des autres URI, car elles ne comportent aucun mécanisme d’autorité de résolution. Un tag peut être utilisé… …   Wikipédia en Français

  • eDonkey2000 — (abgekürzt auch eD2K) ist zum einen der Name eines Filesharing Netzes im Internet, zum anderen der Name des ersten Clients für dieses Netz. Bei eD2K kommen sowohl das Peer to Peer Prinzip als auch das Client Server Prinzip zum Einsatz. Die… …   Deutsch Wikipedia

  • Shareaza — Original author(s) Michael Stokes …   Wikipedia

  • Uniform Resource Identifier — Ein Uniform Resource Identifier (Abk. URI; engl. für „einheitlicher Bezeichner für Ressourcen“) ist ein Identifikator und besteht aus einer Zeichenfolge, die zur Identifizierung einer abstrakten oder physischen Ressource dient. URIs werden zur… …   Deutsch Wikipedia

  • Lightweight Directory Access Protocol — (LDAP) est à l origine un protocole permettant l interrogation et la modification des services d annuaire. Ce protocole repose sur TCP/IP. Il a cependant évolué pour représenter une norme pour les systèmes d annuaires, incluant un modèle de… …   Wikipédia en Français

  • about: — about: (« à propos de » en anglais) est un schéma d URI utilisé dans une série de navigateurs pour accéder, via l interface même du navigateur (par la barre d adresses), à des pages très particulières. Les URIs saisies affichent donc –… …   Wikipédia en Français

  • Uniform Resource Name — The relationship of URN to URI and URL A Uniform Resource Name (URN) is a Uniform Resource Identifier (URI) that uses the urn scheme and does not imply availability of the identified resource. Both URNs (names) and URLs (locators) are URIs, and a …   Wikipedia

  • Uniform Resource Name — Pour les articles homonymes, voir URN. Uniform Resource Name (URN), traduit littéralement de l anglais par « nom uniforme de ressource », est le nom d un standard informatique dans le domaine de l Internet qui concerne principalement le …   Wikipédia en Français

Share the article and excerpts

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