Согласно исследованиям британских учёных(🙃), примерно 80% всех нервных срывов субботним вечером происходит потому, что кино опять не грузится, а вы с попкорном уже готовы к просмотру.
По наблюдениям нашего сетевого инженера, имеющего в прошлом опыт работы в техподдержке провайдера, прежде чем обращаться на горячую линию с грозными обвинениями, нужно ответить на три вопроса:
- Роутер включён в розетку?
- Проверьте, не перегрыз ли кот кабель и не использовал ли ребёнок его как скакалку?
- Вы вообще в курсе, что Wi-Fi не появляется от одной только силы мысли?
Но бывают ситуации, когда всё сложнее, чем забытая кнопка питания или погрызенный провод. Тогда уже приходится разбираться глубже — по уровням. Сегодня пройдёмся по всем семи слоям модели OSI и заодно поймём, почему самый важный всё-таки восьмой: человеческий фактор.
Что такое модель OSI и зачем она нужна
Представьте, что вы включаете в приложении на телефоне умную лампочку в комнате. Между нажатием кнопки и тем, как лампа загорается, проходят миллисекунды, но за это время данные успевают пролететь через десятки устройств и протоколов. Модель OSI как раз и придумали, чтобы разложить это «волшебство» по полочкам.
Модель OSI (Open Systems Interconnection, или Эталонная модель взаимодействия открытых систем) — это не технология и не протокол, а концептуальный фреймворк (каркас), который описывает, как два устройства обмениваются данными по сети. Её разработали в конце 1970-х, а в 1984 году Международная организация по стандартизации (ISO) утвердила её как стандарт ISO 7498.
До появления OSI каждый производитель создавал свою уникальную сетевую архитектуру, что делало невозможным подключение оборудования от разных вендоров. OSI решила эту проблему, разделив процесс на универсальные, независимые уровни.
Главная идея: сложную задачу делим на семь слоев. Каждый слой или уровень обслуживает уровень выше и использует сервисы уровня ниже. Благодаря такой модульности инженеру не нужно знать, как устроен сетевой кабель (L1), чтобы писать код веб-приложения (L7). Он работает только со своим уровнем.
Семь слоев функционируют по принципу "стека": при отправке данных информация проходит вниз по стеку, получая упаковку на каждом слое (процесс инкапсуляции), а при получении — поднимается вверх, где упаковка снимается (деинкапсуляция).
Самый нижний слой отвечает за физическое представление данных, то есть за то, как данные передаются по проводам или с помощью радиоволн, а самый верхний — за то, как приложения взаимодействуют с сетью. Нижний слой оперирует такими понятиями, как «тип кабеля» или «тип коннектора», а верхний — такими, как HTTP или API.
Хотя в реальных сетевых реализациях используется упрощенная модель TCP/IP (о которой мы поговорим в следующей статье), модель OSI остается ценным инструментом для обучения, анализа проблем и обсуждения сетевых технологий. Понимание этой модели помогает специалистам структурировать свои знания о сетевых взаимодействиях и эффективно диагностировать проблемы — определив, на каком уровне возникла неполадка, можно быстрее найти её решение.
Рассмотрим каждый слой подробнее.
1 Уровень: Физический (Physical Layer, L1)
Самый нижний уровень, уровень реальных сигналов.
Физический (L1) и канальный (L2) уровни модели OSI формируют фундамент, без которого невозможна работа вышестоящих уровней. Эти два уровня отвечают за непосредственную передачу данных между устройствами в одном сегменте сети.
Физический уровень работает с «сырыми» битами — нулями и единицами, ничего не зная о том, что эти биты означают (картинка с котиком, голос бабушки или курс биткоина). Его задача — превратить эти биты в физические сигналы и отправить по среде передачи, а на приёмной стороне — наоборот, поймать сигналы и вернуть биты.
С помощью чего передаются биты:
- медные кабели (витая пара): передают информацию с помощью электрических импульсов;
- оптоволокно: работает за счет световых сигналов;
- беспроводные сети (Wi-Fi, Bluetooth и даже старый добрый ИК-порт в пультах): доставляют информацию с помощью радиоволн.
Стандарты и протоколы на физическом уровне:
- Ethernet 1000BASE-T, 10GBASE-T и т.д. — для витой пары,
- 1000BASE-SX/LX — для оптоволокна,
- IEEE 802.11ax/ay/be — для Wi-Fi,
- Bluetooth и т.д.
Устройства: сетевые карты, трансиверы, повторители (репитеры), хабы (сейчас почти вымерли), оптические приёмники-передатчики, антенны.
2 Уровень: Канальный (Data Link Layer, L2)
Уровень локальной адресации в пределах одного сегмента сети.
Если физический уровень — это просто «провода и волны», то канальный — это первый уровень, который уже начинает «думать». Он берёт голые биты от физического уровня, собирает их в аккуратные посылки — кадры (frames) — и доставляет их от одного устройства к другому внутри одной локальной сети (например, от вашего ноутбука до роутера или от компьютера до принтера в офисе). Каждый фрейм состоит из служебной информации — адреса отправителя и адреса получателя, — а также самих данных.
Главные задачи канального уровня:
- Формирует кадры: добавляет к данным заголовок (от кого и кому) и «хвостик» (контрольную сумму CRC).
* CRC (cyclic redundancy code) — циклически избыточный код или контрольная сумма. Это число, вычисленное на основе исходной информации, которое передаётся вместе с ней (дописывается в конце информационной части). Используется для проверки целостности передаваемых данных. - Физически адресует информацию по MAC-адресам.
* MAC-адрес — это уникальный 48-битный (реже 64-битный) идентификатор сетевой карты, который присваивается устройству ещё на заводе и выглядит примерно так: 00:1A:2B:3C:4D:5E. - Обнаруживает ошибки передачи (если CRC не совпадает — кадр отбрасывается).
- Управляет доступом к общей среде (чтобы два устройства одновременно не начали кричать в один кабель или одну Wi-Fi-волну).
- При необходимости делает контроль потока и даже повторную передачу испорченных кадров (в зависимости от протокола).
Канальный уровень не так прост — он делится ещё на два подуровня.
Для того, чтобы лучше их понять, нужно представить, что канальный уровень — это большой общий двор, где все жители (компьютеры, ноутбуки, принтеры) хотят одновременно крикнуть своё сообщение в общий провод или в одну Wi-Fi-волну.
Первый подуровень: MAC (Media Access Control) — решает, кто и когда может передавать данные по проводу/волне (может кричать, чтобы все не орали одновременно и не заглушили друг друга), а также приклеивает к каждому «крику» (кадру) свой уникальный MAC-адрес отправителя и получателя. Первый подуровень используется для взаимодействия с физическим слоем.
Второй подуровень: LLC (Logical Link Control) — обеспечивает удобный интерфейс для сетевого уровня сверху, плюс дополнительные функции вроде нумерации кадров. Проще говоря, LLC — это умный секретарь, который берёт то, что наорали во дворе, аккуратно записывает, проверяет и передаёт дальше наверх в офис (сетевому уровню). Сегодня LLC почти не виден — его функции либо ушли в TCP/UDP, либо просто не нужны, но в учебниках и экзаменах он всё ещё живёт.
Устройства второго уровня — коммутаторы (switches) и мосты (bridges). Коммутатор смотрит на MAC-адрес в кадре и пересылает его только в нужный порт, а не «всем подряд».
Самые известные протоколы и технологии L2: Ethernet (IEEE 802.3), Wi-Fi (IEEE 802.11), PPP и PPPoE, VLAN (802.1Q) — виртуальные сети внутри одной физической и тд.
Простыми словами: канальный уровень — это почтальон внутри вашего дома или офиса. Он знает всех по имени (MAC-адресу), проверяет, что письмо не порвалось по дороге, и доставляет его точно до нужной квартиры (порта коммутатора). Как только письмо нужно отправить в другой город (другую сеть) — подключается уже третий уровень.
3 Уровень: Сетевой (Network Layer, L3)
Уровень глобальной маршрутизации.
Сетевой (L3) и транспортный (L4) уровни модели OSI отвечают за глобальную маршрутизацию и надежную доставку данных между конечными устройствами, даже если они находятся в разных сетях. Эти уровни преодолевают ограничения канального уровня, который работает только в пределах одного сегмента сети.
Третий уровень — это уже «большой мир» за пределами одной локальной сети. Здесь данные покидают ваш дом/офис и начинают путешествие по всему интернету. Главное, за что отвечает сетевой уровень — маршрутизация: как найти дорогу от вашего ноутбука до сервера YouTube в Америке или до телефона друга в другом городе, когда между вами сотни сетей и тысячи километров кабелей.
Данные на сетевом уровне представляются в виде пакетов. Такие пакеты похожи на фреймы из канального уровня, но используют другие адреса получателя и отправителя — IP-адреса.
Главные задачи сетевого уровня:
- Логическая адресация — каждому устройству присваивается IP-адрес (IPv4 типа 192.168.1.55 или IPv6 — длинный и страшный). Именно по IP-адресу понимают, где находится получатель в глобальной сети.
- Поиск оптимального маршрута — маршрутизаторы по пути смотрят таблицы маршрутизации и решают, куда дальше отправить пакет.
- Фрагментация и сборка — если пакет слишком большой и дальше идёт сеть с меньшим разрешённым размером (MTU), его разбивают на кусочки, а на приёмной стороне снова собирают.
- Управление перегрузками и диагностика.
Главный герой уровня — протокол IP (Internet Protocol) в двух версиях: IPv4 (32 бита) и IPv6 (128 бит).
Важные помощники:
- ARP — переводит IP-адрес в MAC-адрес и обратно (чтобы в локальной сети понять, кому именно отдать пакет).
- ICMP — «почтальон с плохими новостями»: ping, traceroute, «Destination unreachable» и т.д.
- Протоколы маршрутизации (OSPF, BGP, EIGRP, RIP) — учат маршрутизаторы, как лучше всего добираться до нужных сетей.
- IPsec — шифрование прямо на сетевом уровне (используется в VPN).
Главное устройство — маршрутизатор (router). Именно он смотрит на IP-адрес назначения и решает: «Ага, эта сеть у меня налево через провайдера, а эта направо через другого провайдера».
Простыми словами: если канальный уровень — это доставка письма внутри одного двора по номеру квартиры (MAC), то сетевой — это доставка письма в другой город по почтовому индексу и адресу (IP). Маршрутизаторы — это как сортировочные станции и почтамты на пути посылки: читают адрес на конверте и отправляют дальше в нужном направлении.
Без третьего уровня интернет бы не существовал — все устройства жили бы только внутри своей локальной сети и никогда не смогли бы пообщаться с внешним миром.
4 Уровень: Транспортный (Transport Layer, L4)
Уровень надежной доставки данных "от приложения к приложению".
Это первый уровень, который заботится уже не о проводах и маршрутизаторах, а о том, чтобы два конкретных приложения на разных концах планеты получили друг от друга данные правильно и полностью.
Транспортный уровень — настоящий «мост» между нижними «железными» уровнями (1–3) и верхними «программными» (5–7). Он берёт поток данных от приложений, делит его на удобные куски и доставляет их в нужное приложение на другом устройстве.
Главные задачи транспортного уровня:
- Разбивает большие куски данных на сегменты (TCP) или датаграммы (UDP) и собирает обратно.
- Следит, чтобы ничего не потерялось и пришло в правильном порядке.
- Контролирует скорость передачи — чтобы быстрый компьютер не «задавил» медленный.
- Позволяет одновременно работать сотням программ через номера портов (например, браузер — 443, игра — 25565, голосовой чат — 50000).
- По желанию устанавливает надёжное соединение или просто отправляет и забывает.
Два главных протокола — как два разных почтовых сервиса:
TCP — «заказное письмо с уведомлением о вручении и страховкой»
- Перед отправкой устанавливается надежное соединение через трёхкратное рукопожатие.
- Нумерует каждый сегмент.
- Если что-то потерялось — просит переслать заново.
- Проверяет контрольные суммы.
- Гарантирует порядок и целостность.
Используется там, где ошибка недопустима: веб-страницы, файлы, почта, логин-пароль, банковские транзакции.
UDP — «обычное письмо в почтовый ящик, без обратного адреса»
- Никаких рукопожатий и подтверждений.
- Просто кидает датаграммы и надеется на лучшее.
- Быстрее и экономит трафик.
Используется там, где важна скорость и небольшие потери не критичны: онлайн-игры, видеозвонки, стримы, DNS-запросы, голос по IP.
Благодаря транспортному уровню вы можете одновременно смотреть YouTube (UDP для видео + TCP для комментариев), играть в онлайн-игру (UDP), качать торрент (TCP) и болтать в Discord — и всё это по одному и тому же интернет-кабелю, без путаницы.
5 Уровень: Сеансовый (Session Layer, L5)
Уровень, который управляет сеансом связи.
Сеансовый уровень — это «диспетчер разговоров» между двумя программами на разных компьютерах. Он отвечает не за то, ЧТО передаётся и КАК передаётся по проводам, а за то, чтобы сам «разговор» (сеанс) правильно начался, шёл без путаницы и красиво закончился.
Простыми словами: это уровень, который следит, чтобы Skype, Zoom, онлайн-игра или банковское приложение не «потеряли друг друга» посреди общения.
Главные задачи сеансового уровня:
- Открывает сеанс.
- Поддерживает его живым
- Решает, кто сейчас говорит, а кто слушает (полудуплекс) или можно ли орать одновременно в обе стороны (полнодуплекс)
- Ставит «закладки» (контрольные точки): если связь упала на 10-й минуте видеозвонка, после восстановления не начинать всё с нуля, а продолжить с того же места
- Распределяет «жетоны» (tokens), чтобы две стороны случайно не начали одновременно делать одно и то же критичное действие (например, одновременно списывать и зачислять деньги)
- Аккуратно закрывает сеанс, когда всё закончено
Реальные примеры из жизни:
- Видеозвонок в Zoom или Skype: сеансовый уровень синхронизирует звук и видео, следит, чтобы при обрыве связи звонок автоматически восстановился.
- Онлайн-игра: если вас внезапно выкинуло, при новом подключении вас возвращают в ту же сессию, а не на главный экран.
- Банковское приложение или работа с базой данных: пока вы заполняете платёжку, сеанс держит «захваченной» вашу операцию, чтобы никто другой в это время не изменил те же данные.
Типичные протоколы и технологии 5-го уровня (хотя сейчас многие функции ушли выше или ниже):
- NetBIOS (старые локальные сети Windows)
- RPC (удалённый вызов процедур — то, как программы вызывают функции на другом компьютере)
- SIP (для VoIP-телефонии)
- PPTP, L2TP (старые VPN)
- частично WebSocket и WebRTC
В современных системах чистый сеансовый уровень часто «размазан» между транспортным и прикладным уровнями, но концепция осталась: пока вы смотрите стрим, болтаете в Discord или играете в онлайн-игру — где-то в фоне работает механизм, который говорит: «Да, этот сеанс всё ещё жив, продолжайте общаться». Именно он не даёт вашему звонку превратиться в кашу при кратковременном обрыве интернета.
6 Уровень: Представления (Presentation Layer, L6)
Уровень, который обеспечивает понятность данных.
Этот уровень можно назвать «переводчиком и стилистом» данных. Он отвечает за то, чтобы информация, которую одно приложение создало на своём компьютере, на другом компьютере выглядела точно так же и была понятна.
Главные задачи уровня представления:
- Преобразует форматы. Разные компьютеры по-разному хранят текст, числа, картинки. Например, старые мейнфреймы IBM использовали кодировку EBCDIC, а обычные ПК — ASCII. Уровень представления переводит из одного в другое, чтобы получатель увидел нормальные буквы, а не нечитаемый текст.
- Сжимает и распаковывает. Перед отправкой большой фотографии или видео уровень может сжать их в JPEG, PNG, MP4, ZIP, gzip, Brotli — чтобы быстрее летело и меньше трафика съедало. На приёмной стороне — распаковывает обратно.
- Шифрует и расшифровывает. Берёт обычные данные и превращает их в «шифровку», которую никто по дороге не прочитает (TLS/SSL — самый яркий пример). На другом конце расшифровывает обратно в нормальный вид.
Примеры технологий, которые живут именно на этом уровне:
- JPEG, PNG, GIF, WebP — сжатие картинок
- MP3, AAC, Opus — сжатие звука
- H.264, H.265, AV1 — сжатие видео
- TLS/SSL — шифрование всего, что идёт по HTTPS
- MIME — как в письмах прикрепляются картинки и файлы
- ZIP, gzip, Brotli — обычное сжатие файлов
В современных системах шифрование почти полностью переехало в TLS (который формально работает между 5-м и 6-м уровнями), но идея осталась прежней: уровень представления — это последний «косметолог» перед тем, как данные уйдут в сеть, и первый «косметолог» после того, как они из сети пришли. Он делает так, чтобы всё было красивым, компактным и, если нужно, секретным.
7 Уровень: Прикладной (Application Layer, L7)
Самый верхний уровень, интерфейс с пользователем и приложениями.
Это тот уровень, который вы видите и трогаете мышкой или пальцем. Прикладной уровень — это всё, что напрямую работает с вами и вашими программами: браузер, мессенджер, почта, Zoom, онлайн-банкинг, игра, YouTube, Telegram. Именно здесь живёт то, что мы называем «интернетом» в повседневной жизни.
Главные задачи прикладного уровня:
- Дать программам удобный способ общаться по сети (API и протоколы).
- Провести авторизацию (логин-пароль, токены).
- Узнать, доступен ли собеседник или сервер.
- Понять, какие данные можно слать и в каком виде.
- Обеспечить нужный уровень секретности (например, включить HTTPS).
Самые известные протоколы 7-го уровня — это то, что вы каждый день используете:
- HTTP / HTTPS — открываем сайты, смотрим видео, листаем соцсети
- SMTP / IMAP / POP3 — отправляем и получаем почту
- DNS — вводим google.com, а система мгновенно находит и выдаёт компьютеру настоящий числовой IP-адрес этого сайта
- FTP / SFTP — качаем и заливаем файлы
- WebSocket — чаты, онлайн-игры, живые обновления на сайтах
- SSH — удалённо заходим на сервер
- SIP — звонки в IP-телефонии
- RTMP / WebRTC — стримы и видеозвонки
В современных программах границы между 5-м, 6-м и 7-м уровнями часто размыты: разработчики просто берут готовые библиотеки (например, браузерный движок или SDK мессенджера), и всё это вместе работает как один большой прикладной уровень. Но когда нужно понять, почему не грузится сайт или не приходит письмо — мы всё равно мысленно поднимаемся именно сюда, на самый верх стека.
Заключение: Восьмой Уровень — Человеческий Фактор
Модель OSI остается фундаментом для понимания сетевых технологий.
Она доказала свою ценность, разделив непостижимую сложность Интернета на семь управляемых, модульных задач. Это позволяет инженерам и разработчикам сосредоточиться на конкретной проблеме:
- Если данные теряются на дальних маршрутах (L3), вы проверяете маршрутизацию (IP).
- Если у вас не открывается страница (L7), вы проверяете настройки приложения (HTTP).
И, как мы упоминали во введении, все эти слои могут быть сведены к Восьмому уровню — "Пользовательскому". Ведь если кабель не воткнут в розетку или роутер выключен (проблема L1), то все гениальные протоколы и алгоритмы, описанные на остальных шести уровнях, не стоят ничего.
Подписывайтесь на нас в социальных сетях и не пропустите следующую статью, в которой мы рассмотрим современный стандарт TCP/IP и сравним его с моделью OSI.