Наиболее существенные различия между TCP (Transmission Control Protocol) и UDP (User Datagram Protocol) следующие:
-
Установка соединения:
- TCP - протокол с установлением соединения (connection-oriented). Перед передачей данных происходит трехстороннее рукопожатие (three-way handshake).
- UDP - протокол без установления соединения (connectionless). Данные отправляются без предварительного согласования.
-
Надежность доставки:
- TCP - надежный протокол. Гарантирует доставку, контроль порядка пакетов и повторную передачу потерянных данных.
- UDP - ненадежный протокол. Не гарантирует доставку, порядок пакетов и не выполняет повторную передачу.
-
Управление потоком и перегрузкой:
- TCP - имеет механизмы управления потоком (предотвращает отправку данных быстрее, чем получатель может их обработать) и управления перегрузкой (регулирует скорость отправки при перегрузке сети).
- UDP - не имеет встроенных механизмов управления потоком и перегрузкой.
-
Скорость:
- TCP - из-за накладных расходов на установление соединения, подтверждение доставки и управление потоком/перегрузкой обычно медленнее UDP.
- UDP - более быстрый протокол, так как имеет меньшие накладные расходы.
-
Размер заголовка:
- TCP - заголовок имеет размер 20-60 байт.
- UDP - заголовок имеет размер 8 байт.
-
Области применения:
- TCP - используется для приложений, требующих надежной доставки данных: HTTP, FTP, SSH, SMTP.
- UDP - используется для приложений, где важна скорость, а потеря данных допустима или обрабатывается на уровне приложения: DNS, DHCP, стриминг видео/аудио, онлайн-игры, VoIP.
Сводная таблица:
| Признак | TCP | UDP |
|---|
| Тип протокола | С установлением соединения | Без установления соединения |
| Надежность | Надежный | Ненадежный |
| Порядок доставки | Гарантируется | Не гарантируется |
| Повторная передача | Есть | Нет |
| Управление потоком | Есть | Нет |
| Управление перегр. | Есть | Нет |
| Скорость | Относительно медленный | Относительно быстрый |
| Размер заголовка | 20-60 байт | 8 байт |
| Примеры применен. | HTTP, FTP, SSH | DNS, VoIP, Игры |