Назад | Перейти на главную страницу

TCP против UDP с проверкой ошибок

Я наткнулся на две статьи, в которых подробно описывается, как работают TCP- и UDP-соединения. Однако есть какая-то непоследовательность. В одной статье говорится, что UDP вообще не выполняет проверку на ошибки, а в другой статье упоминается, что UDP выполняет некоторую проверку на ошибки, но не выполняет восстановление или исправления. Я хотел бы знать, какой из двух наиболее правильный?

Заранее спасибо!

UDP действительно имеет 16-байтовую контрольную сумму. Как упоминал Gnouc, он имеет некоторые свойства обнаружения ошибок, но не выполняет восстановление (путем повторной отправки пакета, как это делает TCP). Статья, вероятно, имела в виду тот факт, что UDP не имеет никаких подтверждений о том, что пакет был получен. (т.е. нет обнаружения, если пакет потерян.)

http://en.wikipedia.org/wiki/User_Datagram_Protocol

Да, вторая статья верна. Протокол UDP также имеет проверку на ошибки, но не имеет никакого исправления ошибок.

  • Обнаружение ошибок: обнаружение ошибки в кадре (это делает FCS)
  • Восстановление после ошибки: использование последовательности байтов для обнаружения ошибки и повторной отправки в случае ее возникновения.