Модель OSI: семь уровней и разбор настоящего сетевого пакета

Модель OSI раскладывает передачу данных на семь уровней, от сигнала в кабеле до HTTP и DNS.

Внутри таблица уровней с протоколами и устройствами, сравнение со стеком TCP/IP, порядок поиска неисправностей и настоящий DNS-запрос, снятый tcpdump и разобранный по уровням.

Статью написал:
Ваня Буявец, продюсер, основатель Checkroi
Ваня Буявец
Основатель Checkroi, продюсер, эксперт в выборе онлайн-курсов
Все 2906 статей автора Подписаться на Телеграм-канал
Одобрено экспертом:
Наташа Буявец, основатель Checkroi, эксперт по онлайн-курсам
Наташа Буявец
Основательница Checkroi, продюсер Youtube-каналов, эксперт по онлайн-курсам
Все 3560 экспертных мнений Подписаться на Телеграм-канал
Обложка: Модель OSI: семь уровней и разбор настоящего сетевого пакета

Модель OSI делит передачу данных по сети на семь уровней: физический, канальный, сетевой, транспортный, сеансовый, представления и прикладной. Каждый уровень решает одну задачу и пользуется услугами соседа снизу. Сигнал в кабеле живёт на первом уровне, MAC-адреса на втором, IP-адреса на третьем, порты TCP и UDP на четвёртом, а HTTP и DNS на седьмом.

Ниже разберём каждый уровень, сравним OSI со стеком TCP/IP и посмотрим на настоящий пакет, который мы сняли с сервера. Если с самими протоколами вы пока не знакомы, начните с обзора сетевых протоколов простыми словами.

CheckroiCheckroiПодборка курсов по сетевому администрированию40 курсов • 18 школСравните цены, школы, программу и найдите выгодные предложения по обучениюСравнить→

Что такое модель OSI и откуда она взялась

Рой-сетевой инженер у стойки с сетевым оборудованием

OSI расшифровывается как Open Systems Interconnection, по-русски «взаимосвязь открытых систем», отсюда второе название модели: эталонная модель взаимодействия открытых систем, или ЭМВОС. Первую редакцию Международная организация по стандартизации выпустила в октябре 1984 года как ISO 7498:1984.

Действующая версия описана тремя документами с одинаковым содержанием:

Модель OSI не протокол и не программа. Ни один компьютер не «работает по OSI». Это схема, которая раскладывает сетевую работу по полкам, чтобы инженеры разных компаний говорили на одном языке.

Отсюда три практические пользы:

  • общий словарь: «проблема на втором уровне» сразу говорит коллеге, что искать надо в коммутаторе или VLAN, а не в коде сайта;
  • порядок диагностики: проверять сеть снизу вверх быстрее, чем гадать;
  • собеседования: вопрос про уровни OSI задают и сетевым инженерам, и системным администраторам, и бэкенд-разработчикам.

7 уровней модели OSI в одной таблице

Уровни нумеруют снизу вверх: первый ближе всего к проводу, седьмой ближе всего к программе. У каждого уровня свой блок данных, который в стандарте называется PDU.

№ Уровень За что отвечает Блок данных Примеры
7 Прикладной (Application) Сервисы для программ: страницы, почта, имена Данные HTTP, DNS, SMTP, SSH
6 Представления (Presentation) Формат, кодировка, сжатие, шифрование Данные UTF-8, JPEG, TLS (спорно, см. ниже)
5 Сеансовый (Session) Открыть, поддержать и закрыть диалог Данные RPC, NetBIOS
4 Транспортный (Transport) Доставка от программы к программе по портам Сегмент (TCP), датаграмма (UDP) TCP, UDP
3 Сетевой (Network) Адресация и маршрут между сетями Пакет IPv4, IPv6, ICMP; маршрутизатор
2 Канальный (Data Link) Передача внутри одной сети по MAC-адресам Кадр Ethernet, Wi-Fi, ARP; коммутатор
1 Физический (Physical) Биты в виде сигнала: ток, свет, радио Бит Витая пара, оптика, радиоканал; концентратор

Чтобы запомнить порядок сверху вниз, хватает английской фразы «All People Seem To Need Data Processing»: первые буквы совпадают с Application, Presentation, Session, Transport, Network, Data Link, Physical.

Канал основателя Checkroi Вани Буявца3 700 человек читают мой Телеграм-канал про нейросетиСобрал промпты для Claude Code и ChatGPT, разборы ИИ-инструментов и лайфхаки по продвижению бизнеса в одном местеПрисоединиться

Что делает каждый уровень

Физический и канальный (L1 и L2)

Физический уровень отвечает за то, как ноль и единица превращаются в сигнал: напряжение в медном кабеле, вспышку в оптоволокне, радиоволну. Здесь живут разъёмы, кабели, скорость линии и концентраторы, которые просто повторяют сигнал во все порты. С этим уровнем каждый день работают специалисты связи, от монтажника до инженера.

Канальный уровень собирает биты в кадры и доставляет их внутри одного сегмента сети. Адрес здесь MAC, шесть байт, прошитых в сетевую карту. Коммутатор читает MAC получателя и отправляет кадр только в нужный порт. Сюда же относятся VLAN и протокол ARP, который узнаёт MAC по IP-адресу.

Сетевой и транспортный (L3 и L4)

Сетевой уровень решает, как пакету добраться из одной сети в другую. Адрес здесь IP, а работает с ним маршрутизатор: он смотрит на IP получателя и выбирает следующий шаг по таблице маршрутов. Утилиты ping и traceroute работают через ICMP, служебный протокол этого же уровня.

Транспортный уровень доставляет данные уже не компьютеру, а конкретной программе на нём, и для этого у него есть порты. Два главных протокола, и оба подробно разбирают на курсах по TCP/IP:

  • TCP устанавливает соединение, нумерует байты, просит повторить потерянное и соблюдает порядок. Подходит для сайтов, почты, SSH;
  • UDP отправляет датаграмму и не ждёт подтверждения. Подходит для DNS, голосовой связи, игр, где важна скорость.

Сеансовый, представления и прикладной (L5, L6 и L7)

Сеансовый уровень следит за диалогом: кто сейчас передаёт, где поставить контрольную точку, как восстановить обмен после обрыва. Уровень представления договаривается о формате: кодировка текста, сжатие, шифрование.

Прикладной уровень даёт программам готовые сервисы. Браузер не думает о кадрах и маршрутах, он отправляет HTTP-запрос, а остальное делают нижние уровни. На этом же уровне программы обмениваются данными через API. Тот же уровень занимают DNS, почтовые протоколы и SSH.

В реальных программах три верхних уровня почти всегда слиты в одном приложении или одной библиотеке. Поэтому вопрос «на каком уровне работает X» для L5–L7 часто не имеет единственного ответа.

Разбираем настоящий пакет по уровням

Таблица уровней понятнее, когда видишь их в живом трафике. Мы отправили с сервера DNS-запрос к публичному резолверу Яндекса 77.88.8.8 командой dig @77.88.8.8 example.com A и одновременно записали его утилитой tcpdump 4.99.4 с ключами -e -nn -vvv. Адрес нашего сервера в выводе заменён на учебный 203.0.113.10, остальное как есть.

11:16:32.496926 00:16:3c:b0:8f:d8 > 48:8f:5a:00:e2:c7, ethertype IPv4 (0x0800), length 94:
  (tos 0x0, ttl 64, id 17994, offset 0, flags [none], proto UDP (17), length 80)
  203.0.113.10.60336 > 77.88.8.8.53: [bad udp cksum 0x993f -> 0x3e79!] 42823+ [1au] A? example.com.
11:16:32.500186 48:8f:5a:00:e2:c7 > 00:16:3c:b0:8f:d8, ethertype IPv4 (0x0800), length 114:
  (tos 0x0, ttl 55, id 53874, offset 0, flags [none], proto UDP (17), length 100)
  77.88.8.8.53 > 203.0.113.10.60336: [udp sum ok] 42823 q: A? example.com. 2/0/1
  example.com. A 8.47.69.0, example.com. A 8.6.112.0

Одна строка вывода содержит заголовки сразу нескольких уровней. Разложим первый пакет:

Фрагмент вывода Уровень Что означает
00:16:3c:b0:8f:d8 > 48:8f:5a:00:e2:c7 2, канальный MAC сервера и MAC шлюза: кадр идёт до ближайшего роутера, а не до Яндекса
ethertype IPv4 (0x0800) 2 → 3 Поле кадра говорит, что внутри лежит IPv4. Код 0x0800 есть в реестре EtherType у IANA
ttl 64, proto UDP (17) 3, сетевой Время жизни пакета и номер протокола следующего уровня
203.0.113.10 > 77.88.8.8 3, сетевой IP отправителя и получателя
.60336 > .53 4, транспортный Случайный порт клиента и порт 53, закреплённый за DNS в RFC 1035
A? example.com. 7, прикладной Сам DNS-вопрос: какой IPv4-адрес у example.com

Обратите внимание на ttl 55 в ответе. Каждый маршрутизатор по пути вычитает из TTL единицу. Если резолвер отправил ответ с распространённым начальным значением 64, по дороге было около девяти узлов третьего уровня. Канальный адрес отправителя при этом снова MAC нашего шлюза: на втором уровне видно только ближайшего соседа.

