нс (симулятор)

Дискретные сетевые симуляторы событий
нс-3
Первоначальный выпуск30 июня 2008 г. ; 16 лет назад [1] ( 2008-06-30 )
Стабильный релиз
3.43 [2]  / 9 октября 2024 г. ; 2 месяца назад ( 9 октября 2024 г. )
Репозиторий
  • gitlab.com/nsnam/ns-3-dev.git
Написано вC++ (ядро), Python (привязки)
Операционная системаLinux , FreeBSD , macOS , Windows
ПлатформаIA-32 , x86-64
ТипСетевой симулятор
ЛицензияGNU GPL
Веб-сайтwww.nsnam.org 

ns (от network simulator ) — название серии дискретно-событийных сетевых симуляторов , в частности ns-1 , ns-2 и ns-3 . Все они являются дискретно-событийными компьютерными сетевыми симуляторами, в основном используемыми в исследованиях [3] и обучении.

История

нс-1

Первая версия ns, известная как ns-1, была разработана в Национальной лаборатории Лоуренса в Беркли (LBNL) в 1995-97 годах Стивом МакКэнном, Салли Флойд , Кевином Фоллом и другими участниками. Она была известна как сетевой симулятор LBNL и была получена в 1989 году из более раннего симулятора, известного как REAL, С. Кешава.

нс-2

Ns-2 начинался как переработка ns-1. С 1997 по 2000 год разработка ns поддерживалась DARPA через проект VINT в LBL, Xerox PARC , UC Berkeley и USC/ISI . В 2000 году разработка ns-2 поддерживалась DARPA с SAMAN и NSF с CONSER, оба в USC/ISI, в сотрудничестве с другими исследователями, включая ACIRI.

Особенности NS2

1. Это дискретно-событийный симулятор для исследования сетей.

2. Он обеспечивает существенную поддержку для моделирования нескольких протоколов, таких как TCP, FTP, UDP, https и DSR.

3. Имитирует проводные и беспроводные сети.

4. В первую очередь он основан на Unix.

5. Использует TCL в качестве языка сценариев.

6. Otcl: объектно-ориентированная поддержка

7. Tclcl: C++ и связь OTCl

8. Дискретный планировщик событий

Ns-2 включает в себя существенный вклад третьих сторон, включая беспроводной код из проектов UCB Daedelus и CMU Monarch, а также Sun Microsystems .

нс-3

В 2005 году группа под руководством Тома Хендерсона, Джорджа Райли, Салли Флойд и Сумита Роя подала заявку и получила финансирование от Национального научного фонда США (NSF) на создание замены ns-2, названной ns-3. Эта группа сотрудничала с проектом Planete INRIA в Софии Антиполис, где Матье Лакаж был руководителем программного обеспечения, и сформировала новый проект с открытым исходным кодом.

В процессе разработки ns-3 было решено полностью отказаться от обратной совместимости с ns-2. Новый симулятор должен был быть написан с нуля на языке программирования C++ . Разработка ns-3 началась в июле 2006 года.

Текущий статус трех версий:

  • Разработка ns-1 прекратилась с созданием ns-2. Он больше не разрабатывается и не поддерживается.
  • Разработка ns-2 прекратилась примерно в 2010 году. Он больше не разрабатывается и не поддерживается.
  • ns-3 активно разрабатывается и поддерживается.

Конструкция ns-3

ns-3 — это дискретно-событийный сетевой симулятор, иногда называемый «системным симулятором» в отличие от «симулятора связи», который более подробно моделирует отдельный канал связи. ns-3 написан на C++ и скомпилирован в набор общих библиотек, которые связаны исполняемыми программами, описывающими желаемую топологию и конфигурацию симуляции. Привязки Python опционально предоставляются с использованием cppyy, что позволяет пользователям писать программы симуляции на Python. Симулятор ns-3 имеет интегрированную систему на основе атрибутов для управления значениями по умолчанию и значениями для каждого экземпляра для параметров симуляции.

Требования к ns-3

Для сборки ns-3 вам понадобится компьютер с компилятором C++, Python и системой сборки CMake. Простые сценарии должны работать на обычных домашних или офисных компьютерах, но очень большие сценарии выигрывают от больших объемов памяти и более быстрых процессоров. Проект предоставляет руководство по установке, в котором подробно описаны требования, и руководство по началу работы.

Рабочий процесс моделирования

Общий процесс создания симуляции с использованием ns-2 или ns-3 можно разделить на несколько этапов:

  1. Определение топологии : Для упрощения создания базовых объектов и определения их взаимосвязей в ns-3 имеется система контейнеров и помощников, которая упрощает этот процесс.
  2. Разработка модели : модели добавляются в симуляцию (например, UDP, IPv4, устройства и соединения «точка-точка», приложения); в большинстве случаев это делается с помощью помощников.
  3. Конфигурация узла и канала : модели устанавливают свои значения по умолчанию (например, размер пакетов, отправляемых приложением, или MTU канала «точка-точка»); в большинстве случаев это делается с помощью системы атрибутов.
  4. Выполнение : Средства моделирования генерируют события, данные, запрошенные пользователем, регистрируются.
  5. Анализ производительности : После завершения моделирования и получения данных в виде трассировки событий с временной меткой эти данные можно затем статистически проанализировать с помощью таких инструментов, как R, чтобы сделать выводы.
  6. Графическая визуализация : необработанные или обработанные данные, собранные в ходе моделирования, можно отобразить в графическом виде с помощью таких инструментов, как Gnuplot , matplotlib или XGRAPH.

Смотрите также

Ссылки

  1. ^ Хендерсон, Том (2012-06-09). "предстоящий релиз ns-3.1" (список рассылки). ns-3 GSoC 2015 students. Архивировано из оригинала 2012-03-27 . Получено 2013-05-31 .
  2. ^ https://www.nsnam.org/releases/ns-3-43/ . Получено 26 ноября 2024 г. . {{cite web}}: Отсутствует или пусто |title=( помощь )
  3. ^ "Публикации « ns-3". Архивировано из оригинала 2013-02-22 . Получено 2012-08-30 .
  • веб-страница ns-3
Взято с "https://en.wikipedia.org/w/index.php?title=Ns_(симулятор)&oldid=1268121753"