Websites, die ISO-Dateien zum Download bereitstellen, geben häufig die md5-Prüfsummen dieser Dateien an, anhand derer wir überprüfen können, ob die Datei korrekt heruntergeladen und nicht beschädigt wurde.
Warum ist das notwendig? Sicherlich sind die fehlerkorrigierenden Eigenschaften von TCP ausreichend. Wenn ein Paket nicht korrekt empfangen wird, wird es erneut übertragen. Gewährleistet die Natur einer TCP / IP-Verbindung nicht die Datenintegrität?
Antworten:
Wie bereits von anderen angemerkt, gibt es viele Möglichkeiten für Datenkorruption, bei denen keine Prüfsumme auf der Transportschicht Abhilfe schaffen kann, z als Prüfsummen), Korruption nach Validierung der Prüfsumme am empfangenden Ende usw.
Wenn wir all diese anderen Möglichkeiten außer Acht lassen und uns auf die Besonderheiten der TCP-Prüfsumme selbst und deren tatsächliche Funktion zur Überprüfung der Datenintegrität konzentrieren, zeigt sich, dass die Eigenschaften dieser Prüfsumme in Bezug auf die Erkennung von Fehlern überhaupt nicht umfassend sind. Die Art und Weise, wie dieser Prüfsummenalgorithmus gewählt wurde, spiegelt eher die Anforderung an die Geschwindigkeit in Kombination mit dem Zeitraum (Ende der 1970er Jahre) wider.
So wird die TCP-Prüfsumme berechnet:
Dies bedeutet, dass jede Beschädigung, die beim Summieren der Daten auf diese Weise ausgeglichen wird, unentdeckt bleibt. Es gibt eine Reihe von Kategorien von Beschädigungen an den Daten, die dies zulässt, aber nur als triviales Beispiel: Das Ändern der Reihenfolge der 16-Bit-Wörter bleibt immer unentdeckt.
In der Praxis werden viele typische Fehler erkannt, die Integrität wird jedoch nicht garantiert . Dies wird auch dadurch unterstützt, dass die L2-Schicht auch Integritätsprüfungen (z. B. CRC32 von Ethernet-Frames) durchführt, allerdings nur für die Übertragung auf der lokalen Verbindung, und viele Fälle von beschädigten Daten werden nicht einmal an den TCP-Stack weitergeleitet.
Die Validierung der Daten mithilfe eines starken Hashs oder vorzugsweise einer kryptografischen Signatur erfolgt auf einer ganz anderen Ebene, um die Datenintegrität sicherzustellen. Die beiden sind kaum zu vergleichen.
quelle
Es gibt wahrscheinlich zig Gründe, warum man die md5sum überprüfen sollte, aber ein paar kommen mir in den Sinn:
Und es dauert sowieso nur ein paar Sekunden.
quelle
TCP / IP garantiert die Datenintegrität *. Es kann jedoch nicht garantiert werden, dass 100% einer Datei heruntergeladen wurden. Dafür kann es viele Gründe geben. Zum Beispiel: Es ist möglich, dass Sie eine ISO mounten, bei der ein oder zwei Bytes in der Mitte fehlen. Sie werden kein Problem damit haben, bis Sie eine oder zwei bestimmte Dateien benötigen, die beschädigt sind. Durch Vergleichen der Prüfsummen wird sichergestellt, dass Sie wirklich die gesamte Datei heruntergeladen haben.
* siehe Kommentar
quelle
Die TCP-Prüfsumme beträgt nur 16 Bit. Dies bedeutet, dass in Abwesenheit anderer Prüfsummen eines von 65536 beschädigten Paketen als nicht beschädigt akzeptiert wird. Wenn Sie beispielsweise ein 8-GB-DVD-Image über einen lauten Link mit einer Korruptionsrate von 1% herunterladen, erwarten Sie 81 unerkennbar beschädigte Pakete.
MD5 ist mit 128 Bit eine viel größere Prüfsumme. Die Wahrscheinlichkeit, dass diese 81 Pakete etwas mit der gleichen Prüfsumme wie das Original produzieren, liegt bei etwa 1 zu 1.000.000.000.000.000.000.000.000.000.000.
quelle
Es gibt mehrere Gründe, die Prüfsumme einer über HTTP heruntergeladenen Datei zu überprüfen:
1 Quellen im Kommentar, weil lol rep
quelle
Daniel, je nachdem welches Tool du für den ISO Download verwendest. Wenn es sich um Say Firefox handelt, wird möglicherweise der Dateidownload angezeigt. Möglicherweise ist jedoch nicht die vollständige ISO intakt. Wenn Sie es brennen und dann versuchen, es zu verwenden, fehlen möglicherweise Informationen. Dies geschieht von Zeit zu Zeit auf verschiedenen Webservern, die Dateien hosten.
Es wird empfohlen, mindestens die Dateigröße zu vergleichen (Gesamtzahl der Bytes oder Bits), um sicherzustellen, dass sie übereinstimmen. Windows zeigt die Anzahl der Dateibytes anders an als Linux. Die MD5-Summenprüfung zeigt die gleichen Werte an, unabhängig davon, welches Betriebssystem verwendet wird. Hoffe das hilft ein bisschen. Prost...
quelle
Ich bemerke viele interessante Antworten, aber es gibt noch etwas zu beachten: Das Problem zweier Generäle
Das Problem der zwei Generäle und das Problem der byzantinischen Generäle berücksichtigen insbesondere die Auswirkungen der zuverlässigen Übertragung von Informationen über unzuverlässige Kanäle.
Prüfsummen sind nur eine weitere Schicht der "Erhöhung der Zuverlässigkeit" und eine, bei der die Wahrscheinlichkeit eines Ausfalls sehr gering ist. Dies ist der Grund, warum es so beliebt ist.
quelle