TCP-Prüfsumme, warum?

1683
quack quixote

Warum benötigt TCP eine Prüfsumme, wenn die Integritätsprüfungen der unteren Schichten sowieso durchgeführt werden (wie Ethernet CRC)?

3

2 Antworten auf die Frage

12
wfaulk

Das TCP-Protokoll garantiert eine genaue Zustellung unabhängig von den zugrunde liegenden Mechanismen. Es gibt keine Garantie dafür, dass jedes Protokoll, das es möglicherweise überläuft, irgendeine Art von Integritätsprüfung durchführt. SLIP beispielsweise hat keine Fehlererkennung.

http://www.rfc-editor.org/rfc/rfc1149.txt Richard Hoskins vor 15 Jahren 3
Wenn Sie keine Genauigkeit oder garantierte Zustellung benötigen, können Sie immer UDP verwenden. quack quixote vor 15 Jahren 1
@ Richard Hoskins, warum haben Sie eine Verbindung zu IP über CP (Brieftaube) hergestellt? quack quixote vor 15 Jahren 0
Tauben sind dafür bekannt, "Pakete" abzulegen. Danke, ich bin die ganze Woche hier. Bitte geben Sie Ihren Kellnern ein Trinkgeld. Versuchen Sie das Kalbfleisch. wfaulk vor 15 Jahren 4
@quack Als Beispiel für ein Protokoll, das keine Fehlerprüfung durchführt. Richard Hoskins vor 15 Jahren 4
Ich weiß, ich wollte nur eine Ausrede, um "IP over CP" zu sagen :) quack quixote vor 15 Jahren 0
:% s / CP / AC / g ^ M:% s / Brieftaube / Avian Carriers / g ^ M (bitte entschuldigen Sie mein `vi`.) Eroen vor 12 Jahren 0
1
TheJoke

Weil es ein Protokoll ist, das in den frühen 70er Jahren wurzelt. Das Schichtenmodell der Kommunikation war damals noch nicht normal.

Ich persönlich halte es für genau das, ein Relikt aus den frühen Jahren des Protokolldesigns.

Deshalb denke ich, dass diese Prüfsumme verrückt ist:

  1. Es ist zu schwach, um einen sinnvollen Schutz zu bieten
  2. immer noch schmerzhaft zu berechnen (insbesondere bei Mikrocontrollern. Es ist eine Verschwendung von Zyklen)
  3. es schützt nicht vor Manipulationen (weil es so einfach zu beheben ist)
  4. Viele Implementierungen ignorieren es trotzdem