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

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

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

Идентификаторы

На каждом уровне модели OSI предполагаются специальные метки — идентификаторы, которые помогают отличить одну сущность от другой. Латинское «identificare» означает устанавливать тождество, совпадение.

⚔️ Идентификаторы можно сравнить с военными знаками легионов (например, signum — символ подразделения). Каждый легион имел свой уникальный знак, чтобы его можно было легко идентифицировать на поле боя или в военных документах.

Адреса и точки доступа

  • (N)‑адрес — общее название, которое указывает на группу точек доступа (N‑SAP).

  • (N‑SAP‑адрес) — конкретный адрес одной точки доступа на уровне (N).

  • Функция отображения адресов (N‑address mapping) — связывает (N)‑адреса с (N-1)‑адресами на более низком уровне.

Адреса, точки доступа и их пример. Источник: авторское.
Адреса, точки доступа и их пример. Источник: авторское.

Точка доступа (N‑SAP) — это «дверь» в сеть, через которую устройства подключаются к сервису.

  • Если устройство (N+1) подключено — эта «дверь» закреплена за ним.

  • Если устройство отключается — «дверь» остаётся.

  • Другое устройство может «войти в сеть» через ту же дверь.

Пример. Wi‑Fi‑роутер в кафе. Подключился → телефон получил адрес, отключился и подключился другой посетитель → он получил тот же адрес. Если подключение стабильно и не изменяется, то (N)‑SAP‑адрес может идентифицировать устройство (N+1).

⚔️ В Риме существовала разветвлённая сеть дорог (viae), и каждая имела официальное название. К примеру, Via Appia — это как N‑SAP, указывающая на конкретную дорогу. Легионы могут её использовать, но не привязаны к одному и тому же месту.

(N)‑адрес известен только нижнему уровню:

  • Устройство (N)‑уровня знает, какие у него адреса и как их использовать.

  • Но (N+1)‑уровень не знает — он просто отправляет запрос, а сеть сама решает, куда его направить.

Пример. Браузер не знает IP‑адрес сервера. DNS находит IP, а ARP получает MAC‑адрес.

Функция отображения адресов (N‑address mapping) определяет соответствие между адресами уровня N и адресами уровня (N-1).

(N)‑сущности не знают, что взаимодействуют с одной и той же (N+1)‑сущностью. Иными словами, если у одного пользователя несколько подключений к сети, то сеть не понимает, что это одна и та же сущность — каждое подключение выглядит как отдельное.

Маршрутизация (routing)

Чтобы данные дошли по нужному пути, используется маршрутизация.

Маршрутизация (Routing) — функция внутри уровня (N), которая переводит название сущности или адрес точки доступа к сервису в путь, по которому можно достичь эту сущность.

(Имя сервиса) → (N‑адрес) → (N‑SAP‑адрес) → (Оптимальный маршрут)

  • (N+1)‑сущность (приложение) хочет отправить данные.

  • (N)‑уровень смотрит на (N)‑адрес, определяет, по какому пути передавать данные.

  • После этого данные отправляются через (N-1)‑уровень по выбранному маршруту.

Маршрутизация позволяет (N+1)‑сущности передавать данные, не задумываясь, как именно они дойдут до получателя.

⚔️ В Риме существовала государственная почтовая служба (cursus publicus), где курьеры передавали сообщения. Письма проходили через станции, как маршрут мог изменяться в зависимости от обстановки. Это похоже на маршрутизацию в сети: сообщение кому‑то адресовано, но путь до получателя определяется «динамически».

Идентификаторы соединений

Соединения устанавливают множество устройств, поэтому их нужно различать.

  • (N)‑connection‑endpoint‑identifier — идентификатор конечной точки соединения, различает соединения через одну и ту же (N)‑SAP.

  • (N)‑connection‑endpoint‑suffix — уникальная часть идентификатора конечной точки в пределах (N)‑SAP.

  • multi‑connection‑endpoint‑identifier — идентификатор конечной точки в многоточечном соединении.

  • (N)‑service‑connection‑identifier — определяет соединение в контексте взаимодействующих (N+1)‑сущностей.

  • (N)‑protocol‑connection‑identifier — определяет конкретное (N)‑соединение в рамках мультиплексированного (N-1)‑соединения.

  • (N)‑entity‑title — уникальное имя (N)‑сущности.

