Архитектура открытых систем. Архитектура вычислительной сети. Эталонные модели взаимодействия систем

Аннотация: Методологическое обоснование открытых систем как совокупности концепций и основанных на них эталонных моделей. Модель OSI.

2.1. Методологический базис открытых систем

Процесс стандартизации информационных технологий должен иметь методологическое основание , которое позволило бы обоснованно определять объекты, методы и инструменты стандартизации. При этом понятие информационные технологии трактуется следующим образом: " Информационные технологии включают в себя спецификацию, проектирование и разработку программно-аппаратных и телекоммуникационных систем и средств, имеющих дело с поиском и сбором информации, представлением, организацией, обработкой, безопасностью, хранением, передачей, а также обменом и управлением информацией". Такое толкование и единая методологическая база реализована в виде методологического базиса открытых систем .

Методологически базис открытых систем состоит из совокупности концепций и основанных на них эталонных моделей:

  • концептуальная основа и принципы построения открытых систем;
  • эталонная модель окружений открытых систем (Open System Environment Reference Model - OSE RM);
  • эталонная модель взаимосвязи открытых систем (Open Systems Interconnection Reference Model - OSI RM);
  • аппарат разработки и использования профилей ИТ/ИС, предназначенный для создания открытых систем в пространстве стандартизованных решений;
  • таксономия профилей;
  • концепция тестирования конформности систем ИТ исходным стандартам и профилям.

Наиболее весомыми результатами в становлении методологии базиса открытых систем сегодня являются:

  • создание системы специализированных международных организаций по целостной разработке и стандартизации открытых систем;
  • разработка эталонных моделей и соответствующих им базовых спецификаций для важнейших разделов области ИТ, что позволило сформировать концептуальный и функциональный базис пространства для создания информационных технологий и систем (ИТ/ИС);
  • разработка и широкое использование концепции профиля, предоставляющей аппарат для специфицирования и документирования сложных и многопрофильных открытых ИТ/ИС, задающих функциональности базовых спецификаций и/или профилей;
  • разработка таксономии профилей, представляющей собой классификационную систему ИТ/ИС и обеспечивающую систематическую идентификацию профилей в пространстве ИТ/ИС;
  • разработка концепции и методологии соответствия реализаций ИТ/ИС тем спецификациям, которые ими реализуются.

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


Рис. 2.1.

Модель ориентирована на руководителей ИТ-служб и менеджеров проектов, ответственных за приобретение/разработку, внедрение, эксплуатацию и развитие информационных систем, состоящих их неоднородных программно-аппаратных и коммуникационных средств. Прикладные программы в среде OSE могут включать:

  • системы реального времени (Real Time System - RTS) и встроенные системы (Embedded System - ES);
  • системы обработки транзакций (Transaction Processing System - TPS);
  • системы управления базами данных (DataBase Management System - DBMS);
  • разнообразные системы поддержки принятия решения (Decision Support System - DSS);
  • управленческие информационные системы административного (Executive Information System - EIS) и производственного (Enterprise Resource Planning - ERP) назначения;
  • географические информационные системы (Geographic Information System - GIS);
  • другие специализированные системы, в которых могут применяться спецификации, рекомендуемые международными организациями.

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

  • выполняются на любой используемой платформе поставщика или пользователя;
  • используют любую операционную систему;
  • обеспечивают доступ к базе данных и управление данными;
  • обмениваются данными и взаимодействуют через сети любых поставщиков и в локальных сетях потребителей;
  • взаимодействуют с пользователями через стандартные интерфейсы в системе общего интерфейса "пользователь - компьютер".

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

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

переносимы , если они реализованы на стандартных платформах и написаны на стандартизованных языках программирования. Они работают со стандартными интерфейсами, которые связывают их с вычислительной средой, читают и создают данные в стандартных форматах и передают их в соответствии со стандартными протоколами, выполняющимися в различных вычислительных средах.

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

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

Рабочая группа 1003.0 POSIX IEEE разработала эталонную модель OSE (Open Systems Environment / Reference Model - OSE/RM). Эта модель описана на международном уровне в техническом отчете TR 14250 комитета JTC1 ( рис. 2.2).

В описании модели используется два типа элементов:

  • логические объекты , включающие в себя прикладное программное обеспечение (ППО), прикладные платформы и внешнюю функциональную среду;
  • интерфейсы , содержащие интерфейс прикладной системы и интерфейс обмена с внешней средой.

