Все еще нужна контрольная сумма в протоколе приложения, когда tcp / ip уже имеет ее? - PullRequest
1 голос
/ 12 сентября 2009

Я разрабатываю протокол приложения, и мне интересно, нужно ли мне включать контрольную сумму в протокол, поскольку у tcp / ip уже есть контрольная сумма. каково ваше мнение?

Ответы [ 3 ]

3 голосов
/ 12 сентября 2009

Протокол BitTorrent имеет большое количество дополнительных функций исправления ошибок и обнаружения, наслоенных поверх TCP, поэтому разработчики протоколов явно нуждались в этом.

1 голос
/ 12 сентября 2009

Контрольная сумма TCP довольно слабая, поэтому вам, вероятно, нужен уровень приложения один, если вы вообще беспокоитесь о надежности.

В частности, контрольная сумма TCP не является безопасным хешем и не имеет подписи, поэтому, если вы беспокоитесь о злонамеренных изменениях, вам нужно добавить защиту самостоятельно.

0 голосов
/ 21 ноября 2010

Чтобы добавить к другим ответам, вам, вероятно, стоит заглянуть в коды аутентификации сообщений. MAC-адреса являются более надежным способом обнаружения ошибок, чем простая контрольная сумма TCP.

Если вы хотите что-то надежное, взгляните на [HMAC] [2]. HMAC обеспечивает как обнаружение ошибок, так и аутентификацию (через общие ключи).

Если вы хотите что-то быстрое и грязное, почему бы не использовать хэши sha1?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...