ДонНТУ Портал магистров ДонНТУ Русский Українська English

Магистр ДонНТУ Ерыгина Таисия Павловна

Тема выпускной работы:
"Разработка графического интерфейса для сетевого симулятора ns2"

Назад

ПРИМЕНЕНИЕ СРЕДСТВА МОДЕЛИРОВАНИЯ ВЫЧИСЛИТЕЛЬНЫХ СЕТЕЙ NS2 В ИССЛЕДОВАТЕЛЬСКИХ И УЧЕБНЫХ ЦЕЛЯХ
Ерыгина Т.П., Аноприенко А.Я.
Донецкий национальный технический университет

Тезисы доклада на Первой региональной студенческой научно-технической конференции "Информатика и компьютерные технологии 2005", Донецк, ДонНТУ, 15 декабря 2005 г.



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

Симулятор ns2 создан на основе разрабатываемого с 1989 г. в Калифорнийском университете, США, (USC - University of Southern California) пакета network simulator, до 1995 г. известного как REAL. В 1996 г. была начата работа над проектом VINT (Virtual InterNetwork Testbed), организованная DARPA (Defense Research Project Agency) и реализуемая целым рядом научных организаций и центров. Целью проекта VINT было создание пакета, позволяющего осуществлять имитационное моделирование сетей связи, обладающего высокой производительностью, масштабируемостью и гибкостью.

Симулятор ns2 является дискретным, использует механизм событий и предназначен для исследований в области компьютерных сетей. Симулятор поддерживает большую часть существующих протоколов стека TCP/IP, протоколов маршрутизации, дисциплин обслуживания очередей. Возможно моделирование локальных и глобальных, беспроводных и спутниковых сетей. В отличии от большинства программных средств, выполняющих подобные функции, ns2 имеет открытый код и доступен для свободного использования и модификации. Существуют версии программы для различных операционных систем. Наибольшую функциональность обеспечивает версия для Unixсистем, но существуют также модификации для Windows и других ОС.

Симулятор ns2 предоставляет возможность использования около 25 сетевых протоколов:

  • протоколы сетевого уровня (IPv4, IPv6, ICMP);
  • протоколы транспортного уровня (TCP, UDP);
  • протоколы прикладного уровня (FTP, HTTP, SMTP, POP3, Telnet);
  • протоколы маршрутизации (RIP, OSPF);
  • протокол обмена данными с мобильными устройствами (WAP) и др.

Среди дисциплин обслуживания очередей доступны наиболее популярные и часто используемые (DropTail, RED, SFQ, FQ, DRR и др.). Наличие большого количества дисциплин обслуживания очередей позволяет выбрать наиболее подходящую для конкретного случая, например, простейшую DropTail для демонстрации принципов передачи данных по протоколу TCP, RED для высокоскоростных магистралей, SFQ для сильно загруженных каналов, где необходимо избежать доминирования одних соединений над другими и т. д.

Поддерживается несколько моделей генераторов трафика – FTP, Web, CBR и др.

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

Симулятор не имеет графического интерфейса для ввода модели. Параметры модели задаются с помощью скрипта на языке OTcl.

Отслеживание характеристик сети реализуется с помощью:

  • трассировочных файлов. Возникающие события регистрируются в трассировочном файле, с помощью которого несложно определить нужные параметры узлов сети, например с помощью языка AWK. Способ применим, если топология сети относительно проста, для сети со сложной топологией и неограниченным числом узлом обработка трассировочных файлов занимает много времени;
  • мониторов производительности. Используются для отслеживания общей статистики очередей (мониторы очередей) и потоков (мониторы потоков).

В полный пакет кроме ns2 входят различные вспомогательные утилиты:

  • средство для анимации модели nam, наглядно демонстрирующее работу скрипта;
  • средство анализа модели xgraph (предназначено для использования в Unix-системах);
  • генератор топологии сети, позволяющий автоматизировать процесс создания модели;
  • отладчик скриптов.

Ядро ns2, включающее реализацию основных протоколов и дисциплин, написано на языке С++ с использованием технологии объектно-ориентированного программирования. Помимо С++ симулятор поддерживает язык OTcl – объектно-ориентированную модификацию языка Tcl. Оба языка имеют доступ к иерархии классов, выполняющих основные функции. Открытость кода позволяет модифицировать механизм работы протоколов и дисциплин обслуживания очередей, разрабатывать и тестировать собственные. Для изменения исходного кода используется язык С++. Посредством OTcl чаще всего осуществляется задание структуры и параметров модели. Использование двух языков позволяет, с одной стороны, создавать большие модели и реализовывать сложные протоколы без потери производительности вследствие использования С++ как базового языка. С другой стороны, использование более медленного, но имеющего простой синтаксис, языка Tcl, делает процесс моделирования проще, что существенно при использовании симулятора в учебных целях для изучения механизма работы сетевых протоколов.

Симулятор ns2 и графический интерпретатор nam являются достаточно простыми и наглядными средствами для изучения, сравнения и анализа принципов работы сетевых протоколов. В университетах Европы и США ns2 широко применяется в учебных и исследовательских целях. Существует библиотека скриптов, включающая большое количество моделей, например, реализующие механизмы «скользящего окна» и «медленного старта» протокола TCP, демонстрирующие принципы работы протоколов маршрутизации и др.

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

Изучение иерархии классов ns2 и их реализации позволяет более углубленно изучить принципы функционирования компьютерных сетей и их моделирования, получить дополнительные знания в области объектно-ориентированного программирования. Модифицирование кода ns2 с целью добавления новых возможностей широко используется в исследовательской работе для тестирования новых концепций в передаче данных.

Возможности ns2 не уступают возможностям аналогичных средств (COMNET III, NetCracker и др.). Симулятор ns2 позволяет оценить производительность проектируемой или существующей сети, предоставляет данные, помогающие выработать рекомендации для повышения эффективности работы сети, выявить узкие места и спрогнозировать ее дальнейшее развитие. Доступность и гибкость позволяют успешно использовать ns2 для изучения механизма работы сетевых протоколов, протоколов маршрутизации и дисциплин обслуживания очередей, знакомства с основами моделирования вычислительных сетей, исследования и сравнения различных сетевых топологий.

Литература:

  1. Marc Greis’ tutorial for the ns2, www.isi.edu/nsnam/ns/tutorial/index.html;
  2. Tutorial for the network simulator ns2, www.isi.edu/nsnam/ns/ns-tutorial/index.html;
  3. E. Altman, NS simulator for beginners, www-sop.inria.fr/mistral/personnel/Eitan.Altman/COURS-NS/n3.pdf
  4. Репозиторий скриптов для ns2, www.isi.edu/nsnam/repository/index.html.

Назад
Биография Реферат Библиотека Ссылки Отчет о поиске Индивидуальное задание

Русский Українська English