TCP и UDP: два подхода к передаче данных
Соединение, подтверждения, порядок доставки, потери и выбор транспортного протокола.
TCP и UDP работают поверх IP, но предлагают приложениям разную модель передачи данных. TCP строит над ненадёжной IP-сетью упорядоченный поток байтов с подтверждениями и повторной передачей. UDP отправляет отдельные датаграммы без установления соединения и без гарантии доставки.
Как работает TCP
Перед передачей данных стороны устанавливают соединение. TCP следит за порядком сегментов, обнаруживает потери и повторяет передачу. Кроме того, протокол регулирует скорость в зависимости от состояния сети и возможностей принимающей стороны.
Что даёт UDP
UDP намного проще. Отправитель формирует датаграмму и передаёт её. Если пакет потерялся, пришёл дважды или изменился порядок, сам UDP ничего исправлять не будет.
Это не делает UDP «плохим TCP». Для DNS, голоса, телеметрии и современных транспортов поверх QUIC именно такая модель может быть удобнее.
Практический вывод
При диагностике сети важно всегда знать не только номер порта, но и транспорт. «Открыт порт 53» недостаточно: DNS может использовать и UDP/53, и TCP/53.