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

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

Когда возникает вопрос про модель OSI и начинаешь гуглить, поисковик выдаёт достаточно однотипные статьи с описанием 7-ми уровней. Для большинства задач с целью ознакомления этого достаточно, но эта статья даёт понимание «откуда растут ноги». Путём разбора документа ISO/IEC 7498–1:1994, который описывает эталонный стандарт OSI.

Это не дословный перевод — в этом нет смысла: документ доступен любому желающему, достаточно длинный (50+ страниц), написан по‑академически «забористо». Это, скорее, ретроспектива плюс анализ и интерпретация. Берётся параграф и «выжимается» его суть, в начале добавлен исторический контекст.

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

Следует отметить для новичков, что документ ISO/IEC 7498–1:1994 создан для унификации подходов к проектированию, а не для прямого внедрения. То есть, он не описывает конкретные технологии, а задаёт рамки. Модель TCP/IP, которая доминирует в интернете, развивалась параллельно и упростила модель OSI. Это не ошибка, а реализация подхода. В эталонном стандарте OSI описывается некий «идеал», а практическая реализация решает конкретные задачи.

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

Почему это до сих пор важно сегодня:

  • Кругозор. Понимание OSI даёт представление о сетях, даже если реализация отличается.

  • Разработка. При разработке новых протоколов (например, IoT), стандарт является отправной точкой в вопросах совместимости.

Сети до OSI: эра несовместимых технологий

В 1960-х и 1070-х годах каждая компания, занимающаяся IT, создавала свои сети, называющиеся проприетарными. Что приводило к тому, что компьютеры могли общаться только в инфраструктуре одного производителя. Каждая компания продвигала свой стандарт передачи данных.

Год

Сетевая технология

Компания

Описание

1969

ARPANET

DARPA (США)

Первый прототип интернета, использовал NCP, позже TCP/IP.

1970-е

SNA (System Network Architecture)

IBM (США)

Закрытая сеть IBM, поддерживала только IBM-устройства.

1973

XNS (Xerox Network Systems)

Xerox (США)

Основа будущего Ethernet, но несовместима с другими сетями.

1975

DECnet

DEC (США)

Протокол от Digital Equipment Corporation (DEC).

1976

UUCP (Unix-to-Unix Copy Protocol)

Bell Labs (США)

Передача данных между Unix-системами.

1977

CYCLADES

Франция

Исследовательская сеть, повлияла на развитие протоколов TCP/IP.

1980

X.25

ITU-T (международная)

Старая телекоммуникационная сеть, использовалась в банковской сфере. Но открытый стандарт от Международного союза электросвязи (ITU-T), в отличие от проприетарных сетей.

Причина всему этому банальна: все они не хотели, чтобы клиенты переходили к конкурентам. Компании вынуждали покупать только их оборудование. У государственных организаций, бизнеса, военных стали возникать проблемы.

Дальше нельзя было масштабироваться, системы не могли взаимодействовать. А современный интернет при таком положении дел появиться не мог.

Кто придумал OSI?

Проблему несовместимости осознали уже в 1970-х, ISO (Международная организация по стандартизации) начала разрабатывать стандарт с 1977 года, и с 1980 года официально. Но, пока шли дебаты, к 1984 году параллельно развивалась модель TCP/IP от DARPA, которая ко времени выхода стандарта OSI уже захватила рынок.

Что в итоге:

  • OSI появилась слишком поздно, TCP/IP уже была.

  • OSI оказалась слишком сложной, TCP/IP оказалась проще и удобнее.

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

Оригинальный стандарт OSI (Open Systems Interconnection – «Взаимосвязь открытых систем») ISO 7498:1984 в 1994 году он был пересмотрен и заменён на ISO/IEC 7498-1:1994, который актуален и по сей день ссылка.

Документ ISO/IEC 7498-1:1994 состоит из нескольких разделов, которые подробно описывают модель OSI.

Развернуть и посмотреть
  1. Область применения (Scope) – объясняет, зачем создан этот стандарт и какие задачи он решает.

  2. Определения (Definitions) – содержит термины и их объяснения.

  3. Обозначения (Notation) – объясняет, как обозначаются уровни (например, (N)-layer).

  4. Введение в OSI (Introduction to Open Systems Interconnection)

  5. Принципы многоуровневой архитектуры (Concepts of a layered architecture)

  6. Описание уровней OSI (Introduction to the specific OSI layers)

  7. Детальное описание уровней OSI (Detailed description of OSI layers)

  8. Аспекты управления OSI (Management aspects of OSI) – как управлять сетями с OSI.

  9. Соответствие стандарту (Compliance and consistency with the reference model) – как проверить, соответствует ли система OSI.

  10. Приложения:

Основные концепции

Термин «Взаимосвязь открытых систем» (Open Systems Interconnection, OSI) означает стандарты для обмена информацией между системами, которые «открыты» друг для друга за счёт использования общих стандартов. (Цитата из ISO/IEC 7498-1:1994)

Основные концепции уровневой модели включают:

Говоря по‑простому, OSI — это модель, которая объясняет, как устройства в сети обмениваются данными. В модели OSI используется «уровневая структура», сеть «разбивается на несколько логических слоёв», в которой каждый уровень выполняет свою функцию и взаимодействует с соседними уровнями.

Упрощённо это можно представить так (на данном этапе документа уровни ещё никак не названы).

Уровневая структура модели OSI. Источник: авторское.
Уровневая структура модели OSI. Источник: авторское.

Уровни одного ранга (например, 4 и 4) общаются между собой с помощью протоколов.

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

Вопрос

Ключевой элемент по стандарту

Описание

Что взаимодействует?

Открытые системы (Open systems).

Это устройства, подключенные к сети, которые могут взаимодействовать друг с другом.

Чем взаимодействует?

Прикладными сущностями (Application-entities).

Программы, процессы, работающие внутри открытых систем.

Как именно общаются?

Связи (Associations) между прикладными сущностями.

Каналы связи между программами на разных устройствах.

Через что общаются в реальном мире?

Физические среды передачи (Physical media).

Реальные технологии, по которым передаются данные: Ethernet-кабели, оптоволокно, WiFI, спутниковая связь, технология 5G.

Схематично это можно представить так.

Четыре ключевых элемента модели OSI по стандарту. Источник: авторское.
Четыре ключевых элемента модели OSI по стандарту. Источник: авторское.

OSI похоже на управление Римской империей

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

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

Физическая среда передачи данных в их случае — это знаменитые дороги, сигнальные огни, корабли. В Риме была развита сеть курьерских станций (Cursus publicus), где гонцы меняли лошадей, передавали сообщения дальше. Это похоже на работу маршрутизаторов, которые выбирают нужный путь.

Гражданская администрация имела свои функции: кто‑то собирал налоги, кто‑то управлял армией, но общались друг с другом по определённым каналам. Это похоже на разделение уровней в модели OSI.

Каждый выполняет свою функцию — это идея модели OSI.

(N)-уровни и их элементы

В документе вводится обозначение N для любого из 7-ми уровней (от 1 до 7).

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

Для наглядности представим это на схеме.

(N)-уровни и их элементы. Источник: авторское.
(N)-уровни и их элементы. Источник: авторское.

Если два устройства не поддерживают одинаковые протоколы, они не смогут обмениваться данными.

Взаимодействие между сущностями на одном уровне внутри одной системы (осуществляется LSE, Local System Environment) выходит за рамки OSI — OSI описывает только межсистемное взаимодействие.

Уровневая структура взаимодействующих открытых систем.
Уровневая структура взаимодействующих открытых систем.

Иногда уровни OSI разбивают на подуровни, чтобы выделить более мелкие функции.

Стандарт вводит понятие инстансов, что аналогично понятиям классов и инстансов в программировании, например, в C#. Есть тип сущности — это определяет её характеристику, а есть инстанс этой сущности, конкретный реализованный экземпляр. Взаимодействие происходит, конечно же, между инстансами этой сущности, а не между их абстракциями.

