Post on 29-Dec-2015
HyunJun Choi Aug 27, 2004
OPNET Simulator
HyunJun ChoiAug 27, 2004
Informational Communication University
HyunJun Choi Aug 27, 2004
What is OPNET?
• A powerful network simulation tool– comprehensive development environment for modeling of
communication networks and distributed systems– Accuracy and easy-of-use for network planner
• System requirements– Visual studio 6.0
• References– www.opnet.com– www.simus.net
HyunJun Choi Aug 27, 2004
Backgrounds
• Object orientation– OPNET Consists of objects, each with configurable sets of attribute– Objects Belong to classes
• Specialized in communication networks and information systems
• Graphical specification
• Flexibility to develop detailed custom models– OPNET provides a flexible, high-level programming language with
extensive support
• Automatic generation of simulations– Automatically compiled with C programming language
HyunJun Choi Aug 27, 2004
Typical Applications of OPNET
• Standards-based LAN and WAN performance modeling
• Internetworking planning
• Research and development in communications architectures and protocols
• Distributed sensor and control networks
• Mobil packet radio networks
• Satellite networks
HyunJun Choi Aug 27, 2004
OPNET simulator Architecture
Initial Specification
Analysis
Data Collection andSimulation
Re-Specification
Simulation Project Cycle
HyunJun Choi Aug 27, 2004
Specification Editors
• Project Editor– Specify network topology and configure nodes and links
• Node Editor– Create models of nodes by specifying internal structure and
capabilities– Combine modules
• Process Editor– Develop models of decision-making processes representing
protocols, algorithms, resource managers, operation systems, etc.
• Link Editor– Create, edit, and view link models
• Packet Format Editor– Specify packet format, defining the order, data type, and size of
fields contained within the packet
• ICI Editor– Create, edit, and view interface control information formats
HyunJun Choi Aug 27, 2004
Specification Editors (cont’d)
• PDF Editor– Create, edit, and view PDF
• Probe Editor– Identify sources of statistics and animation that are to be collected
during a simulation– Done before execution
• Simulation Tool– Design and run sequences of simulations, each potentially
configured with different inputs and/or outputs
• Analysis Tool– Plot and process numerical data generated by simulations
HyunJun Choi Aug 27, 2004
Modeling domains
Domain Editor Modeling Focus
Network Project
Network topology described in terms of subnetworks, nodes, links, and geographical context.
Node Node
Node internal architecture described in terms of functional elements and data flow between them.
Process Process
Behavior of process (protocols, algorithms, applications), specified using finite state machines and extended high-level languages
HyunJun Choi Aug 27, 2004
Simulation Output Data Types
• Output vectors– Most common results type– Consist of dependent and independent variables, pairs of real
values
• Output Scalars– Individual values
• Ex) Averages, Probabilities, peak value, etc.– Ex) Throughput vs. Offered Load
HyunJun Choi Aug 27, 2004
Interrupt-Driven Execution
• Process are driven by events– Internally or externally interrupted
HyunJun Choi Aug 27, 2004
Local Process Resources
• Input and Output Streams– Packet streams are objects in Node Editor and used to connect modules toge
ther– Packet streams connect source with destination modules which are called ou
tput and input streams
• Input stream to receiver process– op_intrpt_stream(), op_pk_get(), op_strm_pksize(),and etc.
• Output stream from sender process– Op_pk_send(), op_pk_send_delayed(), op_pk_send_forced(),and ect.
HyunJun Choi Aug 27, 2004
State Transition diagram
• Proto-C models consist of two basic components– States and Transitions
• A process has two executives– Enter executive and Exit executive
• Forced and Unforced States– Forced State (Green)
• Proceeds without any event
– Unforced State (Red)• Pauses between enter and exit executives• Waits for interrupt to break
Blocked
Blocked
Enter
Enter
Exit
Exit
< Execution Flow Thorough Unforced States>
HyunJun Choi Aug 27, 2004
Execution Flow through Combination of Unforced and Forced States
Invocation starts at top of exit executives of unforced states
Invocation starts at bottom of Enter executives of unforced states
HyunJun Choi Aug 27, 2004
Initial state & transitions
• Initial state– Must be designed in each process model– Occur only once
• Transitions– Movement of a process from state to state and conditions under
which such changes may take places
(condition)/Executive
HyunJun Choi Aug 27, 2004
Variables
• State variable– Used to represent the information accumulated and retained by a
process– Require a memory allocation of corresponding size that will last as
long as the process exists
• Temporary variable– Used to store information that doesn’t require persistency– Doesn’t require additional memory
• Global variable– Used to provide a means for multiple processes in different
modules
HyunJun Choi Aug 27, 2004
Attributes
• Specify Characteristics of a process – Ex) time out duration, window size, max number of retransmission,
etc.
HyunJun Choi Aug 27, 2004
Typical Node Models
• Work station– Generate and receive transfers of files or sparse packets and
manage several concurrent network connections
• Packet switch– Supports large numbers of incoming and outgoing data links and
performs packet routing at high speeds
• Satellite terminal– Generates and receives packets according to a CA protocol
• Remote data sensor– Acts as a simple source of packets, usually transmitting them in
bursts
HyunJun Choi Aug 27, 2004
Module definition
• Processor modules– Primary general-purpose building blocks of node models– Can be specified by process model attribute– Used to perform general processing of data packets
• Queue modules– Provide superset of the functionality of processor modules– Are related to memories
HyunJun Choi Aug 27, 2004
Module definition (Cont’d)
• Transmitter modules– Serve as the outbound interface between packet streams in side a
node and communication links outside node
HyunJun Choi Aug 27, 2004
Module definition (Cont’d)
• Receiver modules– Serve as the inbound interface between communication links
outside a node and packet streams inside the node
HyunJun Choi Aug 27, 2004
Connection definition
• Packet streams– Support the flow of data packets between modules– Three methods for transferring a packet and notifying arrivals
• Scheduled arrival– Is scheduled of the destination module– Occurs after all other events
• Forced arrival– Occurs immediately
• Quiet arrival– No stream interrupt occurs at all
HyunJun Choi Aug 27, 2004
Connection definition (Cont’d)
• Statistic wire– Unlike packet streams, it convey individual values– Individual values are used as an interface where the source module
and can share certain values with destination module – Each module within a node has a set of local input and output
statistics
HyunJun Choi Aug 27, 2004
Connection definition (Cont’d)
• Logical Associations– Do not actually carry data between modules– Do not exit during simulation, but used purely as specification
devices– Used to interpret structure
HyunJun Choi Aug 27, 2004
Network domain
• Define the overall scope of a system to be simulated• Size and scope of the networks modeled can range simple to
complex
HyunJun Choi Aug 27, 2004
Network objects
• Subnetworks– Provide a powerful mechanism to manipulate complex networks
structures and to break down the system’s complexity through abstractions
– Have Fixed, mobile, satellite types
HyunJun Choi Aug 27, 2004
Network objects (Cont’d)
• Communication nodes– Exits within a subnetwork and represents a network device with a
wide range of possible capabilities– Determined by node models– Have fixed, mobile, and satellite types
HyunJun Choi Aug 27, 2004
Network objects (Cont’d)
• Communication links– Allow communication of information between nodes in the form of
structured message called packets– Simplex, duplex point to point, bus and taps
HyunJun Choi Aug 27, 2004
Modeling node and subnetwork movement
• Trajectories– Vector based
• Direction and velocity
– segment based• Time and three dimension (x, y and altitude)