Upload
ather-suleman
View
611
Download
13
Embed Size (px)
Citation preview
INSTALLATION
Modeler Package
• Modeler– modeler_[version]_[build]_[release date]_win.exe
• Model Library– models_[version]_[build]_[release date]_win.exe
• Modeler Documentation– modeler_docs_[version]_[build]_[release date]_win.exe
2/147
How to Installing Modeler on Windows ?
• modeler_[version]_[build]_[release date]_win.exe 파일을 실행
3/147
How to Installing Modeler on Windows ?
• Modeler를 설치 할 디렉토리를 선택• Report Server를 사용하고자 하는 경우 Send reports to Report Server 체크박스를 클릭
4/147
How to Installing Modeler on Windows ?
• Licensing type 선택– Standalone: 사용자 혼자 사용 할 경우– Floating- access licenses from remote server: 기존의 라이센스 서버에 접속하여 사용 할 경우– Floating- serve licenses from this computer: 라이센스 서버로 사용 할 경우
• Standalone을 선택한 경우 바로 인스톨 시작
5/147
How to Installing Modeler on Windows ?
• Floating- access licenses from remote server – 서버의 IP Address와 Port를 설정 후 인스톨
• Floating- serve licenses from this computer를– 호스트가 접속 할 포트를 설정 후 인스톨
6/147
How to Installing Modeler on Windows ?
• Install 시작
7/147
Installing Library and Documentation
• Library(models_[version]_[build]_[release date]_win.exe) 파일을 실행• Documentation(modeler_docs_[version]_[build]_[release date]_win.exe) 파일을 실행
8/147
INTRODUCTION
What is Modeler?
• An environment for building protocols and device models.
• An environment to plan changes by illustrating how the networked environment will perform.
• An environment that includes hundreds of pre-built models, used to study performance changes of your network: organizational scaling, technology changes, and application deployment.
10/147
Questions and Goals
• Questions to be answered in the OPNET Modeler Class– What does Modeler do?
– How can it help me?
– How easy is it to use?
– How can I get started?
• Goals– Learn what problems can be solved with Modeler
– Learn how to use the Modeler software in a hands-on environment
– Use Modeler to solve real problems
11/147
Expectations
• Prerequisites:– Ability to program in C or C++ or at least be comfortable in reading/understanding C or
C++ code
– Basic understanding of networks• For basic information, see
– http://compnetworking.about.com/library/glossary/blglossary.htm
– http://www.whatis.com
– http://www.wikipedia.com
• This class will move quickly
• Ask questions. It will enhance your learning experience, as well as the other students’.
12/147
Format
• Purpose of the class: To give students a hands-on learning experience and introduce many of the features of Modeler.
• About half lecture, half lab
• More lecture at the beginning – this will lay a strong foundation
• Lecture is interactive – do not hesitate to ask questions
• Labs not completed in class may be completed on your own
• During labs, raise your hand and an assistant will help you.
• Concepts will be taught during lecture, and you will apply them to labs. We encourage you to ask questions.
13/147
Course Content
• Introduction
• OPNET Technologies
• Feature of the Project Editor– Lab: Using The Project Editor
• DES Concept – Choosing Statistics
• DES Concept – Running Simulations– Lab: Build a First Network
• Modeling Framework
• General Simulation Methodology
14/147
OPNET TECHNOLOGIES
Corporate Overview• Founded in 1986• Publicly traded (NASDAQ: OPNT)• HQ in Bethesda MD• Approximately 600 employees• Worldwide presence through direct offices and channel partners
Best-in-class Software and Services• Application Performance Management• Network Operations• Capacity Planning and Design• Network R&D
Strong Financial Track Record• Long history of profitability• Trailing 12-month revenue of over $120M• Approximately 25% of revenue re-invested in R&D
Broad Customer Base• Corporate Enterprises• Government Agencies/DoD• Service Providers• R&D Organizations
About OPNET Technologies, Inc.
16/147
Network R&D Clients (partial list)Alcatel-Lucent
Alion Science and Technology
Aperto Networks
AutoNetworks Technologies, Ltd.
Avaya
BAE Systems
Ball Solutions Group
Booz Allen Hamilton
CACI Federal Systems
Cisco Systems
DISA
Defence Communication Services Agency UK
Defence Science & Technology Org. Australia
EADS
Eagan, McAllister Associates
Eagle Alliance
Ericsson
French Nat’l Inst. for Transport & Safety Research
Fujitsu
Generic Systems Sweden AB
Georgia Tech Research Institute
Halliburton
Harris Corporation
Hewlett Packard
Hitachi Ltd.
Honeywell
Huawei
Hughes Network Systems
IBM Global Services
Innovative Wireless Technologies
Internap
MIT Lincoln Labs
MITRE
NASA
National Communications System
National Geospatial Intelligence Agency
National Institute of Standards and Tech.
NEC
Northrop Grumman
NTL
Oak Ridge National Lab
Panasonic
Philips
Raytheon
Research in Motion Ltd.
RF Monolithics
Ricoh Company, Ltd.
SAIC
Samsung
Sandia National Labs
SELEX Communications Spa
Space & Naval Warfare Sys. Command
Sparta
Stellaris Networks
Syracuse Research Corporation
Systems Planning & Analysis, Inc.
Telenor
Tenacity Solutions Inc
Textron
U.S. Air Force
U.S. Army
U.S. Army Research Lab
U.S. Central Command
U.S. Coast Guard
U.S. Department of Homeland Security
U.S. Marine Corps
U.S. Military Academy
U.S. Naval Research Lab (NRL)
U.S. Navy
17/147
OPNET Network R&D Solutions
• OPNET Modeler is the de-facto standard for: – Network R&D
– Modeling and simulation
– Defense organizations around the world
– Network equipment manufacturers
– Universities, noted research organizations and consortia
• Accelerate network R&D and planning: – Design wired and wireless protocols and technologies
– Test and demonstrate designs in realistic scenarios before production
– Plan mobile network deployments that accurately incorporate terrain effects
– Design wireless network protocols to optimally support the wargaming
– Assess battlefield plans in light of communications effects
18/147
Solution Portfolio
19/147
Accelerating Network R&D
• Design network protocols and technologies
• Demonstrate technology designs in realistic scenarios
• OPNET Modeler offers–Scalable simulation environment–Hundreds of protocol and vendor device models with source code
• Test prototype network devices with System-in-the-Loop*
–Interface simulations with real hardware/software
–Combine the real world and “virtual” world
–Test scenarios that cannot be achieved in a lab environment
*Optional module
20/147
Wireless Network Modeling and Simulation
• Design wireless protocols and technologies• Optimize protocol and application performance • Supports numerous wireless systems (cellular,
satellite, MANET, WiFi, WiMAX, LTE, etc.)• Incorporate terrain effects into mobile network
deployment planning• OPNET Modeler Wireless Suite offers:
–Plan mobile network deployments that accurately incorporate wireless propagation impairments
–Evaluate the effects of proprietary or customized antenna patterns in a network
• Test prototype network devices with System-in-the-Loop*
–Interface simulations with real HW/SW–Combine the real world and “virtual” world–Test scenarios that cannot be achieved in a lab
environment
*Optional module
21/147
Modeling and Simulation for Defense Communications
• Adds to capabilities of Modeler Wireless Suite
• Design protocols and infrastructures to support the warfighter (MANET, HAIPE, Link-11, Link-16, etc.)
• Demonstrate technology designs in 3D scenarios
• OPNET Modeler Wireless Suite for Defense offers:
–Plan mobile network deployments that accurately incorporate terrain effects
–Conduct realistic wargaming exercises by incorporating communications effects
• Test prototype network devices with System-in-the-Loop*
–Interface simulations with real hardware/software
–Combine the real world and “virtual” world
–Test scenarios that cannot be achieved in a lab environment
*Optional module
22/147
OPNET Solutions Portfolio
Application
Performance
Management
Analytics for Networked Applications
End-user Experience Monitoring & Real-Time Network Analytics
Real-time Application Monitoring and Analytics
Network
OperationsNetwork Audit Security, and Policy-Compliance
Capacity
Planning &
Design
Network Capacity Planning for Enterprises
Systems Capacity Planning for Enterprises
Network Planning and Engineering for SPs
Transport Network Planning and Eng. for SPs
Network
R&D
Modeling and Simulation for Defense Communications
Wireless Network Modeling and Simulation
Accelerating Network R&D
23/147
OPNET Model Hierarchy
• Project Editor– Network topology– Node mobility
• Node Editor– Protocol and Application functions– Flows of data
• Process Editor– Protocol logic and control flow– Behavior of node
• Other Editors– Link Model– Packet Format– Antenna Pattern– Modulation
Editor
Editor
Editor
Open Model Source code
24/147
Project Editor – Network modeling
• Project Editor– Create node and link objects to represent network topology
– Lay out trajectories to define node mobility
– Set attributes of network objects
25/147
Node Editor – Node modeling
• Node Editor– Represent protocol and application
functions, and the flow of data internal to the device
– Like the OSI architecture, the node models contain blocks which operate on packets
Application
Transport
Network
Data Link
Physical
Architecture
26/147
Process Editor
• Process Editor– Use extended Finite State Machines to define protocol logic and control flow
– C/C++ code controls the behavior of each state
27/147
Simulation Output
• Three kinds of output– Vectors
• List of time-value pairs
– Scalars• List of values dependent on parametric input
• Not plotted vs. time
– Animations• Packet flow
• Node movements
• Output to 3DNV
• Objects have pre-defined statistics
28/147
Scalable Wireless Modeling and Simulation
• Wireless effects simulated include:– RF propagation– Interference and jamming– Transmitter/receiver characteristics – Node mobility including handover – Interconnection with wired transport networks
• All wireless characteristics seamlessly integrated with higher layer protocol models
• Fully customizable and modular Transceiver Pipeline™ framework
• Import supported for terrain data in DTED, USGS DEM, and OpenFlight formats
• Full suite of propagation models including:– CCIR– Free Space– Hata– Longley-Rice– TIREM v3 and v4– Walfisch-Ikegami
29/147
• Integrated analysis environment offering advanced and easy-to-use capabilities– Automatic and efficient data collection
and presentation
– Simulation replay to correlate results with network behavior
– Graphs, tables, and raw data export
• Convenient integrated debugging– Event and source level
– Graphical debugging with animation
– Live statistics from simulation run
– Checkpoint/Restart: save simulation state and restart from that point
Exclusive Integrated Analysis and Debugging
30/147
Intuitive 3D Visualization
• Visualize network behavior by overlaying communications effects onto a dynamic 3D scenario
• 3D Network Visualizer (3DNV™) provides visualization for wireless effects such as:– Link connectivity
– Terrain masking and other propagation impairments
– Ad hoc routing performance
– Mobile network performance
– Antenna coverage
• OpenFlight terrain and entities arerealistically rendered in 3D
• Custom API included for advanced visualization
31/147
Accelerating Simulation Run-time
• Reduce simulation run-time by executing simulations in parallel
• Ensure statistical validity by distributing simulation runs with varying parameters to multiple computers
• Leverage powerful remote processors to run simulations that need more resources than are available on your local computer
Distribute simulations to remote computers
Monitor simulations on local machine
32/147
Leveraging Specialized Simulators with Co-simulation
• Co-simulation enables users to leverage other specialized simulators with OPNET Modeler and get the “best of both worlds”
• Co-simulate OPNET with other simulators using:– High-Level Architecture (HLA)
– Co-simulation API
– Extensible Transceiver Pipeline (e.g., co-simulation with MATLAB)
• Co-simulate with multiple software platforms including: – Naval Systems Simulator
– AGI Satellite ToolKit (STK)
– MAK VR Forces
– Mathworks MATLAB
– US Army OneSAF
– Motorola Wireless Valley
– Custom FoF/SAF simulators
33/147
Integrating Live Network and Application Behavior
• Leverage the ACE™ module to:– Capture packet traces of live applications in a production or test environment
– Craft new application models by architecting transaction flows
• Utilize the System-in-the-Loop module to:– Connect live network hardware or software applications to an OPNET discrete
event simulation
– Analyze the effects of a live system on an OPNET simulation or vice versa
– Assess application performance over any network infrastructure model
34/147
Customizing the OPNET Environment with OPNET Development Kit (ODK)™
• Create product extensions
• Construct custom applications/integrations
• Create specific workflows to facilitate model configuration, enable selective
Modeler functionality, etc.
• Tailor network visualization and user interface
• Example: ODK can be used to customize the OPNET Modeler GUI so that new
menu items appear when a network scenario is invoked
35/147
FEATURE OF THE PROJECT EDITOR
Agenda
• Projects and Scenarios
• More Details of the Project Workspace– Starting Project Editor
– Map Backgrounds
– Annotation
– Network Objects
• Models– Model Library
– Model Naming Convention
– Object Palettes
– Deriving and Creating New Devices
– Using Model Help and Product Documentation
• Lab: Using the Project Editor
37/147
Projects and Scenarios
• Modeler uses a Project-and-Scenario approach to modeling networks.
• A Project is a collection of related network scenarios in which each explores a different aspect of network design. All projects contain at least one scenario.
• A Scenario is a single instance of a network. Typically, a scenario presents a unique configuration for the network, where configuration can refer to aspects such as topology, protocols, applications, baseline traffic, and simulation settings.
38/147
Projects and Scenarios Example
Project: MANET Studies
Baseline Model15% traffic increase
over baseline
Failure of three Central devices
15% traffic increasewith higher data-rate
radios
Compare results
between scenarios
39/147
The Project/Scenario Workflow
• Create project
• Create baseline scenario– Import or create topology
– Import or create traffic
– Choose results and reports to be collected
– Run simulation
– View results
• Duplicate scenario– Make changes
– Re-run simulation
– Compare results
Iterate
40/147
Starting Project Editor
• Several tools are included in Modeler to intuitively map from network specifications to a modeled network.– Manual Creation
• Use the Startup Wizard to specify the initial environment of a scenario.
• Select objects from an Object Palette. Use Node and Link objects to represent actual topology.
• Use Rapid Configuration to quickly deploy common network topologies.
• Use Wireless Network Deployment to quickly deploy wireless network
– Import from network management data• Router configuration files
• ATM Text Files
• XML
• ACE
• VNE Server
41/147
Startup Wizard
• The startup wizard can quickly configure a new scenario
• There are several settings for each scenario:– Project/Scenario Name
– Initial topology
– Network scale / Size
– Technologies
42/147
Rapid Configuration
• Rapid configuration allows you to quickly create networks of any size
• Available topology configurations– Bus, Ring, Star, Tree, Unconnected Net, Mesh (Full, Randomized)
• Specify the number of nodes, the node and link model used, how nodes will be arranged, and node locations within the workspace
• Topology > Rapid Configuration
43/147
Wireless Network Deployment
• Deploying WLAN, MANET, or custom wireless technology-based network
• Lets you build, configure, and deploy wireless network segments quickly and easily
• Topology > Deploy Wireless Network…
44/147
Map Backgrounds
• Can be loaded as backgrounds for network models
• Provide a physical context for model specification
• Models are easier to interpret when set in a proper geographical context
• Distance between nodes can affect simulation results
• View/hide maps by choosing View>Background>Set Properties
• Geotiff, MapInfo, and CADRG images automatically appear at the correct latitude and longitude position.
• To set a Map Background :1) Pull down the menu under “View”.
2) Select “Background”.
3) Select “Set Image Map…” to choose a preset OPNET map.
4) Click on the desired map and that map will appear in the project editor.
45/147
Map Backgrounds Types
• MIF maps (default)• TIFF and GeoTIFF• Geospatial maps not provided,
but can be displayed– MrSID– GeoTIFF– CADRG/CIB Raster
46/147
• You can scale the size of an icon on the screen to improve the appearance of the topology– View>Layout>Scale Node Icons Interactively…
Changing Icon Size
47/147
Annotation Palette
• Open by selecting Topology / Open Annotation Palette• Add rectangles, circles, lines and text to models to enhance their appearance• This method is an effective way to graphically illustrate and document the changes
made to a model• Does not affect analysis• Annotations can be temporarily hidden
48/147
Network Objects
• Network models consist of nodes, links and subnets
• Nodes represent network devices and groups of devices– Server, workstation, router, etc
– LAN nodes, IP Clouds, etc
• Links represents point-to-point and bus links
• Icons assist the user in quickly locating the correct nodes and links
• Vendor models are distinguished by a specific color and logo for each company
49/147
Locating the Right Models and Components
• Selecting the right models and components is essential to accurate modeling.
• Modeler provides a suite of standard and vendor models.
• You can also create new models or derive models from an existing database.
• Modeler’s naming conventions, custom palettes, icons, and derived models all facilitate your selection of the correct components for your network.
50/147
Model Library
• The “Model Library” is an extensive library of standards-based and vendor models.
• Models are created using published protocol standards and other widely used vendor implementations.
– IEEE Specifications (e.g., 802.1q, 802.3, 802.11, etc.)– ANSI Standards (e.g., X3.139, T1.513, etc.)– ATM Forum Specifications (e.g, UNI 3.1, TM 4.0, etc.)– RFC Documents (e.g., RFC-793, RFC-1058, RFC-1771, etc.)– Vendor Technologies (e.g., VLAN tagging, EIGRP, etc.)
Vendor DevicesGeneric Devices
51/147
Model Libraries
• Standard– 150+ built-in protocol and vendor device models including:
• Transport: TCP (ECN, New Reno, Reno, SACK, Tahoe), UDP, …
• Network & Routing: BGP, EIGRP, IGRP, IP, IPv6, OSPF, OSPFv3, RIP, RIPng, …
• MAC: 802.1p, ATM, Ethernet (802.3,a,i,j,u,y,z,ab,ac,ad,ae), Spanning Tree, VLAN, …
• Wireless: MANET (AODV, DSR, GRP, OLSR, TORA, OSPFv3), Mobile IPv4, Mobile IPv6, WLAN (802.11a,b,e,g), ZibBee…
• Vendor device: Alcatel-Lucent, Cisco, Extreme, Foundry, HP, IBM, Intel, Juniper, Motorola, NEC, Nortel, Sun, …
• Specialized– Selected protocol models available separately
– IPv6, MPLS, PNNI, UMTS, and WiMAX
52/147
Model Libraries (cont’d)
• JCSS, formerly NETWARS (for DoD and approved contractors)– 100+ military protocol and device models available through the JCSS program
– Compatible with all Modeler solutions
– Satellites and earth terminals, encryption devices, multiplexers, tactical radios, etc.
• Contributed– Models contributed by OPNET users
– 1,000+ universities using OPNET software and 25,000+ academic users
• Model Development Consortiums– Consortium of prominent organizations that jointly guide model development
– WiMAX (802.16e), LTE
53/147
Model Naming Convention
• OPNET’s standard model suite uses a specific naming convention for its node models:
• <protocoln> is an abbreviation that specifies a particular protocol that is supported within the model. The variable n represents the number of protocol interfaces within that model.
• <function> is an abbreviation that indicates the general function of the node, e.g. gateway, workstation, server.
• <modifier> indicates the level of derivation of the model.
<protocoln>…<protocoln >_<function>_<modifier>
54/147
Model Naming Convention (cont.)
• Levels of derivation (<modifier> value)– adv: advanced model. All node attributes are available and attribute values are set to
their defaults.
– int: intermediate model. Attributes that are unlikely to be changed are hidden and typical values are applied to the visible attributes.
– Models with no value for modifier are derived from intermediate models. Additional attributes are hidden and only attributes needed for parametric studies are visible.
• Example: ethernet128_hub_adv – This model represents a hub with 128 Ethernet interfaces. Since it is an advanced model,
all the model’s attributes are visible and editable.
55/147
Vendor Models
• In addition to our standard models, OPNET contains vendor specific models.
3Com
Ascend
Avici
Bay Networks
Brocade
Cabletron
Cisco Systems
Equipe
eXtreme
Fore Systems
Foundry
Hewlett Packard
Juniper Networks
Lucent
McData
NEC
Newbridge
Nortel
56/147
Vendor Models (cont.)• Naming convention for vendor models
– This model represents a Cisco Systems 4000 Router with 3 slots, 6 Ethernet ports, 1 FDDI port, 2 frame relay ports, and 2 SL-IP ports.
• View description of the node by:– Right-clicking on the
node in the object palette.
– Right-clicking on the node in the workspace and selecting “View Node Description”.
<Vendor_Name>_<Device_Name>_<Number_of_Slots>_<Configuration>
Example: CS_4000_3s_e6_f_fr2_sl2
57/147
• An appropriate link must be chosen to match interfaces on connected devices.– Data rate, protocol, and number of
available interfaces are the requirements that must be met.
• Link model naming convention:– <protocol>_<modifier>
• Example:– 100BaseT_int
Choosing Link Models
58/147
Organizing Models - Object Palettes
• An object palette is a dialog box that displays a group of node and link models
• Open the object palettes by– Clicking on the “Open Object Palette” button on the toolbar
– Choose “Topology > Open Object Palette”
• The object palettes have two viewing modes: Tree View and Icon View
59/147
Object Palettes – Tree ViewSwitch to icon view Name of current Project and
Scenario
Selected model icon
Display details of currently selected model
60/147
Object Palettes – Icon ViewSwitch to tree view
Model list pull-down menu
Modify this palette or create new palette
Right-click an icon to display details of a model
61/147
Customizing Object Palettes
• The palette always contains subnet objects
• Object palettes can be customized to contain only the nodes and links that you require
• There are several different methods for customizing palettes
62/147
Creating a New Palette - Model List Method
63/147
Creating New Devices
• Although OPNET Modeler includes hundreds of standard and vendor devices, you may need to customize models.
• There are several ways to create new devices or derive models from the existing database to custom specifications.– Two methods discussed here to change and existing model
• Deriving a new model
• Using Device Creator
– Modeling new devices and protocols discussed later in course
64/147
Deriving New Models
65/147
Advantages of Deriving Models
• Makes it easy for you to configure and integrate models for specialized needs.
• Allows you to benefit from past work by basing new, specialized models on previously created ones.
• Gives you benefit of control over certain aspects of a new model while preserving its essential structure.
• Allows creation of a new device that has preset and possibly hidden attributes.
66/147
Device Creator
• Create Custom Device Model– Provides the ability to
automatically create a particular device with a specific configuration.
– Typical devices include routers, switches, hubs, bridges, vendor specific devices, and LAN models.
– Topology > Create Custom Device Model…
• Advantages– Allows you to select any number of
interfaces and protocols that a device will need to support.
– Provides you more control over memory efficiency, reducing simulation run-time.
67/147
Derive New vs. Device Creator
• Both start with an existing model
• Using “Derive New” is for creating a different device with different attribute settings, like the configurations of protocols
• Using the Device Creator is for creating a different device by customizing the number of ports or interfaces it has
68/147
Selecting Objects
• Select objects to modify, cut, delete, move, or copy them
• Several methods to select multiple objects:– Shift-click or Control-click
– Right-click and choose Select Similar Nodes/Links/Demands• Selects all objects with the same model name
– Edit / Select Objects • Advanced object selection used to select objects with certain attribute values
• Excellent way to explore configuration of an existing network model
– Edit / Find Node/Link• Select objects based on object name
– Draw a selection box around a group of objects
• Click on empty workspace to deselect all objects
69/147
Group Attribute Assignment
• A group of objects can have their attributes assigned simultaneously by using the “Apply Changes to Selected Objects” button.
• Note that selected objects that do not contain the attribute being changed will not be affected by the group assignment.
70/147
Verify Links
• Ensure that point-to-point and bus link connections are valid– Enough transmitters and receivers to support all of the incoming and outgoing links
– Data rates of the connected transmitter and receiver match the data rate of the link
– Transceiver support the attached link technology
• It is always a good idea to use the “Verify Link (Ctrl+L)” before running a simulation to ensure connectivity
71/147
Where to Get Help for Attributes
• To view the manual, choose “Help > Product Documentation”
• Model help is accessed by right-clicking icons in the object palette or by right clicking objects in the Project workspace and selecting “View Node Description.”
• Click the question mark in attribute dialog boxes to view the description of that attribute.
• Tool Tips: place your cursor over any object and wait one second to get a brief description of that object.
72/147
Searching Product Documentation
73/147
LAB: USING THE PROJECT EDITOR
Lab: Using the Project Editor
• Objectives– “Play” with the different features of the Project Editor
– Use the “Device Creator” and model derivation to create new node models
– Modify attributes’ values in order to reflect particular behavior
– Use the online documentation
• Time allotted: 30 minutes
75/147
DES Concept – Choosing Statistics
Agenda
• Choosing Statistics – Mechanics
• Choosing Results Dialog Box– Statistic Attributes
– Statistic Collection Mode
• Understanding Statistics and Right usage
• Choosing Statistics - Advanced
77/147
Choosing Statistics - Mechanics
• Choose statistics to collect:– DES / Choose Individual Statistics
– List of statistics appears
• Types of statistics:– Global: relate to network as a whole
– Node: collected on individual nodes
– Link: collected on individual links
• Common statistics:– Global: application response times
– Node: delay, delay variation
– Link: utilization, throughput, queuing delay
78/147
Choosing Statistics
• Collect statistics on individual nodes and links– Right-click the object and Choose Individual DES Statistics
– This option is good choice for models with large number of nodes or links – cuts down on memory required for simulation
– Good for getting more detailed information on certain devices/links
79/147
“Choose Results” Dialog Box
Draw style :How the data is displayed in a graph
Vector vs. Scalar Data Discussed later
Collection mode: How the data points are collected while the simulation is running
Statistic Description
80/147
Statistic Attributes
• Right-clicking on a statistic while in the Choose Results dialog box presents a menu of statistic attributes
• Statistic attributes include:– Record Statistic Animation
– Generate Live Statistics
– Change Collection Mode
– Change Draw Style
81/147
Statistic Collection Modes
• All values mode: – All updates to the statistics are recorded without modification.
• Sample mode: – Records only certain statistic updates, and ignore others.
– For example, you could specify that data be collected every 10th simulation second or every 10th data point.
• Bucket mode: Considers a set of data points called a “bucket” and records one value which is representative of the bucket. Bucket can be specified as time interval or by the number of updates they contain. The retained value is computed as one of the following functions of the values in the bucket:
– sum/time
– min value / max value
– sample mean
– time average
– Count
• Glitch removal: Ignore repeated values at the same simulation time
82/147
All value vs. Bucket mode
• Bucket Mode– Useful for showing the general trend of the statistic’s variations
– With some statistics that can quickly rise and fall, this fails to show how high and queue size can get.
83/147
Understanding Statistics and Right usage
• To run simulations with useful results, it is essential to define the goals of the simulation and to understand the statistics that are needed to measure those goals.
• Browse available statistics and view their definitions.
• Understand the default collection mode to help interpret results.
84/147
Choosing Statistics - Advanced
• Optional Step: Change statistic collection mode– Default is bucket mode: collects up to 100 data points per simulation
– Simulation time divided into 100 segments
– Average value during each segment becomes one point on graph
• Solutions when results are not granular enough:– Change collection mode
– Increase number of data points collected per statistic
– Shorten simulation time
85/147
Modifying Granularity By Modifying Collection Mode
• Collecting utilization on a link every 100 simulation seconds
Same statistic collected every 5 seconds
86/147
DES Concept – Running Simulations
Agenda
• Starting Simulations– Configuring Simulations
– Running a Simulation
– DES Log
– Simulation Options
• Simulation Results– Viewing Results
– Results Options
– Find Top Statistics
– Exporting Data
– Generating Web Reports
• Lab : Build Your First Network
88/147
Configuring Simulations
• Scenarios automatically provide a default duration and random number seed for simulations
• User can set simulation attributes by choosing “Configure Simulation” from the simulation menu, or by clicking the “running man” icons
89/147
Running a Simulation
• The Simulation Sequence window shows the progress of simulation
• Elapsed time bar displays the process of the simulation– Appears after 1,000,000 events by default
• Elapsed/Remaining Time: Real time elapsed and remaining time
• Simulation Time: Simulation time elapsed and number of events processed
90/147
DES Log
• Contains errors generated during simulation
• Contains information about special events during simulation
• Your code can write to DES log – good way to output debugging information
• Always check DES log for errors before trusting results
• To view the DES log: – Right-click in the Project Editor workspace and choose “Open DES Log” from the pop-
up menu. This will provide information about the entire simulation.
– Right click on a node or link and choose “Open DES Log”. This will provide information from the simulation log that applies only to this object.
91/147
DES Log (cont.)
Filter the log to view only thefields or columns of interest. Left clicking on a specific
message gives details on the symptoms, causes, and
suggestions.
92/147
Simulation Mechanics - Simulation Options
• Duration – Time to simulate in the network model
– May be shorter or longer than real time
– Less discrete traffic = shorter real time for simulation to complete
• Global attributes– Protocol specific
– Control behavior of every applicable object
– Sim efficiency modes: disable these for failure / recovery studies
– Tracer packet options: determine how quickly flows reroute in failure case
• Values Per Statistic– Increase number to increase granularity of statistics that use default bucket mode
93/147
Viewing Results
• Results can be displayed by– Selecting the “View Results”
button on the tool bar
– Selecting Results > View Results
– Right-clicking the project workspace and selecting from the context menu
• View Results dialog box allows the user to select the results to display– Note: Only the statistics you chose
for collection will be available
• The Show button in the View Results dialog box displays a graph of the selected statistics
94/147
Results Options
• Multiple graph panels can be displayed at the same time
• Each panel can contain one or more traces in an overlaid or Stacked layout
Stacked Statistics Overlaid Statistics
95/147
Results Options
• Filters:– As is: Every data point collected during sim– Average: average of several data points together
• Use the Add button in the lower-right corner of the “View Results” dialog box to add another stat to an existing panel– Ex: Add the average response time to a graph that shows As is response time
96/147
Find Top Statistics
97/147
Exporting Data
• Export collected statistics to a text file or spreadsheet
• Spreadsheet application can be specified
• If no spreadsheet application is specified the data is written to an ASCII file
98/147
Exporting Data - Spreadsheets
99/147
Generating Web Reports
• Web Reports contain data and statistic graphics
• Can be created after a simulation has run
• Created in op_report folder
100/147
Why use Web Reports?
• Allows results to be shared with non-OPNET users
• Automatically generated and present data in a manner that is easy to use, navigate, and interpret
• Include a simple text summary consisting of information about SLA violations and top-most utilized links, nodes, etc.
101/147
How to Generate Web Reports
• After running a simulation, select Generate Web Report from the Results menu
102/147
LAB: BUILD YOUR FIRST NETWORK
Overview
• Lansing Hotel Reservation Services is a hotel reservation company headquartered in Dallas, Texas.
• Lansing employees are experiencing high delays using the company’s proprietary hotel reservation application, and customers are threatening to use other services if the problem is not fixed.
• Your task is to identify the problem and propose a solution.
Dallas is the data center, with 6 servers
Minneapolis, Detroit, and Atlanta all have 28 client workstations
DS1
56k
56k
56k
104/147
Objectives
• Build your first network– Review for anyone who has gone through the tutorials or IT Guru Quickstart
– Teaches fundamentals of modeling workflow
• Conceptual Goals in Project Editor– Building Topologies
– Choosing Results
– Running Simulations
– Viewing Results
• Traffic Preconfigured in this lab– The gray boxes you place in the workspace during the lab contain preconfigured
application traffic. We will discuss application configuration later in the course.
• 30 min
105/147
MODELING FRAMEWORK
Agenda
• Object Hierarchy– Network Objects
– Node Objects
– Process Model Objects
• Kernel Procedures
• Object Attributes– Setting Attributes
– Assigning Attributes Values
– Promoting Attribute Values
• Data Flow Among Objects– Packet Format
– Events for Packet Transmission
107/147
Overall Object Hierarchy
108/147
Network Objects - Nodes
• Node objects are represented by icons. Different icons may represent the same underlying object. Icons shown are the default icons.
• Three kinds of node object– A fixed node remains stationary during a simulation.
– A mobile node changes position during a simulation, following an assigned trajectory or using vector based mobility (ground speed, bearing, and ascent rate). Trajectories can easily be created graphically in Modeler, or by ASCII text files.
– A satellite node changes position during a simulation, following an assigned orbit.
Satellite
Mobile
Fixed
109/147
4 Subnet TypesNetwork Objects - Subnet
• A subnet object abstracts network components specified within it into a single container
• Subnet objects:– Are simply containers used to organize your nodes– Can represent identical constructs in an actual network.– Have no behavioral aspects, but simplify representation of
large networks.– May be stationary or mobile.
110/147
• Link objects model physical layer effects between nodes, such as delays, noise, etc.
A wireless link, established during a simulation, can be created between any radio transmitter-receiver channel pair. Satellite and mobile nodes must use wireless links. Fixed nodes may use wireless links. A wireless link is not drawn but is established if nodes contain radio transceivers.
A wireless link, established during a simulation, can be created between any radio transmitter-receiver channel pair. Satellite and mobile nodes must use wireless links. Fixed nodes may use wireless links. A wireless link is not drawn but is established if nodes contain radio transceivers.
A bus link transfers data among many nodes and is a shared media.A bus link transfers data among many nodes and is a shared media.
A point-to-point link transfers data between two fixed nodes.A point-to-point link transfers data between two fixed nodes.
Wireless link
Network Objects - Links
111/147
Link and Channel
• Each link can be thought of as a “bundle” representing one or more communication channels between the transmitter(s) and receiver(s)– The number of channels in a link is determined by the “channel count” attributes of the
connected transmitter and receiver objects.
• Channel– Acts independently of the other channels in the same link
112/147
Node Objects - Modules
• Modules are the basic building blocks of node models. Modules include processors, queues, transceivers, and generators.
• Processors are the primary general purpose building blocks of node models, and are fully programmable.
• Queues offer all the functionality of processors, and can also buffer and manage a collection of data packets.
• Three types of transmitter and receiver modules correspond to different models of communication links.
• Antennas may be used with radio transceivers to specify antenna properties.
Processor
Queue
113/147
Bus transceiversPoint-to-point transceivers Packet radio transceivers
Transmitter Receiver Transmitter Receiver
Antenna
Transmitter Receiver
Sample Node Model
• Node models support– Layering of protocol functions
– Dynamic inter-module monitoring
– Arbitrary node architectures
– Definition of node classes through attribute promotion
ethernet_wkstn_adv Node Model
114/147
Process Model Objects - States
• The initial state is the place where execution begins in a process.
• A forced state does not allow a pause during the process.
• An unforced state allows a pause during the process.
• We will fully discuss the differences between these types of states.
Initial state Forced state Unforced state
red redgreen
115/147
Process Editor
• Process model components– State Transition Diagram (STD)– Blocks of C/C++ codes– OPNET Kernel Procedures (KPs)– State Variables– Temporary Variables
• A process is an instance of a process model• Processes are dynamically create child processes• Processes can respond to interrupts
116/147
State Connections - Transitions
• Transitions describe the possible movement of a process from state to state and the conditions allowing such a change.
• Exactly one condition must evaluate to true.
• If the condition statement (x == y) is true, the transition executive (Reset_Timers;) is invoked.
Transition executiveCondition statement
117/147
Executive Blocks
• Each state has two executive blocks– Enter executives are invoked on entering a state.
– Exit executives are invoked before exiting a state.
118/147
Kernel Procedures - Introduction
• KPs are pre-written functions that abstract difficult, tedious, or common operations.
• KPs free you from addressing memory management, data structure, handling event processing, etc.
• KPs focus on communication modeling.
• All KPs begin with prefix “op_”.
119/147
Kernel Procedures
• Sample of commonly used KPs
• Naming convention for KPs– op_<family_name_describing_object>_<action>
– When using process model editor, press Ctrl+H for list of commonly used KPs
Packet Package:op_pk_create ()op_pk_create_fmt ()op_pk_copy ()op_pk_get ()op_pk_total_size_get ()op_pk_nfd_set ()op_pk_nfd_get ()op_pk_send ()op_pk_send_delayed ()op_pk_destroy ()
Subq Package:op_subq_pk_insert ()op_subq_pk_remove ()
Stat Package:op_stat_reg ()op_stat_write ()op_stat_local_read ()op_stat_scalar_write ()
Interrupt Package:op_intrpt_schedule_self ()op_intrpt_type ()op_intrpt_strm ()op_intrpt_code () Simulation and
Event Packages:op_ev_cancel ()op_sim_time ()
ID, Topo and Internal Model Access Packages:op_id_self ()op_topo_parent ()op_topo_child ()op_ima_obj_attr_get ()
Distribution Package:op_dist_load ()op_dist_outcome ()
120/147
Object Attributes
• All Modeler objects have attributes
• Attributes define the object and control its behavior– Attribute values may vary between objects of the
same model • Example: Two routers of the same model may
have different routing parameters, two demands may represent different amounts of traffic
– Attributes may have sub-attributes(Compound Attribute)
• To view or change an object’s attributes– Right-click on the object
– Select “Edit Attributes” or “Edit Attributes (Advanced) ”
121/147
Object Attributes - Example
Though you use the same process model, by changing the data rate for the channel attribute you alter the behavior of the node.
122/147
Assigning Attribute Values
• You can assign attribute values by right-clicking on an object and selecting or specifying the attribute value.
• Attributes are of a certain type. Commonly used types are listed.
Type Definition
Integer Whole number; storage capacities; transmission window size, etc.
Double Decimal numbers: processing speeds, timer values
String General text information: statistic name, object names, options
Toggle True/False condition: status flags, semaphores
Typed File User defined files: routing tables, address mapping, script files
Compound Nested, complex data; routing table, circuit table, subqueue
123/147
Promoting Attribute Values
• You can “promote” an attribute. – Assign the value of attribute at a higher
hierarchical level.
– Passing control of a lower-level object to a higher level provides more flexibility in how objects are used.
– Promoted object attributes actually promote to the attribute interfaces of the encompassing model. Therefore, the promoted attributes of various objects may appear together in the model’s attributes
• You can leave an attribute unspecified at even the network level, and assign a value at run time.
124/147
Promoting Attributes Example
• When an attribute assignment is made, promotion stops. An attribute value was assigned at mktg_lan, so the attribute does not appear in the object corporate.
• Attribute names are used as prefixes at each new level of the object hierarchy.
buf
router
mktg_lan
priority has been promoted from buf and set at mktg_lan
buf.priority: promoted
priority: promoted
router.buf.priority: high
corporate
125/147
• Packets are the basic unit of information exchange in Modeler simulations.
• Information is exchanged among different objects via various communication mechanisms:– Node to node: Links
– Module to module: Packet streams and statistic wires
– State to state: Transitions
Data Flow Among Objects
126/147
Packets
• Packets flow between modules via packet streams
• The information-carrying entity that circulates among system components.
• General data structures, organized into fields of information you define.
• Dynamic simulation entities that are created and destroyed as the simulation progresses.
• A single system may rely on multiple types of packets with different formats.
127/147
Packet Format
• Packets can be either be unformatted or formatted
• Unformatted packets have no user-defined data fields
• Formatted packet have zero or more fields using Packet Editor
• Field Type– Integer, Flowing point, Structure, Packet, Information
128/147
Events for Packet Transmission
• All packet transmissions are modeled with four events– Start of Transmission
– End of Transmission
– Start of Reception
– End of Reception
• Simulation Kernel automatically schedules these events
129/147
• Network Objects: Nodes (fixed, mobile, satellite), Subnets, and Links (point-to-point, bus, wireless).
• Node Objects: Modules (Processors, Queues, Transmitters, Receivers, Antennas) and Connections (Packet Streams and Statistic Wires).
• Process Model Objects: States (initial, forced, unforced) and Transitions.
• Kernel Procedures: Pre-written functions that abstract communication modeling operations.
• Object Attributes: Dynamic parameters that can configure the behavior of an object.
• Packets : Basic units of information exchange in OPNET simulation.
Summary
130/147
General Simulation Methodology
Agenda
• Topics– Understanding what you are modeling
– Granularity
– Defining Data
– Results
• Conceptual Goals– Use basic methodology for developing a network simulation study.
– Plan simulation studies using a consistent method.
132/147
Flow Diagram: A Simulation Study
End
Start
Choosing input andrunning simulationsChoosing input andrunning simulations
Defining input and output
Defining input and output
Specifying thesystem modelSpecifying thesystem model
Choosing aspects to be modeled
Choosing aspects to be modeled
Understanding yourgoals for thesimulation
Understanding yourgoals for thesimulation
Understanding the System
Understanding the System
No
Yes
No
NoSystem result
accurate
System result
accurate
Results sufficiently
detailed
Results sufficiently
detailed
Results Statistically
useful
Results Statistically
useful
133/147
Understanding the Proposed System
• You must understand the proposed system to model it accurately.
• The model cannot be more accurate than your understanding.
• Recommendation: Obtain a written specification of the system you will be modeling.
134/147
Understanding Your Goals
• What general questions do you want the simulation to answer?
• Sample questions:– How much will replacing our Ethernet hub with an FDDI hub increase throughput?
– How much does a customized protocol improve efficiency in my cellular network?
– How much will adding 1000 users lengthen response time?
135/147
Choosing Aspects to Be Modeled
• From the general questions, formulate specific research objectives, such as– Quantifying the throughput at a specific receiver.
– Measuring the effect of changing a link’s transmission rate.
– Finding the point where traffic load causes the system to become unstable.
• These objectives determine the “granularity” (level of detail) required in the model.
136/147
What is Granularity?
• Granularity is the level of detail.
• Choose a granularity sufficient to answer all questions. You have:– Coarse granularity (minimum detail) allows faster execution and simpler development.
– Fine granularity (more detail) allows greater precision, but simulations run slower and may require more complex development.
137/147
Choosing the Granularity Required
• Choose the coarsest granularity that still answers all questions accurately.
• Often, some portions of a model require fine granularity, and others much less.
• OPNET is flexible -- it allows you to vary the granularity within a single model.
138/147
Granularity - Example 1
• Model and calculate application end-to-end delay (ETE delay) for 10 workstations connected via an Ethernet hub.
• Compare the delay measurements with those obtained using an FDDI hub instead.
139/147
Determining Granularity for Example 1
• Important to model the full data flow of the TCP/IP/MAC layer protocol stacks within each workstation.
• Ethernet and FDDI protocols, especially, must be detailed and exact to precisely model ETE delay.
• Extensive detail produces accurate results for a variety of offered loads.
• Conclusion: This model requires fine granularity.
140/147
Granularity - Example 2
• Model the following scenario: 2,000 workstations in Chicago and another 4,000 in New York communicate via an OC12 link. How much will an OC48 link decrease response time?
141/147
Determining Granularity for Example 2
• Abstract this scenario into a simple high-level model:– Model all 2,000 Chicago workstations as a single node and all 4,000 New York
workstations as a second node.
– Focus on the performance of the link between the two nodes.
• Conclusion: coarse granularity probably sufficient.
• Observation: modeling full detail might be prohibitively slow to develop and run.
142/147
Defining the Data Input and Output
• Choosing input is a critical step.
• If you– Understand the system
– Understand your goals
– Have defined the specific aspects to be modeled
– Have clarified the questions to be addressed
• You will be able to choose the proper input.
143/147
Defining the Data Input and Output (con’t)
• Input may refer to a predefined aspect of the model (such as connectivity) or may be more parametric (such as traffic generation rate).
• To study effects on a system, keep most inputs constant and vary one or two over a range.
• Determine which output (throughput, ETE delay, etc.) you need and the best presentation method (graphs, tables, animations, etc.)
144/147
Defining the Data Input and Output (con’t)
Output may be presented as:
graphs,animations,
tables, web reportsor numerical values.
145/147
Specifying the System Model
• Simulation software can represent your system in many different ways. To use it effectively– Understand the features your simulation software offers.
– Understand how those features can best describe your system.
146/147
Choosing a Range of Input
• Keep most variables constant except for one or two that you vary over a range.
• Usually it is possible to analytically estimate upper and lower bounds for the range.
• Choose input values that span this range.
• After running initial simulations, you may decide to– Extend the range.
– Focus on a narrow range to obtain finer detail.
147/147
Choosing a Range of Input — Example
• First range chosen was 2.0 - 2.9 Mb/s with step 0.1 Mb/s.
• Second range chosen was 2.4 - 2.6 Mb/s with step 0.02 Mb/s.
First range chosen
Second range chosen
148/147
System Results Accurate?
• Output should be “sanity-checked” for accuracy and robustness:– Does all output make sense?
– Can it be justified?
– Does the model behave appropriately?
• One technique: predict output first, then compare predicted to actual output.
149/147
Results Sufficiently Detailed?
• As needed, either widen the input range to get “the bigger picture” or narrow it to focus on a specific region.
• Should you– Collect more or different statistics?
– Change the level of granularity?
– Model different aspects of your system?
150/147
Results Statistically Useful?
• Is the model operating in steady state?– Expect initial transient behavior, converging to steady state.
– Look for rising averages, increasing queue lengths, or other output that is still varying. This might mean that the model is not in steady state.
151/147
Results Statistically Useful?
• Run simulations for a longer period until outputs are stable.
• A model that never reaches steady state indicates an unstable system.
• Look at various statistical measures to ensure that the model is in steady state.
152/147
Results Statistically Useful?
• Have you run enough simulations?– Run numerous simulations, varying the random number seed and generating confidence
intervals.
– Run simulations until confidence intervals are tight.
153/147
Summary
End
Start
Choosing input andrunning simulationsChoosing input andrunning simulations
Defining input and output
Defining input and output
Specifying thesystem modelSpecifying thesystem model
Choosing aspects to be modeled
Choosing aspects to be modeled
Understanding yourgoals for thesimulation
Understanding yourgoals for thesimulation
Understanding the System
Understanding the System
No
Yes
No
NoSystem result
accurate
System result
accurate
Results sufficiently
detailed
Results sufficiently
detailed
Results Statistically
useful
Results Statistically
useful
154/147