Справочник от Автор24
Поделись лекцией за скидку на Автор24

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

  • 👀 377 просмотров
  • 📌 313 загрузок
Выбери формат для чтения
Загружаем конспект в формате docx
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Структурные схемы программного обеспечения процедуры управления потоками сети X.25» docx
ГЛАВА 5. Структурные схемы программного обеспечения процедуры управления потоками сети X.25 5.1. Структурная схема организации ПО процедуры управления потоками сети Х.25 5.2. Структурные схемы фоновых программ 5.2.1. Основные положения составления ПО. Структурная схема Р1ПД «Запрос и прием очередного пакета с 3 уровня» 5.2.2. Структурная схема программы Р2ПД - «Подготовка к передаче очередного «I» кадра в канал» 5.2.3. Структурные схемы программы Р1ПМ - «Обработка принятых кадров «I»» и программы Р2ПМ – «Обработка принятого кадра RR» 5.2.4. Структурная схема программы P2ПМ - «Обработка принятого кадра RR» 5.2.5. Структурные схемы программ P4ПД - «Передача кадра RR» и Р5пд – «Передача кадра REJ» 5.2.6. Структурная схема программы Р3ПМ - «Обработка принятого кадра отрицательной квитанции REJ» 5.2.7. Структурная схема программы Р3ПД - «Подготовка к передаче «I» кадра по REJ» 5.2.8. Структурная схема программы Р6ПД - «Анализ перехода в режим повторения передачи кадра по таймеру» 5.2.9. Структурная схема программы Р7ПД - «Подготовка к передаче «I» кадра по таймеру» Контрольные вопросы гл. 5 ​ ГЛАВА 5. Структурные схемы программного обеспечения процедуры управления потоками сети X.25 Настоящая глава включает структурные схемы программного обеспечения ПО процедуры управления потоком данных на канальном уровне сети ПД X.25 (восстановление из буфера искаженных в канале кадров). В качестве практического использования в рамках одного семинара перед студентами поставлена задача выполнения по упрощенным алгоритмам ПО трех функций управления потоком на канальном уровне при заданных исходных данных. При этом требуется получить результаты этой имитации либо по составленному и отлаженному ПО, либо без разработки ПО по форме контрольного примера. На кафедре «Информационная безопасность» МГТУ им. Н.Э. Баумана совместно с Научно-исследовательским испытательным центром ЦНИИ ВКС МО РФ с 2017 года проводится работа по созданию учебного лабораторного стенда (УЛС) аппаратно-программного имитатора сети передачи данных (ПД) категории специального назначения. Материалы настоящей главы и имитация указанных трех функций управления потоком предназначена для освоения студентами принципа разработки ПО этого учебного имитатора сети ПД. В документе, утвержденном Правительством РФ “ Стратегия развития отрасли информационных технологий на 2014-2020 и на перспективу до 2025 года” большое внимание уделяется разработкам программного обеспечения. Приведем некоторые положения этого документа. В России на 2014 год насчитывалось около 300 тыс. программистов. Компании отрасли предлагают высокие зарплаты для молодых специалистов - самые высокие на рынке труда. Согласно этому документу к 2019 году в мире планировалось более 26 млн. программистов, из них в Индии - более 5 млн. человек, в США - более 4,5 млн. человек, в Китае - около 2 млн. человек. Сложившаяся ситуация уменьшает шансы России войти в число мировых лидеров сегмента заказной разработки программного обеспечения в период действия Стратегии. Планируется рост производства информационно-коммуникационного оборудования в мировом масштабе, при этом доминировать на нем продолжат крупнейшие международные компании. Дальнейшее развитие большинства сегментов этой отрасли требует решения проблемы нехватки квалифицированных кадров В то же время конкурентным преимуществом России в указанном сегменте станет разработка программного обеспечения высокой сложности, где может использоваться инженерный и алгоритмический потенциал российских специалистов. К такому ПО относится программное обеспечение телекоммуникационного оборудования сетей связи и ПО учебного имитатора сети ПД категории специального назначения. . ​ 5.1. Структурная схема организации ПО процедуры управления потоками сети Х.25 Все программы второго уровня выполняются канальным процессором и подразделяются на фоновые программы, программу - диспетчер фоновых программ и программы обработки прерываний. На рис. 5.1 приведена упрощенная структурная схема организации этого программного обеспечения. Рис. 5.1. Структурная схема организации программного обеспечения безошибочного обмена информационными кадрами на канальном уровне сети Х.25 В следующих разделах приведены упрощенные структурные схемы фоновых программ, выполняющих функцию обеспечения правильной последовательности кадров [23]. Фоновые программы в свою очередь на рисунке разделены на программы, обеспечивающие безошибочный обмен информационными кадрами (Пфо) при выполнении функций управления потоками данных и программы, выполняющие остальные функции канального уровня (Пфн). Все фоновые программы управляются диспетчером программ циклически и непрерывно. Программы прерываний выделены в программы обработки одного или нескольких байтов на передачу в канал (на физический уровень) или на прием из канала (с физического уровня). Механизм прерываний осуществляет прерывание работы текущей фоновой программы, переводит к работе программы прерывания. По завершению работы программы прерывания возобновляется выполнение прерванной фоновой программы. Фоновые программы, которые не выполняют функцию управления потоками, на рисунке изображены в виде одного квадрата. К ним относятся функции установления и разъединения соединения, функции взаимодействия с сетевым уровнем сети X.25 и другие функции. Диспетчер программ (ДП) управляет последовательностью всех фоновых программ. Как видно из рисунка, все фоновые программы обеспечения правильной последовательности кадров разделены на программы передачи и программы приема. Диспетчер программ запускает определенную фоновую программу, а после ее выполнения управление возвращается к диспетчеру с тем, чтобы он запустил другую фоновую программу. Определение последовательности и частоты запуска программ является самостоятельной задачей оптимизации структуры программного обеспечения с точки зрения минимизации задержки обработки на приеме, потерь кадров и других качественных характеристик. Программы приема часто имеют приоритет перед программами передачи в службе передачи данных. В службе передачи речи или видео приоритет дается фоновым программам передачи. Это объясняется тем, что для обеспечения качества передачи данных важно не потерять пакет данных, а для качества передачи речи и видео важна величина задержки приема пакета при передаче. Основной принцип работы большинства фоновых программ состоит в последовательной обработке блоков данных (кадров, пакетов и др.), находящихся в очередях на обслуживание программами. В случае конфигурации звена данных «точка-точка» образуются следующие очереди: Оп32 – очередь пакетов на передачу с сетевого уровня на канальный уровень; Оповт – очередь информационных «I» кадров на случай необходимости повторной передачи кадров в канал; Окпм – очередь всех принятых кадров с канала (т.е. физического уровня), в которых при анализе КПК (контрольно-проверочной комбинации) не было обнаружено ошибок; Оп23 – очередь пакетов, подлежащих передаче с канального уровня на сетевой уровень. Приведем упрощенные структурные схемы основных фоновых программ передачи (P1ПД, P2ПД, P3ПД, P4ПД, P5ПД, P6ПД, P7ПД), приема (P1ПМ, P2ПМ, P3ПМ, P4ПМ) с кратким описанием их функционирования. Напомним, что фоновые программы запускаются диспетчером программ ДП. По завершению работы фоновая программа возвращает управление ДП. ​ 5.2. Структурные схемы фоновых программ Ниже приводится описание работы фоновых программ, приведенных на рисунке 5.1 организации программного обеспечения. На этом рисунке указаны фоновые программы, описание структурных схем которых приводится в настоящем разделе. Прежде, чем перейти к описанию указанных фоновых программ приведём диаграмму одного из примеров обмена кадрами между пунктами А и Б (рис. 5.2). Далее при описании работы фоновых программ по структурным схемам будем указывать какие фоновые программы выполняют соответствующую им функцию. Рис. 5.2. Диаграмма обмена кадрами с указанием обработки фоновых программ ​ 5.2.1. Основные положения составления ПО. Структурная схема Р1ПД «Запрос и прием очередного пакета с 3 уровня» На рис. 5.3 приведена структурная схема программы Р1ПД, ”Запрос и прием очередного пакета с 3 уровня” (т.е. с сетевого уровня). Приведенная схема ПО обеспечивает перенос пакета с сетевого уровня на канальный уровень сети Х.25. Приведем основные положения, которые необходимо придерживаться при составлении ПО системы коммутации: • иерархический принцип построения ПО (диспетчер программ, фоновые программы, подпрограммы); • деление больших ветвей программ с целью упрощения отладки и модернизации ПО; • выполнение большинства программ осуществляется путем обработки очередей сообщений, находящихся в различных областях оперативной памяти; • составление программного обеспечения с наименьшим числом команд является одной из наиболее важных задач для обеспечения большего числа обслуживаемых пользователей коммутационной станцией и лучших показателей качества обслуживания. Покажем работу приведенной на диаграмме рис. 5.2 программы Р1ПД (рис. 5.3). Рис. 5.3. Структурная схема Р1ПД ”Запрос и прием очередного пакета с 3 уровня” Операция 1. Режим не в состоянии передачи очередного пакета в канал? Если да, то переход к диспетчеру программ ДП. Если нет (т.е. в состоянии передачи, то переход к операции 2. Операция 2. Проверка наличия пакета для передачи в канал. В случае такого признака производится переход к операции 3. Этот пакет находится на сетевом уровне. Операция 3. Проверка числа кадров N(Оповт), находящихся в буфере повторной передачи. Если N(Оповт) равно ширине окна W, то возврат к ДП. Если нет, то переход к операции 4. Если да, то переход к диспетчеру программ ДП. Операция 4. Эта операция иллюстрирует деление длинных программ на две. Вначале программа не находится в состоянии «запрос пакета с 3 уровня». Проверка состояния «запрос пакета с 3 уровня». В случае, если не находится в этом состоянии, то переход к операции 5. Иначе, переход к операции 6. Операция 5. Установка состояния «запрос пакета с 3 уровня». Операция 6. Поставить пакет 3 уровня в конец очереди Оп32 пакетов, подготовленных к передаче на канальный уровень. Операция 7. Сброс состояния «запрос пакета с 3 уровня». Переход к ДП. Как видно из схемы, диспетчер дважды обращается к программе Р1ПД для того, чтобы осуществить прием одного пакета с третьего уровня: первый раз по цепочке операций 1 - 5, а второй раз 1 - 4, 6 - 7. Все операции кроме операции 6 просто переводятся на язык программирования. Подробному описанию подлежит операция 6. Под блоком данных в сети Х.25 будем понимать кадр (блок данных второго уровня) или пакет (блок данных третьего уровня). В других технологиях сетей блоки данных часто называются другими терминами (ячейка, фрейм и др.). Дадим определение массива блока данных, который стоит в очереди на обработку программой. Операция 6 производит установку пакета третьего уровня в очередь Оп32. Для построения такой очереди принятый пакет располагается в ОЗУ, где к информационным полям добавляются два служебных поля. Такой пакет со служебными полями будем называть массивом пакета. На рис. 5.4 представлен формат k-го массива пакета в очереди Оп32, где Аk - адрес начала k-го массива пакета. Первые два поля массива пакета являются адресными полями и занимают соответственно начальные адреса предыдущего и последующего массива пакета. Рис. 5.4. Формат k-го массива пакета очереди Оп32 Массивы блоков данных (в данном случае массивы пакетов), образуют упорядоченную очередь, связывающую их друг с другом в процессе работы системы в реальном масштабе времени (хотя они располагаются в разных местах оперативной памяти). В качестве примера очереди Оп32 приведена очередь из трёх массивов пакетов с начальными адресами A1, А2, А3 (рис. 5.5.). Рис. 5.5. Пример очереди из трех массивов пакетов В поле 1 массива пакета 1 установлен 0, и в поле 2 массива последнего пакета 3 также установлен 0. В поле 2 массива пакета 1 указывается адрес начала массива пакета 2 (А2), а в поле 2 массива пакета 2 - адрес начала массива пакета 3 (А3). Третье поле (n1, n2, n3) означает длину данных соответственно пакета 1, пакета 2, пакета 3. Алгоритм программного обеспечения в сетях связи часто выполняет следующую функцию: из очереди к одной фоновой программе снимается первый блок данных, и после его отработки устанавливается в хвост (конец) очереди другой фоновой программы. Для этой цели в каждой очереди блоков данных используется одномерная строка характеристики очереди, которая состоит из трёх полей (рис. 5.6). Для очереди Оп32 обозначим характеристику очереди Нп32. При составлении программного обеспечения оборудования сетей связи это дает возможность экономить машинное время, определив одной-двумя командами наличие или отсутствие блоков в очереди, адреса первого и последнего блока в очереди. Рис. 5.6. Формат характеристики очереди На рис. 5.7 приведена характеристика очереди для приведенного примера. Рис. 5.7. Характеристика очереди На этом примере покажем, каким образом реализуется операция 5 программы Р1ПД по установке пакета в конец очереди. Допустим, начальный адрес массива этого пакета А4, в полях 3 и 4 установлены соответственно длина пакета в байтах и информационная часть пакета. В поле 2 массива пакета устанавливается 0 (т. к. он занимает последнее место в очереди), в поле 1 устанавливается А3. В поле 2 массива пакета 3 с адресом А3 вместо 0 устанавливается значение начального адреса массива А4. Приведём изменения в характеристике очереди. В поле 3 вместо 3 устанавливается новое число массивов пакетов в Оп32, т. е. 4, а в поле 2 вместо А3 устанавливается начальный адрес последнего массива пакетов в очереди, т.е. А4. Как было отмечено выше, алгоритм программного обеспечения в сетях связи выполняет приведенную на примере функцию: из очереди к одной фоновой программе снимается первый блок данных, и после его отработки устанавливается в хвост (конец) очереди другой фоновой программы. Приведенный выше пример относится к установке блока данных в конец очереди. Приведем пример снятия первого блока данных с очереди, приведенной на рис. 5.5 и ее характеристики (рис. 5.7). На основании первого поля этой характеристики определяем адрес первого блока данных в очереди - A1. После снятия его снятия в очереди остаются блоки данных A2 (в первом адресном поле устанавливается 0) и A3, в первом поле характеристики очереди устанавливается A2, а в третьем поле устанавливается 2. Работа фоновых программ часто заключается в обработке какого-либо массива очереди, снятии этого массива из одной очереди и установке его в другую очередь. Для организации таких очередей блоков данных с целью их обработки разными фоновыми программами создаётся очередь свободных блоков Освоб. Многие языки программирования высокого уровня предусматривают такую возможность. Первый в очереди Освоб свободный блок используется для записи блока (пакета, кадра и т.п.) и производится его установка в хвост (конец) очереди для обработки какой-либо фоновой программой. При освобождении блока данных после обработки фоновой программой этот блок заносится в хвост Освоб. Поле данных свободных блоков фиксировано, поэтому поле 3 (длина) отсутствует. В некоторых случаях могут быть несколько таких очередей Освоб с разными длинами поля данных, что приводит к экономии оперативной памяти. Форматы массива очереди свободных блоков Освоб и характеристика этой очереди Нсвоб во многом аналогичны описанному выше формату Оп32. Поле данных этих блоков свободно для записи конкретных блоков (например, для записи входных блоков данных с канала или с процессора другого уровня). Передача информационных кадров в канал может осуществляться следующими тремя программами: • передача очередного кадра «I», находящегося в очереди Оп32 (программа Р2ПД); • передача кадра «I» из очереди повтора Оповт после получения отрицательной квитанции REJ с противоположного конца (программа Р3ПД); • передача кадра «I» из очереди повтора Оповт после срабатывания таймера, указывающего на превышение допустимого времени ожидания подтверждения правильного приема кадра (программа Р7ПД). ​ 5.2.2. Структурная схема программы Р2ПД - «Подготовка к передаче очередного «I» кадра в канал» Покажем работу приведенной на диаграмме обмена кадрами (рис. 5.2) программы “Подготовка к передаче очередного «I» кадра в канал” (рис. 5.8). Операция 1. Состояние «Передача кадра в канал»? Длительность передачи (t) кадра в канал зависит от длины кадра L и пропускной способности канала V. Например, при передаче в канал кадра «I» L=1000 бит и V=64 кбит/с время передачи кадра t=15,6 мс. Это означает, что при среднем времени выполнения одной команды 1 мкс во время передачи такого кадра в канал на все остальные фоновые программы предоставляется 15600 команд. Здесь L=1000 бит взята примерно равной длине пакета данных в Х.25 по умолчанию. Операция 2. Есть пакеты в очереди Оп32. на передачу в канал? Если да, то переход к операции 3. Значение числа пакетов в очереди N(Оп32) содержится в поле 3 характеристики очереди. Операция 3. Снять первый пакет с очереди Оп32. и поставить в хвост очереди Оповт. Формат массива кадра Оповт длиннее формата массива пакета Оп32, так как включает дополнительное поле – заголовок кадра. Для того чтобы не терять машинное время передачи содержимого поля данных из Оп32 в Оповт, целесообразно формат массива Оп32 сделать одинаковым с массивом данных Оповт, т.е. включить в него неиспользуемое поле заголовка кадра. Такая экономия машинного времени позволяет увеличить пропускную способность сети. Из этого примера видно, что потеря нескольких байт (неиспользуемая длина заголовка кадра в Оп32) приводит к существенной экономии машинного времени из-за отсутствия передачи поля пакета из Оп32 в Оповт. Операция 4. Запись параметров N(S), N(R) в заголовок последнего кадра Оповт. Операция 5. Формирование нового значения переменной передачи V(S), V(S):=V(S)+1. Операция 6. Запись значения текущего времени tтек. Этот параметр необходим для работы программы P6ПД – анализ необходимости перехода к передаче кадра «I» из очереди Оповт после срабатывания таймера, указывающего на длительное не подтверждение правильного приёма кадра. Ниже приводится описание работы программы P6ПД. Массив кадра «I», записанный в хвост Оповт, имеет форму, приведённую на рис. 5.9. Поля, предназначенные для включения этого кадра в Оповт, т.е. адрес предыдущего массива кадра и 0, указывающий на то, что он последний в очереди Оповт. Рис. 5.8. Структурная схема программы Р2ПД – “Подготовка к передаче очередного «I» кадра в канал” Рис. 5.9. Формат массива кадра “I” в Оповт Операция 7. В регистр передачи кадра в канал переписывается заголовок кадра и пакет данных, т.е. информация с адреса A1 до адреса A2. Производится передача в канал этого кадра, т.е. без первых двух полей адресов (для образования списка очереди) и последнего поля tтек (для отслеживания тайм-аута не подтверждения – программа Р6ПД). Операция 8. Установить состояние “передача кадра в канал”. Это состояние снимается после передачи в канал последнего байта. Операция 9. Снять состояние “Подготовить к передаче кадра RR в канал”, если оно было установлено. Подтверждение правильного приёма кадра «I» с противоположного конца канала ПД производится параметром N(R), передаваемом в кадре RR или в кадре «I» . Поскольку программа P2ПД производит передачу кадра «I» нет необходимости передавать кадр RR, если перед этим с противоположной стороны был принят кадр «I». ​ 5.2.3. Структурные схемы программы Р1ПМ - «Обработка принятых кадров «I»» и программы Р2ПМ – «Обработка принятого кадра RR» Покажем работу приведенных на рис. 5.2 программ: Р1ПМ - «Обработка принятых кадров «I» и Р2ПМ – «Обработка принятого кадра RR» (рис. 5.10). Операция 1. Число кадров N(OКПМ) в очереди на приём с канала равно нулю? Эта величина определяется в поле 3 характеристики очереди. Если нет, то переход к операции 2. Операция 2. Первый кадр в OКПМ является информационным («I»)? Адрес первого кадра определяется в первом поле характеристики очереди. Если да, то переход к операции 3. Операции 3-5 выполняют функцию проверки буфера «I» кадров в очереди Oповт с целью определения подтверждения правильного приёма «I» кадров противоположной стороной. Это производится в результате анализа параметра N(R) первого кадра в OКПМ. Операция 3. Число кадров N(Oповт) в очереди Oповт не равно нулю? В случае отсутствия кадров в Oповт программа переходит к операции 6. Операции, начиная с 6, выполняют функцию анализа параметра N(S) первого кадра «I» в OКПМ. В случае наличия кадров в очереди Oповт осуществляется переход к операции 4. Операция 4. Проверка выполнения условия подтверждения правильного приёма «I»- кадров на противоположной стороне, т.е. N(S) меньше или равно N(R)-1, где N(S) – параметр в первом кадре Oповт; Получение квитанции с параметром N(R) означает правильный приём всех кадров «I», отправленных с N(S) меньше N(R). Так как нумерация кадров производится по модулю 7 (или 127), то, например, N(R)=0 является больше N(S)=7. Аналогичное упрощение производится и далее при описании других операций и программ. Если условие N(S) меньше или равн4о N(R)-1 выполняется, то переход к операции 5. Это соответствует приему кадра I(0,5) на рис. 5.2. Операция 5. Снять 1-ый кадр с Oповт и поставить в хвост Oсвоб. Переход к операции 3. Цикл считывания кадров с Oповт повторяется до тех пор, пока условия операции 3 или 4 не будет выполнено. Реализацию операций 3,4 и 5 покажем на диаграмме рис.5.2. При приеме на станции А от станции Б последнего на этой диаграмме сообщения I(0,5) в очереди повтора Oповт находятся два сообщения I(3,0) и I(4,0) . . Поскольку в поступившем сообщении I(0,5) N(R) -1=4 больше N(S)=3 в I(3,0) и равно N(S)=4 в I(4,0) производится сброс этих сообщений в Oсвоб. Рис. 5.10. Структурные схемы программы Р1ПМ "Обработка принятого «I» кадра" и программы Р2ПМ "Обработка принятого "RR” кадра" Операция 6. Производится проверка выполнения условия N(S)=V(R), где N(S) – параметр первого кадра OКПМ, который сравнивается с ожидаемым номером V(R). Если это условие выполняется, то производится переход к операции 7. На рис. 5.2 эта операция соответствует приему кадра I(0,0). В противном случае переход к операции 11. Операция 7. Перенос поля данных 1-го кадра OКПМ, т.е. пакета сетевого уровня, из OКПМ в очередь пакетов для передачи на сетевой уровень. Операция 8. Формирование параметра номера следующего ожидаемого кадра «I», т.е. V(R):=V(R)+1. Операция 9. Проверить наличие пакетов на передачу в канал, т.е. N(ОП32)≠0. Если нет пакетов, то переход к операции 10, иначе переход к ДП. Операция 10. Установить режим «Подготовка к передаче в канал кадра RR». Операция 11. Производится проверка выполнения условия N(S)>V(R), которая имеет место в случае неприема нескольких предыдущих кадров «I» по причине обнаружения ошибок в кадре. Если да, то переход к операции 12. На рис. 5.2 эта операция соответствует приему кадра I(3,0) в верхней части диаграммы. Если N(S)
«Структурные схемы программного обеспечения процедуры управления потоками сети X.25» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ
Получи помощь с рефератом от ИИ-шки
ИИ ответит за 2 минуты

Тебе могут подойти лекции

Смотреть все 81 лекция
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot