International conference of developers
and users of free / open source software

Обзор сетевого симулятора NS3

Виталий Балашов, Харьковский Научно-Исследовательский Институт Судебных Экспертиз им. заслуженного профессора Н.С. Бокариуса, vitaly.balashov@gmail.com

Проблема компьютерного моделирования телекоммуникационных систем на сегодняшний день имеет достаточно много решений самого разнообразного рода. В докладе представлен обзор одного из самых современных средств имитационного моделирования интернет-сетей – NS3, являющегося мощным инструментом моделирования телекоммуникационных систем и распространяемого под лицензией GNU GPLv2.

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

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

На сегодняшний день известно достаточно много сетевых симуляторов и исследователям есть из чего выбрать. Одними из популярных продуктов являются OPNET, OMNET, OMNET++, NS2, NS3. Так же существуют узкоспециализированные симуляторы, созданные лишь для моделирования определённого оборудования. Как правило, подобное ПО выпускается производителями телекоммуникационного оборудования. Так же нельзя не отметить симуляторы Packet Tracer, созданный компанией Cisco, dynamips, созданный для эмуляции маршрутизаторов Cisco и GNS3, который представляет собой графический интерфейс для симулятора dynamips.

Одним из самых распространённых является NS2, родившийся ещё в 80-х годах. NS2 является свободным программным обеспечением, имеет достаточно большое и развитое коммьюнити, и как следствие – огромное количество модулей, дополнений и фреймворков, уже готовых к использованию. Но NS2, как и всё на Земле, имеет недостатки.

В мире Свободного Программного обеспечения нашлись люди, которые решили исправить недостатки различных средств имитационного моделирования и представили миру свое свободное решение – NS3.

NS3 является свободным программным обеспечением, распространяемым под лицензией GNU GPLv2, и ориентирован на исследовательское применение, а так же применение в образовательных целях. Исходные коды NS3 открыты для исследования, модификации и использования и доступны на сайте проекта http://www.nsnam.org.

NS3 является очень гибким и в то же время мощным средством моделирования за счёт использования C++ в качестве встроенного языка описания моделей. Так же, помимо С++, может использоваться Python. Оба языка в симуляторе равноправны и принимаются для описания моделей телекоммуникационных систем.

Благодаря очень обширному и гибкому API, а так же благодаря полноте документации программных интерфейсов, разработчик модели практически ничем не ограничивается. Ему предоставляется возможность построения как собственных моделей любой сложности, так и, благодаря используемой лицензии GNU GPLv2, изменение и дополнение уже существующих моделей, входящих в комплект ПО.

В NS3 разработаны модели беспроводных типов сетей, позволяющие проводить моделирование даже с движущимися объектами в трёхмерном пространстве. Разработаны модели для построения проводных топологий различной сложности, а также смешанных. Присутствует реализация различных типов Mesh-сетей на основе стека протоколов 802.11s, за счёт чего NS3 даёт фору даже многим коммерческим симуляторам. Разработан FrameWork под названием FlowMonitor, предоставляющий очень гибкие методы сбора самых различных показаний с моделируемых активных сетевых устройств и каналов связи. Симулятор не имеет собственного графического интерфейса, однако для средств визуализации моделей используются проекты NetAnimator и PyViz. Данный список преимуществ можно продолжать довольно долго, а с подробным описанием можно ознакомиться на официальном сайте симулятора.

Работа над проектом NS3 не прекращается. Многие крупные компании опубликовали работы, в которых исследования основываются на NS3. Так же заявлена некоторыми компаниями и институтами разработка различных фреймворков для работы с симулятором. Ежедневно появляются новые всё более и более сложные модели, написанные членами сообщества.

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

Материалы к докладу