Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB 7.doc
Скачиваний:
1
Добавлен:
06.09.2019
Размер:
165.89 Кб
Скачать

Лабораторная работа №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)

0

А(N1)

а)

А(N1)

А(N1) -1

0

б)

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

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

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

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

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

i=i+1

D:=D+1

GO TO DISP7

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]