Тип сущности и её инстансы — конкретные экземпляры. Источник: авторское.
Тип сущности и её инстансы — конкретные экземпляры. Источник: авторское.

Каждый сервис уровня N можно настраивать. Этот процесс можно менять с помощью дополнительных механизмов (N)-facilities. Они меняют или расширяют работу сервиса.

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

Примером (N)‑facilities, дополнительных возможностей, могут быть:

Важно:

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

Каждый уровень в модели OSI предоставляет услуги следующему уровню (N+1), используя:

  1. Собственные функции, которые выполняются внутри него.

  2. Услуги, предоставленные предыдущим уровнем (N-1), если они нужны.

Полностью «пустой» протокол невозможен — каждый уровень должен выполнять хотя бы какую‑то свою уникальную функцию.

⚔️ Как это работает по аналогии:

  1. Если командование (N+1) хочет организовать атаку, оно дает указания легионерам (N).

  2. Легионеры (N) используют свои навыки и тактические знания, а также ресурсы, доставленные транспортными отрядами (N-1), чтобы выполнить приказ

  3. Легионеры не могут быть «пустыми» исполнителями: они сами решают вопрос построения, маневрирования и защиты. Например, боевой порядок «черепаха» (testudo) требовал координации между легионерами без «дирижирования» командира на каждом шаге.

Даже если легионеры получали ресурсы от уровня N-1 и указания от уровня N+1, они всегда выполняли уникальные функции.

Принцип модели OSI: каждый уровень должен иметь свою специфическую роль.

Взаимодействие сущностей через точки доступа (SAP)

Каждый уровень в модели OSI может:

⚔️ Временный лагерь являлся «точкой доступа к сервису». Командиры (N+1) давали задания легионерам (N), которые использовали ресурсы, доставленные логистическими отрядами (N-1).

Взаимодействие сущностей через протоколы

Правило гласит, что взаимодействие между (N)‑сущностями управляется одним или несколькими (N)‑протоколами.

Пример:

Заключение

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

1. Почему появилась модель OSI? Раньше сети были несовместимы. OSI — попытка сделать единый стандарт.

2. Что такое OSI? Модель из 7 уровней, где каждый отвечает за свою задачу в передаче данных.

3. Основные концепции OSI? В модели OSI информация проходит через уровни, где сущности выполняют свои функции, взаимодействуя друг с другом по протоколам, передавая данные через точки доступа к сервису SAP, используя соединения как каналы связи, маршрутизируя потоки информации оптимальным путём, а управление контролирует корректность и эффективность всей системы.

4. Почему OSI не стала основным стандартом? TCP/IP появилась раньше и оказалась проще.

5. Зачем мы вспоминали Римскую империю? ⚔️ Мы всегда помним про Римскую империю.

6. Зачем знать OSI сегодня? Понимать, как работают сети. Находить и устранять сетевые проблемы. Проектировать устойчивые системы.

Конец первой части.

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


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

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

Представляю вашему вниманию цикл статей по работе с пока еще мало знакомым многим битрикс-разработчикам инструментом оперирования данными с CRM Битрикс24 через абстрактные фабрики. В первой статье рас...
Привет, Хаброжители! «Алгоритмы на практике» научат решать самые трудные и интересные программистские задачи, а также разрабатывать собственные алгоритмы. В качестве примеров для обучения взяты ре...
Пока не совершился полный переход на электронные версии документов, вывод чертежей на печать останется актуальной задачей. При этом умение грамотно работать с печатью способно сохранить массу времени ...
Всем привет. Текст состоит из двух частей:1. Небольшая шпаргалка по параметрам настроек по умолчанию;2. Текст о том, почему вообще существование такой шпаргалки может кому-то понадобится.
Некоторое время назад мне довелось пройти больше десятка собеседований на позицию php-программиста (битрикс). К удивлению, требования в различных организациях отличаются совсем незначительно и...