Диспетчер программы DISP7




Лабораторная работа №7

Алгоритм программы формирования таблицы маршрутизации на сетевом уровне

Программа LAB7

 

Программа LAB7 выполняет функции структурных схем программ формирования таблицы маршрутизации по логическим канальным номерам LCN (см. глава 7). Эти схемы в указанной главе составлены на примере структуры центра коммутации пакетов, приведенном на этом рисунке.

 

Структура центра коммутации пакетов

 

Описание:

- константы N1, N3;

- переменные D, КПР, i, j, Y, LCN;

- массивы LCN (i), LCN1 (i);

- программы DISP7, P1, P2, P3, P4, P5, P6, P7;

- очередиОсвоб., Освн, ОЗВпм (5), Опд (4), ОВПпм (4), Опд (5).

 

 

Диспетчер программы DISP7

Begin

D:= 1

IF D = 1 THEN GO TO P1 ELSE IF D = 2 THEN GO TO P2 ELSE

IF D= 3 THEN GO TO P3 ELSE IF D = 4 THEN GO TO P4 ELSE

IF D = 5 THEN GO TO P5 ELSE IF D = 6 THEN GO TO P6 ELSE IF D =7 THEN GO TO P7 ELSE

 

END

Программы:

P1 – формирование очереди из N1 свободных блоков

P2 – формирование N3 пакетов “Запрос Bызова” (ЗВ), находящихся в очереди принятых пакетов с канального процессора КПР=5.

P3 – формирование очереди свободных номеров Освн из очереди свободных блоков Освоб. и запись в них значений для использования в качестве логического канального номера LCN

P4 – перенос пакет ЗВ из очереди массивов принятых пакетов (с канального процессора КПР=5) ОЗВпм (5) в очередь пакетов на передачу в канальный процессор 4 – Опд (4)

P5 – формирование строки таблицы маршрутизации в Центре Коммутации Пакетов (ЦКП)

P6 – формирование одного пакета “Вызов Принят” (ВП), находящегося в очереди принятых пакетов с канального процессора КПР=4.

P7 – перенос пакета ВП из очереди массивов принятых пакетов (с канального процессора КПР=4) ОВПпм (4) в очередь пакетов на передачу в канальный процессор 5 – Опд (5)

 

 

7.1. Программа P1

а) Выделение памяти под N1 свободных блоков (для всех вариантов и контрольного примера N1=50). Каждый свободный блок занимает 34 байта:

- 2 байта под адрес предыдущего блока в списке блоков (первое адресное поле связки очереди);

- 2 байта под адрес следующего блока в списке блоков (второе адресное поле связки очереди);

- 30 байт под пакеты установления и сброса соединения (Запрос Вызова, Вызов Принят и др.);

Очистить память, занятую свободными блоками.

 

б) Установление адресов связки в N1 свободных блоках:

- выделить память под характеристику очереди свободных блоков Нсвоб с начальным адресом АНсвоб. Установить поля характеристики Нсвоб (рис.1).

 

 

АНсвоб

А(1) А(N1) N1

 

Рис.1. Характеристика Нсвоб

Здесь

А(1) – адрес начала массива первого свободного блока в очереди Освоб

А(N1) – адрес начала массива последнего свободного блока в очереди Освоб.

Под массивом блока будем понимать блок (пакет, кадр, ячейка и др.) с адресными полями связки очереди.

_- установить адресные поля связки первого (рис. 2, а) и N1 – го (рис. 2, б) свободного блока в очереди Освоб.

А(1)

  А(N1)  

 

а)

А(N1)

 

А(N1) -1    

 

б)

Рис. 2. Формат массивов первого (а) и последнего (б) свободного блока в очереди Освоб.

 

- установить адреса связки массивов всех свободных блоков, кроме первого и последнего

 

FOR i=2, 3 …. (N1-1) DO

Запись в первое адресное поле массива i-го блока адрес начала массива i-1 блока списка очереди;

Запись во второе адресное поле массива i-го блока адрес начала массива i+1 блока списка очереди.

i=i+1

D:=D+1

