System Design: От Идеи к Реальной Системе
TCP и UDP
Артемий Мазаев
18 дек. 2023 г.

TCP

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

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

UDP

Протокол Пользовательских Датаграмм (UDP) - это более простой, бесконнектный интернет-протокол, в котором не требуются услуги по проверке ошибок и восстановлению. С UDP нет накладных расходов на открытие соединения, его поддержание или завершение. Данные непрерывно отправляются получателю, вне зависимости от того, получает он их или нет.

UDP часто предпочтительнее для реальных коммуникаций, таких как трансляция или многоадресная сетевая передача. Мы должны использовать UDP вместо TCP, когда нам нужна минимальная задержка, и поздние данные хуже, чем потеря данных.

TCP против UDP

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

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

Характеристика TCP UDP
Соединение Требуется установленное соединение Бесконнектный протокол
Гарантия доставки Может гарантировать доставку данных Не может гарантировать доставку данных
Повторная передача Возможна повторная передача потерянных пакетов Нет повторной передачи потерянных пакетов
Скорость Медленнее, чем UDP Быстрее, чем TCP
Трансляция Не поддерживает трансляцию Поддерживает трансляцию
Примеры использования HTTPS, HTTP, SMTP, POP, FTP и т.д. Видеостриминг, DNS, VoIP и т.д.
Have a doubt?
Post it here, our mentors will help you out.