Senior Design Project OPNET Modeler - PowerPoint PPT Presentation

About This Presentation
Title:

Senior Design Project OPNET Modeler

Description:

Senior Design Project OPNET Modeler & Short-Range Wireless Routing Erin Butler & Emmy Lai Advisor: Professor H. C. Chang Grant Funded by a grant from CRA-W, a subset ... – PowerPoint PPT presentation

Number of Views:119
Avg rating:3.0/5.0
Slides: 76
Provided by: eceTufts5
Learn more at: http://www.ece.tufts.edu
Category:

less

Transcript and Presenter's Notes

Title: Senior Design Project OPNET Modeler


1
Senior Design ProjectOPNET Modeler
Short-Range Wireless Routing
  • Erin Butler Emmy Lai
  • Advisor Professor H. C. Chang

2
Grant
  • Funded by a grant from CRA-W, a subset of the
    National Science Foundation,

3
Objective of Project
  • Research Existing Wireless Routing Algorithms
  • Design and Implement these Algorithms
  • Explore OPNET Modeler
  • A network technology development environment
  • Simulate a Variety of Networks, Observing
    Performance Metrics

4
OPNET Modeler
  • Three Main Domains
  • Network
  • Node
  • Process

5
Network Domain
  • Subnetworks
  • Encapsulates other network objects
  • Communication Nodes
  • Model network objects with definable internal
    structure
  • Communication Links
  • Mechanism to transport information between nodes
  • Fixed, Mobile, Satellite Variations

6
Node Domain
  • Node Model defines the internal structure of the
    communication nodes
  • Node Modules
  • Processor primary building block, sends/receives
    packets, overall processing
  • Queue extended functionality of processor, array
    of internal resources, subqueues
  • Transmitter interface between internal packet
    streams external communication links
  • Receiver interface between external
    communication links internal packet streams
  • Connections
  • Packet Stream support flow of data between
    modules
  • Statistic Wires support transmission of
    numerical state information
  • Logical Associations bind two modules, allowing
    them to perform function together

7
Process Domain
  • The Process Model defines the behavior of the
    processor and queue modules
  • Interrupt Driven Execution
  • Caused by the invocation of an event
  • Alternating Blocked and Active states
  • Dynamic Processes
  • Processes invoked by other processes
  • Share Memory Architecture
  • Parent-Child establish pair establish block of
    memory for two-way communication

8
Process Domain (cont.)
  • Dynamic Library operations
  • State Transition Diagrams
  • State a mode the process can enter, state
    information
  • Enter Exit Executives
  • Unforced state wait for interrupt
  • Forced state continual execution of state
  • Transition possible movements of a process from
    state to state
  • Source destination state, condition executive
    expression
  • Input Output Streams

9
Data Analysis
  • Analysis Tool
  • Graphs
  • Statistics
  • Output Scalar Files data collected in vector
    files during a simulation run, combine results
    from multiple simulations

10
OPNET Editors
  • Project Editor
  • Node Editor
  • Process Model Editor
  • Link Model
  • Path Editor
  • Packet Format Editor
  • Antenna Pattern Editor
  • Interface Control Information Editor
  • Probability Density Function Editor
  • Probe Editor
  • Simulation Tool
  • Analysis Tool
  • Filter Editor

11
Project Editor
  • Main staging area for creating a network
    simulation
  • Create a network model using models from the
    standard library
  • Collect statistics about the network
  • Run the simulation
  • View Results

12
Node Editor
  • Define the behavior, which is defined by modules,
    of each network object
  • A network object is made up of multiple modules
    defining its behavior
  • Each module models some internal aspect of the
    node behavior (ex data creation/storage)

13
Process Model Editor
  • Create process models which control the
    underlying functionality of the node models
    created in node editor
  • Represented by finite state machines
  • Created with icons that represent states and
    lines that represent transitions between states
  • Operations performed in each state or for a
    transition are described in embedded c or c
    code blocks

14
Link Model
  • Create new types of link objects
  • Each new type of link can have different
    attribute interfaces and representation

15
Path Editor
  • Create new path objects which define a traffic
    route
  • Any protocol model that uses logical connections
    or virtual circuits (MPLS, ATM, Frame Relayetc)
    can use paths to route traffic

