Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СистПриклПрогЗабез(Хихловская).doc
Скачиваний:
25
Добавлен:
10.02.2016
Размер:
961.02 Кб
Скачать

Описание протоколов

Содержанием протокола является описание блоков данных, пересылаемых элементом N-гo уровня одной системы элементу того же уровня другой системы (рис. ). Эти блоки называют блоками данных протокола (БДП). Формируются они следующим образом. Когда (N+1) -и уровень обращается к N-му уровню с каким-либо примитивом (типа «запрос» иди «ответ»), то он передает вместе с ним и БДС. Уровень N присоединяет к БДС так называемую управляющую информацию протокола (УИП), назначение которой — указать напарнику, какого характера присылаемые данные и что с ними делать (пример УИП приведен в §9.6). Объединение УИП с БДС образуют БДП. УровеньN, чтобы послать сформированный им БДП, должен обратиться с запросом об этом к (N-1)-му уровню. Этот запрос осуществляется с помощью примитива пересылки данных (независимо от того, какой категории был тот примитив, с которым N-й уровень получил БДС); вместе с этим примитивом N-й уровень передает (N-1)-му уровню сформированный БДП, но уже в качестве БДС. И все повторяется. Таким образом, БДП, посылаемый N-м уровнем его напарнику, пройдет все нижележащие уровни сверху вниз, «обрастая» на каждом уровне управляющей информацией данного уровня. Блок, образовавшийся на нижнем уровне, пересылается по каналу в другую систему, в которой он начинает «восхождение» до N-ro уровня. При этом каждый уровень выделяет предназначенную ему УИП, расшифровывает ее и, исходя из этого, выполняет некоторые действия, после чего передает остальную часть вверх. Делается это с помощью примитивов передачи данных, с которыми передается указанная часть.

Службы ядра сеансового уровня

Эталонная модель ВОС разбита на семь уровней, из которых 4-й (снизу) получил название транспортного, 5-й - сеансового и 6-й - представительного. Службы сеансового уровня, которые реализуются с помощью примитивов 20 категорий. Все службы разбиты на так называемые функциональные группы. Одна из них, группа ядра, является обязательной при любом соединении. Использование остальных групп оговаривается в процессе установления соединения. В нашем примере мы рассмотрим описание наSDLтолько протокола ядра сеансового уровня, не затрагивая остальных групп. Ядро обеспечивает службы соединения, передачи' данных, нормального разъединения и экстренного прерывания, которое бывает по инициативе либо пользователя (представительного уровня), либо поставщика (сеансового уровня).

Примитивы установления соединения мы будем обозначать через СДН, передачи данных - через ДНИ, разъединения — через РЗД и прерывания — через Пл-ПРВ и Пс-ПРВ (прерывания по инициативе пользователя и поставщика соответственно). Типы примитивов будем обозначать через зпр (запрос), инд (индикация), отв (ответ) и птв (подтверждение). Одни и те же понятия семиуровневой модели, но связанные с транспортным, сеансовым и представительным уровнями, мы будем обозначать через Т, С и П соответственно. Таким образом, мы получим обозначения вроде С-служба, Т-протокол, С-СДН-зпр (запрос представительного уровня сеансовому на соединение), Т-ДНН-инд (сообщение транспортного уровня сеансовому о доставке данных) и т.п.

Как мы знаем, вместе с примитивами передаются данные и параметры, образующие БДС. В табл.1-4 рассматриваются данные и параметры, передаваемые с примитивами ядра сеансового уровня. Так как функционирование сеансового уровня опирается на службы транспортного уровня, то в табл. 5 описаны параметры, передаваемые вместе с примитивом транспортного уровня Т-СДН. Сделаем некоторые пояснения к табл. 1-5.

Таблица 1

Параметр

Примитив

С-СДН

зпр

инд

отв

птв

С-адрес вызывающей стороны

С-адрес вызываемой стороны

Результат

Качество обслуживания

М

М

М

M

M

М

M

М(-)

М

Соответствующий БДП

ЗC

ПС ОС

Таблица 2

Параметр

Примитив

С-ДHH

