- •Глава 7. Структурные схемы программного обеспечения функций сетевого уровня сети X.25
- •7.1. Структурная схема организации по функций сетевого уровня сети х.25
- •7.1.1. Структурная схема программы Ррасп «Распределение принятых пакетов из канальных процессоров в очереди по типам»
- •7.2. Структурные схемы программ формирования таблицы маршрутизации по логическим канальным номерам lcn
- •7.2.1. Структурная схема программы “Обработка пакетов "Запрос Вызова"”
- •7.2.2. Структурная схема программы “Обработка пакетов "Вызов Принят"”
- •7.3. Структурная схема программы "Коммутация пакетов "данные""
- •6.1. Программа p6
- •6.2. Программа p7
- •6.3. Программа p8
- •6.4. Программа p9
- •6.5. Программа p10
- •6.6. Исходные данные для лабораторной работы
- •Лабораторная работа № 7. Программа формирования таблицы маршрутизации на сетевом уровне
- •7.1. Программа p1
- •7.2. Программа p2
- •7.3. Программа p3
- •7.4. Программа p4
- •7.5. Программа p5
- •7.6. Программа p6
- •7.7. Программа p7
- •7.8. Исходные данные для лабораторной работы
- •Лабораторная работа № 8. Программа коммутации пакетов "данные"
- •8.1. Программа p1
- •8.2. Программа p2
- •8.3. Программа p3
- •8.4. Программа p4
- •8.5. Программа p5
- •8.6. Исходные данные для лабораторной работы
7.1. Программа p1
а) Выделение памяти под N1 свободных блоков (для всех вариантов и контрольного примера N1=50). Каждый свободный блок занимает 34 байта:
- 2 байта под адрес предыдущего блока в списке блоков (первое адресное поле связки очереди);
- 2 байта под адрес следующего блока в списке блоков (второе адресное поле связки очереди);
- 30 байт под пакеты установления и сброса соединения (Запрос Вызова, Вызов Принят и др.);
Очистить память, занятую свободными блоками.
б) Установление адресов связки в N1 свободных блоках:
- выделить память под характеристику очереди свободных блоков Нсвоб с начальным адресом АНсвоб. Установить поля характеристики Нсвоб (рис.2).
АНсвоб
-
А(1)
А(N1)
N1
Рис. 2. Характеристика Нсвоб
Здесь:
А(1) – адрес начала массива первого свободного блока в очереди Освоб;
А(N1) – адрес начала массива последнего свободного блока в очереди Освоб.
Под массивом блока будем понимать блок (пакет, кадр, ячейка и др.) с адресными полями связки очереди.
Установить адресные поля связки первого (рис. 3, а) и N1 – го (рис. 3, б) свободного блока в очереди Освоб.
А(1)
-
0
А(N1)
а)
А(N1)
-
А(N1) -1
0
б)
Рис. 3. Формат массивов первого (а) и последнего (б) свободного блока в очереди Освоб
Установить адреса связки массивов всех свободных блоков, кроме первого и последнего.
FOR i=2, 3 …. (N1-1) DO
Запись в первое адресное поле массива i-го блока адрес начала массива i-1 блока списка очереди;
Запись во второе адресное поле массива i-го блока адрес начала массива i+1 блока списка очереди.
i=i+1
END
D:=D+1
GO TO DISP7
7.2. Программа p2
Запишем в центральный процессор N3 пакетов “Запрос Bызова” ”, поступивших с канального процессора j=5 (т.е. КПР=5), в первые массивы очереди свободных блоков Освоб. В контрольном примере N3=3.
На рис. 4 показано формат полей массива пакета с начальным адресом A(i) “Запрос Bызова” (ЗВ), размещенного в Освоб.
Число байт |
2 |
2 |
30 |
Начальный адрес A(i) |
Первое адресное поле |
Второе адресное поле |
“Запрос Bызова” – логический канальный номер LCN 12 бит (биты <1- 8> 1 байта и биты <5-8> 2 байта), идентификатор пакета – 4 бита 1011 (биты <1- 4> 2 байта), адрес вызываемого – 14 (1+3+10) байт, адрес вызывающего – 14 (1+3+10) байт |
Рис. 4. Формат полей пакета “Запрос 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+1 (адрес вызываемого абонента), в каждые 14 байт с начиная с 17-го записать значение i+2 (адрес вызывающего абонента)
END
В результате в N3 пакетах “ Запрос Bызова ”, находящиеся в Освоб с начальными адресами массивов A(1), A(2), A(3), записаны соответственно следующие логические канальные номера LCN=179, 195 и 201.
Перенести массивы этих N3 пакетов из Освоб в очередь массивов принятых пакетов ОЗВпм (5) с канального процессора j=5, т.е. КПР=5.
Откорректировать очередь свободных блоков Освоб, создать ОЗВпм (5) и характеристики Нсвоб, НЗВпм (5). На рис. 5 приведена характеристика этой очереди Нсвоб. Корректировка и создание очередей здесь не показана.
АНсвоб.
-
А(N3+1)
А(N1)
N1- N3
Рис.5. Характеристика Нсвоб.
На рис. 6 приведена характеристика очереди НЗВпм (5).
АНЗВпм (5)
-
А(1)
А(N3)
N3
Рис.6. Характеристика НЗВпм (5)
D:=D+1
GO TO DISP7
