# Networking — TCP vs UDP (one-screen)

**TCP** и **UDP** — основные протоколы транспортного уровня (L4) модели OSI.

Источник: [[01 Library/04 Networking/Протоколы/TCP vs UDP|TCP vs UDP]].

## TCP (Transmission Control Protocol)
- **Надёжный**, ориентирован на соединение.
- Перед передачей — **3‑way handshake**:
  1) **SYN** — запрос на установку соединения
  2) **SYN-ACK** — подтверждение
  3) **ACK** — соединение установлено, можно передавать данные
- После передачи частей данных получатель отправляет **подтверждения** (ACK), что повышает надёжность.
- Цена: больше накладных расходов → обычно **медленнее**.
- Базовый RFC: **RFC 793**.

## UDP (User Datagram Protocol)
- **Без установления соединения**: просто отправляет датаграммы.
- Возможны потери/перестановка порядка.
- Подходит, когда важнее скорость, чем идеальная точность (видео/звонки и т.п.).

## Практический выбор (очень грубо)
- “точность важнее” → TCP
- “скорость важнее” → UDP

Связанные узлы: [[Networking—MOC]], [[Networking—ICMP & Ping (one-screen)]].
