Ns (simulator)
Тип | Network simulator |
---|---|
Розробники | ns-3 project[note 1] |
Перший випуск | 30 червня 2008 |
Стабільний випуск | 3.26 (3 жовтня 2016 ) |
Нестабільний випуск | Mercurial repository |
Платформа | IA-32, x86-64 |
Операційна система | Linux, FreeBSD, macOS |
Мова програмування | C++ (core) Python (bindings) |
Стан розробки | Active |
Ліцензія | GPLv2 |
Онлайн-документація | nsnam.org/documentation/latest/ |
Репозиторій | gitlab.com/nsnam/ns-3-dev.git |
Вебсайт | www.nsnam.org |
NS (від симулятор мережі) — назва низки мережевих симуляторів дискретних подій, зокрема, NS-1, NS-2 та NS-3. Всі вони є дискретно-подієвими комп'ютерними мережевими тренажерами, в основному використовується в дослідженнях і викладанні. NS-3-це безкоштовна програма, у відкритому доступі під ліцензією GNU gplv2 — ліцензія на дослідження, розробку і використання.
Мета проекту NS-3-це створити відкрите середовище моделювання для дослідження комп'ютерних мереж, які будуть використовуватися всередині наукового співтовариства:[джерело?]
- Він повинен бути узгоджений з потребами моделювання сучасних дослідницьких мереж.
- Він повинен заохочувати внесок співтовариства, експертної оцінки і перевірки програмного забезпечення.
Оскільки процес створення мережевого симулятора, який містить достатню кількість високоякісних перевірених, протестованих моделями, які активно підтримуються вимагає багато роботи, ns-3 проект поширює це навантаження на велику групу користувачів і розробників.
Перша версія ns, відома як ns-1, була розроблена в Національній лабораторії Лоренса Берклі в 1995-97 роках Стівом МакКенні, Саллі Флойдом, Кевіном Фолом, та іншими учасниками. Вона була відома як LBNL Network Simulator і була отримана з попереднього симулятора, відомого як REAL С. Кешава.
ns почалося як варіант реального мережного симулятора в 1989 році і суттєво еволюціонував за останні кілька років. У 1995 році розвиток ns був за підтримки DARPA через проект VINT у LBL, компанії Xerox Parc, UCB, і USC/ISI. В даний час ns розвивається за рахунок підтримки DARPA із SAMAN і NSF з CONSER, і у співробітництві з іншими дослідниками, в тому числі ACIRI. ns завжди включала істотний код UCB Daedelus і проект CMU Monarch і Sun Microsystems. Документації про останні зміни див. у розділі версії 2 журнал змін.
Команда на чолі з Томом Хендерсоном, у складі Джорджа Райлі, Саллі Флойд, і Суміт Рой, подала заявку і отримала фінансування від американського Національного наукового Фонду (NSF), щоб побудувати заміну для ns-2, що називається ns-3. Ця команда співпрацювала з Planete [Архівовано 14 квітня 2017 у Wayback Machine.] проект INRIA в Sophia Antipolis, з Матьє Лакаж як керівника програмного забезпечення, і створив новий проект з відкритим вихідним кодом.
У процесі розробки ns-3, було вирішено повністю відмовитися від зворотної сумісності з ns-2. Новий тренажер був написаний з нуля, використовуючи мову програмування C++. Розвиток ns-3 почався в липні 2006 року.
Перший випуск, ns-3.1 був зроблена в червні 2008 року, а потім проект продовжував випускати версії програмного забезпечення кожного кварталу, а останнім часом перейшла на три релізи в рік. ns -3 зробив свій двадцять перший випуск (ns-3.21) у вересні 2014 року.
Поточний стан трьох версій:
- ns-1 більше не розроблена і не ведеться,
- ns-2 не активно (активна розробка припинена в 2010 році, але добровольці зі спільноти користувачів, як і раніше, розвивають його )
- ns-3 активно розвивається (але не сумісне для роботи на ns-2).
NS-3 побудована з використанням мови C++ і Python для скриптових можливостей. NS-3 бібліотеки обгорнуті Python завдяки pybindgen бібліотеки, яка відправляє розкладені C++ заголовки NS-3 на gccxml і pygccxml, щоб автоматично генерувати відповідну C++ зв'язуючу вставку. Ці автоматично згенеровані файли C++ остаточно компілюються в модуль Python середовища NS-3 , щоб дозволити користувачам взаємодіяти з С++ NS-3 моделлю і ядром за допомогою скриптів Python. NS-3 тренажер має вбудований атрибут-системи для управління за замовчуванням і для кожного екземпляра значення для моделювання параметрів.
NS-2 часто критикують [ким?] тому що моделювання-це дуже складна і трудомістка задача, так як він не має GUI і потрібно вивчати скриптову мову програмування, теорію масового обслуговування і методи моделювання. Також останнім часом були скарги на те, що результати не послідовні (можливо, через постійні зміни коду) і що деякі протоколи мають неприпустимі помилки. [джерело?]
NS-3 часто критикують [ким?] за відсутність підтримки протоколів (наприклад, WSN, MANET і т. д.) які були підтримані в NS-2, а також через відсутність зворотної сумісності з NS-2. Як і NS-2, NS-3 є також трудомістким в освоєнні і використанні, в порівнянні з симуляторами на основі GUI .
- GloMoSim
- NetSim
- OMNeT++