Download Modeling and Simulation to Study Wired/Wireless Network

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Wake-on-LAN wikipedia , lookup

Peering wikipedia , lookup

Internet protocol suite wikipedia , lookup

Airborne Networking wikipedia , lookup

Deep packet inspection wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Transcript
Modeling & Simulation Tools for
Wired/Wireless Networks
Bill Phillips
07 April 2006
Overview
• Purpose
– Survey several of the most common modeling and simulation
tools used by researchers and industry to predict
performance in wired and wireless networks
• Modeling Applications
–
–
–
–
–
Petri Nets
Georgia Tech Network Simulator (GTNetS)
OMNet++/OMNEST
NS-2 (Predecessors REAL & VINT)
OPNET
April 7, 2006
M & S Tools for Networks
2
Petri Nets Overview
• Initially created by C.A.
Petri in the 1960’s
• Motivation was to
provide a conceptual
view of the the
mathematics behind
distributed systems
• Petri Nets consist of
states and transitions,
and is very similar to a
standard flow chart
• Free app. Runs on UNIX or Windows using an emulator
• Petri Nets Forum (http://www.informatik.unihamburg.de/TGI/PetriNets/)
April 7, 2006
M & S Tools for Networks
3
Petri Nets Overview
• A graphical computer language used to model systems that
exhibit the properties of concurrency and resource sharing.
• Time/State based modeling tool, there is no way to add position
information to the model.
• Good for modeling protocols, but not systems
April 7, 2006
M & S Tools for Networks
4
Space Time Petri Net (STPN)
• Formal modeling language which is an extends Petri
Nets to include spatial and time information.
• Allows dynamic topologies and broadcast
transmissions, but no RF propagation effects.
• Includes a battery model, sensor node model, sensor
network model, receiving module, processing module,
and broadcasting
module
• Includes simulation
analysis tools
April 7, 2006
M & S Tools for Networks
5
Georgia Tech Network Simulator (GTNetS)
•
•
•
•
GTNetS is available free of charge at
(http://www.ece.gatech.edu/research/labs/MANIACS/GTNetS)
It is based on C++, command line driven (except the animation tool), and
runs only on UNIX
Capable of simulating several hundred thousand node networks.
The GTNets design architecture is structured on the OSI network
model
– there is clear and distinct separation of protocol stack layers
– packets in GTNets consist of protocol data units (PDUs) that are appended
and removed from the packet as it moves down and up the protocol stack
– simulation objects representing network nodes have one or more interfaces,
each of which can have an associated IP Address and an associated link
– Layer 4 protocol objects in GTNets are bound to ports, in a fashion nearly
identical to the binding to ports in real network protocols
– connections between protocol objects at the transport layer are specified
using a source IP, source port, destination IP, destination port number just
like actual TCP connections
– the interface between applications and transport protocols uses the familiar
connect, listen, send, and send to calls much like the ubiquitous sockets API
in Unix environments.
April 7, 2006
M & S Tools for Networks
6
GTNetS
• GTNetS is a newer modeling tool,
so it has fewer protocols available
in its standard library; however, all
the common TCP/IP, ATM, and
Ethernet algorithms are present
• GTNetS support node mobility
using both random waypoint and
specific waypoint models.
• There is support for statistics
gathering as well as an animation
tool that can be used to view
changes in the network topology
April 7, 2006
M & S Tools for Networks
Sample Animation
7
OMNeT++/OMNEST
• OMNet stands for Objective Modular Network
Testbed in C++.
• OMNeT++ was first released in 1995, is free for academic use,
and available in UNIX and Windows OS versions
• OMNEST is the name of the commercial version of OMNet++
and is in all ways identical to OMNet++
• The simulator can be used for:
–
–
–
–
–
–
–
traffic modeling of telecommunication networks
protocol modeling
modeling queuing networks
modeling multiprocessors and other distributed hardware systems
validating hardware architectures
evaluating performance aspects of complex software systems
... modeling any other system where the discrete event approach is
suitable.
• OMNet++ is available at (http://www.omnetpp.org/index.php)
April 7, 2006
M & S Tools for Networks
8
OMNeT++
• OMNeT++ can run
simulation equally
well from the
command line of
customizable GUI
• Many standard
models already
including internet
(IP, IPv6, MPLS,
etc), mobility and
ad-hoc protocols
• OMNeT++ simulations can feature varying user
interfaces for different purposes: debugging,
demonstration and batch execution.
April 7, 2006
M & S Tools for Networks
9
OMNet++ Model
•
•
•
An OMNeT++ model consists of
hierarchically nested modules
– There is no limit on the number
of nested modules
– Modules communicate by
passing messages to each other
– Messages can contain
arbitrarily data structures.
Modules usually have variable
parameters can change
depending on the simulation
scenario
Modules at the lowest level of
the module hierarchy
encapsulate behavior.
– These modules are termed
simple modules, and they are
programmed in C++ and using
the simulation library
containing OMNet++’s macro
language, NED.
April 7, 2006
M & S Tools for Networks
10
OMNeT++ Components
• simulation kernel library
• compiler for the NED topology
description language (nedc)
• graphical network editor for
NED files (GNED)
• GUI for simulation execution,
links into simulation
executable (Tkenv)
• command-line user interface
for simulation execution
(Cmdenv)
• graphical output vector
plotting tool (Plove)
• graphical output scalars
visualization tool (Scalars)
April 7, 2006
M & S Tools for Networks
11
NED (Macro language)
• Components (modules) are programmed in C++, then
assembled into larger components and models using
a high-level language (NED)
• The topology of a model is specified using the NED
language.
• The following is an example in NED of two nodes
passing information to each other
April 7, 2006
M & S Tools for Networks
12
Plove
• Plove is OMNet++’s graphics package
• Data can also be exported to other applications for
more detailed analysis
April 7, 2006
M & S Tools for Networks
13
NS-2
•
Origin 1989 as Real Network Simulator and VINT
•
•
•
Funded through DARPA, NSF, and various business/academic
organizations
Discrete event network simulator
Supports TCP, various routing protocols, multicast over wired/wireless
links, link layer, MAC layer too
Requires TCL scripting
Input scenario
•
•
•
•
Output statistics
Animation tool (nam)
Runs on UNIX OS or Windows using an emulator. Free application.
Official website: http://www.isi.edu/nsnam/ns
•
•
– Packet switch data network simulator written in C
– Network and Transport layer protocols
–
–
–
–
Topology
Protocols
Applications
Traffic Load
April 7, 2006
M & S Tools for Networks
14
NS-2
• Ns-2 is coded in C++
• Scenarios are run using the TCL/TK scripting language.
• The benefit in this approach is that time is saved by not
compiling the C++ code on each separate simulation run—the
model is compiled only a single time.
• TCL scripts define the scenario of interest, and also specifies
which of the ns-2 protocols will be utilized during a particular
simulation run as well as the initial network topology.
• Output statistics are gathered and animated using nam, which is
part of the ns-2 modeling package.
• If desired, traffic load and throughput statistics can be
displayed using the accompanying xgraph application, or saved in
a file for later analysis.
April 7, 2006
M & S Tools for Networks
15
TCL Overview
• Similar to other programing languages with some
peculiarities
– variables not declared and are all of generic type
• set a 3 instead of a=3
– mathematical operations cumbersome
• [expr 3+4]
returns the value 7
– use “$“ to read from a variable
• set a $b instead of set a b or a==b
equates a with b‘s value
– write output
• put “hello world“
outputs hello word
• put $a
outputs a‘s value
April 7, 2006
M & S Tools for Networks
16
XGraph
• NS-2 relies on XGraph in order to display simulation
results
• XGraph is a UNIX graphing application
April 7, 2006
M & S Tools for Networks
17
SensorViz
• SensorViz is a GUI based Scenario Generation Tool
• Add-on to NS-2
http://nesl.ee.ucla.edu/projects/sensorsim/
April 7, 2006
M & S Tools for Networks
18
NAM
April 7, 2006
M & S Tools for Networks
19
OPNET Modeler 9.0 Overview
•
•
•
•
Optimized Network Modeling Tool (www.opnet.com)
Mature application in development since 1986.
Graphical User Interface as well as animation tool
Modeling application can run on both UNIX and
Windows operating systems
• Ships with all the standard IETF RFC protocols
(TCP/IP, ATM, MPLS, CSMA, etc.)
• Free academic license although it is necessary to
provide an annual report and published papers to
OPNET.
April 7, 2006
M & S Tools for Networks
20
OPNET Modeler 9.0 Components
• Hierarchical modeling tool consisting of
–
–
–
–
–
–
Project Editor
Network Model
Node Model
Process Model
Various Editors (Statistics, Node, Probes, etc.)
Animation Tool
• Workflow
–
–
–
–
Create a network model
Choose statistics of interest
Run simulation
View and analyze results
April 7, 2006
M & S Tools for Networks
21
Project Editor
• Topmost hierarchy
for creating
network simulation
• Used to create
network model
template
• Choose scenario
• Define Global
environmental
variables
• Define simulation
constraints such as
duration, and
traffic levels
• Define necessary
statistics
• Run simulation
• View results
April 7, 2006
M & S Tools for Networks
22
Network Model
• Graphical
depiction of
network topology
• Create any
number of subnetworks
• Drag n’ Drop
interface
• Object Oriented
modeling
• Link connections
– Point-to-point
– Point-toMultipoint
– Radio
April 7, 2006
M & S Tools for Networks
23
Node Editor
• Node Model defines the internal
structure of the communication
nodes
• Node Modules
•
– Processor: primary building block,
sends/receives packets, overall
processing
– Queue: extended functionality of
processor, array of internal resources,
subqueues
– Transmitter: interface between internal
packet streams & external communication
links
– Receiver: interface between external
communication links & internal packet
streams
Module Connections:
– Packet Streams
• Red: Packets moving up the protocol stack
• Blue: Packets moving down protocol stack
– Static Wires
• Yellow: passing statistic info only
• Green: logical connections only
April 7, 2006
M & S Tools for Networks
24
Process Model Editor
• Controls the
underlying
functionality of nodes
• Consists of Finite
State Machines
(FSM)
• Connections represent
transitions between
states
• Arrow indicates initial
state
• Defines protocols,
resources,
applications,
algorithms, and
queuing policies
April 7, 2006
M & S Tools for Networks
25
Process Model Editor (cont)
• Customize states using C/C++
code
• Transition State Diagram
– Enter & Exit Executives:
code that is executed when a
state is entered or exited
– Unforced state (red): wait
for interrupt
– Forced state (green):
continual execution of state
– Transition executives: code
that is executed between
states
April 7, 2006
M & S Tools for Networks
26
OPNET Macros
• In addition to C/C++ coding, OPNET Modeler has
thousands of predefine macros to help streamline
custom coding
• Sample code using OPNET Macros below
April 7, 2006
M & S Tools for Networks
27
Packet Format Editor
• One of several custom protocol editors
• Used to define custom protocol packets
• Simple GUI for manipulating packet field size.
April 7, 2006
M & S Tools for Networks
28
Probe Editor
• Use to define which
statistics are collected
• Global Statistics
• Link Statistics
• Attribute Statistics
• Animation Statistics
April 7, 2006
M & S Tools for Networks
29
Antenna Pattern Editor
• Models the direction
dependent gain
properties of
antennas
• Gain patterns are
used to determine
gain values, given
knowledge of the
relative positions of
nodes
April 7, 2006
M & S Tools for Networks
30
Sample Output Statistics
• OPNET supports a
rich set of graphing
features
• Data can be
exported for
further analysis in
Excel or MATLAB
April 7, 2006
M & S Tools for Networks
31
Terrain Modeling Module (TMM)
• TMM allows the wireless
module to incorporate
environmental effects into
wireless network simulations.
• TMM imports and graphically
displays elevation information
from DTED and USGS DEM
formats, enabling accurate
calculation of signal strength
• Choice from several different
propagation models:
– Free Space
– Longley-Rice
– Terrain Integrated Rough
Earth Model (TIREM)
– Any custom model
April 7, 2006
• Provides the ability to create
elevation maps, line-of-sight
profiles, and signal-power
comparisons of mobile network
models.
M & S Tools for Networks
32
Detailed RF Pipeline Stages
•
•
Users can model RF propagation in as much detail as desired using a 13-stage RF
signal propagation pipeline
Transmitter Pipeline Stages
–
–
–
–
–
–
•
Receiver group: Create initial receiver group for each transmitter channel
Transmission delay: Calculate the time for the entire packet transmission
Closure: Determine whether a receiver channel can be affected by a transmission
Channel match: Classify the transmission with respect to the receiver
Transmitter antenna gain: Compute the associated transmitter antenna gain
Propagation delay: Calculate the time for the packet propagating from the transmitter
to the receiver
Receiver Pipeline Stages
–
–
–
–
–
–
–
–
Receiver antenna gain: Compute the associated receiver antenna gain
Receiver power: Compute the received power of the arriving packet
Background noise: Represent the effect of all noise sources.
Interference noise: Account for the situation that two packets arrive concurrently at
the same receiver channel
Signal-to-noise ratio: Compute the average SNR for the packet
Bit error rate: Derive the probability of bit errors
Error allocation: Estimate the number of bit errors in a packet
Error correction: Determine whether or not the arriving packet can be accepted
April 7, 2006
M & S Tools for Networks
33
OPNET Advantages Over NS-2
• OPNET’s has a GUI makes it easier to learn and use, while NS2’s command line interface is cumbersome
• NS-2 has fewer configurable parameters in its standard models
• OPNET has more standard protocols in its library, and has
undergone more rigorous testing
• OPNET animation tool allows for more sophisticated movies
• OPNET support terrain modeling and mobile nodes. NS-2 has
some documented errors when mobile scenarios are run in a
Windows operating environment
• OPNET has a robust user forum (over 3,000 universities and
Fortune 500 companies) as well as professional product support
April 7, 2006
M & S Tools for Networks
34
OPNET vs OMNeT++
• Both simulation packages are very similar
• OPNET has more available models since it has a large
user base and more commercial resources
• OPNET has a better animation tool, and more
sophisticated wireless propagation/terrain model
• OMNeT++ is a little easier to learn because its
interface is somewhat simpler and more integrated
than OPNET’s GUI. Also, it macro library is smaller.
• OMNeT++ is free with no strings attached, but
OPNET reserves the right to monitor user’s research
April 7, 2006
M & S Tools for Networks
35
free discrete-event simulation software
links
comments
Omnet++
Omnet++ is a discrete-event simulation software development environment written in C++, developed by Andras Varga
etc. This has a rapidly increasing user base now, with lots of useful modules, an active mailing list and even workshops.
Academic
free
UNIX,
Windows
Desmo-J
Discrete event simulation framework in Java.
Free
UNIX,
Windows
Ptolemy
Ptolemy is a discrete-event simulation environment, developed at University of California at Berkeley. Written in Java.
Free
UNIX,
Windows
C++SIM
Provided by Department of Computing Science, University of Newcastle upon Tyne, UK. It is a SIMULA-like simulation
environment in C++.
Free
UNIX,
Windows
adevs
Adevs (A Discrete EVent System simulator) is a C++ library for constructing discrete event simulations based on the
Parallel DEVS and Dynamic Structure DEVS formalisms. DEVS has been applied to the study of social systems,
ecological systems, computer networks and computer architecture, military systems at the tactical and theater levels...
By Jim Nutaro.
Free
UNIX,
Windows
DEx TK
DEx - Dynamic Experimentation Toolkit. DEx aims to provide a fast, flexible, and easy to use platform for developing,
analyzing, and visualizing dynamic multi-body simulations. A hybrid discrete/continuous simulation framework in C++
using quantized time ticks. Includes OpenGL support.
Free
LINUX
Swarm
Swarm is a collection of object oriented software libraries which provide support for simulation programming. Libraries
are written in Objective C and Tcl/Tk.
Free
UNIX,
Windows
RePast
The University of Chicago's Social Science Research Computing's RePast is a software framework for creating agent
based simulations using the Java language. It provides a library of classes for creating, running, displaying and
collecting data from an agent based simulation.
Free
UNIX,
Windows
OOPM/MOOSE
MOOSE is the next generation of SimPack which was initiated in 1990 for providing a general purpose toolkit of C and
C++ libraries for discrete-event and continuous simulation.
Free
UNIX,
Windows
Parsec
C-based simulation language. UCLA Parallel Computing Laboratory. For sequential and parallel execution of discreteevent simulation models. Also includes GloMoSim. Supersedes Maisie.
Academic
Free
UNIX,
Windows
Amino
Java-based simulation framework. Uses repeated iteration of calls to all entities as opposed to future-event-list
scheduling.
Free
UNIX
UCB/LBNL/VINT Network Simulator - ns (version 2). NS is a discrete event simulator targeted at networking research.
NS provides substantial support for simulation of TCP, routing, and multicast protocols.
Free
UNIX,
Windows
Synchronous Parallel Environment for Emulation and Discrete-Event Simulation. SPEEDES allocates events over
Academic
Free, USA
Only.
UNIX,
Windows
NS-2
Speedes
of SPEEDES
a set of innovative optimistic-processing
April 7, 2006multiple processors to get simulation speed-up.MAt the
& heart
S Tools
for isNetworks
algorithms patented by NASA.
conditions
OS
36
Commercial discrete-event simulation software
links
MelbourneTech
DES
comments
conditions
OS
DES is a complete, fully functional, and feature packed Discrete Event Simulator.
US$49.95.
Windows
A range of simulation applications. Extend products (Extend CP, Extend OR, Extend Industry, and Extend Suite) are
general purpose commercial simulation applications. Extend CP is for continuous modeling; the other 3 are for discrete
event modeling. Plus Extend has a robust built-in development environment, including compiled C-like language and
source code debugger.
Commercial.
Windows
QualNet
QualNet is a predictive high-fidelity modeling tool for wireless and wired networks. Development framework in C/C++
mostly provided in source form. Includes a graphic development tool for adding/revising protocols.
Commercial.
UNIX,
Windows
GoldSim
Discrete-event simulation with graphical interface. Models are programmed using objects called elements. Examples of
element types include data elements (that allow you to enter information into the model) function elements (that allow you
to program equations, events, lookups, and logic), delay elements (that allow you to introduce material or information
delays into the model), and result elements (that allow you to present results in a graphical format). Each element is
"programmed" by filling out the fields in a dialogue box.
Commercial.
Free for
academic
users.
Windows
OpEMCSS
OpEMCSS is capable of representing several commonly used systems views including queuing, process and resource,
and message flow models. A state-of-the-art graphical, discrete event simulation library that works with EXTEND
(Imagine That Inc) is available for your evaluation. It includes agent motion and interaction blocks, evolutionary
optimization and rule-based classifier system blocks, and various global memory and process communication blocks. The
library is especially intended to model intelligent, multi-agent systems and complex adaptive systems.
Commercial.
Windows
AnyLogic
AnyLogic is a professional simulation tool for complex discrete, continuous and hybrid systems. Powerful and flexible, it is
used to model, simulate, visualize and analyze a diverse range of real-world problems.
Commercial.
Windows
Analytic and simulation modeling tool for distributed client/server applications. QASE is based on a portable GUI and an
object-oriented database.
Commercial.
Discounts for
education
use.
UNIX,
Windows
Uses flow charts.
Commercial.
Windows
Artifex
Discrete-event simulation software from Artis. The most effective and highly integrated family of products for event-driven
systems modelling and software development. They also have an optical network simulation product OptSim.
commercial
software
opnet
Defacto standard for network modeling
Commercial,
but free for
university
use.
Imagine that
QASE
Kameleon
UNIX,
Windows
http://www.topology.org/soft/sim.html
April 7, 2006
M & S Tools for Networks
37
Additional M&S Packages not Covered
• Discrete-event simulation software
–
–
–
–
–
COMNET III (commercial)
SMURPH
NetSim++ (www.topology.org/soft/simapps.html)
CLASS
MATLAB/SIMULINK/Stateflow (www.mathworks.com)
• Military Specific Simulators
– EADSIM(www.eadsim.com)
• Extended Air Defense Simulator
April 7, 2006
M & S Tools for Networks
38