Нс (симулятор) - Википедия - ns (simulator)
изначальный выпуск | 30 июня 2008 г.[1] |
---|---|
Стабильный выпуск | 3.31 / 28 июня 2020 г. |
Репозиторий | |
Написано в | C ++ (основной) Python (привязки) |
Операционная система | Linux, FreeBSD, macOS |
Платформа | IA-32, x86-64 |
Тип | Сетевой симулятор |
Интернет сайт | www |
нс (из сетевой симулятор) - название серии дискретное событие сетевые симуляторы, конкретно нс-1, нс-2, и нс-3. Все они представляют собой симуляторы компьютерных сетей с дискретными событиями, в основном используемые в исследованиях.[2] и обучение.
История
нс-1
Первая версия ns, известная как ns-1, была разработана в Национальная лаборатория Лоуренса Беркли (LBNL) в период 1995-97 годов Стива МакКанна, Салли Флойд, Кевина Фолла и других участников. Он был известен как сетевой симулятор LBNL и был создан в 1989 году на основе более раннего симулятора, известного С. Кешава как REAL.
нс-2
НС-2 начинался как доработка НС-1. С 1997 по 2000 год разработка NS поддерживалась DARPA через проект VINT в LBL, Xerox PARC, UCB и USC / ISI. В 2000 году разработка ns-2 была поддержана через DARPA с SAMAN и через NSF с CONSER, как в USC / ISI, так и в сотрудничестве с другими исследователями, включая ACIRI.
Ns-2 включает в себя значительный вклад третьих сторон, включая беспроводной код из проектов UCB Daedelus, CMU Monarch и Sun Microsystems.
нс-3
В 2006 году команда под руководством Тома Хендерсона и Джорджа Райли, Салли Флойд и Сумит Рой подали заявку и получили финансирование от Национального научного фонда США (NSF) на создание замены для ns-2, получившей название ns-3. Эта команда сотрудничала с Planete проект INRIA в Sophia Antipolis под руководством Мэтью Лакаж в качестве руководителя программного обеспечения и сформировал новый проект с открытым исходным кодом.
В процессе разработки NS-3 было решено полностью отказаться от обратной совместимости с NS-2. Новый симулятор будет написан с нуля с использованием C ++ язык программирования. Разработка НС-3 началась в июле 2006 года.
Текущее состояние трех версий:
- Развитие НС-1 было остановлено с момента основания НС-2. Он больше не разрабатывается и не поддерживается.
- Разработка ns-2 прекратилась примерно в 2010 году. Он больше не разрабатывается и не обслуживается.
- нс-3 активно развивается и обслуживается.
Дизайн
нс-3 построен с использованием C ++ и Python с возможностью написания сценариев. Библиотека ns обернута Python благодаря библиотеке pybindgen, которая делегирует синтаксический анализ заголовков ns C ++ на castxml и pygccxml для автоматической генерации соответствующего связующего связующего элемента C ++. Эти автоматически сгенерированные файлы C ++, наконец, компилируются в модуль ns Python, чтобы пользователи могли взаимодействовать с моделями и ядром C ++ ns через скрипты Python. Симулятор ns имеет интегрированную систему на основе атрибутов для управления значениями по умолчанию и значениями для каждого экземпляра для параметров моделирования.
Рабочий процесс моделирования
Общий процесс создания симуляции можно разделить на несколько этапов:
- Определение топологии: Чтобы упростить создание базовых объектов и определить их взаимосвязь, в ns-3 есть система контейнеров и помощников, которые облегчают этот процесс.
- Разработка модели: В моделирование добавляются модели (например, UDP, IPv4, двухточечные устройства и ссылки, приложения); в большинстве случаев это делается с помощью помощников.
- Конфигурация узла и ссылки: модели устанавливают свои значения по умолчанию (например, размер пакетов, отправляемых приложением, или MTU канала точка-точка); в большинстве случаев это делается с помощью системы атрибутов.
- Исполнение: Средства моделирования генерируют события, данные, запрошенные пользователем, регистрируются.
- Анализ производительности: После завершения моделирования и получения данных в виде трассировки событий с отметками времени. Затем эти данные можно статистически проанализировать с помощью таких инструментов, как р делать выводы.
- Графическая визуализация: Необработанные или обработанные данные, собранные при моделировании, можно графически отобразить с помощью таких инструментов, Gnuplot, matplotlib или XGRAPH.
Смотрите также
Рекомендации
- ^ Хендерсон, Том (2012-06-09). "предстоящий выпуск ns-3.1" (Список рассылки). нс-3 GSoC 2015 студенты. Архивировано из оригинал на 2012-03-27. Получено 2013-05-31.
- ^ «Архивная копия». Архивировано из оригинал на 2013-02-22. Получено 2012-08-30.CS1 maint: заархивированная копия как заголовок (связь)