usepoint
menu

Модель 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. Преобразование сообщений при спуске/подъёме по уровням

Теперь самое важное и обычно самое путаное место - как одно сообщение проходит через все уровни туда и обратно.

Отлично, переформулируем этот сложный материал, оставив только ключевые идеи и термины, которые менеджеру нужно знать для принятия решений и общения с технической командой. Мы максимально упростим процесс, фокусируясь на вопросах "Что?" и "Для чего?".

Это объясняет, как ваше письмо (сообщение программы) превращается в посылку с кучей наклеек (заголовков) и адресов, которую можно отправить по всему миру, а затем собрать обратно.

  1. Инкапсуляция (Упаковка): Процесс, когда данные, спускаясь по уровням, обогащаются заголовками. Каждый заголовок - это новая "наклейка" с инструкциями для своего уровня.

  2. Деинкапсуляция (Распаковка): Обратный процесс на приёмной стороне, когда каждый уровень снимает свою наклейку, выполняет инструкции и передает "чистый" груз выше.

Спуск вниз (от приложения к «железу»)

  1. Уровень 7 (Прикладной): Приложение формирует сообщение (HTTP-запрос).
  2. Уровень 4 (Транспортный): Добавляет заголовок TCP/UDP (указывает порт программы). Теперь это сегмент/датаграмма.
  3. Уровень 3 (Сетевой): Добавляет заголовок IP (указывает IP-адреса). Теперь это пакет.
  4. Уровень 2 (Канальный): Добавляет заголовок Ethernet/Wi-Fi (указывает MAC-адреса). Теперь это кадр.
  5. Уровень 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, он не добавляет отдельного, стандартного заголовка, который бы обрабатывался сетевыми устройствами (маршрутизаторами или коммутаторами).