GO TO DISP7

 

 

7.2. Программа P2

 

Запишем в центральный процессор N3 пакетов “Запрос Bызова” ”, поступивших с канального процессора j=5 (т.е. КПР=5), в первые массивы очереди свободных блоков Освоб. В контрольном примере N3=3.

На рис. 3 показано формат полей массива пакета с начальным адресом A(i) “Запрос Bызова” (ЗВ), размещенного в Освоб.

Число байт      
Начальный адрес A(i) Первое адресное поле Второе адресное поле “Запрос Bызова” – логический канальный номер LCN 12 бит (биты <1- 8> 1 байта и биты <5-8> 2 байта), идентификатор пакета – 4 бита 1011 (биты <1- 4> 2 байта), адрес вызываемого – 14 (1+3+10) байт, адрес вызывающего – 14 (1+3+10) байт

Рис. 3. Формат полей пакета “Запрос Bызова” в массиве свободного блока очереди Освоб.

Примечание: биты <5-8> 2 байта LCN являются младшими.

Установим значение полей этих пакетов “Запрос Bызова”.

Значения LCN этих пакетов запишем в виде следующего одномерного массива - LCN (i) = 179, 195, 201. Здесь i- номер пакета ЗВ.

 

 

FOR i= 1,2…..N3 DO

Записать в поле пакета “ЗВ” с начальным адресом массива A(i): биты <1-8> 1 байта и биты <5-8> 2 байта:= LCN(i), биты <1- 4> 2 байта:=1011; в каждые 14 байт с начиная с третьего записать значение i (адрес вызывающего абонента), в каждые 14 байт с начиная с 17-го записать значение i+1 (адрес вызываемого абонента),

END

 

В результате в N3 пакетах “ Запрос Bызова ”, находящиеся в Освоб с начальными адресами массивов A(1), A(2), A(3), записаны соответственно следующие логические канальные номера LCN=179, 195 и 201.

Перенести массивы этих N3 пакетов из Освоб в очередь массивов принятых пакетов ОЗВпм (5) с канального процессора j=5, т.е. КПР=5.

Откорректировать очередь свободных блоков Освоб. , создать ОЗВпм (5) и характеристики Нсвоб. , НЗВпм (5). На рис. 4 приведена характеристика этой очереди Нсвоб. Корректировка и создание очередей здесь не показана.

 

АНсвоб.

А(N3+1) А(N1) N1- N3

 

Рис.4. Характеристика Нсвоб.

 

На рис. 5 приведена характеристика очереди НЗВпм (5).

 

АНЗВпм (5)

А(1) А(N3) N3

 

Рис.5. Характеристика НЗВпм (5)

 

D:=D+1

GO TO DISP7

 

 

7.3. Программа P3

 

Создать очередь свободных номеров Освн из очереди свободных блоков Освоб. Принять число свободных номеров для всех вариантов и контрольного примера Y=20. . Корректировка и создание очередей здесь не показана.

 

Установить характеристику Нсвн очереди свободных номеров Освн (рис.6)

 

АНсвн

А(N3+1) А(N3+20)  

 

Рис.6. Характеристика Нсвн

 

 

- откорректировать очередь массивов свободных блоков Освоб. На рис. 7 приведена характеристика этой очереди Нсвоб.

АНсвоб.

А(N3+20+1) А(N1) N1- N3 - 20

 

Рис.7. Характеристика Нсвоб.

 

На рис. 8 приведен формат массива блока свободных номеров.

 

Байты      
Значение Начальный адрес предыдущего блока Начальный адрес следующего блока Значение свободного номера для записи LCN

 

Рис. 8. Формат массива свободного номера

 

Установить значения одномерного массива свободных номеров для шести (для упрощения из 20) значений LCN1 (i) = 3201, 220, 4072, 3701, 475, 432.

 

Записать в шесть массивов блоков очереди свободных номеров Освн эти значения свободных логических канальных номеров LCN

 

FOR i= 1, 2…..6 DO

Записать в поле значения свободного номера массива свободных номеров (рис. 8) с начальным адресом А(N3+i):= LCN1(i)

