Почему дизайнеры IP выбрали IP Checksum?

290

Почему разработчики IP (и UDP и TCP) решили использовать контрольную сумму IP для обнаружения ошибок, а не более надежный код обнаружения ошибок, такой как CRC-32?

Ранее я думал, что контрольная сумма IP была выбрана, потому что это было быстро и дешево пересчитать в программном обеспечении (например, маршрутизатор при каждом прыжке должен уменьшить поле TTL, а затем пересчитать контрольную сумму для заголовка IP), но не узнал, что CRC -32 быстро реализуются в оборудовании с использованием сдвигового регистра k-bit и вентилей XOR ( Петерсон, Дэви: Компьютерные сети: системный подход, 5-е издание. ) Я не слишком уверен, что этот аргумент все еще сохраняется.

1
* «более надежный код исправления ошибок, такой как CRC-32» * - CRC-32 не является ECC. sawdust 9 лет назад 0
@ Опилки, ты прав, исправлено. Спасибо! 9 лет назад 0

1 ответ на вопрос

3
Spiff

IP нужно было легко реализовать на самых разных аппаратных средствах. В процессорах того времени не было встроенного оборудования CRC32. Никто не ожидал создать собственное оборудование для IP-совместимости; Ожидалось, что IP будет обрабатываться программно. Поэтому им пришлось выбрать что-то, что можно было бы легко внедрить в программное обеспечение на системах, которые уже работали в этой области в 1981 году (подумайте о DEC PDP-11 и подобных).