«Вспомнить всё»: доступный разбор первоисточника модели OSI (часть 2)

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Это продолжение разбора документа ISO/IEC 7498–1:1994, который описывает эталонный стандарт OSI. Ссылка на первую часть.

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

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

Взаимодействие между сущностями одного уровня (ранга)

Объясняется, как сущности одного уровня OSI взаимодействуют между собой.

Основные элементы взаимодействия

  • (N)‑ассоциация — логическая связь между вызовами (N)‑сущностей для обмена данными.

  • (N)‑соединение — установленный канал передачи данных между сущностями уровня (N+1), который управляется уровнем (N).

Ассоциация не обязательно включает установку соединения, это общее понятие. Соединение — конкретный установленный канал передачи данных.

Аналог: ассоциация — это существование дружбы; соединение — непосредственно телефонный звонок.

⚔️ В Римской империи существовали союзы между провинциями и городами, они обменивались товарами, солдатами, информацией. Это аналог логической связи без «постоянно установленного канала», информация передавалась разными путями по необходимости.

Пример установленного канала связи — это сеть римской курьерской системы (cursus publicus). Если римский наместник в Британии хотел отправить донесение в Рим по официальному каналу, он не просто передавал информацию любому встречному купцу (как в примере с ассоциацией). Для этого он использовал курьерскую службу со стандартами передачи сообщений, определённым маршрутом, курьерами, станциями.

Конечные точки и маршрутизация

  • (N)-конечная точка соединения (N-connection-endpoint) – место, где завершается соединение в рамках точки доступа SAP.

В модели OSI данные передаются от уровня к уровню. Когда соединение на (N)-уровне доходит до SAP, оно либо: передает данные уровню (N+1).Заканчивается (если достигнута конечная точка маршрута).

⚔️ Легионеры передают сообщение по цепочке курьеров (N-уровень устанавливает маршрут доставки).

В каждой военной крепости есть «конечная точка соединения» — место, где

  • либо сообщение передаётся следующему гонцу;

  • либо передача сообщения останавливается, если адресат в этой крепости.

Когда гонец достигает конечного пункта, «соединение» завершается. Без конечных точек соединение не имело бы структуры — данные передавались бы бесконечно.

  • Многоточечное соединение (multi-endpoint-connection) – соединение, включающее более двух конечных точек.

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

Примеры:

  1. Когда один хост передает кадры сразу всем устройствам в одной сети (например, по Wi-Fi). Все устройства получают данные, но только нужное их принимает.

  2. Данные отправляются группе устройств, а не одному получателю. Используется для потокового видео, конференц-связи, онлайн-игра.

⚔️ Когда римские власти хотели донести до народа важную информацию, они не отправляли уведомлений каждому гражданину. Вместо этого в общественных местах глашатаи громко объявляли приказы. Один источник информации — несколько получателей.

  • Корреспондирующие (N)-сущности (correspondent (N)-entities) – сущности уровня (N), соединенные через уровень (N-1).

Прямая связь между (N)‑сущностями невозможна — они не могут передавать данные друг другу напрямую. Они взаимодействуют через (N-1)‑уровень, который передает данные и обеспечивает их доставку.

⚔️ Два полководца (N)‑уровень) в разных частях империи не могут общаться напрямую. Они отправляют сообщения через гонцов и курьерские службы (N-1). Это позволяет доставлять информацию разными путями: через дороги, форты и военные лагеря.

Такое разделение позволяет позволяет системам работать через разные среды передачи.

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

  • (N)-ретрансляция (N-relay) – механизм передачи данных от одной одноранговой сущности другой.

(N)‑ретрансляция играет ключевую роль в обеспечении связи между одноранговыми сущностями в случаях, когда прямая связь невозможна или неэффективна.

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

Такое укрепление как вал Адриана в римской провинции Британия тянулся почти на 120 километров, а объединял около 160 башен. Башни выполняли «ретрансляцию»: передавали сигнал друг другу, иначе бы последняя башня не смогла бы получить сигнал от первой.

Источник и приёмник данных

  • (N)-источник данных (N-data-source) – отправляет данные через соединение уровня (N-1).

  • (N)-приемник данных (N-data-sink) – принимает данные через соединение уровня (N-1).

Ключевая идея:

  • Источник и приемник данных уровня N не взаимодействуют напрямую.

  • Они используют уровень ниже (N-1), который передает данные по сети.

Типы передачи данных

Тип передачи данных

Описание

Пример из жизни

(N)-передача данных (N-data-transmission)

Процесс отправки информации от одной (N+1)-сущности другой.

Дуплексная передача (N-duplex-transmission)

Данные передаются в обоих направлениях одновременно.

Телефон, интернет.

Полудуплексная передача (N-half-duplex-transmission)