Логические объекты представлены тремя классами, интерфейсы - двумя. В контексте эталонной модели OSE прикладное программное обеспечение включает в себя непосредственно коды программ, данные, документацию, тестирующие, вспомогательные и обучающие средства ( рис. 2.3).


Рис. 2.3.

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

Внешняя среда платформ состоит из элементов, внешних по отношению к ППО и прикладной платформе (рабочие станции, внешние периферийные устройства сбора, обработки и передачи данных, объекты коммуникационной инфраструктуры, услуги других платформ, операционных систем или сетевых устройств).

Интерфейс прикладной программы (Application Program Interface - API) является интерфейсом между ППО и прикладной платформой. Основная функция API - поддержка переносимости ППО. Классификация API производится в зависимости от типа реализуемых услуг: взаимодействие в системе "пользователь - компьютер", обмен информацией между приложениями, внутренние услуги системы, коммуникационные услуги.

Интерфейс обмена с внешней средой (External Environment Interface - EEI) обеспечивает передачу информации между прикладной платформой и внешней средой, а также между прикладными программами, которые выполняются на одной платформе.


Рис. 2.4.

Эталонная модель OSE/RM реализует и регулирует взаимоотношения "поставщик - пользователь". Логические объекты прикладной платформы и внешней среды являются поставщиком услуг, ППО - пользователем. Они взаимодействуют с помощью набора API и EEI интерфейсов, определенных моделью POSIX OSE ( рис. 2.4) .

Интерфейс EEI представляет собой совокупность всех трёх интерфейсов (CSI, HCI, ISI), каждый из которых имеет характеристики, определяемые внешним устройством ( рис. 2.5):

  • интерфейс коммуникационных сервисов (Communication Service Interface - CSI) - интерфейс, который обеспечивает сервис для реализации взаимодействия с внешними системами. Реализация взаимодействия осуществляется с помощью стандартизации протоколов и форматов данных, которыми можно обмениваться по установленным протоколам
  • человеко-машинный интерфейс (Human Computer Interface - HCI) - интерфейс, через который осуществляется физическое взаимодействие пользователя и системы программного обеспечения
  • интерфейс информационных сервисов (Information Service Interface - ISI) - граница взаимодействия с внешней памятью долговременного хранения данных. Обеспечивается стандартизацией форматов и синтаксиса представления данных.


Рис. 2.5.

Прикладная платформа через оба основных интерфейса к платформе предоставляет сервисы для различных применений.

Среда OSE обеспечивает функционирование ППО, используя определенные правила, компоненты, методы сопряжения элементов системы (Plug Compatibility) и модульный подход к разработке программных и информационных систем. Достоинствами модели являются выделение внешней среды в самостоятельный элемент, имеющий определенные функции и соответствующий интерфейс, и возможность ее применения для описания систем, построенных на основе архитектуры "клиент-сервер". Относительный недостаток - еще не все требуемые спецификации представлены на уровне международных гармонизированных стандартов.

Понятие "система" носит двоякий характер. С одной стороны, по общему определению, система - это совокупность взаимодействующих элементов (компонентов), аппаратных и/или программных. С другой стороны, система может выступать в качестве компонента другой, более сложной системы, которая в свою очередь может быть компонентом системы следующего уровня.

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

  • пользователя (пользовательский интерфейс),
  • проектировщика системы (среда проектирования),
  • прикладного программиста (системы и инструментальные средства /среды программирования),
  • системного программиста (архитектура ЭВМ),
  • разработчика аппаратуры (интерфейсы оборудования).

Предлагаемый взгляд на архитектуру открытых систем вытекает из указанной выше необходимости комплексной реализации общих свойств открытости и является расширением принятого понятия об архитектуре ЭВМ по Г.Майерсу.

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

Иерархия представления архитектуры системы обработки данных

Уровень среды для конечного пользователя (user environment) характеризуется входными и выходными описаниями (генераторы форм и отчетов), языками проектирования информационной модели предметной области (языки 4GL), функциями утилит и библиотечных программ и прикладным уровнем среды коммуникаций, когда требуются услуги дистанционного обмена информацией. На этом же уровне определена среда (инструментарий) прикладного программирования (appliсation environment): языки и системы программирования, командные языки (оболочки операционных систем), языки запросов СУБД, уровни сессий и представительный среды коммуникаций.

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

