Структурные схемы программного обеспечения функций сетевого уровня сети X.25

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 22:51, 26 января 2015.
Данная статья была согласована с её автором Р.А. Бельферым 28 апреля 2012 года.

__NUMBEREDHEADINGS__

Структурная схема организации ПО функций сетевого уровня сети Х.25

Все программы сетевого уровня Х.25 выполняются центральным процессором (Цпр) ЦКП и включают фоновые программы, диспетчер фоновых программ и программы обмена пакетами между Цпр и канальными процессорами. На рис. 1 приведена структурная схема организации ПО сетевого уровня Х.25.

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

В настоящей главе приводится описание некоторых из фоновых программ, выполняемые вычислительными средствами ЦКП1 (рис. 2).

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

Рис. 1. Структурная схема организации ПО сетевого уровня в ЦКП

Обозначим через j номер канального процессора, взаимодействующего с центральным процессором Цпр центра коммутации пакетов ЦКП. Тогда канальные процессоры ЦКП рис. 4 из главы 6 Кпр1, Кпр2 и Кпр3 имеют номера соответственно j=1, 2 и 3, а номер канального процессора Кпр4, взаимодействующего со смежным ЦКП, j=4. Обозначим очереди пакетов на приеме с канальных процессоров j через Oпм(j).

С помощью фоновой программы распределения Ррасп из этих очередей формируются несколько очередей по типам пакетов («Запрос Вызова», «Вызов Принят», «пакеты данных, обрабатываемых по приоритету», «пакеты данных, обрабатываемые без приоритета» и др.). Очередь пакетов «Запрос Вызова» (ЗВ) обозначим через Озвпм(j). Она подлежит обработке фоновой программой Рзвпм. Очередь пакетов «Вызов Принят» (ВП) обозначим через Овппм(j). Она подлежит обработке фоновой программой Рвппм. Очередь пакетов данных (Д1), обрабатываемых по приоритету, обозначим через Од1пм(j), а без приоритета (Д2) через Од2пм(j). Обе очереди обрабатываются программой коммутации пакетов данные Рдк.

Результатом работы всех приведенных фоновых программ приема (см. рис. 1) являются очереди Опд(j) пакетов на передачу в канальные процессоры. Приведем описание работы некоторых из фоновых программ (рис. 1) с помощью укрупненных структурных схем ПО. Для этого воспользуемся структурной схемой вычислительных средств ЦКП1, приведенной на рис. 2.

Рис. 2. Вычислительные средства ЦКП1

Структурная схема программы Ррасп «Распределение принятых пакетов канальных процессоров в очереди по типам»

Из канальных процессоров пакеты поступают в центральный процессор Цпр. На рис. 3 приведена структурная схема Ррасп распределения этих пакетов в очереди по типам.

Рис. 3. Структурная схема программы Ррасп
Операция 1. Установить текущим канальный процессор с номером j=1.
Операция 2. Есть пакеты в очереди Опм (j) на приеме с канального процессора j? Если нет, то переход к операции 3. Иначе переход к операции 6.
Операция 3. Текущий канальный процессор является последним в ЦКП, т.е. j=Max? В примере рис. 4 из главы 6 Max=6. Если нет, то переход к операции 4, если да – к операции 5.
Операция 4. Переход к следующему канальному процессору j= j+1 и возврат к операции 2.
Операция 5. Установление текущим канальный процессор с номером j=1 и переход к диспетчеру программ.
Операция 6.Тип первого пакета в Опм (j) – «Запрос Вызова»? Если да, то переход к операции 7, иначе – к операции 9.
Операция 7. Снять первый пакет с Опм (j) и поставить в конец очереди Озвпм(j) для обработки фоновой программой Рзвпм.
Операция 8. Есть пакеты в Опм (j)? Если нет, то переход к операции 3, иначе – переход к операции 6.
Операция 9-11. Аналогичны операциям 6-8, но при этом производится установка в очередь пакетов другого типа Овппм(j) («Вызов Принят») для обработки фоновой программой Рвппм. Далее программа продолжает аналогично анализировать пакеты других типов.

Структурные схемы программ формирования таблицы маршрутизации по логическим канальным номерам LCN

Функцию формирования таблицы маршрутизации по логическим канальным номерам выполняют следующие программы:

  • Рзвпм «обработка принятых пакетов Запрос Вызова ЗВ» (рис. 4);
  • Рвппм «обработка принятых пакетов Вызов Принят ВП» (рис. 5).

Каждая из этих программ формирует строку таблицы маршрутизации при установлении коммутируемого виртуального канала КВК.

