Модели OSI и TCP/IP
Модели OSI и TCP/IP
До сих пор мы обсуждали отдельные «ингредиенты» интернета: кабели, свитчи, IP-адреса, пакеты. Теперь соберём их в цельную картину. Для этого инженеры придумали сетевые модели — способ разложить сложный процесс передачи данных на понятные уровни.
Зачем нужны уровни
Передача данных по сети — это десятки операций, выполняемых одновременно: модуляция сигнала, адресация, маршрутизация, проверка ошибок, шифрование, сжатие... Если попытаться описать всё одной гигантской инструкцией — получится нечитаемый хаос.
Уровни решают эту проблему: каждый уровень отвечает за свою задачу и ничего не знает о внутренностях других. Уровень, отвечающий за маршрутизацию, не заботится о том, как биты кодируются в электрические сигналы. Уровень, передающий биты, не знает, веб-страница это или видео-звонок.
Такое разделение даёт два преимущества:
- Модульность. Можно заменить технологию на одном уровне, не трогая остальные. Переход с Wi-Fi 5 на Wi-Fi 6 не требует переписывать браузер.
- Взаимозаменяемость. Каждый уровень предоставляет стандартный интерфейс уровню выше. TCP не важно, работает под ним Ethernet или Wi-Fi — он получает IP-пакеты в обоих случаях.
Модель OSI: эталон из семи уровней
OSI (Open Systems Interconnection) — это справочная модель, разработанная в 1984 году. Она описывает 7 уровней — от физического сигнала до пользовательского приложения:
| № | Уровень | Задача | Примеры |
|---|---|---|---|
| 7 | Прикладной (Application) | Интерфейс для приложений | HTTP, FTP, SMTP, DNS |
| 6 | Представления (Presentation) | Формат данных, шифрование | TLS/SSL, JPEG, ASCII |
| 5 | Сеансовый (Session) | Управление сеансами связи | NetBIOS, RPC |
| 4 | Транспортный (Transport) | Надёжность, порядок, порты | TCP, UDP |
| 3 | Сетевой (Network) | Адресация, маршрутизация | IP, ICMP |
| 2 | Канальный (Data Link) | Кадры, MAC-адреса, доступ к среде | Ethernet, Wi-Fi |
| 1 | Физический (Physical) | Биты, сигналы, кабели и разъёмы | RJ-45, оптоволокно, радиоволны |
Мнемоника для запоминания (сверху вниз): All People Seem To Need Data Processing. Снизу вверх: Please Do Not Throw Sausage Pizza Away.
OSI красива, но реальный интернет построен не по ней. На практике используют более простую модель.
Модель TCP/IP: четыре уровня вместо семи
TCP/IP-модель — это то, как устроен интернет на самом деле. Она компактнее: четыре уровня вместо семи:
┌──────────────────────────────┐
│ Прикладной (Application) │ HTTP, DNS, FTP, SMTP...
│ OSI 7 + 6 + 5 │
├──────────────────────────────┤
│ Транспортный (Transport) │ TCP, UDP
│ OSI 4 │
├──────────────────────────────┤
│ Межсетевой (Internet) │ IP, ICMP
│ OSI 3 │
├──────────────────────────────┤
│ Сетевого доступа (Link) │ Ethernet, Wi-Fi, MAC
│ OSI 2 + 1 │
└──────────────────────────────┘
В TCP/IP-модели верхние три уровня OSI (прикладной, представления, сеансовый) слиты в один прикладной. Два нижних (канальный и физический) — в уровень сетевого доступа. Транспортный и межсетевой сохраняются как есть.
Что делает каждый уровень TCP/IP
Уровень сетевого доступа (Link). Физическая передача битов между соседними устройствами в одной сети. Оперирует MAC-адресами и Ethernet-кадрами. Свитч работает на этом уровне.
Межсетевой уровень (Internet). Доставка пакетов между разными сетями. Оперирует IP-адресами. Роутер работает на этом уровне. Ключевое слово — «маршрутизация».
Транспортный уровень (Transport). Надёжность и управление соединениями. TCP гарантирует доставку и порядок, UDP — быструю передачу без гарантий. Оперирует портами. Ключевое слово — «сеанс связи».
Прикладной уровень (Application). Собственно, то, ради чего всё затевалось: веб-страницы (HTTP), почта (SMTP), файлы (FTP). Оперирует данными в понятном приложению формате.
Инкапсуляция: как данные «упаковываются» при отправке
Когда приложение отправляет данные, они проходят все уровни сверху вниз. Каждый уровень добавляет свой заголовок:
Прикладной уровень: [HTTP-запрос]
↓
Транспортный уровень: [TCP-заголовок | HTTP-запрос]
↓
Межсетевой уровень: [IP-заголовок | TCP-заголовок | HTTP-запрос]
↓
Сетевой доступ: [Ethernet-заголовок | IP-заголовок | TCP-заголовок | HTTP-запрос]
Это называется инкапсуляция — каждый уровень заворачивает данные в свой «конверт». На приёмной стороне уровни работают в обратном порядке, снимая свои заголовки и передавая «начинку» выше.
Сравнение двух моделей
| OSI | TCP/IP | |
|---|---|---|
| Уровней | 7 | 4 |
| Статус | Теоретическая, эталонная | Практическая, используется в интернете |
| Разработчик | ISO (международный стандарт) | Инженеры DARPA |
| Сеансовый и представления | Отдельные уровни | Внутри прикладного |
| Физический | Отдельный уровень | Часть Link-уровня |
| Для чего нужна | Для изучения и сравнения | Для реальной работы |
На собеседованиях часто спрашивают про OSI, потому что это общий язык для обсуждения сетей. Но строят реальные системы по TCP/IP.
Как использовать модель OSI на практике
Модель OSI помогает при диагностике: определи, на каком уровне проблема, и ты поймёшь, что именно проверять:
- Уровень 1 (физический) — «кабель воткнут?», «роутер включён?». Проверка: горит ли лампочка на сетевой карте.
- Уровень 2 (канальный) — «видит ли свитч устройство?». Проверка: загорелся ли индикатор порта.
- Уровень 3 (сетевой) — «проходит ли ping до IP-адреса?». Проверка:
ping 8.8.8.8. - Уровень 4 (транспортный) — «открыт ли порт?». Проверка:
nc -vz хост порт. - Уровень 7 (прикладной) — «отвечает ли веб-сервер?». Проверка: открыть сайт в браузере.
Проверь себя
- Сколько уровней в модели OSI? А в TCP/IP?
- На каком уровне OSI работает роутер? А свитч?
- Чем модель TCP/IP отличается от OSI, кроме количества уровней?
- OSI — 7 уровней, TCP/IP — 4 уровня.
- Роутер — на уровне 3 (сетевом), свитч — на уровне 2 (канальном).
- TCP/IP описывает реально работающий стек протоколов интернета, а OSI — теоретическая универсальная модель, созданная раньше, чем сложился интернет. В OSI сеансовый уровень и уровень представления выделены отдельно, в TCP/IP они — часть прикладного.
Что унести с урока
- Сетевые модели делят процесс передачи данных на уровни для упрощения и модульности.
- OSI — 7-уровневая эталонная модель. TCP/IP — 4-уровневая практическая модель интернета.
- Инкапсуляция: каждый уровень добавляет свой заголовок при отправке и снимает при приёме.
- Роутер = уровень 3 (IP). Свитч = уровень 2 (Ethernet). Браузер = уровень 7 (HTTP).
Теперь, когда архитектура ясна, погрузимся на транспортный уровень. В следующем уроке разберём TCP — протокол, который превращает ненадёжный IP в гарантированную доставку данных.