В чём разница между TCP и UDP?

транспортные протоколы 4-го уровня стека TCP/IP TCP работает в режиме с установлением соединения, а UDP — без установления соединения TCP обеспечивает надежную доставку данных, тогда как UDP такой гарантии не дает TCP…

Короткий ответ

Что ответить на собеседовании

транспортные протоколы 4-го уровня стека TCP/IP TCP работает в режиме с установлением соединения, а UDP — без установления соединения TCP обеспечивает надежную доставку данных, тогда как UDP такой гарантии не дает TCP сохраняет порядок доставки и выполняет контроль ошибок UDP отличается большей скоростью и меньшими накладными расходами TCP применяют для web, электронной почты и обмена файлами; UDP — для стриминга, игр и DNS конкретный протокол выбирают с учетом требований к надежности и скорости

Подробный разбор

Ответ с пояснениями

В чём разница между TCP и UDP?

  • транспортные протоколы 4-го уровня стека TCP/IP
  • TCP работает в режиме с установлением соединения, а UDP — без установления соединения
  • TCP обеспечивает надежную доставку данных, тогда как UDP такой гарантии не дает
  • TCP сохраняет порядок доставки и выполняет контроль ошибок
  • UDP отличается большей скоростью и меньшими накладными расходами
  • TCP применяют для web, электронной почты и обмена файлами; UDP — для стриминга, игр и DNS
  • конкретный протокол выбирают с учетом требований к надежности и скорости

Развернутый ответ

Краткий ответ

TCP (Transmission Control Protocol) и UDP (User Datagram Protocol) — два базовых протокола транспортного уровня модели TCP/IP, предназначенных для обмена данными между хостами сети. Их ключевое различие заключается в принципе работы: TCP — надежный протокол с установлением соединения, а UDP — ненадежный протокол, работающий без соединения.

Перед началом передачи TCP устанавливает соединение с помощью трёхстороннего рукопожатия, отслеживает доставку, восстанавливает порядок пакетов и управляет потоком. Благодаря этому получатель получает данные полностью и в правильной последовательности. UDP, напротив, сразу отправляет датаграммы, не подтверждая их получение и не обеспечивая заданный порядок доставки.

Основные особенности

  • Надёжность и контроль ошибок: TCP использует подтверждения (ACK), повторно передает потерянные сегменты и контролирует целостность данных за счет сквозного контроля ошибок и сквозного порядка. В UDP подобные механизмы отсутствуют, поэтому датаграммы могут потеряться или прибыть в неправильной последовательности.
  • Установка соединения: Для TCP необходима сессия, создаваемая посредством трехстороннего рукопожатия (SYN, SYN-ACK, ACK). Это приводит к дополнительным накладным расходам и увеличивает задержку. UDP не выполняет такую процедуру и начинает отправку данных напрямую.
  • Применение: TCP выбирают для задач, в которых критична гарантированная передача и целостность данных, например для HTTP/HTTPS, FTP и SMTP. UDP чаще используют в real-time приложениях — VoIP, стриминге и онлайн-играх, где важнее минимальная задержка, а потеря отдельных пакетов допустима.

Практический пример

В рабочих проектах оба протокола нередко применяются параллельно: загрузку страниц и транзакции выполняют через TCP, используя его надежность и управление потоком, а голос и видео передают через UDP, чтобы сократить задержку, даже если часть данных будет потеряна без критичных последствий. Например, в React Native приложениях для потокового видео часто применяют WebRTC, который базируется на UDP и обеспечивает низкую задержку.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку