You are on page 1of 77

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

About OPNET Technologies, Inc.


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

16/147
Network R&D Clients (partial list)
Alcatel-Lucent Hewlett Packard SAIC
Alion Science and Technology Hitachi Ltd. Samsung
Aperto Networks Honeywell Sandia National Labs
AutoNetworks Technologies, Ltd. Huawei SELEX Communications Spa
Avaya Hughes Network Systems Space & Naval Warfare Sys. Command
BAE Systems IBM Global Services Sparta
Ball Solutions Group Innovative Wireless Technologies Stellaris Networks
Booz Allen Hamilton Internap Syracuse Research Corporation
CACI Federal Systems MIT Lincoln Labs Systems Planning & Analysis, Inc.
Cisco Systems MITRE Telenor
DISA NASA Tenacity Solutions Inc
Defence Communication Services Agency UK National Communications System Textron
Defence Science & Technology Org. Australia National Geospatial Intelligence Agency U.S. Air Force
EADS National Institute of Standards and Tech. U.S. Army
Eagan, McAllister Associates NEC U.S. Army Research Lab
Eagle Alliance Northrop Grumman U.S. Central Command
Ericsson NTL U.S. Coast Guard
French Nat’l Inst. for Transport & Safety Oak Ridge National Lab U.S. Department of Homeland Security
Research Panasonic U.S. Marine Corps
Fujitsu Philips U.S. Military Academy
Generic Systems Sweden AB Raytheon U.S. Naval Research Lab (NRL)
Georgia Tech Research Institute Research in Motion Ltd. U.S. Navy
Halliburton RF Monolithics
Harris Corporation Ricoh Company, Ltd.
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

Analytics for Networked Applications


Application
End-user Experience Monitoring & Real-Time Netw
Performance
ork Analytics
Management
Real-time Application Monitoring and Analytics

Network
Network Audit Security, and Policy-Compliance
Operations

Network Capacity Planning for Enterprises


Capacity
Systems Capacity Planning for Enterprises
Planning &
Design Network Planning and Engineering for SPs

Transport Network Planning and Eng. for SPs

Modeling and Simulation for Defense Communicati


ons
Network
Wireless Network Modeling and Simulation
R&D
Accelerating Network R&D

23/147

OPNET Model Hierarchy

• Project Editor Editor


– Network topology
– Node mobility

• Node Editor
– Protocol and Application functions
– Flows of data

• Process Editor Editor


– Protocol logic and control flow
– Behavior of node

• Other Editors
– Link Model
– Packet Format
– Antenna Pattern
– Modulation 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
Architecture
internal to the device
– Like the OSI architecture, the node Application
models contain blocks which operate
on packets Transport

Network

Data Link

Physical

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

Exclusive Integrated Analysis and Debugging

• 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

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 are
realistically 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

15% traffic increase


Baseline Model
over baseline

Compare results
between scenarios

15% traffic increase


Failure of three
with higher data-rate
Central devices
radios

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
Iterate
– Compare results

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
Changing Icon Size

• You can scale the size of an icon on the screen to improve the appearance of the
topology
– View>Layout>Scale Node Icons Interactively…

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.

Generic Devices Vendor Devices

• 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.)

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>…<protocoln >_<function>_<modifier>

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

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 Fore Systems


Ascend Foundry
Avici Hewlett Packard
Bay Networks Juniper Networks
Brocade Lucent
Cabletron McData
Cisco Systems NEC
Equipe Newbridge
eXtreme Nortel

56/147
Vendor Models (cont.)
• Naming convention for vendor models

<Vendor_Name>_<Device_Name>_<Number_of_Slots>_<Configuration>

Example: CS_4000_3s_e6_f_fr2_sl2

– 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”.

57/147

Choosing Link Models

• 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

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 View


Selected model
Switch to icon view Name of current Project and
icon
Scenario

Display details of currently selected model

60/147
Object Palettes – Icon View
Switch to tree Model list pull-down Modify this palette or create new palette
view menu

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

Statistic Description

Draw style :
How the data is displayed in
a graph

Collection mode:
How the data points are
collected while the
simulation is running

Vector vs. Scalar Data


Discussed later

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 the


fields 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.

Minneapolis, Detroit, and


Atlanta all have 28 client
56k workstations
56k

56k
DS1

Dallas is the data center,


with 6 servers

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. Fixed

• 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 Mobile
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

109/147

Network Objects - Subnet


4 Subnet Types

• 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
Network Objects - Links

• Link objects model physical layer effects between nodes, such as delays, noise, etc.

A point-to-point link transfers data between two fixed


nodes.

A bus link transfers data among many nodes and is a


shared media.

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
wireless link is not drawn but is established if nodes
contain radio transceivers.

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. Processor


Modules include processors, queues, transceivers, and
generators.
• Processors are the primary general purpose building blocks
of node models, and are fully programmable. Queue

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

Point-to-point transceivers Bus transceivers Packet radio transceivers Antenna

Transmitter Receiver Transmitter Receiver Transmitter Receiver

113/147

Sample Node Model


ethernet_wkstn_adv Node Model
• Node models support
– Layering of protocol functions
– Dynamic inter-module monitoring
– Arbitrary node architectures
– Definition of node classes through attribute
promotion

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 green red

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.

Condition statement Transition executive

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


Packet Package: Subq Package: Interrupt Package: Distribution Package:
op_pk_create () op_subq_pk_insert () op_intrpt_schedule_self () op_dist_load ()
op_pk_create_fmt () op_subq_pk_remove () op_intrpt_type () op_dist_outcome ()
op_pk_copy () op_intrpt_strm ()
op_pk_get () op_intrpt_code () Simulation and
op_pk_total_size_get () ID, Topo and Internal Event Packages:
op_pk_nfd_set () Model Access Packages: op_ev_cancel ()
Stat Package:
op_pk_nfd_get () op_id_self () op_sim_time ()
op_stat_reg ()
op_pk_send () op_topo_parent ()
op_stat_write ()
op_pk_send_delayed () op_topo_child ()
op_stat_local_read ()
op_pk_destroy () op_ima_obj_attr_get ()
op_stat_scalar_write ()

• Naming convention for KPs


– op_<family_name_describing_object>_<action>
– When using process model editor, press Ctrl+H for list of commonly used KPs

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, priority has been promoted from buf and set at
promotion stops. An attribute value was mktg_lan
assigned at mktg_lan, so the attribute does corporate
not appear in the object corporate.
router.buf.priority: high
• Attribute names are used as prefixes at mktg_lan
each new level of the object hierarchy.

buf.priority: promoted
router

priority: promoted

buf

125/147

Data Flow Among Objects

• 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

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

Summary

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

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

Understanding your
Understanding Choosing aspects Defining
Start goals for the
the System to be modeled input and output
simulation

No

No
System Results
Specifying the Choosing input and
result Yes sufficiently
system model running simulations
accurate detailed

Results
No Statistically
useful

End

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:
animations,
graphs,

tables, web reports


or 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

Understanding your
Understanding Choosing aspects Defining
Start goals for the
the System to be modeled input and output
simulation

No

No
System Results
Specifying the Choosing input and
result Yes sufficiently
system model running simulations
accurate detailed

Results
No Statistically
useful

End

154/147

You might also like