На уровне оборудования легко видеть привычные разработчикам ЭВМ составляющие архитектуры аппаратных средств:

  • система команд процессора (процессоров),
  • организация памяти,
  • организация ввода-вывода и т.д.,

а также физическую реализацию в виде:

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

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

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

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

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

11. Архитектура взаимодействия открытых систем. Основы передачи дискретных сообщений

11. Архитектура взаимодействия открытых систем

Появление компьютерных сетей привело к необходимости создания стандартов, определяющих принципы взаимодействия внешних пользователей с сетями и сетей между собой (т.е. стандартов взаимодействия открытых систем, ВОС).

По своей сути сеть это соединение оборудования от разных производителей. Для решения проблем совместимости все производители должны придерживаться общепринятых правил построения оборудования. Эти правила закрепляются в стандартах.

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

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

Декомпозиция предполагает:

  • четкое определение функций каждого модуля, решающего отдельную задачу;
  • определение правил взаимодействия между модулями.

Многоуровневый подход при декомпозиции предполагает следующее:

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

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

Формализованные правила, определяющие последовательность и формат сообщений, которыми обмениваются сетевые компоненты, лежащие на одном уровне, но в разных узлах, называется ПРОТОКОЛОМ.

Уровни, находящиеся в одном узле в процессе работы, также взаимодействуют друг с другом в соответствии с четко определенными правилами. Эти правила принято называть ИНТЕРФЕЙСОМ.

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

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

Эталонная модель ВОС является наиболее общим описанием структуры построения стандартов. Она определяет принципы взаимосвязи между отдельными стандартами и является основой обеспечения возможности параллельной разработки различных стандартов для ВОС.

Изначально определяется структура построения стандартов ВОС.

Затем описание услуг, которые должны предоставляться отдельными компонентами (уровнями) открытой системы.

Последний уровень детализации стандартов ВОС – разработка в рамках определенной услуги ВОС набора протоколов.

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

Таким образом, стандарт ВОС должен определять:

  • Эталонную модель ВОС;
  • Конкретный набор услуг, удовлетворяющих эталонной модели;
  • Набор протоколов, обеспечивающих удовлетворение услуг, для реализации которых они разработаны.

Исходя из вышесказанного, система является открытой, если она соответствует эталонной модели ВОС, стандартному набору услуг и стандартным протоколам.

Семиуровневая модель ВОС

Сетевые модели OSI и IEEE Project 802

В 1978 г. Международная организация по стандартизации ISO (International Standards Organization) выпустила набор спецификаций описывающих архитектуру сетей с неоднородными устройствами. (Прообраз модели ВОС).

В 1984 г. ISO, выпустила новую версию своей модели, названную эталонной моделью ВОС. (Open System Interconnection reference model, OSI.)

Структура эталонной модели ВОС

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

Семь уровней модели :

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

К этому уровню имеют отношение:

  • характеристики физических сред передачи данных (полоса пропускания, волновое сопротивление, помехозащищенность…);
  • характеристики электрических (оптических) сигналов (уровни, тип кодирования, скорость модуляции…);
  • тип разъема и назначение каждого контакта (BNC, RJ-45, RS-232c…).

Пример спецификация 10BaseT .

Канальный уровень

К основным задачам решаемым на канальном уровне относятся:

  • организация доступа к среде передачи;
  • реализация механизмов обнаружения и коррекции ошибок.

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

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

Уровень управления каналом (второй уровень) или канальный представляет собой комплекс процедур и методов управления каналом передачи данных (установление соединения, его поддержание и разъединение), организованный на основе физического соединения, он обеспечивает обнаружение и исправление ошибок.

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

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

Пример: Ethernet, Token ring.

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

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

Если сетевой адаптер маршрутизатора не может передавать большие блоки данных, посланные ПК отправителя, на Сетевом уровне эти блоки разбиваются на меньшие. На Сетевом уровне получателя происходит обратный процесс переупаковки в исходное состояние.

Рассмотренные три нижних уровня определяют функционирование узла сети. Протоколы этих уровней обслуживают так называемую транспортную сеть. Как любая транспортная система, эта сеть транспортирует информацию, не интересуясь ее содержанием. Главной задачей этой сети является быстрая и надежная доставка информации.

Пример: IP (стек TCP/IP), IPX (стек IPX/SPX).

