Стандартизации, многоуровневый подход, стек протоколов

 

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

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

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

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

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

Следующая фаза в развитии концепции открытости связана с областью интерактивной компьютерной обработки и расширяющимся диапазоном, требующим переноса продуктов. В этот период DEC разработал свои VAX-системы (VAX – Virtual Address Extension), работающие под управлением операционной системы VMS (Virtual Machines System). Каждый компьютер этой линии, вне зависимости от размера, мог исполнять один и тот же набор приложений.

И, наконец, окончательное оформление принципов открытых систем связано с взрывным развитием сетевых технологий, таких, как DEC net или Internet (TCP/IP), объединявших системы и локальные сети самых разных организаций. Когда сетевая обработка стала реальностью, пользователи начали обращать внимание на совместимость и интеграцию как на необходимый атрибут открытых систем.

Одно из простейших определений открытой системы приводится в руководстве французской ассоциации пользователей UNIX (1992 г.).

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

1) расширяемость-масштабируемость – Extensibility/ scalability;

2) мобильность (переносимость на различные платформы) – portability;

3) интероперабельность (способность к взаимодействию с другими системами) – interoperability;

4) дружественность к пользователю, в том числе легкая управляемость – driveability.

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

возможность построения сети из аппаратных и программных средств различных производителей, придерживающихся одного и того же стандарта;

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

возможность легкого взаимодействия сетей между собой;

простота освоения и обслуживания.

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

Идеологическая основа стандартизации в распределенных СОД – многоуровневый подход к разработке средств сетевого взаимодействия. Вся система передачи сообщений (данных) разбивается на иерархические уровни (принцип декомпозиции) и на каждом уровне применяются свои правила взаимодействия – протоколы. Протоколом в мире коммуникаций называют распределенные алгоритмы, определяющие, каким образом осуществляется обмен данными между физическими устройствами и логическими объектами. Аналогом многоуровневого подхода может служить организация почтовой связи (рис. 3.5).

 

 

Рис. 3.5. Функциональные уровни системы почтовой связи

 

Теоретическую основу современных информационных систем определяет базовая эталонная модель открытых систем (OSI – Open System Interсonnection), разработанная международной организацией стандартов (ISO – International Standards Organization).

Иерархический набор протоколов, достаточный для организации взаимодействия узлов в сети, называется стеком коммуникационных протоколов. Стек OSI (рис. 3.6) включает в себя следующее:

первый уровеньуровень приложений (Application Layer), отвечает за поддержку прикладного программного обеспечения пользователя (протокол FTP, Telnet и т.п.);

 

Прикладной уровень
   
Уровень представления
   
Сеансовый уровень
   
Транспортный уровень
   
Сетевой уровень
   
Канальный уровень Контроль логической связи
Контроль доступа к среде
   
Физический уровень
           

 

Рис. 3.6. Стек протоколов OSI

второй уровеньуровень представления (Presentation Layer), служит для преобразования данных из внутреннего формата компьютера в формат, приемлемый для компьютера абонента, с которым устанавливается связь (ситуация связи с неоднотипными компьютерами – IBM PC, Macintosh, DEC, NEXТ и т.п.);

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

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

пятый уровеньсетевой (Network Layer), выполняет функции переключения и маршрутизации пакетов, отвечает за адресацию и доставку пакетов;

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

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

В стандарте ISO для обозначения данных, с которыми имеют дело протоколы разных уровней, используется общее название протокольный блок данных (Protocol Data Unit, PDU). Однако размеры этих блоков могут быть различны на разных уровнях протоколов. В связи с этим для обозначения единиц данных могут применяться различные названия. Наряду с термином сообщение (message), применяемом на самом верхнем уровне, применяется термин пакет (packet), применяемый на сетевом уровне, кадр (frame) на нижнем уровне.

Типичная структура пакета сообщений, характерная для любого уровня, представлена на рис. 3.7.

 

  Адрес отправителя     Адрес получателя     Тип пакета     Данные/ Сообщение     CRC  

 

Рис. 3.7. Структура пакета сообщений

 

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

 

    Данные/ Сообщение    
     
    Заголовок 1     Данные/ Сообщение     Окончание 1    
     
  Заголовок 2     Заголовок 1     Данные/ Сообщение     Окончание 1     Окончание 2  
           

 

Рис. 3.8. Вложенность пакетов сообщений

 

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