Тестирование производительности
Одно лишь тестирование на соответствие не может гарантировать корректность реализации протокола полностью, так как не предполагает проведение тестирования под нагрузкой и проверку поведения системы при неопределенных значениях параметров спецификации, оставленных для возможного применения в будущем.
При тестировании производительности измеряются те параметры, ко- торые зависят от поступающей на систему нагрузки, и производится их сравнение с допустимыми значениями (например, измерение интенсив- ности потерь вызовов). Этот вид тестирования сводится к измерению пара- метров качества обслуживания (QoS) или производительности сети (NP, Network Performance) при известных значениях параметров поступающей нагрузки.
Тестирование производительности производится с использованием эталонной системы (что не всегда возможно и дорого) или с использовани- ем системы тестирования, имитирующей эталонную систему. Для имита- ции эталонной системы, с которой должно стыковаться тестируемое оборудование, используются симуляторы протоколов и генераторы вы- зовов. При использовании реальной системы в качестве эталонной приме- няются анализаторы протоколов, осуществляющие мониторинг интерфей- са, который соединяет тестируемую систему с эталонной.
Для измерения значений параметров QoS и NP используются генера- торы вызовов (сигнального трафика), создающие нагрузку определенного вида на тестируемую систему посредством генерации последовательностей сообщений определенного протокола и измеряющие значения интенсивно- сти потерь вызовов, интенсивности появления ошибок протокола, интерва- лы времени между передачей и приемом сообщений (таймеры) и т. п.
Тестирование совместимости
Тестирование возможности совместной работы является следующим логическим этапом после выполнения проверок согласованности и произ- водительности.
Спецификация протокола нередко содержит области неоднозначного понимания, подверженные различной интерпретации разработчиками и, следовательно, различной реализации. Такими областями спецификации яв- ляются опциональные процедуры и параметры, разные значения параметров и величины таймеров. Неоднозначность спецификации приводит к тому, что реализации протоколов от разных производителей оборудования не работа- ют совместно, даже если каждая реализация успешно прошла предваритель- ное тестирование на соответствие.
Тестирование совместного функционирования является ключевым ас- пектом для сетевых операторов, эксплуатирующих оборудование разных производителей. Очевидно, что сетевые элементы одного производителя должны корректно работать с сетевыми элементами другого производите- ля. Проверка этой возможности может проводиться в лабораторных усло- виях или непосредственно в сети оператора.
На этапе тестирования совместного функционирования проверяется, в какой степени и при каких условиях разные реализации одного и того же протокола могут совместно работать, производя ожидаемый результат. Те-
сты этого вида могут применяться как ко всем протоколам стека, использу- емого на интерфейсе, так и к какому-либо одному выбранному протоколу.
Тестирование взаимодействия
Тестирование взаимодействия разных протоколов и систем сигнализа- ции приобретает важное значение для современных телекоммуникацион- ных сетей. Тестирование взаимодействия охватывает весь процесс обслужи- вания вызова и предоставления дополнительных услуг. Иными словами тестирование взаимодействия является итоговым тестированием, обеспечи- вающим проверку функционирования системы в целом.
Цель тестов взаимодействия показать, что функциональность из конца в конец между двумя связанными системами отвечает требованием стан- дартов, на которых эти системы основаны.
Как показывает практика, проведение тестов взаимодействия суще- ственно увеличивает вероятность того, что в одной сети будет успешно взаимодействовать оборудование, выпущенное разными производителями.
Регрессионное тестирование
Редко бывает, чтобы только одна версия программного обеспечения узла коммутации работала в течение его жизненного цикла. Последующие программные версии, как правило, включают зафиксированные и исправ- ленные ошибки программирования, усовершенствования, новые функции, дополнительные услуги и т. д.
Регрессивное тестирование является методикой, обеспечивающей по мере развития и замены версий программного обеспечения надлежа- щее мигрирование ранее оттестированных протокольных реализации IUT.
Приемосдаточные испытания
Приемосдаточные испытания объединяют серию стандартных те- стов, определяемых программой и методиками приемосдаточных испыта- ний. Обычно эти тесты выполняются на сети Оператора после того, как телекоммуникационное оборудование установлено, смонтировано и запу- щено. Приемосдаточные испытания могут включать регрессивное тести- рование каждый раз, когда устанавливается новая версия программного обеспечения с новыми функциями или градациями емкостей.
Мониторинг
Мониторинг телекоммуникационных протоколов является не только по- следней фазой тестирования протоколов, но и самой длительной и, пожа- луй, самой важной.
Мониторинг интерфейса между находящимися в эксплуатации сете- выми элементами обеспечивает:
● выявление ошибок при взаимодействии протоколов, не обнаружен- ных на других этапах тестирования;
● обнаружение несанкционированного доступа к ресурсам со стороны отдельных абонентов;
● сбор информации о вызовах (CDR) и транзакциях (TDR);
● трассировку вызовов;
● обнаружение зацикливания сообщений;
● контроль источников и маршрутов прохождения трафика.
Системы мониторинга и анализа сигнализации декодируют принимае- мые от многочисленных каналов сети сигнализации сообщения и сигналы, проверяют их на предмет соответствия заданной спецификации, выделяют (как правило, красным цветом) сообщения или их отдельные параметры, не соответствующие спецификации, точно таким же образом они отображают перегрузки, аварийные ситуации и многое другое.
1. Анализаторы протоколов
На каждом из этапов, через которые проходит любой компонент сети связи, начиная от разработки и кончая эксплуатацией в условиях реальной нагрузки, используются специальные методы тестирования и анализа каче- ства функционирования, которые реализуются специализированными про- граммно-аппаратными средствами, представляющими собой отдельные приборы (протокол-тестеры или анализаторы) и целые системы распреде- ленного наблюдения.
Эволюционные изменения сетей связи нашли отражение в развитии ана- лизаторов протоколов. От простых устройств мониторинга протоколов пере- дачи данных на скоростях 1200–2400 бит/с они эволюционировали до слож- нейших интеллектуальных приборов с разнообразными функциональными возможностями и гибкой настройкой.
В процессе конвергенции сетей связи к анализаторам протоколов предъявляются все новые требования, а область их применения постоянно расширяется. Этому соответствует целый ряд предпосылок:
● концепция NGN породила целый ряд новых типов телекоммуника- ционных узлов и систем, взаимодействующих друг с другом в сети и, сле- довательно, требующих тщательного анализа их совместной работы, наблюдения, проверки и тестирования;
● концепция NGN не отдает предпочтение какой-то одной сетевой структуре с использованием единственного протокольного стека для всего разнообразия инфокоммуникационных услуг, в связи с чем всегда суще- ствует необходимость обеспечения взаимодействия программно- аппаратных компонентов различных производителей, поддерживающих протоколы и интерфейсы разных стандартов;
● концепция NGN подразумевает обеспечение параметров качества обслуживания QoS и показателей надежности, как минимум, на уровне су- ществующих сетей фиксированной (ТфОП) и мобильной (СПС) телефон- ной связи, для чего также необходимы средства тестирования и контроля выполнения требований по корректному и бесперебойному функциониро- ванию NGN.
На сегодняшний день на рынке телекоммуникационного оборудования представлен довольно большой выбор анализаторов протоколов, применя- емых для тестирования VoIP протоколов. Они отличаются друг от друга по конструктивному исполнению, реализованным функциям и возможностям, набору поддерживаемых протоколов.
Существуют следующие функции анализаторов протоколов:
● функции мониторинга;
● функции декодирования и анализа сообщений тестируемого прото- кола, выловленных из сети;
● функции генерации большого потока вызовов;
● функции симуляции оборудования, поддерживающего тестируемый протокол;
● возможность создания тестовых сценариев;
● возможность создания ошибочных ситуаций.
Анализатор протокола может обладать одной или несколькими из вы- шеперечисленных функций.
1. АНАЛИЗАТОР СЕТЕВЫХ ПРОТОКОЛОВ WIRESHARK
2. Назначение Wireshark
Wireshark – это программа-анализатор сетевых протоколов, имеющая пользовательский графический интерфейс, задача которой состоит в мониторинге сетевого трафика в реальном времени, детальном отображении принятых и отправленных пакетов данных, а также сохранении собранных данных для последующего анализа. В Wireshark реализована мощная система поиска и фильтрации пакетов по множеству критериев.
Первые разработки программы-анализатора сетевых протоколов по- явились в 1998 г. Изначально проект имел название Ethereal, но в 2006 г. он был переименован в Wireshark.
Программа распространяется под свободной лицензией GNU GPL. Су- ществуют версии для большинства типов операционных систем UNIX, в том числе GNU/Linux, Solaris, FreeBSD, NetBSD, OpenBSD, Mac OS X, а также для Windows.
Wireshark осуществляет мониторинг огромного числа сетевых прото- колов: IP, TCP, UDP, FTP, TFTP, DNS, HTTP, HTTPS, ICMP, SSH, NTP, NFS, SIP, RTP, RTCP, MEGACO (H.248), MGCP, стека протоколов H.323,
SIGTRAN и т. д. и поддерживает такие технологии физического и каналь- ного уровней, как Ethernet, Token Ring и FDDI, ATM.
Wireshark используется:
● для выявления и решения проблем в сети;
● для отладки сетевых протоколов;
● для изучения сетевых протоколов.
1. Запуск Wireshark
Для запуска WireShark необходимо дважды нажать левую клавишу мыши на соответствующем ярлыке, расположенном на Рабочем столе ПК рабочего места исследовательского полигона «СОТСБИ-У».
На полигоне «СОТСБИ-У» предусмотрен запуск Wireshark в двух ре- жимах:
● запуск программы непосредственно на рабочем месте (ярлык Wireshark). В данном режиме Wireshark захватывает все IP-пакеты, прини- маемые и отправляемые сетевым интерфейсом ПК рабочего места;
● удаленный запуск программы на сервере (ярлык Wireshark на сер- вере). В данном режиме Wireshark захватывает все IP-пакеты, принимаемые и отправляемые сетевыми интерфейсами виртуальных серверов полигона.
1. Пользовательский интерфейс Wireshark
После запуска программы появляется Главное окно.
Процесс мониторинга пакетов начнется после того, как с помощью меню Capture будет выбран сетевой интерфейс и нажата кнопка Start.
Рис. 2.1. Главное окно Wireshark в режиме мониторинга пакетов
Рассмотрим вид Главного окна программы Wireshark в режиме мони- торинга пакетов (рис. 2.1):
● строка меню, содержит команды основного меню;
● панель инструментов, предоставляющая удобное средство для быст- рого выполнения команд и процедур;
● панель Filter (фильтр) используется для задания критерия фильтра- ции пакетов, например по типу протокола;
● окно отслеживаемых пакетов, отображающее все отслеживаемые пакеты в формате списка – каждая строка списка соответствует одному пакету. При нажатии на соответствующую строку данного окна можно управлять данными, отображаемыми в нижних окнах: окне детального представления пакета и окне побайтового отображения пакета. В окне отслеживаемых пакетов доступна такая информация, как: номер пакета (столбец №), относительное время получения пакета (столбец Time, от- счет производится от первого пакета; параметры отображения времени можно изменить в настройках), IP-адрес отправителя (столбец Source),
IP-адрес получателя (столбец Destination), протокол, по которому пересы- лается пакет (столбец Protocol), а также дополнительная информация о нем (столбец Info). Для наглядности пакеты разных протоколов подсвечены разными цветами, что значительно упрощает анализ;
● окно детального представления пакета. Окно содержит детальную информацию о пакете, который был выбран в окне отслеживаемых пакетов. Данное окно отображает информацию о пакете (адреса и протоколы ниж- них уровней) и поля пакета в виде многоуровневой структуры, характерной для конкретного протокола, которую можно при необходимости свернуть или развернуть;
● окно побайтового отображения пакета. Окно отображает пакет, вы- бранный в окне отслеживаемых пакетов в виде HEX кода, т. е. побайтово;
● панель Статус содержит информационное сообщение: слева отобра- жается детальная информация о текущем состоянии программы, а справа номер текущего отслеживаемого пакета.
Конфигурация интерфейса может быть легко изменена в меню View. Например, можно убрать окно побайтового отображения пакета (View -> Packet Bytes), так как в большинстве случаев (кроме анализа данных в па- кете) оно не нужно и только дублирует информацию из окна детального представления пакета.
1. Мониторинг пакетов сетевого трафика сигнальных протоколов