Ns (simulator)
-
Медіафайли у Вікісховищі
NS (від симулятор мережі) — назва низки мережевих симуляторів дискретних подій, зокрема, NS-1, NS-2 та NS-3. Всі вони є дискретно-подієвими комп'ютерними мережевими тренажерами, в основному використовується в дослідженнях і викладанні. NS-3-це безкоштовна програма, у відкритому доступі під ліцензією GNU gplv2 — ліцензія на дослідження, розробку і використання.
Мета проекту NS-3-це створити відкрите середовище моделювання для дослідження комп'ютерних мереж, які будуть використовуватися всередині наукового співтовариства:[джерело?]
- Він повинен бути узгоджений з потребами моделювання сучасних дослідницьких мереж.
- Він повинен заохочувати внесок співтовариства, експертної оцінки і перевірки програмного забезпечення.
Оскільки процес створення мережевого симулятора, який містить достатню кількість високоякісних перевірених, протестованих моделями, які активно підтримуються вимагає багато роботи, ns-3 проект поширює це навантаження на велику групу користувачів і розробників.
Історія
ns-1
Перша версія ns, відома як ns-1, була розроблена в Національній лабораторії Лоренса Берклі в 1995-97 роках Стівом МакКенні, Саллі Флойдом, Кевіном Фолом, та іншими учасниками. Вона була відома як LBNL Network Simulator і була отримана з попереднього симулятора, відомого як REAL С. Кешава.
ns-2
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 журнал змін.
ns-3
Команда на чолі з Томом Хендерсоном, у складі Джорджа Райлі, Саллі Флойд, і Суміт Рой, подала заявку і отримала фінансування від американського Національного наукового Фонду (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++
Примітки
- ↑ а б Tom Henderson, Mathieu Lacage, George Riley, Mitch Watrous, Gustavo Carneiro, Tommaso Pecorella and others.
Примітки
- ↑ а б [недоступне посилання з лютого 2019]
- ↑ ns-3-dev. ns-3 project. Архів оригіналу за 22 лютого 2013. Процитовано 26 грудня 2012.