Модель OSI кажется простой: всего 7 уровней. Однако большинство статей просто пересказывают друг друга, упуская важные детали. В этом цикле статей мы разберём первоисточник — стандарт ISO/IEC 7498–1:1994, чтобы разобраться не только в уровнях, но и во всех тонкостях модели: как работают протоколы, как взаимодействуют уровни и какие принципы лежат в её основе. Ссылка на первую часть.

Это не дословный перевод. Это, скорее, ретроспектива плюс анализ и интерпретация. Берётся параграф и «выжимается» его суть.

⚔️ Так отмечены места, где мы будем использовать силу Рима: аналогия для быстрого понимания концепций.

Точки доступа в OSI — что это и зачем они нужны

Где именно одно устройство передаёт данные другому? Для этого в модели существуют точки доступа к сервисам (Service‑Access Points, SAP).

В предыдущих частях мы говорили про (N)‑SAP. Каждый уровень N OSI предоставляет сервис уровню N+1 выше.

(N)‑SAP — входная точка в сервис уровня N, через который его запрашивает N+1.

(N)‑SAP‑адрес — это уникальный идентификатор точки доступа.

⚔️ В Древнем Риме пользовались станциями пересылки сообщений (statio). (N)‑SAP = римская станция пересылки. (N)‑SAP‑адрес = уникальное название станции. Гонец не передавал сообщение напрямую другому гонцу, это делалось централизованно, через станцию, так же как уровни не передают друг другу что‑то хаотично напрямую.

Правила:

  • Одна (N+1)‑сущность может иметь несколько точек доступа (N‑SAP). Пример: несколько открытых вкладок браузера.

  • (N)‑уровень может обслуживать несколько (N+1)‑сущностей. Пример: один сервер может обрабатывать соединения от множества клиентов.

  • (N)‑SAP может быть отключена и подключена снова. Пример: Wi‑Fi, к которому можно подключиться снова.

  • Каждая (N)‑SAP имеет свой адрес, который (N+1)‑сущности используют для запроса сервиса.

Передача данных, как всё устроено

На каждом уровне OSI данные передаются в определённых форматах. Информация может быть представлена в виде блоков разного назначения: управляющие данные, полезная нагрузка и их комбинация.

⚔️ Представим древнего римского курьера, который несёт два свитка: один с информацией для генерала, а другой — с список припасов для армии. Вместе они образуют едины пакет данных, который необходимо доставить.

На уровне (N) выделяют несколько типов данных:

  • (N)‑protocol‑control‑information — инструкции для передачи данных.

  • (N)‑user‑data — содержимое, передаваемое между приложениями.

  • (N)‑protocol‑data‑unit (PDU) — комбинация двух предыдущих типов.

  • (N)‑service‑data‑unit (SDU) — единица данных, которую уровни OSI передают между собой без изменений.

⚔️ Древнеримский приказ в казармах имел печать и текст приказа.

  • ? PCI — это метаданные, как подписи и отметки на документе.

  • ? User‑data — это сам документ с текстом.

  • ? PDU — это документ в запечатанном конверте.

  • ? SDU — это сам текст приказа, который передаётся без изменений.

Когда данные переходят от одного уровня к другому, они могут изменять свою структуру. Это называется маппингом (отображением).

  • (N)‑SDU передаётся в виде (N)‑PDU на том же уровне.

  • (N)‑PDU может преобразовываться в (N-1)‑SDU на нижнем уровне.

⚔️ Есть посылка (SDU) в двух ящиках. Доставщики могут принести оба или, если они тяжёлые, «разбить» доставку на две части.

  • В модели OSI нет глобальных ограничений на размер пакетов, но в реальных сетях могут быть установлены лимиты.

  • Данные могут задерживаться до полного формирования пакета перед отправкой.

Следующая схема показывает, как данные передаются от верхнего уровня к нижнему с добавлением служебной информации.

 Процесс инкапсуляции данных в модели передачи данных между уровнями сетевого стека. Источник: авторское.
Процесс инкапсуляции данных в модели передачи данных между уровнями сетевого стека. Источник: авторское.

Основные идеи:

  • На каждом уровне происходит инкапсуляция: к данным добавляется заголовок с управляющей информацией.

  • Каждый следующий уровень рассматривает данные как целый блок и добавляет свои управляющие данные.

  • Этот процесс продолжается до самого нижнего уровня (например, физического в модели OSI), после чего данные передаются в сеть.

Эта концепция используется TCP/IP, обеспечивая модульность и независимость уровней.

Элементы работы уровня OSI

Ключевые механизмы взаимодействия уровней модели OSI включают идентификацию протоколов, мультиплексирование, разделение потоков, контроль потока и сегментацию.

При взаимодействии двух сущностей уровня (N) им нужно определить, какой протокол использовать. Этот механизм называется идентификатором протокола (N‑protocol‑identifier). Например, браузер выбирает HTTPS или HTTP по этому идентификатору

