You are on page 1of 29

Introduction to Network Simulator

TEAM TEACHING JTPT


Outline
1. Performance Evaluation of Network and System
2. Network Simulator vs Emulator
3. The Need of Network Simulator (and Emulator)
4. Inside of Network Simulators
Performance Evaluation of
Network and System
Commonly used performance Measurement in real
evaluation approach testbed

Computer Simulation

Formal Method /
Mathematical Analysis

Klaus Wehrle et al. (ed), “Modelling and Tools for Network Simulation”, Springer, 2010
Mathematical Analysis vs Simulation

Queueing System Model: set of mathematical


formulas to approximately model the network
 Arrival process
 Service time
 Buffer size

𝝁
𝞴
Arrival
...
process Queue / Buffer Server
Mathematical Analysis vs Simulation

An event generated by the laptop Simulator


 Set of input data/events (what, when, and how)
 Process of data (discrete / continuous time)
 Log of data output & processing (delay,
throughput, packet-loss, timestamp, etc.)
 Statistical analysis (mean, variance, etc.)
 Simulation run-time (time-span / event-trigger)
Measurement
Network Simulator vs
Emulator
An Intuitive Comparison
Intuitive Comparison

Parameters Network Simulator Network Emulator


Approach Mathematical model Virtual device / environment
Evaluation communication/network Communication and computation
Implementation Source code / software Software / VM / Container
Complexity Low High
Network Simulator

Output:
Input:
1. Delay/latency
1. Protocols
2. Throughput
2. Network parameters Mathematical Model 3. Packet-loss
3. Event generators (Stochastic Process) 4. Log of simulation
4. Etc.
5. Etc.
Network Simulator
Source codes:
o Matlab
o Python
Software / Source codes o Java
o C/C++
o Etc.
Input: Output:
1. Protocols 1. Delay/latency
2. Network 2. Throughput
Mathematical Model
parameters 3. Packet-loss
3. Event generators
(Stochastic Process)
4. Log of simulation Software:
4. Etc. 5. Etc.
o NS2 / NS3
o OMNET++
o Packet Tracer
o OPNET Modeler
o Network Workbench
o Etc.
Network Emulator

Output:
Input:
1. Traffic generator
1. Protocols
Hardware/Software 2. Virtual Device
2. Network parameters
imitating 3. Orchestrator
3. Event generators
real network 4. Etc.
4. Etc.
Network Emulator

Software / VM / Container Examples:


o Iperf
Input:
1. Protocols
Output:
1. Traffic generator
o Apache JMeter
2. Network
parameters
Hardware/Software
imitating
2. Virtual Device
3. Orchestrator
o CORE (Common Open Research
3. Event generators 4. Etc.
4. Etc.
real network
Emulator)
o Mininet
o Etc.
Network Emulator

Source:
https://www.nrl.navy.mil/itd/ncs/products/core
https://github.com/coreemu/core
Network Emulator

Source:
http://mininet.org
https://github.com/mininet/mininet
The Need of Network
Simulator (and Emulator)
Advantage
1. Evaluating real devices and networks (testbed) is expensive
2. Experimental evaluation is done in a compressed time
3. The use of GUI and animation helps to understand the network
model and system easily
4. There is no need to provide complex mathematical analysis

Christopher A. Chung, “Simulation Modeling Handbook: A Practical Approach”, CRC Press, 2004
Disadvantage
1. Simulation & emulation can only achieve similar expected network
evaluation to some degrees of accuracy (due to the simplification
of network environment and interaction)
2. Simulation requires correct input data. Even though the model is
very good and close to the real device / environment, if the input
data is wrong, then the result will also be wrong.
3. Establishing simulation model is difficult.

Christopher A. Chung, “Simulation Modeling Handbook: A Practical Approach”, CRC Press, 2004
Inside of Network Simulators
Basic concept of network simulation model (backend)

Entities  things that can alter the state of the system in


the simulation

Queues  line in which the entities / events wait to be


executed

Resources  serving the entities in the queues

Christopher A. Chung, “Simulation Modeling Handbook: A Practical Approach”, CRC Press, 2004
Basic concept of network simulation model (backend)

Entities being served

Arriving Entities
...

Departing Entities
Queues Resources

Christopher A. Chung, “Simulation Modeling Handbook: A Practical Approach”, CRC Press, 2004
Components of Network Simulator
Simulation engine / backend

Frontend (optional)

Models (devices, links, protocols, etc.)

Preprocessing tools  carrying user input and configuration

Data postprocessing tools

Source: http://www.cs.tut.fi/kurssit/SGN-5876/netSimSGN.pdf
Components of Network Simulator
Cisco Packet Tracer

Tested end-devices, link, and


network device

Link Model
Type of Simulation
1. Continuous simulation  fine-grained simulation time to capture
(as much as possible) all state-changes
2. Discrete simulation  discrete time observation of all states (t0,
t0+𝜟t, t0+2𝜟t, …, tn)
3. Discrete event simulation  only focus on event changes,
simulation time follows the event changes

Source: http://www.cs.tut.fi/kurssit/SGN-5876/netSimSGN.pdf
Example of Network Simulator
OMNET++ (Discrete Event Simulation)

Source: https://omnetpp.org
Example of Network Simulator
NS3 (Discrete Event Simulation)

Source: https://www.nsnam.org
The task
1. Why are network simulators essential for education and research?
2. Please name several network simulators that you know and also the
pros and cons of using them.
3. Suppose you are assigned as a team leader for IoT project about
weather station monitoring system. You must determine the delay
and throughput of the system from sensor to cloud. What simulator
do you use to get those results? Why?
References
• Klaus Wehrle et al. (ed.), “Modelling and Tools for Network Simulation”,
Springer, 2010
• https://blog.iwl.com/blog/network-emulators-network-modelers-network-
simulators
• https://www.networkworld.com/article/3227076/lan-wan/network-simulation-
or-emulation.html
• https://www.nrl.navy.mil/itd/ncs/products/core
• https://github.com/coreemu/core
• http://mininet.org
• https://github.com/mininet/mininet
References
• Christopher A. Chung, “Simulation Modeling Handbook: A Practical Approach”,
CRC Press, 2004
• Dmitri A. Moltchanov, “Network Simulation and Simulators”, Lecture Note,
[Online]: http://www.cs.tut.fi/kurssit/SGN-5876/netSimSGN.pdf
• https://www.netacad.com/courses/packet-tracer
• https://omnetpp.org
• https://www.nsnam.org

You might also like