Intelligent Corruption Handling

Intelligent Corruption Handling

Advanced Intelligent Corruption Handling (kurz AICH) ist ein Fehlerkorrektursystem, das dazu gedacht ist, Übertragungsfehler im P2P-Netzwerk eDonkey2000 mit minimalem Aufwand zu beheben. Es soll langfristig das ältere, aber wesentlich schlechtere Intelligent Corruption Handling (kurz ICH) ablösen.

Inhaltsverzeichnis

Intelligent Corruption Handling

Obgleich ICH recht wirkungsvoll ist, hat es die Beschränkung, dass immer nur vollständige 9500-KB-Chunks überprüft werden können, aber keine kleineren. Wenn ein 9500-KB-Chunk einen Fehler enthält, wird er in 180-KB-Blöcken erneut heruntergeladen. Jeweils nachdem ein 180-KB-Block neu geladen wurde, wird der gesamte 9500-KB-Chunk auf Korrektheit überprüft. Im Schnitt spart dies also 50% der Bandbreite, wenn man von statistischer Gleichverteilung von Fehlern in Chunks ausgeht. Wenn es in solch einem Block mehr als eine fehlerhafte Position gibt, oder wenn böswillige Clients fehlerhafte Daten immer wieder oder sogar ein gesamtes Teilstück fälschen, kann ICH nicht mehr wirkungsvoll eingesetzt werden, da die fehlerhaften Blöcke dennoch komplett, also wieder 9500 KB, übertragen werden müssen (ferner noch können bereits korrekte Daten durch fehlerhafte Daten ersetzt werden - auch dies erkennt ICH nicht).

Advanced Intelligent Corruption Handling

AICH Hash-Tree

Hier setzt AICH an, um eine Datenintegrität mit minimalen Redownloading-Aufwand herzustellen. Dazu wird das zu übertragende Objekt in 9500 KB große Chunks geteilt. Jeder Chunk wird in 180 KB Blöcke zerlegt, das ergibt 53 Blöcke pro Chunk. Für jeden Block wird mit Hilfe des SHA1-Algorithmus ein Hash-Wert errechnet. Diese Werte werden Block Hash genannt und bilden die unterste Ebene eines kompletten AICH-Hash-Baumes. Im Bild ist ein vollständiger Hash-Baum für eine Datei, bestehend aus vier Chunks, zu sehen. Jeder Chunk enthält 53 Blöcke, das macht zusammen 212 Node-Hashes auf der untersten Ebene und 423 auf allen 7 Baum-Ebenen bis zum Root Hash. Der gesamte Baum wird AICH-Hashset genannt.

Die blauen und gelben Punkte zeigen die mathematischen Abhängigkeiten der kleinsten Block-Hashes bis zum Root-Hash. Dies bedeutet, mit einem Root-Hash kann man überprüfen, ob eine Datei vollständig und fehlerfrei geladen wurde.

Fehlerbehebung

Immer wenn ein Fehler entdeckt wird, wird von einem beliebigen, anderen Client ein Recovery-Paket mit einem kompletten AICH-Hashset angefordert. Das angeforderte Hashset enthält für alle 53 Blöcke deren Block-Hashes und zusätzlich Verify-Hashes für den gesamten Hashbaum. Die Anzahl der Verify-Hashes hängt von der Anzahl der Teilstücke der Datei ab (2x >= 'Anzahl Teilstücke', wobei x die Anzahl der Verify-Hashes angibt).

Nach dem Empfang werden die Verify-Hashes aus dem Recovery-Packet gegen den vertrauenswürdigen Root-Hash geprüft. Wenn sie zusammenpassen, werden alle 53 Blöcke des fehlerhaften Teils gegen Block-Hashes vom Recovery-Packet geprüft. Passen Block-Hashes nicht zusammen, werden die entsprechenden Blöcke nochmals zum Herunterladen angefordert.

Vertrauenswürdiger Root-Hash

Am besten erhält man vertrauenswürdige Root-Hashes, indem man Dateien über deren Root-Hash zum Download anfordert. In der Annahme, dass die Quelle dieser Verbindung vertrauenswürdig ist, wird dem Root-Hash sofort vertraut und dieser für diese Datei gespeichert. Wenn kein Root-Hash vorhanden war, so muss dem Root-Hash vertraut werden, der vom sendenden Client zur Verfügung gestellt wird. eMule vertraut dieser Quelle nur dann, wenn mindestens zehn unterschiedliche Quellen den gleichen Wert senden und wenn mindestens 92% aller Quellen diesem Wert zustimmen. Wenn dieser als nicht vertrauenswürdig eingestuft wird, ist er nur für diese Sitzung gültig und wird weder gespeichert, noch können darüber Hashlinks erzeugt werden.

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

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

  • Advanced Intelligent Corruption Handling — (kurz AICH) ist ein Fehlerkorrektursystem, das dazu gedacht ist, Übertragungsfehler im P2P Netzwerk eDonkey2000 mit minimalem Aufwand zu beheben. Es soll langfristig das ältere, aber wesentlich schlechtere Intelligent Corruption Handling (kurz… …   Deutsch Wikipedia

  • AICH (eMule) — Advanced Intelligent Corruption Handling (kurz AICH) ist ein Fehlerkorrektursystem, das dazu gedacht ist, Übertragungsfehler im P2P Netzwerk eDonkey2000 mit minimalem Aufwand zu beheben. Es soll langfristig das ältere, aber wesentlich schlechtere …   Deutsch Wikipedia

  • E-Mule — eMule Downloadübersicht bei eMule 0.48a Basisdaten Entwickler …   Deutsch Wikipedia

  • EMule — Downloadübersicht bei eMule 0.48a Basisdaten Entwickler …   Deutsch Wikipedia

  • Emule — Downloadübersicht bei eMule 0.48a Basisdaten Entwickler …   Deutsch Wikipedia

  • EMule — Infobox Software name = eMule caption = eMule 0.49a collapsible = author = Merkur developer = [http://www.emule project.net/home/perl/general.cgi?l=1 rm=team eMule Team] released = latest release version = 0.49b latest release date = release date …   Wikipedia

  • ICH — Der Ausdruck Ich bezeichnet: unter den Personalpronomen die 1. Person Singular den Begriff Ich für das eigene Selbst in der Philosophie und Psychologie einen Teil eines Computer Chipsatzes, siehe I/O Controller Hub und Intel ICH. die Konferenz… …   Deutsch Wikipedia

  • eMule — Downloadübersicht bei eMule 0.48a Basisdaten …   Deutsch Wikipedia

  • 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 1 Allgemein 2 Linkformat 2.1 file …   Deutsch Wikipedia

  • AICH — ist der Name folgender Orte in Deutschland: ein Stadtteil von Aichtal im Landkreis Esslingen in Baden Württemberg ein Stadtteil von Fürstenfeldbruck in Bayern ein Stadtteil von Ravensburg in Baden Württemberg ein Ortsteil von Bodenkirchen im… …   Deutsch Wikipedia

Share the article and excerpts

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