Санкт-Петербургский государственный университет
Опубликован: 05.09.2014 | Доступ: свободный | Студентов: 795 / 178 | Длительность: 06:58:00
Лекция 2:

Методологический базис и эталонные системы

< Лекция 1 || Лекция 2: 12 || Лекция 3 >

Базовая эталонная модель взаимосвязи открытых систем (модель OSI)

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

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

С таким разделением и обеспечением взаимосвязи тесно связаны две группы вопросов стандартизации:

  1. стандарты интерфейсов взаимодействия прикладных программ со средой ИС, прикладной программный интерфейс (Application Program Interface - API);
  2. стандарты интерфейсов взаимодействия самой ИС с внешней для нее средой (External Environment Interface - EEI).

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

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

Совокупность таких описаний составляет эталонную модель взаимосвязи открытых систем (Open Systems Interconnection - OSI). Эта модель используется более 30 лет, она "выросла" из сетевой архитектуры SNA (System Network Architecture), предложенной компанией IBM. Модель взаимосвязи открытых систем используется в качестве основы для разработки многих стандартов ISO в области ИТ. Публикация этого стандарта подвела итог многолетней работы многих известных стандартизующих организаций и производителей телекоммуникационных средств.

В 1984 году модель получила статус международного стандарта ISO 7498, а в 1993 году вышло расширенное и дополненное издание ISO 7498-1-93. Стандарт имеет составной заголовок "Информационно-вычислительные системы - Взаимосвязь (взаимодействие) открытых систем - Эталонная модель". Краткое название - "Эталонная модель взаимосвязи (взаимодействия) открытых систем" (Open Systems Interconnection / Basic Reference Model - OSI/BRM).

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

Семиуровневая модель взаимодействия (взаимосвязи) открытых систем - модель ВОС (OSI)

Рис. 2.6. Семиуровневая модель взаимодействия (взаимосвязи) открытых систем - модель ВОС (OSI)

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

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

В стандарте ISO 7498 выделено семь уровней (слоев) информационного взаимодействия, которые отделены друг от друга стандартными интерфейсами:

  1. уровень приложения (прикладной уровень)
  2. уровень представления
  3. сеансовый (уровень сессии)
  4. транспортный
  5. сетевой
  6. канальный
  7. физический.

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

Протоколом является набор алгоритмов (правил) взаимодействия объектов одноименных уровней различных систем.

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

Инкапсуляция - это процесс помещения фрагментированных блоков данных одного уровня в блоки данных другого уровня.

При разбиении среды на уровни соблюдались следующие общие принципы:

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

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

Уровень 1 - уровень приложения или прикладной уровень (Application Layer). Этот уровень связан с прикладными процессами. Протоколы уровня предназначены для обеспечения доступа к ресурсам сети и программам-приложениям пользователя. На данном уровне определяется интерфейс с коммуникационной частью приложений. В качестве примера протоколов прикладного уровня можно привести протокол Telnet, который обеспечивает доступ пользователя к "хосту" (главному вычислительному устройству, одному из основных элементов в многомашинной системе или любому устройству, подключенному к сети и использующему протоколы TCP/IP) в режиме удаленного терминала.

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

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

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

Уровень 2 - уровень представления (Presentation Layer). На этом уровне информация преобразуется к такому виду, в каком это требуется для выполнения прикладных процессов. Уровень представления обеспечивает кодирование данных, выдаваемых прикладными процессами, и интерпретацию передаваемых данных. Например, выполняются алгоритмы преобразования формата представления данных для печати - ASCII или КОИ-8. Или, если для визуализации данных используется дисплей, то эти данные по заданному алгоритму формируются в виде страницы, которая выводится на экран.

Представительный уровень выполняет следующие основные функции:

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

Уровень 3 - сеансовый уровень или уровень сессии (Session Layer). На данном уровне устанавливаются, обслуживаются и прекращаются сессии между представительными объектами приложений (прикладными процессами). В качестве примера протокола сеансового уровня можно рассмотреть протокол RPC (Remote Procedure Call). Как следует из названия, данный протокол предназначен для отображения результатов выполнения процедуры на удаленном хосте. В процессе выполнения этой процедуры между приложениями устанавливается сеансовое соединение. Назначением данного соединения является обслуживание запросов, которые возникают, например, при взаимодействии приложения-сервера с приложением-клиентом.

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

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

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

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

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

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

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

Уровень 5 - сетевой уровень (Network Layer). Основной задачей протоколов сетевого уровня является определение пути, который будет использован для доставки пакетов данных при работе протоколов верхних уровней (маршрутизация). Для того чтобы пакет был доставлен до какого-либо заданного хоста, этому хосту должен быть поставлен в соответствие известный передатчику сетевой адрес. Группы хостов, объединенные по территориальному принципу, образуют сети. Для упрощения задачи маршрутизации сетевой адрес хоста составляется из двух частей: адреса сети и адреса хоста. Таким образом, задача маршрутизации распадается на две - поиск сети и поиск хоста в этой сети. На сетевом уровне могут выполняться следующие функции:

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

Уровень 6 - канальный уровень или уровень звена данных (Data Link Layer). Назначением протоколов канального уровня является обеспечение передачи данных в среде передачи по физическому носителю. В канале формируется стартовый сигнал передачи данных, организуется начало передачи, производится сама передача, проводится проверка правильности процесса, производится отключение канала при сбоях и восстановление после ликвидации неисправности, формирование сигнала на окончание передачи и перевода канала в ждущий режим.

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

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

На канальном уровне данные передаются в виде блоков, которые называются кадрами. Тип используемой среды передачи и её топология во многом определяют вид кадра протокола транспортного уровня, который должен быть использован. При использовании топологии "общая шина" (Common Bus) и "один-ко-многим" (Point-to-Multipoint) средства протокола канального уровня задают физические адреса, с помощью которых будет производиться обмен данными в среде передачи и процедура доступа к этой среде. Примерами таких протоколов являются протоколы Ethernet (в соответствующей части) и HDLC. Протоколы транспортного уровня, которые предназначены для работы в среде типа "один-к-одному" (Point-to-Point), не определяют физических адресов и имеют упрощенную процедуру доступа. Примером протокола такого типа является протокол PPP.

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

Физический уровень выполняет следующие функции:

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

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

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

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

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

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

  1. группа "утилит и приложений" - 1-й уровень;
  2. группа "преобразования информации" - с 2-го по 5-й уровни;
  3. группа "физическая" - 6-ый и 7-ой уровни.
Пример практической реализации модели ВОС

Рис. 2.7. Пример практической реализации модели ВОС

На рис. 2.7 показана схема практической реализации модели ВОС (OSI), в которой работают различные элементы сети. Компьютер с установленной на нем сетевой операционной системой взаимодействует с другим компьютером с помощью протоколов всех семи уровней ( рис. 2.8).

Схема взаимодействия двух систем на базе модели ВОС (OSI)

Рис. 2.8. Схема взаимодействия двух систем на базе модели ВОС (OSI)

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

Коммуникационное устройство в зависимости от типа может работать:

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

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

Прикладные службы, реализуемые на базе принципа открытых систем

Рис. 2.9. Прикладные службы, реализуемые на базе принципа открытых систем

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

< Лекция 1 || Лекция 2: 12 || Лекция 3 >