⚔️ В Рим прибывают посланники других стран, которые говорят на разных языках, с кем‑то нужно говорить на греческом, с кем‑то на латинском.

Централизованное многоточечное соединение (centralized multi‑endpoint‑connection):

  • Все участники получают данные только от центральной точки.

  • Но если кто‑то отправляет данные, они достигают только центра. Пример: Zoom.

⚔️ Все получают указы из Рима, но информацию от губернаторов получает только Рим.

Децентрализованное многоточечное соединение (decentralized multi‑endpoint‑connection):

  • Любой участник отправляет данные, и их получают все остальные. Пример: групповой чат в Telegram.

⚔️ Для обсуждения законов на городской площади были народные собрания (comitia tributa). Каждый мог говорить и все его слышали.

Мультиплексирование (multiplexing):

  • Один (N-1)‑канал используется для передачи нескольких (N)‑соединений. Пример: один VPN‑туннель передаёт трафик от нескольких пользователей.

⚔️ По римской дороге едут товары с разными грузами.

Демультиплексирование (demultiplexing):

  • Обратный процесс: данные разбираются по разным направлениям на принимающей стороне. Пример: сервер получает данные и отправляет их нужному процессу по портам (80, 443, 22).

⚔️ В крупных портах, таких как Остия (главный порт Рима), корабли привозили товары — зерно, вино, металлы. Но каждый груз предназначался разным торговцам и складам.

Разделение (splitting):

  • Одно (N)‑соединение передаётся через несколько (N-1)‑соединений для надёжности или увеличения скорости. Пример: Разделение трафика в Wi‑Fi, один поток делится между разными каналами.

⚔️ Если Рим отправляет золото в провинцию, оно делится между разными караванами — чтобы часть точно дошла.

Объединение (recombining):

  • Обратный процесс: при котором данные, пришедшие из разных соединений, собираются обратно в единый поток. Пример: когда телефон подключён к Wi‑Fi и LTE, но загрузка файла продолжается без разрывов, даже если одно соединение падает.

⚔️ В Риме налоги собирались из разных провинций — из Испании привозили серебро, из Египта — зерно, с Востока — пряности. Всё это объединялось в единую казну государства.

Управление потоком (flow control):

  • Ограничение скорости передачи данных, чтобы избежать перегрузки и потери пакетов. Пример: TCP Flow Control, контроль передачи пакетов, чтобы не перегружать получателя.

⚔️ В Древнем Риме существовали правила дорожного движения. Например, Юлий Цезарь запретил проезд повозок и других транспортных средств частных лиц по улицам Рима в рабочее время — с восхода солнца до его заката. Практически все должны были перемещаться пешком либо с помощью паланкинов (носилок).

Сегментация:

  • Большие пакеты разбиваются на части перед отправкой. Пример: IP‑фрагментация — большие пакеты разбиваются на маленькие, чтобы пройти через сети с разными MTU.

⚔️ Аналогия: на одной телеге можно перевезти определённое количество товара, больше она не вместит и не выдержит. Груз разбивается на несколько телег и доставляется отдельно.

Заключение

В режиме блицрезюме, вопрос — ответ.

1️⃣ Что такое точки доступа (SAP) в модели OSI?
Точки доступа к сервисам (Service‑Access Points, SAP) — это входные точки, через которые один уровень предоставляет сервис уровню выше. Каждая точка имеет уникальный адрес

2️⃣ Какие типы данных используются на каждом уровне OSI?

Данные передаются блоками разного назначения:

  • PCI (Protocol‑Control‑Information): метаданные для передачи.

  • User‑data: полезная нагрузка.

  • PDU (Protocol‑Data‑Unit): комбинация PCI и User‑data.

  • SDU (Service‑Data‑Unit): данные, передаваемые между уровнями без изменений.

3️⃣ Как происходит инкапсуляция данных?
На каждом уровне к данным добавляется заголовок с управляющей информацией. Этот процесс продолжается до самого нижнего уровня, где данные передаются в сеть.

4️⃣ Как OSI решает, какой протокол использовать?

Используется (N)‑protocol‑identifier — он выбирает нужный протокол на уровне (N).

5️⃣ Что такое централизованное и децентрализованное многоточечное соединение?

  • Централизованное: все данные идут через одну центральную точку (сервер).

  • Децентрализованное: любой узел может отправлять данные всем остальным.

6️⃣ Что такое мультиплексирование и демультиплексирование?

  • Мультиплексирование — объединение нескольких потоков в одно соединение.

  • Демультиплексирование — обратный процесс, когда данные разбираются по разным направлениям.

7️⃣.Что такое разделение (splitting) и объединение (recombining)?

  • Разделение — один поток делится на несколько соединений.

  • Объединение — обратный процесс, сбор данных из нескольких соединений в одно.

8️⃣ Как работает управление потоком?
Ограничение скорости передачи данных для предотвращения перегрузки и потери пакетов.

9️⃣ Что такое сегментация?
Разделение больших пакетов на более мелкие.

◀ Перейти к четвёртой

◀ Перейти к первой части

Комментарии (0)