Транспортный уровень (Transport) Этот уровень принимает от вышестоящего уровня некоторый блок данных и должен обеспечить его транспортировку через сеть связи к удаленной системе. Уровни, лежащие выше транспортного, не учитывают специфику сети, через которую передаются данные, они "знают" лишь удаленные системы, с которыми взаимодействуют. Транспортный же уровень должен "знать", как работает сеть, какие размеры блоков данных она принимает, и т.п.

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

На этом уровне сообщения также могут переупаковываться: длинные разбиваются на несколько пакетов, а короткие объединяются в один. Это увеличивает эффективность передачи пакетов по сети. На транспортном уровне ПК получателя сообщения распаковываются, восстанавливаются в первоначальном виде, и обычно посылается сигнал подтверждения.

Если качество канала хорошее, то используется облегченный сервис. Датаграмный режим (UDP).

Если качество канала плохое, то используется максимум средств – установление предварительного логического соединения, организация обратной связи, циклическая нумерация пакетов, квитирование, проверка контрольных сумм и т.д. (Режим виртуальных каналов TCP).

Сеансовый уровень (Session)

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

  • соединение прикладных процессов для их взаимодействия,
  • организация передачи информации между процессами во время взаимодействия
  • "рассоединения" процессов.

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

Сеансовый уровень обеспечивает синхронизацию между пользовательскими задачами посредством расстановки в потоке данных контрольных точек (chekpoints). Таким образом, в случае сетевой ошибки, потребуется заново передать только данные, следующие за последней контрольной точкой.

Представительский уровень (Presentation) определяет синтаксис передаваемой информации, т.е. набор знаков и способы их представления, которые являются понятными для всех взаимодействующих открытых систем.

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

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

На этом уровне работает редиректор, переадресовывающий операции ввода вывода к ресурсам сервера.

Прикладной уровень (Application) эталонной модели ВОС определяет семантику, т.е. смысловое содержание информации, которой обмениваются ОС в процессе решения некоторой заранее известной задачи. Взаимодействующие системы должны одинаково интерпретировать получаемые данные.

Прикладной (пользовательский) уровень является основным, именно ради него существуют все остальные уровни. Он называется прикладным, поскольку с ним взаимодействуют прикладные процессы системы, которые должны решать некоторую задачу совместно с прикладными процессами, размещенными в других открытых системах.

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

Модель IEEE Project 802. Расширение модели OSI.

В феврале 1980 г. был выпущен IEEE Project 802. Хотя публикация данного проекта опередила стандарты ISO данные работы велись параллельно, при полном обмене информации поэтому полностью совместимы.

IEEE Project 802 – установил стандарты для физических компонентов сети – интерфейсных плат и кабельной системы с которыми имеют дело Физический и Канальный кровни модели OSI .

Данные стандарты распределяются:

  • на платы сетевых адаптеров;
  • компоненты глобальных вычислительных сетей;
  • компоненты сетей на коаксиале и витой паре.

802-спецификации определяют способы, в соответствии с которыми сетевые карты осуществляют доступ к физической среде и передают по ней данные.

В модели IEEE Канальный уровень делится на два подуровня:

  • управление логической связью (контроль ошибок и управление потоком данных);
  • Управление доступом к среде. (контроль несущей, передача маркера,…).

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

Контрольные вопросы

Эталонная модель архитектуры открытых систем (OSI) описывает, каким образом происходит обмен информацией между информационными системами (прикладными процессами) с использо-ванием механизма связи открытых систем. Модель делится на семь функциональных разделов (уровней), которые называются: прикладной, представления, сессии, транспортный, сетевой, уровень звена передачи данных и физический уровень.

Цель прикладного уровня – служить “окном” между общающимися пользователями в среде OSI, через которую происходит весь обмен информацией между пользователями.

Цель уровня представления – представлять информацию (во внешних формах представления) для общающихся пользователей таким способом, который сохранял бы смысл, несмотря на синтаксические различия.

Цель уровня сессии – обеспечивать средства, необходимые взаимодействующим элементам уровня представления для организации и синхронизации их диалога и управления обменом данными. Для этого уровень сессии обеспечивает средства для установления связи посредством сессии между двумя элементами уровня представления и для обеспечения их упорядоченного взаимодействия при обмене данными.

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

Трехуровневая архитектура информационных систем, связана с эталонной моделью OSI (Взаимодействие открытых систем) следующим образом (рисунок 6).

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

Внутренний уровень имеет дело с внутренним представлением данных включая внутреннее манипулирование данными и фактическое физическое хранение данных на запоминающих устройствах. Область деятельности здесь сравнима по характеру с уровнями сессии, транспортным, сетевым, уровнем данных и физическим уровнем. Их функции, однако – соответственно, хранение данных и обмен ими – различны.

