Modeling Simulation Tools for WiredWireless Networks Bill Phillips

Modeling & Simulation Tools for Wired/Wireless Networks Bill Phillips 07 April 2006 April 7, 2006 M & S Tools for Networks

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 (GTNet. S) 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 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/Petri. Nets/) 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 (GTNet. S) • • GTNet. S is available free of charge at (http: //www. ece. gatech. edu/research/labs/MANIACS/GTNet. S) 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

GTNet. S • GTNet. S 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 • GTNet. S 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

OMNe. T++/OMNEST • OMNet stands for Objective Modular Network Testbed in C++. • OMNe. T++ 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 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

OMNe. T++ • OMNe. T++ can run simulation equally well from the command line of customizable GUI • Many standard models already including internet (IP, IPv 6, MPLS, etc), mobility and ad-hoc protocols • OMNe. T++ 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 OMNe. T++ 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

OMNe. T++ 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 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

Sensor. Viz • Sensor. Viz 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-to. Multipoint – 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 NS 2’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 OMNe. T++ • 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 • OMNe. T++ 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. • OMNe. T++ 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 conditions OS 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 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 Open. GL support. Free LINUX 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 Re. Past The University of Chicago's Social Science Research Computing's Re. Past 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 is the next generation of Sim. Pack 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 Glo. Mo. Sim. 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 NS-2 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 Speedes of SPEEDES a set of innovative optimistic-processing April 7, 2006 multiple processors to get simulation speed-up. MAt the & heart S Tools for is. Networks algorithms patented by NASA. 36

Commercial discrete-event simulation software links Melbourne. Tech 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 Qual. Net 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 Gold. Sim 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 Op. EMCSS 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 Any. Logic 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 QASE 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 eventdriven systems modelling and software development. They also have an optical network simulation product Opt. Sim. commercial software opnet Defacto standard for network modeling Commercial, but free for university use. Imagine that 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 Net. Sim++ (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
- Slides: 38