# Network simulation

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Network_simulation
> Markdown URL: https://mediated.wiki/source/Network_simulation.md
> Source: https://en.wikipedia.org/wiki/Network_simulation
> Source revision: 1316741332
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

{{Short description|Simulating computer networks}}
{{Use American English|date = March 2019}}

{{More citations needed|date=September 2023}}

In [computer network](/source/computer_network) research, '''network simulation''' is a technique whereby a software program replicates the behavior of a real network. This is achieved by calculating the interactions between the different network entities such as routers, switches, nodes, access points, links, etc.<ref>{{Cite book |last1=Wehrle |first1=Klaus |url=https://books.google.com/books?id=CvUvxpSe8NoC&dq=%22Network+simulation%22&pg=PA49 |title=Modeling and Tools for Network Simulation |last2=Günes |first2=Mesut |last3=Gross |first3=James |date=2010-09-22 |publisher=Springer Science & Business Media |isbn=978-3-642-12331-3 |language=en}}</ref> Most simulators use discrete event simulation in which the modeling of systems in which state variables change at discrete points in time.  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.

==Network simulator==
A '''network simulator''' is a [software](/source/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. Simulators come with support for the most popular technologies and networks in use today such as [5G](/source/5G)/6G, Satellite Networks, [internet of things](/source/Internet_of_Things) (IoT), [wireless LAN](/source/wireless_LAN)s, [mobile ad hoc network](/source/mobile_ad_hoc_network)s, [wireless sensor network](/source/wireless_sensor_network)s, [vehicular ad hoc network](/source/vehicular_ad_hoc_network)s,

==Simulations==
Most of the commercial [simulators](/source/Simulation) are [GUI](/source/GUI) driven, while open source network simulators are [CLI](/source/Command-line_interface) driven. The network model/configuration describes the network (nodes, routers, switches, links) and the events (data transmissions, packet error, etc.). Output results would include network-level metrics, link metrics, device metrics etc. Further, drill down in terms of simulations [trace](/source/tracing_(software)) files would also be available. Trace files log every packet, every event that occurred in the simulation and is used for analysis. Most network simulators use [discrete event simulation](/source/discrete_event_simulation), in which a list of pending "events" is stored, and those events are processed in order, with some events triggering future events—such as the event of the arrival of a packet at one node triggering the event the arrival of that packet at a [downstream](/source/Downstream_(networking)) node.<section end=transclusionLabelG20170307T1400GMT1 />

==Network emulation==
[Network emulation](/source/Network_emulation) allows users to introduce real devices and applications into a test network (simulated) that alters packet flow in such a way as to mimic the behavior of a live network. Live traffic can pass through the simulator and be affected by objects within the simulation.

The typical methodology is that real packets from a live application are sent to the emulation server (where the virtual network is simulated). The real packet gets 'modulated' into a simulation packet. The simulation packet gets demodulated into a real packet after experiencing effects of loss, errors, delay, [jitter](/source/jitter) etc., thereby transferring these network effects into the real packet. Thus it is as-if the real packet flowed through a real network but in reality it flowed through the simulated network.

Emulation is widely used in the design stage for validating communication networks prior to deployment.

==List of network simulators==
There are both free/open-source and proprietary network simulators available. Examples of notable open source network simulators / emulators include:  
<!-- Only add simulators that have a wp article, and are mentioned in many research papers. Search at http://scholar.google.com. Do not add external links here. -->
* [ns Simulator](/source/ns_(simulator))
* [GloMoSim](/source/GloMoSim)

There are also some notable commercial network simulators such as OPNET and NetSim.

==Uses of network simulators ==
Network simulators provide a cost-effective method for

* 5G, 6G, NTN coverage, capacity, throughput and latency analysis
* Network R & D (More than 70% of all Network [Research paper](/source/Academic_paper) reference a network simulator) 
* Defense applications such as [UHF](/source/UHF)/[VHF](/source/VHF)/L-Band Radio based [MANET](/source/MANET) Radios, Dynamic TDMA MAC, PHY Waveforms etc. 
* [IOT](/source/Internet_of_things), [VANET](/source/VANET) simulations 
* [UAV](/source/Unmanned_aerial_vehicle) network/drone swarm communication simulation
* [Machine Learning](/source/Machine_Learning) for communication networks
* Education: Online courses, Lab experimentation, and R & D. Most universities use a network simulator for teaching / R & D since it is too expensive to buy hardware equipment

There are a wide variety of network simulators, ranging from the very simple to the very complex. Minimally, a network simulator must enable a user to

* Model the [network topology](/source/network_topology) specifying the nodes on the network and the links between those nodes 
* Model the application flow (traffic) between the nodes
* Providing network performance metrics such as throughput, latency, error, etc., as output
* Evaluate protocol and device designs 
* Log radio measurements, packet and events for drill-down analyses and debugging

==See also==
*[Network emulation](/source/Network_emulation)
*[Traffic generation model](/source/Traffic_generation_model)

==References==
{{reflist}}

Category:Computer networking
Category:Telecommunications engineering
Category:Computer network analysis
Category:Simulation
Category:Military radio systems

---
Adapted from the Wikipedia article [Network simulation](https://en.wikipedia.org/wiki/Network_simulation) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Network_simulation?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