16
Packet Format Editor
  • Defines the internal structure of a packet as a
    set of fields
  • A packet format contains one or more fields,
    represented in the editor as colored rectangular
    boxes
  • Size of the box is proportional to the number of
    bits specified as the fields size

17
Antenna Pattern Editor
  • Models the direction dependent gain properties of
    antennas
  • Gain patterns are used to determine gain values,
    given knowledge of the relative positions of
    nodes

18
Interface Control Information Editor
  • Defines the internal structure of ICIs (Interface
    Control Information) which are used to formalize
    interrupt-based inter-process communication

19
Probability Density Function Editor
  • Describes the spread of probability over a range
    of possible outcomes
  • Models the likelihoods associated with packet
    interarrival times
  • Models the probability of transmission errors

20
Probe Editor
  • Specifies the statistic to be collected during
    simulation
  • Sets additional characteristics of each probe
  • Different probes collect different statistics
    including global statistics, link statistics,
    node statistics, attribute statistics, and
    several types of animation statistics.

21
Simulation Tool
  • Specifies additional simulation constraints
  • Simulation sequences are represented by
    simulation icons which contain a set of
    attributes that control that simulations
    run-time characteristics

22
Analysis Tool
  • Creates scalar graphs and parametric studies
  • Defines templates to which statistical data is
    applied
  • Creates analysis configurations

23
Filter Editor
  • Creates additional filters on top of the ones
    that are already provided by OPNET
  • Built by combining existing models with each
    other

24
OPNET Overview Layout
25
Carrier Sense Multiple Access Protocol (CSMA)
  • Protocols in which stations listens for a carrier
    or transmission and act accordingly
  • Three versions of CSMA
  • 1 persistent
  • non persistent
  • p persistent

26
1 persistent CSMA
  • When a station has data to send, it first listens
    to the channel to see if anyone else is
    transmitting at that moment
  • If the channel is busy, the station waits until
    it becomes idle
  • When the station detects an idle channel, it
    transmits a frame
  • If a collision occurs, the station waits a random
    amount of time and starts all over again
  • Transmits with a probability of 1 whenever it
    finds the channel idle

27
Non-persistent CSMA
  • Attempts to be less greedy than 1-persistent
  • Before sending, a station senses the channel
  • If no one else is sending, the station begins
    doing so itself
  • If the channel is already in use, it waits a
    random period of time and then repeats the
    algorithm
  • Leads to a better channel utilization and longer
    delays than 1-persistent

28
p-persistent CSMA
  • Applies to slotted channels
  • When a station becomes ready to send, it senses
    the channel
  • If it is idle, it transmits with a probability p
  • A probability of q1-p is deferred until the next
    slot
  • If that slot is also idle, it either transmits or
    defers again, with the probabilities p and q
  • Process repeats until either the frame has been
    transmitted or another station has begun
    transmitting
  • If another station has begun transmitting, it
    acts as if there had been a collision (ie, it
    waits a random time and starts again)
  • If the station initially senses the channel busy,
    it waits until the next slot and applies the
    above algorithm

29
OPNET CSMA
  • Basic Components
  • CSMA project network
  • Transmitter Node Model sends packets
  • Receiver Node Model performs network monitoring

30
CSMA Process Model
  • Verifies the channel is free before transmitting
  • If channel is not free, enters the wt_free state
    until a channel goes free interrupt is received

31
CSMA
  • At the node level, the statistic wire is
    triggered when the busy statistic changes to
    0.0.
  • The trigger is activated by enabling the wires
    falling edge trigger attribute

32
CSMA Scenario
  • CSMA network model
  • 20 transmitter nodes
  • Uses transmitter nodes designed previously in
    node editor
  • Network is ready for simulation

33
CSMA Simulation
  • Change attributes to run simulation
  • Duration time
  • Seed
  • Value per statistics
  • In this case, for the CSMA, seed is changed to 11

34
CSMA Simulation Results
  • Graph of channel throughput S vs. channel traffic
    G
  • Achieves maximum throughput at about 0.5

