comparison of different network simulation tools - · pdf file ·...
TRANSCRIPT
University of Bremen – Communication Networks – www.comnets.uni-bremen.de
Comparison of Different Network Simulation Tools
2 University of Bremen – Communication Networks – www.comnets.uni-bremen.de
Overview
Network Simulator Overview
Comparison of Different Network Simulators Random Number Generators
Statistical Evaluation
Modules & Libraries
……
Other Network Simulation Tools
Network Simulator
A network simulator is a piece of software that simulates a network, without an actual network being present.
Purposes: To test scenarios that might be particularly difficult or
expensive to implement on real hardware/system
To test new networking protocols or changes to existing protocols in a controlled and reproducible environment
To predict the behavior of networks and applications under different scenarios (situations)
Network Simulation Software
Open source CNCL
openWNS
NS-2, NS-3
OMNET++
……
Commercial OPNET (but free for
academic use)
Telelogic Tau (SDL)
QualNet
……
Other discrete-event simulation software http://www.topology.org/soft/sim.html
OPNET
Provides a comprehensive development environment supporting the modeling of communication networks (include protocols, technologies) and distributed systems WLAN, UMTS, LTE, WiMAX, IPv6,
MANET, MPLS, Sensor Networks, etc. Perform discrete event simulations
Application performance management Network operations Capacity planning and design Network R&D
Environment incorporates tools for all phases of a study, including model design, simulation & data collection, and analysis
Hierarchical Models networks and subnetworks nodes, e.g., packet generators, queues,
processors process model: state diagram and C code
http://www.opnet.com/
CNCL: Communication Networks Class Library
Class Library in C++ with the following characteristics: tree like class structure
run time type information and test
weak typing and general container classes
general class library with basic data types
Portability
Main components for Simulation Random Numbers:
efficient & flexible generation
Statistical Evaluation:
Moments, Batch Means, LRE
(Pure) Event oriented scheduling
openWNS
Wireless Network Simulator (WNS) Wireless:
Model the properties of radio communication Model mobile nodes
Network: Build a network of communicating nodes Support multiple different node types Support different network protocols
Simulator: Build models to evaluate real systems (present and future) Discrete event-driven Stochastic
Example Scenarios:
Cellular (e.g. 3GPP LTE) IEEE 802.11g, s “WLAN” IEEE 802.16e, m “WiMAX” Personal Area Network (PAN)
SDL - Specification and Description Language
Formal specification languages
Performance evaluation of formally specified protocols by means of simulation and emulation
Prediction of hardware requirements, e.g. used amount of memory and whether real-time conditions are met
Emulation of SDL implementations for target processor systems
In Comnets, only simulation is considered
SDL: Hierarchy and Communication
Hierarchy: Environment (Umgebung)
System contains one or more blocks
Block can consist of blocks (recursive)
Block contains one or more processes
Process
Communication System communicates with the environment via channels (Kanäle)
Blocks communicate via channels
Processes communicate via signal routes (Signalwege)
Processes can create other processes and can terminate themselves
Communication is realized by messages that are called signals. Signals are generated and consumed by processes and forwarded by blocks.
Building a simulation using SDL
Tool to develop SDL programs: Telelogic Tau Graphical editor with online syntax check
for system, block and process level
syntactic and semantic analysis
SDL to C translation
Optionally: Editing C files (text) for Abstract Data Types (ADTs)
Compilation of all C files into object files
Compilation of special C files shipped with the Telelogic Tau tool which contain the code for process control, signal control and scheduling
Linking the files to executable simulator
SDL specification
real scenario
C implementation
simulation run
statistical evaluation
compilation
Comparison of Different Network Simulators - Random Number Generators CNCL
6 Base generators (CNRNG): ACG, Fibo, File, LCG, MLCG, Taus 20 Distributions (CNRandom): e.g. NegExp, Normal, HyperExp, Binomial,
Uniform, Erlang, poission, rayleigh
OPNET Default: based on the RNG of the operation system, has a period of 231-1
Sun Solaris: random ( ) Microsoft Windows: random ( ) Random numbers are drawn from one random number sequence
initialized with the value of the “seed” environment attribute In the latest version of OPNET, there is a newer random number generator:
"Mersenne-Twister“ which generates higher quality random numbers with a period of 2607-1 Reference: http://en.wikipedia.org/wiki/Mersenne_twister
Other alternative method: use the RNG from CNCL Reference: M. Becker, T. L. Weerawardane, X. Li and C. Görg, "Extending OPNET
Modeler with External Pseudo Random Number Generators and Statistical Evaluation by the Limited Relative Error Algorithm" in COST Action 285: Modeling and Simulation Tools for Research in Emerging Multi-Service Telecommunications
22 Distributions available: e.g. NegExp, Normal, HyperExp, Binomial, Uniform, Erlang, poission, rayleigh, Pareto, Laplace
Comparison of Different Network Simulators - Random Number Generators
openWNS Uses boost C++ library “Random” Default uniform RNG is Mersenne Twister MT19937
Negligible correlation Period: 219937 – 1 Fast
Many distributions available
SDL (Telelogic Tau)
Not include any RNG, needs to use external RNGs (e.g. from CNCL)
Matlab R12 lagged Fibonacci
NS-2 MRG32k3a
Comparison of Different Network Simulators Programming Language
Statistical Evaluation
Results Modules
CNCL C++ Moments Batch Means (BM) LRE (cdf, ccdf, rel. error, correlation factor)
-> Log files Base classes: • CNCL • CNObject • CNClass • CNParam Do not define a specific network model
OPNET/ OMNET++
C, C++ Moments cdf, pdf, etc (LRE and BM needs to use CNCL)
GUI or Log files
Traffic Model, TCP, UDP IPv4, IPv6, UMTS, Ethernet, WLAN, WiMAX, ATM, etc.
openWNS Source code: C++ Configuration: Python
Moments cdf, pdf, LRE (BM needs to use CNCL)
GUI or Log files
Traffic Model, TCP, UDP IPv4, Ethernet, WLAN, WiMAX, LTE, WiMedia, OFDMA, channel model, etc
SDL SDL Telelogic Tau - SDL to C translation
needs to use CNCL or other tools for statistical evaluation
-> Log files
Other Network Simulation Tools
OMNET++ an extensible, modular, component-based C++ simulation library
and framework
OMNeT++ is free for academic and non-profit use, and it is a widely used platform in the global scientific community
a discrete event simulation environment with GUI support
for the simulation of communication networks, complex IT systems, queueing networks or hardware architectures
simulation models: TCP/IP networks, peer-to-peer networks, LAN/MAN protocols, Ad-hoc, wireless and sensor networks.
the software can be obtained at:
– http://www.omnetpp.org
NS-2 Modified from REAL Network Simulator A discrete event simulator
Packets, links, queues, protocols Simulation of data packet flow Link layer features Wired and wireless features
Simulation platform Freely distributed, open source Developed by researchers Extended to consider current developments
Modeling Network protocols Collection of Various protocols at multiple layers
TCP(reno, tahoe, vegas, sack) MAC(802.11, 802.3, TDMA) Ad-hoc Routing (DSDV, DSR, AODV) Mobiwan (MIPv6) Sensor Network (diffusion, gaf), Bluetooth. UMTS, GPRS, Multicast protocols, Satellite protocols, and many others
NS-2 (cont’) Operating System (OS)
Linux (Mandrake, Debian, Suse) FreeBSD SunOS, Solaris Windows9x/2000/XP Versions later than 2.1b9 of ns work under Windows using Cygwin
C++ compiler (gcc or Visual C++) TCL / TK Follow-up simulation tool: NS-3
Download NS-2
Website: http://www.isi.edu/nsnam/ns/ns-build. html
Install ns-2 on Debian:
Website: http://wiki.splitbrain.org/ns2
Trouble shooting, Bug Fixes, and Help
Website: http://www.isi.edu/nsnam/ns/ns-problems.html
QualNet
QualNet A network evaluation software that predicts wireless, wired and
mixed-platform network and networking device performance. For the testing, optimization and integration of several network
technologies in a lab environment. Provide advanced Propagation (ALE/ASAPS, TIREM, Urban
Propagation), Advanced Wireless, Cellular, Military Radios, Multimedia and Enterprise, Network Emulation Interface, Satellite, and Standard Interfaces.
Designed to take full advantage of the multi-threading capabilities of multi-core 64-bit processors, QualNet supports simulation of thousands of network nodes.
The software can be obtained at: - http://www.qualnet.com/products/download.php.
UNDERSTANDING DEPENDENT RANDOM NUMBERS
Overview
The effect of using dependent RNG’s
Modeling MM1 queuing system using OPNET
Simulation results
Dependent RNG’s
It is often a mistake to use the same type of base RNG for different distributions in a simulation.
If the seed number of the used RNG’s are the same or even different but not far away from each other then a correlation between them will exist.
This leads to wrong results.
It will be clear later in this presentation what is the effect of dependent RNG’s and how it is effecting the results
MM1 queuing system
MM1 queuing system will be used since it’s the simplest system where the theoretical results are already known.
The MM1 system will have the following parameters: λ = 4
μ = 5
ρ = 4 / 5 = 0.8
The theoretical results are: Mean queue length LQ = ρ2 / (1 – ρ) = 3.2
Mean queue waiting time = WQ = LQ / λ = 0.8
MM1 model in OPNET
Simulations
Both the arrival rate and the service rate are negative exponentially distributed The MM1 system needs two RNG’s to be simulated
Two simulations are performed where:
The first simulation is performed with OPNET RNG (which is
mainly the independent case)
The second simulation is preformed with Multiplicative Linear Congruential RNG, where both distributions use it with the same seed number (This is the dependent case)
The mean queue length and the mean queue waiting time are
evaluated
Simulation results
Mean Queue waiting time Mean Queue length
Conclusion
When performing a simulation one should be careful in using RNG’s
In order to have correct results, the used RNG’s:
If different object for the RNG’s of the same type are used
then the seed number of them should be as far as possible in order not to get correlation between them.
Or using the same base RNG, for all the distributions.
Or using different object for the RNG’s but with different types.