END

 

Заменить значения логических канальных номеров LCN во всех N3 принятых пакетах ОЗВпм (5) с канального процессора КПР=5 на значения, взятые из очереди свободных номеров Освн.

 

FOR i= 1,2…..N3 DO

Записать в поле пакета “ЗВ” с начальным адресом массива A(i): биты <1-8> 1 байта и биты <5-8> 2 байта:= А(N3+i)

END

- откорректировать очередь Освн и характеристику Нсвн..

 

Корректировка очереди здесь не показана. Массивы свободных номеров, начиная с А(N3+1) по А(N3+ N3) пересылаются в отдельную очередь занятых номеров, которая для упрощения здесь не показана. На рис. 9 показана характеристика Нсвн.

АНсвн

А(N3+ N3+1) А(N3+20) 20- N3

 

Рис.9. Характеристика Нсвн

D:=D+1

GO TO DISP7

 

7.4. Программа P4

 

В настоящей работе ограничимся установлением одной строки таблицы маршрутизации по логическим канальным номерам (Примечание. В очереди ОЗВпм (5) стоят N3 пакета ЗВ)

С помощью таблицы маршрутизации физических номеров на основании значений адресов (рис. 3) вызываемого и вызывающего пользователя (каждый длиной 14 байт) находим номер канального процессора, на который должен быть скоммутирован первый принятый пакет ЗВ. Этот пакет стоит первым в очереди массивов принятых пакетов ОЗВпм (5) с канального процессора КПР=5 с логическим канальный номером LCN – 3201 (программа Р3). В примере (глава 7) номер канального процессора 4, на который должен быть скоммутирован этот пакет ЗВ. Программно здесь это не реализовано. В очередь пакетов на передачу в канальный процессор 4 – Опд (4) должен быть перенесен этот пакет ЗВ из очереди массивов принятых пакетов ОЗВпм (5)

На рис. 10 приведено содержание полей массива этого пакета ЗВ (не указаны адреса вызывающего и вызываемого абонента).

 

Число байт      
Начальный адрес A(1) Первое адресное поле - 0 Второе адресное поле - 0 101000000001 (логический канальный номер LCN- 3201), 1011 (идентификатор пакета ЗВ), адрес вызываемого – 14 байт, адрес вызывающего – 14 байт

Рис. 10. Массив пакета “Запрос Bызова” в очереди пакетов на передачу в канальный процессор 4 – Опд (4)

 

Установить характеристику очереди (рис.11) пакетов на передачу в канальный процессор 4 – Нпд (4). Поскольку в настоящем примере в этой очереди один пакет, то значения адресных полей массива пакета ЗВ в этой очереди равны нулю.

 

 

АНпд (4)

А(1) А(1)  

 

Рис.11. Характеристика Нпд (4)

 

Откорректировать очередь массивов принятых пакетов ОЗВпм (5) с канального процессора КПР=5. Корректировка очереди здесь не показана.

На рис. 12 показана характеристика НЗВпм (5) .

 

 

АНЗВпм (5).

А(2) А(N3) N3-1

 

Рис.12. Характеристика НЗВпм (5)

 

D:=D+1

GO TO DISP7

 

 

7.5. Программа P5

В таблице 1 приведена строка маршрутизации по логическим канальным номерам LCN, полученная в результате работы программ P1- P4 по обработке пакета “Запрос Bызова” и в соответствии с алгоритмом, изложенным в главе 7.

В столбце 5 отмечается, что при формировании этой строки LCN в пакете на выходе ЦКП было установлено с использованием свободного номера из очереди Освн.

Табл. 7.1. Таблица маршрутизации ЦКП

 

 

         
Номер канального процессора пакета, входящего в ЦКП Номер канального процессора пакета, исходящего из ЦКП LCN входящего пакета в ЦКП LCN исходящего пакета из ЦКП Признак использования Освн при формировании строки таблицы маршрутизации (да/нет)  
        да

 

 

D:=D+1

GO TO DISP7

 

 

7.6. Программа P6