35
Comparing Protocols (CSMA vs. Aloha)
36
Introduction to Dynamic Wireless Networks
  • These networks consist of mobile hosts that
    communicate to one another over wireless links
    without any static network interaction
  • Due to the limited range of wireless
    transceivers, mobile hosts communication links
    only implemented in their geographic reason
  • Need for a complex network to handle and maintain
    the forwarding of data packets

37
Previous Work Routing Standards
  • Set of Conventional Standards
  • Simplicity
  • Loop-free
  • Low Convergence time
  • Low computation transmission overhead
  • Problems in terms of Dynamic Networks
  • Frequent broadcast cause high overhead due to
    changing topology
  • Heavy computational burden
  • Limited bandwidth in wireless networks

38
Temporally Ordered Routing Algorithm (TORA)
  • A network routing protocol which has been
    designed for use in Mobile Wireless Networks
  • Envisioned as a collection of routers which are
    free to move about arbitrarily
  • Routers are equipped with wireless
    receivers/transmitters
  • Status of communication links between routers is
    a function of their positions, transmission power
    levels, antenna patterns, cochannel interference
    levels.etc
  • Designed to minimize reaction to topological
    changes

39
Properties that makes TORA well suited for use in
the mobile wireless networking environment
  • Executes distributedly
  • Provides loop-free routes
  • Provides multiple routes (to alleviate
    congestion)
  • Establishes routes quickly (so as to be used
    before the topology changes)
  • Minimize algorithmic reactions/communication
    overhead (to conserve available BW and increase
    adaptability)

40
Methods to minimize overhead maximize routing
efficiency
  • Establish routes only when necessary by
    constructing a direct acyclic graph rooted at the
    destination using a query/reply process
  • React to link failure only when necessary (ex
    when a node loses its last downstream link)
  • Scope of failure reactions minimized (ie the
    number of nodes that must participate)
  • No reaction to link activation

41
TORAs Link Reversal Algorithm
  • When a node has no downstream links, it reverses
    the direction of one or more links
  • Links are directed based on a metric, maintained
    by nodes in the network, that can conceptually be
    viewed as a height
  • Goals
  • Discover routes on demand
  • Provide multiple routes to a destination
  • Establish routes quickly
  • Minimize overhead
  • Make shortest path routing of second importance

42
TORA Basic Functions
  • Creating Routes Query/Reply on demand
  • Query packet (QRY) is flooded through network
  • Update packet (UPD) propagates back if routes
    exist
  • Maintaining Routes Base on link-reversal
    algorithm
  • UPD packets reorient the route structure
  • Erasing Routes
  • Clear packet (CLR) is flooded through network to
    erase invalid routes

43
TORA FSM
44
Create Route State Diagram
45
Maintain Route State Diagram
46
Erase Route State Diagram
47
TORA Application
  • A separate copy of TORA is run at each node
  • Node adjust height at a discovery of an invalid
    route
  • Node without neighbor of finite height with
    respect to destination, attempts to find new
    route
  • Sends CLR packet upon network partition
  • Exchange of UPD packets

48
TORA Application cont
  • Complete path can be found using distance table
  • Each router maintains its own information with
    respect to its neighbor

49
Node Height
  • Each height table for a node contains the
    following information
  • Hi (?i, oid, ri, ?i, i)
  • ?I time tag
  • oid originator ID
  • ri bit used to divide each reference level into
    2 sublevels
  • ?I integer used to order nodes
  • I unique identifier of node
  • Height of each node (except for the destination)
    is initially set to NULL Hi ( -, -, -, -, i)

