ns (simulator)

ns (simulator)
ns-3
ns-3 logo
Initial release June 30, 2008 (2008-06-30)[1]
Stable release 3.12.1[2] / September 2, 2011; 52 days ago (2011-09-02)[2]
Written in C++ (core) Python (bindings)[2]
Platform Unix, Mac OS X, Microsoft Windows via Cygwin
Type Network simulator
License GNU General Public License[2]
Website [1]

ns (from network simulator) is a name for series of discrete event network simulators, specifically ns-1, ns-2 and ns-3. These simulators are used in the simulation of routing protocols, among others, and are heavily used in ad-hoc networking research, and support popular network protocols, offering simulation results for wired and wireless networks alike.

Contents

Design

ns-3 is built using C++ and Python and scripting is available with either language. Split over 30 modules, features of ns-3 include

  • Callback-driven events
  • Attribute system that manages default and per-object simulation values
  • Helpers that allow using simpler API when configuring simulations

History

ns began development in 1989 as a variant of the REAL network simulator and it is currently maintained by volunteers. Long-running contributions have also come from Sun Microsystems and the UCB Daedelus and Carnegie Mellon Monarch projects[3]

ns-2

ns-2 was built in C++ and provides a simulation interface through OTcl, an object-oriented dialect of Tcl. The user describes a network topology by writing OTcl scripts, and then the main ns-2 program simulates that topology with specified parameters. It runs on Linux, FreeBSD, Solaris, Mac OS X and on Windows using Cygwin. It is licensed for use under version 2 of the GNU General Public License.

ns-3

On February 22, 2005 Tom Henderson made a post on ns-developers mailing list saying We intend to have some discussions on how some of ns-2 might be either refactored or forked as part of a future development effort (in parallel, for now, with maintenance of the existing code tree).[4]

In the process of discussing the necessary changes, it was found out that maintaining backward compatibility with ns-2 was generally not worth the effort, since most useful ns-2 models were already implemented in forks of ns-2 that were generally incompatible with each other. It was decided that new simulator will be written from scratch, using C++ programming language.

Mathieu Lacage started developing yans (Yet Another Network Simulator) back in 2004, which was later used as a base for ns-3. Development of ns-3, initially sponsored by the NSF, INRIA, and Georgia Tech, began on July 1, 2006,[5].[6]. The first release, ns-3.1 was made in June 2008, and afterwards the project continued making quarterly software releases.

ns-3 made its eleventh release (ns-3.11) in the first quarter of 2011.[2]

Criticism

ns-2 is often criticized because modeling is a very complex and time-consuming task, since it has no GUI and one needs to learn scripting language, queuing theory and modeling techniques. Of late, there have been complaints that results are not consistent (probably because of continuous changes in the code base) and that certain protocols are replete with bugs.[citation needed]

ns-3 is often criticized for its lack of support for some protocols which were supported in ns-2.

Educational use

It's expected that ns-3 it will eventually replace ns-2 in most universities that are currently using ns-2.

See also

References

External links


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Simulator ride — Simulator rides are a type of amusement park ride, where the audience is shown a movie while their seats move to correspond to the action on screen. Contents 1 History 2 Motion Theaters 3 Personal simulator rides 4 …   Wikipedia

  • simulator — SIMULATÓR, simulatoare, s.n. 1. Sistem tehnic destinat rezolvării ecuaţiilor care caracterizează un anumit obiect sau fenomen. 2. Ansamblu de aparate şi dispozitive care simulează situaţiile posibile într o activitate, folosit pentru antrenarea… …   Dicționar Român

  • simulator — 1835, of persons, from L. simulator “a copier, feigner,” agent noun from simulare imitate, from stem of similis like (see SIMILAR (Cf. similar)). In reference to training devices for complex systems, from 1947 (flight simulator) …   Etymology dictionary

  • Simulator (disambiguation) — Simulator (disambiguation)* A simulation system, process or device * Simulator (mollusc), a genus of molluscee also*Simulation (disambiguation) …   Wikipedia

  • simùlātor — (simulȃtor) m tehn. uređaj koji simulira neku stvarnu pojavu ili proces (vožnju automobilom, avionom i sl.) …   Veliki rječnik hrvatskoga jezika

  • simulator — simùlātor (simulȃtor) m DEFINICIJA tehn. uređaj koji simulira neku stvarnu pojavu ili proces (vožnju automobilom, avionom i sl.) ETIMOLOGIJA vidi simulirati …   Hrvatski jezični portal

  • simulator — [sim′yo͞o lāt΄ər, sim′yəlāt΄ər] n. 1. one that simulates; specif., a training device that duplicates artificially the conditions likely to be encountered in some operation, as in a spacecraft [a flight simulator] 2. a computer that performs… …   English World dictionary

  • Simulator — Sim u*la tor, n. [L.] One who simulates, or feigns. De Quincey. [1913 Webster] …   The Collaborative International Dictionary of English

  • simulator — ► NOUN ▪ a machine that simulates the controls and conditions of a real vehicle, process, etc., used for training or testing …   English terms dictionary

  • Simulator consetti — Taxobox name = Simulator consetti status = LR/nt | status system = IUCN2.3 regnum = Animalia phylum = Mollusca classis = Gastropoda ordo = Basommatophora familia = Ancylidae genus = Simulator species = S. consetti binomial = Simulator consetti… …   Wikipedia

  • simulator — simulation sim‧u‧la‧tion [ˌsɪmjˈleɪʆn] noun [countable, uncountable] an activity or situation that produces conditions which are not real, but have the appearance of being real, used especially for testing something: • A computer simulation… …   Financial and business terms

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”