О. С. Попова Хіхловська І. В. Системне та прикладне програмне забезпечення у телекомунікаціях Конспект

Вид материалаКонспект
С-дhh [нн
Соответствующий БДП
Блок данных протокола
Ясо-описание протокола сеансового уровня
Разбиение блока сеансового протокола
Описание блока БЛК-ДИР
Описание блока БЛК-ИСП
Описание процессов ДИР и РДТ
Подобный материал:
1   ...   6   7   8   9   10   11   12   13   14




Таблица 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.

Блок данных протокола

БДС, поступающие вместе с примитивами, преобразуются в БДП и пересылаются напарнику в другой системе. В ней эти БДП расшифровываются, преобразуются в БДС и передаются вместе с примитивами в смежный с напарником уровень. Нас интересуют БДП, связанные с примитивами, используемыми в ядре протокола. Символические имена этих БДП приведены в строках «Соответствующие БДП» таблиц 1-4 в колонках тех примитивов, с которыми они связаны.

Эти БДП следующие (в скобках указаны соответствующие примитивы; впредь через СС и ТС обозначены сеансовое соединение и транспортное соединение соответственно):

ЗС – запрос на СС (С-СДН-зпр, С-СДН-инд);

ПС – подтверждение СС (С-СДН-отв (полож). С-СДН-птв);

ОС –отказ от СС (С-СДН-отв (отриц), С-СДН-птв);

ДН – сеансовые данные (С-ДНН-зпр, С-ДНН-инд);

ЗР – запрос на сеансовое разъединение (С-РЗД-зпр, С-РЗД-инд);

РЗ – сеансовое разьединение (С-РЗД-отв, С-РЗД-птв);

ПР – сеансовое прерывание (С-Пс-ПРВ-инд, С-Пл-ПРВ-зпр, С-Пл-ПРВ-инд).


ЯСО-ОПИСАНИЕ ПРОТОКОЛА СЕАНСОВОГО УРОВНЯ
  1. При описании протокола сеансового уровня эталонной модели ВОС будем рассматривать протокол функционирования всей эталонной модели как систему, а под протокол каждого из уровней выделим отдельный блок (рис. ). Так как мы рассматриваем протокол только сеансового уровня, то на рис. изображены блок сеансового уровня, названный ПРТКЛ-СЕАНС-УРОВ, и два смежных с ним (ПРТКЛ-ПРДСТ-УРОВ и ПРТКЛ-ТРАСП-УРОВ). Блок ПРТКЛ-СЕАНС-УРОВ разбит на подблоки, поэтому на рис. помимо названия блока приведено еще взятое в рамку название разбиения, которое совпадает с названием самого блока
  2. Блок сеансового уровня соединен с двумя смежными блоками четырьмя каналами, названия которых составлены из букв С и Т (сеансовый и транспортный), букв ТДП (точка доступа) и букв «в» и «из» (входной и выходной). При каналах указаны списки передаваемых по ним сигналов (входных и выходных событий по терминологии МККТТ). В эти события входят входящие и выходящие примитивы и все блоки, передаваемые между двумя сеансовыми уровнями. В списках сигналов имеются два дополнительных сигнала: ОТВ-П и ОТВ-Т, с помощью которых С-элемент сообщает соответственно П-элементу и Т-элементу идентификатор устанавливаемого им сеансового соединения (см. . Получив идентификатор, указанные элементы будут впредь направлять все свои блоки и примитивы по этому идентификатору.




Рис.

Разбиение блока сеансового протокола

1. С-элемент одной системы может осуществлять с С-элементом другой системы одновременно не одно, а несколько сеансовых соединений. Чтобы реализовать сразу несколько СС, мы предположим, что блок ПРТКЛ-СЕАНС-УРОВ реализован на двухмашинном комплексе, в котором один процессор только «принимает заявки» на установление СС (С-СДН-зпр, Т-СДН-инд), а другой — реализует соединения, число которых мы предположим ограниченным некоторым М. В соответствии с этим мы разобьем (рис. ) блок ПРТКЛ-СЕАНС-УРОВ на два блока: БЛК-ДИР (принимающий заказы) и БЛК-ИСП (реализующий соединение).

2. На рис. указано, как расщепляются входные и выходные каналы при разбиении блока на подблоки и как распределяются сигналы по новым каналам.

3. Для обеспечения связи между БЛК-ДИР и БЛК-ИСП мы соединим их двусторонним каналом Д-И и введем дополнительно следующие сигналы:

ПРЖД — этим сигналом БЛК-ДИР поручает блоку БЛК-ИСП обеспечить СС и передает ему параметры, поступившие вместе с запросом на СС;

РДТ-ДИР — этим сигналом БЛК-ИСП либо подтверждает блоку БЛК-ДИР, что заказ принят к исполнению, либо запрашивает разрешения на установление соединения в случае, когда к процессу РДТ поступил блок ЗС;

СС-УСТ, ТС-УСТ — с помощью этих сигналов БЛК-ИСП сообщает блоку



Рис.

БЛК-ДИР об установлении соответственно СС и ТС;

СС-ПРЩ — этим сигналом БЛК-ИСП сообщает блоку БЛК-ДИР о прекращении СС;

СМР — этим сигналом БЛК-ДИР прекращает фазу установления СС в случае, когда обнаруживает у себя какую-нибудь ошибку.

Описание блока БЛК-ДИР


Описание этого блока приведено на рис. . Он содержит единственный процесс ДИР, к которому поступают заказы на ОС, т.е. примитивы С-СДН-зпр м Т-СДН-инд. Процесс Сеанс маршрутами П-Д-Д, Т-Д-Д и Д-И-Д с каналами П-Д, Т-Д и Д-И соответственно. Получив заказ, процесс ДИР посылает сигнал ПРЖД (см. ) и ждет поступления подтверждения об установлении сначала ТС (сигнал ТС-УСТ), если только не используется имевшееся ранее транспортное соединение, а потом – СС (сигнал СС-УСТ). Получив их, ДИР ждет поступления новых запросов. Получив сообщение о прекращении СС, ДИР делает у себя соответствующую отметку (напомним: С-элемент может обеспечить не более М одновременно действующих соединений).


Описание блока БЛК-ИСП


1. Описание блока БЛК-ИСП приведено на рис. . При этом для реализации каждого отдельного СС будет создаваться отдельный экземпляр процесса, осуществляющего это соединение. Назовем этот процесс ИСП (исполнитель). Отметим, что личный идентификатор этого экземпляра будет одновременно идентификатором СС. Таким образом, сигнал ПРЖД, поступающий от процесса ДИР, означает по существу заказ на порождение нового экземпляра процесса ИСП.

2. Так как, процесс, находящийся в одном блоке, не может породить процесс в другом блоке, то в блоке БЛК-ИСП должен находиться процесс, назовем его РДТ (родитель), возникающий вместе с созданием всей системы. Этот процесс будет принимать сигнал ПРЖД' и создавать на основании этого очередной экземпляр процесса ИСП.
  1. Если для установления СС создавать ТС не нужно, то это означает, что после поступления С-СДН-зпр соответствующий экземпляр процесса ИСП вместо того, чтобы выдавать примитив Т-СДН-зпр (который затем поступает к вызываемому ДИР в виде Т-СДН-инд), может прямо послать блок ЗС (запроса на соединение). Этот блок поступит непосредственно к процессу РДТ, тот сообщит об этом процессу ДИР (по сигналу РДТ-ДИР) и, получив от него «добро» (по сигналу ПРЖД; возможный отказ мы не учитываем), создаст экземпляр процесса ИСП, после чего сообщит процессу ДИР (сигналом РДТ-ДИР) идентификатор созданного экземпляра процесса ИСП; этот ИСП реализует запрошенное в ЗС соединение. Он же будет посылать процессу ДИР сигналы ТС-УСТ. СС-УСТ, СС-ПРЩ.

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

5. Маршруты, соединяющие процессы РДТ и ИСП с каналами, и распределение сигналов по маршрутам изображено на рис. , и мы их здесь не описываем.







Рис.


Описание процессов ДИР и РДТ

1. Протокол СС описан с помощью таблицы переходов.

Таблицы и являются таблицами переходов процессов ДИР и РДТ соответственно. В клетках этих таблиц стоят номера переходов, описанных далее в табл. .


Таблица 10.3. Директор


Входное событие


Состояние


Бездействие


Ожидание РДТ-ДИР


Ожидание ТС-УСТ


Ожидание СС-УСТ


Д1


Д2


ДЗ


Д4


С-СДН-зпр

1

«

*

*

Т-СДН-инд

2

*

«



РДТ-ДИР

3

4

9

9

ТС-УСТ

8

9

5

9

СС-УСТ

8

9

9

6

СС-ПРЩ

7

9

9

7

ДТМ

8

9

9

9

•Восприятие сигнала должно быть отсрочено до перехода в состояние Д1.




Таблица 10.4. Родитель


Входное событие


Состояние

Бездействие

Ожидание ПРЖД


Р1

Р2

ПРЖД ЗС

10 11

10 12


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

3. При этом, если ошибка обнаружилась:

у ДИР, то он уничтожает соответствующий ИСП (сигналом СМР), если успел создать его к этому времени;

у РДТ, то он уничтожает соответствующий ИСП (сигналом СМР), если успел создать его к этому времени, и оповещает об этом сигналом СС-ПРЩ процесс ДИР;

у ИСП, то он прекращает свое существование и оповещает об этом (сигналом СС-ПРЩ) процесс ДИР.

Во всех случаях ДИР и РДТ переходят в состояния Д1 и Р1 соответственно. Если ИСП прекращает свое существование под воздействием сигнала СМР, то он не посылает оповещения об этом процессу ДИР.

Как видим, мы ввели новый сигнал СМР (смерть), который ДИР и РДТ посылают процессу ИСП. Этот сигнал изображен на рис. .
  1. Для описания функционирования процессов ДИР, РДТ и ИСП мы введем

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

истина, данный С-элемент является инициатором СС;

инцсдн — ложь, данный С-элемент является ответчиком;

истина, для обеспечения СС можно использовать

имеющееся ТС;

трсдн – ложь, для обеспечения СС надо создать ТС:

истина, блок ЗС поступил к РДТ;

тип – ложь, блок ЗС поступил к ИСП;

истина, СС еще не установлено;

фс – ложь, СС уже установлено;

истина, СС возможно;

сс – ложь, СС невозможно.

5. Сигналы и команда CREATE передают следующие параметры:

ПРЖД: инцсдн, трсдн, парм-сдн, SENDER, ид-т-сдн;

РДТ-ДИР: тип, OFFSPRING, ид-т-сдн, парм-сдн;

CREATE : инцсдн, трсдн, парм-сдн, ДИР-ид, П-ид, Т-ид, т-сдн.

6. Состояния процессов ДИР и РДТ, приведенные в табл. и 10.4, очевидны из их названий.

7. В табл. среди входных событий указан сигнал ДТМ, поступающий от таймера. Он нужен для предотвращения «зависания» процесса ДИР в том случае, когда процесс ДИР не будет оповещен о наступлении какой-то ошибки.

8. Как указывалось, в табл. и указаны номера переходов, а сами переходы описаны в табл. . В ней в первом столбце указан номер перехода, во втором столбце—проверяемые условия, в следующем— соответствующее выполняемое действие (если условие удовлетворено), затем указан выходной сигнал и, наконец, в последнем столбце—результирующее состояние, в которое входит процесс по завершении перехода. В некоторых случаях выполняемое действие занимает не одну, а две строки (например, для перехода № 3, при условии «тип&СО»). Это легко установить по наличию или отсутствию в строке результирующего состояния. Пробелы в столбцах 2-4 означают, что соответствующее средство в данном переходе не используется. Через, например, ТБЛ-СС (1,2,5)+ обозначено заполнение (для текущего СО столбцов 1,2,5 в ТБЛ-СС (и аналогично для ТБЛ-ТС). Через (ТБЛ-СС) -обозначено вычеркивание из ТБС-СС строки, соответствующей текущему СС. Через ТБЛ-ТС (3)± 1 обозначено прибавление /вычитание единицы в счетчике ТБЛ-ТС. Наконец, запись РДТ-ДИР (+,+,-,-) означает, Что вместе с сигналом РДТ-ДИР первые два параметра должны быть переданы, а последующие два—нет.

9. Диаграммы процессов ДИР и РДТ приведены на рис. и соответственно.



Таблица .


Номер перехода

Проверяемое условие

Выполняемое действие


Выходной сигнал

Состояние


1

2

3

4

5

1

1СС







Д1




СС&1 трсдн


инцсдн:= True; SET ДТМ,

ТБЛ-СС(1,2,5)+

ПРЖД(+,+,+, +.-)

Д2





ССА тродн


инцсдн:= True; SET ДТМ,

ТБЛ-СС(1,2,5)+

ПРЖД (+.+.+, +,+)

Д2


2

1СС







Д1




СС


инцсдн:= False;трсдн:= False; ТБЛ-СС(1,2.5,)+;SЕТ ДТМ




Д2


3


типАСС


Инцсдн:= False;трсдн:= Тгue; TBЛ-CC(1,2,4,5.)+;SET ДТМ

ПРЖД(+,+,+,-. -,+)

Д2





1 тип v 1CC







Д1

4

тип




СМР

Д1




1тип &

трсдн

ТБЛ-СС(1,2,5.)+





ДЗ





1 тип &

трсдн

ТБЛ-СС(1.2,4.5.)+





Д4


5





ТБЛ-СС(4)+; если в ТБЛ-ТС этого ид-т-снд нет, то

ТБЛ-ТС(1,2,)+




Д4


6





ТБЛ-СС(6)+; ТБЛ-ТС(3)+1, RESET ДТМ




Д1


7

фс

ТБЛ-СС–, RESET ДТМ




Д1




1фс


ТБЛ-СС—, ТБЛ-ТС(З) — 1, RESET ДТМ




Д1


8




ТБЛ-СС—; RESET ДТМ




Д1

9




ТБЛ-СС—; RESET ДТМ

СМР

Д1

10





тип:=False; формирование фактических параметров оператора CREATE; выдача CREATE

рдт-дир(+,+,

,-,-)


Р1


11




Тип:=Тгuе

РДТ-ДИР(+,-,

+,+)

Р2




1

2

3

4

5

12







СС-ПРЩ; СМР

Р1






Рис.