50
Route Creation
(-,-,-,-,A)
(-,-,-,-,B)
QRY
(-,-,-,-,C)
(-,-,-,-,E)
(-,-,-,-,D)
(-,-,-,-,G)
(-,-,-,-,F)
DEST
(-,-,-,-,H)
51
Route Creation
(-,-,-,-,A)
QRY
(-,-,-,-,B)
(-,-,-,-,C)
(-,-,-,-,E)
(-,-,-,-,D)
QRY
(-,-,-,-,G)
(0,0,0,0,F)
DEST
(-,-,-,-,H)
52
Route Creation
(-,-,-,-,A)
(-,-,-,-,B)
(-,-,-,-,C)
(-,-,-,-,E)
(-,-,-,-,D)
(-,-,-,-,G)
(0,0,0,0,F)
DEST
(0,0,0,1,H)
53
Route Creation
(-,-,-,-,A)
(-,-,-,-,B)
(-,-,-,-,C)
(0,0,0,1,E)
(0,0,0,2,D)
(0,0,0,2,G)
(0,0,0,0,F)
DEST
(0,0,0,1,H)
54
Route Creation
(0,0,0,3,A)
(0,0,0,2,B)
(0,0,0,3,C)
(0,0,0,1,E)
(0,0,0,2,D)
(0,0,0,2,G)
(0,0,0,0,F)
DEST
(0,0,0,1,H)
55
Route Creation Complete
(0,0,0,3,A)
(0,0,0,2,B)
(0,0,0,3,C)
(0,0,0,1,E)
(0,0,0,2,D)
(0,0,0,2,G)
(0,0,0,0,F)
DEST
(0,0,0,1,H)
56
Cluster-Based Algorithm for Dynamic Network
Routing
  • Main objective To replace individual nodes
    (mobile hosts) with a cluster
  • Lower overhead during topology changes
  • Basic algorithm
  • Divide the graph into a number of overlapping
    clusters
  • Change in topology change in cluster membership

57
Cluster Definitions
  • Graphs an organization of nodes or mobile hosts
  • Node list of neighbors, list of clusters it
    belongs to, list of boundary nodes
  • Boundary nodes connection from one cluster to
    another
  • Clusters
  • Size of cluster C, S(C) number of nodes
  • Edges edges between the nodes that are members
    of the clusters
  • Cluster-connected graph union of clusters covers
    the whole graph, a path from exists from each
    node to every other in the graph
  • Redundant cluster, if removed, does not affect
    the connection between a pair

58
Four Main Topology Changes
  • H5 turns ON
  • H6 turns OFF
  • HA connects to HB
  • HA disconnects from HB

59
Procedures Data Structures
  • Two main Procedures Switch ON, Switch OFF
  • Each execute a similar algorithm of cluster
    manipulation
  • CreateCluster
  • FindEssential
  • FindRedundant
  • Data Structures
  • Clus_List list of clusters
  • Bound_List list of boundary nodes

60
Performance Metrics
  • Time Complexity
  • Number of steps for a network to form after
    topology change
  • Communication Complexity
  • Number of messages required to form new network
  • Routing Overhead
  • Ratio of path length between source and
    destination

61
Dynamic Cluster Implementation
  • Bottom-Up approach
  • Process Model defines behavior of nodes, state
    diagram and transitions
  • Node Model contains objects (receiver,
    transmitter, processor) consisting of process
    models
  • Network Model overall topology

62
Process Models
  • Decision Tree Switch ON or Switch OFF

63
Switch ON State Diagram
64
Switch OFF State Diagram
65
Node Model
  • Wireless LAN Model MAC sublayer, Physical Layers

66
Network Model
67
C Language ImplementationMain Functions Data
Structures
  • Three Basic Functions
  • CreateCluster
  • FindEssential
  • FindRedundant
  • Globally Declared Data Structures
  • NeighborList list of all neighbors of each node
  • Clus_List contains list of clusters

68
C Language ImplementationCreateCluster
  • Input Parameter node ID
  • Using the the node ID and its NeighborList,
    determines all existing clusters

69
C Language ImplementationFindEssential
  • Input Parameter node ID
  • Ensures that no one node, except the node ID,
    exists in more than one essential class
  • Design series of reiterative looping and
    comparisons
  • If all nodes are found in another essential
    cluster, cluster is marked non-essential

70
C Language ImplementationFindRedundant
  • Input Parameter node ID
  • Uses essential list
  • Determines whether or not the removal of a
    cluster affects the cluster-connectivity between
    any pair of nodes
  • Output is the final Clus_List for the node ID

71
C Language ImplementationSimulation (initial)
72
C Language ImplementationSimulation (H5 ON,
nodeID0)
73
C Language ImplementationSimulation (H2 OFF,
node 5)
74
C Language ImplementationSimulation (H3
disconnect H4, node 0)
75
AND NOWGRADUATION!!
Write a Comment
User Comments (0)
About PowerShow.com