2.4Kпросмотров
47.4%от подписчиков
22 февраля 2026 г.
Score: 2.6K
Протоколы передачи данных в сети: что такое TCP и UDP
Серия WEB с нуля В прошлый раз мы обсудили, что по Интернету летают пакеты. Но эти пакеты не отправляются хаотично: их передача организуется транспортным протоколом, который устанавливает правила обмена между двумя узлами сети. Давайте разберемся, какие протоколы бывают и как они работают 1️⃣ TCP (Transmission Control Protocol)
— это ориентированный на соединение, надёжный, потоковый протокол Шаги работы TCP: 1. Установка соединения (Three-way handshake)
Перед передачей данных узлы договариваются о соединении:
1. SYN — клиент отправляет запрос на соединение
2. SYN-ACK — сервер подтверждает запрос и сообщает свои параметры
3. ACK — клиент подтверждает получение ответа сервера 2. Сегментация данных
Поток данных разбивается на небольшие кусочки — сегменты, каждый из них получает порядковый номер 3. Передача и подтверждение Сегмент отправляется, а когда получатель его принимает, он отправляет ACK — подтверждение с номером следующего ожидаемого байта
Если подтверждение не пришло, сегмент отправляет снова 4. Контроль перегрузки
TCP регулирует скорость передачи, чтобы не перегружать сеть:
- Sliding Window — динамическое окно для передачи сегментов
- Slow Start и Congestion Avoidance — адаптация скорости при потере пакетов 5. Завершение соединения
Когда данные переданы, соединение разрывается с помощью последовательности FIN → ACK → FIN → ACK Получается, TCP создает соединение, аккуратно передает данные, убеждается, что они были получены, причем в правильном порядке, контролирует перегрузки
Благодаря его надежности, его используют там, где важна целостность данных, стабильность и отсутствие потерь, например, в HTTPS или SSH 2️⃣ UDP (User Datagram Protocol)
— это протокол без установления соединения, минимальный и быстрый. Он не гарантирует доставку, но работает почти без задержек. Данные передаются отдельными сообщениями, а не потоком Шаги работы UDP: 1. Отправка датаграммы Каждое сообщение превращается в датаграмму (отдельный независимый пакет данных) и отправляется получателю Ну и все. Никакого подтверждения получения нет, если данные потерялись, получатель их просто не получит. Порядок тоже не контролируется, датаграммы могут приходить не последовательно Зато UDP работает гораздо быстрее и проще: он не отслеживает состояние соединения, не следит за перегрузками и тратит меньше ресурсов на передачу Его используют там, где скорость важнее, чем надежность, например, в онлайн-играх, стримингах видео и аудио или звонках по Интернету. Не страшно, если во время просмотра видео пропадет пара кадров — этого даже никто не заметит, а вот если загрузка будет длиться дольше — заметят Краткое резюме
Пакеты в Интернете передаются по особым правилам, которые устанавливают протоколы передачи: TCP или UDP
- TCP создает надежное соединение и гарантирует, что получатель получит все данные в правильном порядке. Его используют в вебе, почте и для передачи файлов
- UDP не волнует, получит ли получатель данные, придут ли они в правильном порядке, зато он простой и быстрый. Он используется в играх, стримингах и звонках Читать далее:
[В разработке] @eleday