Структурные схемы программ “Обработка пакетов "Запрос Вызова"”

Рис. 4. Структурная схема программы “Обработка пакетов "Запрос Вызова"”

На рис. 4 приведена структурная схема программы "Обработка пакетов Запрос Вызова". Для рассмотрения принципа формирования строки таблицы маршрутизации по номерам логических каналов LCN допустим, что список очереди Озвпм состоит из следующих двух пакетов «ЗВ» (см. рис. 2).

Первый пакет в очереди поступил из ЦКП3 и через Кпр5 ЦКП1 коммутируется на Кпр4 для передачи в ЦКП2 (ЦКП3-Кпр5-ЦКП1-Кпр4-ЦКП2). Второй пакет в очереди поступил из ЦКП2 и через Кпр4 ЦКП1 коммутируется на Кпр5 для передачи в ЦКП3 (ЦКП2-Кпр4-ЦКП1-Кпр5-ЦКП3). Приведён описание формирования таблицы маршрутизации по LCN для соединения по первому пакету.

Операция 1. Есть пакет в Озвпм? Если нет, то переход к ДП. В нашем примере в Озвпм первый пакет в очереди поступил из Кпр5 и должен быть передан через Кпр4 в ЦКП2. Поэтому переход к операции 2.
Операция 2. Обрабатывается первый пакет в Озвпм. С помощью таблицы маршрутизации физических адресов (нумерация стандартизирована протоколом Х.121) определяется номер канального процессора, на который должен быть скоммутирован входящий пакет с установленным в нем LCN=179. Для передачи этого пакета в ЦКП2 он должен поступить в Кпр=4 ЦКП1 с измененным номером LCN.
Операция 3. Для определения LCN с целью замены им в исходящем пакете используется очередь свободных номеров Освн, создаваемая в каждом ЦКП. На рис. 5 приведена Освн в исходном состоянии перед началом работы. В этом случае она содержит последовательные номера от 1 до 4094, т.е. по максимальному числу виртуальных каналов через ЦКП в сети Х.25.
Рис. 5. Очередь свободных номеров перед началом работы ЦКП

В процессе работы сети при установлении КВК свободные номера берутся из этой очереди Освн, а при разрыве КВК устанавливаются в хвост этой очереди, т.е. номера не будут такими упорядоченными (т.е. последовательными), как приведено на рис. 5. Определяем для исходящего первого пакета «ЗВ» LCN. Допустим, в этот момент первым в Освн был LCN=3201. Считываем этот LCN из Освн. Использование списка очередей позволяет сократить число команд на поиск свободного номера.

Операция 4. Заполняем строку таблицы 1 маршрутизации по LCN для пакета, входящего из Кпр5, учитывая приведенные выше значения: LCN входящего пакета (179); LCN исходящего пакета (3201); номер Кпр исходящего пакета (Кпр4).
Таблица 1. Таблица маршрутизации ЦКП1 по LCN для пакета из Кпр5
LCN входящего пакета в ЦКП1 LCN исходящего пакета в ЦКП1 Номер канального процессора исходящего пакета из ЦКП1 Признак использования Освн при формировании строки таблицы маршрутизации (да/нет)
179
3201
Кпр4
Да
193
220
Кпр4
Нет

В таблице 1 введен еще один столбец, указывающий на то, что при формировании строки таблицы маршрутизации использовалась ли Освн для получения LCN исходящего пакета из ЦКП. Фоновая программа Рзвпм выполняет эту операцию. Как будет показано ниже программа Рвппм «Обработка принятых пакетов Вызов Принят - ВП» эту операцию не выполняет. Из приведенных в табл. 1 двух строк маршрутизации только одна формируется программой Рзвпм. При разъединении виртуального канала следует установленный этой программой LCN вернуть в Освн. Вторая строка таблицы 1 формируется программой Рвппм при установлении другого виртуального соединения с помощью пакета "ЗВ" из ЦКП 2 в ЦКП 3.

Операция 5. Снять первый из Озвпм и поставить в хвост очереди на передачу пакетов в канальный процессор j Опд(j), где j=4, т.е. Кпр4.
Таблица 2. Таблица маршрутизации ЦКП по LCN для пакетов из Кпр4
LCN входящего пакета в ЦКП LCN исходящего пакета в ЦКП Номер канального процессора исходящего пакета из ЦКП Признак использования Освн при формировании строки таблицы маршрутизации (да/нет)
220
193
Кпр5
Да
3201
179
Кпр5
Нет

Структурная схема программы “Обработка пакетов "Вызов Принят"”