Пометка bad udp cksum у исходящего пакета пугает зря. В справке tcpdump к ключу -K сказано, что на интерфейсах, где контрольные суммы считает оборудование, исходящие суммы TCP будут отмечены как неверные (с UDP происходит то же самое). Утилита видит пакет раньше, чем сетевая карта допишет сумму.

Где здесь уровни 5 и 6

Их в выводе нет, и это честный результат. DNS поверх UDP не открывает сеанс и не шифрует данные, поэтому отдельных заголовков сеансового уровня и уровня представления в пакете не видно.

Похожая картина с HTTP. Тем же tcpdump мы записали запрос curl http://example.com/:

203.0.113.10.53832 > 8.6.112.5.80: Flags [S], seq 2735758587, win 64240, length 0
8.6.112.5.80 > 203.0.113.10.53832: Flags [S.], seq 3833237196, ack 2735758588, length 0
203.0.113.10.53832 > 8.6.112.5.80: Flags [.], ack 1, win 502, length 0
203.0.113.10.53832 > 8.6.112.5.80: Flags [P.], seq 1:75, ack 1, length 74: HTTP: GET / HTTP/1.1
8.6.112.5.80 > 203.0.113.10.53832: Flags [P.], seq 1:931, ack 75, length 930: HTTP: HTTP/1.1 200 OK

Первые три строки показывают тройное рукопожатие TCP (флаги SYN, SYN+ACK, ACK), это четвёртый уровень. Порядок описан в RFC 9293, действующей спецификации TCP 2022 года. Только после него идёт GET, седьмой уровень. Если открыть тот же сайт по HTTPS, между TCP и HTTP появится рукопожатие TLS, и HTTP внутри станет нечитаемым для tcpdump. Разбирать такой трафик и искать в нём атаки учатся те, кто идёт в кибербезопасность.

Инкапсуляция и декапсуляция

Посылка, упакованная в несколько вложенных коробок с ярлыками

Пакет из примера выше собран по принципу матрёшки. Каждый уровень на отправке добавляет к данным свой заголовок, а на приёме снимает его. Первый процесс называется инкапсуляцией, второй декапсуляцией.

  1. Программа формирует данные: DNS-вопрос или HTTP-запрос.
  2. Транспортный уровень добавляет заголовок с портами, получается сегмент TCP или датаграмма UDP.
  3. Сетевой уровень добавляет IP-адреса и TTL, получается пакет.
  4. Канальный уровень добавляет MAC-адреса и контрольную сумму кадра.
  5. Физический уровень превращает кадр в сигнал.

Получатель идёт в обратную сторону: сетевая карта читает сигнал, драйвер снимает кадр, ядро снимает IP и UDP, а программа получает чистый DNS-ответ. Маршрутизатор по дороге разбирает пакет только до третьего уровня: ему хватает IP-адреса. Межсетевой экран нового поколения, наоборот, разбирает трафик до седьмого уровня и видит, какое приложение его отправило.

Поэтому системный администратор при сбое начинает с сетевой карты и драйвера, а программу проверяет последней.

OSI и TCP/IP: в чём разница

Интернет работает на стеке TCP/IP, а не на протоколах OSI. В RFC 1122 1989 года у него четыре уровня: канальный (link), межсетевой (internet), транспортный и прикладной. Там же сказано, что прикладной уровень интернета объединяет функции двух верхних уровней OSI, представления и прикладного. Сеансовый уровень на практике тоже относят к прикладному, как в таблице ниже.

Сама модель OSI осталась в ходу, номера её уровней стали рабочим жаргоном: «балансировщик L4» (такие настраивают DevOps-инженеры), «коммутатор L3», «защита от DDoS-атак на уровне L7».

Модель OSI Стек TCP/IP Протоколы
7 Прикладной, 6 Представления, 5 Сеансовый Прикладной HTTP, DNS, SMTP, TLS
4 Транспортный Транспортный TCP, UDP
3 Сетевой Межсетевой IP, ICMP
2 Канальный, 1 Физический Канальный Ethernet, Wi-Fi

У строгого деления есть и критики. В RFC 3439 2002 года раздел так и называется: «Layering Considered Harmful». Авторы пишут, что жёсткие слои связывают оптимизацию одного уровня с другими и добавляют сложности.

Ваня БуявецКанал основателя Checkroi Вани БуявцаЗабирайте промпты и обучение по нейросетям в моём Телеграм-каналеБольше 3 700 человек уже применяют Claude Code, ChatGPT и другие нейросети в работе, учёбе, бизнесе и жизниПерейти в канал

Как модель OSI помогает искать неисправности

Довольный Рой нашёл неисправность и отмечает проверенные уровни

