OSI и TCP/IP
Семь уровней OSI, четыре уровня TCP/IP. Зачем эти цифры в названиях балансировщиков.
Зачем вообще модель
Между проводом и твоим JSON-эндпоинтом — десяток технологий, которые должны как-то договариваться. Модель уровней нужна по одной причине: каждый слой решает свою задачу и не лезет в чужие. TCP не знает, как пакет физически летит по кабелю. HTTP не знает, как пакет добирается до хоста. Это даёт изоляцию: поменял Wi-Fi на ethernet, а HTTP даже не заметил.
Две модели
В индустрии живут две: академическая OSI (7 уровней) и реальная TCP/IP (4 уровня). OSI встречается в учебниках и на собесах, TCP/IP работает в железе и сетевых стеках.
| TCP/IP | Что делает | OSI (эквивалент) | Примеры |
|---|---|---|---|
| Application | приложения и протоколы | L7 Application, L6, L5 | HTTP, SSH, DNS, SMTP |
| Transport | доставка между процессами | L4 Transport | TCP, UDP |
| Internet | маршрутизация между хостами | L3 Network | IP, ICMP |
| Link | кадрирование + физическая передача битов | L2 Data Link, L1 Physical | Ethernet, Wi-Fi, MAC |
На практике говорят "L4", "L7": это OSI-нумерация, и она прижилась именно из-за такой нотации.
Что добавляет каждый уровень
Когда твой браузер открывает google.com, HTTP-запрос постепенно
обрастает заголовками. Каждый уровень добавляет свой "конверт":
Добавление заголовков на отправителе — это инкапсуляция. На той стороне сервер разворачивает фрейм в обратном порядке: снимает Ethernet, IP, TCP, остаётся HTTP. Обратный разбор называют де-инкапсуляцией.
L4 vs L7 балансировщик
Это самый частый вопрос про OSI, который реально встречается на работе.
L4-балансировщик (TCP/UDP) решает, на какой backend отправить соединение, по IP и порту. Он не знает, что внутри: HTTP, RPC, бинарный протокол. Быстрее и проще, но видит меньше.
Примеры: AWS NLB, HAProxy в TCP-mode, nginx в stream режиме.
L7-балансировщик (HTTP) парсит HTTP-запрос и принимает решение по
URL, заголовкам, cookie. Может делать sticky session по cookie,
маршрутизацию /api/* на один backend, /static/* на другой.
Примеры: AWS ALB, nginx в http режиме, Traefik, Envoy.
В DevOps выбор простой: если надо роутить по path/host, бери L7. Для простого распределения TCP-трафика хватит L4, и стоит он дешевле.
Что важно запомнить
OSI — 7 уровней для лекций, TCP/IP — 4 уровня в реальном железе.
L4 = TCP/UDP + порты, L7 = HTTP и прикладные протоколы.
Каждый уровень оборачивает данные верхнего. Это и есть инкапсуляция.
Когда слышишь "L7-rules в Ingress" или "L4-NLB", в голове должна всплыть эта таблица.
В следующем уроке — L3 и L4 предметно: IP, порты, приватные диапазоны.
Дрилл · вопросы как на собесе
Проверь себя без подсказок
Сформулируй ответ вслух или письменно, потом раскрой и честно отметь: знал или нет.
Опиши уровни модели OSI и TCP/IP.
NET-004Прошли материал до конца? Отметьте урок пройденным.
Прогресс сохранён в этом браузере
Почистишь историю или откроешь с телефона, и отметки пропадут. Оставь почту, они переедут в аккаунт. Пароль придумывать не нужно.
Готово. теперь в аккаунте: прогресс виден с любого устройства. Мой прогресс