Передача данных поочерёдно в обоих направлениях одновременно.

Рация.

Симплексная передача (N-simplex-transmission)

Передача данных только в одном направлении.

Телевидение, радио.

Почему (N)-передача данных - это процесс отправки информации одной сущности именно уровня выше (N+1) другой?

В OSI каждый уровень (N) предоставляет сервисы уровню (N+1).

Разница:

  • Когда речь идет о передаче данных на (N)‑уровне — он передает данные от одной (N+1)‑сущности к другой (N+1)‑сущности.

  • Но сам процесс передачи использует уровень (N-1).

⚔️ Аналогия:

  • Дуплекс — два легионера разговаривают в таверне.

  • Полудуплекс — два легионера кричат друг другу через реку, но ждут ответа перед следующим сообщением.

  • Симплекс — глашатай объявляет указ, а люди, включая двух легионеров, просто слушают и ропщут, но глашатай их не воспринимает.

Передача с соединением и без соединения

  • (N)‑передача в режиме соединения (N‑connection‑mode transmission) — передача данных в рамках установленного соединения.

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

  • (N)-передача без соединения (N-connectionless-mode transmission) – передача без установки соединения, где каждый пакет данных передается независимо.

Соединение не устанавливается — каждый пакет данных передаётся самостоятельно. Отправитель просто отправляет данные, не проверяя, дошли ли они. Каждый пакет может идти разными маршрутами. Плюсы: скорость, эффективность, снижение накладных расходов. Минусы: нет гарантии доставки. Возможности потери пакетов.

Характеристика

Режим соединения (connection-mode)

Без соединения (connectionless-mode)

Нужно устанавливать соединение?

✅ Да

❌ Нет

Есть логическая связь между пакетами?

✅ Да

❌ Нет

Есть гарантия доставки?

✅ Да

❌ Нет

Примеры

TCP (HTTP, FTP, SSH), телефонный звонок

UDP (онлайн-игры, видео, DNS), SMS

⚔️Передача в режиме соединения — Римская почтовая служба. Согласуется маршрут и отслеживается, чтобы сообщение дошло до адресата.

Передача без соединения — система сигнальных огней. Каждая башня передавала сигнал дальше по цепочке, но не было способов удостовериться, что следующая башня успешно приняла сообщение. Таким образом, если сигнал не был замечен или правильно интерпретирован на одной из башен, информация могла быть утеряна без возможности повторной передачи или подтверждения.

Заключение

По сложившейся вчера традиции, составим блиц-резюме.

1️⃣ Основные элементы взаимодействия?
Сущности одного уровня не могут связываться напрямую – передача данных идёт через уровень (N-1), используя точки доступа SAP и протоколы.

2️⃣ Конечные точки и маршрутизация?
Соединение завершается в конечной точке (endpoint), где данные либо передаются уровню выше (N+1), либо маршрут прекращается.

3️⃣ Источник и приёмник данных?
Источник (data-source) отправляет данные через (N-1), приёмник (data-sink) их получает. Они не взаимодействуют напрямую – передача идёт через уровень ниже.

4️⃣ Типы передачи данных?

Важно, что когда речь идет о передаче данных на (N)‑уровне — он передает данные от одной (N+1)‑сущности к другой (N+1)‑сущности. Но сам процесс передачи использует уровень (N-1).

  • Дуплексная – двусторонняя связь одновременно .

  • Полудуплексная – передача по очереди.

  • Симплексная – передача только в одну сторону.

5️⃣ Передача данных с соединением и без соединения?

  • С соединением (TCP) – устанавливается канал связи, пакеты передаются в порядке и гарантированно (телефонный звонок).

  • Без соединения (UDP) – пакеты передаются независимо, без подтверждения доставки (SMS, сигнальные башни).

⚔️ Как всегда, Римская империя знала это раньше нас!

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

Источник: https://habr.com/ru/articles/881250/


Интересные статьи

Интересные статьи

Представьте: горячий металл, мощные машины, сотни работников — наше производство постоянно подвержено различным рискам. И как мы превратили эти вызовы в возможности? Этот рассказ будет о том, как мы в...
Наверняка в вашем проекте используется очередь сообщений (не важно kafka, pulsar или какой-нибудь зайчик). Основной проблемой является подробное тестирование работы вашей системы. Рассмотрим варианты ...
Для каких целей? На момент возникновения идеи было еще не совсем понятно. Но предпосылки развития идеи были
Двойная бухгалтерия — способ, который позволяет публиковать в финансовых отчетах одни цифры, а для внутренних процессов писать другие. Такой способ ведения учёта обычно возможен только в небольших фир...
Один из самых острых вопросов при разработке на Битрикс - это миграции базы данных. Какие же способы облегчить эту задачу есть на данный момент?