logo
Уч пособие ФРК ИТУ в ГПС часть 1

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

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

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

Стремление к максимальному упорядочению и упрощению процессов разработки, модернизации и расширения сетей определило необходимость введения стандартов, регламентирующих принципы и процедуры организации взаимодействия абонентов компьютерных сетей. Интенсивные работы в данном направлении ведутся рядом международных организаций, таких как Международная организация стандартов (ISO), Международный консультативный комитет по телефонии и телеграфии (ССIТТ), Европейская ассоциация производителей компьютеров (European Computer Manufacture Association - ЕСМА) и др.

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

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

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

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

Основу модели взаимодействия открытых систем составляет концепция многоуровневой организации протоколов, которую можно рассматривать в качестве дальнейшего развития многоуровневой организации протоколов систем телеобработки. Существенной особенностью модели взаимодействия открытых систем является разработка и использование единого подхода к организации протоколов и интерфейсов различных уровней. В соответствии с данной концепцией каждому уровню ставится в соответствие набор определенных функций, связанных с решением конкретной задачи по организации взаимодействия открытых систем. Нумерация уровней осуществляется относительно физических средств соединения, то есть первый номер присваивается физическому уровню, а наибольший номер - прикладному (пользовательскому) уровню. Каждый уровень с меньшим номером считается вспомогательным для смежного с ним более высокого уровня и предоставляет ему определенный набор услуг, называемых сервисом. Следует подчеркнуть, что эталонная модель не определяет средства реализации протоколов, а только специфицирует их. Таким образом, функции каждого уровня могут быть реализованы различными аппаратными и программными средствами. Основным условием при этом является то, что взаимодействие между любыми смежными уровнями должно быть четко определенным, то есть осуществляться через точки доступа посредством стандартного межуровневого интерфейса. Точка доступа является портом, в котором объект N-го уровня предоставляет услуги (N+1)-му уровню. Это достаточно важное условие определяет возможность изменения протоколов отдельных уровней без изменения системы в целом, что является одним из основных условий построения открытых систем. Заметим, что в случае программной реализации межуровневого интерфейса в качестве портов выступают адреса, по которым заносятся межуровневые сообщения.

В свою очередь, взаимодействие объектов (как правило, программ) одноименных уровней различных систем определяется с помощью протоколов соответствующего уровня, однако и в этом случае обмен данными осуществляется через межуровневые интерфейсы внутри каждой из систем, а между ними - через каналы передачи данных. Структурной единицей данных, передаваемых между уровнями, является так называемый протокольный блок данных, состоящий из управляющего поля, называемого заголовком, и поля данных. Заголовок N-го блока содержит управляющую информацию, формируемую на N-ом уровне. Содержимое поля данных N-го уровня представляет собой блок данных (N+1)-го уровня. Таким образом, формируется вложенная структура, при которой протокольные блоки данных, начиная с верхнего уровня, вкладываются друг в друга. При передаче данных в обратном направлении происходит обратная процедура "распаковки" блоков.

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

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

Рис. 3.1. Эталонная модель взаимодействия «открытых систем»

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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