Warum haben sich die Entwickler von IP für die IP-Checksum entschieden?

372

Warum haben sich die Entwickler von IP (und UDP und TCP) dafür entschieden, die IP-Prüfsumme zur Erkennung von Fehlern anstelle eines stabileren Fehlererkennungscodes wie CRC-32 zu verwenden?

Ich dachte vorher, dass die IP-Prüfsumme gewählt wurde, weil die Neuberechnung in Software schnell und billig war (z. B. muss ein Router an jedem Hop das TTL-Feld dekrementieren und dann die Prüfsumme für den IP-Header neu berechnen), aber diesen CRC nicht kennen -32s lassen sich in Hardware mit einem k-Bit-Schieberegister und XOR-Gattern schnell implementieren ( Peterson, Davie: Computernetzwerke: Ein Systemansatz, 5. Auflage ). Ich bin nicht ganz sicher, dass dieses Argument immer noch gilt.

1
* "ein robusterer Fehlerkorrekturcode wie CRC-32" * - CRC-32 ist kein ECC. sawdust vor 9 Jahren 0
@sawdust du hast recht, behoben. Vielen Dank! vor 9 Jahren 0

1 Antwort auf die Frage

3
Spiff

IP musste einfach auf einer Vielzahl von Hardware implementiert werden. CPUs des Tages hatten keine CRC32-Hardware eingebaut. Niemand hatte erwartet, benutzerdefinierte Hardware für die IP-Kompatibilität zu erstellen. IP sollte in Software gehandhabt werden. Daher mussten sie etwas auswählen, das auf Systemen, die bereits 1981 im Einsatz waren, leicht in Software implementiert werden kann (denken Sie an DEC PDP-11 und dergleichen).