кке. Моделирование, анализ и оптимизация
Скачать 1.53 Mb.
|
Содержание отчета Отчет должен содержать: цель работы, вариант задания, схему моделирования и ее описание, расчетные таблицы, полученные графики, выводы. Контрольные вопросы 1. Приведите структурную схему цифровой системы связи. 2. Дайте определение канала связи, его основных характеристик. 3. Какие виды модуляции используются в ЦСС? 4. Виды аналоговой модуляции, основные характеристики. 5. Виды цифровой модуляции, основные характеристики 6. Виды импульсной модуляции, основные характеристики. 7. Что такое глазковая диаграмма? 8. Где применяется глазковая диаграмма? 9. Назовите основные параметры, которые позволяет исследовать глазковая диаграмма. 20 Лабораторная работа № 3 ИССЛЕДОВАНИЕ ПРОЦЕССОВ ПАКЕТНОЙ КОММУТАЦИИ С ПОМОЩЬЮ СРЕДСТВ MATLAB Цель работы – изучить средства MATLAB для исследования характеристик процессов коммутации с заданными параметрами и приобрести навыки моделирования. Теоретические сведения Сеть передачи данных – совокупность оконечных устройств (терминалов) связи, объединѐнных каналами передачи данных и коммутирующими устройствами (узлами сети), обеспечивающими обмен сообщениями между всеми оконечными устройствами. Терминал – устройство генерации и получения информации (компьютер, сервер и т. д.). Линия связи – физическая среда, по которой передаются информационные сигналы (витая пара, оптическое волокно и т. д.). Узел сети – устройство, направляющее потоки информации по маршрутам с помощью технологии коммутации (коммутатор, маршрутизатор и т. д.). Главное требование, предъявляемое к сети, заключается в выполнении основной задачи – обеспечить пользователям возможность доступа к разделяемым ресурсам всех компьютеров, объединенных в сеть. Все остальные требования – производительность, надежность, совместимость, управляемость, защищенность, расширяемость, масштабируемость – связаны с качеством выполнения этой задачи. Коммутация – технология выбора направления передачи данных в сетях с маршрутизацией данных. 21 Виды коммутации: 1. Коммутация каналов (КК, circuit switching) – организация составного канала через несколько транзитных узлов из нескольких последовательно «соединенных» каналов на время передачи сообщения (оперативная коммутация) или на более длительный срок (постоянная/долговременная коммутация — время коммутации определяется административно). Сетью с коммутацией каналов является, например, телефонная сеть. 2. Коммутация сообщений (КС, message switching) – разбиение информации на сообщения, которые передаются последовательно к ближайшему транзитному узлу, который, приняв сообщение, запоминает его и передает далее таким же образом. 3. Коммутация пакетов (КП, packet switching) – разбиение сообщения на «пакеты», которые передаются отдельно. Разница между сообщением и пакетом: размер пакета ограничен технически, сообщения – логически. При этом, если маршрут движения пакетов между узлами определен заранее, говорят о виртуальном канале (с установлением соединения). Если же для каждого пакета задача нахождения пути решается заново, говорят о датаграммном (без установления соединения) способе пакетной коммутации. По такой схеме построено подавляющее большинство компьютерных сетей, в частности IP-сети. 4. Коммутация ячеек (КЯ, cell switching) – то же, что и коммутация пакетов, но при коммутации ячеек пакеты всегда имеют фиксированный размер. Устройства сетевой коммутации пакетов: коммутатор (switch) – сетевое устройство, предназначенное для соединения нескольких узлов компьютерной сети в пределах одного сегмента. Коммутатор работает на канальном уровне модели OSI; 22 маршрутизатор (router) – сетевое устройство, на основании информации о топологии сети и определенных правил принимающее решения о пересылке пакетов сетевого уровня (уровень 3 модели OSI) между различными сегментами сети. Алгоритм работы коммутатора: 1. Принимает пакет в свой буфер. 2. Находит порт для адреса назначения пакета. 3. Передает пакет в сеть через найденный порт назначения. Механизмы обслуживания очередей в маршрутизаторах и коммутаторах: FIFO – (First In – First Out, «первым пришел – первым вышел») LIFO – (Last In – First Out, «последним пришел – первым вышел») Пакет в общем случае включает в себя: заголовок, содержащий служебную информацию и включающий в себя адреса отправителя и получателя; данные; трейлер, предназначенный для проверки целостности пакета. Характеристики производительности коммутаторов: скорость фильтрации (filtering); скорость маршрутизации (forwarding); пропускная способность (throughput); задержка передачи кадра. Задержка передачи кадра измеряется как время, прошедшее с момента прихода первого байта кадра на входной порт коммутатора до момента появления этого байта на выходном порту коммутатора. Для исследования процессов пакетной коммутации удобными являются средства библиотеки SimEvents среды MATLAB. SimEvents – это библиотека Simulink, предназначенная для исследования и моделирования систем с дискретными состояниями, 23 использующая теорию очередей и систем массового обслуживания. Позволяет создавать имитационные модели прохождения объекта через сети и очереди, обеспечивает моделирование систем, зависящих не от времени, а от дискретных состояний. Позволяет анализировать такие характеристики производительности модели, как интенсивность потока, потеря пакетов и т. п. Библиотеки готовых блоков, таких, как очереди, серверы и переключатели, позволяют изобразить систему в виде интерактивной блок-схемы. При дискретно-событийном моделировании используется понятие сущности (entity). Сущности могут перемещаться через сети очередей (queues), серверов (servers) и переключателей (switches), управляемых дискретными событиями в процессе моделирования. Примеры сущностей и систем на базе SimEvents приведены в таблице 3.1. Событие (event) – это мгновенное дискретное явление, которое изменяет переменную состояния, выход и\или является причиной появления других событий. Примерами событий в модели SimEvents являются: перемещение сущности от одного блока к другому; завершение обслуживания сущности в сервере. Для вызова окна с разделами библиотек пакета SimEvents достаточно в командной строке MATLAB выполнить команду >>simevents. При этом появится окно, показанное на рисунке 3.1. В этом окне расположены значки с основными разделами библиотеки коммуникационных устройств и примеров их применения. Активизация того или иного значка (двойным щелчком) открывает окно соответствующего раздела библиотеки. Каждый раздел содержит ряд окон с соответствующими блоками. Для вызова окна установки параметров любого из блоков достаточно выполнить на значке объекта двойной щелчок. Краткие названия блоков приводятся под значками их 24 моделей, а полное описание дается в окнах их примеров. Вызов окна библиотеки SimEvents возможен и из браузера библиотек Simulink. Таблица 3.1 – Примеры систем на базе SimEvents Применение Сущности Моделирование Процессор Инструкции, прерывания, процессы Время обработки, загрузка процессора, пропускная способность, задержки Канал связи Кадры данных, пакеты данных, компоненты протоколов Загрузка канала, перегрузка канала, потери данных, задержки Бизнес-процессы и управление Физическая информация, сообщения, люди Задержка, конфликт ресурсов, возможный выпуск Цепочки поставок и логистика Оборудование, машины, продукты Среднее время ожидания, пропускная способность и загруженность, последствия неисправности SimEvents включает в себя следующие основные библиотеки: Generators – библиотека содержит генераторы объектов, событий и сигналов. 25 SimEvents Sinks – библиотека содержит блоки, которые рассматривают и экспортируют данные. Attributes – библиотека содержит блоки, которые управляют даннями, прикрепленными к объектам. Queues – библиотека содержит блоки, которые сохраняют объекты в очереди. Servers – библиотека содержит блоки, которые вносят задержку на величину времени обслуживания. Routing – библиотека содержит блоки, которые создают маршруты объектам. Gates – библиотека содержит блоки, регулирующие доступ объектов. Entity Management – библиотека содержит блоки для объединения и разделения объектов. Signal Management – библиотека содержит блоки, которые управляют сигналами, основываясь на событиях. SimEvents Ports and Subsystems – библиотека содержит блоки, которые для контроля времени используют дискретные события подсистем. Timing – библиотека содержит блоки для вычисления и ограничения времени, которое объекты тратят на определенном участке. Event Translation – библиотека содержит блоки для преобразования типов события. Probes – библиотека содержит блоки для вывода информации о моделировании. SimEvents User-Defined Functions – библиотека содержит блоки, поддерживающие стандартные функции. 26 Применение приведенных блоков можно найти в ряде примеров, размещенных в разделе Demos справки. Там же можно найти тематический и алфавитный каталоги всех блоков пакета. Рисунок 3.1 – Окно библиотеки SimEvents Порядок выполнения 1. Ознакомиться с теоретическими сведениями. 2. Получить вариант работы у преподавателя. 3. Загрузить систему MATLAB, Simulink и открыть новое окно для создания блок-схемы моделирования. В соответствии с заданным вариантом построить модель участка телекоммуникационной сети с коммутацией пакетов. 4. Собрать и настроить блок-схему хостов источников. 4.1 Для задания хоста источника выбрать и перетащить в рабочее окно блоки Time-Based Entity Generator и Set Attribute из библиотеки SimEvents, два блока Constant из библиотеки Simulink – Sources. 4.2 Первый блок Constant назвать Length, он будет отвечать за длину сообщения, и задать значение Constant value в соответствии с вариантом. 27 4.3 Второй блок Constant назвать Destination, он будет соответствовать адресу получателя, и задать значение Constant value в соответствии с вариантом. 4.4 Блок Time-Based Entity является генератором сообщений. В этом блоке задать следующие параметры: Entity type – Standard; Response when blocked – Pause generation; Response when unblocked – Delayed restart; Generate entities with – Intergeneration time from dialog; Generation event priority – 300. Типы распределения выбрать в соответствии с вариантом из таблицы 3.2, а параметры – из таблицы 3.3. 4.5 Блок Set Attribute прикрепляет к сообщению, сгенерированному блоком Time-Based Entity, дополнительные атрибуты, в нашем случае таковыми являются значения Length и Destination. В этом блоке задать следующие параметры: Порту А1 дать имя Source в графе name и выбрать Dialog в графе Value From. Добавить порты А2 и А3, для этого в окне задания параметров Set Attribute нужно нажать на Add. Дать им имена по аналогии с приведенным выше пунктом соответственно Length и Destination и выбрать для них Signal port в графе Value From. На вкладке Statistics выбрать Number of entities departed, #d: On (позволяет подключить дисплей для просмотра количества отправленных сообщений). 4.6 Выбрать и перетащить в рабочее окно блок Display из библиотеки Simulink – Sinks. 4.7 Соединить блоки, как на рисунке 3.2. 28 Таблица 3.2 – Варианты заданий № п/п К оличе ст во хо сто в исто чн ик ов Параметры хостов источника К оличе ст во хо сто в пол учате л ей К оличе ст во ком м ута то ров Параметры коммутатора Д исц ипл ина обс л уж ива ния пак ет ов на входе Р аз м ер очер еди Д л ина соо б щ ения (Le nth ), к Б А д ре с по л учате л я (D estin atio n) Р аспре д еле ние (D ist ri bu ti on ) Д л ина соо б щ ения (Le nth ), к Б А д ре с по л учате л я (D estin atio n) Р аспре д еле ние (D ist ri bu ti on ) Д л ина соо б щ ения (Le nth ), к Б А д ре с по л учате л я (D estin atio n) Р аспре д еле ние (D ist ri bu ti on ) 1 3 10 1 Constant 20 3 Uniform 30 2 Exponential 3 1 FIFO 21 2 3 15 1 Uniform 10 2 Constant 20 1 Exponential 2 1 FIFO 22 3 3 20 2 Exponential 25 1 Uniform 10 3 Constant 3 1 LIFO 23 4 3 10 1 Constant 30 2 Exponential 15 2 Uniform 2 1 FIFO 24 5 3 25 3 Uniform 10 2 Constant 20 1 Exponential 3 1 LIFO 25 6 3 20 2 Exponential 15 1 Uniform 10 3 Constant 2 1 FIFO 26 7 3 10 1 Constant 20 3 Exponential 25 2 Uniform 3 1 FIFO 27 8 3 15 1 Uniform 10 2 Exponential 20 1 Exponential 2 1 FIFO 28 9 3 20 2 Exponential 25 1 Constant 10 3 Constant 3 1 LIFO 29 10 3 10 1 Constant 15 2 Uniform 20 2 Uniform 2 1 FIFO 30 11 3 25 3 Uniform 10 2 Exponential 20 1 Uniform 3 1 LIFO 31 12 3 20 2 Exponential 15 1 Constant 10 3 Constant 2 1 FIFO 32 13 3 10 1 Constant 13 3 Exponential 15 2 Exponential 3 1 FIFO 33 14 3 15 1 Uniform 10 2 Uniform 20 1 Uniform 2 1 FIFO 34 15 3 20 2 Exponential 25 1 Constant 10 3 Constant 3 1 LIFO 35 16 3 10 1 Constant 15 2 Exponential 20 2 Uniform 2 1 FIFO 36 Таблица 3.3 – Параметры для распределений Плотность распределения Номер варианта 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Constant (period), мс 50 100 50 100 50 100 50 100 50 100 50 100 50 100 50 100 Uniform (min max), мс 40- 60 45- 60 35- 50 40- 50 30- 50 30- 50 30- 40 30- 40 30- 50 30- 50 30- 50 30- 40 30- 40 35- 50 30- 50 30- 40 Exponential (mean), мс 30 35 40 30 35 30 35 40 40 35 30 30 40 30 35 30 29 4.8 Провести процедуры, аналогичные приведенным выше для сбора оставшихся двух хостов источников, и задать необходимые параметры в соответствии с вариантом. Рисунок 3.2 – Пример выполнения задания 5 Собрать и настроить блок-схему коммутатора. 5.1 Для задания коммутатора выбрать и перетащить в рабочее окно блоки Path Combiner, Output Switch, Infinite Server и три блока буфера в соответствии с вариантом FIFO Queue или LIFO Queue из библиотеки SimEvents. 5.2 Задать размер очереди в соответствии с вариантом. 5.3 Блок Path Combiner объединяет потоки сообщений, которые принимаются с входных портов, и передает их на выходной порт. В этом блоке задать следующие параметры: 30 Number of entity input ports – по количеству хостов источников ( количество входных портов); Input port precedence – Equiprobable (приоритет входного порта – равновероятный); Last entity arrival port, last – On (позволяет подключить индикатор сигналов для просмотра состояния коммутатора на входе). 5.4 Блок Infinite Server сохраняет принятое сообщение в течение заданного периода времени, а затем отправляет его на выходной порт. В данном случае он выступает задержкой, вносимой коммутатором. В этом блоке задать следующие параметры: Service time from – Dialog; Service time – 0. 5.5 Блок Output Switch принимает решения о выборе выходных портов для отправки сообщений. В этом блоке задать следующие параметры: Number of entity output ports – по количеству хостов получателей (количество выходных портов); Switching criterion – From attribute (критерий коммутации – по атрибуту); Attribute name – Destination (имя атрибута – получатель); Last entity departure port, last – On (позволяет подключить индикатор сигналов для просмотра сигналов на выходе коммутатора). 5.6 Выбрать и перетащить в рабочее окно два блока Signal Scope из библиотеки SimEvents, в которых задать следующие параметры: Plot type – Stem; Initial X axis upper limit – 1000; Initial Y axis lower limit – 0.8; Initial Y axis upper limit – 3.2; If Y value is beyond limit – Keep axis limits unchanged; 31 Title – Source of Packets или Destination of Packets; Y label – Index; X label – Time; Position – [69 71 696 135]. 5.7 Соединить блоки, как на рисунке 3.2. 6 Собрать и настроить блок-схему хостов получателей. 6.1 Для задания хоста получателя выбрать и перетащить в рабочее окно блоки Single Server, Entity Sink из библиотеки SimEvents. 6.2 Блок Single Server сохраняет принятое сообщение в течение заданного периода времени, а затем отправляет его на выходной порт. В этом блоке задать следующие параметры: Service time from – Attribute; Attribute name – Length. 6.3 Блок Entity Sink принимает или блокирует сообщения. В этом блоке задать следующие параметры: Number of entities arrived, #a – On (позволяет подключить дисплей для просмотра количества принятых сообщений). 6.4 Выбрать и перетащить в рабочее окно блоки Display из библиотеки Simulink – Sinks. 6.5 Соединить блоки, как на рисунке 3.2. 6.6 Провести процедуры, аналогичные приведенным выше, для сбора оставшихся хостов получателей. Исследовать влияние задержки, вносимой коммутатором, на производительность сети. 7 Установить время моделирования 1000 (для расчетов принимать это значение как 1000 миллисекунд) на панели инструментов. Выполнить моделирование с помощью клавиши Start. Результаты моделирования занести в таблицу 3.4 со значением задержки коммутатора 0 мс. 32 Скопировать полученные графики в отчет (только для задержки 0 мс), а именно: график, показывающий состояние входных портов коммутатора; график, показывающий состояние выходных портов коммутатора. 8 Провести процедуры, аналогичные п. 7, для значений задержек, вносимых коммутатором 100, 200, 300, 400 и 500 мс, и заполнить таблицу 3 .4. Для изменения значения задержки коммутатора нужно открыть блок Infinite Server и задать соответствующее значение Service time. Таблица 3.4 – Результаты работы З а д е р жк а ко мм ут а то р а , мс Количество переданных в сеть пакетов i V , перед V пак Количество полученных пакетов j V , получ V пак П, пак/с , потер V пак 1 host source 2 host source 3 host source 1 host sink 2 host sink 3 host sink 0 100 200 300 400 500 9 По полученным результатам выполнить расчет общего количества переданных в сеть пакетов, общего количества полученных из сети пакетов, производительности сети и общего количества потерянных пакетов. Для этого воспользоваться следующими формулами: Общее количество переданных в сеть пакетов i перед i V V , (3.1) где i V – количество пакетов, переданных i-м хостом источника. Общее количество полученных из сети пакетов j получ j V V , (3.2) 33 где j V – количество пакетов, полученных j-м хостом источника. Производительности сети , , , i j i j i j V S T , (3.3) где , i j V – объем переданных за время Т сообщений (в пакетах) между пунктами i и j; , i j S – вес ребра (длина, затухание и т. д.). Для нашей модели можно пренебречь значением , i j S , а с учетом, что , , i j j получ i j j V V V , формула (3.3) примет следующий вид: получ V T . (3.4) Общее количество потерянных пакетов потер перед получ V V V . (3.5) 10. По полученным результатам построить графики зависимости производительности сети и общего количества потерянных пакетов от величины задержки коммутатора ( (T),V (Т ) з потер ). Сделать выводы по результатам работы. |