Модель OSI (Open Systems Interconnection) является классическим примером коммуникационной архитектуры. Она определяет семиуровневую модель взаимодействия вычислительных систем. Модель OSI — старейшая из моделей открытых систем.
Модель изложена в стандарте ISO 7498, состоящем из четырёх частей.
Архитектура OSI довольно абстрактна и охватывает очень широкий круг аспектов: общие принципы взаимодействия открытых систем, описание каждого из семи уровней, оборудование. Модель оперирует элементами архитектуры: системы, уровни, логические объекты, сервисы, протоколы, блоки данных, соединения - и определяет общие взаимоотношения между этими элементами.
Каждый уровень модели OSI (рис. 29) представляет собой группу взаимосвязанных функций обработки данных и связи между системами, которые могут быть выполнены стандартным образом с целью поддержки различных приложений.
Рис. 29. Модель взаимосвязи открытых систем OSI
Каждый уровень обеспечивает хорошо определённый набор сервисов для вышележащего уровня и, в свою очередь, использует сервисы уровня, находящегося ниже его. Таким образом, процесс осуществления связи между системами разбивается на отдельные, легко управляемые блоки. Все вместе семь уровней обеспечивают коммуникационный сервис между оконечными пользователями (end-to-end). Изменения в протоколе любого уровня могут быть выполнены, не затрагивая соседних уровней.
Стандартизация взаимосвязи открытых систем проявляется в том, что на каждом уровне разрабатываются и утверждаются базовые стандарты двух видов:
определение сервиса уровня, которое в абстрактной форме описывает доступные извне услуги данного уровня;
спецификация протокола уровня, которая регламентирует взаимодействие между равноправными объектами уровня, направленное на выполнение требуемого сервиса.
Верхние уровни модели связаны с логическими аспектами коммуникаций и ориентированы скорее на пользователей сети (обычно это — прикладные программы), чем на саму инфраструктуру сети. Эти уровни включают механизмы для координации диалога между приложениями и для подготовки данных с целью обеспечения единой интерпретации их сторонами. Приложения могут иметь доступ к функциям этих уровней через соответствующие сервисы. Основные функции верхних уровней — следующие:
Прикладной уровень (уровень 7) обеспечивает приложения необходимым высокоуровневым интерфейсом к нижележащим коммуникационным сервисам с целью обеспечения их связи с приложениями-партнёрами на других системах. К прикладному уровню также принято относить набор специализированных сервисов-приложений, таких как передача файлов, управление сообщениями, виртуальный терминал, директориальный сервис и др. Этими сервисами могут, в свою очередь, пользоваться приложения конечного пользователя. Сами приложения пользователя считаются расположенными над прикладным уровнем.
Уровень представления данных (уровень 6) предназначен для согласования синтаксиса и семантики данных для использования в процессе передачи данных между системами.
Сеансовый уровень (уровень 5) обеспечивает сервисы координации диалога между системами: синхронизацию, полномочия, активности.
Нижние уровни обеспечивают транспортные функции сети: они ответственны за физические аспекты коммуникаций и доставку данных между оконечными транспортными пользователями. Основные функции нижних уровней заключаются в следующем:
Транспортный уровень (уровень 4) обеспечивает надёжную и эффективную доставку данных между любыми двумя абонентами потенциально ненадёжной сети передачи данных, независимо от характеристик и топологии сети.
Сетевой уровень (уровень 3) обеспечивает адресацию и маршрутизацию сообщений между системами, которые непосредственно не связаны друг с другом в сети. Модули данных на этом уровне обычно носят название "пакеты" или "дейтаграммы".
Уровень звена данных (уровень 2) связан с обменом неструктурированными данными между смежными узлами сети. На этом уровне происходит обмен модулями данных — фреймами — и обеспечивается обнаружение и исправление ошибок передачи.
Физический уровень (уровень 1) предоставляет физическое соединение для передачи данных: среду распространения сигнала, интерфейсы, процедуры передачи сигналов по линии связи.
Уровни модели OSI можно сгруппировать в две категории, соответствующие понятиям "транспортный провайдер" (уровни 1 — 4) и "транспортный пользователь" (уровни 5 — 7).
Появление модели OSI послужило толчком к быстрому росту числа изделии и продуктов информационных технологий, согласующихся с концепцией открытых систем. Она стала основой разработки очень большого числа стандартов (как де-юре, так и де-факто), относящихся ко всем семи уровням этой модели. Однако они дают несколько «однобокий» взгляд на информационную систему: с точки зрения её коммуникационной инфраструктуры. В них не видны роль и функции операционной системы. Кроме того, прикладной уровень профилей стал очень быстро «разрастаться», а простая семиуровневая модель оказалась неспособна описать всё многообразие компонентов этого уровня и соответствующих им стандартов.
2.1.1.2.МодельPOSIXOSE
Исторически модель POSIX развивалась от разработки интерфейса переносимой операционной системы через разработку профилей операционных сред до формулировки модели полноценной среды открытых систем, которая и получила название OSE (Open Systems Environment). Она описана с точки зрения пользователя и является довольно простой, но ясно определяющей основные компоненты систем обработки данных и основные концепции формирования открытой среды. Главное преимущество этой модели состоит в том, что она позволяет легко классифицировать стандарты по открытым системам по двум категориям: либо как интерфейсы (форматы) и протоколы, либо как спецификации, относящиеся к переносимости или способности к взаимодействию.
Модель OSE не является уровневой (рис. 30) и определяет три категории логических объектов: прикладное ПО (Application Software — AS), платформу приложений (Application Platform — АР) и внешнюю среду (External Environment — ЕЕ) — и два типа интерфейсов между ними: интерфейсы прикладного программирования (Application Programming Interface — API) и интерфейсы внешней среды (External Environment Interface — EEI).
Рис. 30. Модель POSIX OSE
Рассмотрим более подробно существо каждого из этих понятий модели.
Прикладное ПО — это часть программного обеспечения системы, специфичная для конкретного применения пользователя. Она составляется из программ (исполняемых модулей, командных файлов, интерпретируемых записей исходного кода и пр.), данных (рабочих данных пользователя, параметров приложений, установок среды экрана пользователя и пр.) и электронной документации (электронных документов, справок помощи (on-line help) и пр., но бумажная документация сюда не включается).
Платформа приложений — это все остальные элементы системы обработки данных, за исключением прикладного ПО: аппаратное обеспечение, операционная система и другие компоненты и подсистемы системного ПО. Приложения, требующие ресурсов платформы, запрашивают их путём вызова сервисов через API. Ресурсы, находящиеся вне платформы, запрашивают сервисы через EEI, и наоборот, EEI являются средствами, через которые сервисы достигают ресурсов внешней среды. Внутренняя структура платформы в модели OSE преднамеренно не рассматривается. Это связано с тем, что в научных и промышленных кругах не существует единого мнения о составе, структуре и взаимосвязях различных модулей платформы.
Внешняя среда — это все компоненты информационной системы, находящиеся за пределами данной системы обработки данных: пользователи, коммуникационные каналы и средства связи, сменные носители данных, устройства ввода /вывода. Интерфейс между АР и ЕЕ включает форматы данных, интерфейсы и протоколы. По отношению к отдельно взятой вычислительной системе все другие вычислительные системы также выступают как объекты внешней среды.
Модель POSIX OSE определяет распределённую среду как множество платформ приложений, которые могут взаимодействовать посредством коммуникационных механизмов, внешних по отношению к платформам. Когда приложению необходимо связаться с другим приложением на другой прикладной платформе, приложение подаёт запросы к своей локальной платформе через API. Так как АР взаимодействуют через коммуникационный интерфейс EEI, локальная АР транслирует эти запросы в соответствующие действия через EEI. OSE также определяет однородный набор стандартных сервисов, предоставляемых пользователям платформ, в соответствии с требованиями спецификаций POSIX о переносимости и способности к взаимодействию. Данная модель делает попытку описать более полный подход к совместимости вычислительных систем, чем подход, основанный на многоуровневых архитектурах типа модели OSI.
Модель принята в качестве международного стандарта ISO/IEC TR 14252:1996 — Information technology - Guide to the POSIX Open System Environment (OSE).
Важное значение модели OSE состоит также в том, что она, очень удачно сформулировав основы концепции открытых систем, явилась базой для создания многих последующих моделей открытых систем.