In computer network research, network simulation is a technique whereby a software program replicates the behavior of a real network. A network simulator is a software program that can predict the performance of a computer network or a wireless communication network.
Since communication networks have become too complex for traditional analytical methods to provide an accurate understanding of system behavior, network simulators are used. In simulators, the computer network is modeled with devices, links, applications, etc., and the network performance is reported. This is achieved by calculating the interactions between the different network entities such as routers, switches, nodes, access points, links, etc.
Mathematical models (such as delay, mobility and queuing models etc.) are used to calculate network parameters while simulating. Network simulator is mainly used to create a novel arbitrary network simulation for a wide variety of wireless networks.
Simulators come with support for the most popular technologies and networks in use today such as 5G, Internet of Things (IoT), Wireless LANs, mobile ad hoc networks, wireless sensor networks, vehicular ad hoc networks, cognitive radio networks, LTE etc.
Network simulators provide a cost-effective method for
5G-NR capacity, throughput and latency analysis
Network R & D (More than 70% of all Network Research paper reference a network simulator)
Defense applications such as HF / UHF / VHF Radio based MANET Radios, Tactical data links etc.
IOT, VANET simulations
UAV network/drone swarm communication simulation
Machine Learning: Testing ML algorithms for optimizing network parameters, generating synthetic data training ML algorithms on networks
These are important tools used in the simulation process.
- Stochastic Simulation Tool: This type of tool is realistic, producing the accurate outputs during simulation. It consists of elements for time elapsing and random values. Examples are Customer service centers and observing traffic patterns in the specific grid.
- Non-Terminating
- Steady-state
- Dynamic state
- Terminating
- Non-Terminating
- Deterministic Simulation Tool: The chaotic model is the best example of deterministic simulation tools.
It has non-random and constant values to construct a system model. Investigation takes place in every simulation process for selecting the value. Because of, non-random values this model provides a constant result for particular inputs. - Discrete event: Most simulators use discrete event simulation in which the modeling of systems in which state variables change at discrete points in time. This kind of simulation is organized by time-based events. If a new event is entered into this simulator, it waits until the execution of previous nodes. It follows the queue data structure for reading the events in the queue. Logic-test simulators, computers, and fault-tree are some of the tools used under discrete event simulation. The best suitable example for this simulator is an agent-based simulator. Here, mobile entities are said to be an agent. The behavior of the network and the various applications and services it supports can then be observed in a test lab; various attributes of the environment can also be modified in a controlled manner to assess how the network/protocols would behave under different conditions.
- Hybrid and Continuous Events
- Local and Distributed Simulators: Local simulators are run based on some individual behavior of a machine or network interconnection. In the distributed simulator the models are run depending on the interconnection of the network via the internet. The distributed simulations are always known as the scattering of a simulation process in various host computers.
NS2 /NS3
NS2 (Network Simulator Version-2) is an open source discrete event simulator designed especially for network
research. It provides support for both wired and wireless simulation of functions and protocols such as TCP, UDP etc. NS2 is one of the popular simulators due to its flexibility and modular behavior. It is written in two key languages: C++ and Object-Oriented Tool Command Language (OTcl). C++ defines the internal mechanism of simulation objects. OTcl is used for users to control the simulation scenario and schedule the events. The C++ and the OTcl are linked together using TclCL.
NS2 performs simulation to explore different issues like protocol interaction, congestion control, effect of network dynamics, scalability etc. It runs on the right kind of scenario which includes but is not limited to the topology size, density distribution, traffic generation, membership distribution, real-time variance of membership, network dynamics etc. NS2 outputs either text-based or animation-based simulation results.
The NS3 simulator is a discrete-event network simulator targeted primarily for research and educational use.
It is licensed under the GNU GPLv2 license, and is available for research and development-3. It defines a
model of working procedure of packet data networks, and provides an engine for simulation. The simulator is entirely written in C++ with optional python bindings. Simulation scripts can therefore be written in C++ or in Python
QualNet
It is a network evaluation software and is entirely modeled as a finite state machine. QualNet is engineered on a layered architecture comprising of Application, Transport, MAC and Physical layers. It can simulate a mixture of both wired and wireless networks. Unlike the NS simulator, QualNet can simulate multiple wireless technologies including 802.11s draft. It supports plenty of mobility models including the Group mobility model, Random waypoint model and Trace-based models. QualNet is equipped with an extensive range of libraries for simulating a variety of networks like WiFi, Sensor networks, MANET and WiMAX
It is a simulator for commercial purposes to simulate ad-hoc networks. This platform is mainly used for creating new protocols, designing the wireless and wired network, and protocols enhancement. This simulator provides a source code for developing or modifying the functions. C-based Parsec language is used to write the QualNet Simulator and upper level of GloMoSim protocol.
Features of QualNet: Simple to use for HetNets and other networks; Extensibility; Speed; and Scalability
OMNeT++
OMNeT++ (Objective Modular Network Tested in C++) is an open source, extensible, modular, component-based discrete event simulator tool like NS-2 and NS-3 to simulate networks both wired and wireless. It is completely written in C++. It is mostly used in research and educational purposes and in the global scientific community.It offers an Eclipse-based IDE, a graphical runtime environment and a host of other tools.
It is a simulator that is specially designed for the discrete events in distributed systems and also it is extensible, open-source software, modular and extensible. This simulation includes various atomic behaviors of simplex models.
5G Network Simulator
Mobile communications systems have evolved through wireless technology innovation into 2G, 3G, and then 4G to keep pace with ever increasing voice and data traffic. 5G, short for 5th generation mobile networking or 5th generation wireless systems is the latest iteration of cellular technology that will provide seamless coverage, high data rate, low latency, and highly reliable communications. It will increase energy efficiency, spectrum efficiency, network efficiency and act as an information duct to connect billions of Internet of Things (IoT) devices. 5G will additionally also connect myriad of new devices including machines, sensors, actuators, vehicles, robots and drones, to support a much larger range of applications and services.
To ensure the successful operation of 5G, the evaluation of the performance of several promising technologies requires rigorous field trialing and validation. 5G testbeds are Testing and proving grounds, that are needed because 5G will utilise entirely new technologies than previous mobile networks and will spawn completely new applications and services that will spill over into ever facet of our lives and environment.
Due to its diverse field applications of 5G , it has brought researchers together from several domains and disciplines. One fundamental practice in such interdisciplinary research is to craft an artificial 5G test environment to implement, verify and validate concept before leading into prototyping.
One method is Fully Simulated environment, the lightest alternative. Mathematical models (such as delay, mobility and queuing models etc.) to calculate network parameters while simulating. Network simulator is mainly used to create a novel arbitrary network simulation for a wide variety of wireless networks. This kind of simulation process is mainly based on the links between two nodes or among the nodes. Some examples include simulators like NS2, QualNet, OPNET, TOSSIM. These environments are limited to interfacing with external.
- The complete implementation of end-to-end stack permits to deport the evaluation of first Transport Layer Protocol (TCP) performance on mmWave bands, and to incorporate new networking strategies for the better accessible spectrum utilization.
- Emulate the whole mobility protocols that involve dual connectivity, intra and inter-RAT handover.
- Channeling protocols for structural discovery and emulates the key core network components.
- To evaluate various designs, the MAC and PHY classes are technically altered to easy modifications.
Notable programming languages in 5G network
- OMNeT++ – C++
- Ns-3 – C++ and Python
- Open5GCore: It is the testbed platform of the upcoming mobile core networks and it is the first tool that executed over 3GPP 5G core network across the world. The prototype of this tool has designed to release 15 and 16 core network functionality, in a system fit for R&D behavior. Another main feature of this tool is it can be interoperable with both UE and 5G NR base stations.
References and Resources also include:
https://en.wikipedia.org/wiki/Network_simulation
https://www.phddirection.com/best-network-simulator/