Содержание к диссертации
Введение
Глава 1 Обзор литературных источников 15
1.1 Существующие инструменты измерения производительности СОПИ 15
1.2 Методы повышения производительности СОПИ 20
1.3 Существующие модели управления техпроцессом разработки ПО 32
1.4 Сведения о технологиях обработки и передачи информации 42
Выводы 44
Глава 2 Инструменты и методы проведения исследований 47
2.1. Инструменты и методы исследования эффективности средств повышения производительности 47
2.2. Исследования, связанные с автоматизацией процесса измерения и контроля производительности 54
2.3. Исследования, связанные с внедрением разработанных методов и инструментов в техпроцесс 54
Выводы 55
Глава 3 Разработка методики автоматизации процесса измерения производительности и сопутствующих алгоритмов и средств автоматизации 57
3.1. Формирование требований 57
3.2 Разработка архитектуры САУ ПИКП 59
3.3 Выбор средств разработки 62
3.4 Детальное проектирование программных модулей . 64
3.5 Разработка и описание алгоритмов управления процессом измерения производительности 77
3.6 Улучшение алгоритма автоматизированного измерения сетевой
производительности при помощи математического моделирования 84
3.7 Методика измерения производительности СОПИ 93
3.8 Математическое моделирование. Математическая формализация обучения 97
3.9 Документирование и тестирование САУ ПИКП 98
Выводы 102
Глава 4 Верификация степени влияния характеристик аппаратной платформы и характеристик трафика на производительность СОПИ 104
4.1 Влияние характеристик АП на производительность 104
4.2 Влияние характеристик трафика на производительность СЗИ 116
Выводы 121
Глава 5 Внедрение разработанной системы в техпроцесс разработки СОПИ . 123
5.1 Изменение техпроцесса при выпуске очередной версии СОПИ 123
5.2 Изменение техпроцесса при выпуске промежуточных версий СОПИ 127
Выводы 130
Заключение 132
Список используемой литературы 134
- Методы повышения производительности СОПИ
- Исследования, связанные с внедрением разработанных методов и инструментов в техпроцесс
- Детальное проектирование программных модулей
- Влияние характеристик трафика на производительность СЗИ
Введение к работе
Актуальность темы. Большинство достижений современного информационного, постиндустриального общества было бы немыслимо без революционных изменений, произошедших в области передачи данных во второй половине двадцатого века. Высокие скорости передачи информации, а также различные виды её обработки открывают новые возможности для высокотехнологичных производственных предприятий и создают новые рынки производств и услуг. Высокая доступность информации становится катализатором исследований во всех областях науки и техники. В то же время, в XXI веке происходит существенный рост количества информации, которую требуется передавать. Как результат, требования к производительности устройств, осуществляющих обработку и передачу информации также существенно растет. Чтобы удовлетворять данным требованиям, необходимо организовать высокоэффективный технологический процесс производства и разработки, который невозможен без применения методов автоматизации.
Данная проблема особенно актуальна в РФ, т.к. даже при наличии высокопроизводительных западных средств, использование их невозможно по соображениям безопасности. Исследованиям в области автоматизации процесса измерений производительности средств обработки информации посвящен ряд работ зарубежных специалистов, таких как Джо Метцгер, Чьен-Хунг By, Ли-Чи Ку, Каролин Марсон, Мартин Свани и другие. Все эти работы ориентированы на автоматизацию процесса измерения производительности сетевых средств и повышение точности и скорости таких измерений.
Цель и задачи диссертационной работы. Целью данной работы является снижение трудозатрат и сокращение продолжительности разработки средств обработки и передачи информации с помощью разработки методики и средств автоматизации измерения и контроля производительности.
Поставленная цель достигается благодаря решению следующих задач:
-анализ специфики и существующих инструментальных средств в области автоматизации и управления процессом измерения производительности средств передачи информации;
-разработка методики автоматизации процесса измерения производительности средств обработки и передачи информации;
-разработка структурных схем, архитектуры и интерфейсов системы автоматизации и управления процессом измерения и контроля производительности;
-разработка математической модели средства обработки и передачи информации;
-разработка, имитационное моделирование и модификация алгоритмов, используемых для автоматизированного измерения производительности;
-программная реализация, тестирование и документирование системы автоматизации и управления процессом измерения и контроля производительности;
-верификация разработанной системы на примере проведения исследования влияния различных факторов на производительность средств защиты информации в информационных сетях;
-разработка практических рекомендаций по внедрению разработанной методики и средств, анализ эффективности.
Методы исследования. Для решения поставленных задач в диссертации использовались методы теории автоматического управления, структурного анализа и проектирования (SADT), имитационного моделирования, теории вероятностей, математической статистики, теории сложности вычислений, теории алгоритмов. При реализации задачи использовались современные компьютерные технологии, средства разработки и отладки ПО.
Научная новизна диссертации состоит в создании, проведении и реализации научно-обоснованных разработок:
-
Разработана методика измерения и контроля производительности, позволяющая сократить трудозатраты и длительность разработки и производства средств обработки и передачи информации.
-
Разработаны структурные схемы системы автоматизации и управления процессом измерения и контроля производительности, позволяющие реализовать предложенную методику измерения и контроля производительности.
-
Предложена математическая модель испытуемого устройства, позволяющая оценивать эффективность алгоритмов, используемых при автоматизированном измерении производительности средств обработки и передачи информации.
-
Разработан алгоритм выбора начальных параметров и алгоритм коррекции генерируемого потока данных при автоматизированном
измерении производительности средств обработки и передачи информации, которые отличаются от существующих использованием оценочных коэффициентов пропорциональности и динамическим определением времени проведения отдельных измерений.
-
Установлена степень влияния характеристик аппаратной платформы на производительность в зависимости от характеристик передаваемых данных.
-
Методами имитационного моделирования и экспериментальных исследований, выявлена зависимость между точностью измерения и временем проведения измерения.
Практическая значимость работы заключается в следующих результатах:
-разработана математическая модель испытуемого средства
обработки и передачи информации, позволяющая оценить
эффективность различных алгоритмов и прогнозировать их параметры
(точность, продолжительность и др.). В результате имитационного
моделирования были модифицированы алгоритмы
автоматизированного измерения, что уменьшило время проведения измерений на 35 %;
-выявлены основные параметры, влияющие на
производительность средств обработки и передачи информации. Полученные результаты позволяют уменьшить стоимость аппаратной платформы средства в случае, если зараннєє известны характеристики передаваемых данных. Также были выработаны рекомендации по выбору аппаратной платформы на примере средств защиты информации. В результате повышена производительность существующих аппаратных платформ за счет более оптимального использования их ресурсов на 10% в среднем и до 30% в отдельных случаях;
-разработаны средства автоматизации и управления процессом измерения и контроля производительности обработки и передачи информации, а также разработан комплекс рекомендаций по изменению техпроцесса разработки средств обработки и передачи информации с применением разработанной методики и средств автоматизации и управления процессом измерения и контроля производительности. Применение данных средств позволяет сокращает трудоемкость процедуры измерения производительности от 65 % до 77 % на разных стадиях производственного процесса.
Достоверность полученных результатов подтверждается данными имитационного моделирования и экспериментальных исследований, а также успешным применением разработанных методов при создании системы автоматизации и управления процессом измерения и контроля производительности обработки и передачи информации.
Личный вклад автора. Все основные результаты получены автором лично
Внедрение результатов,
Работа выполнена при поддержке Минобрнауки России, Соглашение номер 14.575.21.0096, уникальный идентификатор соглашения RFMEF157514X0096. Результаты исследований, полученные в диссертационной работе внедрены в техпроцесс разработки и производства средств защиты информации на предприятии ООО «С-Терра СиЭсПи» и были использованы при разработке и производстве следующих продуктов:
;
С-Терра Шлюз Безопасности 4.1;
С-Терра Шлюз Безопасности 4.2.
Отдельные результаты диссертационной работы внедрены в учебный процесс МИЭТ в рамках дисциплин «Вычислительные машины, системы и сети» и «Передача данных в информационно-управляющих системах».
На защиту выносятся следующие положения:
-
Методика измерения и контроля производительности средств обработки и передачи информации на этапе их разработки и производства.
-
Математическая модель испытуемого устройства и результаты проведения имитационного моделирования.
-
Структурные схемы системы автоматизации и управления процессом измерения и контроля производительности средств обработки и передачи информации.
-
Алгоритм выбора начальных параметров и алгоритм коррекции генерируемого потока данных при автоматизированном измерении производительности средств обработки и передачи информации.
-
Верификация степени влияния характеристик аппаратной платформы и характеристик- трафика на производительность средств
обработки и передачи информации на примере средств защиты информации в информационных сетях.
Апробация работы. Основные положения диссертационной работы докладывались и обсуждались на следующих конференциях:
-Микроэлектроника и информатика - 2013, 20-я Всероссийская межвузовская научно-техническая конференция студентов и аспирантов (Москва, 2013);
-Обеспечение комплексной безопасности предприятия: проблемы и решения, II международная научно-практическая конференция (Рязань, 2013);
-Микроэлектроника и информатика - 2014, 21-я Всероссийская межвузовская научно-техническая конференция студентов и аспирантов (Москва, 2014);
-Обеспечение комплексной безопасности предприятия: проблемы и решения, III международная научно-практическая конференция (Рязань, 2014);
-Микроэлектроника и информатика - 2015, 22-я Всероссийская межвузовская научно-техническая конференция студентов и аспирантов (Москва, 2015).
Публикации но работе
Основные положения диссертационной работы опубликованы в 12 печатных работах, в том числе 4 работы в журналах, входящих в список, утвержденный ВАК. Без соавторов опубликовано 11 работ. Получено два авторских свидетельства о государственной регистрации программы для ЭВМ.
Структура и объем работы. Диссертационная работа состоит из введения, 5 глав, заключения, списка литературы из 73 наименований, 5 приложений и 4 актов использования результатов диссертационной работы. Работа содержит 138 страниц основного текста, 41 рисунок и 26 таблиц.
Методы повышения производительности СОПИ
Криптостойкость алгоритма считается высокой, т.к. в течение значительного времени после публикации его в открытых источниках не было найдено каких-либо атак, приближающихся к практически осуществимым [4]. Алгоритм рассматривается как криптостойкий не только российскими, но и известными зарубежными экспертами, такими как Брюс Шнайер [5].
Что касается различных вариантов реализации ГОСТ 28147-89, то их существует достаточно много. Из-за своей относительной простоты и хорошей документированности – реализация простейших, базовых функций алгоритма используется как задание для самостоятельных работ студентов, обучающихся по соответствующим профильным дисциплинам. Однако, такие реализации конечно не являются оптимальными и без дополнительной адаптации не используются в существующих решениях. Из промышленных решений можно выделить следующие реализации ГОСТ 28147-89 следующих компаний: 1. Крипто Про 2. Сигнал Ком 3. С-Терра Помимо программных решений, существуют и аппаратные реализации ГОСТ 28147-89. Например, высокоскоростной комплекс защиты каналов «Сапфир-1000» компании КриптоЭкс[8], производительность которого доходит до 1 Гбит/с. Это является хорошим результатом, однако также недостаточным для защиты каналов связи 10, 40 и более Гбит/с. Из недостатков аппаратных решений следует также упомянуть низкую гибкость. При необходимости доработок, увеличения функциональности или смены используемых протоколов возникает существенно больше трудозатрат, чем в случае программного решения.
Производительность ГОСТ 28147-89 относительно невысока за счет большого количества битовых операций. Тем не менее, в рамках данной работы не будут рассмотрены альтернативные алгоритмы, т.к. именно данный стандарт утвержден для законной работы в РФ.
Ожидается, что система автоматизации, которая будет разработана в данной работе, будет применима, как в случае принятия нового стандарта шифрования, так и при улучшении существующих реализаций ГОСТ 28147-89.
Аппаратная платформа (АП) для СЗИ в ИС может быть как общего назначения, так и специализированной. Преимущества и недостатки каждой из них указаны в таблице (Таблица 1.3). Таблица 1.3 Сравнение АП общего назначения и специализированных АП Преимущества Недостатки АП общего назначения Простое обновлениекомпонентов,универсальность Неоптимальноеиспользование ресурсов при решении специализированной задачи
Специализированные АП Оптимизация под конкретную задачу, высокая эффективность Сложное обновление, проблемы с совместимостью с другими решениями и компонентами Следует отметить, что в СЗИ основная нагрузка ложится на следующие компоненты АП: центральный процессор, сетевая карта, шина, соединяющая центральный процессор, сетевую карту и оперативную память. Остальные аппаратные компоненты нагружены значительно меньше.
Следует отметить, что большинство современных центральных процессоров общего назначения поддерживают аппаратную реализацию зарубежных алгоритмов шифрования, но не имеют специализированных инструкций для ГОСТ 28147-89. Тем не менее, некоторые инструкции общего назначения [11] бывают полезны и при реализации российского криптографического алгоритма. В большинстве случаев (кроме полностью аппаратной реализации СЗИ, что является редкостью), СЗИ в ИС работает под управлением операционной системы. Используемые ОС для целей данной работы можно разделить на три группы: 1. Операционные системы семейства Windows 2. Операционные системы семейства Unix 3. Специализированные операционные системы. Характерные примеры первой группы – это ОС Windows 8, Windows Server 2012 и другие. Несмотря на то, что данные ОС позволяют самостоятельно [9] или с помощью стороннего ПО [10] работать в режиме сетевого устройства и в частности СЗИ, тем не менее, обычно высокопроизводительные решения на базе этих ОС не строятся. Связано это, в частности, с тем, что исходных кодов этих ОС нет в открытом доступе. Как следствие – нет возможности провести полноценную глубокую системную оптимизацию. Кроме того, данные ОС изначально для конечных, а не промежуточных сетевых устройств, поэтому в режиме транзитной маршрутизации трафика их производительность относительно мала. Вторая группа очень обширна и включает в себя множество ОС, в частности таких известных, как Solaris, FreeBSD, Ubuntu, RHEL, Debian. Исходные коды этих ОС открыты, что позволяет модифицировать их и оптимизировать их работу. Также, это положительно влияет на безопасность таких ОС, т.к. они подвергаются непрерывному обширному экспертному аудиту. Кроме того, для данных ОС существует множество уже готовых программных продуктов, расширяющих их функциональность. ОС этой группы являются ОС общего назначения, хотя существуют отдельные специализированные модификации [70, 71, 72]. К третьей группе относятся специализированные ОС, часто выполняющие узкий, специфичный набор функций. Такие ОС часто бывают основаны на базе ОС второй группы. Характерным примером такой ОС является Cisco IOS – операционная система для маршрутизаторов и коммутаторов Cisco[12, 61]. Необходимо отметить, что ОС данной группы часто имеют закрытые исходные коды и развиваются силами одной коммерческой компании, поэтому интеграция собственных продуктов в них, а также их модификации сложны, а зачастую – вообще невозможны.
Большинство современных СОПИ на сегодняшний день построены на базе ОС, относящихся ко второй и третьей группе. При этом, обычно, продукт изначально создается на базе ОС второй группы и в дальнейшем, по мере развития и процесса модификации, ОС постепенно переходят в третью группу. Современные ОС используют высокоэффективные планировщики задач, которые позволяют разделять процессорное время и другие аппаратные ресурсы между различными процессами в соответствии с их приоритетами [13]. Следует, однако, заметить, что программы, реализующие сетевую защиту информации, зачастую выступают не как прикладные, а как системные программы, перехватывая сетевые пакеты прямо из стека и возвращая их после анализа или преобразования обратно. Подобные действия требуют дополнительных усилий от разработчиков ПО для того, чтобы не создать узкое место в системе. Задача значительно усложняется, когда АП является многопроцессорной и несколько взаимозависимых задач выполняются параллельно на разных процессорных ядрах. Далее в работе эта проблема будет рассмотрена подробнее.
Исследования, связанные с внедрением разработанных методов и инструментов в техпроцесс
TCP-тесты являются более простыми, т.к. в сам протокол TCP уже заложен механизм автоматического управления количеством посылаемых данных. В качестве результата испытаний, для TCP-тестов выступает производительность СЗИ в Мбит/c.
В случае с UDP-тестами, скорость передачи данных приходится подбирать через серию тестов. В протоколе UDP отсутствуют механизмы обеспечения надежной доставки сетевых пакетов и сборки их в правильном порядке, поэтому для UDP-тестов измеряется также процент потерянных и переупорядоченных пакетов. Кроме того, в некоторых тестах измеряется количество пакетов в единицу времени. Если показатели потерянных и переупорядоченных пакетов оказываются выше допустимых ( 0,5%)1, то тест необходимо повторить, уменьшив скорость передачи данных. Подробнее алгоритм измерения производительности на UDP протоколе разработан и описан в главе 3. UDP-тесты следует проводить для разных длин пакетов, т.к. от этого параметра будет сильно зависеть результат измерений. Обычно можно ограничится размерами пакетов в 64, 512 и 1400 байт, однако для некоторых, более детальных испытаний будут выбираться и другие длины пакетов.
UDP-тесты, описанные выше, являются в своем роде синтетическими, т.к. они генерируют постоянный поток сетевых пакетов фиксированной длины. В реальных сетях передачи данных такого не происходит. Поэтому в программу испытаний обычно вводится еще один тест, который моделирует передачу
Выбор цифры обусловлен тем, что современные системы передачи мультимедийного трафика могут корректно и прозрачно для конечного пользователя обрабатывать поток данных в котором процент потерянных пакетов составляет 0,5%. данных в реальных сетях более точно. Для этого используется модель IMIX (известна также под названиями «Internet Mix» и «Смешанный трафик»)[6]. Такая модель неплохо моделирует среднестатистический трафик на магистральных каналах больших сетей. Модель предполагает генерацию сетевых пакетов различной длины. Пакеты отправляются в произвольном порядке, но отношение количества пакетов каждой длины к общему количеству пакетов остается неизменным. Таблица, определяющая, какое количество пакетов определенной длины должно быть использовано, называется профилем смешанного трафика. Есть несколько моделей IMIX, различающихся своей детализацией. В данной работе, если не оговорено иное, используется модель «simple imix», которая представляет собой смешанный трафик в следующих пропорциях (Таблица 2.4).
При первичном исследовании следует проводить серию экспериментов, с изменением в каждом последующем эксперименте одного из параметров, которые могут повлиять на производительность. Анализ полученных данных может помочь выделить в терминах достаточно больших блоков – наиболее проблемные места. В качестве примера – можно привести тесты с различной длиной пакетов. Если, например, при любой длине пакета мы получаем разную в терминах Мбит/c производительность, но для всех этих экспериментов – получается одинаковое количество пакетов в секунду (pps), то это говорит о том, что с высокой долей вероятности проблемы есть в сетевой подсистеме устройства. Аналогично, если количество пакетов в секунду при любой длине пакета разнится, а производительность в Мбит/с – одинакова, то вероятные проблемы находятся в вычислительной подсистеме, ответственной за шифрование (аппаратно, ей соответствуют в первую очередь центральный процессор и, с некоторыми оговорками, оперативная память).
Когда местонахождение проблемного места становится приблизительно понятным, следует применять более тонкий инструментарий. Чаще всего на практике применяется такой процесс, как профилирование. Он представляет собой сбор и анализ параметров в процессе работы программы. В дальнейшем собранные и проанализированные данные позволяют изменить программу так, чтобы сделать её более эффективной. В качестве собираемых данных выступает время выполнения отдельных функций, параметры загрузки процессора и оперативной памяти, информация об обращении к периферийному оборудованию (например, сетевым картам) и ряд других данных.
Простейшим видом профилирования является ручное профилирование. В случае его использования, датчики, записывающие данные устанавливаются непосредственно в исходный код программы вручную, и сбор данных от них происходит также вручную. Понятно, что такой подход может быть использован только в небольших программах.
Для больших программных продуктов, коим является СОПИ, обычно применяется специальные инструменты: статистические профайлеры и событийные профайлеры[56]. 2.2. Исследования, связанные с автоматизацией процесса измерения и контроля производительности Данные исследования являются ключевыми в рамках данной работы и будут рассмотрены во всех деталях далее. Следует, однако, сразу же отметить, что проведение измерений, описанных в прошлом параграфе, представляется достаточно трудоемкой задачей. Из опыта, можно сказать, что ручное проведение полного комплекса измерений занимает от 3-4 часов (типовое измерение без подбора параметров) до нескольких недель (измерение с поиском оптимальных параметров). При этом большую часть работы составляют однотипные повторяющиеся операции. Это позволяет автоматизировать процедуру измерения и контроля производительности СОПИ. Разработка системы автоматизации измерения производительности будет детально рассмотрена в главе 3.
Основными инструментами в данном исследовании являются выбранное в главе 1 ПО iperf, а также язык программирования python, подробное обоснование выбора которого приведено в главе 3.
Математическое моделирование техпроцессов разработки ПО в общем виде является достаточно сложной задачей. Связано это с тем, что модель имеет множество различных параметров, которые зависят от данного типа производствами, его специфики и применяемых технологий. Общей модели, которая позволила бы проводить исследования для всех техпроцессов разработки ПО не существует[38].
Детальное проектирование программных модулей
Исходя из вышеописанных требований и разработанной архитектуры, можно понять, какими свойствами должно обладать средство разработки.
Во-первых, данное средство должно уметь работать в ОС Windows и Linux и взаимодействовать с другими устройствами с данными ОС.
Во-вторых, данное средство должно позволять работать со следующими протоколами: SSH, SCP, FTP, HTTP. В третьих, данное средство должно иметь инструменты для преобразования данных в удобное для человека представление (например, таблицы и графики).
В четвертых, средство должно позволять легко добавлять новые инструменты измерения и способы тестирования без изменения всего логического ядра. Это позволит сделать систему универсальной и масштабируемой.
Исходя из вышеописанных соображений, главным кандидатом на использование становится язык программирования Python[44]. Рассмотрим далее, каким образом данное средство может выполнить вышеописанные требования. Согласно официальной документации на данный язык программирования, он является кроссплатформенным и способен работать как на ПК с ОС Windows, так и на ПК c ОС Linux[45].
Язык программирования Python поддерживает работу с протоколами SSH, SCP. Для этого есть несколько вариантов модулей: os[46], paramiko[47], scp[48]. Каждый из них предоставляет необходимую функциональность.
Для работы с протоколом FTP в языке Python существует модуль ftplib[49]. Он позволяет достаточно просто осуществлять обмен файлами по протоколу FTP.
Для работы с протоколом HTTP в языке Python в качестве клиента существуют модули httplib[50] и urllib[51]. Для серверной части может использоваться web-сервер Apache[52].
Наиболее подходящим кандидатом для формата выходных данных является электронные таблицы Excel. В языке Python есть набор модулей, которые позволяют работать с данным форматом: xlrd – позволяет читать данные с файлов Excel[53], xlwt – позволяет создавать и записывать в файлы Excel[54], xlutils – представляет собой набор утилит для расширения возможности предыдущих двух библиотек[55]. Язык Python может выступать в роли объектно-ориентированного языка, а также погружать сторонние модули, что позволяет разработать хорошо масштабируемую программу с подключаемыми внешними тестами, которые могут в дальнейшем меняться и модернизироваться без изменения основной части программы.
На основе разработанной архитектуры, которая по своей сути представляет собой проект верхнего уровня, можно составить проект нижнего уровня (детализированный проект). В разрабатываемой системе потребуются следующие программные модули, выполняющиеся на сервере управления: 1. Модуль интерпретации и представления данных 2. Модуль для удаленного выполнения команд на нагрузочных и исследуемых устройствах. 3. Модуль для сбора данных с нагрузочных и исследуемых устройств 4. Модуль для связи с рабочим местом оператора 5. Модуль для связи с внешним хранилищем данных 6. Центральный логический модуль А также, потребуется программный модуль, выполняющийся на рабочем месте оператора. Рассмотрим подробнее каждый из вышеуказанных программных модулей. 3.4.2. Модуль интерпретации и представления данных Данный модуль предназначен для интерпретации и представления в различных формах данных, получаемых от нагрузочных и исследуемых устройств. В качестве входных данных модуль получает следующие данные: - информацию о текущем проводимом тесте; - вывод результата работы утилит iperf, netperf, nuttcp в необработанном виде с нагрузочных устройств; - вывод результатов работы утилит vmstat, klogview, sa_mgr, в необработанном виде с испытуемых устройств; - результаты выполнения команды cat /proc/cpuinfo, ip address show, ip route show, в необработанном виде с испытуемых устройств
В качестве выходных данных, модуль формирует таблицу в формате xls, в которой отражаются результаты всех проведенных измерений, параметры измерений, диагностическая информация и параметры аппаратной платформы.
Архитектурно модуль представляет собой набор функций разбора текста, каждая из которых получает в качестве входных данных вывод одной из вышеперечисленных команд и разбирает их в соответствие с их синтаксисом. Все полученные данные заносятся в объект специально созданного класса. После того, как объект класса заполняется, функция вывода данных в табличную форму создает xls-файл. Общую схему работы данного модуля можно увидеть на рисунке (Рисунок 3.2).
Влияние характеристик трафика на производительность СЗИ
Данный вид документации предназначен для корректной и эффективной работы оператора с САУ ПИКП. Документация должна содержать всю необходимую информацию для настройки и запуска всех поддерживаемых системой измерений и испытаний, а также по работе с интерфейсом на рабочем месте оператора.
Перед тем, как приступить к эксплуатации САУ ПИКП в промышленных условиях, следует убедиться в её работоспособности и корректности получаемых результатов.
Процедура тестирования должна показать, как корректность работы отдельных модулей, так и всей системы в целом. Для этого необходимо разработать список проводимых тестовых испытаний. Их успешное прохождение будет с высокой и достаточной долей вероятности указывать на то, что САУ ПИКП функционирует правильно.
Для начала будет разработан и проведен список тестовых испытаний для каждого отдельного модуля, а затем – разработаны и проведены тестовые испытания взаимодействия модулей и всей системы в целом.
В ходе тестирования достаточно часто придется проверять корректность работы отдельных функций. Для проверки многих функций возможно будет сформировать пары «входные данные – ожидаемые выходные данные» и сравнивать полученные выходные данные с ожидаемыми. Понятно, что данную процедуру не сложно автоматизировать. Для этого следует написать ПО, которое будет вызывать заданные функции, передавать им входные параметры из заранее предопределенного списка и сравнивать выходные данные с ожидаемыми. Такое ПО было написано, также на языке Python. ПО представляет собой функцию, которая в качестве входных данных получает проверяемую функцию и файл-таблицу с парами «входные данные – ожидаемые выходные данные». Далее данное ПО запускает испытуемую функцию со всеми входными данными и в случае, если выходные данные не соответствуют ожидаемым – записывает информацию об этом в файл ошибок.
Отмечу, что данное ПО не закрывает полностью всю потребность в тестировании (часть функциональности придется тестировать другими способами, в том числе вручную). Кроме того, исходные пары «входные данные – ожидаемые выходные данные», также, очевидно, придется составлять вручную. Тем не менее эффект от такой автоматизации процесса тестирования существенный: единожды выполнив данную работу можно пользоваться её результатами при модернизации САУ ПИКП.
В следующем пункте будет рассмотрен процесс автоматизированного тестирования на примере одного модуля. Автоматизирование тестирование других модулей происходит аналогично.
Как было сказано выше, данный модуль предназначен для интерпретации и представления в различных формах данных, получаемых от нагрузочных и исследуемых устройств.
В качестве входных данных модуль получает вывод результата работы различных команд и утилит в необработанном виде.
В качестве выходных данных, модуль формирует таблицу в формате xls, в которой отражаются результаты всех проведенных измерений, параметры измерений, диагностическая информация и параметры аппаратной платформы.
Для проведения тестирования модуля необходимо протестировать корректность работы каждой его функции и корректность взаимосвязи данных функций. Для проверки работы отдельных функций воспользуемся ПО, разработанным в рамках 3.7.2.1. Далее представлен пример составленных пар «входные данные – ожидаемые выходные данные» для функции разбора вывода утилиты iperf (функция parseIperfOutput(output)). Данные пары представлены в форме таблицы (Таблица 3.3).