Без понимания принципов сетевых взаимодействий нельзя спроектировать надёжную балансировку, выстроить защиту от 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-запрос — это работа 7-го уровня. Данные форматируются (JSON, XML) и передаются ниже.GET /api/users
Слой 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.