Міжнародная канферэнцыя распрацоўнікаў і карыстальнікаў свабодных праграм

Визуализация результатов имитационного моделирования сети NS-3 через web-интерфейс

Алексей Городилов, Москва, г. Зеленоград, Russia; Александра Кононова, Москва, г. Зеленоград, Russia

LVEE Winter 2013

NS-3 simulation tool uses CLI interface and comes with Qt-based visualisation tool — NetAnim. But NetAnim can not be used remotely, and ns-3 itself requires command-line access via ssh, that often can not be obtained from corporate network behind proxy servers and firewalls. With tools, provided by standart php package and unix like operating system, it is possible to make web interface to ns-3 simulation environment and to make results available in image and text forms. Security challenges of this system are also discussed.

В настоящее время для имитационного моделирования (симуляции) работы сетей широко используется симулятор ns-3.
Результаты моделирования симулятор ns-3 представляет в виде текстовых и xml файлов. Для визуализации результатов в комплекте с ns-3 поставляется инструмент NetAnim. NetAnim еще не достиг уровня функциональности аналогичного инструмента nam (network animator) из ns-2. Кроме того, для просмотра результатов визуализации NetAnim требует локальной установки всего симулятора ns-3, а также библиотеки Qt. Так как иметь с собой компьютер с установленным ns-3 не всегда возможно, а его установка занимает длительное время, возникла необходимость в разработке web-интерфейса, который позволил бы получить результаты симуляции в ns-3 в виде, удобном для дальнейшего анализа.

В первую очередь, разрабатываемый интерфейс рассчитан на получение статических изображений и сводных текстовых данных, которые можно использовать в отчетах и публикациях. Использование web-интерфейса вместо локального инструмента часто не только удобно, но и необходимо. Например, доступ в интернет во многих организациях в России, в том числе и в МИЭТ, осуществляется через прокси-сервер, который позволяет получить доступ исключительно к web-страницам, а это делает невозможным использование удаленного рабочего стола и даже командной строки через ssh.

Рассмотрим подробнее процесс работы с использованием web-интерфейса.
Модель сети в ns-3 описывается в виде программы на C++, результат моделирования ns-3 выдаёт в виде xml-файла.
Для загрузки исходного файла модели сети используется web-форма. После загрузки файл записывается в предназначенную для исходных моделей директорию. Затем с помощью cron запускается bash-скрипт, который в случае наличия загруженного файла запускает ns-3. Результаты моделирования в виде xml-файлов обрабатываются с помощью php-скрипта, который использует php XML Parser и библиотеку php GD для построения диаграмм и подготовки сводных данных, которые доступны через web-интерфейс. Также можно скачать файлы с промежуточными данными.
В настоящее время эта система реализована нами и используется для того, чтобы получать доступ к симулятору, который установлен на домашнем компьютере с внешним ip-адресом, из сети университета МИЭТ и его подразделений, которые территориально разнесены по городу Зеленограду.

В используемой нами системе происходит загрузка, компиляция и выполнение кода программы на C++ на сервере. Из-за практически неограниченных возможностей языка C++ злоумышленник, получивший возможность выполнить свою программу на сервере, может поставить под угрозу безопасность сервера, даже если программа выполняется с ограниченными правами. Поэтому в настоящее время нельзя предоставить возможность использования системы на нашем сервере широкому кругу пользователей, но, так как все компоненты системы являются свободным программным обеспечением, то построить подобную систему может каждый пользователь, имеющий возможность подключить к интернету свой сервер. Наши скрипты для загрузки и визуализации можно загрузить со страницы входа в систему, которая находится по адресу http://aotech.ru/dev/ns3access/index.php, они доступны под лицензией MIT/X11.

Тем не менее это серьёзное ограничение, так как содержание своего сервера связано с дополнительными расходами и может оказаться невыполнимым условием.

В дальнейшем мы планируем создать публично доступную версию, в которой предполагается выполнять моделирование на отдельном компьютере, не имеющем прямого выхода в интернет, который будет соединен по локальной сети только с сервером. Фактически такой компьютер будет находиться в демилитаризованной зоне. В отличие от классической демилитаризованной зоны, такой компьютер не будет иметь никакой связи с интернетом, кроме протокола ftp для загрузки с сервера файлов для моделирования и выгрузки результатов. Все остальные протоколы будут отключены файерволом на стороне сервера.

Также предполагается полностью переустанавливать на этом компьютере операционную систему заново, выполняя это с определенной периодичностью, чтобы избежать накапливания зловредного ПО, всё-таки просочившегося в процессе работы.

Сначала предполагается открыть доступ к системе студентам МИЭТ, изучающим сетевые и интернет-технологии, а также, после тестовой эксплуатации студентами, и всем желающим.

Abstract licensed under Creative Commons Attribution-ShareAlike 3.0 license

Назад