Какие протоколы уровней модели TCP/IP ты знаешь?

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

Ответ

Модель TCP/IP состоит из четырех уровней, и я регулярно работаю с протоколами на каждом из них, особенно при настройке сетевой инфраструктуры и диагностике проблем.

1. Прикладной уровень (Application Layer):

  • HTTP/HTTPS: Для веб-сервисов и API. В DevOps мы настраиваем балансировку, кэширование (Varnish, CDN) и TLS-терминацию для этих протоколов.
  • SSH: Критически важен для безопасного удаленного управления серверами и автоматизации (Ansible).
  • DNS: Преобразование доменных имен. Настраиваем DNS-записи, кэширующие серверы (Unbound) и мониторим разрешение имен.
  • FTP/SFTP: Для передачи файлов, часто интегрируется в CI/CD пайплайны для деплоя артефактов.

2. Транспортный уровень (Transport Layer):

  • TCP: Надежный протокол с установкой соединения. Используется для веб-трафика, баз данных, SSH. В работе мы настраиваем таймауты, размеры буферов и используем tcpdump для отладки (sudo tcpdump -i any tcp port 443).
  • UDP: Без установки соединения, быстрее. Применяется для DNS-запросов, мониторинга (StatsD, Prometheus push-gateway), VoIP. Требует обработки потери пакетов на уровне приложения.

3. Сетевой уровень (Internet Layer):

  • IP (IPv4/IPv6): Основной протокол для адресации и маршрутизации пакетов. Работа с подсетями, таблицами маршрутизации и настройка фаерволов (iptables, nftables) — ежедневная задача.
  • ICMP: Для диагностики сети. Команды ping и traceroute — первые инструменты при проверке доступности хоста или диагностике сетевых путей.

4. Канальный уровень (Link Layer):

  • Ethernet (ARP, MAC-адреса): Работает на уровне сетевого оборудования. В облачных средах (AWS VPC, GCP VPC) абстрагируется, но понимание необходимо для настройки VLAN, bridge-интерфейсов в виртуализации или работы с SDN.

Пример из практики: При проблеме с подключением к веб-серверу цепочка диагностики часто выглядит так: ping (ICMP) -> проверка DNS -> curl -v (HTTP/TCP) -> анализ логов фаервола (IP) -> tcpdump для захвата трафика.