[НН

зпр

инд

Данные пользователя ССл

М

М(-)

Соответствующий БДП

ДН

Таблица 3

Параметр

Примитив

С-РЗД

зпр

инд

отв

птв

Данные пользователя ССл

П

У(-)

П

У(-)

Соответствующий БДП

ЗР

РЗ

'Таблица 4

Параметр

Примитив

С-Пл-ПРВ

С-Пс-ПРВ

зпр

инд

инд.

Причина

М

Соответствующий БДП

ПР

Таблица 5

Параметр

Примитив

Т -СДН

ДН

зпр

инд

отв

птв

Т-адрес вызывающей стороны

Т-адрес вызываемой стороны Качество обслуживания

М

М

М

М

М (-)

М

М

М (=)

В них через ССл обозначена сеансовая служба. Буква М означает, что наличие параметра обязательно, буква П — что использование параметра оставлено на усмотрение пользователя и буква У — что использование параметра зависит от того, был ли он использован в предшествующем примитиве. Знак «=» означает, что значение параметра должно равняться значению соответствующего параметра в предшествующем примитиве. Пробел означает, что параметр не используется. Адресом называется адрес точки доступа между П-уровнем и С-уровнем в табл. 1 и между С-уровнем и Т-уровнем в табл. 5. Важно отметить, что одна точка доступа может быть подсоединена только к одному элементу (хотя один элемент может быть подсоединен к нескольким точкам доступа), и поэтому адрес точки доступа однозначно определяет адрес элемента. Под качеством обслуживания понимаются такие характеристики соединения, как пропускная способность, уровень невыявленных ошибок, время задержки, обеспечение безопасности и др.

Функционирование ядра сеансового уровня

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

Фаза установления соединения. Пусть (рис. ) некоторый элемент П1 представительного уровня системы СИС1 хочет установить соединение с некоторым элементом П2 системы СИС2. Для этого П1 выдает элементу С1 сеансового уровня примитив С-СДН-зпр (стрелка 1) и передает вместе с этим примитивом блок С-БДС. Чтобы обеспечить соединение П1 с П2 сеансовый уровень сам должен установить соединение с некоторым элементом С2 системы СИС2. Для этого С1 (сохранив у себя С-БДС) должен обратиться за помощью к транспортному уровню, т.е. С1 выдает транспортному уровню примитив Т-СДН-зпр (стрелка 2) и посылает с этим примитивом блок Т-БДС, построенный элементом С1 на основе анализа С-БДС и знания своих возможностей.

В соответствии с общей идеологией мы при рассмотрении протокола сеансового уровня будем рассматривать только его взаимоотношения с представительным и транспортным уровнями, совершенно не затрагивая того, как функционируют эти два уровня. Поэтому мы не описываем того, как транспортный уровень системы СИС1 пересылает блок Т-БДС транспортному уровню системы СИС2. Транспортный Уровень системы СИС2 выдает элементу П2 примитив Т-СДН-инд (стрелка 3) и с ним блок Т-БДС. Элемент С2 выдает ответ Т-СДН-отв (стрелка 4), транспортный

уровень системы СИС2 пересылает этот ответ в систему СИС1, транспортный уровень которой выдает элементу С1 примитив Т-СДН-птв (стрелка 5). Если ответ Т-СДН-отв был отрицательным, то соединение между С1 и С2.не установилось и, следовательно, сеансовый уровень не может обеспечить соединение элементам ГЦ и П2 и сообщает об этом элементу П1. Если же ответ был положительным, то соединение между С1 и С2 установлено и элемент С1 может переслать элементу С2 блок С-БДС. Для этого С1 выдает транспортному уровню примитив Т-ДНН-зпр (стрелка 6) и с ним запасенный в С1 блок С-БДС с присоединенной к нему управляющей информацией (т.е. блок Т-БДП). Итак, С1 посылает С2 блок С-БДП, используя примитив Т-ДНН-зпр. В блоке С-БДП хранится запрос на соединение, которое элемент П1 послал элементу П2. Дальнейший процесс мы опишем кратко. Транспортный уровень пересылает блок в систему СИС2, в которую выдается примитив Т-ДНН-инд (стрелка 7). Получив блок и проанализировав его, элемент С2 выдает примитив С-СДН-инд (стрелка 8). получает ответ С-СДН-отв (стрелка 9). отправляет его с помощью примитива Т-ДНН-зпр (стрелка 10) в СИС1, транспортный уровень которой передает этот ответ элементу С1, используя для этого примитив Т-ДНН-инд (стрелка 11). И наконец, С1 передает этот ответ элементу П1 с помощью примитива С-СДН-птв (стрелка 12). Соединение установлено и элементы П1 и П2 могут приступить к пересылке данных друг другу.

Фаза передачи данных состоит в том, что П1 выдает С-ДНН-зпр и с ним блок данных. Элемент С1, получив этот блок, передает его с примитивом Т-ДНН-зпр транспортному уровню, тот пересылает его в транспортный уровень СИС2, который передает его С2, используя примитив Т-ДНН-инд. Элемент С2 передает блок данных элементу П2, используя для этого примитив С-ДНН-инд.

Фаза прекращения сеанса связи использует две службы: нормального разъединения и экстренного прерывания. Нормальное разъединение осуществляется по инициативе одного из пользователей. Пусть, например, П1 хочет прекратить связь. Для этого он выдает элементу С1 примитив С-РЗД-зпр. Элемент С1 сообщает об этом элементу С2 (для этого используются примитивы Т-ДНН-зпр и Т-ДНН-инд), а элемент С2 сообщает об этом элементу П2, выдавая для этого примитив С-РЗД-инд. Элемент П2 отвечает примитивом С-РЗД-отв, элемент С2 сообщает об этом элементу С1, который выдает элементу П1 примитив С-РЗД-птв. После выдачи С-РЗД-эпр элемент П1 прекращает посылку данных, но продолжает прием данных, пока не воспримет примитив С-РЗД-тв. Таким образом, при нормальном разьединении потери данных в канале смой не происходит.

Экстренное прерывание осуществляется как по инициативе пользователя, так и по инициативе поставщика. Вели П1 хочет экстренно прервать связь, то он выдает примитив С-Пл-ПРВ-зпр (Пл-польэователь) и прекращает прием данных. Элемент С1 сообщает об этом элементу С2, который выдает элементу П2 примитив С-Пл-ПРВ-инд. Вели связь прерывает сеансовый уровень (т.е. поставщик — Пс), то он выдает примитив С-Пс-ПРВ-инд обоим элементам П1 и П2.

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