Какие протоколы работают на TCP и UDP
(продолжение предыдущего поста)
Каждое сообщение, передаваемое через интернет, имеет два уровня коммуникации: один переносит данные (транспортный уровень), а другой определяет, что эти данные означают (прикладной уровень). TCP и UDP находятся на транспортном уровне, но служат совершенно разным целям.
TCP — ориентирован на установление соединения. Он гарантирует доставку данных, сохраняет порядок их передачи и обеспечивает повторную отправку пакетов в случае их потери.
- HTTP работает поверх TCP. Браузер устанавливает TCP‑соединение, отправляет HTTP‑запрос, ожидает HTTP‑ответ и закрывает соединение (либо оставляет его активным для последующих запросов). Каждая веб‑страница, которую вы когда‑либо загружали, использовала этот механизм.
- HTTPS добавляет TLS поверх TCP. Сначала устанавливается TCP‑соединение, затем выполняется рукопожатие TLS (обмен открытыми ключами, согласование сеансового ключа) и, наконец, начинается передача зашифрованных данных.
- SMTP использует TCP для электронной почты. Сообщения передаются от отправителя к SMTP‑серверу и далее к получателю через TCP‑соединения. Для электронной почты недопустима потеря данных в процессе передачи, поэтому надёжность TCP здесь критически важна.
UDP — не требует установления соединения. Нет рукопожатия, нет гарантии доставки, нет сохранения порядка пакетов. Данные просто отправляются в сеть в виде запросов и ответов — и остаётся надеяться, что они дойдут. Звучит хаотично, но такой подход обеспечивает высокую скорость.
- HTTP/3 работает через QUIC, который использует UDP. На первый взгляд это кажется нелогичным, однако QUIC заново реализует функции надёжности TCP внутри UDP, но с лучшей производительностью. Особенности:
- несколько потоков данных в одном соединении;
- встроенный TLS 1.3;
- более быстрое установление соединения.
Post #2639
1.81K