Как данные путешествуют по сети

Без понимания принципов сетевых взаимодействий нельзя спроектировать надёжную балансировку, выстроить защиту от DDoS или настроить таймауты между микросервисами.

Модель OSI (Open Systems Interconnection) — это концептуальная модель, которая описывает, как данные проходят путь от твоего приложения (верхний уровень) до физического кабеля (нижний уровень) и обратно к серверу.

Уровень Ключевые задачи Базовые протоколы
7 Прикладной (Application) Взаимодействие пользователя и приложений HTTP/HTTPS, DNS, SSH, SMTP
6 Представления (Presentation) Шифрование (TLS/SSL), сжатие, кодировка TLS 1.3, JPEG, JSON
5 Сеансовый (Session) Установление/завершение сеанса NetBIOS, RPC
4 Транспортный (Transport) Надёжная или быстрая доставка, порты TCP, UDP
3 Сетевой (Network) Маршрутизация пакетов, IP-адресация IPv4/IPv6, ICMP (ping)
2 Канальный (Data Link) MAC-адреса, детекция ошибок в локальной сети Ethernet, ARP
1 Физический (Physical) Биты, сигналы, кабели, радиоволны Оптика, Wi-Fi

Для разработчиков важно понимать уровни 7, 4 и 3. Давай разберем их сверху вниз — так, как формируется запрос от браузера.

Слой 7: Прикладной (Application Layer)

Это уровень, на котором общаются сами приложения. Здесь формируется бизнес-смысл запроса. Например, когда твой браузер формирует HTTP-запрос GET /api/users — это работа 7-го уровня. Данные форматируются (JSON, XML) и передаются ниже.

Слой 4: Транспортный (Transport Layer)

Данные спустились на 4-й уровень. Его главная задача — понять, какому именно процессу на сервере отдать данные, и как именно их доставлять (надежно или быстро). Здесь появляются Порты (Ports).

  • Сегментация: Большой JSON разбивается на мелкие сегменты.
  • Идентификация: Добавляются порты (например, Source Port: 54321 → Destination Port: 443).
  • Выбор протокола: TCP (надежно) или UDP (быстро).
Слой 3: Сетевой (Network Layer)

Сегменты спустились на 3-й уровень и превратились в Пакеты. Задача этого уровня — глобальная маршрутизация. Как доставить пакет из Москвы в Нью-Йорк через десятки роутеров? Здесь появляются IP-адреса.

  • К пакету добавляется Source IP (твой) и Destination IP (сервера).
  • Протоколы: IPv4 / IPv6.