Контрольная сумма TCP, почему?

Зачем TCP нужна контрольная сумма, когда нижние уровни все равно проверяют целостность (например, Ethernet CRC)?

2 ответа

Протокол TCP гарантирует точную доставку независимо от базовых механизмов. Нет гарантии, что каждый протокол, который он может запустить, будет выполнять какую-либо проверку целостности. SLIP, например, не обнаруживает ошибок.

Потому что это протокол, который коренится в начале 1970-х годов. Слоистая модель общения еще тогда не была здравым смыслом.

Лично я думаю об этом как об остатке первых лет разработки протокола.

Вот почему я считаю эту контрольную сумму чокнутой:

  1. он слишком слаб, чтобы обеспечить значимую защиту
  2. все еще больно рассчитывать (особенно на микроконтроллерах. Это пустая трата циклов)
  3. это не защищает от манипуляций (потому что это так легко исправить)
  4. многие реализации игнорируют это в любом случае
Другие вопросы по тегам