Ответ
Протоколы транспортного уровня (TCP и UDP) обеспечивают передачу данных между приложениями на разных хостах.
TCP (Transmission Control Protocol):
- Гарантирует доставку данных (надежный)
- Устанавливает соединение (3-way handshake)
- Контролирует поток и пересылает потерянные пакеты
- Пример в Go:
conn, err := net.Dial("tcp", "example.com:80")
if err != nil { /* обработка ошибки */ }
defer conn.Close()
UDP (User Datagram Protocol):
- Без установки соединения (ненадежный)
- Нет гарантии доставки, но быстрее
- Подходит для стриминга, VoIP
- Пример в Go:
conn, err := net.Dial("udp", "example.com:53")
if err != nil { /* обработка ошибки */ }
defer conn.Close()
TCP использует порты для идентификации приложений, UDP — тоже, но без сессий.