Методы моделирования данных

В данном разделе мы рассмотрим некоторые методы моделирования данных в области концептуальных схем. Будут выделены несколько общих аспектов в различных методах и в общих чертах охарактеризованы каждый из них. Эти сведения не являются исчерпывающими. Цель их найти некоторые удобные критерии для:

Выделения различных методов описания предметной области в концептуальной схеме и информационной базе;

Выделения основных понятий, необходимых для языков концептуальной схемы;

Анализа и оценки основ стандартного языка концептуальной схемы.

Рассматриваются следующие критерии.

1. Сопоставление формы и содержания.

Ранние методы концентрировали внимание на формах моделируемых данных. То есть определялись структуры данных, удобные для хранения и/или обработки в ЭВМ. В частности, оптимизировалось обновление данных, хотя уделялось также внимание и проблемам доступа к данным. Термин “моделирование данных” восходит к этим методам. Более поздние методы моделирования подчеркивают важность моделирования смысла (семантики) информации. В этих методах большую роль играют семантические правила для информации. Такие семантические модели считаются независимыми от моделей данных, описывающих формы представления и хранения информации и находятся на более высоком уровне.

Рисунок 6. Взаимосвязь трехуровневой архитектуры АИС с эталонной моделью OSI

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

2. Статические аспекты в сравнении с динамическими аспектами.

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

3. Возможность различать лексические и нелексические сущности.

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

4. Выразительная мощность.

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

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

6. Разделение различных видов высказываний.

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

В настоящее время существуют несколько методов моделирования в области информацион-ных систем и баз данных, в следующий перечень включены основные методы:

Абстрактные типы данных;

Модели, основанные на бинарных отношениях;

Концептуальные графы;

Модели предложений с глубокой структурой;

Модели сущность – связь;

Модели, ориентированные на функции или на действия;

Модели, основанные на n-арных отношениях;

Сетевые модели (включая CODASYL);

Модели объект – роль;

Модели взаимодействия процессов;

Реляционные модели;

Сематические сети;

Теоретико-множественные модели.

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

Сущность – атрибут – связь (EAR);

Модели на основе бинарных и элементарных n-арных отношениях;

Интерпретируемая логика предикатов.

Подходы сущность – атрибут – связь (EAR) основываются на следующих понятиях:

Сущности;

Связи между сущностями;

Атрибуты – ассоциации между значениями и сущностями, или между значениями и связями;

Значения.

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

Источником этих подходов послужил опыт моделирования данных в начале 1970-х годов. Первоначально рассматривались только бинарные связи, атрибуты связей не допускались.
Но последующие работы привели к вариантам, которые допускают n-арные связи между сущностями и позволяют связям иметь атрибуты (рисунки 7-9).

Рисунок 7. Представление связей в моделях EAR

Рисунок 8. Пример бинарной связи (n:2)

Рисунок 9. Пример тройной связи (n = 3)

Подходы EAR можно характеризовать как ориентированные на определение статических аспектов. Поэтому, вообще говоря, они могут только частично описывать различные правила предметной области. Подходы ЕАR часто подразумевают использование особых видов высказываний, которые группируются вместе и выражаются одной макро-конструкцией. Они не предусматривают явного различия лексических и нелексических сущностей.

Подходы на основе бинарных и элементарных n-арных отношений исторически основываются на работах по искусственному интеллекту и лингвистике, где рассматриваются “семантические сети” и другие подобные понятия. Они были предложены в начале 1970-х годов.

Подходы BR (BINARY RELATIONSHIP) различают сущности и имена сущностей, но не различают атрибуты и связи. Кроме того, признаются только бинарные отношения, они основаны на трех основных понятиях:

Сущности;

Имена сущностей;

Бинарные отношения.

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

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

Подходы на основе элементарных n-арных отношений не ограничивают элементарные высказывания точно двумя сущностями, а допускают описание элементарных высказываний, включающих одну, две или более сущностей (элементарные n-арные отношения).

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

Термов и переменных;

Предикатов;

Логических связок;

Кванторов.

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

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

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

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

· Распознать данные (выбрать данные для передачи из файловой системы);

· Разбить данные на управляемые блоки (сообщение – на пакеты);

