Я наткнулся на две статьи, в которых подробно описывается, как работают TCP- и UDP-соединения. Однако есть какая-то непоследовательность. В одной статье говорится, что UDP вообще не выполняет проверку на ошибки, а в другой статье упоминается, что UDP выполняет некоторую проверку на ошибки, но не выполняет восстановление или исправления. Я хотел бы знать, какой из двух наиболее правильный?
Заранее спасибо!
UDP действительно имеет 16-байтовую контрольную сумму. Как упоминал Gnouc, он имеет некоторые свойства обнаружения ошибок, но не выполняет восстановление (путем повторной отправки пакета, как это делает TCP). Статья, вероятно, имела в виду тот факт, что UDP не имеет никаких подтверждений о том, что пакет был получен. (т.е. нет обнаружения, если пакет потерян.)
Да, вторая статья верна. Протокол UDP также имеет проверку на ошибки, но не имеет никакого исправления ошибок.