Какие протоколы используются на транспортном (четвёртом) уровне модели OSI?

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

Ответ

На транспортном уровне (L4) работают протоколы, которые обеспечивают сквозную передачу данных между приложениями на разных хостах. В контексте DevOps и сетевой инфраструктуры наиболее критичны два:

  • TCP (Transmission Control Protocol) — надежный, с установкой соединения (three-way handshake), контролем перегрузок и гарантированной порядковой доставкой пакетов. Используется там, где важна целостность данных.

    • Примеры в DevOps: HTTPS-трафик к веб-серверам и API, передача данных между компонентами кластера (например, etcd в Kubernetes), SSH-сессии.
  • UDP (User Datagram Protocol) — ненадежный, без установки соединения. Он быстрее и имеет меньшие накладные расходы, но не гарантирует доставку или порядок пакетов. Используется для данных, где скорость важнее надежности.

    • Примеры в DevOps: DNS-запросы, мониторинг (метрики StatsD, часть трафика SNMP), стриминг логов в некоторых системах, VoIP в сервисах оповещения.

Практическое значение для DevOps: При настройке балансировщиков нагрузки (Nginx, HAProxy, cloud load balancers), фаерволов (iptables, security groups) и сетевых политик в Kubernetes (Network Policies) необходимо понимать разницу. Например, правило для доступа к базе данных будет открывать порт для TCP, а правило для DNS-резолвера — для UDP (и иногда TCP).