Модель OSI: семь уровней сети
Теперь перейдем к модели OSI. Да, будет чуть сложнее: слои, протоколы, всё это звучит не слишком увлекательно. Но потерпите - дальше должно быть немного попроще, а эта теория начнёт играть в вашу пользу. И главное - не пугайтесь, о самых важных вещах будет рассказано подробнее в следующих главах.

Содержание
Инженеры договорились разложить весь процесс передачи данных (например, отправить сообщение в мессенджере) на уровни - это и есть модель OSI. Модели - это не железки и не программы, а способ думать о сети и стандартизировать протоколы.
Зачем нужна эта модель?
- Разделение труда: Чтобы каждый элемент сети знал только свою зону ответственности.
- Диагностика: Чтобы можно было сказать: "Это проблема с адресацией (Уровень 3), а не с самой программой (Уровень 7)".
- Стандартизация: Чтобы устройства разных производителей могли "договориться" и работать вместе.
Модель состоит из 7 уровней, от самого "железа" внизу (1) до программы вверху (7).
Сразу оговоримся, модель OSI полезна как учебная абстракция, но в реальной работе почти не встречается. Интернет построен вокруг TCP/IP (о ней в нашей следующей статье), инженеры мыслят именно ее слоями, а все практические инструменты и протоколы опираются на нее. Поэтому если дается сложно, можно сразу переходить к TCP/IP, хотя мы и пострались объяснить простым языком.
1. Уровни Модели OSI: От проводов к программе
1. Физический уровень (Physical)
- Главная идея: Как информация (нули и единицы) физически передается по среде.
- Что это: Это чистая физика. Электрические сигналы, световые импульсы в оптоволокне или радиоволны (Wi-Fi).
- Примеры: Кабели, разъемы, модемы.
- Простым языком: "У нас есть контакт? Провод не перегрызли? Свет горит?"
2. Канальный уровень (Data Link)
- Главная идея: Обеспечить надежную связь между соседними устройствами в пределах одной сети (например, в одном офисе).
- Что это: Здесь устройства различают друг друга по MAC-адресам (постоянный, "заводской" адрес сетевой карты). Сообщение называется кадром (frame).
- Примеры: Протокол Ethernet, Wi-Fi.
- Простым языком: "Как мне найти соседний компьютер в этом же здании? Я знаю его MAC-адрес."
3. Сетевой уровень (Network)
- Главная идея: Проложить маршрут и доставить сообщение через несколько сетей (например, из твоего города в другой).
- Что это: Здесь появляется IP-адрес (логический адрес), который позволяет находить устройства в глобальной сети. Сообщение называется пакетом (packet).
- Примеры: Главный протокол - IP (Internet Protocol). Здесь работают маршрутизаторы (роутеры).
- Простым языком: "Какой самый лучший путь, чтобы отправить этот пакет от сети А к сети Б, через все роутеры?"
4. Транспортный уровень (Transport)
- Главная идея: Доставить данные между конкретными программами на разных устройствах.
- Что это:
- Работает с портами (число, которое указывает, какой программе нужны данные, например, порт 80 для веб-сервера).
- TCP (надёжный): Гарантирует доставку, собирает части сообщения в правильном порядке, переспрашивает, если что-то потерялось (как заказное письмо).
- UDP (быстрый): Отправляет без гарантий, "как есть" (как почтовая открытка).
- Простым языком: "Какой программе на сервере нужны эти данные (веб-серверу, почтовому клиенту)? Нужно ли мне гарантировать, что всё дойдёт и в нужном порядке?"
5. Сеансовый уровень (Session)
- Главная идея: Управление логикой общения (открыть/поддерживать/закрыть сеанс).
- Что это: Исторический уровень. В современных протоколах его функции размыты и чаще всего выполняются на транспортном (4) или прикладном (7) урочне.
- Простым языком: Достаточно знать, что он есть. В реальной работе о нём говорят очень редко.
6. Уровень представления (Presentation)
- Главная идея: Подготовка данных к виду, понятному приложению, и унификация форматов.
- Что это: Кодировка текста (например, UTF-8), шифрование/расшифровка, сжатие/распаковка.
- Примеры: JSON, XML, конвертация форматов.
- Простым языком: "Это данные? В каком формате и кодировке? Нужно ли их расшифровать, чтобы приложение их поняло?"
7. Прикладной уровень (Application)
- Главная идея: Сами программы и их конкретные протоколы для взаимодействия с пользователем.
- Что это: То, что видит пользователь.
- Примеры:
- Протоколы: HTTP/HTTPS (веб), SMTP (почта), FTP (передача файлов), DNS (имена сайтов).
- Приложения: Браузеры, почтовые клиенты, мессенджеры.
- Простым языком: "Вот моё готовое сообщение, которое я хочу отправить!"
2. Интерфейсы между уровнями
В модели OSI важна не только «лесенка» уровней, но и как они общаются друг с другом. Здесь появляется понятие интерфейса между уровнями. Интерфейс между уровнями - это договорённость, что именно верхний уровень может попросить у нижнего, и в каком виде.
Ключевые моменты:
- Уровень не лезет во внутреннюю кухню ниже. Он опирается только на обещанные «услуги».
- Нижний уровень не понимает смысл данных, которые он несёт - он просто перевозит байты.
3. Преобразование сообщений при спуске/подъёме по уровням
Теперь самое важное и обычно самое путаное место - как одно сообщение проходит через все уровни туда и обратно.
Отлично, переформулируем этот сложный материал, оставив только ключевые идеи и термины, которые менеджеру нужно знать для принятия решений и общения с технической командой. Мы максимально упростим процесс, фокусируясь на вопросах "Что?" и "Для чего?".
Это объясняет, как ваше письмо (сообщение программы) превращается в посылку с кучей наклеек (заголовков) и адресов, которую можно отправить по всему миру, а затем собрать обратно.
Инкапсуляция (Упаковка): Процесс, когда данные, спускаясь по уровням, обогащаются заголовками. Каждый заголовок - это новая "наклейка" с инструкциями для своего уровня.
Деинкапсуляция (Распаковка): Обратный процесс на приёмной стороне, когда каждый уровень снимает свою наклейку, выполняет инструкции и передает "чистый" груз выше.
Спуск вниз (от приложения к «железу»)
- Уровень 7 (Прикладной): Приложение формирует сообщение (HTTP-запрос).
- Уровень 4 (Транспортный): Добавляет заголовок TCP/UDP (указывает порт программы). Теперь это сегмент/датаграмма.
- Уровень 3 (Сетевой): Добавляет заголовок IP (указывает IP-адреса). Теперь это пакет.
- Уровень 2 (Канальный): Добавляет заголовок Ethernet/Wi-Fi (указывает MAC-адреса). Теперь это кадр.
- Уровень 1 (Физический): Превращает кадр в сигналы (электричество/свет).
На принимающей стороне происходит обратный процесс - деинкапсуляция. Каждый уровень снимает "свою" обёртку и передаёт остаток сообщения выше.
- Уровень 2 снимает MAC-заголовок, видит IP-пакет, передаёт его на Уровень 3.
- Уровень 3 снимает IP-заголовок, видит TCP-сегмент, передаёт его на Уровень 4.
- ...и так до Уровня 7, где приложение получает "чистое" сообщение.
Почему мы пропустили некоторые уровни в примере
В реальной практике, большинство сетевого трафика в интернете использует модель TCP/IP (о ней расскажем в следующей статье), которая функционально объединяет или игнорирует некоторые уровни OSI.
5. Сеансовый Уровень (Session)
Причина пропуска: Функции этого уровня (установление и поддержание связи) в значительной степени интегрированы в соседние уровни:
TCP (L4) отвечает за надежное установление и закрытие соединения (что очень похоже на начало/конец сеанса).
Прикладные протоколы (L7), такие как HTTP, используют свои механизмы (токены, куки) для поддержания логического "сеанса" пользователя.
По итогу уровень 5 не добавляет отдельного, стандартного заголовка к пакету, который передавался бы по сети, поэтому в схеме "упаковки" его часто опускают.
6. Уровень представления (Presentation)
Причина пропуска: Функции этого уровня (кодирование, сжатие, шифрование) выполняются библиотеками внутри самого Приложения (L7) или являются частью Транспортного уровня (L4).
Пример: Шифрование TLS/SSL (используется для HTTPS), которое логически относится к L6, работает прямо над TCP (L4) и воспринимается как часть L4/L7.
По итогу как и L5, он не добавляет отдельного, стандартного заголовка, который бы обрабатывался сетевыми устройствами (маршрутизаторами или коммутаторами).