Рассмотрим работу программы Рвппм – обработка принятых пакетов «Вызов Принят - ВП» по структурной схеме рис. 6.

Рис. 6. Структурная схема программы Рвппм – обработка принятых пакетов «Вызов Принят - ВП»

Программа Рвппм формирует еще одну строку таблицы маршрутизации ЦКП по LCN. Пакет «ВП» направляется в противоположную сторону той, в которую передавался пакет «ЗВ» при установлении виртуального канала. При этом коммутация пакетов «ВП» производится на основании тех LCN, которые были выбраны из Освн программой Рвппм. Покажем работу программы Рвппм на примере обработки одного пакета «ВП», поступившего при установлении виртуального канала в ответ на пакет «ЗВ». В качестве такого пакета примем пакет «ВП», являющийся результатом обработки первого пакета в Озвпм и сформировавшего строку таблицы маршрутизации с LCN входящего и исходящего пакета ЦКП соответственно 179 и 3201 (табл. 1).

Операция 1. Пакет «ВП» поступает с Кпр4 с LCN=3201(табл. 2). Центральный процессор Цпр коммутирует этот пакет на Кпр5.
Операция 2. Определяем , что LCN исходящего из ЦКП этого пакета изменяется на LCN=179 (табл. 2).
Операция 3. Обращаем внимание, что сформированная строка маршрутизации в табл. 2 использует ту же LCN, которая была определена программой Рвппм из Освн. Напомним, что во входящем в ЦКП пакете LCN=3201, а в исходящем – LCN=179. Этот пакет поступает в Цпр из Кпр4 и коммутируется на Кпр5. При этом Освн не используется.

В таблицах 1 и 2 приведены результаты формирования таблицы маршрутизации по LCN для второго пакета "ЗВ" из ЦКП 2 в ЦКП 3. Как видно из таблиц для этого виртуального соединения LCN=193 и 220.

Теперь на основании таблиц 1 и 2 составляется единая таблица маршрутизации ЦКП по LCN (табл. 3).


Таблица 3. Таблица маршрутизации ЦКП
Номер канального процессора пакета, входящего в ЦКП Номер канального процессора пакета, исходящего из ЦКП LCN входящего пакета в ЦКП LCN исходящего пакета из ЦКП Признак использования Освн при формировании строки таблицы маршрутизации
4
5
220
193
да
4
5
3201
179
нет
5
4
179
3201
да
5
4
193
220
нет

Структурная схема программы “Коммутации пакетов “данные””

Рис. 7. Структурная схема программы коммутации пакетов "данные" РДК

На рис. 7 приведена структурная схема программы "Коммутации пакетов "данные"".

Операция 1. Есть ли пакеты в Од1пм(j) обрабатываемые по приоритету? Если да, то переход к операции 2, иначе переход к операции 5.
Операция 2. Определяется LCN первого пакета в очереди Од1пм(j), который подлежит коммутации в Цпр ЦКП.
Операция 3. По таблице маршрутизации ЦКП (табл. 3) на основании номера канального процессора, с которого пакет поступает в Цпр ЦКП, и значения LCN в его заголовке определяется:
  • номер канального процессора, на который должен быть скоммутирован этот первый пакет;
  • LCN в заголовке этого пакета после его коммутации в ЦКП.

Приведенное описание операции 3 относится к тому случаю, когда не требуется шифрование пакетов, как это показано в статье «Шифрование сообщений в сети пакетной коммутации». Если в сети пакеты шифруются, то до выполнения этой операции необходимо канальное дешифрование. В указанном разделе предлагается использовать традиционную криптографию с общим ключом, при которой шифруется весь пакет. Для этого требуется обмен ключами симметричного шифрования с помощью асимметричной криптографии (приложение В, раздел В2). Возможен и другой способ - производить канальное шифрование/дешифрование только заголовка пакета с помощью асимметричной криптографии. Это возможно из-за небольшой длины заголовка пакета.

Операция 4. Снять первый пакет из Од1пм(j) и поставить его в хвост очереди пакетов на передачу в канальный процессор j ОПД(j), определённого в операции 3. Установить в этот пакет LCN, определённый в операции 3. Если в сети требуется канальное шифрование, то заголовок пакета подлежит шифрованию с использованием открытого ключа ЦКП, в который передается данный пакет.
Операция 5. Есть ли пакет данные в Од2пм(j), обрабатывемые без приоритета? Если да, то переход к операции 6, иначе - в ДП.
Опреации 6 - 8 аналогичны операциям 2 - 4, за исключением:
  • анализируются пакеты "данные" Од2пм(j), а не Од1пм(j);
  • по завершении операции 8 возврат к операции 5.