* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Modeling and Simulation to Study Wired/Wireless Network
Survey
Document related concepts
Wake-on-LAN 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
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