Главная практическая польза модели в порядке проверки. Если «не открывается сайт», идите снизу вверх и не перескакивайте уровни:

  1. L1: светится ли индикатор порта, подключён ли кабель. В Linux флаг LOWER_UP в выводе ip -br link значит, что физическая связь есть.
  2. L2: получил ли компьютер MAC шлюза, нет ли ошибки VLAN. Смотрят командой ip neigh.
  3. L3: есть ли IP-адрес и маршрут по умолчанию, отвечает ли шлюз на ping.
  4. L4: открыт ли нужный порт на сервере, не режет ли его межсетевой экран.
  5. L7: превращается ли имя в адрес (dig), какой HTTP-код отдаёт сервер (curl -I).

Эти команды входят в шпаргалку по командам Linux, а именно такой разбор ждут на собеседовании системного администратора: не определения, а последовательность действий.

Частые ошибки в понимании модели

  • «DNS работает на сетевом уровне». Нет, DNS прикладной протокол седьмого уровня. Он ездит поверх UDP или TCP на порту 53, как видно в разборе выше.
  • «Коммутатор всегда второй уровень». Обычный коммутатор работает с MAC-адресами, но управляемые L3-коммутаторы умеют маршрутизировать по IP.
  • «TLS точно на шестом уровне». Однозначного ответа нет. TLS шифрует, как уровень представления, но устанавливает сессию, как сеансовый, а в TCP/IP относится к прикладному. На собеседовании лучше так и объяснить.
  • «Уровни считают сверху». Нумерация идёт от физического уровня: L1 нижний, L7 верхний.
  • «OSI устарела, учить незачем». Протоколы OSI почти не применяются, а номера уровней встречаются в документации к оборудованию, облакам и средствам защиты каждый день.

Где освоить сетевые технологии системно

С модели OSI обычно начинаются курсы по сетям. Дальше идут адресация и подсети, маршрутизация, VLAN, настройка оборудования и разбор трафика. Если хотите работать с сетями профессионально, посмотрите план, как стать сетевым инженером, и сравните программы в подборке ниже.

КурсШколаСтоимость со скидкойВ рассрочкуДлитель­ностьОбзор курса от Checkroi
Администрирование ОС Linux
Перейти на сайт курса
SkillboxSkillbox87 531 ₽5556 ₽/мес.3 месяцаОбзор курса
Профессия «Сетевой инженер»
Перейти на сайт курса
НетологияНетология90 800 ₽3575 ₽/мес.12 месяцевОбзор курса
Сетевые технологии
Перейти на сайт курса
MerionMerion21 840 ₽1578 ₽/мес.2 месяцаОбзор курса
Сетевые технологии Huawei
Перейти на сайт курса
MerionMerion11 830 ₽938 ₽/мес.2 месяцаОбзор курса
Учебная программа “Кибербезопасность и Сетевые технологии”
Перейти на сайт курса
Компьютерная академия TOPАкадемия ТОПБесплатно - 2 годаОбзор курса

Больше программ — в полном каталоге курсов по сетевому администрированию

Часто задаваемые вопросы

Сколько уровней в модели OSI?

Семь. Снизу вверх: физический, канальный, сетевой, транспортный, сеансовый, представления и прикладной. Нумерация идёт от физического уровня, поэтому L1 нижний, а L7 верхний.

На каком уровне модели OSI работают IP и TCP?

IP работает на третьем, сетевом уровне: он отвечает за адреса и маршрут между сетями. TCP и UDP относятся к четвёртому, транспортному уровню и доставляют данные конкретной программе по номеру порта. Подробнее о самих протоколах в статье про сетевые протоколы.

На каком уровне модели OSI работает DNS?

На седьмом, прикладном. DNS передаёт свои сообщения поверх UDP или TCP на порту 53, это закреплено в RFC 1035.

Чем модель OSI отличается от TCP/IP?

В OSI семь уровней, в стеке TCP/IP четыре: канальный, межсетевой, транспортный и прикладной (RFC 1122). OSI служит эталонной схемой и словарём, а интернет работает на протоколах TCP/IP.

Как расшифровывается OSI?

Open Systems Interconnection, по-русски «взаимосвязь открытых систем». Отсюда второе название, эталонная модель взаимодействия открытых систем (ЭМВОС). Действующая версия описана в ISO/IEC 7498-1:1994 и рекомендации ITU-T X.200.

Читайте Checkroi первым в Google
Добавьте Checkroi в избранные источники — и наши разборы курсов и обзоры школ будут показываться выше в вашей выдаче Google.
Оставить комментарий
0 комментариев
Форма комментария

Оставьте комментарий

Напишите, что думаете. Нам важно ваше мнение!