Технологии открытых систем
5.3. Эталонная модель взаимодействия открытых систем
Перемещение информации между компьютерами различной конфигурации является чрезвычайно сложной задачей. В начале 1980-х гг. Международная организация стандартизации (ISO) и Международный консультативный комитет по телеграфии и телефонии (МККТТ) признали необходимость в создания модели сети, которая могла бы помочь поставщикам создавать реализации взаимодействующих сетей.
Предпосылками разработки моделей взаимодействия открытых систем явились:
- необходимость эталонной системы, которая поможет обеспечить взаимодействие сетевых средств, предлагаемых различными разработчиками;
- необходимость теоретически обоснованной сетевой модели, решающей задачу перемещения информации между компьютерами различных систем;
- разбиение общей задачи перемещения информации на более мелкие подзадачи, что позволило бы разработчикам сетевых приложений сконцентрироваться на решении конкретных прикладных задач.
В 1984 г. Международная организация стандартизации разработала эталонную модель сети под названием "Взаимодействие открытых систем" (OSI - Open System Interconnection).
Взаимодействие двух приложений посредством сети является довольно сложной задачей, которая включает в себя:
- Поиск приложения, с которым будет производиться обмен информацией.
- Установление и поддержание связи.
- Обработка потерь и помех при обмене.
Если бы реализация всех необходимых составляющих для обмена информацией лежала бы только на приложениях, то создание последних было бы крайне сложной задачей. Кроме того, возникла бы проблема согласования транспортных средств для приложений, выпущенных различными разработчиками.
Модель взаимодействия открытых систем разделяет задачу сетевого обмена на семь более мелких задач, что упрощает решение. Каждая из подзадач сформулирована таким образом, чтобы для её решения требовался минимум внешней информации. Каждый уровень модели взаимодействия открытых систем соответствует своей подзадаче, а значит, каждый уровень модели в достаточной степени автономен. Функционально уровни взаимодействуют на строго иерархической основе: каждый уровень обеспечивает сервис для вышестоящего уровня, запрашивая, в свою очередь, сервис у нижестоящего уровня.
К основным принципам разработки сетевых уровней, соответствующих модели взаимодействия открытых систем, относятся:
- Каждый уровень должен выполнять строго определенную функцию.
- Набор функций, выполняемых сетевым уровнем, приводится в соответствие с общепринятыми международными стандартами.
- Границы уровня выбираются таким образом, чтобы минимизировать проходящий через них поток данных.
- Количество сетевых уровней должно быть достаточно большим, чтобы не размещать различные функции на одном и том же уровне и в то же время не усложнять модель, делая её необъятной.
Роль семиуровневой эталонной модели взаимодействия открытых систем, ее протоколов и услуг и их практическое использование в построении информационно-вычислительных сетей с течением времени постоянно менялись. В 70-е и в начале 80-х гг. ХХ в. - в период создания и становления эталонной модели, наибольшее применение в проектах различных сетей находили достаточно зрелые к тому времени и практически апробированные протоколы фирм IBM, DEC, Xerox др.
С появлением в 1984 г.у первого стандарта по эталонной модели и, особенно, с последующим наполнением этой модели конкретными протоколами практическая привлекательность модели взаимодействия открытых систем как единого комплекса стандартов, реализующих взаимную совместимость оборудования и программ различных поставщиков, начала сильно возрастать. Свидетельство тому - появление в начале 90-х гг. правительственных профилей взаимодействия открытых систем (GOSIP - Government Open Systems Interconnection Profile) почти во всех развитых странах мира, принятых и стандартизованных на государственном уровне, а также попытки объединения GOSIP различных стран в единую Промышленно-правительственную спецификацию открытых систем.
Однако произошедший в 90-е гг. быстрый рост сети Internet с ее более простыми протоколами, широкими возможностями доступа, богатством информационных ресурсов, с одной стороны, и такое же быстрое развитие новых сетевых высокоскоростных технологий, с другой стороны, потеснили протоколы взаимодействия открытых систем в их практическом использовании. Этому способствовал и слишком медленный процесс разработки и принятия стандартов взаимодействия открытых систем, обусловленный практикой всеобъемлющего их согласования со многими участвующими странами мира.
Процесс стандартизации взаимодействия открытых систем никогда не был тесно привязан к какой-либо конкретной рабочей среде. Справочная модель взаимодействия открытых систем описывает, каким образом информация проделывает путь через среду сети от одной прикладной программы до другой. Большинство устройств сети реализует все семь уровней. Однако в режиме потока информации некоторые реализации сети могут пропускать один или более уровней. Два самых низших уровня модели взаимодействия открытых систем реализуются аппаратным и программным обеспечением; остальные пять высших уровней, как правило, реализуются программным обеспечением.
Технология передачи информации в модель взаимодействия открытых систем
Процесс передачи данных из прикладной программы одной системы в прикладную программу другой системы, при условии, что обе системы удовлетворяют стандартам эталонной модели взаимодействия открытых систем и имеют семиуровневую структуру, представлен на рис. 5.3.
1-й этап. Прикладная программа, которая является источником информации, передает данные верхнему уровню системы, в среде которой она реализована. На этом уровне происходит обработка полученных данных, смысл которой заключается в том, что к информации добавляется заголовок, содержащий служебную информацию, необходимую для адресации сообщения и выполнения контрольных функций.
Управляющая информация в форме кодированного заголовка помещается перед фактическими данными, которые должны быть переданы. Этот информационный блок передается в следующий смежный нижестоящий уровень системы.
2-й этап. Каждый уровень системы, принимая информацию от верхнего уровня, добавляет к ней свои данные, которые необходимы для функционирования этого уровня. При прохождении очередного уровня сверху вниз данные получают новый заголовок. Кроме того, по мере продвижения через уровни информация кодируется, постепенно преобразовываясь в сигналы, которые можно передавать по каналам связи.
3-й этап. Нижний уровень системы заголовка к сообщению не добавляет, его функции состоят в передаче информации, представленной в виде последовательности электрических сигналов, по каналу связи.
4-й этап. На принимающей стороне информация проходит снизу вверх, и на каждом уровне соответствующий заголовок сообщения отделяется, поэтому уровень на принимающей стороне получает данные точно в том виде, в котором они были отправлены соответствующим уровнем на противоположной стороне. Полученный заголовок прочитывается, после чего происходит обработка информации в соответствии с командами, содержащимися в этом заголовке.
5-й этап. Верхний уровень принимающей системы передает данные прикладной программе, с которой производится обмен информацией, при этом информационный блок содержит только оригинальный текст, поскольку все заголовки к этому моменту уже отделены от сообщения.
Следует отметить, что концепция заголовка и собственно данных относительна и зависит от перспективы того уровня, который в данный момент анализирует информационный блок. Не все уровни нуждаются в присоединении заголовков, некоторые просто выполняют трансформацию фактических данных, которые они получают, чтобы сделать их более или менее читаемыми для смежных с ними уровней. Обработка сообщения уровнями модели взаимодействия открытых систем представлена на рис. 5.4.
увеличить изображение
Рис. 5.4. Технология обработки сообщения уровнями модели взаимодействия открытых систем
Модель взаимодействия открытых систем описывает только системные средства взаимодействия, не касаясь приложений конечных пользователей. Приложения реализуют свои собственные протоколы взаимодействия, обращаясь к системным средствам.
Следует иметь в виду, что приложение может взять на себя функции некоторых верхних уровней модели, в таком случае, при необходимости межсетевого обмена оно обращается напрямую к системным средствам, выполняющим функции оставшихся нижних уровней модели взаимодействия открытых систем.
К заслугам эталонной модели взаимодействия открытых систем можно отнести следующие:
- Концепция уровневой архитектуры взаимодействия открытых систем, заложенные в ней принципы автоматического согласования параметров различных уровней, принципы построения профилей и функциональных стандартов, протоколы отдельных уровней стали эталоном при решении подобных вопросов во многих других сетевых архитектурах.
- Многие из разработанных протоколов модели, которые непосредственно не получили широкого практического применения, послужили прямой основой для создания аналогичных протоколов других сетевых архитектур, в том числе в сети Internet.
- Многие стандарты, разработанные для эталонной модели взаимодействия открытых систем, например, стандарты по кодам, механическим параметрам соединителей на физическом уровне, языкам программирования и др., реализованы во множестве изделий различных фирм.
Однако, несмотря на все достоинства эталонной модели, ей присущи и определенные недостатки:
- Изобилие стандартов взаимодействия открытых систем.
- Сложность протоколов взаимодействия открытых систем и, как следствие, сравнительно высокая стоимость устройств, реализующих эти протоколы.
- Медленный процесс разработки стандартов.
- Слабое внедрение реальных коммерческих изделий и действующих систем.
Следует также иметь в виду, что комплект протоколов Internet довольно прочно укоренился еще до того, как был разработан достаточно работоспособный комплект протоколов взаимодействия открытых систем, и если даже некоторые протоколы эталонной модели превзошли затем по своим функциональным возможностям и гибкости соответствующие протоколы Internet, всю установленную базу Internet заменять было поздно. К тому же концепция эталонной модели, разработанная до того, как укоренился Internet, не предусмотрела четкого плана перехода на другие технологии и сосуществования с ними.
В этом отношении можно констатировать, что возлагавшиеся на модель взаимодействия открытых систем надежды как на единую универсальную экономичную архитектуру в полной мере не оправдались.