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:
Prüfsumme: 16 Bit
Das Prüfsummenfeld ist das 16-Bit-Einerkomplement der Einerkomplementsumme aller 16-Bit-Wörter in der Kopfzeile und im Text. Wenn ein Segment eine ungerade Anzahl von zu prüfenden Kopf- und Textoktetten enthält, wird das letzte Oktett rechts mit Nullen aufgefüllt, um ein 16-Bit-Wort für Prüfsummenzwecke zu bilden. Das Pad wird nicht als Teil des Segments übertragen. Während der Berechnung der Prüfsumme wird das Prüfsummenfeld selbst durch Nullen ersetzt.
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.