Network Simulator (NS2) Extensions
Advanced tools and libraries for modern communication system simulations, developed by the SIGNET Research Group.
NS-MIRACLE
Multi-InteRfAce Cross-Layer Extension library for the Network Simulator
NS-MIRACLE is a set of libraries designed to enhance the functionalities provided by the Network Simulator ns2. It provides an efficient and embedded engine for handling cross-layer messages and, at the same time, enables the coexistance of multiple modules within each layer of the protocol stack.
For instance, multiple IP, link layers, MACs or physical layers can be specified and used within the same node. The NS-MIRACLE framework facilitates the implementation and the simulation of modern communication systems in ns2; moreover, due to its modularity, the code will be portable, re-usable and extensible.
Documentation:
- The nsmiracle howto is probably the best place to start for people willing to use nsmiracle in their project.
- The dynamic libraries documentation offers a detailed view of how dynamic libraries work in ns.
- The nsmiracle doxygen documentation is generated from the source code comments, useful reference when developing.
- The nsmiracle/mini-HowTo provides a guide for the installation of nsmiracle over ns 2.33 or higher.
- The nsmiracle/dei80211mr mini-HowTo (although outdated) still provides useful tips for installation on versions of ns ≤ 2.32.
How to download NS-MIRACLE: The latest version is available at this URL: https://github.com/signetlabdei/nsmiracle.
NS-MIRACLE is actively maintained. Read-write privileges can be provided to developers who make repeated contributions.
DESERT Underwater
DEsign, Simulate, Emulate and Realize Test-beds for Underwater network protocols
DESERT Underwater is a complete set of public C++ libraries that extend the NS-Miracle simulator to support the design and implementation of underwater network protocols. Its creation stems from the will to push the studies on underwater networking beyond simulations. Implementing research solutions on actual devices, in fact, is of key importance to realize a communication and networking architecture that allows heterogeneous nodes to communicate reliably in the underwater environment.
Modules included:
- Implementation of several MAC protocols.
- Various routing protocols (static, SUN - Source Routing for Underwater Networks, and others).
- Two transport modules, including end-to-end error control functions.
- Application-level modules for traffic generation and real data transmission via socket.
- Several mobility models for 3D underwater networks.
- Modules supporting multimodality and multi-stack with intelligent switch between transmission modes.
- A module to interface DESERT with acoustic and optical modem hardware for real-world protocol prototyping.
Instructions to get the latest DESERT Framework version can be found on the DESERT Underwater web site.
WOSS - World Ocean Simulation System
WOSS is a multi-threaded framework that permits the integration of underwater channel simulation tools with network simulators. The present version hinges on Bellhop for computing acoustic propagation in terms of power-delay profiles, and feeds this data into the network simulator NS-Miracle, where physical-layer data are employed for providing a model of link performance.
WOSS provides a set of APIs to automatically feed Bellhop (or other propagation simulators) with all required environmental data (SSPs, bathymetry, bottom sediment geoacoustic coefficients, etc.), so that the user of the network simulator only has to specify the geographical location where the simulated network is operating.
Data is presently sourced from the World Ocean Atlas, General Bathymetric Chart of the Oceans, and the National Geophysical Data Center. The WOSS library is available at: https://woss.dei.unipd.it.
dei80211mr
An enhanced 802.11 implementation for ns2 and nsmiracle
The dei80211mr library – nicknamed 'multirate' for short – provides a robust 802.11 implementation for NS2, derived from the standard NS 2.29 implementation to solve known bugs and provide enhanced functionality. It can be used with both NS-Miracle and the original ns2.
Key Functionalities:
- Support for multiple PHY modes: Simulation of different transmission rates, modulation, and coding schemes defined in the IEEE802.11b/g standards.
- SINR-based packet level error model: The RX Threshold has been removed and replaced by Packet Error Rate (PER), which is calculated using pre-determined curves (PER vs SINR and packet size) specified by the user via TCL.
- Improved Interference and Capture Model: Interference is calculated using a gaussian model, and the capture model is now embedded within this interference calculation (no more Capture Threshold).
- Resolved Known Bugs: Solved issues like direct access denial and random backoff time from the standard NS 802.11 implementation.
- Fixed Affected Nodes Distance: The affected nodes distance is now determined using a fixed value in meters (`distInterference_`), providing more accurate but potentially more computationally intensive simulations.
Other NS2 & NS-Miracle Extensions
Wireless Network Coding
This package provides random network coding modules for ns2.27. Network coding replaces the classical "receive and forward" paradigm with a "store, code, and forward" approach, where information packets are encoded at intermediate nodes to improve dissemination efficiency and reduce transmissions. Download NS2 Simulation Code for Wireless Network Coding
Patch for Dynamic Libraries in NS-2
NOTE: This patch has been integrated into official ns2 distribution since release 2.33. For users of older versions (ns-2.29 or ns-2.31), it allows for dynamic loading of modules, easier installation of third-party add-ons, and prevents the need to recompile the whole ns kernel. Download the patch for ns-2.29 or ns-2.31
NS-Miracle Sandbox library
A sample library providing a didactical cross-layer architecture. It encourages developers to implement their own cross-layer interactions without compromising their existing NS-Miracle installation. Download Now
Monologue for ns-miracle
An implementation of a two-state Time Continuous Semi-Markov Process for voice activity modeling, including VAD (Voice activity detector), fill-in, and hangover modes. Download Now
Conversation for ns-miracle
An implementation of the complex Stern Model (an eight-state Continuous Markov Chain) suited to simulate a conversation with correlation between two interlocutors using a master-slave archetype. Download Now
Video for ns-miracle
A framework for evaluating the quality of service of video communications in ns-miracle. It interacts with existing video codecs (ffmpeg) and evaluation tools (evalvid) to simulate video stream transmission and evaluate metrics like PSNR and MOS. Download Now
RTP FEC (Forward Error Correction)
Provides FEC functionality for CBR applications, according to RFC 2733. The encoder offers three coding schemes (1/2, 2/3, and 24/35), and the decoder uses Gaussian elimination for decoding. Download Now