Network simulation: Difference between revisions

Content deleted Content added
Nicmcd (talk | contribs)
m Fixed URL to supersim simulator
Tag: Reverted
Minor Edits
 
(35 intermediate revisions by 19 users not shown)
Line 1:
{{Short description|Simulating computer networks}}
{{refimprove|date=December 2014}}
{{Use American English|date = March 2019}}
In [[communication]] and [[computer network]] research, '''network simulation''' is a technique where a program models the behavior of a network either by calculating the interaction between the different network entities (hosts/[[Router (computing)|packet]]s, etc.) using mathematical formulas, or actually capturing and playing back observations from a production network. 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 would behave under different conditions.
 
{{More citations needed|date=September 2023}}
 
In [[communication]] and [[computer network]] research, '''network simulation''' is a technique wherewhereby a software program modelsreplicates the behavior of a real network. eitherThis is achieved by calculating the interactioninteractions between the different network entities (hosts/[[Routersuch (computing)|packet]]sas routers, etc.)switches, usingnodes, mathematicalaccess formulaspoints, orlinks, actuallyetc.<ref>{{Cite capturingbook |last1=Wehrle |first1=Klaus |url=https://books.google.com/books?id=CvUvxpSe8NoC&dq=%22Network+simulation%22&pg=PA49 |title=Modeling and playingTools backfor observationsNetwork fromSimulation a|last2=Günes production|first2=Mesut network|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]] program that predictscan predict the behaviorperformance of a [[computer network]] or a wireless communication network. Since communication Networksnetworks have become too complex for traditional analytical methods to provide an accurate understanding of system behavior, network simulatorsimulators are used. In simulators, the computer network is typically modeled with devices, links, applications, etc., and the network performance is analysedreported. Simulators typically come with support for the most popular technologies and networks in use today. such as [[5G]], [[Internet of Things]] (IoT), [[Wireless LAN]]s, [[mobile ad hoc network]]s, [[wireless sensor network]]s, [[vehicular ad hoc network]]s, [[Cognitive Radio Networks|cognitive radio networks]], [[LTE (telecommunication)|LTE]]
 
==Simulations==
Most of the commercial [[Simulation|simulators]] are [[GUI]] driven, while some network simulators are [[Command-line interface|CLI]] driven. The network model / configuration describes the state of the network (nodes, routers, switches, links) and the events (data transmissions, packet error, etc.). AnOutput importantresults outputwould ofinclude simulationsnetwork-level aremetrics, thelink metrics, device metrics etc. Further, drill down in terms of simulations [[tracing (software)|trace]] files would also be available. Trace files log every packet, every event that occurred in the simulation and areis used for analysis. NetworkMost network simulators canuse also[[discrete provideevent othersimulation]], toolsin towhich facilitatea visual analysislist of trendspending "events" is stored, and potentialthose troubleevents spotsare 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 (networking)|downstream]] node.<section end=transclusionLabelG20170307T1400GMT1 />
 
==Network Emulationemulation==
Most network simulators use [[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 of the arrival of that packet at a downstream node.
A[[Network network emulatoremulation]] 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 reachare sent to the emulation server (where the virtual network is simulated). The real packet gets 'modulated' into a simulation packet. The Simulationsimulation packet gets demodulated into a real packet after experiencing effects of loss, errors, delay, [[jitter]] etc., thereby transferring these network effects into the real packet. Thus it is as-if the real packet flowed through thea real networksnetwork but in reality it flowed through the simulated network.
Simulation of networks is a very complex task. For example, if congestion is high, then estimation of the average occupancy is challenging because of high variance. To estimate the likelihood of a buffer overflow in a network, the time required for an accurate answer can be extremely large. Specialized techniques such as "control variates" and "importance sampling" have been developed to speed simulation.<ref name=AG07>Asmussen, Søren, Glynn, Peter W., 2007. "Stochastic Simulation: Algorithms and Analysis". Springer. Series: Stochastic Modelling and Applied Probability, Vol. 57, 2007.</ref><ref>Banks, Carson, Nelson Nicol. "Discrete Event System Simulation". Pearson</ref>
 
==Network Emulation==
A network emulator 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 reach the emulation server (where the virtual network is simulated. The real packet gets modulated into a simulation packet. The Simulation packet gets demodulated into real packet after experiencing effects of loss, errors, delay, jitter etc., thereby transferring these network effects into the real packet. Thus it is as-if the real packet flowed through the real networks but in reality it flowed through the simulated network.
 
Emulation is widely used in the design stage for validating communication networks prior to deployment.
 
==ExamplesList 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)|ns Simulator]] (open source)
* [[GloMoSim]]
* [[OPNET]] (proprietary software)
 
* [[NetSim]] (proprietary software)
There are also some notable commercial network simulators.
* [https://github.com/booksim/booksim2 BookSim] (open source cycle-accurate flit-level simulator)
* [https://github.com/ssnetsim/supersim SuperSim] (open source cycle-accurate flit-level simulator)
 
==Uses of network simulators ==
Network simulators provide a cost -effective method for
 
* 5G, 6G, NTN coverage, capacity, throughput and latency analysis
a. Network design validation for enterprises / data centers /sensor networks etc.<br />
* Network R & D (More than 70% of all Network [[Academic paper|Research paper]] reference a network simulator)
b. Impact assessment for modification / additions to existing network<br />
* Defense applications such as [[UHF]]/[[VHF]]/L-Band Radio based [[MANET]] Radios, Dynamic TDMA MAC, PHY Waveforms etc.
c. Network protocol R & D<br />
* [[Internet of things|IOT]], [[VANET]] simulations
d. Defense applications and [[Network-centric warfare]]
* [[Unmanned aerial vehicle|UAV]] network/[[wikt:drone|drone]] swarm communication simulation
* [[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
 
1.* Model the [[network topology]] specifying the nodes on the network and the links between those nodes <br />
2.* Model the application flow (traffic) between the nodes<br />
3.* Providing network performance metrics such as output<brthroughput, />latency, error, etc., as output
* Evaluate protocol and device designs
4. Visualization of the packet flow<br />
5.* LoggingLog ofradio measurements, packet /and events for drill -down analyses /and debugging
 
==See also==
*[[Channel model]]
*[[Mobility model]]
*[[Network emulation]]
*[[Network topology]]
*[[Network traffic simulation]]
*[[Queueing theory]]
*[[Traffic generation model]]
*[[Simulation language]]
*[[Simulation software]]
*[[Wireless sensor network#Simulation of WSNs|Wireless sensor network simulators]]
 
==References==
{{reflist}}
 
==External links==
* [http://www.idsia.ch/~andrea/sim/simnet.html List of Network Simulation Tools]
 
[[Category:Computer networking]]
[[Category:Telecommunications engineering]]
[[Category:Computer network analysis]]
[[Category:Modeling and simulationSimulation]]
[[Category:Military radio systems]]