Network simulation
Encyclopedia
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/routers, data link
s, packets, 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. When a simulation program is used in conjunction with live applications and services in order to observe end-to-end performance to the user desktop, this technique is also referred to as network emulation
.
is a software program that imitates the working of a computer network. In simulators, the computer network is typically modelled with devices, traffic etc and the performance is analysed. Typically, users can then customize the simulator to fulfill their specific analysis needs. Simulators typically come with support for the most popular protocols in use today, such as WLAN, Wi-Max, UDP
, and TCP
.h
driven, while some network simulators require input scripts or commands (network parameters). The network parameters describe the state of the network (node placement, existing links) and the events (data transmissions, link failures, etc). An important output of simulations are the trace
files. Trace files can document every event that occurred in the simulation and are used for analysis. Certain simulators have added functionality of capturing this type of data directly from a functioning production environment, at various times of the day, week, or month, in order to reflect average, worst-case, and best-case conditions. Network simulators can also provide other tools to facilitate visual analysis of trends and potential trouble spots.
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.
Some network simulation problems, notably those relying on queueing theory
, are well suited to Markov chain
simulations, in which no list of future events is maintained and the simulation consists of transiting between different system "states" in a memoryless fashion. Markov chain simulation is typically faster but less accurate and flexible than detailed discrete event simulation.Some simulations are cyclic based simulations and these are faster as compared to event based simulations.
Simulation of networks can be a difficult 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.
Communication
Communication is the activity of conveying meaningful information. Communication requires a sender, a message, and an intended recipient, although the receiver need not be present or aware of the sender's intent to communicate at the time of communication; thus communication can occur across vast...
and computer network
Computer network
A computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information....
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/routers, data link
Data link
In telecommunication a data link is the means of connecting one location to another for the purpose of transmitting and receiving information. It can also refer to a set of electronics assemblies, consisting of a transmitter and a receiver and the interconnecting data telecommunication circuit...
s, packets, 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. When a simulation program is used in conjunction with live applications and services in order to observe end-to-end performance to the user desktop, this technique is also referred to as network emulation
Network emulation
Network emulation is a technique where the properties of an existing, planned and/or non-ideal network are simulated in order to assess performance, predict the impact of change, or otherwise optimize technology decision-making.-Methods of emulation:...
.
Network simulator
A network simulatorNetwork simulator
A network simulator is a piece of software or hardware that predicts the behavior of a network, without an actual network being present.-Uses of network simulators:Network simulators serve a variety of needs...
is a software program that imitates the working of a computer network. In simulators, the computer network is typically modelled with devices, traffic etc and the performance is analysed. Typically, users can then customize the simulator to fulfill their specific analysis needs. Simulators typically come with support for the most popular protocols in use today, such as WLAN, Wi-Max, UDP
User Datagram Protocol
The User Datagram Protocol is one of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol network without requiring...
, and TCP
Transmission Control Protocol
The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...
.h
Simulations
Most of the commercial simulators are GUIGui
Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...
driven, while some network simulators require input scripts or commands (network parameters). The network parameters describe the state of the network (node placement, existing links) and the events (data transmissions, link failures, etc). An important output of simulations are the trace
Tracing (software)
In software engineering, tracing is a specialized use of logging to record information about a program's execution. This information is typically used by programmers for debugging purposes, and additionally, depending on the type and detail of information contained in a trace log, by experienced...
files. Trace files can document every event that occurred in the simulation and are used for analysis. Certain simulators have added functionality of capturing this type of data directly from a functioning production environment, at various times of the day, week, or month, in order to reflect average, worst-case, and best-case conditions. Network simulators can also provide other tools to facilitate visual analysis of trends and potential trouble spots.
Most network simulators use discrete event simulation
Discrete Event Simulation
In discrete-event simulation, the operation of a system is represented as a chronological sequence of events. Each event occurs at an instant in time and marks a change of state in the system...
, 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.
Some network simulation problems, notably those relying on queueing theory
Queueing theory
Queueing theory is the mathematical study of waiting lines, or queues. The theory enables mathematical analysis of several related processes, including arriving at the queue, waiting in the queue , and being served at the front of the queue...
, are well suited to Markov chain
Markov chain
A Markov chain, named after Andrey Markov, is a mathematical system that undergoes transitions from one state to another, between a finite or countable number of possible states. It is a random process characterized as memoryless: the next state depends only on the current state and not on the...
simulations, in which no list of future events is maintained and the simulation consists of transiting between different system "states" in a memoryless fashion. Markov chain simulation is typically faster but less accurate and flexible than detailed discrete event simulation.Some simulations are cyclic based simulations and these are faster as compared to event based simulations.
Simulation of networks can be a difficult 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.
Examples of network simulators
Examples of notable network simulation software are, ordered after how often they are mentioned in research papers:- ns2/ns3Ns (simulator)ns is a name for series of discrete event network simulators, specifically ns-1, ns-2 and ns-3...
- OPNETOPNETOPNET Technologies, Inc. is a software business that provides performance analysis for computer networks and applications.The company was founded in 1986 and went public in 2000. It is headquartered in Bethesda, Maryland and has offices in Cary, North Carolina; Nashua, New Hampshire; Dallas,...
- NetSimNetSimNetSim is a popular network simulation tool used by the academic community for teaching, network lab experimentation and research. Various technologies such as Ethernet, Wireless LAN, Wi Max, TCP, IP, etc are covered in NetSim.-History:...
See also
- Channel model
- Mobility modelMobility modelMobility models represent the movement of mobile users, and how their location, velocity and acceleration change over time. Such models are frequently used for simulation purposes when new communication or navigation techniques are investigated...
- Network emulationNetwork emulationNetwork emulation is a technique where the properties of an existing, planned and/or non-ideal network are simulated in order to assess performance, predict the impact of change, or otherwise optimize technology decision-making.-Methods of emulation:...
- Network simulatorNetwork simulatorA network simulator is a piece of software or hardware that predicts the behavior of a network, without an actual network being present.-Uses of network simulators:Network simulators serve a variety of needs...
- Network traffic simulationNetwork traffic simulationNetwork traffic simulation is a process used in telecommunications engineering to measure the efficiency of a communications network.-Overview:...
- Queueing theoryQueueing theoryQueueing theory is the mathematical study of waiting lines, or queues. The theory enables mathematical analysis of several related processes, including arriving at the queue, waiting in the queue , and being served at the front of the queue...
- Traffic generation model