Jump to content

User:Bencmq/sandbox: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Bencmq (talk | contribs)
No edit summary
Bencmq (talk | contribs)
Replaced content with '<inputbox> type=create placeholder=default name prefix=Namespace: buttonlabel=create page bgcolor=#f0f0ff width=50 break=no </inputbox>'
Line 1: Line 1:
<inputbox>
{{lowercase}}
type=create
{{Redirect|ns-2|the fictional robot from the works of Isaac Asimov|NS-2 (literary character)}}
placeholder=default name
{{Other uses of|NS|NS (disambiguation)}}
prefix=Namespace:
{{Infobox software
buttonlabel=create page
| name = ns-3
bgcolor=#f0f0ff
| title = ns-3 Network Simulator
width=50
| logo = [[File:Ns-3-logo.png|250px|ns-3 logo]]
break=no
| author =
</inputbox>
| developer = ns-3 project{{#tag:ref|Tom Henderson, Mathieu Lacage, George Riley, Mitch Watrous, Gustavo Carneiro, Tommaso Pecorella and others.|group=note|name="hackers"}}
| released = {{Start date|2008|06|30}}<ref>{{cite mailing list |last=Henderson |first=Tom |title=upcoming ns-3.1 release |publisher=ns-announce |date=2012-06-09 |url=http://mailman.isi.edu/pipermail/ns-developers/2008-June/004277.html |accessdate=2012-12-26}}</ref>
| latest release version = 0.18.2
| latest release date = {{release date and age|2012|12|21}}<ref name="news">{{cite mailing list |last=Henderson |first=Tom |title=ns-3.16 released |publisher=ns-announce |date=2012-12-21 |url=http://mailman.isi.edu/pipermail/ns-announce/2012-December/000063.html |accessdate=2012-12-26}}</ref>
| latest preview version = Mercurial repository <ref>{{cite web |url=http://code.nsnam.org/ns-3-dev/ |title=ns-3-dev |publisher=ns-3 project|accessdate=26 December 2012 }}</ref>
| latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
| programming language = [[C++]] (core) [[Python (programming language)|Python]] (bindings)
| operating system = [[GNU/Linux]], [[FreeBSD]], [[Mac OS X]]
| platform = [[IA-32]], [[x86-64]]
| status = Active
| genre = [[Network simulator]]
| license = [[GNU General Public License]]
| website = {{URL|http://www.nsnam.org/}}
}}

'''ns''' (from '''network simulator''') is a name for series of [[discrete event simulation|discrete event]] [[network simulation|network simulators]], specifically '''ns-1''', '''ns-2''' and '''ns-3'''. All of them are discrete-event network simulator, primarily used in research<ref>http://www.nsnam.org/overview/publications/</ref> and teaching. ns-3 is [[free software]], publicaly available under the GNU GPLv2 license for research, development, and use.

The goal of the ns-3 project is to create an open simulation environment for networking research that will be preferred inside the research community; this mainly means two things:
* it should be aligned with the simulation needs of modern networking research and
* it should encourage community contribution, peer review, and validation of the software.

Since the process of creation of a network simulator that contains a sufficient number of high-quality validated, tested and actively maintained models requires a lot of work, ns-3 project spreads this workload over a large community of users and developers.


== History ==
Prior to ns, a simulator named REAL existed dating back to 1989.

=== ns-1 ===
The first version of ns, known as ns-1, was developed at [[Lawrence Berkeley National Laboratory]] (LBNL) in the 1995-97 timeframe by Steve McCanne, Sally Floyd, Kevin Fall, and other contributors. This was known as the LBNL Network Simulator, and derived from an earlier simulator known as REAL by S. Keshav. The core of the simulator was written in C++, with [[Tcl]]-based scripting of simulation scenarios.<ref> http://ee.lbl.gov/ns/</ref> Long-running contributions have also come from [[Sun Microsystems]], the [[University of California, Berkeley|UC Berkeley]] Daedelus, and [[Carnegie Mellon University|Carnegie Mellon]] Monarch projects.

=== ns-2 ===
In 1996-97, work on ns version 2 (ns-2) was initiated based on a refactoring by Steve McCanne.<ref> Sandeep Bajaj, Lee Breslau, Deborah Estrin, Kevin Fall, Sally Floyd, Padma Haldar, Mark Handley, Ahmed Helmy, John Heidemann, Polly Huang, Satish Kumar, Steven McCanne, Reza Rejaie, Puneet Sharma, Kannan Varadhan, Ya Xu, Haobo Yu, and Daniel Zappala, ''Improving Simulation for Network Research'', Technical Report 99-702, University of Southern California, March, 1999.</ref> Use of Tcl was replaced by MIT's [[OTcl|Object Tcl (OTcl)]], an [[object-oriented programming|object-oriented]] dialect of [[Tcl]]. The core of ns-2 is also written in C++, but the C++ simulation objects are linked to shadow objects in OTcl and variables can be linked between both language realms. Simulation scripts are written in the OTcl language, an extension of the Tcl scripting language. This structure permits simulations to be written and modified in an interpreted environment without having to resort to recompiling the simulator each time a structural change is made. In the timeframe in which ns-2 was introduced (mid-1990s), this provided both a significant convenience in avoiding many time-consuming recompilations, and also allowing potentially easier scripting syntax for describing simulations. ns-2 has a companion animation object known as the ''Network Animator'', '''nam-1''', originally written by Mark Handley, used for visualization of the simulation output and for (limited) graphical configuration of simulation scenarios.

In 1997, the DARPA Virtual InterNetwork Testbed (VINT) project was initiated, including LBNL, [[Xerox PARC]], UC Berkeley, and USC's Information Sciences Institute (ISI). The bulk of ns-2 development occurred during this timeframe. Software maintenance activities also migrated to ISI during this time period, eventually led by John Heidemann. After the conclusion of the VINT project, ns-2 continued to be funded during the 2001-04 timeframe by the DARPA SAMAN and NSF CONSER awards to USC/ISI.

Presently, ns-2 consists of over 300,000 lines of source code, and there is probably a comparable amount of contributed code that is not integrated directly into the main distribution (many [[Fork (software development)|forks]] of ns-2 exist, both maintained and unmaintained). It runs on [[GNU/Linux]], [[FreeBSD]], [[Solaris (operating system)|Solaris]], [[Mac OS X]] and Windows 95/98/NT/2000/XP. It is licensed for use under [[GNU General Public License#GPL.2FLGPLv2|version 2]] of the [[GNU General Public License]].

Revision as of 16:51, 25 March 2013