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
3/147
4/147
5/147
6/147
7/147
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
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
OPNET TECHNOLOGIES
17/147
Solution Portfolio
19/147
20/147
Incorporate terrain effects into mobile network 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
21/147
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
22/147
Network R&D
23/147
Node Editor
Protocol and Application functions Flows of data
Process Editor
Protocol logic and control flow Behavior of node
Editor
Other Editors
Link Model Packet Format Antenna Pattern Modulation
Editor
24/147
25/147
Application Transport
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
28/147
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
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
32/147
33/147
34/147
35/147
Agenda
Projects and Scenarios More Details of the Project Workspace
Starting Project Editor Map Backgrounds Annotation Network Objects Model Library Model Naming Convention Object Palettes Deriving and Creating New Devices Using Model Help and Product Documentation
Models
37/147
38/147
Baseline Model
39/147
Duplicate scenario
Make changes Re-run simulation Compare results
Iterate
40/147
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
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.
45/147
46/147
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
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
Contributed
Models contributed by OPNET users 1,000+ universities using OPNET software and 25,000+ academic users
53/147
<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
Example: ethernet128_hub_adv
This model represents a hub with 128 Ethernet interfaces. Since it is an advanced model, all the models 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
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.
Example:
100BaseT_int
58/147
The object palettes have two viewing modes: Tree View and Icon View
59/147
60/147
61/147
62/147
63/147
64/147
65/147
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
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
69/147
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
72/147
73/147
75/147
Agenda
Choosing Statistics Mechanics Choosing Results Dialog Box
Statistic Attributes Statistic Collection Mode
77/147
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
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
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
Useful for showing the general trend of the statistics variations With some statistics that can quickly rise and fall, this fails to show how high and queue size can get.
83/147
84/147
85/147
86/147
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
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
91/147
Left clicking on a specific message gives details on the symptoms, causes, and suggestions.
92/147
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
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
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
99/147
100/147
101/147
102/147
Overview
Lansing Hotel Reservation Services is a hotel reservation company headquartered in Dallas, Texas. Lansing employees are experiencing high delays using the companys 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 workstations
56k 56k
DS1
Dallas is the data center, with 6 servers
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
30 min
105/147
MODELING FRAMEWORK
Agenda
Object Hierarchy
Network Objects Node Objects Process Model Objects
108/147
Fixed
Mobile
Satellite
109/147
4 Subnet Types
110/147
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 is not drawn but is established if nodes contain radio transceivers.
Wireless link
111/147
Channel
Acts independently of the other channels in the same link
112/147
Processor
Queue
Antenna
Transmitter
Receiver
Transmitter
Receiver
Transmitter
Receiver
113/147
114/147
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
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
119/147
Kernel Procedures
Sample 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 () Interrupt Package: op_intrpt_schedule_self () op_intrpt_type () op_intrpt_strm () op_intrpt_code () Stat Package: op_stat_reg () op_stat_write () op_stat_local_read () op_stat_scalar_write () Distribution Package: op_dist_load () op_dist_outcome () 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 ()
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
121/147
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
123/147
You can leave an attribute unspecified at even the network level, and assign a value at run time.
124/147
corporate
router.buf.priority:
high
mktg_lan
buf.priority:
promoted
router
priority:
promoted
buf
125/147
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
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
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
Start
No
End
133/147
134/147
135/147
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
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
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
Conclusion: coarse granularity probably sufficient. Observation: modeling full detail might be prohibitively slow to develop and run.
142/147
143/147
144/147
146/147
147/147
148/147
One technique: predict output first, then compare predicted to actual output.
149/147
150/147
151/147
152/147
153/147
Summary
Start
No
End
154/147