Идентификаторы соединения и их пример. Источник: авторское
Идентификаторы соединения и их пример. Источник: авторское

Когда две (N+1)‑сущности устанавливают соединение, их (N)‑уровень выдаёт им уникальные идентификаторы (N‑connection‑endpoint‑identifier), чтобы различать соединения через одну и ту же точку доступа (N‑SAP).

Пример: если по почте на адрес доставляются посылки, то каждой из них присваивается свой номер.

(N)‑connection‑endpoint‑identifier = (N)‑SAP‑адрес + (N)‑суффикс конечной точки

Пример: Endpoint‑ID = (IP: 192.168.1.1, Suffix: 001)

⚔️ В Риме были склады (horrea) в крупных портах, через которые проходили различные товары, их нужно было различать. Это похоже на N‑connection‑endpoint‑identifier, потому что товары могли маркироваться с указанием владельца, типа товара, даты поступления.

Многоточечное соединение — когда (N+1)‑сущность соединяется сразу с несколькими (N+1)‑сущностями через один (N)‑уровень. Чтобы сеть понимала, кому именно отправлять данные, используется многоточечный идентификатор конечных точек (multi‑connection‑endpoint‑identifier).

(N)‑service‑connection‑identifier — это уникальный идентификатор соединения сервиса, чтобы различать разные соединения между (N+1)‑сущностями, это позволит не смешивать трафик.

Пример: Сервер VoIP одновременно обрабатывает 99 звонков. (N)‑уровень даёт каждому звонку свой идентификатор соединения сервиса. Это разные звонки, даже если они проходят через один IP и порт.

⚔️ В Риме была сложная налоговая система. Чтобы сборы не смешивать, их маркировали, например, отдельные реестры для сенаторов (aurum coronarium) и простых граждан (tabulae publicae). Это похоже на уникальные идентификаторы соединения сервиса, чтобы казначеи не путали отчёты.

Заключение

1️⃣ Идентификаторы — зачем они нужны?

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

  • Кто подключился? (N‑SAP‑адрес)

  • Какой у него маршрут? (Routing)

  • Как его отличить от других? (N‑connection‑endpoint‑identifier)

2️⃣ Адресация и точки доступа?

(N)‑адрес → общий адрес, который может объединять несколько точек доступа (N‑SAP).

(N)‑SAP‑адрес → конкретная точка входа в сервис. Может быть использован разными устройствами в разное время.

Функция отображения адресов (N‑address mapping) сопоставляет (N)‑адреса с (N-1)‑адресами.

3️⃣ Маршрутизация (Routing) — как передавать данные?

(N)‑уровень использует маршрутные механизмы, чтобы найти путь к (N+1)‑сущности. Маршрут может изменяться динамически (как в IP‑сетях).

4️⃣ Как различаются соединения?

Разные потоки могут идти через одну точку доступа (N‑SAP), и их нужно разделять.

Что различаем?

Как различаем?

Пример

Разные соединения через одну точку доступа

(N)‑connection‑endpoint‑identifier

Два VPN‑подключения к одному серверу.

Разные устройства одного пользователя

(N)‑connection‑endpoint‑suffix

Один человек зашёл с ПК и телефона.

Несколько получателей в одном соединении

multi‑connection‑endpoint‑identifier

Видеозвонок с несколькими участниками.

Разные сервисы на одном сервере

(N)‑service‑connection‑identifier

Один сервер обрабатывает VoIP и HTTP.

Потоки данных внутри одного соединения

(N)‑protocol‑connection‑identifier

Аудио и видео внутри одного Zoom‑звонка.

Важно:

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

  • Каждый уровень OSI видит только свою часть адресации.

  • Маршрутизация определяет путь, но не меняет идентификаторы.

  • Разные соединения, сервисы и устройства должны различаться.

  • В сложных системах данные могут передаваться разными маршрутами, но идентификаторы дают возможность их точно доставить.

⚔️ Все дороги ведут в Рим, а без идентификаторов — в никуда.

Перейти к третьей части

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

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