1

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

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

1 ответ1

3

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .