Ответ
TCP (Transmission Control Protocol) и UDP (User Datagram Protocol) — это транспортные протоколы уровня L4 модели OSI/TCP-IP. Их основное различие — в подходе к надежности доставки данных.
| Критерий | TCP (Надежный, с установкой соединения) | UDP (Быстрый, без установки соединения) |
|---|---|---|
| Соединение | Требует установки соединения (3-way handshake). | Работает без установки соединения (датаграммы). |
| Гарантии | Гарантирует доставку, порядок пакетов и контроль целостности. | Не гарантирует доставку, порядок или отсутствие дубликатов. |
| Контроль перегрузки | Есть. Динамически регулирует скорость передачи. | Нет. Отправляет данные с максимально возможной скоростью. |
| Накладные расходы | Высокие (заголовок 20+ байт, подтверждения, повторные передачи). | Низкие (заголовок 8 байт). |
| Использование | HTTP(S), FTP, SSH, SMTP — где важна надежность. | DNS, VoIP (Zoom, Skype), онлайн-игры, стриминг — где важна скорость и низкая задержка. |
Пример сокета UDP в PHP (отправка):
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
$message = 'Данные для быстрой отправки';
$targetIp = '192.168.1.100';
$targetPort = 9000;
// sendto — отправка без установки соединения
socket_sendto($socket, $message, strlen($message), 0, $targetIp, $targetPort);
socket_close($socket);
Выбор протокола:
- Выбирайте TCP, когда критически важна полнота и точность данных (веб-страницы, файлы, команды).
- Выбирайте UDP, когда важнее минимальная задержка (latency) и потеря отдельных пакетов некритична (видеозвонок, игровая позиция).
Видео-ответы
▶
Реальное Техническое Собеседование с ВК на Senior Php Разработчика
▶
Собеседование на Golang 300к
▶
РЕАЛЬНОЕ СОБЕСЕДОВАНИЕ В OZON ч.3 Техничесий скрининг на го. Потрачено.
▶
MIDDLE DEVOPS | MOCK СОБЕСЕДОВАНИЯ
▶
Моковое собеседование на Middle Golang разработчика | Solvery & Uproger
▶
Golang живое собеседование Middle Go разработчика!
▶
Тестовое собеседование на позицию Go-разработчика / Ingternet
▶
РЕАЛЬНОЕ СОБЕСЕДОВАНИЕ ПО NODEJS НА 260.000 РУБ
▶
Linux, Базы Данных, Сети. СОБЕСЕДОВАНИЕ Middle DevOps инженера. Часть 2.
▶
Открытое собеседование на Go-разработчика | Анонс менторской программы
▶
Парень к 16-ти годам изучил Linux и DevOps и занимается пентестом? / Техсобес Junior DevOps Engineer
▶
Tech Interview Fest | Моковое cобеседование для Go Junior | Solvery + Go-go! | Владимир Балун, Ozon
▶
Реальное собеседования DevOps инженер Junior++