Also known as Network Simulator, ns, ns-1, ns-2
discrete event network simulator
ns-3 | a discrete-event network simulator for internet systems
a discrete-event network simulator for internet systems
nsnam.org →Link to the official site · 3,598 chars · not written by Vinony
From a software perspective, ns-3 consists of a number of C++ libraries organized around different topics and technologies. Programs that actually run simulations can be written in either C++ or Python; the use of Python is enabled by runtime C++/Python bindings. Simulation programs will typically link or import the ns core library and any additional libraries that they need. ns-3 requires a modern C++ compiler installation (g++ or clang++) and the CMake build system. Most ns-3 programs are single-threaded; there is some limited support for parallelization using the MPI framework. ns-3 can also run in a real-time emulation mode by binding to an Ethernet device on the host machine and generating and consuming packets on an actual network. The ns-3 APIs are documented using Doxygen. The code for the framework and the default models provided by ns-3 is built as a set of libraries. The libraries maintained by the open source project can be found in the src directory. Users may extend ns-3 by adding libraries to the build; third-party libraries can be found on the ns-3 App Store or elsewhere in public Git repositories, and are usually added to the contrib directory. Starting with ns-3 release version 3.45, there are two versions of source archives that are published with each release: The first archive is simply a compressed archive of the same code that one can obtain by checking out the release tagged code from the ns-3-dev Git repository. The second archive consists of ns-3 plus additional contributed modules that are maintained outside of the main ns-3 open source project but that have been reviewed by maintainers and lightly tested for compatibility with the release. The contributed modules included in the allinone release will change over time as new third-party libraries emerge while others may lose compatibility with the ns-3 mainline (e.g., if they become unmaintained). As mentioned above, ns-3 uses the CMake build system, but the project maintains a customized wrapper around CMake called the ns3 tool. This tool provides a Waf-like API to the underlying CMake build manager. To build the set of default libraries and the example programs included in this package, you need to use the ns3 tool. This tool provides a Waf-like API to the underlying CMake build manager. Detailed information on how to use ns3 is included in the quick start guide. Before building ns-3, you must configure it. This step allows the configuration of the build options, such as whether to enable the examples, tests and more. By default, the build artifacts will be stored in the build/ directory. The current codebase is expected to build and run on the set of platforms listed in the release notes file. Other platforms may or may not work: we welcome patches to improve the portability of the code to these other platforms. ns-3 contains test suites to validate the models and detect regressions. To run the test suite, run the following command on the ns-3 main directory: More information about ns-3 tests is available in the test framework section of the manual. If you do not plan to modify ns-3 upstream modules, you can get a pre-built version of the ns-3 python bindings. It is recommended to create a python virtual environment to isolate different application packages from system-wide packages (installable via the OS package managers). After installing the ns3 package, you can then create your simulation python script. Below is a trivial demo script to get you started. The simulation will take a while to start, while the bindings are loaded. The script above will print the logging messages for the called commands. Use help(ns) to check the prototypes for all functions defined in the ns3 namespace. To get more useful results, query specific classes of interest and their functions e.g., help(ns.Simulator) . Most ns-3 simulations are written in C++ and the documentation is oriented towards C++ users. The ns-3 tutorial programs ( first.cc , second
Excerpt from the source-code README · 11,315 chars · not written by Vinony
via Wikidata · CC0
via Wikidata sitelinks · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).