Professional Documents
Culture Documents
Network Domain
335-Ntdef
Modeling Concepts
336-Ntdef
Modeling Concepts
Ntdef.1
Introduction
Introduction
A network model defines the overall scope of a system to be simulated. It is a
high-level description of the objects contained in the system. The network model
specifies the objects in the system, as well as their physical locations,
interconnections and configurations.
The size and scope of the networks modeled can range from simple to
complex. A network model may contain a single node, a single subnetwork, or
many interconnected nodes and subnetworks, since the structure and complexity of
a network model typically follows those of the system to be modeled. For example,
a network with a star topology has a corresponding network model with one center
hub node and several peripheral nodes connected to it with point-to-point links.
Ntdef.2
Network Objects
Network models are composed of the following main building blocks:
subnetworks, communication nodes, and communication links. These objects,
either singly or as a whole, may be referred to as a site. A subnetwork encapsulates
other network level objects. Communication nodes model network objects with
definable internal structure. Communication links provide a mechanism to
transport information between communication nodes. This section describes each
object type available at the network level.
Ntdef.2.1
Subnetworks
337-Ntdef
Network Domain
Network Objects
Modeling Concepts
the parent of the objects inside of it and the objects are the children of the
subnetwork.
Subnetworks Abstract the Network
Components Contained Within Them
A special subnetwork called the top level or global subnetwork is the highest
level subnetwork in the network hierarchy. The top level subnetwork does not have
a parent object. Ordinary subnetworks may be created and interconnected within
this top level or within other subnetworks.
Subnet Hierarchy
top subnet
338-Ntdef
Modeling Concepts
Network Objects
Fixed Subnetworks
A fixed subnetwork is unable to change its position during simulation, since its
x position and y position attributes cannot be modified during simulation. If the
subnetworks region is defined in degrees, then the x position attribute is the
subnetworks longitude and the y position attribute is the subnetworks latitude.
If the subnetworks region is defined in units other than degrees, the position
attribute values are also in those units and can, if it is not the top subnetwork,
represent a location relative to the position of the parent subnetwork. Refer to
section Ntdef.4 Physical Coordinate Systems for details.
339-Ntdef
Network Domain
Network Objects
Ntdef.2.1.2
Modeling Concepts
Mobile Subnetworks
A mobile subnetwork has the capability to change positions during a
simulation via one of three mechanisms: either by statically defined trajectory
segments, by a vector trajectory, or by direct changes to the subnetworks position
attributes. If trajectory segments are specified, the subnetworks position is
automatically updated at appropriate times to follow that trajectory during
simulation. Refer to Ntdef.5.1.1 Trajectories for more details.
Mobile subnetworks are typically used to contain model networks whose
overall position varies with time, such as submarines, airplanes, and other mobile
networks. Because mobile subnetworks move relative to the earth, objects within
them cannot be connected to other objects outside the network with point-to-point
or bus links. Mobile subnetworks are available only in the Radio version of
OPNET.
Ntdef.2.1.3
Satellite Subnetworks
A satellite subnetwork has the capability to change position during a
simulation via an assigned orbit, which specifies its orbital path through time. The
satellite subnetworks position is automatically updated at appropriate times during
simulation to follow that orbit. You can produce orbit files using the Satellite Tool
Kit program from Analytical Graphics, and then import the files into OPNET. (See
Pt.6.5 Import STK Orbit for more information on using this program.) You can also
produce orbit files using the EMA interface (refer to the External Model Access
chapter of External Interfaces for more information).
Satellite subnetworks cannot be connected to point-to-point and bus links and
are available only in the Radio version of OPNET. For more information on
satellite subnetworks, refer to section Ntdef.5 Modeling Node and Subnetwork
Movement.
Ntdef.2.2
Communication Nodes
A communication node exists within a subnetwork and represents a network
device with a wide range of possible capabilities. The actual function and behavior
of a node is determined by its node model, which is specified by the nodes node
model attribute. A node model is defined in the Node Editor and specifies the
internal structure of the node. A node may refer to a derived node model rather
than an actual node model specified in the Node Editor. In this case, there is an
implicit reference to the base model that the derived model depends on. For the
purposes of discussion in this chapter, the term node model will be used to refer to
Node Domain models in general, including both base and derived node models. A
node is said to be an instance of its node model. Distinct instances of the same
node model operate independently of each other during a simulation, just as
distinct pieces of equipment are independent of each other in a real network,
although they may have identical capabilities. A network model may contain an
arbitrary number of communication nodes, possibly of the same or different node
models.
340-Ntdef
Modeling Concepts
Network Objects
There are three types of communication nodes: fixed, mobile and satellite. The
node types have essentially the same core capability, since the node model defines
the internal behavior of the node. The only differences in capability between the
node types relate to their movement during simulation and how they can be
connected to links.
Ntdef.2.2.1
Fixed Nodes
A fixed communication node is unable to change its position during
simulation, since its x position, y position and altitude attributes cannot be
modified during simulation. If the parent subnetworks region is defined in
degrees, then the x position attribute is the nodes longitude, the y position
attribute is the nodes latitude, and the altitude attribute value is in meters. If the
parent subnetworks region is defined in units other than degrees, the position
attribute values are also in those units and represent a location relative to the
position of the parent subnetwork. Refer to section Ntdef.4 Physical Coordinate
Systems for details.
Since a fixed nodes position does not change, a fixed node is typically used to
model static network devices, such as workstations, gateways, and satellite ground
stations. In order to communicate with other nodes, a fixed node is often connected
to the others via one or more links. A fixed node is the only type of node that
supports connections to point-to-point and bus links.
LAN Nodes
341-Ntdef
Network Domain
LAN nodes are a special kind of fixed node that represents an entire Ethernet,
FDDI, or Token Ring LAN (local area network) and its aggregate traffic as a single
entity. These nodes are switched devices that contain a variable number of
workstations, as well as a server. LAN nodes can be directly connected to any
Ethernet, FDDI, or Token Ring node except a hub, any fixed subnetwork, or
Network Objects
Modeling Concepts
another LAN with the same data rate and protocol. LAN nodes can also be
connected to other objects with different data rates (for example, a 10BaseT LAN
connected to a 100BaseT LAN) by using an intermediate router or switch.
Typical LAN Node
Ntdef.2.2.2
Mobile Nodes
A mobile communication node has the capability to change positions during a
simulation via one of three mechanisms: either by trajectory segments, by a vector
trajectory, or by direct changes to the nodes statically defined position attributes.
If a statically defined trajectory is specified, the nodes position is automatically
updated at appropriate times to follow that trajectory during simulation. Refer to
section Ntdef.5 Modeling Node and Subnetwork Movement for more details.
Every mobile node is located within a subnetwork object. The placement of
mobile nodes within a subnetwork is useful when describing the motion of the
mobile nodes, since a subnetwork object has the capability to define a region that is
dimensioned in units that may be appropriate for the range of the mobile nodes.
For example, a subnetwork object may be used to define the area of a building,
where hand-held communication units are represented by mobile nodes, or the
subnetwork may be used to define the area of a city, where automobiles with
cellular telephones are represented by mobile nodes.
A mobile node is typically used to model terrestrial network elements whose
positions vary with time, such as automobiles, aircraft, and maritime vessels. Since
mobile nodes move relative to the earth, they may not be connected to point-topoint and bus links. Mobile nodes are available only in the Radio version of
OPNET.
Ntdef.2.2.3
Satellite Nodes
A satellite communication node has the capability to change position during a
simulation via an assigned orbit, which specifies its orbital path through time. The
satellite nodes position is automatically updated at appropriate times during
simulation to follow that orbit. Satellite nodes are usually assigned an orbit file
created using the Satellite Tool Kit from Analytical Graphics, and then imported
into OPNET. See Pt.6.5 Import STK Orbit for more information on creating and
importing orbit files.
342-Ntdef
Modeling Concepts
Network Objects
Communication Links
Links allow communication of information between nodes in the form of
structured messages called packets. When a packet is submitted to a transmitter in
a source node, the packet is conveyed over a link to a receiver in a destination
node. A transmitter may support multiple outgoing channels into a link and,
similarly, a receiver may support multiple incoming channels from a link. A link is
actually composed of one or more communication channels, each of which defines
a connection between a transmitter channel and a receiver channel. A
communication channel can be thought of as a pipe, where packets are placed in
one end by a transmitter channel and retrieved at the other end by a receiver
channel. If a link has multiple communication channels, it can be thought of as a
bundle of pipes, each one conveying packets from the source node to the
destination node.
A Link Is Composed of One or More
Independent Communication Channels
Communication Channel
Transmitter
Link
Receiver
Point-to-point links, bus links, and bus taps are represented as objects in the
Project Editor. Radio links exist as a function of dynamic conditions and so are not
represented by objects. Instead they result from a dynamic evaluation by the
Simulation Kernel. Those links that are represented by objects are described by an
343-Ntdef
Network Domain
OPNET supports three types of links: point-to-point, bus, and radio. Each link
type provides a fundamentally different type of connectivity: point-to-point links
connect a single source node to a single destination node, bus links connect a fixed
set of nodes to each other, and radio links potentially allow all nodes in a model to
communicate with each other, based on a dynamic evaluation. Each type of link is
described in more detail later in this section.
Network Objects
Modeling Concepts
underlying link model or derived link model in the same way that nodes are
described by a node model. For more information on link models, refer to the
Communication Mechanisms chapter.
While the general type of connectivity provided by these links is predefined by
OPNET, an open architecture is provided to allow developers to specify
customized behavior for each individual link and on a per-transmission basis. This
architecture is referred to as the transceiver pipeline because it provides a conduit
connecting a transmitter to one or more receivers. The basic functionality of a
transceiver pipeline is to determine when a packet arrives at the receiver and if it is
successfully received.
The transceiver pipeline has a similar structure for each of the three supported
link types. In each case, the Simulation Kernel manages the transfer of packets by
implementing a series of computations. The sequence of the computations and
their interface are standardized for each type of link. However, each computation is
performed outside the Simulation Kernel by a user-supplied procedure, called a
pipeline stage. In this manner, OPNET provides an open and modular architecture
for implementing link behavior. Refer to the Communication Mechanisms chapter
for more information on the transceiver pipelines.
Ntdef.2.3.1
344-Ntdef
Modeling Concepts
Network Objects
Server
Hillary
345-Ntdef
Network Domain
Network Objects
Modeling Concepts
default value is 0.0 seconds, but may be set as required to model the propagation
delay across a link.
Once a packet has completed traversing a link, the transceiver pipeline
computes the number of bit errors that occurred and whether they exceed the
receivers ability to correct them. The number of bit errors allocated to a packet is
based on the ber attribute of the link and the size of the packet. The default
pipeline stage for bit error allocation uses a probabilistic algorithm to compute the
number of bit errors. For details, refer to the Pipeline Stages / Bus Link chapter in
the General Models manual. The number of bit errors that the receiver can correct
is determined by the size of the packet and the receivers ecc threshold attribute,
which specifies the maximum number of errors per bit that can be corrected. For
example, if a packets size is 1000 bits and the error correction threshold value is
0.002, then the receiver can correct the errors in the packet if the number of bit
errors is 2 or less. If there are no errors or the receiver is able to correct those that
occurred, the receiver accepts the packet and forwards it to the next module in the
node. If there are too many bit errors, the receiver drops the packet and does not
forward it to the next module in the node.
Ntdef.2.3.2
346-Ntdef
Modeling Concepts
Network Objects
node that periodically emits a synchronization signal and has no need to receive
information from other nodes.
Bus Link and Taps with Attributes
Bus Link
Tap
Tap Attributes
Bus Attributes
Packets are transmitted one at a time from a transmitter channel onto the bus
link and may propagate simultaneously in both directions. When a packet is
transmitted, each of the eligible receivers is sent a distinct copy of the packet. This
allows each receiver to make an independent determination with regard to the
correct reception of the packet. In addition, if the packets are received correctly by
multiple receivers, then the distinct copies can be operated upon (e.g., modified,
destroyed, resent) without affecting each other.
347-Ntdef
Network Domain
Network Objects
Modeling Concepts
The time that a bit requires to travel from the transmitter to the receiver is the
propagation delay. This delay is determined by the bus links delay attribute and
the distance the packet travels from transmitter to receiver. The delay attribute
specifies the propagation delay in units of seconds per meter, rather than just a
fixed value, as in point-to-point links. The distance from a transmitter to a receiver
is actually the distance from the transmitters tap to the receivers, since the taps
identify where the transceivers are located on the bus. The distance is not the lineof-sight distance, but the distance along the bus. Since the transmitter may be
sending copies of the packet to multiple receivers at different locations, the packets
may arrive staggered in time at each receiver.
60m
20m
The transmission delay is the time required by the transmitter channel to send a
packet. This delay is based on the data rate attribute of the transmitter channel
and the size of the packet. The last bit of a packet will arrive one transmission
delay after the first bit. This delay is important because the Simulation Kernel uses
it to determine when a receiver channel is busy and when the entire packet has
arrived at the receiver channel.
Since a bus is a shared broadcast medium, two or more transmitter channels
may send packets whose arrivals overlap in time at a particular receiver channel.
This is known as a collision. When a collision occurs, the transceiver pipeline
increments a collision counter that is stored in the OPC_TDA_BU_NUM_COLLS
Transmission Data Attribute of each packet involved. Refer to the Communication
Mechanisms chapter in the Modeling Concepts manual for more information on
each transmission data attribute built into the packet structure.
Once a packet has completed reception at a bus receiver channel, the
transceiver pipeline computes the number of bit errors that occurred in the packet.
The number of bit errors allocated to a packet is based on the ber attribute of the
link and the size of the packet. The default pipeline stage for bit error allocation
348-Ntdef
Modeling Concepts
Network Objects
uses a probabilistic algorithm to compute the number of bit errors. For details,
refer to the Pipeline Stages / Bus Link the in General Models manual.
The bus receiver will accept the packet if there were no collisions during
reception and if it can correct any bit errors that may have occurred in the packet.
The number of bit errors that the receiver can correct is determined by the size of
the packet and the receivers ecc threshold attribute, which specifies the
maximum number of errors per bit that can be corrected. For example, if a packets
size is 1000 bits and the error correction threshold value is 0.002, then the receiver
can correct the errors in the packet if the number of bit errors is 2 or less. If there
are no collisions and errors, or the receiver is able to correct those errors that
occurred, the receiver accepts the packet and forwards it to the next module in the
node. If there is at least one collision or too many bit errors, the receiver drops the
packet and does not forward it to the next module in the node.
Since bus links allow a single packet transmission to automatically propagate
to multiple destinations, they are generally used to represent local area networks,
computer buses, or other broadcast-based networks. In addition, because packet
broadcasting can be constrained to a subset of the nodes attached to the bus, and
even to a single destination, bus links can be used to represent networks with a
high degree of connectivity or with a dynamic connectivity that would otherwise
be difficult to represent using point-to-point links.
Ntdef.2.3.3
Link Consistency
OPNET supports a notion of compatibility for interconnected nodes and links
in the Project Editor. The purpose of incorporating this concept in OPNET is to
assist the network-level user in constructing correct models. This is particularly
important for users who work exclusively at the network level, as do IT
DecisionGuru and Modeler XE users, since they do not have visibility into the
node models to make their own determinations about compatibility issues. These
types of users are only aware of the information that is published by node and link
model developers in the model comments.
OPNETs refers to compatibility of combinations of links and nodes as link
consistency. A determination of consistency for a particular grouping of objects is
based on criteria applied to certain attributes of these objects. Two types of
connections can be subjected to a test for link consistency: the interconnection of a
point-to-point link (simplex or duplex) and two nodes on either end of it, and the
interconnection of a node and a bus links via a tap. Note that links may actually be
connected to a subnetwork object that contains a node, but the connection is still
with the node object and the subnetworks characteristics are not considered.
349-Ntdef
Network Domain
The objects that are actually involved in the consistency determination are the
link, and the attached transmitter and receiver objects within the nodes. The
characteristics of the channel objects which are embedded in the transmitters and
receivers that are considered as well. The attributes that are considered for these
objects are data rate and the packet formats. The data rate specifies the
Network Objects
Modeling Concepts
speed at which information can be transmitted through the object and is given in
bits per second. Compatibility is clearly dependent on this attribute since it would
not make sense for a device to transmit data at one speed to a device that is only
capable of receiving data at a different speed. The packet formats attribute
specifies the types of packets that the object is capable of carrying. Though in the
real world, this is not necessarily a constraint that is imposed by physical objects
such as channels and links, it does provide a valuable mechanism for enforcing
correct interconnection. Specifically, the channels are viewed as ports of the node
and the node model developer has knowledge of the type of communication
protocol that is expected to make use of the port. By specifying the same type of
information for each port of each node, node model developers provide OPNET
with enough knowledge to detect if ports are connected that support incompatible
protocols.
Objects Involved in Link Consistency Determination
de
No
ry
da
un
Bo
bus tap
duplex link
bus link
For bus interconnection, it is the
tap that can be inconsistent
point-to-point
transceivers
The criteria are intrinsic to OPNET and cannot be modified by the user. They
can be expressed as a series of rules, none of which can be violated if consistency
is to be achieved. Because links have only one packet formats attribute and one
data rate attribute, these are compared only against the attributes of the zeroth
channel for each transmitter and receiver. Channels with higher indices do not
factor into the consistency calculation. These rules are presented in the following
table.
350-Ntdef
Modeling Concepts
Network Objects
Details
Completeness
351-Ntdef
Network Domain
Link consistency plays two primary roles in OPNET. Its primary use is as a
verification mechanism to be used during specification. OPNETs Project Editor
supports this with the Verity Links operation. This operation detects inconsistent
links and indicates them with a red X to call attention to them. Double-clicking
on the X opens a dialog box that describes why the link is inconsistent.
Optionally, this operation can attempt to correct the problematic link definitions.
Refer to the Project Editor chapter in the Editor Reference manual for more
information on using the Verify Links operation.
Network Objects
Modeling Concepts
352-Ntdef
Modeling Concepts
Network Objects
than being transmitted. A warning message is generated when this occurs, but the
simulation is allowed to continue.
Even though a link may be consistent in terms of its physical attachments,
OPNET may still detect inconsistencies between the link and the traffic that it
carries. Specifically, a packet may be submitted for transmission whose format is
not included in the links packet formats attribute.The packet format may also
not be supported by the transmitter channel in the source node or by the receiver
channel in the destination node. Packet format incompatibilities can occur not only
for bus and point-to-point links, but also for radio links, since each radio
transceiver channel also provides a packet formats attribute.
When a packet is detected to be inconsistent with a transmitter channel, the
packet is dropped from the transmitter. It does not consume any of the transmitters
bandwidth, and the transmitter is allowed to move on immediately to begin
processing of the next packet that is queued for transmission (if any). This is true
of all three types of transmitters. Furthermore, if the packets format is inconsistent
with the supported formats of the connected link object, point-to-point and bus
transmitters discard the incompatible packet in the same manner.
When a packet is received by any of the three types of receivers, the Simulation
Kernel verifies that the packet can be supported by the receiver channel, as
specified in the channels packet formats attribute. If the packet format is
supported, the packet is forwarded normally to one of the other modules that is
attached to the receiver. If the format is not supported, the packet is instead
automatically discarded by the Simulation Kernel. Packet format inconsistency at
the receiver does not affect any of the pipeline computations which are performed
prior to consistency evaluation.
Transceiver Choosing
Note that OPNETs Project Editor does not indicate inconsistent links until it is
explicitly requested to do so via the Verify links operation. This brings up the
question of when links become inconsistent and when it makes sense to apply this
operation. There are several ways in which this can happen, each of which is
described in the table below.
Network Domain
353-Ntdef
Network Objects
Modeling Concepts
Causes of Inconsistency
Cause
Details
Inconsistent at creation
When a link and one or more devices are connected together in the Project Editor, it may not be possible for a
consistent link to be established. This may be due to
the fact that there are no matching transmitters/receivers available in the node models, or that none are available (i.e., they are already used for other links). Rather
than create a link that does not match its transceivers,
the Project Editor will simply leave the transceivers unassigned. The link is then inconsistent according to the
completeness rule in the table above.
External Specification
Network models can also be specified using the External Model Access (EMA) capability. In this case, link
transceiver attributes can be configured in an arbitrary
manner, and may violate one or more of the rules in the
table above.
Model changes
354-Ntdef
Modeling Concepts
Network Objects
Link Connectivity
The link connectivity utility allows you to identify the IP interfaces and
physical port numbers connected on either sides of a link. The difference in the
information provided by this feature and that available using the port information
feature is that link connectivity provides information only for the selected link,
whereas port information provides a table for all connections on the loaded subnet
view.
When link connectivity is enabled, a new operation called Link Interfaces
appears when the Attributes dialog box is opened for a given link. The supported
link types include duplex/simplex point-to-point links and bus taps.
To choose ports for a link
1) Open a network model for which interface and port information are required.
2) Right-click on a link.
The links Attributes dialog box appears.
Network Domain
355-Ntdef
Network Objects
Modeling Concepts
Radio Links
A radio link might exist between any radio transmitter-receiver channel pair
and is dynamically established during simulation. The possibility of a radio link
between a transmitter channel and a receiver channel may be dependent on many
physical characteristics of the components involved, as well as time-varying
parameters. In OPNET simulations, parameters such as frequency band,
modulation type, transmitter power, distance, and antenna directionality are
commonly factored into the determination of whether a radio link exists or not at a
particular time. Therefore, a radio link is not statically represented by an object, as
are point-to-point and bus links.
Correspondingly, radio transmitter and receiver objects have a greater role in
determining the behavior of a radio link. Unlike point-to-point and bus link objects
which have attributes to specify the pipeline stages, a radio link is not an object and
cannot provide those values. Therefore, the radio transmitter and receiver objects
attributes identify the appropriate pipeline stage values that make up the
transceiver pipeline, which performs the calculations required to determine when
and if a packet is successfully received. For a full description of the radio link
transceiver pipeline, refer to the Communication Mechanisms chapter in the
Modeling Concepts manual. The remainder of this section explains how the
network level objects affect the default radio transceiver pipeline. If the default
pipeline procedures require modification to model the effects in a different
manner, refer to the Communication Mechanisms chapter in the Modeling
Concepts manual for the details of each pipeline stage.
356-Ntdef
Modeling Concepts
Network Objects
The distance between the sites determines the propagation delay and path loss
of the radio signal. The default transceiver pipeline computes the propagation
delay of the radio signal traveling from the source site to the destination site at the
speed of light. The transceiver pipeline also models the weakening of the radio
signal as it propagates from the source site. It is assumed that the path loss is
directly related to the reciprocal of the distance squared.
357-Ntdef
Network Domain
Network Objects
Modeling Concepts
rC
2
- G rx
P tx G tx ---------------- 16 2 r 2
the radio signal reaches the destination site, the transceiver pipeline also calculates
the direction of the signal into the receivers antenna, if there is an antenna. The
antenna may increase or decrease the signal received based on the incoming
direction of the radio signal. As with the transmitter, if a receiver does not have an
antenna object attached to it, then the signal level is not adjusted.
The propagation delay and signal strength computations are important factors
in determining when and if a packet arrives successfully at the destination site. The
propagation delays of packets determine when the packets arrive and whether the
packets collide. Collisions cause interference which is noise to the signal of a
particular packet. With the signal strength and noise computed, the transceiver
pipeline calculates the signal-to-noise ratio and from that the bit error rate and bit
error count, which determines the acceptability of the packet. Refer to the
Communication Mechanisms chapter for more details on the radio transceiver
pipeline.
Ntdef.2.4
Ntdef.2.4.1
358-Ntdef
Modeling Concepts
Network Objects
want (as described in XREF); then you select a model and click on objects in the
Project Editor workspace to connect them.
Choosing a Path Model
Each path model has a set of defined options that determine the type of path
you can and cannot create. When creating a path object in the Project Editor, you
should verify that the underlying models options allow you to create the type of
path you want. If you cannot find a path model whose options exactly match the
type of path you want to create, you may want to create or derive a new model.
Path Model Description Dialog Box
path
options
Path Connectivity
A path object defines, at the very least, two end sites. It may also define a
partial or complete path (that is, a set of connecting sites and links) between these
sites. The Path Connectivity option defines the extent to which you can define this
intermediate path. The three possible settings are:
Links RequiredIn a required-link path, you must specify all connecting links and midpoints between the two end nodes. Note that you
can only define a required-link path across point-to-point links. Traffic
follows the exact path from source to destination.
359-Ntdef
Network Domain
Network Objects
Modeling Concepts
Links OptionalThis is a combination of the required-link and ignored-link types. You must define the two end sites, but defining any
connecting links and nodes is optional. If there is no defined path between two sites, the underlying models determine the path that traffic
takes between them.
Other Options
The other defined path options are:
Packet FormatsEach path has a defined set of supported packet formats. You cannot define a link as part of a path unless it supports all
formats included in that path models Packet Formats field.
Two Endpoints OnlyIf this option is set to Yes, you can only create
single-segment paths.
Subnets IgnoredIf this option is set to No, you cannot include a subnetwork in a path definition.
Allow CyclesIf this option is set to No, you can only include each
link or site once in a path definition.
360-Ntdef
Modeling Concepts
Ntdef.2.4.2
Network Objects
3) Left-click on a site that forms one endpoint of the path you want to define.
Once you are in path-creation mode, OPNET Modeler provides extensive
visual feedback to indicate valid and invalid additions to your path. If you
move the cursor over an invalid node, for example, the cursor changes
appearance and a tooltip appears with an error message.
Visual Feedback in Path-Creation Mode
361-Ntdef
Network Domain
4) (Required-link and optional-link paths only): Left-click on any sites that form
midpoints in your path. This step is optional for optional-link paths; if you are
defining a required-link path, you must define every midpoint.
Modeling Concepts
6) Right-click in the project workspace and choose Finish Path Definition from
the pop-up menu. OPNET Modeler auto-assigns a unique name to the new
path.
Note: When you nish dening a path, you are still in path-denition mode. You can create another path (based
on the same underlying model) by repeating steps 3 through 7. To exit path-denition node, right-click and
choose Abort Path Denition from the pop-up menu.
Ntdef.3
Ntdef.3.1
362-Ntdef
Modeling Concepts
Ntdef.3.3
363-Ntdef
Network Domain
Ntdef.4
Modeling Concepts
Extent boundary
364-Ntdef
Modeling Concepts
Y direction
Network Domain
365-Ntdef
Modeling Concepts
y span
Extent boundary
Extent Specification
The units and extents of all subnetworks are configurable, except for those of
the top subnetwork. The top subnetworks units are always degrees and its extent is
always the entire earth, from -180 to +180 longitude, and from +90 to -90
latitude. Its child subnetworks may have any type of units and different size
extents.
Ntdef.4.2
366-Ntdef
Modeling Concepts
Equator
Lines of Latitude
Lines of Longitude
Network Domain
367-Ntdef
Modeling Concepts
Ntdef.4.3
*/
*/
*/
*/
*/
*/
Modeling Concepts
y offset =
400 km
Network Domain
369-Ntdef
Modeling Concepts
Step 1:
Top left corner of subnetwork in degrees (x, y) =
(x_position - (1/2) x_span, y_position +
(1/2) y_span)
Latitude = 0.0 + (1/2) 7.5 = 3.75
Longitude = -137.0 - (1/2) 7.2 = -140.60
Step 2:
3.59
(-140.60, 3.75)
5.39
Step 3:
Latitude of object = 3.75 - 3.59 = 0.16
Step 4:
Longitude offset of 600 km = 5.39
( at 0.16 latitude)
Step 5:
Longitude of object = -140.60 + 5.39 = -135.21
Step 6:
Altitude offset of object = - 10 m
Step 7:
Altitude of object = 1000m - 10m = 990m
370-Ntdef
Modeling Concepts
Ntdef.4.4
90E
0E
x
0N
The Simulation Kernel computes the geocentric position coordinates for site
objects only. There are two mechanisms provided to obtain these values. The
Kernel Procedure op_ima_obj_pos_get() returns the geocentric, as well as the
global, position coordinates of a site at the moment in the simulation when the
procedure is invoked. The second mechanism is part of the radio transceiver
pipeline. The geocentric position coordinates of the sending and receiving nodes
are automatically included in the Transmission Data Attributes of a packet for
radio transmission. The Simulation Kernel computes these values for the
transceiver pipeline. The default radio transceiver pipeline uses the geocentric
position coordinates for the line of sight and distance calculations. Refer to the
Communication Mechanisms chapter for more details on the radio Transceiver
Pipeline.
Network Domain
371-Ntdef
Modeling Concepts
=
=
=
=
(x,y) = (0,0)
x
x (incr. long.)
y (decr. lat.)
y
Ntdef.5
372-Ntdef
Modeling Concepts
Ntdef.5.1
Ntdef.5.1.1
Trajectories
A trajectory is a path specification for a mobile objects motion during a
simulation. The trajectory of a mobile node or subnet object is specified by its
trajectory attribute.
A trajectory can be defined either as vector-based or segmentbased. A vectorbased trajectory consists of a direction and a velocity that can be changed at run
time. If a mobile objects trajectory attribute is set to VECTOR, then the
trajectory is defined by the ground speed, ascent rate, and bearing
attributes.
A segment-based trajectory consists of one or more traversal-time values and a
set of three-dimensional (x, y, and altitude) coordinates that define the mobile
objects path. Segment-based trajectories are stored in ASCII text files with a .trj
extension, which you assign to a mobile node or subnet using the trajectory
attribute. The Project Editors Define Trajectory operation (found on the Network
menu) allows you to define a segment-based trajectory. See Pt.6.1 Define
Trajectory in the Editor Reference manual for details on this operation.
373-Ntdef
Network Domain
Segment-based trajectories come in two varieties: fixed-interval and variableinterval. In a fixed-interval trajectory, one value determines the traversal time for
all segments; hence an object takes the same amount to time to traverse every
segment, regardless of the segments length. In addition, a single value determines
the altitude for all points.
Modeling Concepts
causes a mobile object to pause at each point before it begins traversing the next
segment.
Segment-Based Trajectory Files
Both types of segment-based trajectories rely on ASCII-format trajectory (.trj)
files to specify the units for trajectory coordinates. The formats for fixed-interval
and variable-interval trajectories are shown below.
Fixed-Interval Trajectory File Format
integer
double (in seconds)
Degrees, Kilometers,
Meters, Miles, Feet,
or Local
fixed or relative
doubles
<coordinate_count>
<sample_time_step>
<position_units>
<coordinate_method>
<x_coord_0>, <y_coord_0>, <alt_0>
<x_coord_1>, <y_coord_1>, <alt_1>
...
<x_coord_n>, <y_coord_n>, <alt_n>
Version: <version_number>
Position_Unit: <position_unit>
Altitude_Unit: <altitude_unit>
Coordinate_Method: <coordinate_method>
Altitude_Method: <altitude_method>
Coordinate Count: <coordinate_count>
X Position
Y Position
Altitude Traverse Time
<x_coord_0>, <y_coord_0>, <alt_0>, <trav_time_0>,
<x_coord_1>, <y_coord_1>, <alt_1>, <trav_time_1>,
...
<x_coord_n>, <y_coord_n>, <alt_n>, <trav_time_n>,
Wait Time
<wait_time_0>
<wait_time_1>
<wait_time_n>
374-Ntdef
Modeling Concepts
affects the objects motion only if the trajectory is defined in nondegree coordinates (feet, meters, etc.).
Coordinate method: A trajectory file supports both relative and absolute path definitions. If the coordinate method is specified as relative, the coordinates are interpreted as offsets from the objects initial
position. If the coordinate method is fixed, the coordinates are interpreted as absolute coordinates within the parent subnetwork.
Examples of Relative and Absolute Trajectory Definitions
in a Fixed-Interval Trajectory
4
60.0
Meters
relative
0.0, 0.0, 5.0
50.0, 25.0, 5.0
50.0, 50.0, 5.0
4
60.0
Meters
fixed
0.0, 0.0, 5.0
50.0, 25.0, 5.0
50.0, 50.0, 5.0
Vector-based Trajectories
For example, the diagram below shows a possible site, called the origin, and its
trajectory based on the great circle around the earth (shown as dark lines). The
objects latitude and longitude would be at the origin at the beginning of the
375-Ntdef
Network Domain
Modeling Concepts
simulation, and the bearing, ground speed, and ascent rate attributes would determine
its path. Latitude/longitude coordinates follow the great circle path based on the
ground speed of the object, and the altitude varies based on the ascent rate.
The path of an object can change during simulation if the bearing of the object
is changed. In this case, the current latitude/longitude coordinates of the object
become the new point of origin, and a new great circle route is recomputed based
on the new bearing and origin.
Path of an Object on the Great Circle Route
N
trajectory
N
longitude
origin
trajectory
bearing
Equator
longitude
origin
latitude
latitude
S
Ntdef.5.1.2
376-Ntdef
Modeling Concepts
377-Ntdef
Network Domain
Modeling Concepts
delay calculations: the first packets propagation delay at the end of its
transmission and the second packets propagation delay at the beginning of its
transmission. If these propagation delays are not the same, then two back-to-back
packets will incorrectly appear to overlap each other or to have a gap between
them.
As two sites move closer together or farther apart during transmission, the
propagation delay of the radio signal will correspondingly change. Thus, at the
beginning and end of transmission of one packet, the start and end propagation
delays for a packet sent from a mobile site may be different. If the difference in
propagation delays is not accounted for, then the overlap or gap behavior occurs
with back-to-back packets.
The default radio transceiver pipeline does not prevent the overlap or gap
behavior in the case of discrete position changes. This is due to the fact that the
Simulation Kernel cannot predict the future location of a mobile site without use of
a trajectory. In this case, the Simulation Kernel sets the end of transmission
propagation distance in a packets TDA OPC_TDA_RA_END_DIST to the same value
as the start of transmission propagation distance, found in the packets TDA
OPC_TDA_RA_START_DIST. The default radio pipeline stage that computes the
propagation delays, dra_propdel.ps.c, uses these values and therefore returns
the same result for both delays.
One solution is to replace the default radio pipeline stage with another that
will correctly compute the end of transmission propagation delay. Below is an
example pipeline stage that correctly calculates this delay. It is assumed that the
procedure node_distance_calculate() returns the distance in meters between the
specified sites at the specified time. If such a procedure is not possible, then some
other solution that handles the default signal locking mechanism, packet
interference calculations, and the busy statistic of the radio receiver channel issues
should be used instead.
378-Ntdef
Modeling Concepts
*/
*/
*/
*/
*/
379-Ntdef
Network Domain
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Ntdef.5.2
Modeling Concepts
Satellite Sites
A satellite site uses an orbit to specify its location during a simulation. The
orbit file holds data specifying the times and locations that the satellite site will
pass through as the simulation progresses. Orbit files have a portable binary
format. You create orbit files using the Satellite Tool Kit program from Analytical
Graphics, and then import the files into OPNET. (See Pt.6.5 Import STK Orbit for
more information on the Satellite Tool Kit.) You can also create orbits via EMA
(refer to the External Model Access chapter in the External Interfaces manual).
The Satellite Tool Kit uses six orbital elements to compute the orbit at a set of
discrete points evenly sampled in time.
When the position of a satellite site is required, the Simulation Kernel will
recompute the location based on the points in the orbit. During simulation, the
satellite site follows the orbit by traveling in a straight line from one position
sample to the next, approximating the orbital path. Thus, the position of the site
during simulation is determined for any time by linearly interpolating between the
position sample just before that time and the next one after it in the orbit.
While satellite sites with orbits are useful for modeling satellites that move
relative to the earths surface, some satellites motion may be modeled without an
orbit. Since a geostationary satellite maintains a relatively fixed position over one
point on the earths surface, a satellite site without a specified orbit may be an
appropriate model. If the orbit attribute of a satellite site is set to NONE, then the
380-Ntdef
Modeling Concepts
initial values of the position attributes are used, as if the site were fixed to that
location over the earth. This provides an increase in simulation efficiency, since the
sites position does not need to be recomputed each time that it is required.
However, if the slight perturbations of a satellites position in geostationary orbit
are important, then a geostationary orbit should be specified.
Ntdef.6
When a node has failed, no interrupts destined for modules within that node
will be delivered. However, just before the node fails, failure interrupts, if there are
any, will be the last interrupts to be delivered to modules within that node until the
node recovers. Just after the node recovers, the first interrupts delivered to modules
381-Ntdef
Network Domain
Each node and link object has a condition attribute which specifies whether it
is in an operative state or not. When a node or link changes from an operative state
to an inoperative one, the Simulation Kernel may generate failure interrupts.
Similarly, when a node or link changes from an inoperative state to an operative
one, the Simulation Kernel may generate recovery interrupts. These interrupts will
be delivered to processor and queue modules that request them. These interrupts
are delivered forced, which means that the current event which is changing the
nodes condition attribute, is suspended and each of the interrupts is delivered
during that event.
Modeling Concepts
within that node are the recovery interrupts, also if any are to be delivered. Typically
this does not happen, but the possible exception to failure interrupts being the last
interrupts, and recovery interrupts being the first, to be delivered to modules within
the node, are other forced events that are generated from other interrupts within the
same failure or recovery event.
Ntdef.6.1
When a node failure occurs, several related actions take place. The Simulation
Kernel suspends the current event and delivers the failure interrupts to the
appropriate modules throughout the model. Once all of the failure interrupts are
delivered, then the Simulation Kernel notifies the nodes transmitter and receiver
channels of the failure. All busy transmitter channels abort their current packets in
progress and flush their transmit queues. Each busy receiver channel sets the node
failure TDA in its packet(s) to the current simulation time, if this is the first time
the node failed during each packets reception. In the default transceiver pipelines,
a packet will not be accepted if the node failed at any time during its transmission
or reception. After the interrupts are delivered and the transmitter and receiver
channels have completed their actions, the condition attribute value is internally
set to disabled and the suspended event is reactivated.
Once a node recovers from a failure, the condition attribute value is
automatically set to enabled and then a set of actions occur. The Simulation
Kernel suspends the current event and delivers the recovery interrupts to the
appropriate modules. Once all of the recovery interrupts are delivered, then the
Simulation Kernel notifies the nodes receiver channels of the recovery. Each busy
receiver channel sets the node recovery TDA in its packet(s) to the current
simulation time. After the interrupts have been delivered and the receiver channels
have completed their actions, the suspended event is reactivated.
When a link failure occurs, several related actions take place. The Simulation
Kernel suspends the current event and delivers the failure interrupts to the
appropriate modules. Once all of the failure interrupts are delivered, the condition
attribute value is automatically set to disabled and the suspended event is
382-Ntdef
Modeling Concepts
383-Ntdef
Network Domain
Modeling Concepts
in the next subsection contains example code fragments from a process that causes
its parent node to fail and then recover with this technique.
Ntdef.6.2.1
384-Ntdef
Modeling Concepts
Ntdef.6.2.2
This procedure causes the parent node of the module that this **/
interrupt was scheduled in to either fail or recover,
**/
depending on the code.
**/
(fail_recov_proc (state_ptr, code))
385-Ntdef
Network Domain
A script file may be generated from one of several sources. If the network
model corresponds to an existing network, the script file may be based on an actual
listing of node and link failures and recoveries. Another option is to create a script
file that represents some specific system behavior, such as a series of nodes failing.
Modeling Concepts
A script file may also be used to test worst case scenarios, for example, where a
set of interdependent nodes and links fail simultaneously.
The associated process reads the script file and builds a list of node and link
failure and recovery times. Once the list is built, the process schedules a self
interrupt for the time of the first failure or recovery event. When the self interrupt
occurs, the process sets the specified objects condition attribute to the
appropriate value by invoking the Kernel Procedure op_ima_obj_attr_set() and
schedules another self interrupt for the next failure or recovery event. The
following listing contains example code fragments of a script-based failure/
recovery process.
386-Ntdef
Modeling Concepts
1
2
3
4
5
6
7
Network Domain
387-Ntdef
Modeling Concepts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
388-Ntdef
Modeling Concepts
Ntdef.6.2.3
Network Domain
389-Ntdef
Modeling Concepts
390-Ntdef
Modeling Concepts
Ntdef.6.2.4
Interactive Manipulation
When a simulation is run under the OPNET debugger, attributes of objects may
be set directly with the ODB command attrset. Through this mechanism, a node
or link condition attribute can be set to enabled or disabled. If the value
changes, recovery or failure interrupts will be generated exactly as if some process
had changed the attributes value via a call to the Kernel Procedure
op_ima_obj_attr_set(). Interactive manipulation is useful for testing the systems
reaction to failures and recoveries on-the-fly.
Ntdef.6.3
Ntdef.6.3.1
The following listing shows an example code fragment from a process model
that updates a routing table based on object failures and recoveries throughout the
network.
Network Domain
391-Ntdef
Modeling Concepts
Ntdef.6.3.2
392-Ntdef
Modeling Concepts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Similarly, when a node recovers, processes within that node often need to reinitialize themselves. For example, a process could reset its counters, zero out its
arrays, and transition to the state where it expects incoming packets. If a process
requires notification when only its parent node recovers, then its containing
modules recovery intrpts attribute is set to local only, so that when the node
recovers, a recovery interrupt will be delivered to the module. The process calls the
Kernel Procedure op_intrpt_type() to distinguish this interrupt type from the others,
such as a stream or self interrupt. The following listing shows an example code
fragment from a process model which re-initializes its state variables when its
parent node recovers.
Network Domain
393-Ntdef
Modeling Concepts
394-Ntdef