Как работает протокол транспортного уровня

«Как работает протокол транспортного уровня» — вопрос из категории Сети, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Протоколы транспортного уровня (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 — тоже, но без сессий.