На рис. 13 показан формат полей принятого одного пакета “Вызов Принят” (ВП) из канального процессора КПР=4, размещенного в первом свободном блоке Освоб. Этот пакет является квитанцией на пакет ЗВ, который сформировал строку таблицы маршрутизации виртуального канала связи (табл.7.1).

Число байт      
Начальный адрес A(i) Первое адресное поле Второе адресное поле “Вызов Принят” – логический канальный номер LCN 12 бит (биты <1-8> 1 байта и биты <5-8> 2 байта), идентификатор пакета – 4 бита 1111 (биты <1-4> 2 байта), адрес вызываемого – 14 (1+3+10) байт, адрес вызывающего – 14 (1+3+10) байт

Рис. 13. Формат размещения пакета “Вызов Принят” в свободном блоке Освоб с начальным адресом A(i).

 

Установим значение полей пакета “Вызов Принят” в первом массиве блоков очереди Освоб. Согласно рис. 7 начальный адрес такого массива А(N3+21). В первых 12 битах этого пакета в десятичном отображении LCN = 3201 в соответствии с табл.7.1. Поля адресов вызывающего и вызываемого те же, что и в ранее обработанном пакете ЗВ.

Откорректировать очередь Освоб. Корректировка очереди здесь не показана.

. На рис. 14 приведена характеристика этой очереди Нсвоб.

АНсвоб.

А(N3+22) А(N1) N1- N3 - 21

 

Рис.14. Характеристика Нсвоб.

 

В результате в первых N3 свободных блоках установлены пакеты “Вызов Принят” (ВП). Перенести массив пакета ВП из очереди Освоб. в очередь массивов принятых пакетов ОВПпм (4) с канального процессора КПР=4. Откорректировать ОВПпм (4).. Корректировка очереди здесь не показана.

 

- установить характеристику очереди НВПпм (4) массивов принятых пакетов ОВПпм (4) с канального процессора КПР=4

На рис. 15 приведена характеристика очереди НВПпм (4).

 

АНВПпм (4)

А(N3+21) А(N3+21)  

 

Рис.15. Характеристика НВПпм (4)

 

D:=D+1

GO TO DISP7

 

7.7. Программа P7

Перенести первый пакет ВП из очереди массивов принятых пакетов (с канального процессора КПР=4) ОВПпм (4), который находится по адресу А(N3+21) первого поля характеристики этой очереди (рис. 15) в очередь пакетов на передачу в канальный процессор 5 – Опд (5). Прежде, чем перенести этот пакет ЗВ на основании таблицы маршрутизации ЦКП (табл. 1) в нем необходимо заменить LCN=3201 на значение LCN=179 (10110011), т.е. записать в первые 12 бит пакета ВП (рис. 13). Установить характеристику очереди (рис.16) пакетов на передачу в канальный процессор 5 – Нпд (5). Поскольку в настоящем примере в этой очереди один пакет, то значения адресных полей массива пакета ВП в этой очереди равны нулю.

 

АНпд (4)

А(N3+21) А(N3+21)  

 

Рис.16. Характеристика Нпд (5)

 

В результате обработки пакета ВП в таблицу маршрутизации ЦКП добавляется еще одна строка маршрутизации. В столбце 5 отмечается, что при формировании этой строки LCN в пакете на выходе ЦКП было установлено без использования свободного номера из очереди Освн.

 

 

Табл. 7.2. Таблица маршрутизации ЦКП

 

 

         
Номер канального процессора пакета, входящего в ЦКП Номер канального процессора пакета, исходящего из ЦКП LCN входящего пакета в ЦКП LCN исходящего пакета из ЦКП Признак использования Освн при формировании строки таблицы маршрутизации (да/нет)  
        да
        нет

 

 

- откорректировать характеристику очереди НВПпм (4) массивов принятых пакетов ОВПпм (4) с канального процессора КПР=4 в результате снятия первого пакета ВП из очереди массивов принятых пакетов (с канального процессора КПР=4) ОВПпм (4).

 

D:=D+1

GO TO DISP7

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: