Cover image for Unlocking the power of OPNET modeler
Title:
Unlocking the power of OPNET modeler
Personal Author:
Publication Information:
Cambridge ; New York : Cambridge University Press, 2012
Physical Description:
xiv, 238 p. : ill. ; 26 cm.
ISBN:
9780521198745
Title Subject:
Added Author:

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010304019 TK5105.5 L89 2012 Open Access Book Book
Searching...
Searching...
33000000017758 TK5105.5 L89 2012 Open Access Book Book
Searching...

On Order

Summary

Summary

For fast, easy modeling, this practical guide provides all the essential information you need to know. A wide range of topics is covered, including custom protocols, programming in C++, External Model Access (EMA) modeling and co-simulation with external systems, giving you the guidance not provided in the OPNET documentation. A set of high-level wrapper APIs is also included to simplify programming custom OPNET models, whether you are a newcomer to OPNET or an experienced user needing to model efficiently. From the basic to the advanced, you will find topics are easy to follow with theory kept to a minimum, many practical tips and answers to frequently asked questions spread throughout the book and numerous step-by-step case studies and real-world network scenarios included.


Author Notes

Hongji Yang holds a Ph.D. in computer science from Durham University and a M. Phil. and B.Sc. in computer science from Jilin University in China.

He is a reader at DeMontfort University in England. His previous positions include senior research assistant at Durham University and lecturer at Jilin University in China. Dr. Yang has done extensive research in the areas of software engineering and computer networking. He has published extensively.

050


Table of Contents

Prefacep. xi
List of abbreviationsp. xiii
Part I Preparation for OPNET Modelingp. 1
1 Introductionp. 3
1.1 Network modeling and simulationp. 3
1.2 Introduction to OPNETp. 4
1.3 OPNET Modelerp. 5
1.4 Summaryp. 6
1.5 Theoretical backgroundp. 6
1.5.1 Simulation and principles of simulatorp. 6
1.5.2 Hybrid simulationp. 9
2 Installation of OPNET Modeler and setting up environmentsp. 11
2.1 System requirements for using OPNET Modelerp. 11
2.2 Installation on Windowsp. 11
2.2.1 Installation of OPNET Modelerp. 12
2.2.2 Installation and configuration of Microsoft Visual C++p. 15
2.2.3 OPNET Modeler preferences for C/C++ compilerp. 17
2.2.4 Licensingp. 19
2.3 Installation on Linuxp. 20
2.3.1 Installation of OPNET Modelerp. 20
2.3.2 Installation and configuration of GCC compilerp. 21
2.3.3 OPNET Modeler preferences for GCC compilerp. 21
2.3.4 Licensingp. 22
2.4 Theoretical backgroundp. 23
2.4.1 Compilation and linking optionsp. 23
2.4.2 Simulation models compilation and linkingp. 23
3 OPNET Modeler user interfacep. 24
3.1 Project managementp. 24
3.2 Modeler preferencesp. 26
3.3 OPNET editorsp. 29
3.3.1 Project Editorp. 29
3.3.2 Node Editorp. 31
3.3.3 Process Editorp. 31
3.3.4 Link Editorp. 32
3.3.5 Packet Format Editorp. 32
3.3.6 ICI Editorp. 34
3.3.7 PDF Editorp. 35
3.3.8 Probe Editorp. 35
3.4 Simulation Results Browserp. 37
3.5 Animation Viewerp. 37
3.6 Using OPNET documentationp. 39
Part II Modeling Custom Networks and Protocolsp. 41
4 OPNET programming interfacesp. 43
4.1 Introduction to OPNET programmingp. 43
4.2 OPNET API categorizationp. 44
4.3 Kernel APIs/Kernel Procedures (KPs)p. 45
4.3.1 Distribution Packagep. 46
4.3.2 Packet Packagep. 49
4.3.3 Queue Package and Subqueue Packagep. 51
4.3.4 Statistic Packagep. 51
4.3.5 Segmentation and reassembly packagep. 52
4.3.6 Topology packagep. 52
4.3.7 Programming Support APIsp. 54
4.4 Theoretical backgroundp. 54
4.4.1 Proto-C specificationsp. 54
4.4.2 Process model and external model access (EMA) programp. 56
4.4.3 OPNET Modeler model programming external interfaces: co-simulation, external tool support (ETS) and OPNET Development Kit (ODK)p. 56
5 Creating and simulating custom models using OPNET APIsp. 58
5.1 General procedure for creating and simulating custom modelsp. 58
5.2 Custom modelsp. 59
5.2.1 Case 1p. 59
5.2.2 Case 2p. 68
5.2.3 Case 3p. 70
5.2.4 Case 4p. 74
5.2.5 Case 5p. 79
5.2.6 Case 6p. 83
5.2.7 Case 7p. 95
5.3 Model optimization and validationp. 96
6 High-level wrapper APIsp. 100
6.1 Why and how to use wrapper APIsp. 100
6.2 Wrapper APIs provided with the bookp. 101
6.2.1 Geo_Topo wrapper APIsp. 102
6.2.2 Routing wrapper APIsp. 104
6.2.3 Flow wrapper APIsp. 106
6.3 How to write your own wrapper APIp. 107
7 Modeling with high-level wrapper APIsp. 110
7.1 Revisit of previous casep. 110
7.2 Creating connection-oriented communicationsp. 112
7.2.1 Single flowp. 114
7.2.2 Trunk of flowsp. 119
Part III Modeling and Modifying Standard Networks and Protocolsp. 123
8 Modeling wired networks with standard modelsp. 125
8.1 Client/server structurep. 125
8.1.1 Creating a network modelp. 125
8.1.2 Task, application, and profile configurationsp. 127
8.1.3 Choosing and viewing statistic resultsp. 131
8.2 Local area networkp. 132
8.3 Wide area IP networkp. 132
8.4 Automatic network deploymentp. 134
8.5 Summaryp. 135
9 Modeling wireless networks with standard modelsp. 137
9.1 Basics of wireless modelingp. 137
9.2 Wireless local area networks (WLANs)p. 138
9.2.1 Communication within WLANsp. 138
9.3 Communication between WLANsp. 140
9.4 Wireless mobile networksp. 143
9.4.1 Movement via trajectoriesp. 143
9.4.2 Facilities for random mobilityp. 146
9.4.3 Movement via programming interfacesp. 148
9.5 Automatic network deploymentp. 148
10 Modifying standard modelsp. 151
10.1 Introductionp. 151
10.2 Case studyp. 151
Part IV OPNET Modeling Facilitiesp. 165
11 Debugging simulationp. 167
11.1 Debugging facilities in OPNET Modelerp. 167
11.1.1 Prerequisites for debuggingp. 168
11.1.2 Preparing simulation scenariop. 168
11.1.3 Debugging with ODBp. 169
11.1.4 Debugging with CDB/GDBp. 175
11.1.5 Debugging with Microsoft Visual C++ Debuggerp. 177
11.1.6 Debugging with animationp. 179
12 OPNET programming in C++p. 182
12.1 Proto-C, C, and C++: language and library differencesp. 182
12.2 Memory management differences between Proto-C APIs and C/C++ standard library functionsp. 182
12.3 Proto-C data structures and algorithms packages, C++ standard template libraries (STL) and Boost C++ librariesp. 184
12.4 Environment configurations for C++ programming in OPNETp. 185
12.5 Case study on programming OPNET models in C++p. 187
13 Traffic in OPNET simulationp. 194
13.1 Introductionp. 194
13.2 Explicit trafficp. 194
13.2.1 Explicit traffic based on applicationp. 195
13.2.2 Explicit traffic based on traffic generation parametersp. 196
13.2.3 Explicit self-similar traffic based on raw packet generator (RPG) modelp. 197
13.3 Background traffic and hybrid simulationp. 200
13.3.1 Background traffic based on baseline loadp. 201
13.3.2 Background traffic based on traffic flowp. 202
14 External model access (EMA)p. 207
14.1 What EMA is and reasons to use itp. 207
14.2 EMA case studyp. 208
15 OPNET co-simulation with third-party programsp. 215
15.1 Co-simulation with external programsp. 215
15.1.1 Introductionp. 215
15.1.2 Co-simulation with an external C programp. 216
15.1.3 Creating simulation modelsp. 217
15.1.4 Creating an external C co-simulation controller programp. 221
15.1.5 Running co-simulationp. 224
15.1.6 Co-simulation with other systemsp. 225
15.2 Co-simulation with MATLABp. 225
15.2.1 Setup of environment variablesp. 226
15.2.2 Modifying OPNET models and external codep. 226
16 Model authoring and securityp. 232
16.1 Introductionp. 232
16.2 Protecting a modelp. 232
16.3 Making a demo modelp. 234
16.4 Licensing a modelp. 234
Referencesp. 236
Indexp. 237