· Добавить информацию к каждому блоку (адрес источника, адрес приемника, информацию для синхронизации и информацию для проверки ошибок);

· Поместить данные в сеть и отправить их по указанному адресу.

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

Модель OSI (Open System Interconnection reference model – эталонная модель взаимодействия открытых систем) представляет собой набор стандартных протоколов. Она создана на основе технических предложений Международного института стандартов ISO в 1984 г.

Архитектура модели

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

Таблица 9.1.

Модель сетевой архитектуры

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

Нижние уровни – Физический и Канальный определяют физическую среду передачи данных и сопутствующие задачи (такие, как передача битов данных через плату сетевого адаптера и кабель). Самые верхние уровни определяют, каким способом осуществляется доступ приложений к услугам связи. Чем выше уровень, тем более сложную задачу он решает.

Взаимодействие уровней модели OSI

Задача каждого уровня – предоставление услуг вышележащему уровню, «маскируя» детали реализации этих услуг. При этом каждый уровень на одном компьютере работает так, будто он напрямую связан с таким же уровнем на другом компьютере. Эта логическая, или виртуальная, связь между одинаковыми уровнями показана на рис.9.9. Однако в действительности связь осуществляется между смежными уровнями одного компьютера – программное обеспечение, работающее на каждом уровне, реализует определенные сетевые функции в соответствии с набором протоколов.

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

Рис.9.9 Взаимодействие уровней сетевой модели

Рассмотрим этот процесс более подробно. Пусть приложение обращается с запросом к прикладному уровню, например к файловой службе. На основании этого запроса программное обеспечение прикладного уровня формирует сообщение стандартного формата. Обычное сообщение состоит из заголовка и поля данных. Заголовок содержит служебную информацию, которую необходимо передать через сеть прикладному уровню машины-адресата, чтобы сообщить ему, какую работу надо выполнить (заголовок должен содержать информацию о месте нахождения файла и о типе операции, которую над ним надо выполнить). Прикладной уровень направляет сообщение вниз по стеку представительному уровню.

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

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

Прикладной уровень

Представляет собой окно для доступа прикладных процессов к сетевым услугам. Этот уровень обеспечивает услуги, напрямую поддерживающие приложения пользователя, такие, как программное обеспечение для передачи файлов, доступа к базам данных и электронная почта. Единица данных на этом уровне – сообщение. На данном уровне действуют протоколы: FTP (File Transfer Protocol – протокол передачи файлов), HTTP (Hyper Text Transfer Protocol – протокол передачи гипертекста), SMTP (Simple Mail Transfer Protocol – протокол передачи электронной почты), Telnet (протокол эмуляции терминала) и др.

Представительский уровень

Определяет формат, используемый для обмена данными между сетевыми компьютерами. Этот уровень можно назвать переводчиком. На компьютере-отправителе данные, поступившие от Прикладного уровня, на этом уровне переводятся в общепонятный промежуточный формат. На компьютере-получателе на этом уровне происходит перевод из промежуточного формата в тот, который используется Прикладным уровнем данного компьютера. Представительский уровень отвечает за преобразование протоколов, трансляцию данных, их шифрование, смену или преобразование применяемого набора символов (кодовой таблицы), управляет сжатием данных для уменьшения передаваемых битов.

Сеансовый уровень

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

Транспортный уровень

На транспортном уровне сообщения, поступающие с верхних уровней, переупаковываются: длинные разбиваются на несколько пакетов, а короткие объединяются в один. Это увеличивает эффективность передачи пакетов по сети. На пути передачи пакеты могут быть искажены/утеряны, поэтому транспортный уровень обеспечивает верхним уровням (сеансовому и прикладному) передачу данных с необходимым уровнем надежности.

Модель OSI предусматривает несколько классов сервиса, предоставляемого транспортным уровнем, которые отличаются качеством услуг:

1) срочностью передачи;

2) возможностью восстановления прерванной связи;

3) возможностью обнаружения и исправления ошибок;

4) возможностью определения потери или дублирования пакетов.

На этом уровне работают два протокола UPD и TCP, которые реализуют различные режимы доставки пакетов.

Протокол UPD (User Datagram Protocol – дейтограммный протокол) используется в том случае, когда задача надежного обмена данными либо вообще не ставится, либо решается средствами более высокого уровня (системными прикладными службами или пользовательскими приложениями).

