Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Эталонная модель взаимодействия открытых систем
(OSI — Open Systems Interconnection)
Эталонная модель взаимодействия открытых систем (ЭМ ВОС) – это идеологическая концепция, которая была утверждена МККТТ (рекомендация Х.200) и МОС (стандарт IS 7498). Ее появление было связано с необходимостью объединения в сети разнотипных ЭВМ (в смысле системы, серии, платформы). Сетевое ПО является очень сложным и это потребовало его разбиения на ряд иерархических уровней, стандартизации самих уровней и интерфейсов между ними. " Открытость" в этой концепции понимается как независимость от типа (класса) ЭВМ. В единую сеть должны объединяться любые ЭВМ (ПК, мейнфреймы, рабочие станции, супер-ЭВМ, с ОС UNIX, Windows и т.д.), если выполнены те условия, которые оговариваются в данной модели. Все сетевое ПО открытой системы делится на ряд функциональных слоев (уровней). ЭМ ВОС рекомендует 7 таких уровней, показанных на рисунке 2.1. Рис.2.1. Модель вводит единую терминологию для описания уровней. При этом обобщенно рассматриваются три смежных уровня — (N-1), (N) и (N+1). Те элементы открытой системы, которые выполняют в ней функции N-уровня называют (N)-объектом. ( N)-службой называется совокупность функциональных возможностей (N)-уровня и всех нижележащих уровней. В объектах выделяются отдельные элементы, называемые (N)-функциями, а в (N)-службе – элементы, определяемые как (N)-услуги. В процессе передачи данных между (N)-объектами устанавливается взаимодействие, определяемое как (N)-протокол (см. рис. 2.2.). Это набор правил, процедур и форматов, необходимых для правильного взаимодействия (N)-объектов. Между объектами может быть несколько протоколов. Рис.2.2. Связь между смежными объектами в одной системе происходит через (N)-ТДС – точку доступа к (N)-службе. Между объектами может быть несколько (N)-ТДС. Под (N)-соединением понимается связь между двумя или более (N+1)-объектами, которая осуществляется от одной (N)-ТДС до другой и в которой участвуют объекты (N) и всех нижележащих уровней. Каждый объект при передаче добавляет свою необходимую информацию. Данные, получаемые от верхнего уровня, включаются в поле (N)-ДП – данных протокола. Каждый протокольный объект добавляет еще свою информацию – поле (N)-УИП –управляющую информацию протокола. Получаемый в результате протокольный блок данных ( N)-ПБД поступает к объекту нижележащего уровня (см. рис.2.3.). Рис.2.3.
Например, в протоколах SDLC и HDLC поступающий от сетевого уровня пакет помещается в информационную область кадра; кроме этого формируется служебная информация, включаемая в поля A, C, FCS и F (см. рис.2.4.). Рис.2.4. Уровни эталонной модели ЭМ ВОС выделяет 7 представленных на рисунке 2.5 уровней, но оставляет открытым вопрос их наполнения. Рис.2.5. Для этой цели разрабатываются уже другие стандарты – на уровни, интерфейсы, службы.
Функции уровней
Произвольный (N)-уровень в общем случае включает в себя следующие функции. 1) Выбор протокола. На уровне может использоваться несколько протоколов, поэтому для организации (N)-соединения необходимо, чтобы (N)-объекты выбрали единый (N)-протокол - иначе они просто не поймут друг друга. Такой выбор может быть сделан как заранее, так и во время установления соединения с использованием идентификатора (N)-протокола. Например, транспортный протокол Х.224 имеет 4 класса (являющихся, по существу, весьма существенно отличающимися протоколами) плюс ряд дополнительных опций. 2) Установление и расторжение соединения. Должны быть выполнены 2 условия для установления соединения: ¨ должно иметься (N-1)-соединение; ¨ оба (N)-объекта должны быть готовы к выполнению обмена данными по протоколу. Таким образом для соединения объектов 7-го уровня необходимо представление соединения представительным, сеансовым и т.д. уровнями вплоть до физического. Расторжение (N)-соединения может быть: ¨ нормальным - по инициативе одного из связанных с ним (N+1)-объектов; ¨ аварийным - при возникновении ошибок в (N) или одном из нижележащих уровней. (N) и (N-1) соединения могут быть независимыми. Это означает, что расторжение одного из них не обязательно ведет к расторжению другого. При расторжении (N)-соединения сохраненное (N-1)-соединение может быть использовано для другого (N)-соединения. При расторжении (N-1)-соединения возможно сохранение (N)-соединения путем организации нового (N-1)-соединения. 3) Мультиплексирование и расщепление соединений. При традиционном варианте для каждого (N)-соединения используется одно (N-1)-соединение(рис.2.6.) Мультиплексирование означает, что несколько (N)-соединений пользуются одним (N-1)-соединением. При этом возникают следующие дополнительные проблемы: Рис.2.6. · необходима идентификация данных, относящихся к каждому (N)-соединению; · управление каждым (N)-соединением должно учитывать пропускную способность (N-1)-соединения, с учетом работы других N-партнеров. При расщеплении — одно (N)-соединение использует несколько (N-1)-соединений (рис.7.). При этом возникают такие проблемы, как: · управление применяемыми (N-1)-соединениями; · дробление данных для их передачи по разным (N-1)-соединениям, контроль и восстановление последовательности на приемной стороне. Рис.2.7. В качестве примера мультиплексирования можно указать на взаимодействие протоколов Х.25/3 и Х.25/2. Протокол сетевого уровня Х.25/3 служит для организации виртуальных соединений при передаче пакетов. Протокол Х.25/2 (HDLC) выполняет управление информационным каналом на двухточечном участке сети. Каждый пакет 3-го уровня сопровождается заголовком, идентифицирующим виртуальное соединение (рис.2.8.). Примером расщепления может служить транспортный уровень СОИ, который использует сетевой протокол работающий по методу дейтаграмм. Здесь пакеты могут доставляться параллельно по нескольким сетевым маршрутам, а у получателя производится сборка сообщения.
Рис.2.8. 4) Передача нормальных данных. Это процедуры обмена (N)-объектами (N)-ПБД (каждый из которых содержит (N)-УИП и (N)-ДП. 5) Передача срочных данных. Срочные данные используются для целей синхронизации, экстренного уведомления о сбоях. Передача этих данных производится как бы по особому подканалу, т.к. она не зависит от состояния потока нормальных данных. 6) Управление потоком данных. Различают 2 типа управления потоком: · Протокольное — регулирует скорость передачи (N)-ПБД между (N)-объектами. Используется управляющая информация в ПБД (кредит передачи, окно), указывающая на способность партнера принять определенное количество данных. · Интерфейсное — регулирует скорость передачи между (N+1) и (N)-объектами. Здесь используются локальные (т.е. справедливые в пределах одной системы) соглашения и ограничения. 7) Сегментирование, блокирование и сцепление данных. Протокольные блоки данных (ПБД) разных уровней обычно отличаются по размерам. Если размер (N+1)-ПБД больше максимального поля данных в (N)-ПБД, то необходимо на (N)-уровне выполнить сегментирование (см. рис.2.9.), т.е. разбиение (N+1)-ПБД на последовательные сегменты с длиной равной размеру поля данных (N)-ПБД. Для обеспечения возможности последующей сборки (N+1)-ПБД необходимо в (N)-ПБД вставлять специальные данные (номер сегмента). Блокирование — это функция (N)-уровня, позволяющая объединить несколько (N+1)-ПБД в один (N)-ПБД. Это может потребоваться, когда максимальная длина (N+1)-ПБД много меньше длины данных (N)-ПБД (см. рис.2.10.). Сцепление — это функция (N+1)-уровня, позволяющая объединить несколько (N+1)-ПБД в один блок. При этом (N)-уровень воспринимает сцепленный ПДБ как один (N+1)-ПБД. 8) Организация последовательности. Услуги, предоставляемые (N)-уровню (N-1)-уровнем могут не содержать сохранение порядка (очередности) доставки данных. Рис.2.9. Рис.2.10 В этом случае (N)-уровень должен сам поддерживать механизм сохранения последовательности. Для этого используются, например, порядковые номера блоков данных. Примером может служить работа протокола Х.25/3 в режиме дейтаграмм. В этом случае транспортные объекты восстанавливают последовательность за счет анализа порядковых номеров. 9) Защита от ошибок. Функция защиты от ошибок включает 3 механизма: · подтверждения; · обнаружения ошибок и уведомления о них; · возврата в исходное состояние. Процедура подтверждения может использоваться (N)-объектами для гарантии от потери (N)-ПБД более высокой, чем обеспечивает (N-1)-уровень. Для этого вводится идентификация каждого (N)-ПБД так, чтобы получатель мог информировать отправителя о его приеме. В случае неприема должны быть приняты меры для восстановления. Механизм обнаружения ошибок и уведомления о них может применяться (N)-протоколом для обеспечения более высокой вероятности обнаружения ошибок и искажений ПБД, чем это обеспечивается (N-1)-службой. Процедура возврата в исходное состояние требуется после потери синхронизации между (N)-объектами-корреспондентами. При этом возможны потеря или дублирование данных. 10) Маршрутизация. Функция маршрутизации на (N)-уровне обеспечивает прохождение данных через цепочку (N)-объектов. Факт такой маршрутизации не известен ни нижним, ни верхним уровням. Объект, участвующий в выполнении функции маршрутизации, может иметь таблицу маршрутизации.
Правила описания сервиса Рассмотрим пример(рис.2.11.). Протокольные объекты А и В устанавливают соединение друг с другом. Объект А передает протокольный блок REQ. Объект В, получив REQ, отвечает блоком RES. Теперь посмотрим, как этот обмен должен быть связан с пользователем услуг (N)-уровня. CONNECT request – запрос установления соединения CONNECT indication – уведомление о наличии запроса CONNECT response – ответ пользователя на запрос CONNECT confirmation – подтверждение установления соединения Рис.2.11 Такие пользовательские сообщения получили в стандартах ВОС наименование сервисных примитивов. Это концептуальные понятия, облегчающие описание последовательности событий при доступе к сервису уровня. Для рассматриваемого случая упрощенно будем иметь следующие помеченные графы для протокола установления соединения (см. рис.2.12.). Сервис каждого уровня состоит из услуг. Был рассмотрен пример одной из них – по установлению соединения. В общем же случае услуги могут быть обязательными и факультативными (опции), подтверждаемыми и неподтверждаемыми. Подтверждаемые услуги – это те, предоставление которых связано с обменом набором сервисных примитивов запроса и подтверждения. Рис.2.12. Элементы описания сервиса стандартизованы МОС в документе IS 8509. Согласно этому стандарту сервис уровня определяется через следующую абстрактную модель: Обозначение каждого сервисного примитива состоит из трех элементов: обозначение уровня ВОС; имя примитива; тип примитива. Уровни обозначаются следующим образом: А — прикладной; Р — представления; S — сеансовый; T — транспортный; N — сетевой; DL — канальный; PL — физический. Имя примитива определяется видом услуги. Например, CONNECT – установление соединения; RESET – сброс; DATA – передача данных. Сервисные примитивы разделяются на 4 типа(рис.2.14.): Рис.2.14. запроса – request; индикации – indication; ответа – response; подтверждения – confermation. Таким образом, например, примитив P-CONNECN request – это примитив представительного сервиса, относится к услуге по установлению соединения и является запросом. Стандартом оговариваются также формальные правила составления диаграмм последовательности примитивов. Вертикальные линии изображают точки доступа к сервису (N)-ТДС и, кроме того, течение времени (сверху-вниз). При явной причинно-временной зависимости между сервисными примитивами они соединяются прямыми линиями. При отсутствии явной зависимости - используется " тильда". Уточненная модель поставщика сервиса, показанная на рисунке, включает две очереди (А-В) и (В-А). Пользователь может помещать в очередь содержимое сервисных примитивов (их параметры) и октеты данных. Некоторые параметры могут вставляться поставщиком, например, относящиеся к разъединению. В исходный момент очередь пуста. Элементы передаются посредством очереди FIFO по соединению. На другом конце извлекаются из очереди в порядке следования (рис.2.15.). Рис.2.15.
3.Верхние уровни модели OSI
В рамках общей концепции OSI разработаны рекомендации по внутреннему содержанию уровней. В основном эту работу проводили следующие международные организации: q CCITT (МККТТ) – международный консультативный комитет по телеграфии и телефонии; q ISO (МОС) – международная организация по стандартизации; Прикладной уровень Задача уровня – обеспечение взаимодействия между прикладными процессами, расположенными в разных вычислительных системах. Этот уровень содержит все функции, отсутствующие на более низких уровнях, но необходимые для взаимодействия открытых систем. Прикладной уровень – это самый близкий к пользователю уровень OSI. Он отличается от остальных уровней тем, что не обеспечивает услуг ни одному из других уровней OSI; однако он обслуживает ими прикладные процессы, лежащие за пределами модели OSI. Примерами таких прикладных процессов могут служить программы обработки электронных таблиц, текстовые процессоры, программы банковских терминалов и т.д. Прикладной уровень определяет наличие предполагаемых партнеров для связи, синхронизирует совместно работающие прикладные программы, а также устанавливает соглашения по процедурам устранения ошибок и управления целостностью передаваемой информации. Этот уровень принимает также решение о наличии достаточных ресурсов для предполагаемой связи. Прикладные протоколы — это соглашения по процедурам обслуживания прикладных процессов и пользователей сети, которые: · имеют стандартную форму для задач одного класса приложений; · нейтрализуют для пользователей различия хост-систем. Прикладные протоколы подразделяются на 2 класса: Системно-ориентированные (базовые). Это, например: · Протокол обмена управляющей информацией CMIP (Common Management Information Protocol); · протокол услуг каталогов DS (Directory Services), разработанный на базе рекомендации Х.500 МККТТ. Проблемно-ориентированные. К ним относятся, например: · удаленный ввод, передача и обработка заданий JTM (Job Transfer and Managemant); · обработка сообщений MHS (Massage Handling Systems); · передача и управление файлами FTAM (File Transfer, Access and Management); · распределенная обработка документов ODIA (Office Document Interchange Architecture); · доступ к распределенной базе данных DBAM (Database Access and Management); · обмен сообщениями в распределенной среде MIDA (Distributed Application for Message Interchange) и т.д. На рисунке 3.1 показана обобщенная структурная схема прикладного уровня, включающая: - SASE – специальные прикладные сервисные элементы; - CASE – стандартные прикладные сервисные элементы; - UE – элемент пользователя; - SAP – точка доступа к услугам. В этой схеме UE – это та часть прикладного процесса, которая непосредственно связана с его работой с сетью. Стандартные прикладные сервисные элементы необходимы для обращения к точкам доступа и выполнения административных функций уровня. Примерами CASE являются: - сервисный элемент управления ассоциацией (Association Control Service Element – ACSE); - сервисный элемент получения доступа к операциям отдаленного устройства (Remote Operations Service Element – ROSE); - сервисный элемент надежной передачи (Reliable Transfer Service Element –- RTSE).
Прикладные протоколы могут взаимодействовать в рамках прикладного уровня по иерархической схеме, как это показано на рисунке 3.2. Рис.3.1. Рис.3. 2. Уровень представления Главные задачи уровня – преобразование данных (их форматов, кодов, структур) передаваемых между сеансовым уровнем и прикладным процессом, а также выполнение при необходимости шифрования и сжатия данных. Основная же функция уровня представления – согласование синтаксиса данных. (На прикладном уровне согласуется семантика, т.е. смысловое представление). К синтаксису относятся: применяемый набор символов, кодировка данных, способы представления данных на экранах дисплеев, при печати и т.д. В каждом соединении между открытыми системами выделяются 3 синтаксиса (см рис.3.3). Уровень представления содержит средства для преобразования между синтаксисом передачи и двумя другими синтаксисами. Рис.3.3. В первых реализациях этого уровня делалась попытка преодолеть различия только в кодировке данных, например, различии используемых открытыми системами кодов — ASCII и EBCDIC. Такого рода подсистемы применяются сейчас, например, в рамках протокола электронной почты MIME. Там применяются специальная система кодирования BASE 64. Затем была предложена концепция виртуального устройства (процесса), т.е. условного, гипотетического, имеющего стандартный набор характеристик и правил функционирования. Такой подход позволяет прикладному процессу взаимодействовать только с одним типом (виртуальным) устройства либо процесса, а не с десятками и сотнями типов, используемых в современных сетях. Были введены три основных типа виртуальных устройств: · виртуальный терминал; · виртуальный файл; · виртуальное задание. Примером протокола виртуального терминала является протокол Telnet стека TCP/IP. Современная реализация данного уровня базируется на спецификации абстрактного синтаксиса ASN.1 (Abstract Syntax Notation One), которая изложена в рекомендациях МОС ISO 8824.2 и ISO 8825.2. Пользователи представительной службы на этапе установления соединения согласовывают между собой допустимое при передаче множество абстрактных синтаксисов. В процессе передачи возможно изменение этого согласованного множества. Объект-отправитель описывает передаваемые данные, пользуясь правилами ASN.1. На приемной стороне производится обратное преобразование данных к тому виду, который принят в данной открытой системе. Передаваемые между абонентами элементы данных предваряются специальным ярлыком, который содержит следующие поля. § Идентификатор класса (значения: универсальный, прикладной, контекстно-зависимый, личный). § Признак формы (примитивный или комбинированный). § Значение (имеется 27 типов, среди них: Boolean, Integer, NumberString, VideoTextString, GraphicString и т.д.). Для защиты передаваемой информации может использоваться один из методов симметричного или ассиметричного шифрования. Симметричное шифрование основано на использовании у отправителя и получателя одинакового секретного ключа. При этом применяется 2 типа шифров: блочные и поточные. Первые преобразуют блок входных данных (некоторого объема) в блок шифротекста (вообще говоря, другого объема). Вторые — открытый текст в шифротекст по одному биту за такт.Среди блочных шифров наиболее известен стандарт США на шифрование данных DES (Data Encryption Standard). Здесь две станции используют один и тот же 56-битовый ключ (рис.3.4). Входные данные считываются в буферный регистр порциями по 64 бит. Рис.3.4. Эти 64 бита " перемешиваются" с 56-разрядным ключом и порождают 64 бита выходных данных. Разгадка ключа может потребовать до 264 проверок комбинаций. Применение сокращенных методов раскрытия ключа затрудняется использованием сложных алгоритмов " перемешивания" данных. Данный алгоритм симметричного шифрования реализуется аппаратно в виде специализированной микросхемы. В ситуациях, когда надежность алгоритма DES кажется недостаточной, используется его модификация — Triple-DES. В этом случае открытый текст шифруется алгоритмомDES на первом ключе, полученный шифротекст – на втором и, наконец, данные, полученные после второго шага, — на третьем. Все три ключа выбираются независимо друг от друга. Аналогичный по скорости и стойкости к анализу блочный шифр IDEA был предложен в 1990 году в качестве европейского стандарта. Здесь применяется ключ длиной 128 бит. Компанией Northern Telecom был предложен еще один блочный шифр CAST с 128-битовым ключом. Имеется и еще целый ряд подобных шифров, например, шифры RC2 и RC4, причеи RC4 предназначен для поточного шифрования. Основная идея ассиметричного шифрования заключается в использовании пары ключей. Первый — открытый ключ (Public Key) доступен всем и используется теми, кто собирается послать сообщение владельцу ключа. Второй — личный ключ (Private key)— известен только владельцу. Эти два ключа, как правило, взаимозаменяемы. Информацию, зашифрованную на личном ключе, расшифровать можно только используя открытый ключ, и наоборот. Это свойство лежит в основе концепции цифровой подписи, широко применяемой в современных сетях. К ассиметричным шифрам относятся RCA и PKCS (длина ключа до 1024 бит). Для сокращения объема передаваемых данных на уровне представления часто применяется сжатие данных. Методы, используемые для сжатия, аналогичны рассмотренным для модемов в разделе «Удаленный доступ к сети».
Сеансовый уровень OSI
Основная задача уровня – это управление диалогом между обслуживаемыми пользователями (т.е. объектами прикладного и представительного уровней) (рис.3.5.). Диалог может включать обмен нормальными и срочными данными, может быть дуплексным и полудуплексным. Рис.3.5. Использование сеансового уровня не всегда необходимо. Например, если обмен данными между приложениями производится без установления логического соединения, то протокол сеансового уровня абсолютно не нужен. Важной услугой этого уровня является синхронизация для защиты от возможных ошибок. Для этого в поток данных вставляются метки синхронизации (контрольные точки), что позволяет в случае ошибки вернуться в подтвержденную точку и восстановить передачу с этого места. Вводится также функция управления активностью. Диалог между партнерами (открытыми системами) разбивается на отрезки активности, каждый из которых может быть идентифицирован. Это позволяет прервать при желании диалог, а затем опять в любой момент его продолжить, начиная со следующего участка активности. Таким образом уровень сеанса дает возможность пользователям вести диалог, повторяя части, считающиеся ошибочными, позволяя клиентам прерывать диалог и продолжать его в любое более позднее время. На практике в настоящее время лишь немногие приложения используют сеансовый уровень и он редко реализуется в виде отдельного протокола, хотя функции этого уровня часто объединяют с функциями других уровней и реализуют в одном протоколе (например, NetBIOS, SMB и т.д.). Наиболее детально функции сеансовой службы и сеансового протокола разработаны МОС и МККТТ в следующих документах: q Определение сеансовой службы с установлением соединения – ISO 8326, МККТТ Х.215. q Определение сеансового протокола, поддерживающего сеансовую службу с установлением соединения – ISO 8327, МККТТ Х.225. Остановимся кратко на ряде базовых понятий и процедур сеансового протокола. Основные понятия. Маркер – это атрибут сеансового соединения. который динамически назначается одному из сеансовых объектов. Получивший маркер объект имеет исключительное право инициировать выполнение услуги, контролируемой данным маркером. В сеансовом соединении могут быть 4 маркера: · маркер данных; · маркер завершения; · маркер малой синхронизации; · маркер большой синхронизации. В потоке данных могут размещаться точки синхронизации. Они идентифицируются последовательными возрастающими номерами. Данные точки могут быть точками малой и большой синхронизации. Независимо от названия все они получают последовательные номера. Отличие заключается в том, что точка большой синхронизации требует обязательного подтверждения, а точка малой – не требует (может вообще не подтверждаться). Интервалы диалога между точками большой синхронизации называются диалоговыми элементами (см. рис.3.6.). Рис.3.6. Активность – это последовательность диалоговых элементов, которая является некоторой логически завершенной частью работы (см. рис.3.7.). На одном сеансовом соединении может быть несколько последовательных активностей. Ресинхронизация – служит для принудительной координации взаимодействующих сторон при сеансовом взаимодействии. Ресинхронизация может быть инициирована любым пользователем сеансового сервиса. В момент ресинхронизации пропадают все данные находящиеся в стадии передачи по соединению. Ресинхронизация позволяет перераспределить маркеры между сторонами и согласовать новое значение номера точки синхронизации для продолжения обмена. Популярное:
|
Последнее изменение этой страницы: 2016-04-11; Просмотров: 937; Нарушение авторского права страницы