XNS - eXtended Network Simulator - программный симулятор процессов управления качеством сервиса в беспроводных сетях стандарта IEEE 802.16 (WiMax)
Назначение Программная система eXtended Network Simulator (XNS) предназначена для тестирования работы алгоритмов обеспечения качества сервиса - QoS (Quality of Service) в сетях широкополосного беспроводного доступа (ШБД).
Область применения Система может применяться для тестирования модулей планировщиков QoS сети стандарта IEEE 802.16d (WiMax) в диапазоне рабочих нагрузок от 0 до 100% от максимальной пропускной способности (бит/с), предоставляемой радиоканалом. При этом физический уровень не моделируется. Обмен данными по радиоканалу заменен обменом по сети Ethernet.
Используемый алгоритм [1, 2]:
- Пользователь запускает систему, используя стартовый сценарий.
- Симулятор считывает из файла XML необходимые для работы параметры.
- Стартовый сценарий запускает на машине-сервере приемник сетевых пакетов и регистраторы трафика (серверную часть генератора IP-трафика Iperf).
- Модуль "Драйвер" системы XNS производит непрерывное чтение сетевых пакетов из виртуального сетевого интерфейса TUN/TAP и размещает пакеты в очередях данных. В случае варианта виртуального интерфейса TUN из интерфейса считываются (и могут быть записаны) сформированные по правилам протокола TCP/IP датаграммы, то есть с IP-заголовком и полем полезной нагрузки. В случае варианта TAP из виртуального интерфейса считываются ethernet-пакеты с MAC-заголовком и полем полезной нагрузки, представляющим собой IP-пакет. В настоящей версии симулятор работает только с вариантом виртуального интерфейса TUN.
- Стартовый сценарий запускает несколько экземпляров клиентской части генератора сетевого трафика Iperf, которые генерируют IP-пакеты c заданными размером и интенсивностью и записывают их в виртуальный сетевой интерфейс TUN/TAP.
- Контроллер периодически запускает модуль планировщика QoS, который на основе заказанных параметров качества, а также заданных параметров радиоканала и информации о заполненности очередей, формирует карты заполнения кадра WiMax (DL-MAP и UL-MAP (Downlink-MAP и Uplink-MAP)). Карты содержат указания о том, сколько данных и из каких очередей должно быть отправлено в данном кадре. В настоящей версии симулятор позволяет имитировать передачу данных только в направлении Downlink (от базовой станции к абонентским).
- Карты кадра передаются в модуль "Драйвер".
- Драйвер производит разбор полученных карт и на их основе формирует единый сетевой пакет, содержащий служебные сообщения, а также данные из очередей драйвера (сгенерированные генератором трафика). Полученный единый сетевой пакет является моделью сетевого кадра (фрейма) стандарта IEEE 802.16d (WiMax). В случае превышения размера в 65535 байт (максимально допустимый для датаграмм TCP/IP) фрейм может быть разделен на несколько последовательно отправляемых пакетов.
- Модель фрейма в виде сетевого пакета передается по реальному сетевому интерфейсу Ethernet на машину-сервер.
- На машине-сервере приемник сетевых пакетов осуществляет разбор модели фрейма с целью разделения служебных сообщений и пакетов данных. Выделенные пакеты данных в виде IP-датаграмм записываются в виртуальный сетевой интерфейс TUN/TAP.
- Регистраторы трафика считывают пакеты из виртуального сетевого интерфейса, и, по окончании приема пакетов, формируют журнальный файл, содержащий статистическую информацию о принятых сетевых пакетах: общее количество переданных пакетов, их суммарный размер, средняя пропускная способность, количество потерянных пакетов, количество пакетов отброшенных по тайм-ауту и т.д.
- Регистраторы трафика (серверная часть) формируют ответные сообщения, содержащие статистику принятого трафика. Ответные сообщения в виде IP-пакетов записываются в виртуальный сетевой интерфейс.
- Приемник сетевых пакетов осуществляет чтение IP-пакета со статистическими данными из виртуального интерфейса и отправляет его в по реальному сетевому интерфейсу Ethernet на машину-клиент.
- На машине-клиенте модуль "Драйвер" принимает и записывает ответные сообщения в виртуальный интерфейс.
- На основе полученных ответных сообщений со статистическими данными экземпляры клиентской части генераторов трафика формируют файлы журналов и выключаются.
- Симулятор, отработав заданное время, останавливается.
- Стартовый сценарий останавливает на машине-сервере регистраторы трафика и приемник сетевых пакетов.
Таким образом, сетевой трафик, генерируемый клиентской частью Iperf, пропускается через модуль "Драйвер" симулятора XNS, затем доставляется на машину-сервер по TCP-туннелю (поверх сегмента сети Ethernet) в виде сетевых пакетов, моделирующих на логическом уровне фрейм WiMax. На машине-сервере приемник пакетов "распаковывает" модель фрейма, извлекает сгенерированные на клиенте IP-пакеты и передает их через виртуальный интерфейс серверной части генератора трафика Iperf. Серверная часть Iperf накапливает статистику и формирует пакет, отсылаемый обратно на машину-клиент, где расположен симулятор и клиентская часть Iperf. Обратная связь не затрагивает алгоритмы обеспечения QoS.
На основе полученной статистики можно сделать вывод, насколько реализованный в планировщике QoS алгоритм справляется с нагрузкой (интенсивностью поступления сетевых пакетов). Критериями могут быть: отсутствие потерянных пакетов, соответствие минимальных и максимальных значений пропускной способности заявленным в профиле QoS значениям, а также соответствие фактических и заданных значений задержки и джиттера (колебания задержки).
Выбор виртуального сетевого интерфейса TUN/TAP продиктован основным требованием: продемонстрировать работу алгоритмов обеспечения QoS в условиях, приближенных к реальным, и измерить объективными средствами качество работы алгоритмов.
Использование виртуального сетевого интерфейса избавляет от необходимости создания сетевых драйверов (в терминах ОС Линукс) и позволяет тестировать работу алгоритмов обеспечения QoS на примере любых сетевых приложений, ориентированных на стек TCP/IP.
Литература:
1. Бойченко И.В., Бортников Е.В., Немеров А.А. Программный симулятор процессов управления качеством сервиса в беспроводных сетях стандарта IEEE 802.16 // Журнал "Доклады Томского государственного университета систем управления и радиоэлектроники" № 1 (23), часть 1, 2011 год. ISSN 1818-0442 (полнотекстовая версия http://www.tusur.ru/filearchive/reports-magazine/2011-23-1/143.pdf)
2. Boichenko I.V., Bortnikov E.V. Linux-Based Test-Bed for Testing of QoS Subsystems in Broadband Wireless Networks [Электронный документ]. - Режим доступа: http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=6... , для зарегистрированных пользователей.
Функциональные возможности Система имитирует обмен данными между базовой и абонентскими станциями и позволяет производить проверку качества работы алгоритмов QoS, реализованных в планировщике.
Пользовательский интерфейс: консольный (командная строка)
Проведены испытания системы, в ходе которых устанавливались следующие параметры:
Количество абонентских станций: до 22
Общее количество потоков данных (сервисных потоков) в системе: до 45
Типы сервисных потоков: Best Effort (BE), Unsolicited Grant Service (UGS)
Типы модуляций: BPSK, QPSK 1/2, QPSK 3/4, 16-QAM 1/2, 64-QAM 2/3, 64-QAM 3/4 .
Система выполняет следующие функции:
- Задание параметров базовой станции.
- Задание сервисных потоков и соединений массивом одного типа в статическом режиме, то есть при инициализации базовой и абонентских станций.
- Задание карты модуляций для каждой абонентской станции в статическом режиме.
- Моделирование наполнения очередей для каждого соединения (абстрагирование пользовательских данных от вышестоящего уровня) на базовой и абонентской станциях.
- Моделирование отправки данных по радиоинтерфейсу на базовую и абонентскую станции, то есть моделирование работы драйвера физического уровня без учета фрагментации пакетов.
- Формирование карт DL-MAP и UL-MAP планировщиком QoS по запросу симулятора, для каждого следующего фрейма, с учетом параметров QoS, карты модуляций и загруженности очередей.
- Ведение журнала событий отдельных сущностей базовой станции, абонентской станции и симулятора, в целом.
- Мониторинг производительности сети (пропускная способность в течение определенного времени, % использования канала)
На выходе система формирует файл отчета, отражающий пропускную способность сети при заданных параметрах нагрузки.
Информацию этого отчета можно представить в виде таблицы:
DL - направление вещания - Down Link - от базовой станции к абонентским.
Во второй строке заголовка показано количество запускаемых потоков данных. Для каждого количество потоков запускается генератор тафика с полосой, составляющей 50% 75% 100% от максимально возможной полосы при данной модуляции.
В ячейках таблицы отображаются значения полосы пропускания: заданное генератору трафика (клиент Iperf) и принятое на стороне приемника генерируемых пакетов (сервер Iperf)
Зеленым цветом выделены ситуации, когда потерянных пакетов нет, но реально выданная полоса уже отличается от заказанной, при этом статистика, регистрируемая на клиенте и сервере Iperf может отличаться.
Красным указаны ситуации, когда происходит потеря пакетов, и статистика на приложении-клиенте может вовсе отсутствовать.
Инструментальные средства создания Язык программирования: С/С++. Код компилируется компиляторами коллекции GCC (GNU Compiler Collection – Коллекция компиляторов GNU) версии 3.4.1. Модуль QoS поставляется в виде динамической библиотеки (расширение файла - .so).
Программная платформа: GNU/Linux, версия ядра 2.6.14
Виртуальный сетевой интерфейс TUN/TAP
Утилита Iperf
В качестве генераторов трафика могут использоваться и другие утилиты, но блок статистики настроен на формат Iperf
ссылки:
- http://ru.wikipedia.org/wiki/TUN/TAP
- http://www.kernel.org/pub/linux/kernel/people/marcelo/linux-2.4/Document...
- http://ru.wikipedia.org/wiki/Iperf
- http://sourceforge.net/projects/iperf/
Целевая аппаратная платформа: CPU Pentium 4 2Ггц, 1MB L2 cash, HDD 250Gb SATA, 2Gb RAM
Требуется 2 компьютера, соединенные сегментом сети Fast Ethernet или Gigabit Ethernet (Ethernet 10 Мбит/с недостаточен для типов модуляции QAM-64)
Вложение | Размер |
---|---|
table-result.jpg | 74.32 КБ |