Протокол TCP (Transmission Control Protocol – протокол установления соединения) обеспечивает гарантированную доставку пакетов. Протокол устанавливает логическое соединение между комьютерами-абонентами, что позволяет ему нумеровать пакеты, подтверждать их прием квитанциями, в случае их потери организовать повторные передачи, распознавать и уничтожать дубликаты.

Сетевой уровень

Сетевой уровень служит для образования единой транспортной системы, объединяющей несколько сетей, возможно, разных технологий. Внутри локальной сети используется адресация канального уровня – mac – адресация, для передачи пакетов между сетями такая адресация не годится. Требуется новая система адресации – структурированный IP – адрес, в котором выделяются, по крайней мере, 2 части (номер сети и номер узла в данной сети). Таким образом, на сетевом уровне термин «сеть» - это совокупность рабочих станций, соединенных по типовой технологии и использующих один из протоколов канального уровня. Это совокупность компьютеров с одинаковым номером сети.

Сети соединяются между собой с помощью маршрутизаторов, которые работают с IP – адресами. Чтобы передать пакет из одной сети в другую, необходимо выполнить несколько транзитных передач через другие сети, т.е. выполнить несколько «хопов» (hop – прыжок).

Прежде чем передавать данные каждый маршрутизатор строит таблицу маршрутизации, в которой указывается, как передавать пакет до каждой сети назначения. Для этого маршрутизатор производит обмен данными с другими маршрутизаторами, таким образом, у каждого маршрутизатора в результате образуется структура связей в сети, по которой он может выбрать маршруты. При выборе маршрутов используются критерии, которые указываются в IP – заголовке пакета.

Другие задачи сетевого уровня:

1) согласование разных технологий (трансляция пакетов);

2) преобразование IP – адреса следующего маршрутизатора в mac-адрес с тем, чтобы сформировать заголовок канального уровня при выполнении хопа;

3) если пакет передается из сети с большим значением МТИ в сеть с меньшим значением (Ethernet→Token Ring), то маршрутизатор фрагментирует пакет, т.е. разбивает его на меньшие блоки.

На сетевом уровне работают, по крайней мере, два вида протоколов:

1) Сетевые протоколы, которые непосредственно продвигают пакеты в сложной сети

IP – Internet Protocol

IPX – Internet Protocol фирмы Novell

2) Протоколы маршрутизации, которые перед отправкой пакетов собирают информацию о связях в сети и строят в итоге таблицу маршрутизации, по которой и работают сетевые протоколы.

RIP – Routing Internet Protocol; OSPF, RIP

Канальный уровень

Осуществляет передачу кадров данных от Сетевого уровня к Физическому. Кадр – это логически организованная структура, в которые можно помещать данные (см рис.9.10). Канальный уровень компьютера получателя упаковывает «сырой» поток битов, поступающих от Физического уровня, в кадры данных. Данный уровень решает задачи доступа к каналу связи, обнаруживает и корректирует ошибки с помощью CRC (остаток избыточной циклической суммы), руководит повтором передачи (в случае повреждения или потери кадров), проверкой mac – адреса. Примеры протоколов, работающих на канальном уровне: Token Ring, FDDI, Ethernet, Fast Ethernet, Gigabit Ethernet, ATM которые реализуются в персональных компьютерах, коммутаторах, маршрутизаторах, сетевых адаптерах.

Рис. 9.10 Структура кадра

Физический уровень

Этот уровень осуществляет передачу неструктурированного, «сырого» потока битов по физической среде (например, сетевому кабелю). Здесь реализуются электрический, оптический, механический и функциональный интерфейсы с кабелем. Физический уровень также формирует сигналы, которые переносят данные, поступившие от вышележащих уровней. На этом уровне определяется тип сетевого кабеля и способ его соединения с платой сетевого адаптера, в частности, количество контактов в разъемах и их функции. Кроме того, здесь определяется способ передачи данных по сетевому кабелю (Ethernet и Token Ring). Физический уровень предназначен для передачи битов (нулей и единиц) от одного компьютера к другому. Содержание самих битов на данном уровне значения не имеет. Этот уровень отвечает за кодирование данных и синхронизацию битов, гарантируя, что переданная единица будет воспринята именно как единица, а не как ноль. Данный уровень устанавливает длительность каждого бита и способ перевода бита в соответствующие электрические или оптические импульсы, передаваемые по сетевому кабелю. На физическом уровне также определяют, используется ли для передачи данных симплексный, полудуплексный или дуплексный режим связи. Он содержит подробности о сетевой топологии.




Top