0% found this document useful (0 votes)
319 views

QualNet 5.1 Developer Model Library

QualNet and EXata are registered trademarks of Scalable network technologies, Inc. All other trademarks and trade names used are property of their respective companies.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
319 views

QualNet 5.1 Developer Model Library

QualNet and EXata are registered trademarks of Scalable network technologies, Inc. All other trademarks and trade names used are property of their respective companies.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 413

QualNet 5.

1 Developer Model Library

September 2010

Scalable Network Technologies, Inc.


6100 Center Drive, Suite 1250 Los Angeles, CA 90045 Phone: 310-338-3318 Fax: 310-338-7213

http://www.scalable-networks.com

Copyright Information 2010 Scalable Network Technologies, Inc. All rights reserved. QualNet and EXata are registered trademarks of Scalable Network Technologies, Inc. All other trademarks and trade names used are property of their respective companies. Scalable Network Technologies, Inc. 6100 Center Drive, Suite 1250 Los Angeles, CA 90045 Phone: 310-338-3318 Fax: 310-338-7213 http://www.scalable-networks.com

ii

QualNet 5.1 Developer Model Library

Table of Contents

Chapter 1

Overview of Model Library ..................................................... 1


1.1 List of Models in the Library .................................................................................. 1 1.2 Conventions Used................................................................................................... 3 1.2.1 Format for Command Line Configuration........................................................... 3 1.2.1.1 General Format of Parameter Declaration .................................................. 3 1.2.1.2 Precedence Rules ....................................................................................... 4 1.2.1.3 Parameter Description Format .................................................................... 5 1.2.2 Format for GUI Configuration............................................................................. 8

Chapter 2

MAC Layer Models............................................................... 13


2.1 802.3 LAN/Ethernet ............................................................................................... 14 2.1.1 Description ....................................................................................................... 14 2.1.2 Features and Assumptions .............................................................................. 14 2.1.2.1 Implemented Features .............................................................................. 14 2.1.2.2 Omitted Features....................................................................................... 14 2.1.2.3 Assumptions and Limitations..................................................................... 14 2.1.3 Command Line Configuration .......................................................................... 15 2.1.4 GUI Configuration ............................................................................................ 17 2.1.5 Statistics........................................................................................................... 19 2.1.6 Scenarios Included in QualNet......................................................................... 20 2.1.7 References....................................................................................................... 20 2.2 Abstract Link MAC Model..................................................................................... 21 2.2.1 Description ....................................................................................................... 21 2.2.2 Command Line Configuration .......................................................................... 21 2.2.3 GUI Configuration ............................................................................................ 22 2.2.3.1 Configuring Abstract Link MAC for Symmetric Links ................................ 22 2.2.3.2 Configuring Abstract Link MAC for Asymmetric Links .............................. 24 2.2.4 Statistics........................................................................................................... 26

QualNet 5.1 Developer Model Library

iii

2.3 Abstract Satellite Model ....................................................................................... 27 2.3.1 Description ....................................................................................................... 27 2.3.2 Command Line Configuration .......................................................................... 27 2.3.3 Statistics........................................................................................................... 28 2.3.4 Sample Scenario.............................................................................................. 28 2.3.4.1 Scenario Description ................................................................................. 28 2.3.4.2 Command Line Configuration.................................................................... 29 2.3.5 Scenarios Included in QualNet......................................................................... 29 2.4 Address Resolution Protocol (ARP).................................................................... 30 2.4.1 Description ....................................................................................................... 30 2.4.2 Features and Assumptions .............................................................................. 30 2.4.2.1 Implemented Features .............................................................................. 30 2.4.2.2 Omitted Features....................................................................................... 30 2.4.2.3 Assumptions and Limitations..................................................................... 30 2.4.3 Supplemental Information ................................................................................ 31 2.4.4 Command Line Configuration .......................................................................... 31 2.4.4.1 Format of the MAC Address Configuration File......................................... 33 2.4.4.2 Format of the ARP Static Cache File ........................................................ 34 2.4.5 GUI Configuration ............................................................................................ 35 2.4.6 Statistics........................................................................................................... 40 2.4.7 Scenarios Included in QualNet......................................................................... 40 2.4.8 References....................................................................................................... 41 2.5 Logical Link Control (LLC) Protocol ................................................................... 42 2.5.1 Description ....................................................................................................... 42 2.5.2 Features and Assumptions .............................................................................. 42 2.5.2.1 Implemented Features .............................................................................. 42 2.5.2.2 Omitted Features....................................................................................... 42 2.5.2.3 Assumptions and Limitations..................................................................... 42 2.5.3 Command Line Configuration .......................................................................... 42 2.5.4 GUI Configuration ............................................................................................ 43 2.5.5 References....................................................................................................... 44

Chapter 3

Network Layer Models ......................................................... 45


3.1 Internet Control Message Protocol (ICMP) ......................................................... 46 3.1.1 Description ....................................................................................................... 46 3.1.2 Features and Assumptions .............................................................................. 46 3.1.2.1 Implemented Features .............................................................................. 46 3.1.2.2 Omitted Features....................................................................................... 47 3.1.2.3 Assumptions and Limitations..................................................................... 47 3.1.3 Command Line Configuration .......................................................................... 48 3.1.4 GUI Configuration ............................................................................................ 52

iv

QualNet 5.1 Developer Model Library

3.1.5 Statistics........................................................................................................... 58 3.1.6 Scenarios Included in QualNet......................................................................... 59 3.1.7 References....................................................................................................... 60 3.2 Internet Control Message Protocol version 6 (ICMPv6) .................................... 61 3.2.1 Description ....................................................................................................... 61 3.2.2 Command Line Configurations......................................................................... 61 3.2.3 GUI Configuration ............................................................................................ 62 3.2.4 Statistics........................................................................................................... 62 3.2.5 References....................................................................................................... 62 3.3 Internet Group Management Protocol (IGMP) .................................................... 63 3.3.1 Description ....................................................................................................... 63 3.3.1.1 IGMP Proxy ............................................................................................... 63 3.3.2 Features and Assumptions .............................................................................. 64 3.3.2.1 Implemented Features .............................................................................. 64 3.3.2.2 Omitted Features....................................................................................... 64 3.3.2.3 Assumptions and Limitations..................................................................... 64 3.3.3 Command Line Configuration .......................................................................... 64 3.3.4 GUI Configuration ............................................................................................ 65 3.3.5 Statistics........................................................................................................... 69 3.3.6 Scenarios Included in QualNet......................................................................... 69 3.3.7 References....................................................................................................... 70 3.4 Internet Protocol - Dual IP .................................................................................... 71 3.4.1 Description ....................................................................................................... 71 3.4.1.1 Dual IP Layer Operation............................................................................ 71 3.4.1.2 Configured Tunneling Mechanism............................................................. 71 3.4.1.3 6to4 Automatic Tunneling Mechanism ...................................................... 72 3.4.2 Features and Assumptions .............................................................................. 72 3.4.2.1 Implemented Features .............................................................................. 72 3.4.2.2 Omitted Features....................................................................................... 72 3.4.2.3 Assumptions and Limitations..................................................................... 72 3.4.3 Command Line Configuration .......................................................................... 73 3.4.3.1 Format of the Tunnel Configuration File.................................................... 74 3.4.4 GUI Configuration ............................................................................................ 75 3.4.5 Statistics........................................................................................................... 78 3.4.6 Scenarios Included in QualNet......................................................................... 78 3.4.7 References....................................................................................................... 79 3.5 Internet Protocol Security (IPSec) ...................................................................... 80 3.5.1 Description ....................................................................................................... 80 3.5.2 Features and Assumptions .............................................................................. 80 3.5.2.1 Implemented Features .............................................................................. 80 3.5.2.2 Omitted Features....................................................................................... 80 3.5.2.3 Assumptions and Limitations..................................................................... 80

QualNet 5.1 Developer Model Library

3.5.3 Command Line Configuration .......................................................................... 81 3.5.3.1 Format for the IPSec Configuration File .................................................... 82 3.5.4 GUI Configuration ............................................................................................ 83 3.5.5 Statistics........................................................................................................... 86 3.5.6 Scenarios Included in QualNet......................................................................... 86 3.5.7 References....................................................................................................... 87 3.6 Internet Protocol version 4 (IPv4)........................................................................ 88 3.6.1 Description ....................................................................................................... 88 3.6.2 Command Line Configuration .......................................................................... 88 3.6.3 GUI Configuration ............................................................................................ 89 3.6.4 Statistics........................................................................................................... 91 3.6.4.1 File Statistics ............................................................................................. 91 3.6.4.2 Dynamic Statistics ..................................................................................... 92 3.6.5 References....................................................................................................... 92 3.7 Internet Protocol version 6 (IPv6)........................................................................ 93 3.7.1 Description ....................................................................................................... 93 3.7.2 Features and Assumptions .............................................................................. 94 3.7.2.1 Implemented Features .............................................................................. 94 3.7.2.2 Omitted Features....................................................................................... 94 3.7.2.3 Assumptions and Limitations..................................................................... 94 3.7.3 Command Line Configuration .......................................................................... 94 3.7.4 GUI Configuration ............................................................................................ 95 3.7.5 Statistics........................................................................................................... 97 3.7.6 Scenarios Included in QualNet......................................................................... 98 3.7.7 References....................................................................................................... 98 3.8 Neighbor Discovery Protocol............................................................................... 99 3.8.1 Description ....................................................................................................... 99 3.8.2 Features and Assumptions ............................................................................ 100 3.8.2.1 Implemented Features ............................................................................ 100 3.8.2.2 Omitted Features..................................................................................... 100 3.8.2.3 Assumptions and Limitations................................................................... 100 3.8.3 Command Line Configuration ........................................................................ 101 3.8.4 GUI Configuration .......................................................................................... 101 3.8.5 Statistics......................................................................................................... 101 3.8.6 Scenarios Included in QualNet....................................................................... 102 3.8.7 References..................................................................................................... 102

Chapter 4

Unicast Routing Protocol Models ....................................... 103


4.1 Bellman-Ford Routing Protocol......................................................................... 104 4.1.1 Description ..................................................................................................... 104 4.1.2 Command Line Configuration ........................................................................ 104

vi

QualNet 5.1 Developer Model Library

4.1.3 GUI Configuration .......................................................................................... 105 4.1.4 Statistics......................................................................................................... 106 4.2 Routing Information Protocol next generation (RIPng)................................... 107 4.2.1 Description ..................................................................................................... 107 4.2.2 Command Line Configuration ........................................................................ 107 4.2.3 GUI Configuration .......................................................................................... 108 4.2.4 Statistics......................................................................................................... 110 4.2.4.1 File Statistics ........................................................................................... 110 4.2.4.2 Dynamic Statistics ................................................................................... 110 4.2.5 Scenarios Included in QualNet....................................................................... 111 4.3 Routing Information Protocol/Routing Information Protocol version 2 (RIP/ RIPv2) .................................................................................................................. 112 4.3.1 Description ..................................................................................................... 112 4.3.2 Command Line Configuration ........................................................................ 112 4.3.3 GUI Configuration .......................................................................................... 113 4.3.4 Statistics......................................................................................................... 115 4.3.4.1 File Statistics ........................................................................................... 115 4.3.4.2 Dynamic Statistics ................................................................................... 115 4.3.5 Scenarios Included in QualNet....................................................................... 116 4.4 Static and Default Routes................................................................................... 117 4.4.1 Description ..................................................................................................... 117 4.4.2 Command Line Configuration ........................................................................ 117 4.4.2.1 Static Routes ........................................................................................... 117 4.4.2.2 Default Routes......................................................................................... 118 4.4.2.3 Format of Static and Default Route Files ................................................ 118 4.4.3 GUI Configuration .......................................................................................... 119 4.4.4 Scenarios Included in QualNet....................................................................... 121

Chapter 5

Multicast Routing Protocol Models..................................... 122


5.1 Static Multicast Routes....................................................................................... 123 5.1.1 Description ..................................................................................................... 123 5.1.2 Command Line Configuration ........................................................................ 123 5.1.2.1 Format of the Static Multicast Route File ................................................ 123 5.1.3 GUI Configuration .......................................................................................... 124 5.1.4 Scenarios Included in QualNet....................................................................... 125 5.2 Multicast Dissemination Protocol ..................................................................... 127 5.2.1 Description ..................................................................................................... 127 5.2.2 Features and Assumptions ............................................................................ 128 5.2.2.1 Implemented Features ............................................................................ 128 5.2.2.2 Omitted Features..................................................................................... 128 5.2.2.3 Assumptions and Limitations................................................................... 128

QualNet 5.1 Developer Model Library

vii

5.2.3 Supplemental Information .............................................................................. 128 5.2.4 Command Line Configuration ........................................................................ 129 5.2.4.1 MDP Parameters for the Scenario Configuration File ............................. 129 5.2.4.2 Running Forward-App with MDP............................................................. 131 5.2.4.3 Format of the MDP Profile FIle................................................................ 131 5.2.5 GUI Configuration .......................................................................................... 135 5.2.6 Statistics......................................................................................................... 139 5.2.7 References..................................................................................................... 140

Chapter 6

Queues and Scheduler Models.......................................... 141


6.1 Class-Based Queuing (CBQ).............................................................................. 142 6.1.1 Description ..................................................................................................... 142 6.1.2 Features and Assumptions ............................................................................ 142 6.1.2.1 Implemented Features ............................................................................ 142 6.1.2.2 Omitted Features..................................................................................... 142 6.1.2.3 Assumptions and Limitations................................................................... 142 6.1.3 Command Line Configuration ........................................................................ 142 6.1.3.1 Format of the Link Sharing Structure File................................................ 144 6.1.4 GUI Configuration .......................................................................................... 145 6.1.5 Statistics......................................................................................................... 147 6.1.6 References..................................................................................................... 147 6.2 First-In First-Out (FIFO) Queue .......................................................................... 148 6.2.1 Description ..................................................................................................... 148 6.2.2 Command Line Configuration ........................................................................ 148 6.2.3 GUI Configuration .......................................................................................... 149 6.2.4 Statistics......................................................................................................... 151 6.2.5 Scenarios Included in QualNet....................................................................... 151 6.3 Random Early Detection (RED) Queue ............................................................. 152 6.3.1 Description ..................................................................................................... 152 6.3.2 Features and Assumptions ............................................................................ 152 6.3.2.1 Implemented Features ............................................................................ 152 6.3.2.2 Omitted Features..................................................................................... 152 6.3.2.3 Assumptions and Limitations................................................................... 152 6.3.3 Command Line Configuration ........................................................................ 153 6.3.4 GUI Configuration .......................................................................................... 154 6.3.5 Statistics......................................................................................................... 156 6.3.6 Scenarios Included in QualNet....................................................................... 157 6.3.7 References..................................................................................................... 157 6.4 Random Early Detection with In/Out (RIO) Queue ........................................... 158 6.4.1 Description ..................................................................................................... 158 6.4.2 Command Line Configuration ........................................................................ 158

viii

QualNet 5.1 Developer Model Library

6.4.3 GUI Configuration .......................................................................................... 162 6.4.4 Statistics......................................................................................................... 165 6.4.5 Scenarios Included in QualNet....................................................................... 166 6.4.6 References..................................................................................................... 166 6.5 Round Robin Scheduler ..................................................................................... 167 6.5.1 Description ..................................................................................................... 167 6.5.2 Command Line Configuration ........................................................................ 167 6.5.3 GUI Configuration .......................................................................................... 167 6.5.4 Statistics......................................................................................................... 169 6.5.5 Scenarios Included in QualNet....................................................................... 169 6.6 Self-Clocked Fair Queueing (SCFQ) Scheduler ............................................... 170 6.6.1 Description ..................................................................................................... 170 6.6.2 Features and Assumptions ............................................................................ 170 6.6.2.1 Implemented Features ............................................................................ 170 6.6.2.2 Omitted Features..................................................................................... 170 6.6.2.3 Assumptions and Limitations................................................................... 170 6.6.3 Command Line Configuration ........................................................................ 170 6.6.4 GUI Configuration .......................................................................................... 171 6.6.5 Statistics......................................................................................................... 173 6.6.6 Scenarios Included in QualNet....................................................................... 174 6.6.7 References..................................................................................................... 174 6.7 Weighted Fair Queuing (WFQ) Scheduler......................................................... 175 6.7.1 Description ..................................................................................................... 175 6.7.2 Features and Assumptions ............................................................................ 175 6.7.2.1 Implemented Features ............................................................................ 175 6.7.2.2 Omitted Features..................................................................................... 175 6.7.2.3 Assumptions and Limitations................................................................... 175 6.7.3 Command Line Configuration ........................................................................ 175 6.7.4 GUI Configuration .......................................................................................... 176 6.7.5 Statistics......................................................................................................... 179 6.7.6 Scenarios Included in QualNet....................................................................... 179 6.7.7 References..................................................................................................... 179 6.8 Strict Priority Scheduler ..................................................................................... 180 6.8.1 Description ..................................................................................................... 180 6.8.2 Command Line Configuration ........................................................................ 180 6.8.3 GUI Configuration .......................................................................................... 180 6.8.4 Statistics......................................................................................................... 182 6.8.5 Scenarios Included in QualNet....................................................................... 182 6.9 Weighted RED (WRED) Queue........................................................................... 183 6.9.1 Description ..................................................................................................... 183 6.9.2 Command Line Configuration ........................................................................ 183 6.9.3 GUI Configuration .......................................................................................... 186

QualNet 5.1 Developer Model Library

ix

6.9.4 Statistics......................................................................................................... 188 6.9.5 Scenarios Included in QualNet....................................................................... 189 6.9.6 References..................................................................................................... 189 6.10 Weighted Round Robin (WRR) Scheduler ...................................................... 190 6.10.1 Description ................................................................................................... 190 6.10.2 Features and Assumptions .......................................................................... 190 6.10.2.1 Implemented Features .......................................................................... 190 6.10.2.2 Omitted Features................................................................................... 190 6.10.2.3 Assumptions and Limitations................................................................. 190 6.10.3 Command Line Configuration ...................................................................... 190 6.10.4 GUI Configuration ........................................................................................ 191 6.10.5 Statistics....................................................................................................... 194 6.10.6 Scenarios Included in QualNet..................................................................... 194 6.10.7 References................................................................................................... 194

Chapter 7

Transport Layer Models ..................................................... 195


7.1 Abstract Transmission Control Protocol (Abstract TCP)................................ 196 7.1.1 Description ..................................................................................................... 196 7.1.2 Features and Assumptions ............................................................................ 196 7.1.2.1 Implemented Features ............................................................................ 196 7.1.2.2 Omitted Features..................................................................................... 196 7.1.2.3 Assumptions and Limitations................................................................... 196 7.1.3 Command Line Configuration ........................................................................ 196 7.1.4 GUI Configuration .......................................................................................... 199 7.1.5 Statistics......................................................................................................... 203 7.1.6 Scenarios Included in QualNet....................................................................... 203 7.2 Transmission Control Protocol (TCP)............................................................... 204 7.2.1 Description ..................................................................................................... 204 7.2.2 Features and Assumptions ............................................................................ 204 7.2.2.1 Implemented Features ............................................................................ 204 7.2.2.2 Omitted Features..................................................................................... 205 7.2.2.3 Assumptions and Limitations................................................................... 205 7.2.3 Command Line Configuration ........................................................................ 205 7.2.3.1 Format of the TCP Dump (ASCII) File..................................................... 208 7.2.4 GUI Configuration .......................................................................................... 209 7.2.5 Statistics......................................................................................................... 215 7.2.6 Scenarios Included in QualNet....................................................................... 216 7.2.7 References..................................................................................................... 217 7.3 User Datagram Protocol (UDP) .......................................................................... 218 7.3.1 Description ..................................................................................................... 218 7.3.2 Command Line Configuration ........................................................................ 218

QualNet 5.1 Developer Model Library

7.3.3 GUI Configuration .......................................................................................... 218 7.3.4 Statistics......................................................................................................... 219 7.3.5 References..................................................................................................... 219

Chapter 8

Application Layer Models ................................................... 220


8.1 Constant Bit Rate (CBR) Traffic Generator....................................................... 221 8.1.1 Description ..................................................................................................... 221 8.1.2 Features and Assumptions ............................................................................ 221 8.1.2.1 Implemented Features ............................................................................ 221 8.1.2.2 Omitted Features..................................................................................... 221 8.1.2.3 Assumptions and Limitations................................................................... 221 8.1.3 Command Line Configuration ........................................................................ 221 8.1.4 GUI Configuration .......................................................................................... 225 8.1.5 Statistics......................................................................................................... 230 8.2 File Transfer Protocol (FTP)............................................................................... 232 8.2.1 Description ..................................................................................................... 232 8.2.2 Command Line Configuration ........................................................................ 232 8.2.3 GUI Configuration .......................................................................................... 233 8.2.4 Statistics......................................................................................................... 235 8.2.5 References..................................................................................................... 235 8.3 File Transfer Protocol/Generic (FTP/Generic) .................................................. 236 8.3.1 Description ..................................................................................................... 236 8.3.2 Command Line Configuration ........................................................................ 236 8.3.3 GUI Configuration .......................................................................................... 238 8.3.4 Statistics......................................................................................................... 241 8.4 HyperText Transfer Protocol (HTTP)................................................................. 242 8.4.1 Description ..................................................................................................... 242 8.4.2 Features and Assumptions ............................................................................ 242 8.4.2.1 Implemented Features ............................................................................ 242 8.4.2.2 Omitted Features..................................................................................... 242 8.4.2.3 Assumptions and Limitations................................................................... 242 8.4.3 Command Line Configuration ........................................................................ 242 8.4.4 GUI Configuration .......................................................................................... 244 8.4.5 Statistics......................................................................................................... 246 8.4.6 Sample Scenario............................................................................................ 248 8.4.6.1 Scenario Description ............................................................................... 248 8.4.6.2 Command Line Configuration.................................................................. 248 8.4.7 References..................................................................................................... 248 8.5 Lookup Traffic Generator ................................................................................... 249 8.5.1 Description ..................................................................................................... 249 8.5.2 Command Line Configuration ........................................................................ 249

QualNet 5.1 Developer Model Library

xi

8.5.3 GUI Configuration .......................................................................................... 251 8.5.4 Statistics......................................................................................................... 254 8.6 Multicast Constant Bit Rate (MCBR) Traffic Generator ................................... 255 8.6.1 Description ..................................................................................................... 255 8.6.2 Command Line Configuration ........................................................................ 255 8.6.3 GUI Configuration .......................................................................................... 258 8.6.4 Statistics......................................................................................................... 263 8.7 Super Application Traffic Generator ................................................................. 264 8.7.1 Description ..................................................................................................... 264 8.7.2 Limitations and Assumptions ......................................................................... 264 8.7.3 Command Line Configuration ........................................................................ 264 8.7.4 Statistics........................................................................................................ 270 8.7.4.1 File Statistics ........................................................................................... 270 8.7.4.2 Dynamic Statistics ................................................................................... 272 8.8 Telecommunications Network (TELNET).......................................................... 274 8.8.1 Description ..................................................................................................... 274 8.8.2 Command Line Configuration ........................................................................ 274 8.8.3 GUI Configuration .......................................................................................... 275 8.8.4 Statistics......................................................................................................... 277 8.9 Traffic Generator (Traffic-Gen) .......................................................................... 278 8.9.1 Description ..................................................................................................... 278 8.9.2 Command Line Configuration ........................................................................ 278 8.9.3 GUI Configuration .......................................................................................... 287 8.9.3.1 Configuring a Client-Server Traffic-Gen Session .................................... 287 8.9.3.2 Configuring a Single Host Traffic-Gen Session....................................... 306 8.9.3.3 Configuring Statistics Parameters ........................................................... 308 8.9.4 Statistics......................................................................................................... 308 8.9.5 Scenarios Included in QualNet....................................................................... 309 8.10 Trace File-based Traffic Generator (Traffic-Trace) ........................................ 310 8.10.1 Description ................................................................................................... 310 8.10.2 Command Line Configuration ...................................................................... 310 8.10.2.1 Format of the Traffic Trace File ............................................................. 319 8.10.3 GUI Configuration ........................................................................................ 319 8.10.3.1 Configuring a Client-Server Traffic-Trace Session................................ 319 8.10.3.2 Configuring a Single Host Traffic-Trace Session .................................. 328 8.10.3.3 Configuring Statistics Parameters ......................................................... 329 8.10.4 Statistics....................................................................................................... 329 8.11 Variable Bit Rate (VBR) Traffic Generator ...................................................... 331 8.11.1 Description ................................................................................................... 331 8.11.2 Command Line Configuration ...................................................................... 331 8.11.3 GUI Configuration ........................................................................................ 333 8.11.4 Statistics....................................................................................................... 338

xii

QualNet 5.1 Developer Model Library

8.11.4.1 File Statistics ......................................................................................... 338 8.11.4.2 Dynamic Statistics ................................................................................. 338

Chapter 9

Multi-layer Models .............................................................. 339


9.1 Asynchronous Transfer Mode (ATM) ................................................................ 340 9.1.1 Description ..................................................................................................... 340 9.1.1.1 ATM Backbone........................................................................................ 340 9.1.1.2 IP over ATM ............................................................................................ 341 9.1.2 Features and Assumptions ............................................................................ 342 9.1.2.1 Implemented Features ............................................................................ 342 9.1.2.2 Omitted Features..................................................................................... 343 9.1.2.3 Assumptions and Limitations................................................................... 343 9.1.3 Command Line Configuration ........................................................................ 343 9.1.3.1 Configuring the ATM Backbone .............................................................. 343 9.1.3.2 Configuring IP over ATM ......................................................................... 347 9.1.4 GUI Configuration .......................................................................................... 348 9.1.4.1 Configuring ATM Networks ..................................................................... 348 9.1.4.2 Configuring ATM Link Parameters .......................................................... 349 9.1.4.3 Configuring Adaptation Layer Parameters .............................................. 351 9.1.4.4 Configuring ATM Layer 2 Parameters..................................................... 353 9.1.4.5 Configuring ATM Static Routes ............................................................... 356 9.1.5 Statistics......................................................................................................... 357 9.1.6 Sample Scenarios .......................................................................................... 358 9.1.6.1 Standalone ATM Backbone Scenario ..................................................... 358 9.1.6.2 IP over ATM Scenario ............................................................................. 362 9.1.7 Scenarios Included in QualNet....................................................................... 365 9.1.8 References..................................................................................................... 366

Chapter 10 Interfaces ........................................................................... 367


10.1 AGI Satellite Toolkit (STK) Interface................................................................ 368 10.1.1 Description ................................................................................................... 368 10.1.2 Features and Assumptions .......................................................................... 368 10.1.2.1 Implemented Features .......................................................................... 368 10.1.2.2 Omitted Features................................................................................... 368 10.1.2.3 Assumptions and Limitations................................................................. 368 10.1.3 Supplemental Information ............................................................................ 368 10.1.4 Integrating QualNet and STK ....................................................................... 369 10.1.5 Command Line Configuration ...................................................................... 369 10.1.6 GUI Configuration ........................................................................................ 370 10.1.7 Statistics....................................................................................................... 371

QualNet 5.1 Developer Model Library

xiii

Chapter 11 Miscellaneous Models........................................................ 372


11.1 Faults ................................................................................................................. 373 11.1.1 Description ................................................................................................... 373 11.1.2 Command Line Configuration ...................................................................... 373 11.1.2.1 Static Faults........................................................................................... 373 11.1.2.2 Dynamic Faults...................................................................................... 374 11.1.3 GUI Configuration ........................................................................................ 377 11.1.4 Statistics....................................................................................................... 381 11.1.5 Scenarios Included in QualNet..................................................................... 382 11.2 File-based Node Placement Model .................................................................. 383 11.2.1 Description ................................................................................................... 383 11.2.2 Command Line Configuration ...................................................................... 383 11.2.2.1 Format of the Node Position File........................................................... 383 11.2.3 GUI Configuration ........................................................................................ 384 11.2.3.1 Using Node Placement Wizard ............................................................. 385 11.2.3.2 Configuring Individual Node Placement Parameters............................. 386 11.3 Grid Node Placement Model ............................................................................ 388 11.3.1 Description ................................................................................................... 388 11.3.2 Command Line Configuration ...................................................................... 388 11.3.3 GUI Configuration ........................................................................................ 388 11.3.3.1 Using Node Placement Wizard ............................................................. 389 11.3.3.2 Configuring Individual Node Placement Parameters............................. 390 11.4 Random Node Placement Model ..................................................................... 392 11.4.1 Description ................................................................................................... 392 11.4.2 Command Line Configuration ...................................................................... 392 11.4.3 GUI Configuration ........................................................................................ 392 11.4.3.1 Using Node Placement Wizard ............................................................. 392 11.4.3.2 Configuring Individual Node Placement Parameters............................. 394 11.5 Uniform Node Placement Model ...................................................................... 396 11.5.1 Description ................................................................................................... 396 11.5.2 Command Line Configuration ...................................................................... 396 11.5.3 GUI Configuration ........................................................................................ 396 11.5.3.1 Using Node Placement Wizard ............................................................. 397 11.5.3.2 Configuring Individual Node Placement Parameters............................. 398

xiv

QualNet 5.1 Developer Model Library

Overview of Model Library

.........................................................................
1.1 List of Models in the Library
The models described in the Developer Model Library are listed in Table 1-1.

TABLE 1-1. Model Name


802.3 LAN/Ethernet Abstract Link MAC Abstract Satellite Model

Developer Library Models Model Type


MAC Layer MAC Layer MAC Layer Transport Layer MAC Layer Multi-layer Routing Protocol Queues and Schedulers Application Layer Miscellaneous Application Layer Application Layer Miscellaneous Queues and Schedulers Miscellaneous Application Layer Network Layer Network Layer Network Layer Network Layer Network Layer Network Layer Network Layer

Section Number
Section 2.1 Section 2.2 Section 2.3 Section 7.1 Section 2.4 Section 9.1 Section 4.1 Section 6.1 Section 8.1 Section 11.1 Section 8.2 Section 8.3 Section 11.2 Section 6.2 Section 11.3 Section 8.4 Section 3.1 Section 3.2 Section 3.3 Section 3.4 Section 3.5 Section 3.6 Section 3.7

Abstract Transmission Control Protocol (Abstract TCP) Address Resolution Protocol (ARP) Asynchronous Transfer Mode (ATM) Bellman-Ford Routing Protocol Class-Based Queuing (CBQ) Constant Bit Rate (CBR) Traffic Generator Faults File Transfer Protocol (FTP) File Transfer Protocol/Generic (FTP/Generic) File-based Node Placement Model First-In First-Out (FIFO) Queue Grid Node Placement Model Hypertext Transfer Protocol (HTTP) Internet Control Message Protocol (ICMP) Internet Control Message Protocol version 6 (ICMPv6) Internet Group Management Protocol (IGMP) Internet Protocol - Dual IP Internet Protocol Security (IPSec) Internet Protocol version 4 (IPv4) Internet Protocol version 6 (IPv6)

QualNet 5.1 Developer Model Library

List of Models in the Library TABLE 1-1. Model Name


Logical Link Control (LLC) Protocol Lookup Traffic Generator Multicast Constant Bit Rate (MCBR) Traffic Generator Multicast Dissemination Protocol (MDP) Neighbor Discovery Protocol Random Early Detection (RED) Queue Random Early Detection with In/Out (RIO) Queue Random Node Placement Model Round Robin Scheduler Routing Information Protocol next generation (RIPng) Routing Information Protocol/Routing Information Protocol version 2 (RIP/RIPv2) Satellite Toolkit (STK) Self-Clocked Fair Queueing (SCFQ) Scheduler Static and Default Routes Static Multicast Routes Strict Priority Scheduler Super Application Traffic Generator Telecommunications Network (TELNET) Trace File-based Traffic Generator (Traffic-Trace) Traffic Generator (Traffic-Gen) Transmission Control Protocol (TCP) Uniform Node Placement Model User Datagram Protocol (UDP) Variable Bit Rate (VBR) Traffic Generator Weighted Fair Queuing (WFQ) Scheduler Weighted RED (WRED) Queue Weighted Round Robin (WRR) Scheduler

Chapter 1 Developer Library Models (Continued) Model Type


MAC Layer Application Layer Application Layer Transport Protocol Network Layer Queues and Schedulers Queues and Schedulers Miscellaneous Queues and Schedulers Routing Protocol Routing Protocol Interface Queues and Schedulers Routing Protocol Routing Protocol Queues and Schedulers Application Layer Application Layer Application Layer Application Layer Transport Layer Miscellaneous Transport Layer Application Layer Queues and Schedulers Queues and Schedulers Queues and Schedulers

Section Number
Section 2.5 Section 8.5 Section 8.6 Section 5.2 Section 3.8 Section 6.3 Section 6.4 Section 11.4 Section 6.5 Section 4.2 Section 4.3 Section 10.1 Section 6.6 Section 4.4 Section 5.1 Section 6.8 Section 8.7 Section 8.8 Section 8.10 Section 8.9 Section 7.2 Section 11.5 Section 7.3 Section 8.11 Section 6.7 Section 6.9 Section 6.10

QualNet 5.1 Developer Model Library

Chapter 1

Conventions Used

.........................................................................
1.2 Conventions Used
1.2.1 Format for Command Line Configuration
This section describes the general format for specifying parameters in input files, the precedence rules for parameters, and the conventions used in the description of command line configuration for each model.

1.2.1.1 General Format of Parameter Declaration


The general format for specifying a parameter in an input file is: [<Qualifier>] <Parameter Name> [<Index>] <Parameter Value> where <Qualifier> The qualifier is optional and defines the scope of the parameter declaration. The scope can be one of the following: Global, Node, Subnet, and Interface. Multiple instances of a parameter with different qualifiers can be included in an input file. Precedence rules (see Section 1.2.1.2) determine the parameter value for a node or interface. Global: The parameter declaration is applicable to the entire scenario (to all nodes and interfaces), subject to precedence rules. The scope of a parameter declaration is global if the qualifier is not included in the declaration. MACDOT11

Example: MAC-PROTOCOL Node:

The parameter declaration is applicable to specified nodes, subject to precedence rules. The qualifier for a node-level declaration is a list of space-separated node IDs or a range of node IDs (specified by using the keyword thru) enclosed in square brackets. MACDOT11

Example: [5 thru 10] MAC-PROTOCOL Subnet: The parameter declaration is applicable to all interfaces in specified subnets, subject to precedence rules. The qualifier for a subnet-level declaration is a space-separated list of subnet addresses enclosed in square brackets. A subnet address can be specified in the IP dot notation or in the QualNet N syntax. MACDOT11

Example: [N8-1.0 N2-1.0] MAC-PROTOCOL Interface: The parameter declaration is applicable to specified interfaces. The qualifier for an interface-level declaration is a space-separated list of subnet addresses enclosed in square brackets. Example: [192.168.2.1 192.168.2.4] MAC-PROTOCOL MACDOT11

QualNet 5.1 Developer Model Library

Conventions Used

Chapter 1

<Parameter Name> <Index>

Name of the parameter. Instance of the parameter to which this parameter declaration is applicable, enclosed in square brackets. This should be in the range 0 to n -1, where n is the number of instances of the parameter. The instance specification is optional in a parameter declaration. If an instance is not included, then the parameter declaration is applicable to all instances of the parameter, unless otherwise specified.

<Parameter Value> Value of the parameter.

Note:

There should not be any spaces between the parameter name and the index.

Examples of parameter declarations in input files are: PHY-MODEL [1] PHY-MODEL [N8-1.0] PHY-RX-MODEL [8 thru 10] ROUTING-PROTOCOL [192.168.2.1 192.168.2.4] MAC-PROTOCOL NODE-POSITION-FILE PROPAGATION-CHANNEL-FREQUENCY[0] [1 2] QUEUE-WEIGHT[1] Note PHY802.11b PHY802.11a BER-BASED RIP GENERICMAC ./default.nodes 2.4e9 0.3

In the rest of this document, we will not use the qualifier or the index in a parameters description. Users should use a qualifier and/or index to restrict the scope of a parameter, as appropriate.

1.2.1.2 Precedence Rules


Parameters without Instances If the parameter declarations do not include instances, then the following rules of precedence apply when determining the parameter values for specific nodes and interfaces: Interface > Subnet > Node > Global This can be interpreted as follows:

The value specified for an interface takes precedence over the value specified for a subnet, if any. The value specified for a subnet takes precedence over the value specified for a node, if any. The value specified for a node takes precedence over the value specified for the scenario (global
value), if any. Parameters with Instances If the parameter declarations are a combination of declarations with and without instances, then the following precedence rules apply (unless otherwise stated): Interface[i] > Subnet[i] > Node[i] > Global[i] > Interface > Subnet > Node > Global This can be interpreted as follows:

Values specified for a specific instance (at the interface, subnet, node, or global level) take precedence
over values specified without the instance.

QualNet 5.1 Developer Model Library

Chapter 1

Conventions Used

For values specified for the same instance at different levels, the following precedence rules apply: - The value specified for an interface takes precedence over the value specified for a subnet, if any, if
both declarations are for the same instance.

- The value specified for a subnet takes precedence over the value specified for a node, if any, if both
declarations are for the same instance.

- The value specified for a node takes precedence over the value specified for the scenario (global
value), if any, if both declarations are for the same instance.

1.2.1.3 Parameter Description Format


In the Model Library, most parameters are described using a tabular format described below. The parameter description tables have three columns labeled Parameter, Values, and Description. Table 1-2 shows the format of parameter tables. Table 1-4 shows examples of parameter descriptions in this format.

TABLE 1-2. Parameter


<Parameter Name> <Designation> <Scope> [<Instances>]

Parameter Table Format Description


<Description>

Values
<Type> [<Range>] [<Default Value>] [<Unit>]

Parameter Column The first column contains the following entries:

<Parameter Name>: The first entry is the parameter name (this is the exact name of the parameter to
be used in the input files).

<Designation>: This entry can be Optional or Required. These terms are explained below.
- Optional: This indicates that the parameter is optional and may be omitted from the configuration file. (If applicable, the default value for this parameter is included in the second column.) - Required: This indicates that the parameter is mandatory and must be included in the configuration file.

<Scope>: This entry specifies the possible scope of the parameter, i.e., if the parameter can be
specified at the global, node, subnet, or interface levels. Any combination of these levels is possible.If the parameter can be specified at all four levels, the keyword All is used to indicate that. Examples of scope specification are: Scope: All Scope: Subnet, Interface Scope: Global, Node

<Instances>: If the parameter can have multiple instances, this entry indicates the the type of index. If
the parameter can not have multiple instances, then this entry is omitted.

QualNet 5.1 Developer Model Library

Conventions Used Examples of instance specification are: Instances: channel number Instances: interface index Instances: queue index Values Column The second column contains the following information:

Chapter 1

<Type>: The first entry is the parameter type and can be one of the following: Integer, Real, String,
Time, Filename, IP Address, Coordinates, Node-list, or List. If the type is a List, then all possible values in the list are enumerated below the word List. (In some cases, the values are listed in a separate table and a reference to that table is included in place of the enumeration.) Table 1-3 shows the values a parameter can take for each type. TABLE 1-3. Type
Integer Real String Time Integer value Examples: 2, 10 Real value Examples: 15.0, -23.5 String value Examples: TEST, SWITCH1 Time value expressed in QualNet time syntax (refer to QualNet Users Guide) Examples: 1.5S, 200MS, 10US Filename Name of a file in QualNet filename syntax (refer to QualNet Users Guide) Examples: ../../data/terrain/los-angeles-w (For Windows and UNIX) C:\snt\qualnet\5.1\scenarios\WF\WF.nodes (For Windows) /root/snt/qualnet/5.1/scenarios/WF/WF.nodes (For UNIX) Path Path to a directory in QualNet path syntax (refer to QualNet Users Guide) Examples: ../../data/terrain (For Windows and UNIX) (For Windows) /root/snt/qualnet/5.1/scenarios/default (For UNIX) IP Address IPv4 or IPv6 address Examples: 192.168.2.1, 2000:0:0:0::1 C:\snt\qualnet\5.1\scenarios\default

Parameter Types Description

QualNet 5.1 Developer Model Library

Chapter 1 TABLE 1-3. Type


IPv4 Address IPv6 Address Coordinates IPv4 address Examples: 192.168.2.1 IPv6 address Examples: 2000:0:0:0::1

Conventions Used Parameter Types (Continued) Description

Coordinates in Cartesian or Lat-Lon-Alt system. The altitude is optional. Examples: (100, 200, 2.5), (-25.3478, 25.28976) List of node IDs separated by commas and enclosed in { and }. Examples: {2, 5, 10}, {1, 3 thru 6} One of the enumerated values. Example: See the parameter MOBILITY in Table 1-4.

Node-list List

Note:

If the parameter type is List, then options for the parameter available in QualNet and the commonly used model libraries are enumerated. Additional options for the parameter may be available if some other model libraries or addons are installed. These additional options are not listed in this document but are described in the corresponding model library or addon documentation.

<Range>: This is an optional entry and is used if the range of values that a parameter can take is
restricted. The permissible range is listed after the label Range: The range can be specified by giving the minimum value, the maximum value, or both. If the range of values is not restricted, then this entry is omitted. If both the minimum and maximum values are specified, then the following convention is used to indicate whether the minimum and maximum values are included in the range: (min, max) [min, max) (min, max] [min, max] min < parameter value < max min parameter value < max min < parameter value max min parameter value max

min (or max)can be a parameter name, in which case it denotes the value of that parameter. Examples of range specification are: Range: 0 Range:(0.0, 1.0] Range:[1, MAX-COUNT] Range: [1S, 200S] Note: If an upper limit is not specified in the range, then the maximum value that the parameter can take is the largest value of the type (integer, real, time) that can be stored in the system.

QualNet 5.1 Developer Model Library

Conventions Used

Chapter 1

<Default>: This is an optional entry which specifies the default value of an optional or conditionaloptional parameter. The default value is listed after the label Default:

<Unit>: This is an optional entry which specifies the unit for the parameter, if applicable. The unit is
listed after the label Unit:. Examples of units are: meters, dBm, slots. Description Column The third column contains a description of the parameter. The significance of different parameter values is explained here, where applicable. In some cases, references to notes, other tables, sections in the Users Guide, or to other model libraries may be included here. Table 1-4 shows examples of parameter descriptions using the format described above. TABLE 1-4. Parameter MOBILITY
Optional Scope: Global, Node List: NONE FILE GROUPMOBILITY RANDOMWAYPOINT Default: NONE

Example Parameter Table Description


Mobility model used for the node. If MOBILITY is set to NONE, then the nodes remain fixed in one place for the duration of the simulation. See Table 7-11 for a description of mobility models.

Values

BACKOFF-LIMIT
Required Scope: Subnet, Interface

Integer Range: [4,10) Unit: slots Integer Range: [1, 65535] Unit: bytes

Upper limit of backoff interval after collision. A backoff interval is randomly chosen between 1 and this number following a collision. Size of the output priority queue.

IP-QUEUE-PRIORITY-QUEUESIZE
Required Scope: All Instances: queue index

MAC-DOT11-DIRECTIONALANTENNA-MODE
Optional Scope: All

List YES NO Default: NO

Indicates whether the radio is to use a directional antenna for transmission and reception.

1.2.2 Format for GUI Configuration


The GUI configuration section for a model outlines the steps to configure the model using the GUI. The following conventions are used in the GUI configuration sections: Path to a Parameter Group As a shorthand, the location of a parameter group in a properties editor is represented as a path consisting of the name of the properties editor, name of the tab within the properties editor, name of the parameter group within the tab (if applicable), name of the parameter sub-group (if applicable), and so on.

QualNet 5.1 Developer Model Library

Chapter 1 Example The following statement:

Conventions Used

Go to Default Device Properties Editor > Interfaces > Interface # > MAC Layer is equivalent to the following sequence of steps: 1. Open the Default Device Properties Editor for the node. 2. Click the Interfaces tab. 3. Expand the applicable Interface group. 4. Click the MAC Layer parameter group. The above path is shown in Figure 1-1.

FIGURE 1-1.

Path to a Parameter Group

Path to a Specific Parameter As a shorthand, the location of a specific parameter within a parameter group is represented as a path consisting of all ancestor parameters and their corresponding values starting from the top-level parameter. The value of an ancestor parameter is enclosed in square brackets after the parameter name.

QualNet 5.1 Developer Model Library

Conventions Used Example The following statement:

Chapter 1

Set MAC Protocol [= 802.11] > Station Association Type [= Dynamic] > Set Access Point [= Yes] > Enable Power Save Mode to Yes is equivalent to the following sequence of steps: 1. Set MAC Protocol to 802.11. 2. Set Station Association Type to Dynamic. 3. Set Set Access Point to Yes. 4. Set Enable Power Save Mode to Yes. The above path is shown in Figure 1-2.

FIGURE 1-2.

Path to a Specific Parameter

Parameter Table GUI configuration of a model is described as a series of a steps. Each step describes how to configure one or more parameters. Since the GUI display name of a parameter may be different from the name in the configuration file, each step also includes a table that shows the mapping between the GUI names and command line names of parameters configured in that step. For a description of a GUI parameter, see the description of the equivalent command line parameter in the command line configuration section.

10

QualNet 5.1 Developer Model Library

Chapter 1 The format of a parameter mapping table is shown in Table 1-5. TABLE 1-5. GUI Parameter <GUI Display Name> Mapping Table

Conventions Used

Scope of GUI Parameter


<Scope>

Command Line Parameter <Command Line Parameter Name>

The first column, labeled GUI Parameter, lists the name of the parameter as it is displayed in the GUI. The second column, labeled Scope of GUI Parameter, lists the level(s) at which the parameter can be configured. <Scope> can be any combination of: Global, Node, Subnet, Wired Subnet, Wireless Subnet, Point-to-point Link, and Interface. Table 1-6 lists the Properties Editors where parameters with different scopes can be set. Notes: 1. Unless otherwise stated, the Subnet scope refers to Wireless Subnet. 2. The scope column can also refer to Properties Editors for special devices and network components (such as ATM Device Properties Editor) which are not included in Table 16. TABLE 1-6. Properties Editors for Different Scopes Properties Editor
Scenario Properties Editor Default Device Properties Editor (General and Node Configuration tabs) Wireless Subnet Properties Editor Wired Subnet Properties Editor Point-to-point Link Properties Editor Interface Properties Editor, Default Device Properties Editor (Interfaces tab)

Scope of GUI Parameter


Global Node Subnet Wireless Subnet Wired Subnet Point-to-point Link Interface

The third column, labeled Command Line Parameter, lists the equivalent command line parameter. Note: For some parameters, the scope may be different in command line and GUI configurations (a parameter may be configurable at fewer levels in the GUI than in the command line).

QualNet 5.1 Developer Model Library

11

Conventions Used Table 1-7 is an example of a parameter mapping table. TABLE 1-7. GUI Parameter
Define Area OSPFv2 Configuration File Specify Autonomous System Configure as Autonomous System Boundary Router Inject External Route Enable Stagger Start

Chapter 1

Example Mapping Table Command Line Parameter


OSPFv2-DEFINE-AREA OSPFv2-CONFIG-FILE N/A AS-BOUNDARY-ROUTER N/A OSPFv2-STAGGER-START

Scope of GUI Parameter


Node Node Node Node Node Node

12

QualNet 5.1 Developer Model Library

MAC Layer Models

This chapter describes features, configuration requirements and parameters, statistics, and scenarios for MAC Layer Models, and consists of the following sections: 802.3 LAN/Ethernet Abstract Link MAC Abstract Satellite Model Address Resolution Protocol (ARP) Logical Link Control (LLC) Protocol

QualNet 5.1 Developer Model Library

13

802.3 LAN/Ethernet

Chapter 2

.........................................................................
2.1 802.3 LAN/Ethernet
The QualNet 802.3 LAN/Ethernet model is based on the IEEE 802.3, 2000 edition (incorporating IEEE Std 802.3, 1998 Edition, IEEE Std 802.3ac-1998, IEEE Std 802.3ab-1999, and IEEE Std 802.3ad-2000).

2.1.1 Description
The IEEE 802.3 LAN model models a single bus LAN of either 10 Mbps/1G (Gigabit Ethernet) or 100 Mbps/10G (Gigabit Fast Ethernet) hosts. QualNet supports both half-duplex and full-duplex modes of data transmission. In half-duplex mode, data can flow between two stations in both directions, but in only one direction at a time. Half-duplex Ethernet uses the same basic CSMA/CD access mechanism as the 10 and 100 Mbps varieties of Ethernet, with the major exception of the slot time. The slot time in Gigabit Ethernet is modified to accommodate the special timing constraints which arise from the speed of the system. In full-duplex mode, data can flow between two stations in both directions at the same time. Full-duplex Ethernet bypasses the normal CSMA/CD protocol to allow two stations to communicate over a point-topoint link. It effectively doubles the transfer rate by allowing each station to concurrently transmit and receive separate data streams. For example, a 10 Mbps full-duplex Ethernet station can transmit one 10 Mbps stream at the same time it receives a separate 10 Mbps stream. This provides an overall data transfer rate of 20 Mbps.

2.1.2 Features and Assumptions


This section describes the implemented features, omitted features, assumptions and limitations of the 802.3 LAN model.

2.1.2.1 Implemented Features Full-duplex Ethernet Full-duplex support for Switch Full-duplex support for VLAN Both full-duplex and half-duplex support for Gigabit Ethernet in addition to Ethernet and Fast Ethernet Full-duplex support for ARP 2.1.2.2 Omitted Features Pause frames Link aggregation 2.1.2.3 Assumptions and Limitations
None.

14

QualNet 5.1 Developer Model Library

Chapter 2

802.3 LAN/Ethernet

2.1.3 Command Line Configuration


To select 802.3 LAN/Ethernet as the MAC protocol, include one of the following parameters in the scenario configuration (.config) file: [<Qualifier>] MAC-PROTOCOL or [<Qualifier>] LINK-MAC-PROTOCOL MAC802.3 MAC802.3

The scope of this parameter declaration can be Global, Node, Subnet, or Interface. See Section 1.2.1.1 for a description of <Qualifier> for each scope. Note: To specify 802.3 LAN as the MAC protocol for a subnet defined by using the SUBNET statement, use the parameter MAC-PROTOCOL. To specify 802.3 LAN as the MAC protocol for a subnet defined by using the LINK statement, use the parameter LINK-MAC-PROTOCOL.

802.3 LAN Parameters 802.3 LAN configuration parameters are described in Table 2-1. See Section 1.2.1.3 for a description of the format used for the parameter table. TABLE 2-1. Parameter SUBNET-DATA-RATE
Optional (see note 1) Scope: All

802.3 LAN Parameters Description


Data rate for the subnet.

Value
Integer Range: 0 (see note 3) Unit: bits/second Integer Range: 0 (see note 3) Unit: bits/second Time Range: 0S (see note 4) Time Range: 0S Link bandwidth.

LINK-BANDWIDTH
Optional (see note 2) Scope: All

SUBNET-PROPAGATION-DELAY
Optional (see note 1) Scope: All

Propagation delay for the subnet.

LINK-PROPAGATION-DELAY
Optional (see note 2) Scope: All

Propagation delay for the link.

QualNet 5.1 Developer Model Library

15

802.3 LAN/Ethernet TABLE 2-1. Parameter MAC802.3-MODE


Optional Scope: All List: HALF-DUPLEX FULL-DUPLEX Default: HALFDUPLEX

Chapter 2 802.3 LAN Parameters (Continued) Value


Duplex mode. If the subnet is defined using the LINK statement, then parameter MAC802.3-MODE can only be set to FULL-DUPLEX. If the subnet is defined using the SUBNET statement, then parameter MAC802.3-MODE can be set to FULL-DUPLEX only if there are two nodes in the subnet. Indicates whether statistics are collected for MAC protocols, including 802.3 LAN.

Description

MAC-LAYER-STATISTICS
Optional Scope: All

List: YES NO Default: NO

Notes: 1. Parameters SUBNET-PROPAGATION-DELAY and SUBNET-DATA-RATE must be specified if the subnet is defined by using the SUBNET statement. These parameters must have the same value for all interfaces of a subnet. 2. Parameters LINK-PROPAGATION-DELAY and LINK-BANDWIDTH must be specified if the LINK statement is used to connect two nodes. These parameters must have the same value for both interfaces of a link. 3. For 802.3 LAN, SUBNET-DATA-RATE and LINK-BANDWIDTH can have only the following values (corresponding to 10M, 100M, 1G and 10G Ethernet): 10000000, 100000000, 1000000000, or 1000000000. 4. The propagation delay should be smaller than half of the Ethernet slot time in order for nodes to detect collisions. The Ethernet slot time depends on data rate. The slot time of 10M Ethernet is 51200 nanoseconds and the propagation delay should be smaller than 25600 nanoseconds. The slot time of 100M Ethernet is 5120 nanoseconds and the propagation delay should be less than 2560 nanoseconds. The slot time of 1G and 10G Ethernet is 4096 nanoseconds and the propagation delay should be smaller than 2048 nanoseconds.

Examples of Parameter Usage The following are examples of 802.3 LAN configuration: 1. The following lines show how to configure 802.3 LAN for a subnet in half-duplex mode: SUBNET N2-192.0.2.0 {1, 2} [N2-192.0.2.0] MAC-PROTOCOL [N2-192.0.2.0] SUBNET-DATA-RATE [N2-192.0.2.0] SUBNET-PROPAGATION-DELAY [N2-192.0.2.0] MAC-802.3-MODE

MAC802.3 1000000000 2US HALF-DUPLEX

16

QualNet 5.1 Developer Model Library

Chapter 2

802.3 LAN/Ethernet

2. The following lines show how to configure 802.3 LAN for a subnet in full- duplex mode: SUBNET N2-192.0.2.0 {1, 2} [N2-192.0.2.0] SUBNET-DATA-RATE [N2-192.0.2.0] SUBNET-PROPAGATION-DELAY [N2-192.0.2.0] MAC-PROTOCOL [N2-192.0.2.0] MAC-802.3-MODE

1000000000 1US MAC802.3 FULL-DUPLEX

3. The following lines show how to configure 802.3 LAN for a link in full-duplex mode: LINK N2-192.0.2.0 {1, 2} [N2-192.0.2.0] LINK-MAC-PROTOCOL [N2-192.0.2.0] LINK-BANDWIDTH [N2-192.0.2.0] LINK-PROPAGATION-DELAY [N2-192.0.2.0] MAC-802.3-MODE

MAC802.3 1000000000 1US FULL-DUPLEX

2.1.4 GUI Configuration


This section describes how to configure 802.3 LAN in the GUI. Section describes how to configure the general 802.3 LAN parameters. General Configuration To configure the general 802.3 LAN parameters, perform the following steps: 1. Go to one of the following locations:

To set properties at the subnet level, go to Wired Subnet Properties Editor > MAC Layer. To set properties for a specific point-to-point link, go to Point-to-point Link Properties Editor >
Point-to-point Link Properties > Routing Protocol.

To set properties at the interface level, go to one of the following locations: - Interface Properties Editor > Interfaces > Interface # > MAC Layer. - Default Device Properties Editor > Interfaces > Interface # > MAC Layer.
In this section, we show how to configure the general 802.3 LAN parameters in the Wired Subnet Properties Editor. Parameters can be set in the other properties editors in a similar way.

QualNet 5.1 Developer Model Library

17

802.3 LAN/Ethernet 2. Set MAC Protocol to 802.3 and set the dependent parameters listed in Table 2-2.

Chapter 2

FIGURE 2-1. TABLE 2-2. GUI Parameter


802.3 Bandwidth 802.3 Mode 802.3 Propagation Delay

Setting 802.3 LAN Parameters

Command Line Equivalent of 802.3 LAN Parameters Scope of GUI Parameter


Subnet, Point-to-point Link, Interface Subnet, Point-to-point Link, Interface Subnet, Point-to-point Link, Interface

Command Line Parameter


SUBNET-DATA-RATE (for subnets) LINK-BANDWIDTH (for links) MAC802.3-MODE SUBNET-PROPAGATION-DELAY (for subnets) LINK-PROPAGATION-DELAY (for links)

Configuring Statistics Parameters Statistics for 802.3 LAN can be collected at the global, node and interface levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters.

18

QualNet 5.1 Developer Model Library

Chapter 2

802.3 LAN/Ethernet

To enable statistics collection for 802.3 LAN, check the box labeled MAC in the appropriate properties editor. TABLE 2-3. GUI Parameter
MAC

Command Line Equivalent of Statistics Parameters Scope of GUI Parameter


Global, Node, Interface

Command Line Parameter


MAC-LAYER-STATISTICS

2.1.5 Statistics
Table 2-4 lists the 802.3 LAN statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 2-4. Statistic
Half-Duplex Mode Number of Frames Transmitted Number of Frames Received Number of Retransmissions Number of Frames Dropped Number of Frames Transmitted in Full-Duplex Number of Frames Received in Full-Duplex Number of Frames Dropped in Full-Duplex Number of Bytes Transmitted in Full-Duplex Number of Bytes Received in Full-Duplex Number of Bytes Dropped in Full-Duplex Channel Utilization by Full-Duplex Total number of frames transmitted in half-duplex mode. Total number of frames received in half-duplex mode. Total number of retransmissions in half-duplex mode. Total number of frames dropped in half-duplex mode. Full-Duplex Mode Total number of frames transmitted in full-duplex mode. Total number of frames received in full-duplex mode. Total number of frames dropped in full-duplex mode. Total number of bytes transmitted in full-duplex mode. Total number of bytes received in full-duplex mode. Total number of bytes dropped in full-duplex mode. Channel utilization in full-duplex mode. See note.

802.3 LAN Statistics Description

Note:

Channel utilization in full-duplex mode is calculated as follows: channel-utilization = total-busy-time / (end-time - start-time) where, total-busy-time = total time for which the node transmits on the interface end-time = End time. (This is the same as simulation time.) start-time = Start time. (This is equal to 0)

QualNet 5.1 Developer Model Library

19

802.3 LAN/Ethernet

Chapter 2

2.1.6 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the 802.3 LAN model. All scenarios are located in the directory QUALNET_HOME/scenarios/developer/802.3. Table 2-5 lists the sub-directory where each scenario is located. TABLE 2-5. Scenario
collision1-subnet1 collision1-subnet2 collision1-subnet3

802.3 LAN Scenarios Included in QualNet Description

Shows the collision where node 2 starts to send its packet when the packet from node 1 has traveled half the way to node 2. Shows the collision where node 2 sends its packet when first bit of the packet from node 1 is about to reach at node 2. Shows the collision where node 2 starts to send its packets after the packets from node 1 have traveled half the way to node 2 in a subnet with high propagation delay. Shows the occurrence of collision in a subnet when two different nodes have tried to transmit their frames simultaneously. Shows the frame exchange between two subnets without any collision though probability of collision is present. Shows the performance of FULL-DUPLEX ETHERNET that doubles the throughput. Shows the transmission and reception of frame in different subnets with one in Full Duplex transmission mode and the other in Half Duplex, the nodes being the same in both the subnets. Shows the operation of FULL-DUPLEX ETHERNET in a totally switched network. Shows the operation of FULL-DUPLEX ETHERNET in a mixed switched network. Shows the performance of subnets in Full Duplex with switched vlan configured. Shows the normal scenario where node 1 is transmitting and node 2 is receiving. Shows the normal scenario where both node 1 and node 2 are transmitting to each other. But due to the difference in their frame origination time, collision does not arise in the subnet. Shows a normal scenario where frames are transmitted in individual subnets without any collisions. Shows two Ethernet subnets whether they can transmit packets through another type of subnet. Shows the Ethernet subnet whether it can forward packets to different type of subnets.

collision2-subnet1 collision2-subnet2 fullduplex/fulldup-doublethroughput fullduplex/fulldup-mixedduplexity fullduplex/fulldup-switchednetwork1 fullduplex/fulldup-switchednetwork2 fullduplex/fulldup-switched-vlan normal1-subnet1 normal1-subnet2

normal2-subnet normal3-subnet1 normal3-subnet2

2.1.7 References
The QualNet MAC 802.3 model is based on the IEEE standards and the information available at the following URLs: 1. http://standards.ieee.org/getieee802/802.3.html 2. TechFest - Ethernet Technical Summary - Chapter 3, http://www.techfest.com/networking/lan/ethernet3.htm 3. http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/ethernet.htm

20

QualNet 5.1 Developer Model Library

Chapter 2

Abstract Link MAC Model

.........................................................................
2.2 Abstract Link MAC Model
2.2.1 Description
The Abstract Link MAC is an abstract MAC model for wired, wireless, and microwave point-to-point links.

2.2.2 Command Line Configuration


To select the Abstract Link MAC as the MAC protocol, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] LINK-MAC-PROTOCOL ABSTRACT

The scope of this parameter declaration can be Global, Node, Subnet, or Interface. See Section 1.2.1.1 for a description of <Qualifier> for each scope. Abstract Link MAC Parameters Table 2-6 shows the configuration parameters Abstract Link MAC protocol. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 2-6. Parameter LINK-PROPAGATION-DELAY


Optional Scope: All Time

Abstract Link MAC Parameters Value Description


Time it takes a signal to travel from one node to the other node. Note: This parameter is required for a wired link, i.e., if LINK-PHY-TYPE is set to WIRED. It is not used for a wireless link, i.e., if LINKPHY-TYPE is set to WIRELESS. Signal propagation speed. Note: This parameter is used only for a wireless link. It is not used for a wired link.

Range: > 0S Default: 1MS Real Range: > 0.0 Default: 3.0e8 Unit: meters/sec Integer Range: 0 Default: 10 Unit: Mbps

LINK-PROPAGATION-SPEED
Optional Scope: Global Instances: channel index

LINK-BANDWIDTH
Required Scope: All

Bandwidth of the link. The link is assumed to be full-duplex (data can be sent in both directions at the same time).

QualNet 5.1 Developer Model Library

21

Abstract Link MAC Model TABLE 2-6. Parameter LINK-HEADER-SIZE-IN-BITS


Optional Scope: All

Chapter 2 Abstract Link MAC Parameters (Continued) Value


Integer Range: > 0 Default: 224 Unit: bits Header size.

Description

MAC-LAYER-STATISTICS
Optional Scope: All

List: YES NO Default: NO

Specifies whether MAC Layer Statistics are enabled or disabled.

Note:

If any of the parameters LINK-BANDWIDTH, LINK-PROPAGATION-DELAY, and LINKHEADER-SIZE-IN-BITS is not qualified, then it applies to both directions of the traffic flow. For asymmetric links, qualify the parameter with the interface address of the source node of the traffic.

Example of Parameter Usage The following is an example of an asymmetric link configuration: LINK N2-1.0 { 1, 2 } LINK N2-2.0 { 2, 3 } [1.1] LINK-BANDWIDTH [1.2] LINK-BANDWIDTH [1.1] LINK-PROPAGATION-DELAY [1.2] LINK-PROPAGATION-DELAY [2.1] LINK-BANDWIDTH [2.2] LINK-BANDWIDTH [2.1] LINK-PROPAGATION-DELAY [2.2] LINK-PROPAGATION-DELAY LINK-HEADER-SIZE-IN-BITS

1544000 2374000 1MS 2MS 2156000 1234000 3MS 4MS 200

The first LINK statement creates a point-to-point link between nodes 1 and 2. The second LINK statement creates a point-to-point link between nodes 2 and 3. The link is full duplex, and asymmetric in propagation delay and bandwidth, i.e. the values of delay and bandwidth for a single link are different for different interfaces. This means that the values of bandwidth and delay of the link N2-1.0 from interface 1.1 to 1.2 are different from the bandwidth and delay values from interface 1.2 to 1.1.

2.2.3 GUI Configuration


This section describes how to configure Abstract Link MAC parameters in the GUI.

2.2.3.1 Configuring Abstract Link MAC for Symmetric Links


To configure Abstract Link MAC parameters for a symmetric link, perform the following steps: 1. Go to the Point-to-point Link Properties Editor > Point-to-point Link Properties > General.

22

QualNet 5.1 Developer Model Library

Chapter 2

Abstract Link MAC Model

2. Set MAC Protocol to Abstract Link MAC and set the dependent parameters shown in Figure 2-2.

FIGURE 2-2.

Setting Abstract Link MAC Parameters

Setting Parameters

To configure the link as a symmetric link, set Symmetric to Yes; otherwise, set Symmetric to No.
3. If Symmetric is set to Yes and the link is a wired link (i.e., Link Type is set to Wired), set the dependent parameters listed in Table 2-7.

FIGURE 2-3.

Setting Abstract Link MAC Parameters for a Symmetric Wired Link

QualNet 5.1 Developer Model Library

23

Abstract Link MAC Model

Chapter 2

TABLE 2-7. GUI Parameter


Link Propagation Delay Bandwidth Link Header Size

Command Line Equivalent of Symmetric Wired Link Parameters Scope of GUI Parameter
Subnet, Interface Subnet, Interface Subnet. Interface

Command Line Parameter


LINK-BANDWIDTH LINK-PROPAGATION-DELAY LINK-HEADER-SIZE-IN-BITS

4. If Symmetric is set to Yes and the link is a wireless link (i.e., Link Type is set to Wireless), set the dependent parameters listed in Table 2-8.

FIGURE 2-4.

Setting Abstract Link MAC Parameters for a Symmetric Wireless Link

TABLE 2-8. GUI Parameter


Link Propagation Speed Bandwidth Link Header Size

Command Line Equivalent of Symmetric Wireless Link Parameters Scope of GUI Parameter
Subnet, Interface Subnet, Interface Subnet. Interface

Command Line Parameter


LINK-BANDWIDTH LINK-PROPAGATION-DELAY LINK-HEADER-SIZE-IN-BITS

2.2.3.2 Configuring Abstract Link MAC for Asymmetric Links


To configure Abstract Link MAC parameters for an asymmetric link, perform the following steps: 1. Configure the link to be an asymmetric link, as described in Section 2.2.3.1. 2. For each interface of the link, configure the Abstract Link MAC parameters as follows:

24

QualNet 5.1 Developer Model Library

Chapter 2

Abstract Link MAC Model

a. Go to Interface Properties Editor > Interfaces > Interface # > MAC Layer. b. Set the dependent parameters listed in Table 2-7, if the link is a wired link.

FIGURE 2-5.

Setting Abstract Link MAC Parameters for an Asymmetric Wired Link

c. Set the dependent parameters listed in Table 2-8, if the link is a wireless link.

FIGURE 2-6.

Setting Abstract Link MAC Parameters for an Asymmetric Wireless Link

QualNet 5.1 Developer Model Library

25

Abstract Link MAC Model

Chapter 2

2.2.4 Statistics
Table 2-9 lists the Abstract Link MAC statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 2-9. Statistics
Frames sent Frames Received Destination Link Utilization

Abstract Link MAC Statistics Description


Total number of Frames Transmitted Total number of Frames Received Specifies the Destination Specifies the Link Utilization (see note)

Note:

If simulation time is 0, then the link utilization is also 0. Otherwise, it is given by the ratio of "total time the channel is busy" to simulation time ".

26

QualNet 5.1 Developer Model Library

Chapter 2

Abstract Satellite Model

.........................................................................
2.3 Abstract Satellite Model
2.3.1 Description
This is an abstract model of a satellite network. Each satellite network is grouped into subnets. Each satellite subnet has exactly one satellite node and many ground nodes. The ground nodes associated with a subnet always transmit to the designated subnet satellite node. Thus, no handoffs are involved. Also, satellite nodes are bent-pipe satellites (relay data only). When the satellite node receives data from the ground nodes, it broadcasts the data to all other ground nodes in the subnet, but not to the ground node originating the data. Finally, the satellite node must not be generating any packets. Thus, the satellite node cannot run an application or routing protocol. Note: This model represents the highest level of abstraction of a satellite model considering of a lossless linear delay process. Developers requiring more detailed simulation of satellite systems should consider using the advanced satellite addon module described in Satellite Model Library.

The queuing performance of the system is entirely determined by the network layer processes. Packet loss due to data transmission errors is not modeled. Therefore, the only parameter that needs to be calculated is packet latency which is given by the following equation:

where tk is the transmission delay of frame k, tprop is the configured propagation delay, lk is the length of frame k, and r is the configured bandwidth of the satellite communication network.

2.3.2 Command Line Configuration


To enable the Abstract satellite model, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] MAC-PROTOCOL SATCOM

The scope of this parameter declaration can be Global, Node, Subnet, or Interface. See Section 1.2.1.1 for a description of <Qualifier> for each scope.

QualNet 5.1 Developer Model Library

27

Abstract Satellite Model

Chapter 2

Abstract Satellite Model Parameters Table 2-10 shows the Abstract satellite configuration parameters. See Section 1.2.1.3 for a description of the format used for the parameter table. TABLE 2-10. Parameter SATCOM-SATELLITE-NODE
Required Scope: All

Abstract Satellite Model Parameters Value Description


Specifies which node is the satellite node

Integer

SATCOM-TYPE
Required Scope: All

List: BENT-PIPE

Specifies the SATCOM type. Currently, only the bent-pipe satellite is supported.

SATCOM-BANDWIDTH
Optional Scope: All

Integer Range: > 0 Default: 1000000 Unit: bps

Specifies the satellite link bandwidth capacity.

SATCOM-PROPAGATION-DELAY
Optional Scope: All

Time Range: > 0S Default: 270MS

Specifies the ground-to-ground propagation delay.

2.3.3 Statistics
Table 2-11 lists the Abstract Satellite statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 2-11. Statistic
Frames sent Frames received Frames relayed

Abstract Satellite Statistics Description

Number of frames sent by the SATCOM MAC protocol Number of frames received by the SATCOM MAC protocol Number of frames received by the SATCOM MAC protocol and treated as retransmissions for bent-pipe simulation

2.3.4 Sample Scenario


2.3.4.1 Scenario Description
The sample scenario consists of a bent-pipe satellite system containing a satellite (node 4) and three ground stations (nodes 1 to 3). Topology Figure 2-7 shows the sample scenario topology.

28

QualNet 5.1 Developer Model Library

Chapter 2

Abstract Satellite Model

FIGURE 2-7.

Sample SATCOM Scenario

2.3.4.2 Command Line Configuration


To configure the sample scenario for the command line, include the following lines in the scenario configuration (.config) file: SUBNET N8-1.0 { 1 thru 4 } [N8-1.0] MAC-PROTOCOL SATCOM [N8-1.0] SATCOM-SATELLITE-NODE 4 [N8-1.0] SATCOM-TYPE BENT-PIPE SATCOM-BANDWIDTH 100000000 SATCOM-PROPAGATION-DELAY 300MS

2.3.5 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the Abstract Satellite model. All scenarios are located in the directory QUALNET_HOME/scenarios/developer/satcom. Table 2-12 lists the subdirectory where each scenario is located. TABLE 2-12. Scenario
one-sat two-sat two-sat-shorter-path

Abstract Satellite Scenarios Included in QualNet Description

Shows the operation of a single satellite network. Shows the operation of two satellite networks connected by a common ground node. Shows the operation of two satellite networks connected by a common ground node. However, the shortest path is through the ground nodes instead of through the satellites.

QualNet 5.1 Developer Model Library

29

Address Resolution Protocol (ARP)

Chapter 2

.........................................................................
2.4 Address Resolution Protocol (ARP)
The QualNet ARP model is based on RFC 826 and RFC 1122.

2.4.1 Description
ARP is a basic protocol used in almost every TCP/IP implementation. When a packet is sent from one host on a LAN to another, the device driver software does not look at the destination Network layer Protocol Address in the packet; rather, it is the MAC layer Hardware Address that determines for which interface the frame is destined. The purpose of this protocol is to translate the logical 32-bit IP address to the corresponding physical address also known as Ethernet address. ARP resides between the Network layer and the MAC layer in the data link layer. It presents a method of converting Network layer Protocol Addresses (such as IP addresses) to MAC layer Hardware Addresses (such as Ethernet addresses). ARP maintains the mapping between the IP address and the MAC address in a table called ARP cache that is essential for the efficient operation of the ARP. The entries in this table are dynamically added and removed. The default life time of dynamic entry is 20 minutes from the time it was created. ARP is a general protocol, which can be used in any type of broadcast network. The fields in the ARP packet specify the type of the MAC address and the type of the protocol address. ARP is used with most IEEE 802.x LAN media. In particular, it is used with FDDI, Token Ring, and Fast Ethernet, in precisely the same way as it is with Ethernet.

2.4.2 Features and Assumptions


This section describes the implemented features, omitted features, assumptions and limitations of the ARP model.

2.4.2.1 Implemented Features All features specified by RFC-826 are implemented. Timeout Packet buffer ARP flooding prevention Gratuitous ARP (ARP cache update, when network interface card is changed and the MAC address to
its IP address mapping is changed).

Variable Length Mac addresses support and clear separation between MAC addressees and IP
addresses.

2.4.2.2 Omitted Features Proxy ARP Gratuitous ARP (Duplicate IP address detection). 2.4.2.3 Assumptions and Limitations ARP works at the interface between Network and MAC layer. Address Resolution support between IPv4 addresses and Ethernet (802.3) MAC addresses. ARP will not work for any scenario containing MAC switch. ARP cache timeout' must be the same for all nodes in a Subnet. LLC must be enabled for ARP to work with MAC protocols other than 802.3. ARP must be enabled at all nodes of the subnet.

30

QualNet 5.1 Developer Model Library

Chapter 2

Address Resolution Protocol (ARP)

2.4.3 Supplemental Information


ARP is enhanced to deal with situations such as modifications in the network interface card. You can use the QualNet Interface fault configuration to deal with such situations. To specify interface faults, see Section 11.1 for details.

2.4.4 Command Line Configuration


To enable ARP, include the following parameter in the scenario configuration (.config) file. [<Qualifier>] ARP-ENABLED YES

The scope of this parameter declaration can be Global, Node, Subnet, or Interface. See Section 1.2.1.1 for a description of <Qualifier> for each scope. Note: The default value of parameter ARP-ENABLED is NO.

ARP Parameters Table 2-13 lists the configuration parameters for ARP. See Section 1.2.1.3 for a description of the format used for the parameter tables.

TABLE 2-13. Parameter ARP-BUFFER-SIZE


Optional Scope: All

ARP Parameters Description


This parameter specifies ARP buffer size.

Value
Integer Range: 0 Default: 1 Unit: buffer slot (24 bytes)

ARP-STATIC-CACHE-FILE
Optional Scope: Global, Node

Filename

Name of the ARP static cache file. The format of this file is described in Section 2.4.4.2.

MAC-ADDRESS-CONFIG-FILE
Optional Scope: All

Filename Default: 1

Name of the MAC address configuration file. The format of this file is described in Section 2.4.4.1. Timeout interval of the ARP cache table.

ARP-CACHE-EXPIRE-INTERVAL
Optional Scope: All

Time Range: > 0 Default: 20M List: YES NO Default: NO

ARP-STATISTICS
Optional Scope: All

Indicates whether statistics collection is enabled for ARP.

QualNet 5.1 Developer Model Library

31

Address Resolution Protocol (ARP)

Chapter 2

Configuring MAC Address in the Scenario Configuration File MAC addresses can be configured by means of the MAC address configuration file or they can be specified in the scenario configuration (.config). Table 2-14 lists the parameters that can be specified in the scenario configuration file to configure MAC addresses.

TABLE 2-14. Parameter MAC-ADDRESS-TYPE


Optional Scope: All

Parameters for Configuring MAC Addresses Value


List: ETHERNET ATM Default: ETHERNET Integer Default: 6 Unit: bytes String MAC address. Note: This parameter must be specified at the interface level. Length (number of bytes) of the MAC address.

Description
MAC address type.

MAC-ADDRESS-LENGTH
Optional Scope: All

MAC-ADDRESS
Optional Scope: All

32

QualNet 5.1 Developer Model Library

Chapter 2

Address Resolution Protocol (ARP)

2.4.4.1 Format of the MAC Address Configuration File


The MAC address configuration file is used to generate interace MAC Address. Each line in the MAC address configuration file has the following format: <node ID> <int-index> [<add-length>] [<hardware-type>] <MAC address> where: <node ID> <int-index> <add-length> <hardware-type> Node identifier. Interface index. Length of the hardware address. This entry is optional. Type of hardware used in the network. The possible values for this field are: ETHERNET ATM This entry is optional. The default hardware type is ETHERNET. <MAC address> Hardware address. This must be specified in hexadecimal format. Example The following lines show a segment of a MAC address configuration file: 1 2 4 6 7 0 1 0 0 0 6 ETHERNET 23:4f:5C:aa:FE:B2 6 ETHERNET 5C-AA-FE-23-4F-C2 ETHERNET 5C-BA-FE-23-4F-F2 00:4f:5C:ab:B5:C7 00:4f:5C:ab:B5:C7

QualNet 5.1 Developer Model Library

33

Address Resolution Protocol (ARP)

Chapter 2

2.4.4.2 Format of the ARP Static Cache File


The ARP static cache file file is used to create the static ARP Table. Each line in the ARP static cache file has the following format: <node ID> [int-index] <protocol type> <protocol address> | <nodeinterface> <hardware type> <add-length> <hardware address> <timeout> where: <node ID> <int-index> <protocol type> <protocol address> <node-interface> <hardware-type> <add-length> <hardware-address> <timeout> Node identifier. The node where the static ARP entry is created. Interface index. This entry is optional. IP IP address of the node-interface whose static entry has to be inserted into the ARP cache table. Node ID & interface of the node whose static entry has to be inserted into the ARP cache table. Type of hardware used in the network. It can be either ETHERNET or ATM. Length of the hardware address of the node. The 6-byte hardware address of the host whose static entry has been inserted. For static ARP cache table, the time out will be 0 due to forever existence of the entry in the table.

Note:

All fields should be entered on a single line.

Example The following lines show a segment of an ARP cache file: 1 2 3 3 0 IP 3-0 ETHERNET 6 00-00-00-00-03-00 0 IP 2-0 ETHERNET 6 00-00-00-00-02-00 0 0 IP 192.0.0.1 ETHERNET 6 00-00-00-00-01-00 0 1 IP 192.0.1.1 ETHERNET 6 00-00-00-01-01-00 0

34

QualNet 5.1 Developer Model Library

Chapter 2

Address Resolution Protocol (ARP)

2.4.5 GUI Configuration


This section describes how to configure ARP in the QualNet GUI. Configuring ARP Parameters To configure the ARP parameters, perform the following steps: 1. Go to one of the following locations:

To set properties for a specific wireless subnet, go to Wireless Subnet Properties Editor >
Network Layer > ARP.

To set properties for a specific wired subnet, go to Wired Subnet Properties Editor > ARP. To set properties for a specific point-to-point link, go to Point-to-point Link Properties Editor >
ARP.

To set properties for a specific node, go to Default Device Properties Editor > Node
Configuration > Network Layer > ARP.

To set properties for a specific interface of a node, go to one of the following locations: - Interface Properties Editor > Interfaces > Interface # > Network Layer > ARP. - Default Device Properties Editor > Interfaces > Interface # > Network Layer > ARP.
In this section, we show how to configure ARP parameters for a specific node using the Default Device Properties Editor. Parameters can be set in the other properties editors in a similar way. 2. Set Enable ARP to Yes and set the dependent parameters listed in Table 2-15.

FIGURE 2-8.

Setting ARP Parameters

QualNet 5.1 Developer Model Library

35

Address Resolution Protocol (ARP)

Chapter 2

TABLE 2-15. GUI Parameter


Number of Buffer Entries ARP Timeout Interval ARP Static Cache file

Command Line Equivalent of ARP Parameters Scope of GUI Parameter


Node, Subnet, Interface Node, Subnet, Interface Node, Subnet, Interface

Command Line Parameter


ARP-BUFFER-SIZE ARP-CACHE-EXPIRE-INTERVAL ARP-STATIC-CACHE-FILE

Setting Parameters

Set Static Cache File to the name of the Static Cache file. The format of the Static Cache file is
described in Section 2.4.4.2. Configuring MAC Address To configure MAC address for an interface, perforem the following steps: 1. Go to one of the following locations:

Interface Properties Editor > Interfaces > Interface # > MAC Layer Default Device Properties Editor > Interfaces > Interface # > MAC Layer

36

QualNet 5.1 Developer Model Library

Chapter 2

Address Resolution Protocol (ARP)

2. Set Configure MAC Address to Yes and set the dependent parameters listed in Table 2-16.

FIGURE 2-9.

Setting MAC Address Parameters

TABLE 2-16. GUI Parameter


Read MAC Address from File MAC Address Type MAC Address Value MAC Address Length

Command Line Equivalent of MAC Address Parameters Scope of GUI Parameter


Interface Interface Interface Interface N/A MAC-ADDRESS-TYPE MAC-ADDRESS MAC-ADDRESS-LENGTH

Command Line Parameter

QualNet 5.1 Developer Model Library

37

Address Resolution Protocol (ARP)

Chapter 2

3. If Read MAC Address from File is Yes, then set the dependent parameters listed in Table 2-17.

FIGURE 2-10.

Setting Enable Hello Processing-specific Parameters

TABLE 2-17.

Command Line Equivalent of Enable Hello Processing-specific Parameters Scope of GUI Parameter
Interface

GUI Parameter
MAC Address Configuration File

Command Line Parameter


MAC-ADDRESS-CONFIG-FILE

Setting Parameters

Set MAC Address Configuration File to the name of the MAC Address Configuration File. The
format of the MAC Address Configuration File is described in Section 2.4.4.1.

38

QualNet 5.1 Developer Model Library

Chapter 2

Address Resolution Protocol (ARP)

Configuring Statistics Parameters Statistics for ARP can be collected at the node, Interface and Subnet levels. 1. To enable statistics collection for ARP, go to one of the following locations:

To set properties for a specific wireless subnet, go to Wireless Subnet Properties Editor >
Network Layer > ARP.

To set properties for a specific wired subnet, go to Wired Subnet Properties Editor > ARP. To set properties for a specific point-to-point link, go to Point-to-point Link Properties Editor >
ARP.

To set properties for a specific node, go to Default Device Properties Editor > Node
Configuration > Network Layer > ARP.

To set properties for a specific interface of a node, go to one of the following locations: - Interface Properties Editor > Interfaces > Interface # > Network Layer > ARP - Default Device Properties Editor > Interfaces > Interface # > Network Layer > ARP.
2. Check the box labeled ARP Statistics.

FIGURE 2-11. TABLE 2-18. GUI Parameter


ARP Statistics

Setting ARP Statistics

Command Line Equivalent of Statistics Parameters Scope of GUI Parameter


Node, Subnet, Interface

Command Line Parameter


ARP-STATISTICS

QualNet 5.1 Developer Model Library

39

Address Resolution Protocol (ARP)

Chapter 2

2.4.6 Statistics
Table 2-19 lists the ARP statistics that are output to the statistics (.stat) file at the end of simulation.

TABLE 2-19. Statistics


Request Sent Gratuitous Request Sent Request Received Reply Sent Reply Received Data Packet Discarded Cache Entry Inserted Cache Entry Updated Cache Entry Agedout Cache Entry Deleted

ARP Statistics Description

Total number of ARP requests sent by the node. Total number of gratuitous ARP requests sent by the node. Total number of ARP request packets received by the node. Total number of ARP reply packets sent by the node. Total number of ARP reply packets received by the node. Total number of data packets discarded because of inability to resolve MAC address. Total number of entries inserted in the ARP cache table. Total number of entries updated in the ARP cache table. Total number of entries expired due to time out. Total number of entries deleted when the interface is at fault and the entry has aged out.

2.4.7 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the ARP model. All scenarios are located in the directory QUALNET_HOME/scenarios/developer/arp. Table 2-20 lists the sub-directory where each scenario is located. TABLE 2-20. Scenario
802_3-link-subnet2 802_3-subnet2 arp-dynamic-routing-protocol arp-static-config-prameter arp-static-routing-protocol autoconfig-subnet1 buffer-disabled buffer-enabled configured-timeout default-timeout semiconfig-subnet1

ARP Scenarios Description

Shows the operation of ARP in the network. Shows the operation of ARP in the network. Shows that the routing protocol OSPFv2 works properly with dynamic ARP. Shows the possible way to configure static arp. Shows the routing protocol OSPFv2 works properly with static ARP. Shows the operation of ARP in a single subnet network and checks that the MAC Addresses are generated. Shows the operation of ARP in the network with buffer disabled. Shows the operation of ARP in the network with buffer enabled. Shows the operation of ARP in the network and checks that the ARP flushes outof-date cache entries using user configured Time out values. Shows the operation of ARP in the network and checks that ARP flushes out-ofdate cache entries using default Time out values. Shows the operation of ARP in a single subnet network and checks whether user MAC Addresses specifications are working with automatic MAC address specification. Shows the operation of ARP in a single subnet network and checks whether user's MAC Addresses specifications are working. Shows the operation of ARP timeout and ARP retries.

usrconfig-subnet1 wireless_Arp_timeout_retry

40

QualNet 5.1 Developer Model Library

Chapter 2 TABLE 2-20. Scenario


wireless_gratuitous wireless_link_subnet wireless_staticCache wireless_subnet1

Address Resolution Protocol (ARP) ARP Scenarios (Continued) Description


Shows Gratuitous ARP packet generation. Shows the operation of ARP with two wireless subnets connected via static link. Shows the operation of ARP with ARP static-cache. Shows the operation of ARP with two wireless subnets connected via common node.

2.4.8 References
For specifying the interface fault, refer to fault section of Developer Model Library. 1. RFC 826 - An Ethernet Address Resolution Protocol, or Converting Network Protocol Addresses to 48.bit Ethernet Address for Transmission on Ethernet Hardware. 2. TCP/IP Illustrated Volume 1 - Richard Stevens. 3. RFC 1122 - Requirements for Internet Hosts -- Communication Layers

QualNet 5.1 Developer Model Library

41

Logical Link Control (LLC) Protocol

Chapter 2

.........................................................................
2.5 Logical Link Control (LLC) Protocol
LLC is based on RFC 1042.

2.5.1 Description
Logical Link Control (LLC) is the higher of the two data link layer sub layers defined by the IEEE. The LLC sub layer handles error control, flow control, framing, and MAC-sub layer addressing. The most prevalent LLC protocol is IEEE 802.2, which includes both connectionless and connection-oriented variants. LLC is a part of the data link layer in a protocol stack. The data link layer controls access to the network medium and defines how upper-layer data in the form of packets or datagram is inserted into frames for delivery on a particular network. The underlying physical layer then transmits the framed data as a stream of bits on the network medium.

2.5.2 Features and Assumptions


This section describes the implemented features, omitted features, assumptions and limitations of the LLC model.

2.5.2.1 Implemented Features LLC Type 1 connectionless service. 2.5.2.2 Omitted Features XID Command Test Command LLC Type 2 Service LLC Type 3 Service 2.5.2.3 Assumptions and Limitations
None.

2.5.3 Command Line Configuration


To enable LLC, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] LLC-ENABLED YES

The scope of this parameter declaration can be Global, Node, Subnet, or Interface. See Section 1.2.1.1 for a description of <Qualifier> for each scope. Notes: 1. To disable LLC, set LLC-ENABLED to NO. The default value of the parameter LLCENABLED is NO. 2. When configuring LLC at the node level, make sure that LLC is enabled at both communicating nodes. LLC Parameters There are no additional configuration parameters for the LLC model.

42

QualNet 5.1 Developer Model Library

Chapter 2

Logical Link Control (LLC) Protocol

2.5.4 GUI Configuration


To configure LLC in the GUI, perform the following steps: 1. Go to one of the following locations:

To enable at the subnet level, go to Wireless Subnet Properties Editor > MAC Layer. To set properties at the interface level, go to one of the following locations: - Interface Properties Editor > Interfaces > Interface # > MAC Layer - Default Device Properties Editor > Interfaces > Interface # > MAC Layer.
In this section, we show how to configure the general 802.11 MAC parameters in the Wireless Subnet Properties Editor. Parameters can be set in the other properties editors in a similar way. 2. Set Enable LLC to Yes as shown in Figure 2-12.

FIGURE 2-12.

Enabling LLC

QualNet 5.1 Developer Model Library

43

Logical Link Control (LLC) Protocol

Chapter 2

TABLE 2-21. GUI Parameter


Enable LLC

Command Line Equivalent of LLC Parameters Scope of GUI Parameter


Subnet, Interface

Command Line Parameter


LLC-ENABLED

2.5.5 References
1. RFC 1042, A Standard for the Transmission of IP Datagrams over IEEE 802 Networks, J. Postel, J. Reynolds, Feb. 1988. 2. CISCO document - Understanding Logical Link Control http://www.cisco.com/en/US/tech/tk331/tk336/technologies_tech_note09186a0080094777.shtml

44

QualNet 5.1 Developer Model Library

Network Layer Models

This chapter describes features, configuration requirements and parameters, statistics, and scenarios for Network ProtoLayer Models, and consists of the following sections: Internet Control Message Protocol (ICMP) Internet Control Message Protocol version 6 (ICMPv6) Internet Group Management Protocol (IGMP) Internet Protocol - Dual IP Internet Protocol Security (IPSec) Internet Protocol version 4 (IPv4) Internet Protocol version 6 (IPv6) Neighbor Discovery Protocol

QualNet 5.1 Developer Model Library

45

Internet Control Message Protocol (ICMP)

Chapter 3

.........................................................................
3.1 Internet Control Message Protocol (ICMP)
The QualNet ICMP model is based on RFC 792, RFC 1122, RFC 1256, RFC 1393, RFC 1349, RFC 1812, and RFC 2521.

3.1.1 Description
ICMP is an integral part of IP. It allows a router or destination host to communicate with the source, to report an error in IP datagram processing and for diagnostic or routing purposes. ICMP messages are constructed at IP layer, from a normal IP datagram that has generated an ICMP response. IP encapsulates the appropriate ICMP message with a new IP header and transmits the resulting datagram in the usual manner. The Internet Control Message Protocol (ICMP) is one of the core protocols of the Internet Protocol Suite. It is mainly used by networked computers to send error messages indicating, for instance, that a requested service is not available or that a host or router could not be reached. ICMP messages are typically generated in response to errors in IP datagram or for diagnostic or routing purposes. ICMP relies on IP to perform its tasks, and it is an integral part of IP. It differs in purpose from transport protocols such as TCP and UDP in that it is typically not used to send and receive data between end systems. It is usually not used directly by user network applications, with some notable exceptions being the ping tool and trace route. ICMP messages are constructed at the IP layer, usually from a normal IP datagram that has generated an ICMP response. IP encapsulates the appropriate ICMP message with a new IP header (to get the ICMP message back to the original sending host) and transmits the resulting datagram in the usual manner. The original sending host, which now becomes the destination for ICMP packet, handles the packet on reception.

3.1.2 Features and Assumptions


3.1.2.1 Implemented Features Router Discovery Destination Unreachable - Network Unreachable - Host Unreachable - Protocol Unreachable - Port Unreachable - Source Route Failed. - Fragmentation needed and DF set Echo Reply Source Quench Redirect Message - Generation and handling of Redirect Datagram for the Host - Handling of Redirect Datagram for the Network - Handling of Redirect Datagram for the TOS and Network - Handling of Redirect Datagram for the TOS and Host

46

QualNet 5.1 Developer Model Library

Chapter 3

Internet Control Message Protocol (ICMP)

Time Exceeded Parameter Problem Timestamp reply Trace route Photuris, Security failures

- Authentication Failed 3.1.2.2 Omitted Features Destination Unreachable - Generation and handling of Destination Network Unknown - Generation and handling of Destination Host Unknown - Generation and handling of Source Host Isolated - Generation and handling of Network Administratively Prohibited - Generation and handling of Host Administratively Prohibited - Generation and handling of Network Unreachable for TOS - Generation and handling of Host Unreachable for TOS - Generation and handling of Communication Administratively Prohibited - Generation and handling of Host Precedence Violation - Generation and handling of Precedence Cutoff in Effect Redirect Message - Generation of Redirect Datagram for the Network. - Generation of Redirect Datagram for the TOS and Network. - Generation of Redirect Datagram for the TOS and Host. Echo Request. Timestamp Information Request Information Reply Address Mask Request Address Mask reply Photuris, Security failures - Bad SPI - Decompression Failed - Decryption Failed - Need Authentication - Need Authorization Type 31 to 41 ICMP messages are not implemented. 3.1.2.3 Assumptions and Limitations The following on-demand routing protocols will not work with ICMP when Host Unreachable and
Network Unreachable error messages are generated since they use their own routing table instead of the IP forwarding table.

- Ad-hoc On-demand Distance Vector (AODV) routing protocol - Anonymous On-Demand Routing (ANODR) routing protocol

QualNet 5.1 Developer Model Library

47

Internet Control Message Protocol (ICMP)

Chapter 3

DYnamic MANET On-demand (DYMO) routing protocol Dynamic Source Routing (DSR) protocol Landmark Ad-hoc Routing (LANMAR) protocol Inter-zone Routing Protocol (IERP)

The following MAC protocols will not work with ICMP when Host Unreachable and Network
Unreachable error messages are generated since they do not notify the IP layer when packets are dropped.

Carrier-Sense MUltiple Access (CSMA) MAC protocol Multiple Access with Collision AVoidance (MACA) MAC protocol Time Division MUltiple Access (TDMA) MAC protocol Aloha MAC protocol GENERICMAC IEEE 802.3 MAC protocol Switched-Ethernet

3.1.3 Command Line Configuration


To enable ICMP, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] ICMP YES

The scope of this parameter declaration can be Global or Node. See Section 1.2.1.1 for a description of <Qualifier> for each scope. Note: To disable ICMP, set ICMP to NO. The default value of the parameter ICMP is YES.

ICMP Configuration Parameters The ICMP configuration parameters are described in Table 3-1. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 3-1. Parameter ICMP-ROUTER-DISCOVERY


Optional Scope: Global, Node List: YES NO

ICMP Configuration Parameters Value Description


Indicates whether ICMP routers can be discovered by ICMP hosts.

Default: NO Node-list List of ICMP routers. If a node is not an ICMP router, then it is an ICMP host.

ICMP-ROUTER-LIST
Optional Scope: Global, Node

48

QualNet 5.1 Developer Model Library

Chapter 3 TABLE 3-1. Parameter ICMP-REDIRECT-ENABLE


Optional Scope: Global, Node List: YES NO Default: NO Integer Range: 1S Default: 1S List: YES NO Default: YES Time Default: 1800S

Internet Control Message Protocol (ICMP) ICMP Configuration Parameters Value Description
Indicates whether ICMP redirect is enabled.

ICMP-REDIRECT-RETRY-TIME
Optional Scope: Global, Node

Indicates how often an ICMP router will attempt to send redirect messages to a node.

ICMP-REDIRECT-OVERRIDEROUTING
Optional Scope: Global, Node

If enabled, allows for ICMP redirect messages to override forwarding table entries defined by something other than a static route.

ICMP-ROUTERADVERTISEMENT-LIFE-TIME
Optional Scope: Global, Node

Life time of ICMP router advertisement.

ICMP-ROUTERADVERTISEMENT-MININTERVAL
Optional Scope: Global, Node

Time Default: 450S

Minimum time interval for ICMP router advertisement. See Note 1.

ICMP-ROUTERADVERTISEMENT-MAXINTERVAL
Optional Scope: Global, Node

Time Range: > 1S Default: 600S

Maximum time interval for ICMP router advertisement. See Note 2.

ICMP-MAX-NUM-SOLICITATION
Optional Scope: Global, Node

Integer Range: 0 Default: 3 List: YES NO Default: NO

Maximum number of solicitations.

ICMP-HOST-UNREACHABLEENABLED
Optional Scope: Global, Node

Enable Host Unreachable error message generation

QualNet 5.1 Developer Model Library

49

Internet Control Message Protocol (ICMP) TABLE 3-1. Parameter ICMP-NETWORK-UNREACHABLEENABLED


Optional Scope: Global, Node List: YES NO Default: NO List: YES NO Default: NO List: YES NO Default: NO List: YES NO Default: NO List: YES NO Default: NO List: YES NO Default: NO List: YES NO Default: NO List: YES NO Default: NO

Chapter 3

ICMP Configuration Parameters Value Description


Enable ICMP Network Unreachable error message generation.

ICMP-PROTOCOLUNREACHABLE-ENABLED
Optional Scope: Global, Node

Enable ICMP Protocol Unreachable error message generation.

ICMP-PORT-UNREACHABLEENABLED
Optional Scope: Global, Node

Enable ICMP port Unreachable error message generation

ICMP-FRAGMENTATIONNEEDED-ENABLED
Optional Scope: Global, Node

Enable ICMP Fragmentation needed error message generation

ICMP-SOURCE-QUENCEENABLED
Optional Scope: Global, Node

Enable ICMP Source Quench error message generation.

ICMP-TTL-EXCEEDED-ENABLED
Optional Scope: Global, Node

Enable TTL Exceed error message generation.

ICMP-SOURCE-ROUTE-FAILEDENABLED
Optional Scope: Global, Node

Enable ICMP Source route Failed error message generation.

ICMP-FRAGMENTSREASSEMBLY-TIMEOUTENABLED
Optional Scope: Global, Node

Enable ICMP Fragment Reassembly time out error message generation.

50

QualNet 5.1 Developer Model Library

Chapter 3 TABLE 3-1. Parameter ICMP-PARAMETER-PROBLEMENABLED


Optional Scope: Global, Node List: YES NO Default: NO List: YES NO Default: NO List: YES NO Default: NO List: YES NO Default: NO List: YES NO Default: NO

Internet Control Message Protocol (ICMP) ICMP Configuration Parameters Value Description
Enable ICMP parameter problem error message generation.

ICMP-SECURITY-FAILUREENABLED
Optional Scope: Global, Node

Enable ICMP security failure error message generation.

TRACE-ICMP
Optional Scope: Global, Node

Indicates whether packet tracing is enabled for ICMP. Note: To enable packet tracing, some other parameters need to be configured as well. Refer to Section 4.2.10 of QualNet Users Guide for details. Indicates whether statistics for error messages are collected for ICMP.

ICMP-ERROR-STATISTICS
Optional Scope: Global, Node

ICMP-STATISTICS
Optional Scope: Global, Node

Indicates whether statistics are collected for ICMP.

Notes: 1. ICMP-ROUTER-ADVERTISEMENT-MIN-INTERVAL must be less than ICMPROUTER-ADVERTISEMENT-MAX-INTERVAL. 2. ICMP-ROUTER-ADVERTISEMENT-MAX-INTERVAL must be less than ICMPROUTER-ADVERTISEMENT-LIFE-TIME.

QualNet 5.1 Developer Model Library

51

Internet Control Message Protocol (ICMP)

Chapter 3

3.1.4 GUI Configuration


This section describes how to configure ICMP in the GUI. Configuration Requirements IPv4 must be enabled to use ICMP. See Section 3.6 for enabling IPv4. Configuring ICMP Parameters To configure the ICMP parameters, perform the following steps: 1. Go to Default Device Properties Editor > Node Configuration > Network Layer. 2. Set Enable ICMP to Yes and set the dependent parameters listed in Table 3-2.

FIGURE 3-1.

Setting ICMP Parameters

TABLE 3-2. GUI Parameter


Enable Router Discovery Enable Redirect

Command Line Equivalent of ICMP Parameters Scope of GUI Parameter


Node Node

Command Line Parameter


ICMP-ROUTER-DISCOVERY ICMP-REDIRECT-ENABLE

52

QualNet 5.1 Developer Model Library

Chapter 3 TABLE 3-2. GUI Parameter


Router Advertisement Life Time Minimum Router Advertisement Interval Maximum Router Advertisement Interval Maximum Number of Solicitation Enable ICMP Error Messages

Internet Control Message Protocol (ICMP) Command Line Equivalent of ICMP Parameters (Continued) Scope of GUI Parameter
Node Node Node Node Node

Command Line Parameter


ICMP-ROUTER-ADVERTISEMENT-LIFETIME ICMP-ROUTER-ADVERTISEMENT-MININTERVAL ICMP-ROUTER-ADVERTISEMENT-MAXINTERVAL ICMP-MAX-NUM-SOLICITATION N/A

Setting Parameters

To enable ICMP router discovery, set Enable Router Discovery to Yes; otherwise, set Enable
Router Discovery to No.

To enable ICMP redirect, set Enable Redirect to Yes; otherwise, set Enable Redirect to No. To enable ICMP error messages, set Enable ICMP Error Messages to Yes; otherwise, set Enable
ICMP Error Messages to No.

QualNet 5.1 Developer Model Library

53

Internet Control Message Protocol (ICMP) 3. If Enable Router Discovery is set to Yes, then set the parameters listed in Table 3-3.

Chapter 3

FIGURE 3-2.

Setting ICMP Router Parameters

TABLE 3-3. GUI Parameter


Router List

Command Line Equivalent of ICMP Router Parameters Scope of GUI Parameter


Node

Command Line Parameter


ICMP-ROUTER-LIST

Setting Parameters

The parameter Router List must be set to the same value for all nodes.

54

QualNet 5.1 Developer Model Library

Chapter 3

Internet Control Message Protocol (ICMP)

4. If Enable Redirect is set to Yes, then set the parameters listed in Table 3-4.

FIGURE 3-3.

Setting ICMP Redirect Parameters

TABLE 3-4. GUI Parameter


Redirect Retry Time

Command Line Equivalent of ICMP Redirect Parameters Scope of GUI Parameter


Node Node

Command Line Parameter


ICMP-REDIRECT-RETRY-TIME ICMP-REDIRECT-OVERRIDE-ROUTING

Allow Override of Non-static Routes

QualNet 5.1 Developer Model Library

55

Internet Control Message Protocol (ICMP)

Chapter 3

5. Set Enable ICMP Error Message to Yes and set the dependent parameters listed in Table 3-5.

FIGURE 3-4.

Setting Error Message Parameters

56

QualNet 5.1 Developer Model Library

Chapter 3

Internet Control Message Protocol (ICMP)

TABLE 3-5. GUI Parameter

Command Line Equivalent of ICMP Error Message Parameters Scope of GUI Parameter
Node Node Node Node Node Node Node Node Node Node Node

Command Line Parameter


ICMP-HOST-UNREACHABLE-ENABLED ICMP-NETWORK-UNREACHABLEENABLED ICMP-PROTOCOL-UNREACHABLEENABLED ICMP-PORT-UNREACHABLE-ENABLED ICMP-FRAGMENTATION-NEEDEDENABLED ICMP-SOURCE-QUENCE-ENABLED ICMP-TTL-EXCEEDED-ENABLED ICMP-SOURCE-ROUTE-FAILEDENABLED ICMP-FRAGMENTS-REASSEMBLYTIMEOUT-ENABLED ICMP-PARAMETER-PROBLEM-ENABLED ICMP-SECURITY-FAILURE-ENABLED

Enable Host Unreachable Message Enable Network Unreachable Message Enable Protocol Unreachable Message Enable Port Unreachable Message Enable Fragmentation Needed Message Enable Source Quench Message Enable TTL Exceeded Message Enable Source Route Failed Message Enable Fragments Reassembly Messages Enable Parameter Problem Message Enable Security Failure Message

Configuring Statistics Parameters Statistics for ICMP model can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for ICMP model, check the box labeled ICMP in the appropriate properties editor. To enable statistics collection for ICMP Error messages, check the box labeled ICMP Error Statistics in the appropriate properties editor.

TABLE 3-6. GUI Parameter


ICMP ICMP Error Statistics

Command Line Equivalent of Statistics Parameters Scope of GUI Parameter


Global, Node Global, Node

Command Line Parameter


ICMP-STATISTICS ICMP-ERROR-STATISTICS

Configuring Packet Tracing Parameters Packet tracing for ICMP can be enabled at the global and node levels. To enable packet tracing for ICMP, in addition to setting the ICMP trace parameter, Trace ICMP, several other trace parameters also need to be set. See Section 4.2.10 of QualNet Users Guide for details of configuring packet tracing parameters.

QualNet 5.1 Developer Model Library

57

Internet Control Message Protocol (ICMP)

Chapter 3

TABLE 3-7. GUI Parameter


Trace ICMP

Command Line Equivalent of Packet Tracing Parameters Scope of GUI Parameter


Global, Node

Command Line Parameter


TRACE-ICMP

3.1.5 Statistics
Table 3-8 lists the ICMP statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 3-8. Statistic
Advertisements Generated Advertisements Received Solicitations Generated Solicitations Received Redirect Messages Sent Redirect Messages Received Echo Messages Received Echo Reply Messages Generated Timestamp Messages Received Timestamp Reply Messages Generated TraceRoute Messages Generated Network Unreachable Messages sent Network Unreachable Messages Received Host Unreachable Messages sent Host Unreachable Messages Received Protocol Unreachable Messages sent Protocol Unreachable Messages Received Port Unreachable Messages sent Port Unreachable Messages Received Fragmentation Needed Messages sent Fragmentation Needed Messages Received Source Route Failed Message Sent Source Route Failed Message Received Source Quench Messages sent Source Quench Messages Received TTL Exceeded Messages sent TTL Exceeded Messages Received Fragments Reassembly Messages sent

ICMP Statistics Description

Specifies the number of advertisements generated. Specifies the number of advertisements received. Specifies the number of solicitations generated. Specifies the number of solicitations received. Specifies the number of redirect messages sent. Specifies the number of redirect messages received. Specifies the number of echo messages received. Specifies the number of echo reply messages generated. Specifies the number of timestamp messages received. Specifies the number of timestamp reply messages generated. Specifies the number of trace route messages generated. Specifies the number of network unreachable messages generated. Specifies the number of network unreachable messages received. Specifies the number of host unreachable messages generated. Specifies the number of host unreachable messages received. Specifies the number of protocol unreachable messages generated. Specifies the number of protocol unreachable messages received. Specifies the number of port unreachable messages generated. Specifies the number of port unreachable messages received. Specifies the number of Fragmentation Needed Message generated. Specifies the number of Fragmentation Needed Message send. Specifies the number of Source Route Failed Message generated. Specifies the number of Source Route Failed Message received. Specifies the number of Source quench Message generated. Specifies the number of Source quench Message received. Specifies the number of TTL Exceed Message generated. Specifies the number of TTL Exceed Message received. Specifies the number of Fragment Reassembly Message generated.

58

QualNet 5.1 Developer Model Library

Chapter 3 TABLE 3-8. Statistic


Fragments Reassembly Messages Received Parameter Problem Messages sent Parameter Problem Messages Received Security Failure Messages sent Security Failure Messages Received Destination Network Unknown Messages Received Destination Host Unknown Messages Received Network Administratively Prohibited Messages Received Host Administratively Prohibited Messages Received Network Unreachable for TOS Messages Received Host Unreachable for TOS Messages Received Communication Administratively Prohibited Messages Received Host Precedence Violation Messages Received Precedence Cutoff In Effect Messages Received

Internet Control Message Protocol (ICMP) ICMP Statistics (Continued) Description


Specifies the number of Fragment Reassembly Message received. Specifies the number of Parameter Problem Message generated. Specifies the number of Parameter Problem Message received. Specifies the number of Security Failure Message generated. Specifies the number of Security Failure Message received. Specifies the number of Destination Network Unknown Message received. Specifies the number of host Unknown Message received. Specifies the number of Network Administratively Prohibited Messages received. Specifies the number of Host Administratively Prohibited Messages received. Specifies Network Unreachable for TOS Messages Received. Specifies Host Unreachable for TOS Messages Received. Specify Communication Administratively Prohibited Messages Received. Specify Host Precedence Violation Messages Received. Specify Precedence Cutoff In Effect Messages Received.

3.1.6 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the ICMP model. All scenarios are located in the directory QUALNET_HOME/scenarios/ developer/icmp. Table 3-9 lists the sub-directory where each scenario is located.

TABLE 3-9. Scenario


Icmp-host-unreachable Icmp-netowork-unreachable Icmp-security-failure Icmp-time-exceed Icmp-fragmenation-needed Icmp-source-quench Icmp-redirect

ICMP Scenarios Included in QualNet Description


Shows ICMP Host Unreachable Error Message Generation Shows ICMP Network Unreachable Error Message Generation Shows ICMP Security Failure Error Message Generation Shows ICMP TTL-exceed Error Message Generation Shows ICMP Fragmentation-Defragmentation Message Generation Shows ICMP Source Quench Error Message Generation Shows ICMP Redirect Message Generation

QualNet 5.1 Developer Model Library

59

Internet Control Message Protocol (ICMP)

Chapter 3

3.1.7 References
1. RFC 792, Internet Control Message Protocol, J. Postel. September 1981. 2. RFC 1256, ICMP Router Discovery Messages, S. Deering. September 1991. 3. RFC 1122, "Requirements for Internet Hosts - Communication Layers", R. Braden, October 1989. 4. RFC1812, "Requirements for IP Version 4 Routers", F. Baker, June 1995. 5. RFC 1393, "Trace route Using an IP Option", G. Malkin, January 1993. 6. RFC 1349, "Type of Service in the Internet Protocol Suite", P. Almquist, July 1992. 7. RFC 2521, "ICMP Security Failures Messages", P. Karn, March 1999.

60

QualNet 5.1 Developer Model Library

Chapter 3

Internet Control Message Protocol version 6 (ICMPv6)

.........................................................................
3.2 Internet Control Message Protocol version 6 (ICMPv6)
The QualNet ICMPv6 model is based on RFC 2463.

3.2.1 Description
Internet Control Message Protocol version 6 (ICMPv6) is used by IPv6 nodes to report errors encountered in processing packets, and to perform other internet-layer functions, such as diagnostics (ICMPv6 "ping"). This protocol is an integral part of IPv6. It allows a router or destination host to communicate with the source, typically to report an error in IP datagram processing. ICMPv6 messages are grouped into two classes: error messages and informational messages.

3.2.2 Command Line Configurations


ICMPv6 is automatically enabled if IPv6 is specified as the network protocol. See Section 3.7 for details of configuring IPv6. ICMPv6 Parameters The configuration parameter for ICMPv6 is described in Table 3-10. See Section 1.2.1.3 for a description of the format used for the parameter table. TABLE 3-10. Parameter NETWORK-LAYER-STATISTICS
Optional Scope: Global, Node List: YES NO Default: NO List: YES NO Default: NO Indicates whether packet tracing is enabled for ICMPv6. Note: To enable packet tracing, some other parameters need to be configured as well. Refer to Section 4.2.10 of QualNet Users Guide for details.

ICMPv6 Parameters Description


Indicates whether statistics are collected for network protocols.

Value

TRACE-ICMPV6
Optional Scope: Global, Node

QualNet 5.1 Developer Model Library

61

Internet Control Message Protocol version 6 (ICMPv6)

Chapter 3

3.2.3 GUI Configuration


ICMPv6 is automatically enabled if IPv6 is specified as the network protocol. See Section 3.7 for details of configuring IPv6. Configuring Packet Tracing Parameters Packet tracing for ICMPv6 can be enabled at the global and node levels. To enable packet tracing for ICMP, in addition to setting the ICMP trace parameter, Trace ICMP, several other trace parameters also need to be set. See Section 4.2.10 of QualNet Users Guide for details of configuring packet tracing parameters.

TABLE 3-11. GUI Parameter


Trace ICMPv6

Command Line Equivalent of Packet Tracing Parameters Scope of GUI Parameter


Global, Node

Command Line Parameter


TRACE-ICMPV6

3.2.4 Statistics
Table 3-12 lists the ICMPv6 statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 3-12. Statistic
Number of Messages Received with Unknown Code Packet Too Short Number of Messages Received with Invalid Length Number of Destination Unreachable Messages Received

ICMPv6 Statistics Description

Number of ICMPv6 message whose code field is out of range. Number of ICMPv6 message whose length is less than the minimum length of ICMPv6 header. Number of ICMPv6 message whose length field is not matching the actual length. Number of Destination Unreachable Messages with code 3 (Address unreachable).

3.2.5 References
1. RFC 2463, Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6), A. Conta, S. Deering. December 1998.

62

QualNet 5.1 Developer Model Library

Chapter 3

Internet Group Management Protocol (IGMP)

.........................................................................
3.3 Internet Group Management Protocol (IGMP)
The QualNet IGMP model is based on RFC 2236.

3.3.1 Description
IGMP is used by hosts and routers that support multicasting. IGMP is considered as a part of the IP layer and IGMP messages are transmitted in IP datagrams. Unlike other protocols, IGMP has a fixed size message, with no optional data. IGMP is a multicast group management protocol. It is generally used between routers and hosts, which involve in multicast data traffic. It operates between a host sending or receiving multicast data and its directly attached router. What we mean by a directly attached router is that router which a host comes across as the first-hop router on the path to any other router outside its local network. Or, on the contrary, the last-hop router on the way to the concerned hosts. The main work of the IGMP enabled routers and hosts are to maintain group membership information over a particular interface on a router on which one or more local hosts are connected. As we can see that the work of IGMP is limited to host and router interaction it becomes very clear that there must be other multicast routing protocols present over the internet to take care of the responsibility of routing multicast data packets to their final destinations. This is accomplished by other network-layer-multicast-routing protocols such as PIM, DVMRP or MOSPF. We know that IGMP provides a means to the host to inform its directly attached router about its group membership. This is done by the most important three IGMP messages: membership-query (general), membership-query (group-specific) and leave-group. A general-membership-query is sent by a router to all hosts on its attached interface to solicit membership information. By interface we mean the primary interface on an attached network. If a router has multiple physical interfaces on a single network, then this protocol needs to run on only one of them (according to RFC 2236). That is to get the set of all the multicast-groups that may have been joined by one or more hosts on that interface. The routers can also determine whether a specific group has been joined by any particular host or not. The routers may query with a specific group address in the query message, to know whether any host on the interface has joined the group or not. The attached hosts on the interface in turn replies with membership-report. This carries the membership information to the querying router. This continues till there are group members on a particular interface. If there are no more reports received for a group on a particular interface, then the attached router understands that there are no more alive group members for a particular group on a particular interface. It then deletes the group information from the group list it carries with it. Thus the router no more forwards multicast data traffic for that particular group on that interface.

3.3.1.1 IGMP Proxy


IGMP Proxy provides a means for forwarding multicast packets without having to run a multicast protocol. This can be dome only for certain simple topologies. An IGMP Proxy device can gather group membership information and simply forward multicast packets based upon that information. In addition, the multicast destination node need not be on the same subnet as the multicast router. The IGMP Proxy topology is a simple tree with the root connected to a wider multicast infrastructure. Each IGMP Proxy device has one upstream interface (the one towards the root) and can have one or more downstream interface(s). The upstream interface is also called the Host interface and a downstream interface is also called a Router interface. The downstream interface is connected to either a multicast destination node or another IGMP Proxy device. The upstream interface is connected to either another IGMP Proxy device or the multicast router. The upstream interface of an IGMP Proxy device must be manually configured.

QualNet 5.1 Developer Model Library

63

Internet Group Management Protocol (IGMP)

Chapter 3

3.3.2 Features and Assumptions


This section describes the implemented features, omitted features, assumptions and limitations of the IGMP model.

3.3.2.1 Implemented Features


The model implements the following IGMP Proxy features:

Maintenance of subscription set at each downstream interface and a merged set of subscription at
upstream interface.

Packet forwarding on downstream interfaces. 3.3.2.2 Omitted Features


None.

3.3.2.3 Assumptions and Limitations


The IGMP model is not compatible with IGMPv1.

3.3.3 Command Line Configuration


To select IGMP as the group management protocol, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] GROUP-MANAGEMENT-PROTOCOL IGMP

The scope of this parameter declaration can be Global, Node, Subnet, or Interface. See Section 1.2.1.1 for a description of <Qualifier> for each scope. IGMP Parameters Table 3-13 describes the IGMP configuration parameter. See Section 1.2.1.3 for a description of the format used for the parameter table. TABLE 3-13. Parameter IGMP-ROUTER-LIST
Optional Scope: All

IGMP Parameters Description


List of nodes that will act as IGMP routers. Note: All other nodes that are not in this IGMP router list are considered IGMP hosts.

Value
Node-list

IGMP-PROXY
Optional Scope: Global, Node

List: YES NO Default: NO IP Address

Configures the node as an IGMP Proxy device.

IGMP-PROXY-UPSTREAMINTERFACE
Optional Scope: Global, Node

IP address of the upstream interface of the IGMP Proxy device. This parameter is required if IGMP-PROXY is set to YES.

64

QualNet 5.1 Developer Model Library

Chapter 3 TABLE 3-13. Parameter IGMP-UNSOLICITED-REPORTCOUNT


Optional Scope: All

Internet Group Management Protocol (IGMP) IGMP Parameters (Continued) Description


Number of times a host will send unsolicited reports at the time of joining a group.

Value
Integer Range: > 0 Default: 2 Integer Range: > 0 Default: 2

IGMP-ROBUSTNESS-VARIABLE
Optional Scope: All

Robustness variable. The robustness variable allows tuning for the expected packet loss on a subnet. If a subnet is expected to be lossy, the robustness variable may be increased. IGMP is robust to (robustness variable - 1) packet losses.

IGMP-QUERY-INTERVAL
Optional Scope: All

Time Range: > 0S Default: 125S Time Range: > 0S Default: 10S Time Range: (0S,

Interval between General Query messages sent.

IGMP-QUERY-RESPONSEINTERVAL
Optional Scope: All

Maximum amount of time that the IGMP router waits to receive a response to a General Query message.

IGMP-LAST-MEMBER-QUERYRESPONSE-INTERVAL
Optional Scope: All

Amount of time that the IGMP router waits to receive a response to a Group-Specific Query message. This is also the amount of time between successive Group-Specific Query messages. Indicates whether statistics are collected for the IGMP protocol.

25.5S)
Default: 1S List: YES NO Default: NO

IGMP-STATISTICS
Optional Scope: Global, Node

3.3.4 GUI Configuration


This section describes how to configure IGMP in the GUI. Configuring IGMP Parameters To configure the IGMP parameters, perform the following steps 1. Go to one of the following locations:

To set properties for a specific wireless subnet, go to Wireless Subnet Properties Editor >
Routing Protocol > General.

To set properties for a specific wired subnet, go to Wired Subnet Properties Editor > Routing
Protocol > General.

To set properties for a specific point-to-point link, go to Point-to-point Link Properties Editor >
Point-to-point Link Properties > Routing Protocol.

QualNet 5.1 Developer Model Library

65

Internet Group Management Protocol (IGMP)

Chapter 3

To set properties for a specific node, go to Default Device Properties Editor > Node
Configuration > Routing Protocol.

To set properties for a specific interface of a node, go to one of the following locations: - Interface Properties Editor > Interfaces > Interface # > Routing Protocol - Default Device Properties Editor > Interfaces > Interface # > Routing Protocol.
In this section, we show how to configure IGMP parameters for a specific node using the Default Device Properties Editor. Parameters can be set in the other properties editors in a similar way. 2. Set Enable Multicast to Yes and set the dependent parameters listed in Table 3-14.

FIGURE 3-5.

Enabling Multicast

TABLE 3-14. GUI Parameter

Command Line Equivalent of Group Management Protocol Parameters Scope of GUI Parameter
Node, Subnet, Interface

Command Line Parameter


GROUP-MANAGEMENT-PROTOCOL

Group Management Protocol

Setting Parameters

Set Group Management Protocol to IGMP to enable IGMP.

66

QualNet 5.1 Developer Model Library

Chapter 3

Internet Group Management Protocol (IGMP)

3. If Group Management Protocol is set to IGMP, then set the dependent parameters listed in Table 315.

FIGURE 3-6. TABLE 3-15. GUI Parameter


Router List Enable Proxy Unsolicited Report Count Robustness Variable Query Interval Query Response Interval Last Member Query Interval

Setting IGMP Parameters

Command Line Equivalent of IGMP Parameters Command Line Parameter


IGMP-ROUTER-LIST IGMP-PROXY IGMP-UNSOLICITED-REPORT-COUNT IGMP-ROBUSTNESS-VARIABLE IGMP-QUERY-INTERVAL IGMP-QUERY-RESPONSE-INTERVAL IGMP-LAST-MEMBER-QUERY-INTERVAL

Scope of GUI Parameter


Node, Subnet, Interface Node Node, Subnet, Interface Node, Subnet, Interface Node, Subnet, Interface Node, Subnet, Interface Node, Subnet, Interface

Setting Parameters

Set Enable Proxy to Yes to configure the node as an IGMP Proxy device.

QualNet 5.1 Developer Model Library

67

Internet Group Management Protocol (IGMP) 4. If Enable Proxy is set to Yes, then set the dependent parameters listed in Table 3-16.

Chapter 3

FIGURE 3-7.

Setting IGMP Proxy Parameters

TABLE 3-16. GUI Parameter


Upstream Interface Address

Command Line Equivalent of IGMP Proxy Parameters Scope of GUI Parameter


Node

Command Line Parameter


IGMP-PROXY-UPSTREAM-INTERFACE

Configuring Statistics Parameters Statistics for IGMP can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters.

TABLE 3-17. Command Line Equivalent of Statistics Parameters GUI Parameter


IGMP

Scope of GUI Parameter


Global, Node

Command Line Parameter


IGMP-STATISTICS

68

QualNet 5.1 Developer Model Library

Chapter 3

Internet Group Management Protocol (IGMP)

3.3.5 Statistics
Table 3-18 lists the IGMP statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 3-18. Statistic
Membership created in local network Total Group Joins

IGMP Statistics Description

Total number of memberships created in the local network In case of host it is the number of groups the host joined through this interface, while in case of router it is the total number of different groups for which the router receives membership reports through this interface. In case of host this variable indicates whether the host leaves a previously joined group through this interface, while for router it is the total number of groups that leave this network. Total number of messages sent. Total number of messages received. Total number of bad messages received. Total number of reports received. Total number of invalid reports received. Total number of membership reports received. Total number of leave reports received. Total number of queries received. Total number of invalid queries received. Total number of general queries received. Total number of group specific queries received. Total number of reports sent. Total number of membership reports sent. Total number of leave reports sent. Total number of queries sent. Total number of general queries sent. Total number of group specific queries sent.

Total Group Leaves

Total Messages Sent Total Messages Received Bad Messages Received Total Reports Received Bad Reports Received Membership Reports Received Leave Reports Received Total Queries Received Bad Queries Received General Queries Received Group Specific Queries Received Total Reports Sent Membership Reports Sent Leave Reports Sent Total Queries Sent General Queries Sent Group Specific Queries Sent

3.3.6 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the IGMP model. All scenarios are located in the directory QUALNET_HOME/scenarios/developer/igmp. Table 3-19 lists the sub-directory where each scenario is located. TABLE 3-19. Scenario
grp-mem-info-db grp-mem-rpt mcast-grp-addr qr-rtr-cnt

IGMP Scenarios Included in QualNet Description

Shows the generation of multicast group information on all interfaces of a Router. Shows sending of Group Membership Report Message by Hosts of specific groups in response to General Query. Shows Group Address field of IGMP messages. Shows the number of Querier Router in a single subnet is 1.

QualNet 5.1 Developer Model Library

69

Internet Group Management Protocol (IGMP) TABLE 3-19. Scenario


rtr-host-join-grps

Chapter 3

IGMP Scenarios Included in QualNet (Continued) Description

Shows the generation of proper group information on an interface of a Router (both querier and non querier) when both Router and Hosts join different multicast groups in a mixed scenario. Shows the router behavior similar to host with respect to sending unsolicited reports upon joining a group and responding to queries transmitted by itself. Shows the selection of Querier among the routers starting as querier Router. Shows the transition from querier to non querier should not occur if that very querier receives a leave report. Shows the behavior of a host of a particular group which transmits a Leave Group Message while it is the last member of the same to respond to the queries which are sent by the querier router.

rtr-join-grp sel-qr-rtr trans-qr-to-non-qr tx-leave-grp-mess

3.3.7 References
1. RCC 2236, Internet Group Management Protocol, Version 2, W. Fenner. November 1997. 2. RFC 4605, Internet Group Management Protocol (IGMP) / Multicast Listener Discovery (MLD)-Based Multicast Forwarding.

70

QualNet 5.1 Developer Model Library

Chapter 3

Internet Protocol - Dual IP

.........................................................................
3.4 Internet Protocol - Dual IP
The QualNet Dual IP model is based on the RFC 4213, RFC 2185 and RFC 3056.

3.4.1 Description
IPv6 transition might become successful if IPv4/IPv6 routers/hosts maintain compatibility with the large installed base of IPv4 hosts and routers. Maintaining compatibility with IPv4 means enabling IPv6 routers/ hosts to carry IPv4/IPv6 datagram over the attached IPv4 infrastructures by encapsulating the datagram within IPv4 datagram. The harmonious co-existence of IPv6 and IPv4 routers/hosts facilitates deployment of IPv6 internet among the large installed base of IPv4. IPv4 compatibility mechanisms include:

Dual IP Layer: For supporting both IPv6 and IPv4 functionalities. Configured tunneling of IPv6 over IPv4: The IPv4 tunnel endpoint address is determined by
configuration information on the encapsulating node.

6to4 mechanism: A mechanism for IPv6 sites to communicate with each other over the IPv4 network
without explicit tunnel setup, and for them to communicate with native IPv6 domains via relay routers. Effectively it treats the wide area IPv4 networks as a unicast point-to-point link layer.

3.4.1.1 Dual IP Layer Operation


An IPv6 node enabled with dual IP operation is provided with complete IPv4 implementation in addition to its own IPv6 layer functionalities. Such nodes are usually known as IPv6/IPv4 nodes since they have the dual ability to interoperate not only with the IPv6 nodes but also with the IPv4 nodes. While communicating with IPv4 nodes, IP4/IPv6 nodes use IPv4 packets whereas for IPv6 nodes, they use IPv6 packets.

3.4.1.2 Configured Tunneling Mechanism


Tunneling mechanism provides a way to utilize IPv4 router infrastructure to carry IPv6 traffic. An IPv4 tunnel refers to a chain of intervening IPv4 routers along the route of the IPv6 datagram. Both the starting and the ending nodes of a tunnel are essentially IPv6/IPv4 routers enabled with dual-stack implementation. The starting node of a tunnel encapsulates the IPv6 packet in IPv4 datagram that is decapsulated at the ending node of the tunnel. For each tunnel, the encapsulating node can be manually configured to store the attached IPv4 tunnel's end point address, which is associated with the tunnelending IPv4/IPv6 node's tunnel-connecting interface. While transmitting IPv6 datagram over the associated IPv4 tunnel, the encapsulating node encapsulates it in IPv4 datagram and route the packet to the terminating IPv4/IPv6 node using the configured tunnel end point address. The determination of which packets to tunnel is usually done via a routing table maintained by the encapsulating node. Tunnels with bidirectional trafficking ability behave as virtual point-to-point link. Any routing application for IPv6, which is running on an IPv4 tunnel end, will consider the other tunnel end point as one hop away and it will use the tunnel to send as well as receive control packets to get the routing information from other end. Tunneling can be used in a variety of ways:

Router-to-Router: IPv6/IPv4 routers interconnected by an IPv4 infrastructure can tunnel IPv6 packets
between themselves. In this case, the tunnel spans one segment of the end-to-end path that the IPv6 packet takes.

Host-to-Router: IPv6/IPv4 hosts can tunnel IPv6 packets to an intermediary IPv6/IPv4 router that is
reachable via an IPv4 infrastructure. This type of tunnel spans the first segment of the packet's end-toend path.

Host-to-Host: IPv6/IPv4 hosts that are interconnected by an IPv4 infrastructure can tunnel IPv6 packets
between themselves. In this case, the tunnel spans the entire end-to-end path of the packet.

Router-to-Host: IPv6/IPv4 routers can tunnel IPv6 packets to their final destination IPv6/IPv4 host. This
tunnel spans only the last segment of the end-to-end path.

QualNet 5.1 Developer Model Library

71

Internet Protocol - Dual IP

Chapter 3

3.4.1.3 6to4 Automatic Tunneling Mechanism


6to4 tunneling (RFC 3056 / Connection of IPv6 Domains via IPv4 Clouds) uses a simple mechanism to create automatic tunnels. Each node with a global unique IPv4 address is a 6to4 tunnel endpoint (if no IPv4 firewall prohibits traffic). 6to4 tunneling is mostly not a one-to-one tunnel. Also, a special IPv6 address indicates that this node will use 6to4 tunneling for connecting the world-wide IPv6 network. Structure of a 6to4 Address In order to use the 6to4 automatic tunneling mechanism, the network address must be specified in the following format:

where WWXX: YYZZ Colon-hexadecimal representation of a public IPv4 address (w.x.y.z) assigned to a subnet or host.

3.4.2 Features and Assumptions


This section describes the implemented features, omitted features, assumptions and limitations of the Dual IP model.

3.4.2.1 Implemented Features Dual IP Layer Operation at Node Level - Support of both IPv4 and IPv6 stack on all the interfaces of a Dual-IP node - Support of all routing protocols at Dual-IP enabled node - Support for both wired and wireless network - IPv6 Address Configuration Configured Tunneling - Support of both IPv6 and IPv4 tunnels - Support of routing over the tunnels - Encapsulation - Tunnel as one-hop virtual-link 3.4.2.2 Omitted Features Tunnel MTU and Fragmentation Handling ICMPv4 Errors Security Considerations Scenario with tunnel to IPv6 space Fragmented Scenarios 3.4.2.3 Assumptions and Limitations A Dual-IP enabled node is assumed to have connection with both IPv6 and IPv4 network. In 6to4 multihome scenarios, all 6to4 routers should be connected to same v4 network.

72

QualNet 5.1 Developer Model Library

Chapter 3

Internet Protocol - Dual IP

In case, a single interface of a Dual-IP enabled node is configured for more than one IPv4-tunnel, splithorizon for RIPng remains disabled on that interface. This is due to RIPng limitation to distinguish multiple neighbors connected to a single interface while sending/learning route from them.

Optional Address in Tunnel Configuration file is mandatory in the following cases: - For running OLSRv2, EIGRP and IGRP routing protocols over the tunnel. - To enable static multicast over the tunnel. - User enables static routes over the tunnel and specify optional outgoing interface in static route file. IPv6 stack will be disabled on the 6to4 enable interface.

3.4.3 Command Line Configuration


To enable Dual IP, include the following parameter in the scenario configuration (.config) file. [<Qualifier>] NETWORK-PROTOCOL DUAL-IP

The scope of this parameter declaration can be Global, Node, Subnet, or Interface. See Section 1.2.1.1 for a description of <Qualifier> for each scope. Configuration Requirements In order to use the 6to4 automatic tunneling mechanism, one or more 6to4 subnets must be configured. To configure a 6to4 subnet, the network address used in the SUBNET or LINK statement must follow the format described in Table 3.4.1.3. Example SUBNET N64-2002:c0a8:6301:0001: {1 thru 5} LINK N64-2002:c0a8:6301:0002: {5, 6} Note: Different values (other than zero) must be assigned to the SLA field (bits 48 to 63) of subnet prefix in the above SUBNET and LINK statements.

Dual IP Parameters Table 3-20 shows the Dual IP configuration parameters. See Section 1.2.1.3 for a description of the format used for the parameter table. TABLE 3-20. Parameter IP-FRAGMENT-HOLD-TIME
Optional Scope: Global, Node Time Range: > 0S Default: 15S Filename Name of the tunnel configuration file. The tunnel configuration file contains a description of tunnels. Note: If all nodes support Dual IP, then the tunnel configuration file is not needed. The format of the tunnel configuration file is described in Section 3.4.3.1.

Dual IP Parameters Description


Default duration for which IP fragments are held in the IP queue before they are released.

Value

TUNNEL-CONFIG-FILE
Optional Scope: Global, Node

QualNet 5.1 Developer Model Library

73

Internet Protocol - Dual IP TABLE 3-20. Parameter IPv6-ENABLE-6to4TUNNELING


Optional Scope: Interface List: YES NO Default: No

Chapter 3 Dual IP Parameters (Continued) Value Description


Indicates whether 6to4 tunneling is enabled on the interface. Note: If 6to4 tunneling is enabled on an interface, the IPv6 stack will be disabled on that interface because 6to4-enabled interfaces are assumed to not have any direct connectivity with IPv6 networks. Indicates whether statistics are collected for network protocols.

NETWORK-LAYER-STATISTICS
Optional Scope: Global, Node

List: YES NO Default: NO

3.4.3.1 Format of the Tunnel Configuration File


The tunnel configuration file specifies IP tunnels. Each line in the tunnel configuration file has the following format (all parameters must be entered on the same line): <node-id> <tunnel-type> <tunnel-id> <tunnel-start-address> [<optional-start-address>] <tunnel-end-address> [<optional-address for tunnel end>] [INHERIT-FROM <inherit-interface-index>] [BANDWIDTH <tunnel-bandwidth>] [PROPAGATION-DELAY <propagation-delay>] where <Node ID> <tunnel-type> Node ID of the node on which the tunnel is to be configured. Tunnel type. This can be v4-tunnel (indicating an IPv4 tunnel) or v6tunnel (indicating an IPv6 tunnel). <tunnel-id> Tunnel ID is an integer to uniquely specify a tunnel for a node. Note: This parameter is deprecated and is only for backward compatibility.

74

QualNet 5.1 Developer Model Library

Chapter 3

Internet Protocol - Dual IP

<tunnel-start-address> <optional-startaddress>

Start address of the tunnel Optional start address of the tunnel, enclosed in [ and ]. This entry is optional unless: Static multicast is enabled over the tunnel, or Static routes are enabled over the tunnel and the optional outgoing interface is specified in static route file

<tunnel-end-address> <optional-address-for tunnel end>

End address of the tunnel Optional end address of the tunnel, end enclosed in [ and ]. This entry is optional unless: Static multicast is enabled over the tunnel, or Static routes are enabled over the tunnel and the optional outgoing interface is specified in static route file

INHERIT_FROM <inheritinterface-index> BANDWIDTH <tunnelbandwidth> PROPAGATION-DELAY <propagation-delay>

Index of the interface from which routing and other protocols are inherited. This entry is optional. Maximum bandwidth of the tunnel. This entry is optional. End-to-end propagation delay of the tunnel. This entry is optional.

Note:

Tunnels should be bi-directional; hence they need to be configured at both ends.

Examples 1.The following is an example of the specification of an IPv4 tunnel in the tunnel configuration file: 2 5 v4-tunnel v4-tunnel 192.168.1.1 192.168.2.2 192.168.2.2 192.168.1.1 INHERIT-FROM 1 INHERIT-FROM 2

2.The following is an example of the specification of an IPv6 tunnel in the tunnel configuration file: 2 5 v6-tunnel v6-tunnel 2000::1 2001::2 2001::2 2000::1

3.4.4 GUI Configuration


This section describes how to configure Dual-IP in the GUI. Configuring Dual-IP Parameters To configure the Dual-IP parameters, perform the following steps: 1. Go to one of the following locations:

To set properties for a specific wireless subnet, go to Wireless Subnet Properties Editor >
Network Layer > General.

To set properties for a specific wired subnet, go to Wired Subnet Properties Editor > General.

QualNet 5.1 Developer Model Library

75

Internet Protocol - Dual IP

Chapter 3

To set properties for a specific point-to-point link, go to Point-to-point Link Properties Editor >
Point-to-point Link Properties > Network Protocol.

To set properties for a specific node, go to Default Device Properties Editor > Node
Configuration > Network Layer.

To set properties for a specific interface of a node, go to one of the following locations: - Interface Properties Editor > Interfaces > Interface # > Network Layer. - Default Device Properties Editor > Interfaces > Interface # > Network Layer.
In this section, we show how to configure the Dual-IP parameters for a specific node using the Default Device Properties Editor. Parameters can be set in the other properties editors in a similar way. 2. Set Network Protocol to Dual-IP and set the dependent parameters listed inTable 3-21.

FIGURE 3-8. TABLE 3-21. GUI Parameter


IP Fragment Hold Time Dual-IP Tunnel Configuration File

Setting Dual-IP Parameters

Command Line Equivalent of Dual-IP Parameters Scope of GUI Parameter


Node Node

Command Line Parameter


IP-FRAGMENT-HOLD-TIME TUNNEL-CONFIG-FILE

Setting Parameters

Set Dual-IP Tunnel Configuration File to the name of the Tunnel Configuration file. The format of
the Tunnel configuration file is described in Section 3.4.3.1.

76

QualNet 5.1 Developer Model Library

Chapter 3 Enabling 6to4 Tunneling The 6to4 Tunneling can be configured only at interface level.

Internet Protocol - Dual IP

To configure the 6to4 Tunneling in the GUI, Set Network Protocol [=Dual-IP] > Enable IPv6 6to4 Tunneling to Yes.

FIGURE 3-9. TABLE 3-22. GUI Parameter


Enable IPv6to4 Tunneling

Enabling IPv6to4 Tunneling

Command Line Equivalent of IPv6to4 Tunneling Parameters Scope of GUI Parameter


Interface

Command Line Parameter


IPv6-ENABLE-6to4-TUNNELING

Configuring Statistics Parameters Statistics for Dual-IP can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for Network Layer including Dual-IP, check the box labeled Network in the appropriate properties editor.

TABLE 3-23. Command Line Equivalent of Statistics Parameters GUI Parameter


Network

Scope of GUI Parameter


Global, Node

Command Line Parameter


NETWORK-LAYER-STATISTICS

QualNet 5.1 Developer Model Library

77

Internet Protocol - Dual IP

Chapter 3

3.4.5 Statistics
Table 3-24 lists the Dual IP statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 3-24. Statistic
Broadcast Packets Sent at <type of tunnel> with Endpoint <tunnel endpoint> Multicast Packets Sent at <type of tunnel> with Endpoint <tunnel endpoint> Unicast Packets Sent at <type of tunnel> with Endpoint <tunnel endpoint> Broadcast Packets Received at <type of tunnel> with Endpoint <tunnel endpoint> Multicast Packets Received at <type of tunnel> with Endpoint <tunnel endpoint> Unicast Packets Received at <type of tunnel> with Endpoint <tunnel endpoint> Packets dropped at <type of tunnel> with Endpoint <tunnel endpoint> due to tunnel failure

Dual IP Statistics Description

Number of broadcast packets encapsulated at a tunneling interface with tunnel type and tunnel end-point. Number of multicast packets encapsulated at a tunneling interface with tunnel type and tunnel end-point. Number of unicast packets encapsulated at a tunneling interface with tunnel type and tunnel end-point. Number of broadcast packets decapsulated at a tunneling interface with tunnel type and tunnel end-point. Number of multicast packets decapsulated at a tunneling interface with tunnel type and tunnel end-point. Number of unicast packets decapsulated at a tunneling interface with tunnel type and tunnel end-point. Number of packets dropped due to tunnel failure at a tunneling interface with tunnel type and tunnel end-point.

3.4.6 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the Dual IP model. All scenarios are located in the directory QUALNET_HOME/scenarios/developer/dualip. Table 3-25 lists the sub-directory where each scenario is located. TABLE 3-25. Scenario
dual-stack/dual-stack-v4-v6 dual-stack/wireless-dual-stack multicast/all-dual-stack multicast/v4-multicast-v6-tunnel tunnel/6to4-automatic-tunnel/ 6to4-automatic-tunnel tunnel/6to4-automatic-tunnel/ 6to4-relay-router tunnel/v4-tunnel/host-router-host tunnel/v4-tunnel/multiple-v4tunnels

Dual IP Scenarios Included in QualNet Description

Shows the functionality of Dual-IP model for communication between a Dual-IP network with Pure IPv4 and Pure IPv6 Network. Shows the functionality of Dual-IP model when dual-stack configured on a wireless subnet without any tunnel configuration. Shows the Dual-IP implementation with multicast routing protocol in a Dual Stack network. Shows the functionality of Dual-IP model for Tunneling mechanism, configured with multicast routing protocol, using IPv6 as the Intermediate Network. Shows the functionality of Dual-IP model for 6to4 Automatic Tunneling mechanism between two IPv6 Networks interconnected by an intermediate IPv4 Network. Shows the functionality of Dual-IP model with 6to4 Automatic Tunneled Relay router as well as tunneled Dual-IP node. Shows the functionality of Dual-IP model for Tunneling mechanism, configured between a Dual-IP host and Dual-IP router, using IPv4 tunnel. Shows the functionality of Dual-IP model for Tunneling mechanism, configured between an IPv6 Network, using multiple IPv4 tunnel.

78

QualNet 5.1 Developer Model Library

Chapter 3 TABLE 3-25. Scenario


tunnel/v6-tunnel/multiple-v6tunnels tunnel/v6-tunnel/router-v6-router

Internet Protocol - Dual IP Dual IP Scenarios Included in QualNet (Continued) Description


Shows the functionality of Dual-IP model for Tunneling mechanism, configured between an IPv4 Network, using multiple IPv6 tunnel. Shows the functionality of Dual-IP model for Tunneling mechanism, configured between IPv4/IPv6 (Dual-IP) routers, using IPv6 intermediate network.

3.4.7 References
1. RFC 4213, Basic Transition Mechanisms for IPv6 Hosts and Routers, E. Nordmark, R. Gilligan. October 2005. 2. RFC 2185, Routing Aspects of IPv6 Transition, R. Callon, D. Haskin. September 1997. 3. RFC 3056, Connection of IPv6 Domains via IPv4 Clouds, B. Carpenter, K. Moore. February 2001. 4. RFC 2471, IPv6 Testing Address Allocation, R. Hinden, R. Fink, J. Postel. December 1998. 5. RFC 2462, IPv6 Stateless Address Autoconfiguration, S. Thomson, T. Narten. December 1998. 6. RFC 2460, "Internet Protocol, Version 6 (IPv6) Specification", S. Deering, R. Hinden. December 1998. 7. RFC 2461, "Neighbor Discovery for IP Version 6 (IPv6)", T. Narten, E. Nordmark, W. Simpson. December 1998. 8. RFC 1191, "Path MTU Discovery", J. Mogul, S. Deering. November 1990.

QualNet 5.1 Developer Model Library

79

Internet Protocol Security (IPSec)

Chapter 3

.........................................................................
3.5 Internet Protocol Security (IPSec)
The QualNet IPSec model is based on the RFC 2401, RFC 2403, RFC 2404, RFC 2405 and RFC 2406.

3.5.1 Description
IPSec is designed to provide cryptographically-based security for IPv4 and IPv6 that includes the following:

Access Control Connectionless Integrity Data Origin Authentication Partial Sequential Integrity Confidentiality Traffic Flow Confidentiality

3.5.2 Features and Assumptions


This section describes the implemented features, omitted features, assumptions and limitations of the IPSec model.

3.5.2.1 Implemented Features TUNNEL mode and TRANSPORT mode. Encapsulation of IP and upper layer protocols. IPSec service is provided using Encapsulation Security Payload (ESP) protocol Delays for running encryption and authentication algorithms. Following is the list of encryption and
authentication algorithms that are implemented:

Encryption: DES-CBC Authentication: HMAC-MD5, HMAC-SHA1. 3.5.2.2 Omitted Features Authentication Header (AH) Fragmentation and re-assembly IPv6, Multicast, and NAT (Network Address Translation) Authentication and encryption algorithms other than MD5, SHA1, DES-CBC Internet Key Exchange (IKE) algorithm IP payload compression 3.5.2.3 Assumptions and Limitations IPSec can only work with ESP (Encapsulating Security Protocol). Using NULL encryption in ESP can
imitate the unsupported AH protocol.

80

QualNet 5.1 Developer Model Library

Chapter 3

Internet Protocol Security (IPSec)

3.5.3 Command Line Configuration


To enable IPSec, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] IPSEC-ENABLED YES

The scope of this parameter declaration can be Global or Node. See Section 1.2.1.1 for a description of <Qualifier> for each scope. Note: The default value of IPSEC-ENABLED is NO.

IPSec Parameters Table 3-26 lists the IPSec parameters specified in the scenario configuration (.config) file. See Section 1.2.1.3 for a description of the format used for the parameter table. TABLE 3-26. Parameter IPSEC-CONFIG-FILE
Required Scope: Global, Node

IPSec Parameters Description


Specifies the name of the IPSec configuration file. This file usually has the extension .ipsec. The format of the IPSec configuration file is described in Section 3.5.3.1 Cryptographic processing Delay (per KB data) for 'HMAC-MD5' authentication algorithm.

Value
Filename

IPSEC-HMAC-MD5-DELAY
Optional Scope: Global, Node

Time Range: 0S Default: 10US Time Range: 0S Default: 10US Time Range: 0S Default: 10US Time Range: 0S Default: 10US Time Range: 0S Default: 10US

IPSEC-HMAC-SHA-1-DELAY
Optional Scope: Global, Node

Cryptographic processing Delay (per KB data) for 'HMAC-SHA-1' authentication algorithm.

IPSEC-HMAC-MD5-96-DELAY
Optional Scope: Global, Node

Cryptographic processing delay (per KB data) for 'HMAC-MD5-96' authentication algorithm.

IPSEC-HMAC-SHA-1-96-DELAY
Optional Scope: Global, Node

Cryptographic processing delay (per KB data) for 'HMAC-SHA-1-96' authentication algorithm

IPSEC-DES-CBC-DELAY
Optional Scope: Global, Node

Cryptographic processing delay (per KB data) for 'DES-CBC ' encryption algorithm.

QualNet 5.1 Developer Model Library

81

Internet Protocol Security (IPSec)

Chapter 3

3.5.3.1 Format for the IPSec Configuration File


An IPSec configuration file specifies the IPSec configuration information (interface to be configured as IPSec, Security Association Database entry and Security Policy Database entry) for each IPSec enabled nodes. IPSec configuration information contains: 1. Interface of the IPSec enabled node that will be configured for IPSec. 2. SPD (Security Policy Database) entry. An SPD specifies what services are to be offered to IP datagrams and in what fashion. It contains an ordered list of policy entries and must be consulted during the processing of all traffic (INBOUND or OUTBOUND), including non-IPsec traffic. 3. SAD (Security Association Database) entry. An SAD defines the parameters associated with each SA (Security Association). An SA is simply the bundle of algorithms and parameters (such as keys) that is being used to encrypt and authenticate a particular flow in one direction. Entries in the IPSec configuration file should be specified in the order as shown below: NODE <node id> <interface index> where <node id> <interface index>
Specifies the IPSec enabled node. Specifies the IPSec enabled interface of the node specified in the <node-id> field.

Each line in the SPD entry has the following format (all parameters should be entered on the same line): SP <source range> <destination range> <upper layer protocol> -P <direction> <policy> where <source range> <destination range> <upper layer protocol>
Specifies the network address from where the packet (to be IPSec processed) originates. The format is: Nx-y.0[port number] Specifies the IPSec processed packets destination network address. The format is: Nx-y.0[port number] Specifies the protocol of transport layer. It may be TCP, UDP or ANY. Packets delivered by these protocols will be IPSec processed. Specifies the traffic mode (inbound or outbound) for IPSec processing through the IPSec enabled interface. It can either be IN for inbound packet or OUT for outbound packet. DISCARD | NONE | IPSEC <SA names> If IPSEC is specified, it should be followed by SA names and SP entries.

<direction>

<policy>

82

QualNet 5.1 Developer Model Library

Chapter 3 Example The following is an example of an SPD entry: SP N2-1.0 N2-6.0 TCP -P IN IPSEC sa1 Each line in the SAD entry has the following format:

Internet Protocol Security (IPSec)

SA <name-tag> <mode> <dest> <security protocol> <spi> -E <encryption algorithm> encryption_key -A <authentication algorithm> <authentication_key> where <name-tag> <mode> <dest> <security protocol> <spi> encryption algorithm authentication algorithm
Specifies the name of the Security Association Entry. Specifies the IPSec operation mode. It can take two possible values: TUNNEL or TRANSPORT. IPSec SA end point. It specifies the address of an interface of the other end of the IPSec SA. The format is: (Nx-y.0) Currently QualNet supports only 'ESP' (Encapsulating Security Payload) mode. SPI (security parameter index) is used to uniquely identify a SA. This specifies the encryption algorithm for the SA entry. It can take value: DES-CBC This specifies the authentication algorithm for the SA entry. It can take any of the possible four values: HMAC-MD5, HMAC-SHA-1, HMAC-MD5-96 or HMAC-SHA-1-96

Example The following is an example of an SAD entry: SA sa1 TUNNEL 6.2 ESP 12345 -E DES-CBC encryption_key -A HMAC-MD5-96 authentication_key

3.5.4 GUI Configuration


This section describes how to configure IPSec in the GUI. Configuring IPSec Parameters To configure IPSec for a particular node, perform the following steps: 1. Go to Default Device Properties Editor > Node Configuration > Network Layer > Network Security. 2. Set Enable IPSec to Yes, and set the dependant parameters listed in Table 3-27.

QualNet 5.1 Developer Model Library

83

Internet Protocol Security (IPSec)

Chapter 3

FIGURE 3-10. TABLE 3-27. GUI Parameter


IPSec Configuration File Specify Delays for IPSec Processing

Configuring IPSec Parameters

Command Line Equivalent of IPSec Parameters Scope of GUI Parameter


Node Node

Command Line Parameter


IPSEC-CONFIG-FILE N/A

Setting Parameters

Set IPSec Configuration File to the name of the IPSec configuration file. The format of the IPSec
configuration file is described in Section 3.5.3.1.

To specify delay for IPSec processing, set Specify Delays for IPSec Processing to Yes;
otherwise, set Specify Delays for IPSec Processing to No. 3. If Specify Delays for IPSec Processing is set to Yes, then set the dependent parameters listed in Table 3-28.

84

QualNet 5.1 Developer Model Library

Chapter 3

Internet Protocol Security (IPSec)

FIGURE 3-11. TABLE 3-28. GUI Parameter


DES-CBC Delay HMAC-MD5 Delay HMAC-MD5-96 Delay HMAC-SHA-1 Delay HMAC-SHA-1-96 Delay

Specifying IPSec delay parameters

Command Line Equivalent of IPSec delay Parameters Scope of GUI Parameter


Node Node Node Node Node

Command Line Parameter


IPSEC-DES-CBC-DELAY IPSEC-HMAC-MD5-DELAY IPSEC-HMAC-MD5-96-DELAY IPSEC-HMAC-SHA-1-DELAY IPSEC-HMAC-SHA-1-96-DELAY

Configuring Statistics Parameters Statistics for IPSec can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for IPSec, check the box labeled Network in the appropriate properties editor. TABLE 3-29. Command Line Equivalent of Statistics Parameters GUI Parameter
Network

Scope of GUI Parameter


Global, Node

Command Line Parameter


NETWORK-LAYER-STATISTICS

QualNet 5.1 Developer Model Library

85

Internet Protocol Security (IPSec)

Chapter 3

3.5.5 Statistics
Table 3-30 lists the IPSec statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 3-30. Statistic
Packet Processed Packet Dropped Total Delay Overhead Packet Processed Packet Dropped Total Byte Overhead Total Delay Overhead

IPSec Statistics Description

Number of IPSec packets processed at IPSec enabled inbound interface. Number of IPSec packets dropped at IPSec enabled inbound interface. Total delay for inbound IPSec packet processing. Number of IPSec packets processed at IPSec enabled outbound interface. Number of IPSec packets dropped at IPSec enabled outbound interface. Total overhead bytes for IPsec processing. Total delay for outbound IPSec packet processing

3.5.6 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the IPSec model. All scenarios are located in the directories QUALNET_HOME/scenarios/network_security/ipsec/tunnel-mode and QUALNET_HOME/scenarios/network_security/ipsec/transport-mode. Table 3-31 lists the sub-directory where each scenario is located. TABLE 3-31. Scenario
bidirectional-tunnel many-to-one multiple-sa multiple-sp

IPSec Scenarios Included in QualNet Description

Shows the behavior of bi-directional IPSec tunnels between a pair of IPSec enabled nodes (using 2 SPD entries for each node). Shows the behavior of multiple applications from multiple IPSec gateways to one IPSec gateway. Shows that one IPSec enabled node can have multiple tunnels (Security Association) entry for a single SPD (Security Policy Database) entry. Shows IPSec functionalities for multiple IPSec tunnels between two gateways nodes. Such type of tunnels can be established by providing different SP (Security Policy) entries at each of the tunnel end nodes. Shows IPSec functionality testing for nested tunneling. Shows that multiple applications go through one IPSec gateway to multiple other IPSec gateways.

nested-tunnel one-to-many

86

QualNet 5.1 Developer Model Library

Chapter 3

Internet Protocol Security (IPSec)

3.5.7 References
The IPSec Model is based on the following RFCs:

2401 2411 2402 2403 2404 2405 2406 2407 2408 2409 2410 2412 2085 2104

Security Architecture for the Internet Protocol IP Security Document Roadmap IP Authentication Header The Use of HMAC-MD5-96 within ESP and AH The Use of HMAC-SHA-1-96 within ESP and AH The ESP DES-CBC Cipher Algorithm With Explicit IV IP Encapsulating Security Payload (ESP) The Internet IP Security Domain of Interpretation for ISAKMP Internet Security Association and Key Management Protocol (ISAKMP) The Internet Key Exchange (IKE) The NULL Encryption Algorithm and Its Use With IPsec The OAKLEY Key Determination Protocol HMAC-MD5 IP Authentication with Replay Prevention HMAC: Keyed-Hashing for Message Authentication

Schneier, B., "Applied Cryptography Second Edition", John Wiley & Sons, New York, NY, 1996. ISBN 0471-12845-7.

QualNet 5.1 Developer Model Library

87

Internet Protocol version 4 (IPv4)

Chapter 3

.........................................................................
3.6 Internet Protocol version 4 (IPv4)
The QualNet IPv4 model is based on RFC 791.

3.6.1 Description
IP is a protocol that provides a connectionless, best-effort delivery service of datagrams across the internet. Currently, there are two Internet Protocols: version 4 (IPv4) and version 6 (IPv6). For information on IPv6, see the section that immediately follows this section in this guide. The Internet Protocol is designed for use in interconnected systems of packet-switched computer communication networks. The Internet Protocol provides for transmitting blocks of data called datagrams from sources to destinations, where sources and destinations are hosts identified by fixed length addresses. The Internet Protocol also provides for fragmentation and reassembly of long datagrams, if necessary, for transmission through small packet networks.

3.6.2 Command Line Configuration


To enable IPv4, specify the following parameter in the scenario configuration (.config) file: [<Qualifier>] NETWORK-PROTOCOL IP

The scope of this parameter declaration can be Global, Node, Subnet, or Interface. See Section 1.2.1.1 for a description of <Qualifier> for each scope. IPv4 Parameters The configuration parameters for IPv4 are shown in Table 3-32. See Section 1.2.1.3 for a description of the format used for the parameter table. Note: Refer to QualNet Users Guide for configuring additional network layer parameters.

88

QualNet 5.1 Developer Model Library

Chapter 3

Internet Protocol version 4 (IPv4)

TABLE 3-32. Parameter IP-FRAGMENT-HOLD-TIME


Optional Scope: Global, Node Time Range: > 0S Default: 15S List: YES NO Default: NO List: YES NO Default: No

IPv4 Parameters Description


Default duration for which IP fragments are held in the IP queue before they are released.

Value

NETWORK-LAYER-STATISTICS
Optional Scope: Global, Node

Indicates whether statistics are collected for network protocols.

TRACE-IP
Optional Scope: Global, Node

Indicates whether packet tracing is enabled for IPv4. Note: To enable packet tracing, some other parameters need to be configured as well. Refer to Section 4.2.10 of QualNet Users Guide for details.

3.6.3 GUI Configuration


This section describes how to configure IPv4 in the GUI. Configuring IPv4 Parameters To configure the IPv4 parameters, perform the following steps: 1. Go to one of the following locations:

To set wireless subnet properties, go to Wireless Subnet Properties Editor > Network Layer >
General.

To set properties for a specific wired subnet, go to Wired Subnet Properties Editor > General. To set properties for a specific point-to-point link, go to Point-to-point link Properties Editor >
Network Layer.

To set properties for a specific node, go to Node Properties Editor > Node Configuration >
Network Layer.

To set properties for a specific interface of a node, go to one of the following locations: - Interface Properties Editor > Interfaces > Interface # > Network Layer. - Default Device Properties Editor > Interfaces > Interface # > Network Layer.
In this section, we show how to configure IPv4 parameters for a specific node using the Default Device Properties Editor. Parameters can be set in the other properties editors in a similar way.

QualNet 5.1 Developer Model Library

89

Internet Protocol version 4 (IPv4) 2. Set Network Protocol to IPv4 and set the dependent parameters listed inTable 3-33.

Chapter 3

FIGURE 3-12. TABLE 3-33. GUI Parameter


IP Fragment Hold Time

Setting IPv4 Protocol Parameters at Node Level Command Line Equivalent of IPv4 Parameters Scope of GUI Parameter
Node

Command Line Parameter


IP-FRAGMENT-HOLD-TIME

Note:

Refer to QualNet Users Guide for configuring additional network layer parameters.

Configuring Statistics Parameters Statistics for IPv4 can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for Network Layer including IPv4, check the box labeled Network in the appropriate properties editor.

TABLE 3-34. Command Line Equivalent of Statistics Parameters GUI Parameter


Network

Scope of GUI Parameter


Global, Node

Command Line Parameter


NETWORK-LAYER-STATISTICS

90

QualNet 5.1 Developer Model Library

Chapter 3

Internet Protocol version 4 (IPv4)

Configuring Packet Tracing Parameters Packet tracing for IPv4 can be enabled at the global and node levels. To enable packet tracing for IPv4, Trace IP. See Section 4.2.10 of QualNet Users Guide for details of configuring statistics parameters.

TABLE 3-35. GUI Parameter


Trace IPv4

Command Line Equivalent of Packet Tracing Parameters Scope of GUI Parameter


Global, Node

Command Line Parameter


TRACE-IP

3.6.4 Statistics
This section describes the file and dynamic statistics of the IPv4 model.

3.6.4.1 File Statistics


Table 3-36 lists the IPv4 statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 3-36. Statistic
ipInReceives ipInHdrErrors ipInForwardDatagrams ipInDelivers ipOutRequests ipOutDiscards ipOutNoRoutes Packets fragmented Fragments created Fragments received Fragments dropped Fragments in Buffer Fragments reassembled Packets created after reassembling ipInDelivers TTL sum ipRoutePktThruGt Send pkt to Other Net Recvd pkt from Other Net ipInDelivers TTL-based average hop count ipNumDroppedDueToBackplaneLimit Number of packets dropped due to routing ipReasmReqds ipReasmOKs

IPv4 Statistics Description

Packets received from the MAC protocol. Packets dropped due to header errors. Packets forwarded by this intermediate node towards its destination. Packets delivered to transport layer. Packets sent by IP to the MAC protocol. Packets lost because of IP queue overflow. Packets dropped due to unreachable destination. Number of packets fragmented. Number of fragments created. Number of fragments received. Number of fragments dropped. Number of fragments in buffer. Number of fragments reassembled. Number of packets created after reassembling. TTL sum of the packets sent to upper layers. Number of IP datagrams routed through gateway. Number of packets sent to other networks. Number of packets received from other networks. TTL based on average hop count for packets sent to upper layers. Number of packets dropped due to back plane limit. Number of packets dropped due to routing. Fragments of packets received. Successful reassembly of fragments into a data packet.

QualNet 5.1 Developer Model Library

91

Internet Protocol version 4 (IPv4) TABLE 3-36. Statistic


ipReasmFails IpFragOKs

Chapter 3 IPv4 Statistics (Continued) Description


Unsuccessful reassembly of fragments into a data packet. Successful receptions of fragments.

3.6.4.2 Dynamic Statistics


The following dynamic statistics are enabled for the IPv4 model (refer to Chapter 6 of QualNet Users Guide for details of viewing dynamic statistics in the GUI during the simulation):

Number of Packets Received Number of Packets Received with Errors in IP Header

3.6.5 References
1. RFC 791, Internet Protocol Darpa Internet Program Protocol Specification, Information Science Institute, University of Southern California.

92

QualNet 5.1 Developer Model Library

Chapter 3

Internet Protocol version 6 (IPv6)

.........................................................................
3.7 Internet Protocol version 6 (IPv6)
The QualNet IPv6 model is based on RFC 2460 and RFC 3513.

3.7.1 Description
IPv6 is the newer version of the Internet Protocol that is meant to replace IPv4. IPv4 has been used since the beginning of the Internet and has worked very well, but it has some serious limitations that IPv6 has been designed to overcome. Basic improvements of IPv6 are:

Increased addressing space. IP address is expanded from 32 bits to 128 bits. Similar to IPv4, IPv6 also provides functionalities such as forwarding, fragmentation, automatic
discovery of default routers, fastest forwarding process using destination cache, neighbor cache and prefix list, hierarchical networking, and simplified packet format. IPv6 Addresses IPv6 addresses are 128 bits long and are of three types. IP addresses are assigned to interfaces of the node. All interfaces must have at least one link-local unicast address. An interface may also have multiple IPv6 addresses of any type. There are three conventional forms to represent IPv6 address.

The preferred form is x:x:x:x:x:x:x:x, where x is 16 bit hexadecimal value.


Example: 1080:0:0:0:8:800:200C:417A

Truncate a series of 0s with ::.


Example: The previous address can be represented as 1080::8:800:200C:417A

Mixed environment of IPv6 and IPv4 - x:x:x:x:x:x:d.d.d.d where 'x' is the 16 bit hexadecimal value and
'd' is the 8 bit decimal value as represented by IPv4. Example: 0:0:0:0:0:0:13.1.68.3 The following format is used to indicate the length of the subnet mask: <IPv6-address>/<prefix-length> where <IPv6-address> <prefix-length> IPv6 address in any of the above formats Number of bits in the subnet mask

IPv6 Unicast Address Types A unicast address has two parts: subnet prefix and interface ID. Depending on the type of unicast address the length of these two types is different. There are several types of unicast address, such as:

Global unicast address (allowed beyond the intranet) MSAP address (not used) IPX address (not used) site-local address (intranet specific address) link-local address (used for a single link) IPv4 capable address (0:0:0:0:0:0:<IPv4 address> or 0:0:0:0:0:FFFF:<IPv4 address>)

QualNet 5.1 Developer Model Library

93

Internet Protocol version 6 (IPv6)

Chapter 3

Unspecified address (0:0:0:0:0:0:0:0) indicates absence of an address Loopback address (0:0:0:0:0:0:0:1) used to send a message to itself

3.7.2 Features and Assumptions


This section describes the implemented features, omitted features, assumptions and limitations of the IPv6 model.

3.7.2.1 Implemented Features All types of IPv6 addressing NDP for Neighbor Discovery ICMPv6 for IPv6 control packets Fragmentation and Reassembly for large IPv6 packets Dual IP Static Multicasting 3.7.2.2 Omitted Features Support for MLD Router, Hop by Hop Option header, Destination Option header processing is blocked due to nonavailability of other protocol or control blocks.

Support for IPv6 Redirect Message 3.7.2.3 Assumptions and Limitations All neighbors receive the packet even if they are not the designated receiver. The receiver check if the
packet was for itself, if not discards the packet.

Link-Local and Site-Local addresses are automatically generated in QualNet so user should not specify
this range of addresses to any Link or subnet.

3.7.3 Command Line Configuration


To enable IPv6, specify the following parameter in the scenario configuration (.config) file: [<Qualifier>] NETWORK-PROTOCOL IPv6

The scope of this parameter declaration can be Global, Node, Subnet, or Interface. See Section 1.2.1.1 for a description of <Qualifier> for each scope. IPv6 Parameters The IPv6 configuration parameters are described in Table 3-37. See Section 1.2.1.3 for a description of the format used for the parameter table. Note: Refer to QualNet Users Guide for additional network layer parameters.

94

QualNet 5.1 Developer Model Library

Chapter 3 TABLE 3-37. Parameter IP-FRAGMENT-HOLD-TIME


Optional Scope: Global, Node Time Range: > 0S Default: 15S List: YES NO Default: NO List YES NO Default: No

Internet Protocol version 6 (IPv6) IPv6 Parameters Description


Default duration for which IP fragments are held in the IP queue before they are released.

Value

NETWORK-LAYER-STATISTICS
Optional Scope: Global, Node

Indicates whether statistics are collected for network protocols.

TRACE-IPV6
Optional Scope: Global, Node

Indicates whether packet tracing is enabled for IPv6. Note: To enable packet tracing, some other parameters need to be configured as well. Refer to Section 4.2.10 of QualNet Users Guide for details.

3.7.4 GUI Configuration


This section describes how to configure IPv6 in the GUI. Configuring IPv6 Parameters To configure the IPv6 parameters, perform the following steps: 1. Go to one of the following locations:

To set properties for a specific wireless subnet, go to Wireless Subnet Properties Editor >
Network Layer > General.

To set properties for a specific wired subnet, go to Wired Subnet Properties Editor > General. To set properties for a specific point-to-point link, go to Point-to-point Link Properties Editor >
Point-to-point Link Properties > Network Protocol.

To set properties for a specific node, go to Default Device Properties Editor > Node
Configuration > Network Layer.

To set properties for a specific interface of a node, go to one of the following locations: - Interface Properties Editor > Interfaces > Interface # > Network Layer - Default Device Properties Editor > Interfaces > Interface # > Network Layer.
In this section, we show how to configure IPv6 parameters for a specific node using the Default Device Properties Editor. Parameters can be set in the other properties editors in a similar way.

QualNet 5.1 Developer Model Library

95

Internet Protocol version 6 (IPv6) 2. Set Network Protocol to IPv6 and set the dependent parameters listed in Table 3-38.

Chapter 3

FIGURE 3-13. TABLE 3-38. GUI Parameter


IP Fragment Hold Time

Configuring IPv6 Network Protocol Parameters Command Line Equivalent of IPv6 Parameters Scope of GUI Parameter
Node

Command Line Parameter


IP-FRAGMENT-HOLD-TIME

Note:

Refer to QualNet Users Guide for configuring additional network layer parameters.

Configuring Statistics Parameters Statistics for IPv6 can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for Network Layer including IPv6, check the box labeled Network in the appropriate properties editor.

TABLE 3-39. Command Line Equivalent of Statistics Parameters GUI Parameter


Network

Scope of GUI Parameter


Global, Node

Command Line Parameter


NETWORK-LAYER-STATISTICS

96

QualNet 5.1 Developer Model Library

Chapter 3

Internet Protocol version 6 (IPv6)

Configuring Packet Tracing Parameters Packet tracing for IPv6 can be enabled at the global and node levels. To enable packet tracing for IPv6, in addition to setting the IPv6 trace parameter, Trace IPv6, several other trace parameters also need to be set. See Section 4.2.10 of QualNet Users Guide for details of configuring packet tracing parameters.

TABLE 3-40. GUI Parameter


Trace IPv6

Command Line Equivalent of Packet Tracing Parameters Scope of GUI Parameter


Global, Node

Command Line Parameter


TRACE-IPv6

3.7.5 Statistics
Table 3-41 lists the IPv6 statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 3-41. Statistic
Total packets received Datagrams delivered to upper level Packets forwarded Total ipv6 packets generated Packets rcvd for unreachable destination Packets discarded due to no route Packets received from bad sources Packets output discarded Number of packets received with improper version number Packets not forwarded because size greater than MTU Packet too short Not enough data Number of fragmented packets received Number of fragmented packets dropped Number of fragmented packets time out Number of Reassembled packets Total output fragment created

IPv6 Statistics Description

Number of packets received Number of datagrams delivered to upper level Number of packets forwarded Number of IPv6 packets generated Number of packets received for unreachable destination Number of packets discarded due to no route Number of packets received from bad sources Number of output IP packets discarded due to lack of buffer space Number of packets received with incorrect version number in the IP header Number of packets not forwarded because size greater than MTU Number of packets in which total packet length is less than the sum of header length and data length Number of packets in which total packet length is less than the sum of all the header length Number of fragmented packets received Number of fragmented packets dropped Number of fragmented packets time out Number of reassembled packets Number of output fragment created

QualNet 5.1 Developer Model Library

97

Internet Protocol version 6 (IPv6)

Chapter 3

3.7.6 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the IPv6 model. All scenarios are located in the directory QUALNET_HOME/scenarios/developer/ipv6. Table 3-42 lists the sub-directory where each scenario is located. TABLE 3-42. Scenario
addressing/link-addressing addressing/subnet-addressing fragmentation ipv6_csma ipv6_pc-pc mac-dot11 mac-dot11e ndp-functionality/ndp-link ndp-functionality/ndp-subnet ndp-functionality/ndp-subnet-link static-multicast static-routing switch-ipv6

IPv6 Scenarios Included in QualNet Description

Shows the functionality of IPv6 Addressing. Shows the functionality of IPv6 Addressing. Shows the functionality of fragmentation using IPv6. Shows the functionality of WLAN for multiple subnets. Shows the functionality of WLAN for multiple subnets Shows the functionality of mac-dot11 for IPv6. Shows the functionality of mac-dot11e for IPv6. Shows the NDP functionality of IPv6. Shows the NDP functionality of IPv6. Shows the NDP functionality of IPv6. Shows the functionality of static multicast using IPv6. Shows the functionality static routing using IPv6. Shows the switch configuration of IPv6.

3.7.7 References
1. RFC 2460, Internet Protocol, Version 6 (IPv6) Specification, S. Deering, R. Hinden. December 1998. 2. RFC 3513, Internet Protocol Version 6 (IPv6) Addressing Architecture, R. Hinden, S. Deering. April 2003.

98

QualNet 5.1 Developer Model Library

Chapter 3

Neighbor Discovery Protocol

.........................................................................
3.8 Neighbor Discovery Protocol
The QualNet Neighbor Discovery Protocol is based on the RFC 2461, RFC 2460, RFC 2462 and RFC 2463.

3.8.1 Description
The IPv6 Neighbor Discovery protocol corresponds to a combination of the IPv4 protocols ARP, ICMP Router Discovery (RDISC), and ICMP Redirect (ICMPv4). Nodes (hosts and routers) use Neighbor Discovery to determine the link-layer addresses for neighbors known to reside on attached links and to quickly purge cached values that become invalid. Hosts also use Neighbor Discovery to find neighboring routers that are willing to forward packets on their behalf. Finally, nodes use the protocol to actively keep track of which neighbors are reachable and which are not, and to detect changed link-layer addresses. Neighbor discovery defines mechanisms for solving each of the following problems:

Router Discovery: How hosts locate routers that reside on an attached link. Prefix Discovery: How hosts discover the set of address prefixes that define which destinations are onlink for an attached link. (Nodes use prefixes to distinguish destinations that reside on-link from those only reachable through a router.)

Parameter Discovery: How a node learns such link parameters as the link MTU or such Internet
parameters as the hop limit value to place in outgoing packets.

Address Auto configuration: How nodes automatically configure an address for an interface. Address Resolution: How nodes determine the link-layer address of an on-link destination (e.g., a
neighbor) given only the destination's IP address.

Next-hop Determination: The algorithm for mapping an IP destination address into the IP address of the
neighbor to which traffic for the destination should be sent. The next-hop can be a router or the destination itself.

Neighbor Unreachability Detection: How nodes determine that a neighbor is no longer reachable. For
neighbors used as routers, alternate default routers can be tried. For both routers and hosts, address resolution can be performed again.

Duplicate Address Detection: How a node determines that an address it wishes to use is not already in
use by another node.

Redirect: How a router informs a host of a better first-hop node to reach a particular destination.
Neighbor Discovery defines five different ICMP packet types: A pair of Router Solicitation and Router Advertisement messages, a pair of Neighbor Solicitation and Neighbor Advertisements messages, and a Redirect message. The messages serve the following purpose:

Router Solicitation: When an interface becomes enabled, hosts may send out Router Solicitations that
request routers to generate Router Advertisements immediately rather than at their next scheduled time.

Router Advertisement: Routers advertise their presence together with various link and Internet
parameters either periodically, or in response to a Router Solicitation message. Router Advertisements contain prefixes that are used for on-link determination and/or address configuration, a suggested hop limit value, etc.

Neighbor Solicitation: Sent by a node to determine the link-layer address of a neighbor, or to verify that
a neighbor is still reachable via a cached link-layer address. Neighbor Solicitations are also used for Duplicate Address Detection.

QualNet 5.1 Developer Model Library

99

Neighbor Discovery Protocol

Chapter 3

Neighbor Advertisement: A response to a Neighbor Solicitation message. A node may also send
unsolicited Neighbor Advertisements to announce a link-layer address change.

Redirect: Used by routers to inform hosts of a better first hop for a destination which has been
discussed in the ICMPv6 section as well.

3.8.2 Features and Assumptions


This section describes the implemented features, omitted features, assumptions and limitations of the Neighbor Discovery protocol.

3.8.2.1 Implemented Features Router Solicitation Router Advertisements Neighbor Solicitation Neighbor Advertisements Redirect message Option Features (Link-layer address, Prefix information, Redirected header, MTU). Neighbor Unreachability Detection for garbage collection of stale and unused entries. 3.8.2.2 Omitted Features Proxy Neighbor Advertisements. Anycast Neighbor Advertisements. Manual configuration of different variables for host and routers. Address Autoconfiguration mechanism. Duplicate Address Detection mechanism. Handling link-layer address change. Sending Unsolicited Neighbor Advertisements. Policy for Selecting Router from Default Router List. Inbound load balancing. 3.8.2.3 Assumptions and Limitations The M and O bits under ICMP fields in Router Advertisement message are not set. Router lifetime is not considered. The L and A bits under Prefix Information fields in Router Advertisement message are not set. 4) Valid
lifetime and preferred lifetime are not considered.

Link-Layer Address is created using 24 bits of node id and 8 bits of interface id. Security associations are assumed to be not present.

100

QualNet 5.1 Developer Model Library

Chapter 3

Neighbor Discovery Protocol

3.8.3 Command Line Configuration


The Neighbor Discovery protocol is automatically enabled if IPv6 is enabled (see Section 3.7. for details). Neighbor Discovery Protocol Parameters Table 3-43shows the Neighbor Discovery Protocol configuration parameters. See Section 1.2.1.3 for a description of the format used for the parameter table TABLE 3-43. Parameter NDP-STATISTICS
Optional Scope: Global, Node List YES NO Default: NO

Neighbor Discovery Protocol Parameters Value Description


Indicates whether statistics are collected for NDP protocol.

3.8.4 GUI Configuration


The Neighbor Discovery protocol is automatically enabled if IPv6 is enabled (see Section 3.7. for details). Configuring Statistics Parameters Statistics for the Neighbor Discovery protocol can be collected at the global, node, and interface levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for the Neighbor Discovery protocol, check the box labeled NDP in the appropriate properties editor.

TABLE 3-44. Command Line Equivalent of Statistics Parameters GUI Parameter


NDP

Scope of GUI Parameter


Global, Node

Command Line Parameter


NDP-STATISTICS

3.8.5 Statistics
Table 3-45 lists the Neighbor Discovery protocol statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 3-45. Statistic
Number of Router Solicitation Messages Sent Number of Router Advertisement Messages Sent Number of Neighbor Solicitation Messages Sent Number of Neighbor Advertisement Messages Sent Number of Redirect Messages Sent Number of Router Solicitation Messages Received

Neighbor Discovery Protocol Statistics Description


Number of Router Solicitation Messages Sent Number of Router Advertisement Messages Sent Number of Neighbor Solicitation Messages Sent Number of Neighbor Advertisement Messages Sent Number of Redirect Messages Sent Number of Router Solicitation Messages Received

QualNet 5.1 Developer Model Library

101

Neighbor Discovery Protocol TABLE 3-45. Statistic


Number of Router Advertisement Messages Received Neighbor Solicitation Messages Received Neighbor Advertisement Messages Received Number of Invalid Router Solicitation Messages Received Number of Invalid Router Advertisement Messages Received Number of Invalid Neighbor Solicitation Messages Received Number of Invalid Neighbor Advertisement Messages Received Number of Invalid Redirect Messages Received

Chapter 3 Neighbor Discovery Protocol Statistics (Continued) Description


Number of Router Advertisement Messages Received Number of Neighbor Solicitation Messages Received Number of Neighbor Advertisement Messages Received Number of Bad Router Solicitation Messages Received Number of Bad Router Advertisement Messages Received Number of Bad Neighbor Solicitation Messages Received Number of Bad Neighbor Advertisement Messages Received Number of Bad Redirect Messages Received

3.8.6 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the Neighbor Discovery protocol. All scenarios are located in the directory QUALNET_HOME/scenarios/developer/ipv6/ndp-functionality. Table 3-46 lists the sub-directory where each scenario is located. TABLE 3-46. Scenario
ndp-link ndp-subnet ndp-subnet-link

Neighbor Discovery Protocol Scenarios Included in QualNet Description

Shows the NDP functionality of IPv6 when all the nodes are connected through point-topoint links. Shows the NDP functionality of IPv6 when two different subnets are connected through two routers. Shows the NDP functionality of IPv6 when a single subnet is connected with two routers to two different links.

3.8.7 References
1. RFC 2461, Neighbor Discovery for IP Version 6 (IPv6), T. Narten, E. Nordmark, W. Simpson. December 1998 2. RFC 2460, Internet Protocol, Version 6 (IPv6) Specification, S. Deering, R. Hinden. December 1998. 3. RFC 2462, IPv6 Stateless Address Autoconfiguration, S. Thomson, T. Narten. December 1998. 4. RFC 2463, Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification, A. Conta, S. Deering. December 1998.

102

QualNet 5.1 Developer Model Library

Unicast Routing Protocol Models

This chapter describes features, configuration requirements and parameters, statistics, and scenarios for Unicast Routing Protocol Models, and consists of the following sections: Bellman-Ford Routing Protocol Routing Information Protocol next generation (RIPng) Routing Information Protocol/Routing Information Protocol version 2 (RIP/RIPv2) Static and Default Routes

QualNet 5.1 Developer Model Library

103

Bellman-Ford Routing Protocol

Chapter 4

.........................................................................
4.1 Bellman-Ford Routing Protocol
4.1.1 Description
This is a generic Bellman-Ford (a.k.a. Ford Fulkerson) routing algorithm. This algorithm is the underlying mechanism of Routing Information Protocol (RIP), but this protocol is not RIPv2-compliant. It is a distance vector routing algorithm that uses the User Datagram Protocol (UDP) for control packet transmission.

4.1.2 Command Line Configuration


To select Bellman-Ford as the routing protocol, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] ROUTING-PROTOCOL BELLMANFORD

The scope of this parameter declaration can be Global, Node, Subnet, or Interface. See Section 1.2.1.1 for a description of <Qualifier> for each scope. Configuration Requirements In order to use Bellman-Ford, IPv4 must be enabled, i.e., NETWORK-PROTOCOL must be set to IPv4, DUAL-IP, CELLULAR-LAYER3, or GSM-LAYER3. Bellman-Ford Parameters Table 4-1 shows the Bellman-Ford configuration parameters. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 4-1. Parameter ROUTING-STATISTICS


Optional Scope: Global, Node List: YES NO

Bellman-Ford Parameters Description


Indicates whether statistics are collected for routing protocols.

Value

Default: NO List: YES NO Default: NO Indicates whether packet tracing is enabled for Bellman-Ford. Note: To enable packet tracing, some other parameters need to be configured as well. Refer to Section 4.2.10 of QualNet Users Guide for details.

TRACE-BELLMANFORD
Optional Scope: Global, Node

104

QualNet 5.1 Developer Model Library

Chapter 4

Bellman-Ford Routing Protocol

4.1.3 GUI Configuration


This section describes how to configure Bellman Ford in the GUI. Configuring Bellman Ford Parameters To configure the Bellman Ford parameters, perform the following steps: 1. Go to one of the following locations:

To set properties for a specific wireless subnet, go to Wireless Subnet Properties Editor >
Routing Protocol > General.

To set properties for a specific wired subnet, go to Wired Subnet Properties Editor > Routing
Protocol > General.

To set properties for a specific point-to-point link, go to Point-to-point Link Properties Editor >
Point-to-point Link Properties > Routing Protocol.

To set properties for a specific node, go to Default Device Properties Editor > Node
Configuration > Routing Protocol.

To set properties for a specific interface of a node, go to one of the following locations: - Interface Properties Editor > Interfaces > Interface # > Routing Protocol - Default Device Properties Editor > Interfaces > Interface # > Routing Protocol.
In this section, we show how to configure Bellman Ford parameters for a specific node using the Default Device Properties Editor. Parameters can be set in the other properties editors in a similar way. 2. Set Routing Protocol IPv4 to Bellman Ford.

FIGURE 4-1.

Setting Routing Protocol to Bellman Ford

QualNet 5.1 Developer Model Library

105

Bellman-Ford Routing Protocol

Chapter 4

Configuring Statistics Parameters Statistics for Bellman Ford can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for routing protocols including Bellman Ford, check the box labeled Routing in the appropriate properties editor. TABLE 4-2. GUI Parameter
Routing

Command Line Equivalent of Statistics Parameters Scope of GUI Parameter


Global, Node

Command Line Parameter


ROUTING-STATISTICS

Configuring Packet Tracing Parameters Packet tracing for Bellman Ford can be enabled at the global level. To enable packet tracing for Bellman Ford, in addition to setting the Bellman Ford trace parameter, Trace BELLMANFORD, several other trace parameters also need to be set. See Section 4.2.10 of QualNet Users Guide for details of configuring packet tracing parameters. TABLE 4-3. GUI Parameter
Trace BELLMANFORD

Command Line Equivalent of Packet Tracing Parameters Scope of GUI Parameter


Global, Node

Command Line Parameter


TRACE-BELLMANFORD

4.1.4 Statistics
Table 4-4 lists the Bellman-Ford statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 4-4. Statistic
Number of periodic updates sent Number of triggered updates sent Number of route timeouts Number of update packets received

Bellman-Ford Statistics Description


Total number of periodic update messages sent. Total number of triggered update messages sent. Total number of route timeouts occurred. Total number of update packets received.

106

QualNet 5.1 Developer Model Library

Chapter 4

Routing Information Protocol next generation (RIPng)

.........................................................................
4.2 Routing Information Protocol next generation (RIPng)
4.2.1 Description
RIPng is a proactive Interior Gateway Protocol based on the distance-vector algorithm. RIPng is intended for use within the IPv6-based Internet. As it is a distance-vector routing protocol, it forms routing tables by exchanging routing table information with each router. There are two types of updates. One is a Regular update, which is periodically sent and contains the whole routing table information. The other is a Triggered update, which is sent when a router's routing table changes and contains only those routing entities which have been modified. When a router receives a packet, it updates its routing table and if its routing table has changed, it sends a triggered update to its neighbor router.

4.2.2 Command Line Configuration


To select RIPng as the routing protocol, specify the following parameter(s) in the scenario configuration (.config) file:

For a dual IP-node, use the following parameter:


[<Qualifier>] ROUTING-PROTOCOL-IPv6 RIPng

For an IPv6 node, use either of the following parameters:


[<Qualifier>] ROUTING-PROTOCOL or [<Qualifier>] ROUTING-PROTOCOL-IPv6 RIPng The scope of this parameter declaration can be Global, Node, Subnet, or Interface. See Section 1.2.1.1 for a description of <Qualifier> for each scope. Configuration Requirements In order to use RIPng, IPv6 must be enabled, i.e., NETWORK-PROTOCOL must be set to IPv6 or DUAL-IP. RIPng

QualNet 5.1 Developer Model Library

107

Routing Information Protocol next generation (RIPng)

Chapter 4

RIPng Parameters Table 4-5 shows the parameters used by RIPng. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 4-5. Parameters SPLIT-HORIZON


Optional Scope: All List: NO SIMPLE POISONEDREVERSE

RIPng Parameters Description


Split horizon method used to prevent route loops. NO SIMPLE : No split horizon : When sending route updates to a neighbor, omit those entries that are learned from that neighbor (i.e., routes with that neighbor as the next hop)

Value

Default: SIMPLE

POISONEDREVERSE : Instead of omitting those routes as in the simple split horizon scheme, those route entries will be included in the route updates. However, the metrics of those routes are set to infinity.

ROUTING-STATISTICS
Optional Scope: Global, Node

List: YES NO Default: NO List: YES NO Default: NO

Indicates whether routing protocol statistics are collected.

TRACE-RIPNG
Optional Scope: Global, Node

Indicates whether packet tracing is enabled for RIPng. Note: To enable packet tracing, some other parameters need to be configured as well. Refer to Section 4.2.10 of QualNet Users Guide for details.

4.2.3 GUI Configuration


This section describes how to configure RIPng in the GUI. Configuring RIPng Parameters To configure the RIPng parameters, perform the following steps: 1. Go to one of the following locations:

To set properties for a specific wireless subnet, go to Wireless Subnet Properties Editor >
Routing Protocol > General.

To set properties for a specific wired subnet, go to Wired Subnet Properties Editor > Routing
Protocol > General.

To set properties for a specific point-to-point link, go to Point-to-point Link Properties Editor >
Point-to-point Link Properties > Routing Protocol.

108

QualNet 5.1 Developer Model Library

Chapter 4

Routing Information Protocol next generation (RIPng)

To set properties for a specific node, go to Default Device Properties Editor > Node
Configuration > Routing Protocol.

To set properties for a specific interface of a node, go to one of the following locations: - Interface Properties Editor > Interfaces > Interface # > Routing Protocol - Default Device Properties Editor > Interfaces > Interface # > Routing Protocol.
In this section, we show how to configure RIPng parameters for a specific node using the Default Device Properties Editor. Parameters can be set in the other properties editors in a similar way. 2. Set Routing Protocol IPv6 to RIPng and set the dependent parameters listed in Table 4-6.

FIGURE 4-2.

Setting Routing Protocol to RIPng

TABLE 4-6. GUI Parameter


Split Horizon

Command Line Equivalent of RIPng Parameters Scope of GUI Parameter


Node, Subnet, Interface

Command Line Parameter


SPLIT-HORIZON

Configuring Statistics Parameters Statistics for RIPng can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for routing protocols including RIPng, check the box labeled Routing in the appropriate properties editor.

QualNet 5.1 Developer Model Library

109

Routing Information Protocol next generation (RIPng)

Chapter 4

TABLE 4-7. GUI Parameter


Routing

Command Line Equivalent of Statistics Parameters Scope of GUI Parameter


Global, Node

Command Line Parameter


ROUTING-STATISTICS

Configuring Packet Tracing Parameters Packet tracing for RIPng can be enabled at the global level. To enable packet tracing for RIPng, in addition to setting the RIPng trace parameter, Trace RIPng, several other trace parameters also need to be set. See Section 4.2.10 of QualNet Users Guide for details of configuring packet tracing parameters.

TABLE 4-8. GUI Parameter


TRACE RIPng

Command Line Equivalent of Packet Tracing Parameters Scope of GUI Parameter


Global

Command Line Parameter


TRACE-RIPNG

4.2.4 Statistics
This section describes the file and dynamic statistics of the RIPng model.

4.2.4.1 File Statistics


Table 4-9 lists the RIPng statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 4-9. Statistic
RegularUpdateEvents TriggeredUpdateEvents RouteTimeouts ResponsesReceived RegularPacketSent TriggeredPacketSent

RIPng Statistics Description


Number of regular update events. Number of triggered update events. Number of times route time out occurred. Number of response packets received. Number of regular updates packet sent. Number of triggered updates packet sent.

4.2.4.2 Dynamic Statistics


The following dynamic statistics are enabled for the RIPng model (refer to Chapter 6 of QualNet Users Guide for details of viewing dynamic statistics in the GUI during the simulation):

Number of Regular Update Events Number of Triggered Update Events Number of Route Timeout Events Number of Received Response Packets Number of Regular Update Packets Sent

110

QualNet 5.1 Developer Model Library

Chapter 4

Routing Information Protocol next generation (RIPng)

Number of Triggered Update Packets Sent

4.2.5 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the RIPng protocol. All scenarios are located in the directory QUALNET_HOME/scenarios/developer/ripng. Table 4-10 lists the sub-directory where each scenario is located. TABLE 4-10. Scenario
sample-1 sample-2 sample-3 sample-4 sample-5 sample-6 sample-7 sample-8 sample-9 sample-10

RIPng Scenarios Included in QualNet Description

Shows RIPng behavior with respect to processing of response messages. Shows the processing used to create response messages that contain all or part of the routing table. Shows the RIPng behavior with respect to split horizon mechanism. Shows the functionality of RIPng routing using IPv6. Shows RIPng behavior with simple split horizon during single interface failure. Shows RIPng behavior during interface failure. Shows the RIPng behavior with split horizon mechanism with poisoned reverse. Shows RIPng behavior during link failure. Shows RIPng behavior for large number of hosts in a subnet. Shows RIPng behavior without split horizon mechanism.

QualNet 5.1 Developer Model Library

111

Routing Information Protocol/Routing Information Protocol version 2 (RIP/RIPv2)

Chapter 4

.........................................................................
4.3 Routing Information Protocol/Routing Information Protocol version 2 (RIP/RIPv2)
4.3.1 Description
RIP or RIPv2 are internet standard implementations of the Bellman-Ford (a.k.a. Ford Fulkerson) routing algorithm. It is a distance vector routing algorithm using the User Datagram Protocol (UDP) protocol for control packet transmission.

4.3.2 Command Line Configuration


To select RIP/RIPv2 as the routing protocol, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] ROUTING-PROTOCOL RIP

The scope of this parameter declaration can be Global, Node, Subnet, or Interface. See Section 1.2.1.1 for a description of <Qualifier> for each scope. Configuration Requirements In order to use RIP/RIPv2, IPv4 must be enabled, i.e., NETWORK-PROTOCOL must be set to IPv4, DUALIP, CELLULAR-LAYER3, or GSM-LAYER3. RIP Parameters Table 4-11 describes the RIP/RIPv2 configuration parameters. See Section 1.2.1.3 for a description of the format used for the parameter table.

112

QualNet 5.1 Developer Model Library

Chapter 4

Routing Information Protocol/Routing Information

TABLE 4-11. Parameter RIP-VERSION


Optional Scope: All List: 1 2 Default: 2 List:

RIP/RIPv2- Parameters Description


Appropriate version of RIP is selected based on the value.

Value

SPLIT-HORIZON
Optional Scope: All

Split horizon method used to prevent route loops. NO SIMPLE : No split horizon : When sending route updates to a neighbor, omit those entries that are learned from that neighbor (i.e., routes with that neighbor as the next hop)

NO SIMPLE POISONEDREVERSE Default: SIMPLE

POISONEDREVERSE : Instead of omitting those routes as in the simple split horizon scheme, those route entries will be included in the route updates. However, the metrics of those routes are set to infinity.

ROUTING-STATISTICS
Optional Scope: Global, Node

List: YES NO Default: NO

Indicates whether routing protocol statistics are collected.

4.3.3 GUI Configuration


This section describes how to configure RIP/RIPv2 in the GUI. Configuring RIP/RIPv2 Parameters To configure the RIP/RIPv2 parameters, perform the following steps: 1. Go to one of the following locations:

To set properties for a specific wireless subnet, go to Wireless Subnet Properties Editor >
Routing Protocol > General.

To set properties for a specific wired subnet, go to Wired Subnet Properties Editor > Routing
Protocol > General.

To set properties for a specific point-to-point link, go to Point-to-point Link Properties Editor >
Point-to-point Link Properties > Routing Protocol.

To set properties for a specific node, go to Default Device Properties Editor > Node
Configuration > Routing Protocol.

To set properties for a specific interface of a node, go to one of the following locations: - Interface Properties Editor > Interfaces > Interface # > Routing Protocol - Default Device Properties Editor > Interfaces > Interface # > Routing Protocol.

QualNet 5.1 Developer Model Library

113

Routing Information Protocol/Routing Information Protocol version 2 (RIP/RIPv2)

Chapter 4

In this section, we show how to configure RIP/RIPv2 parameters for a specific node using the Default Device Properties Editor. Parameters can be set in the other properties editors in a similar way. 2. Set Routing Protocol IPv4 to RIP and set the dependent parameters listed in Table 4-12.

FIGURE 4-3.

Setting Routing Protocol to RIP/RIPv2

TABLE 4-12. GUI Parameter


Version Split Horizon

Command Line Equivalent of RIP/RIPv2 Parameters Scope of GUI Parameter Command Line Parameter
RIP-VERSION SPLIT-HORIZON

Node, Subnet, Interface Node, Subnet, Interface

114

QualNet 5.1 Developer Model Library

Chapter 4

Routing Information Protocol/Routing Information

Configuring Statistics Parameters Statistics for RIP/RIPv2 can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for routing protocols including RIP/RIPv2, check the box labeled Routing in the appropriate properties editor.

TABLE 4-13. Command Line Equivalent of Statistics Parameters GUI Parameter


Routing

Scope of GUI Parameter


Global, Node

Command Line Parameter


ROUTING-STATISTICS

4.3.4 Statistics
This section describes the file and dynamic statistics of the RIP/RIPv2 model.

4.3.4.1 File Statistics


Table 4-14 lists the RIP/RIPv2 statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 4-14. Statistic
Regular Update Events Triggered Update Events Route Timeout Events Response Packets Received Regular Update Packets Sent Triggered Update Packets Sent

RIP/RIPv2 Statistics Description


Number of regular update events. Number of Triggered Update Events Number of Route Timeout Events Number of Response Packets Received Number of Regular Update Packets Sent Number of Triggered Update Packets Sent

4.3.4.2 Dynamic Statistics


The following dynamic statistics are enabled for the RIP/RIPv2 model (refer to Chapter 6 of QualNet Users Guide for details of viewing dynamic statistics in the GUI during the simulation):

Number of Regular Update Events Number of Triggered Update Events Number of Route Timeout Events Number of Received Response Packets Number of Regular Update Packets Sent Number of Triggered Update Packets Sent

QualNet 5.1 Developer Model Library

115

Routing Information Protocol/Routing Information Protocol version 2 (RIP/RIPv2)

Chapter 4

4.3.5 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the RIP/RIPv2 model. All scenarios are located in the directory QUALNET_HOME/scenarios/developer/rip Table 4-15 lists the sub-directory where each scenario is located. TABLE 4-15. Scenario
version-1/output-processing/bs1 version-1/output-processing/ns1 version-1/response-processing/ns1 version-1/response-processing/ns3 version-1/split-horizon/ns1 version-1/split-horizon/ns2 version-2/output-processing/bs1 version-2/output-processing/ns1 version-2/response-processing/ns1 version-2/response-processing/ns3 version-2/split-horizon/ns1 version-2/split-horizon/ns2

RIP/RIPv2 Scenarios Included in QualNet Description


Shows the processing used to create response messages that contain all or part of the routing table. Shows the processing used to create response messages that contain all or part of the routing table. Shows the processing of response messages. Shows the processing of response messages. Shows the split horizon mechanism. Shows the split horizon mechanism. Shows the processing used to create response messages that contain all or part of the routing table. Shows the processing used to create response messages that contain all or part of the routing table. Shows the processing of response messages. Shows the processing of response messages. Shows the split horizon mechanism. Shows the split horizon mechanism.

116

QualNet 5.1 Developer Model Library

Chapter 4

Static and Default Routes

.........................................................................
4.4 Static and Default Routes
4.4.1 Description
QualNet allows users to specify static routes that take precedence over those discovered by any routing protocols. These routes remain fixed throughout the simulation, even if network conditions (mobility, link failures) render the route useless, causing packet drops. There are also no route acquisition related overheads with static routes, such as packet transmissions, receptions, computational overhead for producing routes, or route acquisition delays that would normally be present using a traditional routing model. If no routing protocol is running on the node, and there is no static or default route to a given destination, corresponding packets will be dropped. If a node is configured to use an on-demand routing protocol, then only routes discovered by the routing protocol are used even if static and/or default routes are enabled at the node. If a node is configured to use a proactive routing protocol and static routes are enabled at the node, then the static routes take precedence over routes discovered by the routing protocol. If static routes are disabled at a node and the node is not configured to use any routing protocol, then default routes are used.

4.4.2 Command Line Configuration


4.4.2.1 Static Routes
To enable static routes, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] STATIC-ROUTE YES

The scope of this parameter declaration can be Global or Node. See Section 1.2.1.1 for a description of <Qualifier> for each scope.. Note: By default, static routes are not enabled.

Static Route Parameters Table 4-16 lists the static route parameters specified in the scenario configuration (.config) file. See Section 1.2.1.3 for a description of the format used for the parameter table. TABLE 4-16. Parameters STATIC-ROUTE-FILE
Required Scope: Global, Node

Static Route Parameters Description


Name of the static route file. The format of the static route file is described in Section 4.4.2.3.

Value
Filename

QualNet 5.1 Developer Model Library

117

Static and Default Routes

Chapter 4

4.4.2.2 Default Routes


To enable default routes, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] DEFAULT-ROUTE YES

The scope of this parameter declaration can be Global or Node. See Section 1.2.1.1 for a description of <Qualifier> for each scope.. Note: By default, default routes are not enabled.

Default Route Parameters Table 4-17 lists the default route parameters specified in the scenario configuration (.config) file. See Section 1.2.1.3 for a description of the format used for the parameter table. TABLE 4-17. Parameters DEFAULT-ROUTE-FILE
Required Scope: Global, Node

Default Route Parameters Description


Name of the default route file. The format of the default route file is described in Section 4.4.2.3.

Value
Filename

4.4.2.3 Format of Static and Default Route Files


Both the static route file and the default route file have the same format. Each line in either of these files has the following syntax: <Node ID> <Destination Address> <Next Hop> where <Node ID> <Destination Address> <Next Hop> Examples 1. The following is an example of a static/default route file for an IPv4 network. In the following example, packets from node 1 to the networks 0.0.2.0 and 0.0.3.0 use node 1's outgoing interface identified by the IP Address 0.0.1.2. 1 N2-2.0 1.2 1 N2-3.0 1.2 Node identifier. Destination address. This can be either a host IP address or a network IP address. IP address of the next hop.

118

QualNet 5.1 Developer Model Library

Chapter 4

Static and Default Routes

2. The following is an example of a static/default route file for an IPv6 network. In the following example, packets from node 1 to the networks TLA-0.NLA-0.SLA-2 and TLA-0.NLA-0.SLA-3 use node 1's outgoing interface identified by the IPv6 Address 2000::1:0:0:0:2. 1 TLA-0.NLA-0.SLA-2 2000::1:0:0:0:2 1 TLA-0.NLA-0.SLA-3 2000::1:0:0:0:2

4.4.3 GUI Configuration


This section describes how to configure static and default routes in the GUI. 5.1.5.1 Configuring Static Routes To configure static routes, perform the following steps: 1. Go to Default Device Properties Editor > Node Configuration > Routing Protocol. 2. Set Specify Static Routes to Yes, and set the dependant parameters listed in Table 4-18.

FIGURE 4-4.

Configuring Static Routes

TABLE 4-18. GUI Parameter


Static Route File

Command Line Equivalent of Static Route Parameters Scope of GUI Parameter


Node

Command Line Parameter


STATIC-ROUTE-FILE

QualNet 5.1 Developer Model Library

119

Static and Default Routes Setting Parameters

Chapter 4

Set Static Route File to specify the name of the static route file. The format of the static route file is
described in Section 4.4.2.3. 5.1.5.2 Configuring Default Routes To configure default routes, perform the following steps: 1. Go to Default Device Properties Editor > Node Configuration > Routing Protocol. 2. Set Specify Default Routes to Yes, and set the dependant parameters listed in Table 4-19.

FIGURE 4-5.

Configuring Default Routes

TABLE 4-19. GUI Parameter


Default Route File

Command Line Equivalent of Default Route Parameters Scope of GUI Parameter


Node

Command Line Parameter


DEFAULT-ROUTE-FILE

Setting Parameters

Set Default Route File to specify the name of the static route file. The format of the default route file
is described in Section 4.4.2.3.

120

QualNet 5.1 Developer Model Library

Chapter 4

Static and Default Routes

4.4.4 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for Static and Default routes. All scenarios are located in the directory QUALNET_HOME/scenarios/developer/dualip/gui-sample. Table 4-20 lists the sub-directory where each scenario is located. TABLE 4-20. Scenario
gui-sample

Static and Default Routing Scenarios Included in QualNet Description


Shows the functionality of static and default routing.

QualNet 5.1 Developer Model Library

121

Multicast Routing Protocol Models

This chapter describes features, configuration requirements and parameters, statistics, and scenarios for Multicast Routing Protocol Models, and consists of the following sections:

Static Multicast Routes Multicast Dissemination Protocol (MDP)

QualNet 5.1 Developer Model Library

122

Chapter 5

Static Multicast Routes

.........................................................................
5.1 Static Multicast Routes
5.1.1 Description
Static multicast routes are user-configured multicast routes. User can configure these routes in multicast static route file. QualNet Static Multicast Routes model supports both IPv4 and IPv6.

5.1.2 Command Line Configuration


To enable static multicast routes, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] MULTICAST-STATIC-ROUTE YES

The scope of this parameter declaration can be Global or Node. See Section 1.2.1.1 for a description of <Qualifier> for each scope.. Note: By default, static multicast routes are not enabled.

Static Multicast Routes Parameters Table 5-1 lists the static multicast routes parameters. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 5-1. Parameters MULTICAST-STATIC-ROUTEFILE


Required Scope: Global, Node

Static Multicast Routes Parameters Value Description


Name of the multicast static route file. The format of the static route file is described in Section 5.1.2.1.

Filename

5.1.2.1 Format of the Static Multicast Route File


Each line of the static multicast route file has the following format: <node ID> <source-address> <multicast-address> <interface-addresses> where: <node ID> <source-address> <multicast-address> <interface-addresses> Examples 1. The following is an example of a static multicast route file for an IPv4 network. Node 1 will forward each multicast packet from source 192.168.0.1 to multicast group destination 225.0.0.1 on outgoing Node ID. Source address. Destination multicast group address. List of space-separated outgoing interface addresses.

QualNet 5.1 Developer Model Library

123

Static Multicast Routes

Chapter 5

interface 192.168.0.1. Node 2 will forward each multicast packet from source 192.168.0.1 to multicast group destination 225.0.0.1 on outgoing interfaces 192.168.0.2 and 192.168.1.2. 1 192.168.0.1 225.0.0.1 192.168.0.1 2 192.168.0.1 225.0.0.1 192.168.0.2 192.168.1.2 2. The following is an example of a static multicast route file for an IPv6 network. Node 1 will forward each multicast packet from source 1000:1::1 to multicast group destination ff12::3 on outgoing interface 1000:1::1. Node 2 will forward each multicast packet from source 1000:1::1 to multicast group destination ff12::3 on outgoing interfaces 1000:2::1 and 1000:5::1. 1 1000:1::1 2 1000:1::1 ff12::3 ff12::3 1000:1::1 1000:2::1

1000:5::1

5.1.3 GUI Configuration


To configure static multicast routes for a particular node, perform the following steps: 1. Go to Default Device Properties Editor > Node Configuration > Routing Protocol. 2. Set Enable Multicast to Yes.

FIGURE 5-1.

Enabling Multicast

3. Set Specify Static Multicast Routes to Yes, and set the dependent parameters listed in Table 5-2.

124

QualNet 5.1 Developer Model Library

Chapter 5

Static Multicast Routes

FIGURE 5-2.

Configuring Static Multicast Routes

TABLE 5-2. GUI Parameter


Static Multicast Route File

Command Line Equivalent of Static Multicast Route Parameters Scope of GUI Parameter
Node

Command Line Parameter


MULTICAST-STATIC-ROUTE-FILE

Setting Parameters

Set Static Multicast Route File to the name of the multicast static route file. The format of the
multicast static route file is described in Section 5.1.2.1.

5.1.4 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for Static Multicast routes. All scenarios are located in the directory QUALNET_HOME/scenarios/developer/ipv6. Table 5-3 lists the sub-directory where each scenario is located. TABLE 5-3. Scenario
static-multicast

Static Multicasting Scenarios Included in QualNet Description

Shows the functionality of Static-multicast in IPv6 network.

QualNet 5.1 Developer Model Library

125

Static Multicast Routes

Chapter 5

126

QualNet 5.1 Developer Model Library

Chapter 5

Multicast Dissemination Protocol

.........................................................................
5.2 Multicast Dissemination Protocol
5.2.1 Description
The Multicast Dissemination Protocol (MDP) is a transport protocol which allows data to be reliably transmitted from a source (server) to a set of receivers on top of the generic UDP/IP multicast transport. MDP is well suited for reliable multicast bulk transfer of data across a heterogeneous inter-network. At its core, it is an efficient negative acknowledgement (NACK) based reliable multicast protocol and also includes an optional adaptive end-to-end rate-based congestion control mode. The MDP framework consists of both receiver and source software modules. Multicast receivers wishing to subscribe to a multicast file dissemination service require the receiver module, while dissemination sources require the source module functionality. MDP mainly uses selective negative acknowledgement (NACK) of missing data by receivers (clients) to enforce reliability. The NACK approach is used for maintaining multicast protocol efficiency and scalability. Redundant NACK transmissions are suppressed among a group of receivers using probabilistic techniques. In conjunction with selective NACK, the MDP model uses a parity-based repairing mechanism based upon packet-level forward error correction coding concepts. The use of parity-based erasure repairing for multicast selective retransmission offers significant performance advantages (especially in error-prone wireless environments or across scaled WAN sessions). In MDP, encoded parity repair packets are normally sent only in response to repair requests by receivers. Therefore, the algorithm adds no additional protocol overhead above pure selective retransmission methods. However, the protocol may be optionally configured to transmit proactive repair packets as part of the original data transmission block. In addition to its pure NACK-based mode of operation, MDP provides an optional mode for a source to request positive acknowledgment (ACK) or receipt of individual transport objects from a specific set of receivers in the group. The list of receivers providing receipt acknowledgement is determined by the server application with a priori knowledge of participating nodes and/or by receivers which indicate an ACKing status with a flag in their MDP_REPORT messages. Positive acknowledgment can be requested for all transport objects sent by the server or may be applied at certain "watermark" progress points in the course of transmission of a series (stream) of transport objects. The MDP allows senders and receivers to dynamically join and leave multicast sessions with a minimal amount of overhead for control information and timing synchronization among participants. As a result of this requirement, MDP protocol message headers contain some common information allowing receivers to easily synchronize with sources on a dynamic, ad hoc basis. In its common mode of operation, the MDP protocol uses multicast delivery mechanisms for both source and receiver transmissions, but the protocol permits optional unicast-based client feedback to MDP data sources. Optional unicast feedback may be suitable for use in asymmetric networks or in networks where only unidirectional multicast routing/delivery service exists. MDP also provides some useful protocol features, such as Emission Controlled (EMCON) or "silent" mode of client operation. In EMCON mode, receiving nodes are able to receive messages but they are not able to acknowledge the reception of these messages. When it is not possible or desirable for the client nodes to transmit messages back to the server node, or if delivery delay is of paramount concern, the protocol can provide proactive parity data for more effective unidirectional repairing. This is an optional feature which can be configured in the model. The MDP model provides support for basic EMCON modes of operation.

QualNet 5.1 Developer Model Library

127

Multicast Dissemination Protocol

Chapter 5

MDP was used under a variety of heterogeneous network architectures. Targeted operational factors that were key considerations for MDP are:

Use in heterogeneous, WAN infrastructures Use in mobile and wireless network conditions Operation in asymmetric delivery scenarios Support for small to large group sizes Support for group dynamics

5.2.2 Features and Assumptions


This section describes the implemented features, omitted features, assumptions and limitations of the MDP model.

5.2.2.1 Implemented Features One-to-many bulk data multicast dissemination Selective negative acknowledgement (NACK) NACK backoff to avoid receiver message implosion Aggregation of control messaging for bandwidth efficiency Automated group round-trip timing Support for asymmetric operation Parity-based repair mechanism Adaptive end-to-end rate-based congestion control Optional positive receipts from selected receivers Support for EMCON (silent clients) mode 5.2.2.2 Omitted Features
None.

5.2.2.3 Assumptions and Limitations


MDP is supported only for the following applications:

Constant Bit Rate (CBR) Forward Application Traffic Generator (Forward-App), which is a special application for use only with
external interfaces

Multicast Constant Bit Rate Traffic Generator (MCBR) Super Application Traffic Generator (Super-App) in single-host and client-server modes Traffic Generator (Traffic-Gen) in single-host and client-server modes Trace File-based Traffic Generator (Traffic-Trace) in single-host and client-server modes Variable Bit Rate (VBR)

5.2.3 Supplemental Information


None.

128

QualNet 5.1 Developer Model Library

Chapter 5

Multicast Dissemination Protocol

5.2.4 Command Line Configuration


Running an application with MDP requires two steps:

Defining MDP Profiles: An MDP profile specifies the values of a set of MDP session control
parameters. MDP profiles are defined in the MDP profile file. If no MDP profiles are defined, then default values for MDP session control parameters are used for an MDP-enabled application.

Enabling MDP and Specifying MDP Profile: MDP can be enabled for a specific application in the
application configuration file. To run Forward-App with MDP, MDP must be also enabled at the node. Similarly, the MDP profile to be used with an application session can be specified in the application configuration file or a default MDP profile can be associated with the node. Parameters for configuring MDP are specified in the following files:

Scenario Configuration File: Parameters for enabling MDP and for associating default MDP profiles
with nodes are specified in the scenario configuration (.config) file.

Application Configuration File: To use an application with MDP, MDP-specific parameters are added
in the application configuration (.app) file. See the description of the applications that support MDP for details.

MDP Profile File: Different MDP profiles are defined using the MDP profile file. 5.2.4.1 MDP Parameters for the Scenario Configuration File
To enable MDP, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] MDP-ENABLED YES

The scope of this parameter declaration can be Global or Node. See Section 1.1.1.1 for a description of <Qualifier> for each scope. Notes: 1. The default value of the parameter MDP-ENABLED is NO. 2. For running MDP with MCBR, Super-App, Traffic-Gen, or Traffic-Trace, MDP does not have to be explicitly enabled at the source node. However, to run MDP with ForwardApp, MDP must be explicitly enabled at the node using the parameter MDP-ENABLED. Table 5-4 lists the MDP parameters that can be specified in the scenario configuration file. See Section 1.1.1.3 for a description of the format used for the parameter table.

QualNet 5.1 Developer Model Library

129

Multicast Dissemination Protocol

Chapter 5

TABLE 5-4. Parameter MDP-PROFILE-FILE


Optional Scope: Global, Node

MDP Parameters Description


Name of the MDP profile file. The MDP profile file defines MDP profiles to use with applications. If this file is not defined, then default values for MDP profile parameters are used if MDP is enabled. The format of the MDP profile file is described in Section 5.2.4.3. This file usually has the extension mdp.

Value
Filename

MDP-PROFILE
Optional Scope: Global, Node

String

Name of the default MDP profile to be used with MDPenabled applications running at the node. This should be the name of a MDP profile defined in the MDP profile file (see Section 5.2.4.3). Note: The default MDP profile can be overwritten by specifying a different MDP profile with an application in the application configuration (.app) file (see Section 5.2.4.2).

MDP-TX-CACHE
Optional Scope: Global, Node

Triplet of integer values (see description) Range: 0 Default: See description

Parameters for transmit cache depth. These are the default values for the transmit cache depth parameters for all profiles. If transmit cache depth parameters are not specified for a profile in the MDP Profile file by means of the parameter TX-CACHE (see Section 5.2.4.3), then these values are used for that profile. The transmit cache depth affects how long the application retains state on previously transmitted data objects for possible repair transmission. This parameter is specified in the following format: MDP-TX-CACHE <min-cnt> <max-cnt> <max-sz> where <min-cnt> : Smallest number of data objects kept (regardless of size). The default value is 8. <max-cnt> : Largest number of data objects kept (regardless of size). The default value is 5000. <max-sz> : Maximum size, in bytes. The default value is 8388608 (= 8*1024*1024). The amount of history stored is limited by <max-cnt> and <max-sz>, whichever limit is reached first.

MDP-TX-BUFFER-SIZE
Optional

Integer Range: 0 Default: 1048576 Unit: bytes

Size of the server's transmitting buffer. This the default value for the server's transmitting buffer size for all profiles. If the server's transmitting buffer size is not specified for a profile in the MDP Profile file by means of the parameter TX-BUFFER-SIZE (see Section 5.2.4.3), then this value is used for that profile.

130

QualNet 5.1 Developer Model Library

Chapter 5 TABLE 5-4. Parameter MDP-RX-BUFFER-SIZE


Optional

Multicast Dissemination Protocol MDP Parameters (Continued) Description


Amount of memory the receiver allocates for buffering each server heard. This the default value for the amount of allocated memory for all profiles. If the amount of allocated memory is not specified for a profile in the MDP Profile file by means of the parameter RX-BUFFER-SIZE (see Section 5.2.4.3), then this value is used for that profile. Parameter that determines the amount of pre-allocated memory for MDP data and parity segments. The amount of pre-allocated memory increases with the value of this parameter. This the default value for the memory pre-allocation parameter for all profiles. If the memory pre-allocation parameter is not specified for a profile in the MDP Profile file by means of the parameter SEGMENT-POOL-SIZE (see Section 5.2.4.3), then this value is used for that profile. Note: A smaller value of this parameter will result in memory saving because less memory is preallocated for MDP data and parity segments, but it may affect the runtime performance.

Value
Integer Range: 0 Default: 1048576 Unit: bytes

MDP-SEGMENT-POOL-SIZE
Optional

Integer Range: 0 Default: 10

MDP-STATISTICS
Optional Scope: Global, Node

List: YES NO Default: NO

Specifies whether statistics are collected for MDP.

5.2.4.2 Running Forward-App with MDP


In order to run Forward-App at a node, MDP must explicitly be enabled at the node by using the parameter MDP-ENABLED in the scenario configuration file. If an MDP profile file is not specified in the scenario configuration file or a default MDP profile is not associated with the node, then default values for MDP session control parameters are used for the Forward-App session.

5.2.4.3 Format of the MDP Profile FIle


The MDP profile file defines one or more MDP profiles to use with applications. A MDP profile is a set of MDP session control parameters which specify the model behavior. If this parameter is not defined then default values of MDP related parameters are used. The normal extension of the MDP profile file is mdp. The first line of a MDP profile assigns a name to the profile and has the following format: MDP-PROFILE <profile-name> where <profile-name> Name of the MDP profile.

QualNet 5.1 Developer Model Library

131

Multicast Dissemination Protocol

Chapter 5

The MDP profile name is followed by the parameters that define the session control characteristics associated with the profile. These parameters are described in Table 5-5.

Notes: 1. All parameters in Table 5-5 are optional. If a parameter is not specified, its default value is used in the MDP profile. 2. Each of the parameters in Table 5-5 should occur at most once in a MDP profile. In case of multiple occurrences, the last configured value applies to that profile. 3. Each parameter must be entered on a single line by itself without any prefix. 4. The profile parameters can be entered in any order after the profile name.

TABLE 5-5. Parameter TOS


Optional

MDP Profile Parameters Description


Value of the IP type-of-service (TOS) header byte.

Value
Integer Range: [0, 255] Default: 0

TX-RATE
Optional

Integer Range: 0 Default: 64000 Unit: bps

Maximum transmission rate in bits per second.

TTL-COUNT
Optional

Integer Range: [0, 255] Default: 8

Multicast time-to-live (hop count) for scoping.

INITIAL-GRTT
Optional

Real Range: [0.001, 15.0] Default: 0.5 Unit: seconds

Initial estimate of Greatest Round Trip Time (GRTT). This option controls the server's initial assumption of GRTT before hearing from any of its clients.

SEGMENT-SIZE
Optional

Integer Range: [64, 8128] Default: 256 Unit: bytes

Sender's maximum/normal segment (packet payload) size.

BLOCK-SIZE
Optional

Integer Range: [1, 255] Default: 2

Number of data segments (packets) per MDPv2 coding block.

132

QualNet 5.1 Developer Model Library

Chapter 5 TABLE 5-5. Parameter NUM-PARITY


Optional

Multicast Dissemination Protocol MDP Profile Parameters (Continued) Value


Integer Range: [0, 128] Default: 2

Description
Number of available parity segments per MDPv2 coding block. Note: This parameter should be set such that BLOCK-SIZE + NUM-PARITY 255. Number of parity packets automatically sent by the server per MDP block.

NUM-AUTO-PARITY
Optional

Integer Range: [0, NUMPARITY] Default: 0

EMCON-ENABLED
Optional

List: YES NO Default: NO

Indicates whether emission control (EMCON) mode is enabled. Note: It is recommended that the flow/congestion control algorithm be disabled if the EMCON mode is enabled. Indicates whether transmission of status reports (MDP_REPORT messages) is enabled.

REPORT-MESSAGES-ENABLED
Optional

List: YES NO Default: NO

POSITIVE-ACK-WITH-REPORT
Optional

List: YES NO Default: NO

Indicates whether positive acknowledgements are sent when REPORT-MESSAGES-ENABLED is set to YES.

UNICAST-ENABLED
Optional

List: YES NO Default: NO

Indicates whether the receiver sends unicast protocol messages back to the sender. If this parameter is set to NO, then multicast NACKs are enabled. IDs of receiver nodes for which the sender requests positive acknowledgements. Node IDs can be separated by comma, tabs, or spaces.

POSITIVE-ACK-NODES
Optional

List of node IDs

MULTICAST-ACK-ENABLED
Optional

List: YES NO Default: NO

Indicates whether the client multicasts ACK messages.

FLOW-CONTROL-ENABLED
Optional

List: YES NO Default: YES

Indicates whether experimental flow/congestion control algorithm is enabled.

QualNet 5.1 Developer Model Library

133

Multicast Dissemination Protocol TABLE 5-5. Parameter FLOW-CONTROL-TX-RATE


Optional

Chapter 5 MDP Profile Parameters (Continued) Value


Pair of integer values (see description) Range: 0 Default: See description Unit: bps

Description
Minimum and maximum transmission rates used by MDP's congestion control algorithm. This parameter is specified in the following format: FLOW-CONTROL-TX-RATE <min> <max> where <min>: Minimum transmission rate. <max>: Maximum transmission rate. If both are set to 0, the congestion control algorithm adjusts the rate to any value it determines. Parameters for transmit cache depth. This affects how long the application retains state on previously transmitted data objects for possible repair transmission. This parameter is specified in the following format: TX-CACHE <min-cnt> <max-cnt> <max-sz> where <min-cnt>: Smallest number of data objects kept (regardless of size). <max-cnt>: Largest number of data objects kept (regardless of size). <max-sz>: Maximum size, in bytes. The amount of history stored is limited by <maxcnt> and <max-sz>, whichever limit is reached first.

TX-CACHE
Optional

Triplet of integer values (see description) Range: 0 Default: MDP-TXCACHE

TX-BUFFER-SIZE
Optional

Integer Range: 0 Default: MDP-TXBUFFER-SIZE Unit: bytes

Size of the server's transmitting buffer.

134

QualNet 5.1 Developer Model Library

Chapter 5 TABLE 5-5. Parameter RX-BUFFER-SIZE


Optional

Multicast Dissemination Protocol MDP Profile Parameters (Continued) Value


Integer Range: 0 Default: MDP-RXBUFFER-SIZE Unit: bytes

Description
Amount of memory the receiver allocates for buffering each server heard.

SEGMENT-POOL-SIZE
Optional

Integer Range: 0 Default: MDPSEGMENTPOOL-SIZE

Parameter that determines the amount of preallocated memory for MDP data and parity segments. The amount of pre-allocated memory increases with the value of this parameter. Note: A smaller value of this parameter will result in memory saving because less memory is preallocated for MDP data and parity segments, but it may affect the runtime performance.

5.2.5 GUI Configuration


To configure MDP in the GUI, properties have to be configured at the node level. Statistics parameters can be configured at both node and scenario levels. In addition, MDP has to be enabled for the applications. Configuring MDP at a Node To configure MDP at a node, do the following: 1. Go to Default Device Properties Editor > Node Configuration > Application Layer. 2. To enable MDP, set Enable MDP to Yes.

FIGURE 5-3.

Enabling MDP

QualNet 5.1 Developer Model Library

135

Multicast Dissemination Protocol

Chapter 5

TABLE 5-6. GUI Parameter


Enable MDP

Command Line Equivalent of Enabling MDP Parameters Scope of GUI Parameter


Node

Command Line Parameter


MDP-ENABLED

3. Set the MDP parameters listed in Table 5-7.

FIGURE 5-4.

Setting MDP Parameters

TABLE 5-7. GUI Parameter


Specify MDF Profile File Specify TX Cache Properties Specify TX Buffer Size Specify RX Buffer Size Specify Segment Pool Size

Command Line Equivalent of MDP Parameters Scope of GUI Parameter Command Line Parameter
N/A MDP-TX-CACHE MDP-TX-BUFFER-SIZE MDP-RX-BUFFER-SIZE MDP-SEGMENT-POOL-SIZE

Node Node Node Node Node

Setting Parameters

To specify a MDP Profile file, set Specify MDP Profile File to Yes; otherwise, set Specify MDP
Profile File to No.

136

QualNet 5.1 Developer Model Library

Chapter 5

Multicast Dissemination Protocol

4. If Specify MDP Profile File is set to Yes, then set the dependent parameters listed in Table 5-8.

FIGURE 5-5.

Specifying MDP Profile File

TABLE 5-8. GUI Parameter


MDP Profile File Specify MDP Profile

Command Line Equivalent of MDP Profile File Parameters Scope of GUI Parameter
Node Node N/A

Command Line Parameter


MDP-PROFILE-FILE

Setting Parameters

To specify a default MDP profile for the node, set Specify MDP Profile to Yes; otherwise, set
Specify MDP Profile to No.

QualNet 5.1 Developer Model Library

137

Multicast Dissemination Protocol 5. If Specify MDP Profile is set to Yes, then set the dependent parameters listed in Table 5-9.

Chapter 5

FIGURE 5-6.

Specifying MDP Profile Name

TABLE 5-9. GUI Parameter


MDP Profile Name

Command Line Equivalent of MDP Profile Name Parameters Scope of GUI Parameter
Node

Command Line Parameter


MDP-PROFILE

Configuring Statistics Parameters To set statistics parameters for MDP, do the following: 1. Go to one of the following locations:

To set parameters for the scenario, go to Scenario Properties Editor > Statistics > File Statistics. To set parameters for a specific node, go to Default Device Properties Editor > Node
Configuration > File Statistics.

138

QualNet 5.1 Developer Model Library

Chapter 5 2. To enable MDP statistics collection, check the box next to MDP.

Multicast Dissemination Protocol

FIGURE 5-7.

Enabling MDP Statistics

TABLE 5-10. GUI Parameter


MDP

Command Line Equivalent of MDP Statistics Parameters Scope of GUI Parameter


Global, Node

Command Line Parameter


MDP-STATISTICS

5.2.6 Statistics
The following list shows the statistics collected for the MDP model that are printed to the statistics file at the end of simulation. Note: The statistics in the following list are cumulative statistics for all MDP sessions at a node.

Total Number of MDP Sessions Total Number of Data Objects Fail to Queue Total MDP_CMD Messages Sent Total MDP_CMD Messages Received Total MDP_CMD_FLUSH Messages Sent Total MDP_CMD_FLUSH Messages Received Total MDP_CMD_SQUELCH Messages Sent Total MDP_CMD_SQUELCH Messages Received Total MDP_CMD_ACK_REQ Messages Sent Total MDP_CMD_ACK_REQ Messages Received Total Response Sent for MDP_CMD_ACK_REQ Total Response Received for MDP_CMD_ACK_REQ

QualNet 5.1 Developer Model Library

139

Multicast Dissemination Protocol

Chapter 5

Total MDP_CMD_GRTT_REQ Messages Sent Total MDP_CMD_GRTT_REQ Messages Received Total Response Sent for MDP_CMD_GRTT_REQ Total Response Received for MDP_CMD_GRTT_REQ Total MDP_CMD_NACK_ADV Messages Sent Total MDP_CMD_NACK_ADV Messages Received Total MDP_NACK Messages Sent Total MDP_NACK Messages Received Total MDP_NACK Messages Suppressed Total MDP_REPORT Messages Sent Total MDP_REPORT Messages Received Total MDP_INFO Messages Sent Total MDP_INFO Messages Received Total MDP_DATA Messages Sent Total MDP_DATA Messages Received Total MDP_PARITY Messages Sent Total MDP_PARITY Messages Received Total Received MDP Objects Completed Total Received MDP Objects Pending Total Received MDP Objects Failed Total Number of MDP DATA & PARITY Bytes Sent Total Number of MDP DATA & PARITY Bytes Received Total Number of MDP Blocks Received Total Number of Resynchronize with Sender Performed Total Number of MDP Block & Vector Pool Overruns Maximum Usage of MDP Block & Vector Pool

5.2.7 References
1. Joseph P. Macker, R. Brian Adamson, "The Multicast Dissemination Protocol (MDP)," draft-macker-rmtmdp-00. October 1999. 2. Joseph P. Macker, R. Brian Adamson, The Multicast Dissemination Protocol (MDP) ToolKit, IEEE Milcom. 1999. 3. Joseph P. Macker, R. Brian Adamson, Reliable Multicast Congestion Control (RMCC), IEEE Milcom. 2000. 4. Naval Research Laboratory implementation of MDP. http://cs.itd.nrl.navy.mil/work/mdp.

140

QualNet 5.1 Developer Model Library

Queues and Scheduler Models

This chapter describes features, configuration requirements and parameters, statistics, and scenarios for Queues and Scheduler Models, and consists of the following sections: First-In First-Out (FIFO) Queue Random Early Detection (RED) Queue Random Early Detection with In/Out (RIO) Queue Round Robin Scheduler Self-Clocked Fair Queueing (SCFQ) Scheduler Strict Priority Scheduler Weighted Fair Queuing (WFQ) Scheduler Weighted RED (WRED) Queue Weighted Round Robin (WRR) Scheduler

QualNet 5.1 Developer Model Library

141

Class-Based Queuing (CBQ)

Chapter 6

.........................................................................
6.1 Class-Based Queuing (CBQ)
6.1.1 Description
CBQ is a link-sharing resource manager used to impose specific rules for the distribution of bandwidth among different agencies sharing the same physical link, and provide assured bandwidth service. CBQ controls the allocation of resources on a per-hop basis, as well as on an end-to-end (per flow) basis.

6.1.2 Features and Assumptions


This section describes the implemented features, omitted features, assumptions and limitations of the CBQ model.

6.1.2.1 Implemented Features Each class has its own queue and is assigned its share of bandwidth. A child class can borrow
bandwidth from its parent class as long as excess bandwidth is available.

6.1.2.2 Omitted Features


None.

6.1.2.3 Assumptions and Limitations The root class is allocated 100% of the link bandwidth, and for each non-leaf class, the sum of the
bandwidth shares allocated to child classes equals the bandwidth allocated to the class itself.

The agencies just below the ROOT must consist of all non-leaf agencies. There could be only one queue with a particular priority value. Leaf Classes or Agencies are labelled "1". If the TOP-LEVEL specified is greater than maximum level in
the link sharing structure, it will then automatically search up to the ROOT level.

6.1.3 Command Line Configuration


To select the CBQ scheduler, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] IP-QUEUE-SCHEDULER CBQ

The scope of this parameter declaration can be Global, Node, Subnet, or Interface. See Section 1.2.1.1 for a description of <Qualifier> for each scope.

142

QualNet 5.1 Developer Model Library

Chapter 6

Class-Based Queuing (CBQ)

CBQ Parameters Table 6-1 shows the CBQ scheduler parameters. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 6-1. Parameter LINK-SHARING-STRUCTUREFILE


Required Scope: All

CBQ Parameters Description


Name of the Link Sharing Structure file containing configuration information about weights, priorities, and link sharing between agencies. Per hop and end-to-end (per flow) link sharing and allocation of resources is specified in this file. The format of the Link Sharing Structure file is described in Table 6.1.3.1.

Values
Filename

CBQ-GENERAL-SCHEDULER
Required Scope: All

List: PRR WRR List: ANCESTORONLY TOP-LEVEL

Packet scheduler that CBQ uses to manage the queues. PRR : Prioritized Round Robin scheduling protocol. WRR : Weighted Round Robin scheduling protocol. Determines whether or not bandwidth is regulated by the link sharing scheduler. Bandwidth remains unregulated in the ANCESTORONLY case when the class of traffic is under-limit, or its immediate ancestor is under-limit. Bandwidth remains unregulated in the TOP-LEVEL case when the class of traffic is under-limit, or at least one of its ancestors up to CBQ-TOP-LEVEL generations above, are under-limit.

CBQ-LINK-SHARINGGUIDELINE
Required Scope: All

CBQ-TOP-LEVEL
Required Scope: All

Integer: Range: 1

This parameter determines the maximum number of generations to search, for under-limit ancestors. If the TOP-LEVEL specified is greater than or equal to the maximum level in the link-sharing structure, then it will search up to the ROOT level.

QualNet 5.1 Developer Model Library

143

Class-Based Queuing (CBQ)

Chapter 6

6.1.3.1 Format of the Link Sharing Structure File


The Link Sharing Structure file contains configuration information about weights, priorities, and link sharing between agencies. Per-hop and end-to-end (per flow) link sharing and allocation of resources is specified in this file. Each line in the Link Sharing Structure file has the following format: <Node> <Interface> <Agency>, <Descendant-1>, ..., <Descendant-N> where <Node> <Interface> <Agency> <Descendant-i> Node ID of the node for which this specification is valid, or ANY for all nodes. IP address of the network interface for which this specification is valid, or ANY for all network interfaces on the node(s). Name of the root agency. Descendant specification. A descendant can be a non-leaf agency, a leaf agency, or an application. The format for specifying the different types of descendants are described below. A non-leaf agency is specified using the following format: <Agency> <Weight> <Borrow> <Efficient> A leaf agency or application is specified using the following format: <Priority> <Weight> <Borrow> <Efficient> where <Agency> <Priority> <Weight> <Borrow> <Efficient> Name of the agency. Priority of the agency. This value is an integer. The default value is -1. Weight for the agency. This value is a real number. The default value is 1.0 Specifies whether the agency is allowed to borrow or not. This value can be True or False. The default value is FALSE Specifies whether or not the agency is efficient. This value can be True or False. The default value is FALSE

The default values are used to assign values to the parameters of the root node. The values of all the other nodes are input by the user. The parameters cannot be omitted. Hence, the agency definition should have all the required fields.

144

QualNet 5.1 Developer Model Library

Chapter 6

Class-Based Queuing (CBQ)

6.1.4 GUI Configuration


To configure the CBQ in the GUI, perform the following steps: 1. Go to one of the following locations:

To set wireless subnet properties, go to Wireless Subnet Properties Editor > Network Layer >
Schedulers and Queues

To set properties for a specific node, go to Node Properties Editor > Node Configuration >
Network Layer >Schedulers and Queues

To set properties for a specific interface of a node, go to one of the following locations: - Interface Properties Editor > Interfaces > Interface # >Network Layer >Schedulers and
Queues

- Default Device Properties Editor > Interfaces > Interface # >Network Layer >Schedulers
and Queues. In this section, we show how to configure CBQ parameters for a specific node using the Default Device Properties Editor. Parameters can be set in the other properties editors in a similar way. 2. Set IP Output Queue Scheduler to Class Based Queuing and set the dependent parameters listed in Table 6-2.

FIGURE 6-1.

Setting CBQ Parameters

QualNet 5.1 Developer Model Library

145

Class-Based Queuing (CBQ)

Chapter 6

TABLE 6-2. GUI Parameter


Link sharing Structure File General Scheduler Link Sharing Guideline

Command Line Equivalent of CBQ Parameters Scope of GUI Parameter


Node, Subnet, Interface Node, Subnet, Interface Node, Subnet, Interface

Command Line Parameter


LINK-SHARING-STRUCTURE-FILE CBQ-GENERAL-SCHEDULER CBQ-LINK-SHARING-GUIDELINE

Setting Parameters

Set Link Sharing Structure File to the name of the CBQ configuration file. The format of the CBQ
configuration file is described in Section 6.1.3.1.

To set CBQ Top Level, set Link Sharing Guideline to Top Level; otherwise, set Link Sharing
Guideline to Ancestor Only. 3. If Link Sharing Guideline is set to Top Level, then set the dependent parameters listed in Table 6-3.

FIGURE 6-2.

Specify CBQ Top Level

TABLE 6-3. GUI Parameter


CBQ Top Level

Command Line Equivalent of CBQ Parameters Scope of GUI Parameter


Node, Subnet, Interface

Command Line Parameter


CBQ-TOP-LEVEL

146

QualNet 5.1 Developer Model Library

Chapter 6

Class-Based Queuing (CBQ)

6.1.5 Statistics
Table 6-4 lists the CBQ statistics that are output to the statistics (.stat) file at the end of simulation.. TABLE 6-4. Statistic
Packets Queued Packets Dequeued Number of Dequeue Requests Selection Number of times Punished Max Extradelay Avg Extradelay

CBQ Statistics Description

Total number of packets enqueued at the interface Total number of packets dequeued at the interface Total number of dequeue requests received. Number of dequeue packets selected on the basis of General scheduler, linksharing scheduler and forced packets. Total number of times the packets were punished or suspended. Maximum value of delay occurred due to packets punished/suspended (seconds). Average value of delay occurred due to packets punished/suspended (seconds).

6.1.6 References
1. Sally Floyd and Van Jacobson, "Link-sharing and Resource Management Models for Packet Networks", IEEE/ACM Transactions on Networking, Vol 3, No. 4, Aug 1995.

QualNet 5.1 Developer Model Library

147

First-In First-Out (FIFO) Queue

Chapter 6

.........................................................................
6.2 First-In First-Out (FIFO) Queue
6.2.1 Description
FIFO queue accepts packets until it is full (the total size, in bytes, of all the packets in the queue determine whether the queue is full or not). Once the queue is full, all packets that arrive at the queue are dropped, until packets are dequeued, and space becomes available.

6.2.2 Command Line Configuration


To specify FIFO as the queue discipline, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] where <Index> Queue index to which this parameter declaration is applicable, enclosed in square brackets. This should be in the range 0 to n -1, where n is the number of priority queues at the interface. The instance specification is optional. If an instance is not included, then the parameter declaration is applicable to all queues at the interface The scope of this parameter declaration can be Global, Node, Subnet, or Interface. See Section 1.2.1.1 for a description of <Qualifier> for each scope. IP-QUEUE-TYPE[<Index>] FIFO

148

QualNet 5.1 Developer Model Library

Chapter 6

First-In First-Out (FIFO) Queue

FIFO Parameters Table 6-5 shows the FIFO configuration parameters. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 6-5. Parameter INPUT-QUEUE-STATISTICS


Optional Scope: All List: YES NO Default: NO List: YES NO Default: NO Integer Range: > 0

FIFO Parameters Description


Indicates whether statistics are collected for input queue.

Value

QUEUE-STATISTICS
Optional Scope: All

Indicates whether statistics are collected for output queue.

IP-QUEUE-PRIORITY-QUEUESIZE
Optional Scope: All Instances: queue index

Queue size.

Default: 150000 Unit: bytes

6.2.3 GUI Configuration


This section describes how to configure FIFO in the GUI. Configuring FIFO Parameters To configure the FIFO parameters, perform the following steps: 1. Go to one of the following locations:

To set wireless subnet properties, go to Wireless Subnet Properties Editor > Network Layer >
Schedulers and Queues

To set properties for a specific node, go to Node Properties Editor > Node Configuration >
Network Layer >Schedulers and Queues

To set properties for a specific interface of a node, go to one of the following locations: - Interface Properties Editor > Interfaces > Interface # > Network Layer >Schedulers and
Queues

- Default Device Properties Editor > Interfaces > Interface # > Network Layer >Schedulers
and Queues. In this section, we show how to configure FIFO parameters for a specific node using the Default Device Properties Editor. Parameters can be set in the other properties editors in a similar way.

QualNet 5.1 Developer Model Library

149

First-In First-Out (FIFO) Queue 2. Set IP Queue Type to FIFO and set the dependent parameters listed in Table 6-6.

Chapter 6

FIGURE 6-3.

Setting Queue Type as FIFO

TABLE 6-6. GUI Parameter


IP Queue Size

Command Line Equivalent of FIFO Parameters Scope of GUI Parameter Command Line Parameter
IP-QUEUE-PRIORITY-QUEUE-SIZE

Node, Interface, Subnet

Configuring Statistics Parameters Statistics for FIFO can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for IP output queues including FIFO, check the box labeled IP Output Queue in the appropriate properties editor.

TABLE 6-7. GUI Parameter


IP Output Queue

Command Line Equivalent of Statistics Parameters Scope of GUI Parameter


Global, Node

Command Line Parameter


QUEUE-SATISTICS

150

QualNet 5.1 Developer Model Library

Chapter 6

First-In First-Out (FIFO) Queue

6.2.4 Statistics
Table 6-8 lists the FIFO statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 6-8. Statistic
Total Packets Queued Total Packets Dequeued Total Packets Dropped Total Packets Dropped Forcefully Average Queue Length (bytes) Average Time in Queue Longest Time in Queue Peak Queue Size (bytes)

FIFO Statistics Description

Total number of packets queued Total number of packets dequeued Total number of packets dropped due to the queue being full Total number of packets dropped forcefully due to reasons other than the queue being full, such as the next hop not being reachable Average queue length in bytes (see note below) Average time spent by packets in the queue (in seconds) Longest time spent in queue by a packet (in seconds) Largest size ever reached by the queue (bytes)

Note:

The average queue length is calculated as follows: average queue length = sum of weighted packet sizes for all packets / (simulation time, in seconds), where weighted packet size = (packet size, in bytes) * (time spent by the packet in the queue, in seconds)

6.2.5 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the FIFO queue. All scenarios are located in the directory QUALNET_HOME/scenarios/developer/queue/fifo. Table 6-9 lists the sub-directory where each scenario is located. TABLE 6-9. Scenario
FIFO

FIFO Scenarios Included in QualNet Description


Shows the performance of FIFO queue.

QualNet 5.1 Developer Model Library

151

Random Early Detection (RED) Queue

Chapter 6

.........................................................................
6.3 Random Early Detection (RED) Queue
The QualNet RED Queue model is based on the following paper: Sally Floyd and Van Jacobson, "Random Early Detection For Congestion Avoidance", IEEE/ACM Transactions on Networking, August 1993.

6.3.1 Description
The Random Early Detection (RED) queue drops packets at the current router based on drop probabilities, rather than at a subsequent congested router, if Explicit Congestion Notification (ECN) is off. (ECN is off by default.) If ECN is on, packets are marked instead of being dropped, and the source of the TCP traffic throttles back based on the notification. RED is a congestion-avoidance algorithm that calculates average queue sizes in order to address incipient congestion. The algorithm also attempts to address global synchronization as well as maintaining fairness across data flows, without bias against bursty flows. The possibility of random early drops begins when the RED queue averaging algorithm determines that the average queue size (i.e., the number of packets in the queue) is greater than or equal to the minimum threshold and less than the maximum threshold. The queue weight determines the bias towards recent or historical queue lengths in calculating the average queue size. The algorithm uses the time it would take to transmit a typical small packet to estimate the queue average during idle periods (when the queue is completely empty).

6.3.2 Features and Assumptions


This section describes the implemented features, omitted features, assumptions and limitations of the RED queue model.

6.3.2.1 Implemented Features When average queue size goes above maximum threshold, packets are dropped. When ECN is enabled, then packets are marked instead of being dropped else they are dropped. 6.3.2.2 Omitted Features
None.

6.3.2.3 Assumptions and Limitations


None.

152

QualNet 5.1 Developer Model Library

Chapter 6

Random Early Detection (RED) Queue

6.3.3 Command Line Configuration


To specify RED as the queue discipline, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] where <Index> Queue index to which this parameter declaration is applicable, enclosed in square brackets. This should be in the range 0 to n -1, where n is the number of priority queues at the interface. The instance specification is optional. If an instance is not included, then the parameter declaration is applicable to all queues at the interface The scope of this parameter declaration can be Global, Node, Subnet, or Interface. See Section 1.2.1.1 for a description of <Qualifier> for each scope. RED Parameters Table 6-10 lists the configuration parameters for the RED queue model. See Section 1.2.1.3 for a description of the format used for the parameter table. IP-QUEUE-TYPE[<Index>] RED

TABLE 6-10. Parameter INPUT-QUEUE-STATISTICS


Optional Scope: All List: YES NO Default: NO List: YES NO Default: NO Integer Range: > 0 Default: 150000 Unit: bytes Integer Range: > 0 Default: 5 Unit: packets

RED Parameters Description


Indicates whether statistics are collected for input queue.

Value

QUEUE-STATISTICS
Optional Scope: All

Indicates whether statistics are collected for output queue.

IP-QUEUE-PRIORITY-QUEUESIZE
Optional Scope: All Instances: queue index

Queue size.

RED-MIN-THRESHOLD
Optional Scope: All Instances: queue index

Minimum threshold. If the queue size is equal to or larger than this number, packets can be randomly dropped.

QualNet 5.1 Developer Model Library

153

Random Early Detection (RED) Queue TABLE 6-10. Parameter RED-MAX-THRESHOLD


Optional Scope: All Instances: queue index

Chapter 6 RED Parameters (Continued) Description


Maximum threshold. If the queue size is less than this number, packets can be randomly dropped.

Value
Integer Range: > 0 Default: 15 Unit: packets Real Range: [0.0, 1.0] Default: 0.02 Real Range: [0.0, 1.0] Default: 0.002 Time Range: > 0S Default: 10MS Queue weight .

RED-MAX-PROBABILITY
Optional Scope: All Instances: queue index

Maximum probability of a packet being dropped.

RED-QUEUE-WEIGHT
Optional Scope: All Instances: queue index

This is used to determine the bias towards recent queue lengths in calculating the average. The larger this value, greater is the bias towards recent queues. Typical time to transmit a small packet. This is used to estimate the queue average during idle periods.

RED-SMALL-PACKETTRANSMISSION-TIME
Optional Scope: All Instances: queue index

6.3.4 GUI Configuration


This section describes how to configure RED in the GUI. Configuring RED Parameters To configure the RED parameters, perform the following steps: 1. Go to one of the following locations:

To set wireless subnet properties, go to Wireless Subnet Properties Editor > Network Layer >
Schedulers and Queues

To set properties for a specific node, go to Node Properties Editor > Node Configuration >
Network Layer > Schedulers and Queues

To set properties for a specific interface of a node, go to one of the following locations: - Interface Properties Editor > Interfaces > Interface # > Network Layer > Schedulers and
Queues

- Default Device Properties Editor > Interfaces > Interface # > Network Layer > Schedulers
and Queues. In this section, we show how to configure RED parameters for a specific node using the Default Device Properties Editor. Parameters can be set in the other properties editors in a similar way.

154

QualNet 5.1 Developer Model Library

Chapter 6

Random Early Detection (RED) Queue

2. Set IP Queue Type to RED and set the dependent parameters listed in Table 6-11.

FIGURE 6-4.

Setting RED parameters

TABLE 6-11. GUI Parameter


IP Queue Size Minimum Threshold Maximum Threshold Maximum Probability RED Queue Weight Small Packet Transmission Time

Command Line Equivalent of RED Parameters Scope of GUI Parameter Command Line Parameter
IP-QUEUE-PRIORITY-QUEUE-SIZE RED-MIN-THRESHOLD RED-MAX-THRESHOLD RED-MAX-PROBABILITY RED-QUEUE-WEIGHT RED-SMALL-PACKET-TRANSMISSIONTIME

Node, Subnet, Interface Node, Subnet, Interface Node, Subnet, Interface Node, Subnet, Interface Node, Subnet, Interface Node, Subnet, Interface

QualNet 5.1 Developer Model Library

155

Random Early Detection (RED) Queue

Chapter 6

Configuring Statistics Parameters Statistics for RED can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for IP output queues including RED, check the box labeled IP Output Queue in the appropriate properties editor.

TABLE 6-12. Command Line Equivalent of Statistics Parameters GUI Parameter


IP Output Queue

Scope of GUI Parameter


Global, Node

Command Line Parameter


QUEUE-SATISTICS

6.3.5 Statistics
Table 6-13 lists the RED queue statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 6-13. Statistic
Total Packets Queued Total Packets Dequeued Total Packets Dropped Average Queue Length (bytes) Average Time in Queue Longest Time in Queue Peak Queue Size (bytes) Total Packets Dropped Forcefully Packets Marked ECN Longest Time in Queue

RED Statistics Description

Total number of packets queued Total number of packets dequeued Total number of packets dropped due to the queue being full Average queue length (bytes). See note below. Average time spent by packets in the queue (seconds) Longest time spent in queue by a packet (seconds) Largest size ever reached by the queue (bytes) Total packets dropped forcefully due to reasons other than the queue being full, such as the next hop not being reachable. Total number of packets marked by ECN capable network Longest delay suffered by a packet in this queue (seconds)

Note:

The average queue length is calculated as follows: average queue length = sum of weighted packet sizes for all packets / (simulation time, in seconds), where weighted packet size = (packet size, in bytes) * (time spent by the packet in the queue, in seconds)

156

QualNet 5.1 Developer Model Library

Chapter 6

Random Early Detection (RED) Queue

6.3.6 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the RED queue. All scenarios are located in the directory QUALNET_HOME/scenarios/developer. Table 6-14 lists the sub-directory where each scenario is located. TABLE 6-14. Scenario
queue/red ecn/red/red-with-ecn ecn/red/red-without-ecn

RED Scenarios Included in QualNet Description

Shows how packets are handled by RED queue when bottleneck condition arrives. Shows the behavior of the RED with ECN. Shows the behavior of the RED without ECN.

6.3.7 References
1. Sally Floyd and Van Jacobson, "Random Early Detection For Congestion Avoidance", IEEE/ACM Transactions on Networking, August 1993.

QualNet 5.1 Developer Model Library

157

Random Early Detection with In/Out (RIO) Queue

Chapter 6

.........................................................................
6.4 Random Early Detection with In/Out (RIO) Queue
6.4.1 Description
RIO is a multilevel RED queue management protocol (MRED) queuing algorithm suitable for the AF PHB that can identify any preferences and can punish misbehaving users. The incoming packets are marked through packet marking algorithm on the basis of Service Level Agreement (SLA) between the customer and service-provider. The marking is done in two-color (DP0 and DP1) or three-color (DP0, DP1, DP2) level referring drop precedence (DP) as below:

Green: Level Low Drop, DP0 Yellow: Level Medium Drop, DP1 Red: Level High Drop, DP2
RIO is a Multiple Average Multiple threshold (MAMT) variant of multilevel RED and can operate in both two and three color modes. Two simple approaches to the MAMT variant of MRED are RIO-C (RED with In/Out and Coupled average Queues) and RIO-DC (RED with In/Out and Decoupled average Queues). RIO-C derives its name from the coupled relationship of the average queue calculation. The average queue for packets of different colors can be calculated by adding its average queue to the average queues of colors of lower drop precedence. The implication of this scheme is that the drop probability for packets with higher drop precedence is dependent on the buffer occupancy of packets having lower drop precedence. Thus, there is an inherent assumption that it is better to drop DP1 and DP2 packets for DP0 packets. Similarly, for DP1 packets, it is assumed better to drop DP2 packets. Services based on AF implementations utilizing RIO-C will be subject to this restriction. RIO-DC (RIO with Decoupled Queues), the average queue for packets of each color is calculated independently. In this scheme, the average queue length for a color is calculated using number of packets of that color in the queue. The RED parameter settings can be chosen depending on the treatment to be given to different colors. RIO-DC appears to be the most suitable MRED-variant if the operator desires to assign weights to different colored packets within the same queue i.e. there is no relationship between the packets marked green and yellow. Thus, the RIO-DC scheme could start to emulate the WRR scheduling scheme except that a single queue is used.

6.4.2 Command Line Configuration


To specify RIO as the queue discipline, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] where <Index> Queue index to which this parameter declaration is applicable, enclosed in square brackets. This should be in the range 0 to n -1, where n is the number of priority queues at the interface. The instance specification is optional. If an instance is not included, then the parameter declaration is applicable to all queues at the interface IP-QUEUE-TYPE[<Index>] RIO

158

QualNet 5.1 Developer Model Library

Chapter 6

Random Early Detection with In/Out (RIO) Queue

The scope of this parameter declaration can be Global, Node, Subnet, or Interface. See Section 1.2.1.1 for a description of <Qualifier> for each scope. RIO Parameters RIO configuration parameters are described in Table 6-15. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 6-15. Parameter INPUT-QUEUE-STATISTICS


Optional Scope: All List: YES NO Default: NO List: YES NO Default: NO Integer Range: > 0 Default: 150000 Unit: bytes List: COUPLED DECOUPLED

RIO Parameters Description


Indicates whether statistics are collected for input queue.

Value

QUEUE-STATISTICS
Optional Scope: All

Indicates whether statistics are collected for output queue.

IP-QUEUE-PRIORITY-QUEUESIZE
Optional Scope: All Instances: queue index

Queue size.

RIO-COUNTING-MODE
Required Scope: All Instances: queue index

Specifies the relationship of the average queue calculation. Coupled mode counts Green profile packets towards the calculation for dropping Yellow profile packets. Decoupled mode counts Green and Yellow profile packets separately.

RIO-COLOR-MODE
Required Scope: All Instances: queue index

List: TWO-COLOR THREE-COLOR

Specifies the treatment to be given to RIO-COLORMODE. In TWO-COLOR mode it use twin RED algorithms: the first for the Green profile packets and the second for Yellow profile packets In THREE-COLOR mode it uses three RED algorithms: the first for the Green profile packets and the second for Yellow profile packets and the third for Red profile packets.

QualNet 5.1 Developer Model Library

159

Random Early Detection with In/Out (RIO) Queue TABLE 6-15. Parameter GREEN-PROFILE-MINTHRESHOLD
Optional Scope: All Instances: queue index

Chapter 6 RIO Parameters Description


Specifies the number of green profile packets in the queue that represents the lower bound at which green packets can be randomly dropped.

Value
Integer Range: > 0 Default: 10 Unit: packets Integer Range: > 0 Default: 20 Unit: packets Real Range: [0.0, 1.0] Default: 0.02

GREEN-PROFILE-MAXTHRESHOLD
Optional Scope: All

Specifies the number of green profile packets in the queue that represents the upper bound at which green packets can be randomly dropped.

GREEN-PROFILE-MAXPROBABILITY
Optional Scope: All Instances: queue index

Specifies maximum probability value at which a packet can be dropped (before the queue is completely full).

YELLOW-PROFILE-MINTHRESHOLD
Optional Scope: All Instances: queue index

Integer Range: > 0 Default: 5 Unit: packets Integer Range: > 0 Default: 10 Unit: packets Real Range: [0.0, 1.0] Default: 0.02

Specifies the number of yellow profile packets in the queue that represents the lower bound at which green packets can be randomly dropped.

YELLOW-PROFILE-MAXTHRESHOLD
Optional Scope: All Instances: queue index

Specifies the number of yellow profile packets in the queue that represents the upper bound at which green packets can be randomly dropped.

YELLOW-PROFILE-MAXPROBABILITY
Optional Scope: All Instances: queue index

Specifies maximum probability value at which a packet can be dropped (before the queue is completely full).

RED-PROFILE-MIN-THRESHOLD
Optional Scope: All Instances: queue index

Integer Range: > 0 Default: 2 Unit: packets

Specifies the number of red profile packets in the queue that represents the lower bound at which green packets can be randomly dropped.

160

QualNet 5.1 Developer Model Library

Chapter 6 TABLE 6-15. Parameter RED-PROFILE-MAX-THRESHOLD


Optional Scope: All Instances: queue index

Random Early Detection with In/Out (RIO) Queue RIO Parameters Description
Specifies the number of red profile packets in the queue that represents the upper bound at which green packets can be randomly dropped.

Value
Integer Range: > 0 Default: 5 Unit: Packets Real Range: [0.0, 1.0] Default: 0.02

RED-PROFILE-MAXPROBABILITY
Optional Scope: All Instances: queue index

Specifies maximum probability that a packet can be dropped (before the queue is completely full).

RED-QUEUE-WEIGHT
Optional Scope: All Instances: queue index

Real Range: > 0.0 Default: 0.002

Specifies the queue weight used to determine the bias towards recent or historical queue lengths in calculating the average.

RED-SMALL-PACKETTRANSMISSION-TIME
Optional Scope: All Instances: queue index

Time Range: > 0S Default: 10MS

Specifies sample amount of time to transmit a small packet. Used to estimate the queue average during idle periods.

QualNet 5.1 Developer Model Library

161

Random Early Detection with In/Out (RIO) Queue

Chapter 6

6.4.3 GUI Configuration


This section describes how to configure RIO in the GUI. Configuring RIO Parameters To configure the RIO parameters, perform the following steps: 1. Go to one of the following locations:

To set wireless subnet properties, go to Wireless Subnet Properties Editor > Network Layer >
Schedulers and Queues

To set properties for a specific node, go to Node Properties Editor > Node Configuration >
Network Layer > Schedulers and Queues

To set properties for a specific interface of a node, go to one of the following locations: - Interface Properties Editor > Interfaces > Interface # > Network Layer > Schedulers and
Queues

- Default Device Properties Editor > Interfaces > Interface # > Network Layer > Schedulers
and Queues. In this section, we show how to configure RIO parameters for a specific node using the Default Device Properties Editor. Parameters can be set in the other properties editors in a similar way.

162

QualNet 5.1 Developer Model Library

Chapter 6

Random Early Detection with In/Out (RIO) Queue

2. Set IP Queue Type to RIO and set the dependent parameters listed in Table 6-16.

FIGURE 6-5.

Setting RIO Parameters

TABLE 6-16. GUI Parameter


IP Queue Size Counting Mode Color Mode RED Queue Weight Small Packet Transmission Time

Command Line Equivalent of RIO Parameters Scope of GUI Parameter


Node, Interface, Subnet Node, Interface, Subnet Node, Interface, Subnet Node, Interface, Subnet Node, Interface, Subnet

Command Line Parameter


IP-QUEUE-PRIORITY-QUEUE-SIZE RIO-COUNTING-MODE RIO-COLOR-MODE RED-QUEUE-WEIGHT RED-SMALL-PACKET-TRANSMISSIONTIME

3. Set the dependent parameters listed in Table 6-17 for the selected value of Color Mode. Figure 6-6 shows the parameters when Color Mode is set to Three Color. A subset of these parameters are applicable when Color Mode is set to Two Color.

QualNet 5.1 Developer Model Library

163

Random Early Detection with In/Out (RIO) Queue

Chapter 6

FIGURE 6-6.

Setting Color Mode Parameterts

TABLE 6-17. GUI Parameter


Green Profile Minimum Threshold Green Profile Maximum Threshold Green Profile Maximum Probability Yellow Profile Minimum Threshold Yellow Profile Maximum Threshold Yellow Profile Maximum Probability Red Profile Minimum Threshold Red Profile Maximum Threshold Red Profile Maximum Probability

Command Line Equivalent of Color Mode Parameters Scope of GUI Parameter


Node, Interface, Subnet Node, Interface, Subnet Node, Interface, Subnet Node, Interface, Subnet Node, Interface, Subnet Node, Interface, Subnet Node, Interface, Subnet Node, Interface, Subnet Node, Interface, Subnet

Command Line Parameter


GREEN-PROFILE-MIN-THRESHOLD GREEN-PROFILE-MAX-THRESHOLD GREEN-PROFILE-MAX-PROBABILITY YELLOW-PROFILE-MIN-THRESHOLD YELLOW-PROFILE-MAX-THRESHOLD YELLOW-PROFILE-MAX-PROBABILITY RED-PROFILE-MIN-THRESHOLD RED-PROFILE-MAX-THRESHOLD RED-PROFILE-MAX-PROBABILITY

164

QualNet 5.1 Developer Model Library

Chapter 6

Random Early Detection with In/Out (RIO) Queue

Configuring Statistics Parameters Statistics for RIO can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for IP output queues including RIO, check the box labeled IP Output Queue in the appropriate properties editor.

TABLE 6-18. Command Line Equivalent of Statistics Parameters GUI Parameter


IP Output Queue

Scope of GUI Parameter


Global, Node

Command Line Parameter


QUEUE-SATISTICS

6.4.4 Statistics
Table 6-19 lists the RIO statistics that are output to the statistics (.stat) file at the end of simulation.

TABLE 6-19. Statistic


GREEN Packets Queued GREEN Packets Dequeued GREEN Packets Marked ECN GREEN Packets Dropped YELLOW Packets Queued YELLOW Packets Dequeued YELLOW Packets Marked ECN YELLOW Packets Dropped RED Packets Queued RED Packets Dequeued RED Packets Marked ECN RED Packets Dropped (<Profile>) Packets Queued (<Profile>) Packets Dequeued (<Profile>) Packets Marked ECN (<Profile>) Packets Dropped Total Packets Queued Total Packets Dequeued Total Packets Dropped Total Packets Dropped Forcefully Average Queue Length (bytes)

RIO Statistics Definition

Total number of GREEN packets queued in this queue Total number of GREEN packets dequeued from this queue Total number of GREEN packets marked by the Explicit Congestion Notification (ECN) capable network Total number of GREEN packets dropped by this queue Total number of YELLOW packets queued in this queue Total number of YELLOW packets dequeued from this queue Total number of YELLOW packets marked by the Explicit Congestion Notification (ECN) capable network Total number of YELLOW packets dropped by this queue Total number of RED packets queued in this queue Total number of RED packets dequeued from this queue Total number of RED packets marked by the Explicit Congestion Notification (ECN) capable network Total number of RED packets dropped by this queue Total number of <profile> packets queued in this queue Total number of <profile> packets dequeued from this queue Total number of <profile> packets marked by the Explicit Congestion Notification (ECN) capable network Total number of <profile> packets dropped by this queue Total number of packets queued in this queue Total number of packets dequeued from this queue Total number of packets dropped due to the queue being full Total number of packets dropped forcefully due to reasons other than the queue being full, such as the next hop not being reachable Average of queue length reached by this queue during simulation (bytes). See note below.

QualNet 5.1 Developer Model Library

165

Random Early Detection with In/Out (RIO) Queue TABLE 6-19. Statistic
Average Time In Queue Longest Time in Queue Peak Queue Size (bytes) Packets Marked ECN

Chapter 6

RIO Statistics (Continued) Definition

Average delay suffered by the packets in this queue (in seconds). Longest delay suffered by a packet in this queue (in seconds). Largest size ever reached by the queue (bytes) Total number of packets marked by ECN capable network

Note:

The average queue length is calculated as follows: average queue length = sum of weighted packet sizes for all packets / (simulation time, in seconds), where weighted packet size = (packet size, in bytes) * (time spent by the packet in the queue, in seconds)

6.4.5 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the RIO queue. All scenarios are located in the directory QUALNET_HOME/scenarios/developer. Table 6-20 lists the sub-directory where each scenario is located. TABLE 6-20. Scenario
queue/rio ecn/rio/rio-with-ecn ecn/rio/rio-without-ecn

RIO Scenarios Included in QualNet Description

Shows how packets are handled by RIO queue when bottleneck condition arrives. Shows the behavior of the RIO with ECN. Shows the behavior of the RIO without ECN

6.4.6 References
1. Rupinder Makkar and Ioannis Lambadaris, "Empirical Study Of Buffer Management Schemes For Diffserv Assured Forwarding PHB" (www.sce.carleton.ca/faculty/lambadaris/recent-papers/162.pdf)

166

QualNet 5.1 Developer Model Library

Chapter 6

Round Robin Scheduler

.........................................................................
6.5 Round Robin Scheduler
6.5.1 Description
The Round Robin scheduler is an alternative scheduling discipline in QualNet. It services each priority queue, starting with the highest priority queue that contains packets, services a single packet, and moves to the next lower priority queue that contains packets, servicing a single packet from each, until each queue with packets has been serviced once. It then starts the cycle over with the highest priority queue containing packets.

6.5.2 Command Line Configuration


To select the Round Robin scheduler, include the following parameter in the sceanrio configuration (.config) file: [<Qualifier>] IP-QUEUE-SCHEDULER ROUND-ROBIN

The scope of this parameter declaration can be Global, Node, Subnet, or Interface. See Section 1.2.1.1 for a description of <Qualifier> for each scope. Round Robin Scheduler Parameters Table 6-21 shows the Round Robin scheduler parameters. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 6-21. Parameter INPUT-SCHEDULERSTATISTICS


Optional Scope: Global, Node List: YES NO Default: NO List: YES NO Default: NO

Round Robin Parameters Description


Indicates whether statistics are collected for input schedulers.

Value

SCHEDULER-STATISTICS
Optional Scope: All

Indicates whether statistics are collected for output schedulers.

6.5.3 GUI Configuration


This section describes how to configure the Round Robin scheduler in the GUI. Configuring Round Robin Scheduler Parameters To configure the Round Robin scheduler parameters, perform the following steps: 1. Go to one of the following locations:

To set wireless subnet properties, go to Wireless Subnet Properties Editor > Network Layer >
Schedulers and Queues

QualNet 5.1 Developer Model Library

167

Round Robin Scheduler

Chapter 6

To set properties for a specific node, go to Node Properties Editor > Node Configuration >
Network Layer >Schedulers and Queues

To set properties for a specific interface of a node, go to one of the following locations: - Interface Properties Editor > Interfaces > Interface # > Network Layer > Schedulers and
Queues.

- Default Device Properties Editor > Interfaces > Interface # > Network Layer > Schedulers
and Queues. In this section, we show how to configure round Robin parameters for a specific node using the Default Device Properties Editor. Parameters can be set in the other properties editors in a similar way. 2. Set IP Output Queue Scheduler to Round Robin as shown in Figure 6-7.

FIGURE 6-7.

Setting Round Robin Scheduler Parameters

Configuring Statistics Parameters Statistics for Round Robin can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for IP Output Queue Scheduler, check the box labeled IP Output Scheduler in the appropriate properties editor.

168

QualNet 5.1 Developer Model Library

Chapter 6

Round Robin Scheduler

TABLE 6-22. Command Line Equivalent of Statistics Parameters GUI Parameter


IP Output Scheduler

Scope of GUI Parameter


Global, Node

Command Line Parameter


SCHEDULER-STATISTICS

6.5.4 Statistics
Table 6-23 lists the Round Robin statistics that are output to the statistics (.stat) file at the end of simulation: TABLE 6-23. Statistics
Packets Queued Packets Dequeued Packets Dropped Service Ratio received

Round Robin Scheduler Statistics Description

Total number of packets en queued in the queue. Total number of packets de queued. Total number of packets dropped. Total number of packets de queued to total de queue requests (see note).

Note:

The service ratio received is calculated as follows:

If total dequeue requests are not zero, service ratio = (total packets dequeued) / (total
dequeue requests)

If total dequeue requests are equal to zero, service ratio = 0.0.

6.5.5 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the Round Robin scheduler. All scenarios are located in the directory QUALNET_HOME/scenarios/developer/scheduler. Table 6-24 lists the subdirectory where each scenario is located. TABLE 6-24. Scenario
round-robin

Round Robin Scenarios Included in QualNet Description


Shows the behavior of ROUND-ROBIN scheduler at intermediate node.

QualNet 5.1 Developer Model Library

169

Self-Clocked Fair Queueing (SCFQ) Scheduler

Chapter 6

.........................................................................
6.6 Self-Clocked Fair Queueing (SCFQ) Scheduler
6.6.1 Description
Self-Clocked Fair Queueing (SCFQ) scheduler is similar to Weighted Fair Queueing (WFQ) in its attempt to service each priority queue based on a percentage allocation of the total outgoing bandwidth of the link. However, the calculation of the Finish Time (the time at which a packet would have been serviced given a hypothetical fluid server) for WFQ is complicated. SCFQ uses a simplified method of calculating the service time based on the transmission delay of the packet and the finish time of the packet currently being serviced.

6.6.2 Features and Assumptions


This section describes the implemented features, omitted features, assumptions and limitations of the SFCQ model.

6.6.2.1 Implemented Features SCFQ speeds up virtual time computation with reduced complexity by using the finish number of the
packet currently in service (CF) as the virtual time function.

6.6.2.2 Omitted Features


None.

6.6.2.3 Assumptions and Limitations Users can specify a weight for each queue but it should be <1. If there is no weight specification for
queues, weights for each queue are assigned internally by their priority.

6.6.3 Command Line Configuration


To select the SCFQ scheduler, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] IP-QUEUE-SCHEDULER SELF-CLOCKED-FAIR

The scope of this parameter declaration can be Global, Node, Subnet, or Interface. See Section 1.2.1.1 for a description of <Qualifier> for each scope.

170

QualNet 5.1 Developer Model Library

Chapter 6

Self-Clocked Fair Queueing (SCFQ) Scheduler

SCFQ Parameters SCFQ scheduler parameters are described in Table 6-25. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 6-25. Parameter INPUT-SCHEDULERSTATISTICS


Optional Scope: Global, Node List YES NO Default: NO Real Range: (0.0, 1.0]

SCFQ Parameters Description


Indicates whether statistics are collected for input schedulers.

Value

QUEUE-WEIGHT
Optional Scope: All Instances: priority

Weight of the queue. Note: The weights for all queues on an interface should add up to 1.

Default: See note List YES NO Default: NO Indicates whether statistics are collected for output schedulers.

SCHEDULER-STATISTICS
Optional Scope: All

Note:

The default weight of each queue is the ((priority value of the queue)+ 1) / (sum of all the priority values for all the queues + the number of queues).

6.6.4 GUI Configuration


This section describes how to configure Self Clocked Fair Queuing Scheduler in the GUI. Configuring SCFQ Scheduler Parameters To configure the Self-Clocked Fair Queuing (SCFQ) Scheduler parameters, perform the following steps: 1. Go to one of the following locations:

To set wireless subnet properties, go to Wireless Subnet Properties Editor > Network Layer >
Schedulers and Queues

To set properties for a specific node, go to Node Properties Editor > Node Configuration >
Network Layer >Schedulers and Queues

To set properties for a specific interface of a node, go to one of the following locations: - Interface Properties Editor > Interfaces > Interface # >Network Layer >Schedulers and
Queues

- Default Device Properties Editor > Interfaces > Interface # >Network Layer >Schedulers
and Queues. In this section, we show how to configure SCFQ parameters for a specific node using the Default Device Properties Editor. Parameters can be set in the other properties editors in a similar way.

QualNet 5.1 Developer Model Library

171

Self-Clocked Fair Queueing (SCFQ) Scheduler

Chapter 6

2. Set IP Output Queue Scheduler to Self Clocked Fair and set the dependent parameters listed in Table 6-26.

FIGURE 6-8.

Setting Self-Clocked Fair Queuing (SCFQ) Parameters

TABLE 6-26. GUI Parameter

Command Line Equivalent of SCFQ Scheduler Parameters Scope of GUI Parameter


Node, Subnet, Interface

Command Line Parameter


QUEUE-WEIGHT

Specify Priority Output Queue Weight

Setting Parameters

To enable IP Queue Weights, set Specify Priority Output Queue Weight to Yes; otherwise, set
Specify Priority Output Queue Weight to No.

172

QualNet 5.1 Developer Model Library

Chapter 6

Self-Clocked Fair Queueing (SCFQ) Scheduler

Configuring Statistics Parameters Statistics for Self-Clocked Fair Queuing (SCFQ) Scheduler can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for IP Output Queue Scheduler, check the box labeled IP Output Scheduler in the appropriate properties editor.

TABLE 6-27. Command Line Equivalent of Statistics Parameters GUI Parameter


IP Output Scheduler

Scope of GUI Parameter


Global, Node

Command Line Parameter


SCHEDULER-STATISTICS

6.6.5 Statistics
Table 6-28 lists the SCFQ statistics that are output to the statistics (.stat) file at the end of simulation:

TABLE 6-28. Statistic


Packets Queued Packets Dequeued Packets Dropped Dequeue Requests While Queue Active Dequeue Requests Serviced Service Ratio Received Total Service Received(Bytes)

SCFQ Statistics Description

Total number of packets enqueued in the queue Total number of packets dequeued Total number of packets dropped Total number of dequeue requests while the queue is active. Total number of de queue requests serviced. See note 1 below. Total number of serviced dequeue request to total dequeue requests. See note 2 below. Total service received in bytes.

Notes: Dequeue requests serviced is calculated as follows: 1. Dequeue requests serviced = total number of dequeue requests - total number of missed services. 2. Service ratio received is calculated as follows:

If total dequeue requests are greater than zero, service ratio received = (total
number of missed services) / (total number of dequeue requests)

If total dequeue requests is equal to zero, service ratio received = 0.0

QualNet 5.1 Developer Model Library

173

Self-Clocked Fair Queueing (SCFQ) Scheduler

Chapter 6

6.6.6 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the SCFQ scheduler. All scenarios are located in the directory QUALNET_HOME/scenarios/developer/scheduler. Table 6-29 lists the subdirectory where each scenario is located.

TABLE 6-29. Scenario


scfq

SCFQ Scenarios Included in QualNet Description


Shows the behavior of SCFQ scheduler at the intermediate node.

6.6.7 References
The QualNet SCFQ model is based on the information available at the following URLs: 1. http://www.cisco.com/warp/public/732/Tech/wfq/ 2. www.rennes.enst-bretagne.fr/~toutain/G6Recherche/Papier-LBSCFQ-lamti.PDF

174

QualNet 5.1 Developer Model Library

Chapter 6

Weighted Fair Queuing (WFQ) Scheduler

.........................................................................
6.7 Weighted Fair Queuing (WFQ) Scheduler
6.7.1 Description
WFQ Scheduler is an alternative scheduling discipline in QualNet. WFQ attempts to service each priority queue based on a percentage allocation of the total outgoing bandwidth of the link. This allocation is based on a configurable weight assigned to each queue.

6.7.2 Features and Assumptions


This section describes the implemented features, omitted features, assumptions and limitations of the WFQ scheduler model.

6.7.2.1 Implemented Features Selects the queue with the smallest virtual finish time (SF) for dequeue. 6.7.2.2 Omitted Features
None.

6.7.2.3 Assumptions and Limitations Users can specify a weight for each queue, but it should be >0 and <1. If there is no weight specified for
the queues, weights for each queue are assigned internally according to their priority.

6.7.3 Command Line Configuration


To select the WFQ scheduler, include the following parameter in the sceanrio configuration (.config) file: [<Qualifier>] IP-QUEUE-SCHEDULER WEIGHTED-FAIR

The scope of this parameter declaration can be Global, Node, Subnet, or Interface. See Section 1.2.1.1 for a description of <Qualifier> for each scope.

QualNet 5.1 Developer Model Library

175

Weighted Fair Queuing (WFQ) Scheduler

Chapter 6

WFQ Parameters WFQ parameters are described in Table 6-30. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 6-30. Parameter QUEUE-WEIGHT


Optional Scope: All Instances: priority Real Range: [0.0, 1.0]

SCFQ Parameters Description


Weight of the queue. Note: The weights for all queues on an interface should add up to 1.

Value

Default: See note below table. List YES NO Default: NO List YES NO Default: NO

INPUT-SCHEDULERSTATISTICS
Optional Scope: Global, Node

Indicates whether statistics are collected for input schedulers.

SCHEDULER-STATISTICS
Optional Scope: All

Indicates whether statistics are collected for output schedulers.

Note:

The default weight of each queue is the ((priority value of the queue)+ 1) / (sum of all the priority values for all the queues + number of queues).

6.7.4 GUI Configuration


This section describes how to configure Weighted Fair Queuing (WFQ) Scheduler model in the GUI. Configuring WFQ Parameters To configure the Weighted Fair Queuing Scheduler parameters, perform the following steps: 1. Go to one of the following locations:

To set wireless subnet properties, go to Wireless Subnet Properties Editor > Network Layer >
Schedulers and Queues

To set properties for a specific node, go to Node Properties Editor > Node Configuration >
Network Layer >Schedulers and Queues

To set properties for a specific interface of a node, go to one of the following locations: - Interface Properties Editor > Interfaces > Interface # >Network Layer >Schedulers and
Queues

- Default Device Properties Editor > Interfaces > Interface # >Network Layer >Schedulers
and Queues. In this section, we show how to configure WFQ parameters for a specific node using the Default Device Properties Editor. Parameters can be set in the other properties editors in a similar way. 2. Set IP Output Queue Scheduler to Weighted Fair and set Specify IP Output Queue Weights.

176

QualNet 5.1 Developer Model Library

Chapter 6

Weighted Fair Queuing (WFQ) Scheduler

FIGURE 6-9.

Setting WFQ Parameters

Setting Parameters

To enable IP Queue Weights, set Specify IP Output Queue Weights to Yes; otherwise, set Specify
IP Output Queue Weights to No.

Specify IP Output Queue Weights is a dummy parameter and does not have a command line
equivalent. 3. If Specify IP Output Queue Weights is set to Yes, then set the dependent parameters listed in Table 6-31. Note: When Specify IP Output Queue Weights is set to Yes, click Apply button to update and display the list of dependent parameters shown in Figure 6-10.

QualNet 5.1 Developer Model Library

177

Weighted Fair Queuing (WFQ) Scheduler

Chapter 6

FIGURE 6-10.

Setting IP Queue Weights

TABLE 6-31. GUI Parameter


IP Queue Weight

Command Line Equivalent of IP Queue Weight Parameters Scope of GUI Parameter


Node, Subnet, Interface

Command Line Parameter


QUEUE-WEIGHT

Configuring Statistics Parameters Statistics for Weighted Fair Queuing (WFQ) Scheduler can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for IP Output Queue Scheduler, check the box labeled IP Output Scheduler in the appropriate properties editor.

TABLE 6-32. Command Line Equivalent of Statistics Parameters GUI Parameter


IP Output Scheduler

Scope of GUI Parameter


Global, Node

Command Line Parameter


SCHEDULER-STATISTICS

178

QualNet 5.1 Developer Model Library

Chapter 6

Weighted Fair Queuing (WFQ) Scheduler

6.7.5 Statistics
Table 6-33 lists the WFQ scheduler statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 6-33. Statistic
Packets Queued Packets Dequeued Packets Dropped Dequeue Requests While Queue Active Dequeue Requests Serviced Service Ratio received Total Service Received(Bytes)

WFQ Scheduler Statistics Description


Total number of packets enqueued in the queue. Total number of packets dequeued. Total number of packets dropped. Total number of dequeue requests while the queue is active. Total number of dequeue requests services. Total packets dequeued to total dequeue requests. Total service received in bytes.

6.7.6 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the WFQ scheduler model. All scenarios are located in the directory QUALNET_HOME/scenarios/developer/scheduler. Table 6-34 lists the subdirectory where each scenario is located. TABLE 6-34. Scenario
wfq

WFQ Scheduler Scenarios Included in QualNet Description

Shows the behavior of WFQ scheduler at the intermediate node.

6.7.7 References
The QualNet WFQ model is based on the information available at the following URLs: 1. Computer Networking by Jame F. Kurose, Keith W. Ross [page - 530]. 2. http://www.cs.berkeley.edu/~kfall/EE122/wfq-notes/index.htm. 3. Wfq from Cisco http://www.cisco.com/warp/public/732/Tech/wfq/. 4. Wfq implementation http://www.sics.se/~ianm/WFQ/wfq_descrip/node21.html.

QualNet 5.1 Developer Model Library

179

Strict Priority Scheduler

Chapter 6

.........................................................................
6.8 Strict Priority Scheduler
6.8.1 Description
The Strict Priority scheduler services the highest priority queue until it is empty, and then moves to the next highest priority queue, and so on. It is possible that if there is enough high priority traffic, the lower priorities could be starved.

6.8.2 Command Line Configuration


To select the Strict Priority scheduler, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] IP-QUEUE-SCHEDULER STRICT-PRIORITY

The scope of this parameter declaration can be Global, Node, Subnet, or Interface. See Section 1.2.1.1 for a description of <Qualifier> for each scope. Strict Priority Scheduler Parameters Table 6-35 shows the Strict Priority scheduler parameters. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 6-35. Parameter


INPUT-SCHEDULER-STATISTICS Optional Scope: Global, Node SCHEDULER-STATISTICS Optional Scope: All List

Strict Priority Scheduler Parameters Value Description


Indicates whether statistics are collected for input schedulers.

YES NO Default: NO List YES NO Default: NO

Indicates whether statistics are collected for output schedulers.

6.8.3 GUI Configuration


To configure the Strict Priority Scheduler, perform the following steps: 1. Go to one of the following locations:

To set properties for a specific wireless subnet, go to Wireless Subnet Properties Editor >
Network Layer > Schedulers and Queues.

To set properties for a specific node, go to Default Device Properties Editor > Node
Configuration > Network Layer > Schedulers and Queues.

180

QualNet 5.1 Developer Model Library

Chapter 6

Strict Priority Scheduler

To set properties for a specific interface of a node, go to one of the following locations: - Interface Properties Editor > Interfaces > Interface # > Network Layer > Schedulers and
Queues.

- Default Device Properties Editor > Interfaces > Interface # > Network Layer > Schedulers
and Queues. In this section, we show how to configure the Strict Priority Scheduler parameters for a specific node using the Default Device Properties Editor. Parameters can be set in the other properties editors in a similar way. 2. Set IP Output Queue Scheduler to Strict Priority. There are no dependent parameters for this scheduler.

FIGURE 6-11.

Setting Strict Priority

Configuring Statistics Parameters Statistics for Strict Priority Scheduler can be collected at the Global, Node, and Interface levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for Strict Priority Scheduler, check the boxes in the appropriate properties editor and listed in Table 6-36.

TABLE 6-36. Command Line Equivalent of Statistics Parameters GUI Parameter


IP Input Scheduler IP Output Scheduler

Scope of GUI Parameter


Global, Node, Interface Global, Node, Interface

Command Line Parameter


INPUT-SCHEDULER-STATISTICS SCHEDULER-STATISTICS

QualNet 5.1 Developer Model Library

181

Strict Priority Scheduler

Chapter 6

6.8.4 Statistics
Table 6-37 lists the Strict Priority scheduler statistics that are output to the statistics (.stat) file at the end of simulation.

TABLE 6-37. Statistics


Packets Queued Packets Dequeued Packets Dropped

Strict Priority Scheduler Statistics Description


Total number of packets enqueued in the queue Total number of packets dequeued Total number of packets dropped

6.8.5 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the Strict Priority scheduler. All scenarios are located in the directory QUALNET_HOME/scenarios/developer/scheduler. Table 6-38 lists the subdirectory where each scenario is located. TABLE 6-38. Scenario
strict-priority

Strict Priority Scheduler Scenarios Included in QualNet Description


Shows the behavior of STRICT-PRIORITY scheduler at the intermediate node. Packets with priority 0 are considered to be the highest priority and will be served as soon as they arrive at the intermediate node, leading to the phenomenon of lower priority queue starvation.

182

QualNet 5.1 Developer Model Library

Chapter 6

Weighted RED (WRED) Queue

.........................................................................
6.9 Weighted RED (WRED) Queue
6.9.1 Description
WRED is a multilevel RED (MRED) queuing algorithm suitable for the AF PHB that can identify any preferences and can punish misbehaving users. The incoming packets are marked through packet marking algorithm on the basis of Service Level Agreement (SLA) between the customer and serviceprovider. The marking is done in two-color (DP0 and DP1) or three-color (DP0, DP1, DP2) level referring drop precedence (DP) as below:

Green: Level Low Drop, DP0 Yellow: Level Medium Drop, DP1 Red: Level High Drop, DP2
WRED is a Single Average Multiple threshold (SAMT) variant of multilevel RED and can operate in threecolor mode. It uses three RED algorithms - destined for DP0, DP1 and DP2 packets. When congestion occurs it first drops DP2 packets, and if the congestion persists, it drops DP1 packets and finally it drops DP0 packets as a last resort. But how and when it starts dropping DP1 or DP0 packets depends on the RED parameter specification for each color. Thus, RED parameter settings in configuration file should reflect this inherent assumption that it drops DP2 packets more aggressively than dropping the DP1 packets. Again it drops DP1 packets more aggressively than dropping the DP0 packets.

6.9.2 Command Line Configuration


To specify WRED as the queue discipline, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] where <Index> Queue index to which this parameter declaration is applicable, enclosed in square brackets. This should be in the range 0 to n -1, where n is the number of priority queues at the interface. The instance specification is optional. If an instance is not included, then the parameter declaration is applicable to all queues at the interface The scope of this parameter declaration can be Global, Node, Subnet, or Interface. See Section 1.2.1.1 for a description of <Qualifier> for each scope. IP-QUEUE-TYPE[<Index>] WRED

QualNet 5.1 Developer Model Library

183

Weighted RED (WRED) Queue

Chapter 6

WRED Parameters Table 6-39 shows the WRED parameters. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 6-39. WRED Parameters Parameter IP-QUEUE-PRIORITY-QUEUESIZE


Optional Scope: All Instances: queue index

Value
Integer Range: > 0 Default: 150000 Unit: bytes Integer Range: > 0 Default: 10 Unit: packets Integer Range: > 0 Default: 20 Unit: packets Real Range: [0.0, 1.0] Default: 0.02 Queue size.

Description

GREEN-PROFILE-MINTHRESHOLD
Optional Scope: All Instances: queue index

Specifies the number of green profile packets in the queue that represents the lower bound at which green packets can be randomly dropped.

GREEN-PROFILE-MAXTHRESHOLD
Optional Scope: All Instances: queue index

Specifies the number of green packets in the queue that represents the upper bound at which green packets can be randomly dropped.

GREEN-PROFILE-MAXPROBABILITY
Optional Scope: All Instances: queue index

Specifies the maximum probability value at which a packet can be dropped (before the queue is completely full).

YELLOW-PROFILE-MINTHRESHOLD
Optional Scope: All Instances: queue index

Integer Range: > 0 Default: 5 Unit: packets Integer Range: > 0 Default: 10 Unit: packets

Specifies the number of yellow profile packets in the queue that represents the lower bound at which yellow packets can be randomly dropped.

YELLOW-PROFILE-MAXTHRESHOLD
Optional Scope: All Instances: queue index

Specifies the number of yellow profile packets in the queue that represents the upper bound at which yellow packets can be randomly dropped.

184

QualNet 5.1 Developer Model Library

Chapter 6 TABLE 6-39. Parameter YELLOW-PROFILE-MAXPROBABILITY


Optional Scope: All Instances: queue index Real Range: [0.0, 1.0] Default: 0.02

Weighted RED (WRED) Queue WRED Parameters (Continued) Value Description


Specifies the maximum probability (0...1) value at which a packet can be dropped (before the queue is completely full).

RED-PROFILE-MIN-THRESHOLD
Optional Scope: All Instances: queue index

Integer Range: > 0 Default: 2 Unit: packets Integer Range: > 0 Default: 5 Unit: packets Real Range: [0.0, 1.0] Default: 0.02

Specifies the number of red profile packets in the queue that represents the lower bound at which red packets can be randomly dropped.

RED-PROFILE-MAX-THRESHOLD
Optional Scope: All Instances: queue index

Specifies the number of red profile packets in the queue that represents the upper bound at which red packets can be randomly dropped.

RED-PROFILE-MAXPROBABILITY
Optional Scope: All Instances: queue index

Specifies the maximum probability (0...1) value at which a packet can be dropped (before the queue is completely full).

RED-QUEUE-WEIGHT
Optional Scope: All

Real Range: [0.0,1.0] Default: 0.002

Specifies the queue weight used to determine the bias towards recent or historical queue lengths in calculating the average.

Instances: queue index

RED-SMALL-PACKETTRANSMISSION-TIME
Optional Scope: All Instances: queue index

Time Range: > 0S Default: 10MS

Specifies the sample amount of time to transmit a small packet. Used to estimate the queue average during idle periods.

QualNet 5.1 Developer Model Library

185

Weighted RED (WRED) Queue TABLE 6-39. Parameter INPUT-QUEUE-STATISTICS


Optional Scope: All List YES NO Default: NO List YES NO Default: NO

Chapter 6 WRED Parameters (Continued) Value Description


Indicates whether statistics are collected for input queue.

QUEUE-STATISTICS
Optional Scope: All

Indicates whether statistics are collected for output queue.

6.9.3 GUI Configuration


This section describes how to configure Weighted RED Queue in the GUI. Configuring Weighted RED (WRED) Queue Parameters To configure the Weighted RED (WRED) Queue parameters, perform the following steps: 1. Go to one of the following locations:

To set wireless subnet properties, go to Wireless Subnet Properties Editor > Network Layer >
Schedulers and Queues.

To set properties for a specific node, go to Node Properties Editor > Node Configuration >
Network Layer > Schedulers and Queues.

To set properties for a specific interface of a node, go to one of the following locations: - Interface Properties Editor > Interfaces > Interface # > Network Layer > Schedulers and
Queues

- Default Device Properties Editor > Interfaces > Interface # > Network Layer > Schedulers
and Queues. In this section, we show how to configure WRED parameters for a specific node using the Default Device Properties Editor. Parameters can be set in the other properties editors in a similar way.

186

QualNet 5.1 Developer Model Library

Chapter 6

Weighted RED (WRED) Queue

2. Set IP Queue Type to WRED and set the dependent parameters listed in Table 6-40.

FIGURE 6-12.

Setting Weighted RED (WRED) Parameters

TABLE 6-40.

Command Line Equivalent of Weighted RED (WRED) Queue Parameters Scope of GUI Parameter
Node, Subnet, Interface Node, Subnet, Interface Node, Subnet, Interface Node, Subnet, Interface Node, Subnet, Interface Node, Subnet, Interface Node, Subnet, Interface Node, Subnet, Interface Node, Subnet, Interface

GUI Parameter
IP Queue Size Green Profile Minimum Threshold Green Profile Maximum Threshold Green Profile Maximum Probability Yellow Profile Minimum Threshold Yellow Profile Maximum Threshold Yellow Profile Maximum Probability Red Profile Minimum Threshold Red Profile Maximum Threshold

Command Line Parameter


IP-QUEUE-PRIORITY-QUEUE-SIZE GREEN-PROFILE-MIN-THRESHOLD GREEN-PROFILE-MAX-THRESHOLD GREEN-PROFILE-MAX-PROBABILITY YELLOW-PROFILE-MIN-THRESHOLD YELLOW-PROFILE-MAX-THRESHOLD YELLOW-PROFILE-MAX-PROBABILITY RED-PROFILE-MIN-THRESHOLD RED-PROFILE-MAX-THRESHOLD

QualNet 5.1 Developer Model Library

187

Weighted RED (WRED) Queue TABLE 6-40.

Chapter 6

Command Line Equivalent of Weighted RED (WRED) Queue Parameters Scope of GUI Parameter
Node, Subnet, Interface Node, Subnet, Interface Node, Subnet, Interface

GUI Parameter
Red Profile Maximum Probability Red Queue Weight Small Packet Transmission Time

Command Line Parameter


RED-PROFILE-MAX-PROBABILITY RED-QUEUE-WEIGHT RED-SMALL-PACKET-TRANSMISSIONTIME

Configuring Statistics Parameters Statistics for Weighted RED (WRED) Queue can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for IP output queues, check the box labeled IP Output Queue in the appropriate properties editor.

TABLE 6-41. Command Line Equivalent of Statistics Parameters GUI Parameter


IP Output Queue

Scope of GUI Parameter


Global, Node

Command Line Parameter


QUEUE-SATISTICS

6.9.4 Statistics
Table 6-42 lists the WRED queue statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 6-42. Statistics
GREEN Packets Queued GREEN Packets Dequeued GREEN Packets Marked ECN GREEN Packets Dropped YELLOW Packets Queued YELLOW Packets Dequeued YELLOW Packets Marked ECN YELLOW Packets Dropped RED Packets Queued RED Packets Dequeued RED Packets Marked ECN RED Packets Dropped

WRED Statistics Description

Total number of GREEN packets queued in this queue. Total number of GREEN packets dequeued from this queue. Total number of GREEN packets marked by the Explicit Congestion Notification (ECN) capable network. Total number of GREEN packets dropped by this queue. Total number of YELLOW packets queued in this queue. Total number of YELLOW packets dequeued from this queue. Total number of YELLOW packets marked by the Explicit Congestion Notification (ECN) capable network. Total number of YELLOW packets dropped by this queue. Total number of RED packets queued in this queue. Total number of RED packets dequeued from this queue. Total number of RED packets marked by the Explicit Congestion Notification (ECN) capable network. Total number of RED packets dropped by this queue.

188

QualNet 5.1 Developer Model Library

Chapter 6 TABLE 6-42. Statistics


Total Packets Queued Total Packets Dequeued Total Packets Dropped Average Queue Length (bytes) Average Time in Queue (seconds) Longest Time in Queue (seconds) Peak Queue Size (bytes) Packets Marked ECN Total Packets Dropped Forcefully

Weighted RED (WRED) Queue WRED Statistics Description


Total number of packets queued in this queue. Total number of packets dequeued from this queue. Total number of packets dropped by this queue. Average queue length in bytes reached by this queue during simulation. See note below. Average delay in seonds suffered by the packets in this queue. Longest delay in seconds suffered by a packet in this queue. Largest size ever reached by the queue (bytes) Total number of packets marked by ECN capable network. Total packets dropped forcefully due to reasons other than the queue being full, such as the next hop not being reachable..

Note:

The average queue length is calculated as follows: average queue length = sum of weighted packet sizes for all packets / (simulation time, in seconds), where weighted packet size = (packet size, in bytes) * (time spent by the packet in the queue, in seconds)

6.9.5 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the WRED queue. All scenarios are located in the directory QUALNET_HOME/scenarios/developer/queue/wred. Table 6-43 lists the subdirectory where each scenario is located.

TABLE 6-43. Scenario


wred

WRED Scenarios Included in QualNet Description


Shows how packets are handled by WRED queue when bottleneck condition arrives.

6.9.6 References
1. "Empirical Study Of Buffer Management Schemes For Diffserv Assured Forwarding PHB" (www.sce.carleton.ca/faculty/lambadaris/recent-papers/162.pdf) 2. http://www.cisco.com/warp/public/732/Tech/red/

QualNet 5.1 Developer Model Library

189

Weighted Round Robin (WRR) Scheduler

Chapter 6

.........................................................................
6.10 Weighted Round Robin (WRR) Scheduler
6.10.1 Description
The WRR Scheduler is an alternative scheduling discipline in QualNet. Weighted Round Robin also attempts to service each priority queue based on a percentage allocation of the total outgoing bandwidth of the link. However, it does not calculate a Finish Time (the time at which a packet would have been serviced given a hypothetical fluid server) for each packet, instead, it establishes a round-robin order with multiple turns for highly weighted priority queues.

6.10.2 Features and Assumptions


This section describes the implemented features, omitted features, assumptions and limitations of the WRR model.

6.10.2.1 Implemented Features Improved performance by insertion of service prioritization. Ensures traffic gets a fair share of allocated bandwidth. 6.10.2.2 Omitted Features
None.

6.10.2.3 Assumptions and Limitations Users can specify a weight for each queue, but it should be >0 and <1. If there is no weight specified for
queues, weights for each queue are assigned internally according to their priority.

6.10.3 Command Line Configuration


To select the WRR scheduler, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] IP-QUEUE-SCHEDULER WEIGHTED-ROUND-ROBIN

The scope of this parameter declaration can be Global, Node, Subnet, or Interface. See Section 1.2.1.1 for a description of <Qualifier> for each scope.

190

QualNet 5.1 Developer Model Library

Chapter 6

Weighted Round Robin (WRR) Scheduler

WRR Parameters WRR parameters are described in Table 6-44. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 6-44. Parameter INPUT-SCHEDULERSTATISTICS


Optional Scope: Global, Node List YES NO Default: NO Real Range: [0.0, 1.0]

WRR Parameters Description


Indicates whether statistics are collected for input scheduler.

Value

QUEUE-WEIGHT
Optional Scope: All Instances: priority

Weight of the queue. Note: The weights for all queues on an interface should add up to 1.

Default: See note below table. List YES NO Default: NO Indicates whether statistics are collected for output scheduler.

SCHEDULER-STATISTICS
Optional Scope: All

Note:

The default weight of each queue is the ((priority value of the queue)+ 1) / (sum of all the priority values for all the queues + number of queues).

6.10.4 GUI Configuration


This section describes how to configure Weighted Round Robin (WRR) Scheduler model in the GUI. Configuring WFQ Parameters To configure the Weighted Round Robin Scheduler parameters, perform the following steps: 1. Go to one of the following locations:

To set wireless subnet properties, go to Wireless Subnet Properties Editor > Network Layer >
Schedulers and Queues

To set properties for a specific node, go to Node Properties Editor > Node Configuration >
Network Layer >Schedulers and Queues

To set properties for a specific interface of a node, go to one of the following locations: - Interface Properties Editor > Interfaces > Interface # >Network Layer >Schedulers and
Queues

- Default Device Properties Editor > Interfaces > Interface # >Network Layer >Schedulers
and Queues. In this section, we show how to configure WRR parameters for a specific node using the Default Device Properties Editor. Parameters can be set in the other properties editors in a similar way.

QualNet 5.1 Developer Model Library

191

Weighted Round Robin (WRR) Scheduler

Chapter 6

2. Set IP Output Queue Scheduler to Weighted Round Robin and set Specify IP Output Queue Weights.

FIGURE 6-13.

Setting WRR Parameters

Setting Parameters

To specify IP Queue Weights, set Specify IP Output Queue Weights to Yes; otherwise, set
Specify IP Output Queue Weights to No. 3. If Specify IP Output Queue Weights is set to Yes, then set the dependent parameters listed in Table 6-45. Note: When Specify IP Output Queue Weights is set to Yes, click the Apply button to update and display the list of dependent parameters.

192

QualNet 5.1 Developer Model Library

Chapter 6

Weighted Round Robin (WRR) Scheduler

FIGURE 6-14.

Setting IP Queue Weights

TABLE 6-45. GUI Parameter


IP Queue Weight

Command Line Equivalent of IP Queue Weight Parameters Scope of GUI Parameter


Node, Subnet, Interface

Command Line Parameter


QUEUE-WEIGHT

Configuring Statistics Parameters Statistics for Weighted Round Robin (WRR) Scheduler can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for IP Output Queue Scheduler, check the box labeled IP Output Scheduler in the appropriate properties editor.

TABLE 6-46. Command Line Equivalent of Statistics Parameters GUI Parameter


IP Output Scheduler

Scope of GUI Parameter


Global, Node

Command Line Parameter


SCHEDULER-STATISTICS

QualNet 5.1 Developer Model Library

193

Weighted Round Robin (WRR) Scheduler

Chapter 6

6.10.5 Statistics
Table 6-47 lists the WRR statistics that are output to the statistics (.stat) file at the end of simulation: TABLE 6-47. Statistics
Packets Queued Packets Dequeued Packets Dropped Service Ratio

WRR Statistics Description

Total number of packets enqueued in the queue Total number of packets dequeued from the queue Total number of packets dropped from the queue Total number of packets dequeued to total number of dequeue requests

6.10.6 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the WRR model. All scenarios are located in the directory QUALNET_HOME/scenario/developer/wrr. Table 6-48 lists the sub-directory where each scenario is located. TABLE 6-48. Scenario
wrr

WRR Scenarios Included in QualNet Description


Shows the behavior of WRR scheduler at the intermediate node.

6.10.7 References
The QualNet WRR model is based on the information available at the following URLs: 1. A Methodology for Study of Network Processing Architectures. SURYANARAYANAN, DEEPAK.(Under the direction of Dr.Gregory T Byrd.). 2. http://www.lib.ncsu.edu/etd/public/etd-45401520610152001/etd.pdf.

194

QualNet 5.1 Developer Model Library

Transport Layer Models

This chapter describes features, configuration requirements and parameters, statistics, and scenarios for Transport Layer Models, and consists of the following sections:

Abstract Transmission Control Protocol (Abstract TCP) Transmission Control Protocol (TCP) User Datagram Protocol (UDP)

QualNet 5.1 Developer Model Library

195

Abstract Transmission Control Protocol (Abstract TCP)

Chapter 7

.........................................................................
7.1 Abstract Transmission Control Protocol (Abstract TCP)
7.1.1 Description
Abstract TCP is based on TCP Reno (see Section 7.2). However, it simplifies and omits some features in order to improve the runtime performance of the TCP model. Because of this, it has slightly lower fidelity as a tradeoff for simulation speed.

7.1.2 Features and Assumptions


This section describes the implemented features, omitted features, assumptions and limitations of the Abstract TCP model.

7.1.2.1 Implemented Features


The Abstract TCP model implements the TCP Reno features except the ones listed in Section 7.1.2.2.

7.1.2.2 Omitted Features


The Abstract TCP model omits the following features:

Three-way hand shaking (open/close) Keep alive Persistence time Variable packet size Actual data caching TCP options

7.1.2.3 Assumptions and Limitations


None.

7.1.3 Command Line Configuration


To enable Abstract TCP include the following parameter in the scenario configuration (.config) file: [<Qualifier>] TCP ABSTRACT-TCP

The scope of this parameter declaration can be Global or Node. See Section 1.2.1.1 for a description of <Qualifier> for each scope.

196

QualNet 5.1 Developer Model Library

Chapter 7

Abstract Transmission Control Protocol (Abstract

Abstract TCP Parameters Table 7-1 shows the configuration parameters for Abstract TCP. See Section 1.2.1.3 for a description of the format used for the parameter table. TABLE 7-1. Parameter TCP-DELAY-ACKS
Optional Scope: Global, Node List: YES NO Default: YES Integer Range: > 64 Default: 512 Unit: bytes

Abstract TCP Parameters Description


Specifies whether ACKs for data segment packets are delayed for a certain period of time to reduce the number of ACKs transmitted. If this parameter is set to NO, ACKs are sent immediately. Specifies the maximum segment size.

Value

TCP-MSS
Optional Scope: Global, Node

TCP-RECEIVE-BUFFER
Optional Scope: Global, Node

Integer Range: [1, 65535] Default: 16384 Unit: bytes

Specifies the receive buffer size. The receive buffer size provide an upper bound on the advertised window. The TCP sender cannot send more data than the available space of the receive buffer at the receiver.

TCP-SEND-BUFFER
Optional Scope: Global, Node

Integer Range: > TCPMSS Default: 16384 Unit: bytes

Specifies the send buffer size. The send buffer size provides an upper bound on the advertised window. The TCP sender cannot send more data than what is stored in the sender buffer.

TCP-STATISTICS
Optional Scope: Global, Node

List: YES NO Default: NO List: TCPDUMPASCII

This parameter enables or disables TCP statistics collection.

TCP-TRACE
Optional Scope: Global, Node

This parameter enables TCP dump. Abstract TCP supports TCP dump in TCP Dump (ASCII) format only. The name of the dump file is tcptrace_abs.asc.

QualNet 5.1 Developer Model Library

197

Abstract Transmission Control Protocol (Abstract TCP) TABLE 7-1. Parameter TCP-TRACE-DIRECTION
Optional Scope: Global, Node List: OUTPUT INPUT BOTH Default: BOTH

Chapter 7

Abstract TCP Parameters (Continued) Value Description


Specifies the type(s) of packets that are included in the dump file. INPUT : Only packets received from the network are recorded in the dump file. OUTPUT: Only packets sent to the network are recorded in the dump file. BOTH : Both sent and received packets are recorded in the dump file.

TCP-VERIFICATION-DROPCOUNT
Optional Scope: Global, Node

Integer Range: [0, 4] Default: 0

Specifies the drop count. This option is for use with TCP verification scenarios that test variation in behavior with 0 to 4 drops. Note: This parameter is for testing purposes. It is recommended that the default value be used for this parameter.

198

QualNet 5.1 Developer Model Library

Chapter 7

Abstract Transmission Control Protocol (Abstract

7.1.4 GUI Configuration


This section describes how to configure Abstract TCP in the GUI. Configuring Abstract TCP Parameters To configure the Abstract TCP parameters, perform the following steps: 1. Go to Default Device Properties Editor > Node Configuration > Transport Layer. 2. Set Configure TCP to Yes and set TCP Variant to Abstract TCP.

FIGURE 7-1. TABLE 7-2. GUI Parameter


TCP Variant

Configuring TCP Variant

Command Line Equivalent of TCP Variant Parameters Scope of GUI Parameter


Node TCP

Command Line Parameter

QualNet 5.1 Developer Model Library

199

Abstract Transmission Control Protocol (Abstract TCP) 3. Set the dependent parameters for Abstract TCP listed in Table 7-3.

Chapter 7

FIGURE 7-2. Setting Abstract TCP Parameters TABLE 7-3. GUI Parameter
Delay Acknowledgement Packets Maximum Segment Size Sending Buffer Size Receiving Buffer Size Enable TCP trace Configure Testing Parameters

Command Line Equivalent of Abstract TCP Parameters Scope of GUI Parameter


Node Node Node Node Node Node

Command Line Parameter


TCP-DELAY-ACKS TCP-MSS TCP-SEND-BUFFER TCP-RECEIVE-BUFFER N/A

N/A

200

QualNet 5.1 Developer Model Library

Chapter 7

Abstract Transmission Control Protocol (Abstract

4. To enable TCP trace, set Enable TCP Trace to Yes and set the dependent parameters listed in Table 74.

FIGURE 7-3.

Enabling TCP Trace

TABLE 7-4. GUI Parameter


Trace Format Include Data Trace Direction

Command Line Equivalent TCP Trae Parameters Scope of GUI Parameter


Node Node Node

Command Line Parameter


TCP-TRACE TCP-TRACE-WITH-DATA TCP-TRACE-DIRECTION

5. To set testing parameters, set the Configure Testing Parameters to Yes and set the dependent parameters shown in the Table 7-5.

QualNet 5.1 Developer Model Library

201

Abstract Transmission Control Protocol (Abstract TCP)

Chapter 7

FIGURE 7-4.

Configure Testing Parameters

TABLE 7-5. GUI Parameter


Random Drop Percent Verification Drop Count

Command Line Equivalent TCP Configure Testing Parameters Scope of GUI Parameter
Node Node

Command Line Parameter


TCP-RANDOM-DROP-PERCENT TCP-VERIFICATION-DROP-COUNT

Configuring Statistics Parameters Statistics for Abstract TCP can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for Abstract TCP, check the box labeled TCP in the appropriate properties editor.

TABLE 7-6. GUI Parameter


TCP

Command Line Equivalent of TCP Statistics Parameters Scope of GUI Parameter


Global, Node

Command Line Parameter


TCP-STATISTICS

202

QualNet 5.1 Developer Model Library

Chapter 7

Abstract Transmission Control Protocol (Abstract

7.1.5 Statistics
Table 7-7 lists the Abstract TCP statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 7-7. Statistic
ACK-only Packets Sent Data Packets Fast Retransmitted Data Packets in Sequence Data Packets Received Data Packets Retransmitted Data Packets Sent Duplicate ACK Packets Received In Sequence ACK Packets Received Packets Received that are Too Short Packets Sent to Network Layer

Abstract TCP Statistics Description

Total number of pure ACK packets sent to network layer from transport layer. Total number of packets which are fast retransmitted. Total number in sequence data packets sent. Total number of pure data packets received at transport layer. Total number of data packets retransmitted. Total number of pure data packets sent to network layer from transport layer. Total number of in duplicated ACK packets received. Total number of in sequence ACK packets received by the server. Total number of short packets received with packet size smaller than TCP/IP header. Total number of packets sent to network layer from transport layer. It is the sum of data packets and control packets and pure ACK packets. But Abstract TCP has no control packets. Total number of packets received from network layer to transport layer. It is the sum of data packets and control packets and pure ACK packets. But Abstract TCP has no control packets.

Total Packets Received From Network Layer

7.1.6 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the Abstract TCP model. All scenarios are located in the directory QUALNET_HOME/scenarios/developer/tcp. Table 7-8 lists the sub-directory where each scenario is located. TABLE 7-8. Scenario
abstract-tcp-0drop abstract-tcp-1drop abstract-tcp-2drop abstract-tcp-3drop abstract-tcp-4drop abstract-tcp-delayedack-even-packet abstract-tcp-delayedack-odd-packet

Abstract TCP Scenarios Included in QualNet Description

Shows the behaviour of Abstract TCP. Shows the behaviour of Abstract TCP when one packet is dropped. Shows the behaviour of Abstract TCP when 2 packets are dropped. Shows the behaviour of Abstract TCP when 3 packets are dropped. Shows the behaviour of Abstract TCP when 4 packets are dropped. Shows the behaviour of Abstract TCP when delay ACK is ON with even number of application packets and time out has occurred. Shows the behaviour of Abstract TCP when delay ACK is ON with odd number of application packets.

QualNet 5.1 Developer Model Library

203

Transmission Control Protocol (TCP)

Chapter 7

.........................................................................
7.2 Transmission Control Protocol (TCP)
The QualNet TCP model is based on RFC 793, RFC 2481, and RFC 1323.

7.2.1 Description
The Transmission Control Protocol (TCP) is a highly reliable host-to-host protocol between hosts in packet-switched computer communication networks, and in interconnected systems of such networks. The TCP fits into a layered protocol architecture just above IP which provides a way for the TCP to send and receive variable-length datagrams. QualNet's TCP model uses code converted from the FreeBSD 2.2.2 source code implementation for TCP. The differences between the QualNet code and the FreeBSD code are improvements for simulation performance, configurability through QualNet configuration files and GUI, interface code to the simulator, and modifications to offer additional variants of TCP. FreeBSD's TCP variant is known as "TCP Lite". TCP Versions There are several versions of TCP that you can specify via the QualNet configuration file: TCP Lite, TCP NewReno, TCP Reno, TCP SACK, and TCP Tahoe. These are modified in real systems by using compiler directives to enable sections of code, and then recompiling the kernel. Some operating systems also provide ways to dynamically modify some of the TCP parameters at runtime. In QualNet, change them by editing the configuration file. You can either modify these parameters individually, or you can select one of the well known TCP versions that will automatically activate the appropriate parameters. TCP Lite is the default variant of TCP for QualNet.

7.2.2 Features and Assumptions


This section describes the implemented features, omitted features, assumptions and limitations of the TCP model.

7.2.2.1 Implemented Features TCP Lite includes the following features: - Slow Start - Congestion Avoidance - Fast Retransmit - Fast Recovery - Big Window & Protection Against Wrapped Sequence Numbers option (RFC 1323) TCP NewReno includes the following features: - Slow Start - Congestion Avoidance - Fast Retransmit - Fast Recovery with modifications TCP Reno includes the following features: - Slow Start - Congestion Avoidance

204

QualNet 5.1 Developer Model Library

Chapter 7

Transmission Control Protocol (TCP)

- Fast Retransmit - Fast Recovery TCP Selective ACKnowledgement (TCP SACK) includes the following features: - Slow Start - Congestion Avoidance - Fast Retransmit - Fast Recovery - Selective Acknowledgement TCP Tahoe includes the following features: - Slow Start - Congestion Avoidance - Fast Retransmit 7.2.2.2 Omitted Features
None.

7.2.2.3 Assumptions and Limitations


None.

7.2.3 Command Line Configuration


To configure TCP, include the parameters listed in Table 7-9 in the scenario configuration (.config) file. See Section 1.2.1.3 for a description of description of the format used for the parameter table.

TABLE 7-9. Parameter TCP


Optional Scope: Global, Node List: LITE NEWRENO RENO SACK TAHOE

TCP Parameters Description


Variant of TCP.

Value

Default: LITE

TCP-DELAY-ACKS
Optional Scope: Global, Node

List: YES NO Default: YES List: YES NO Default: NO

Specifies whether ACKs for data segment packets are delayed for a certain period of time to reduce the number of ACKs transmitted. Note: If this parameter is set to NO, ACKs are sent immediately. Specifies whether acknowledgement of short packets are delayed.

TCP-DELAY-SHORT-PACKETSACKS
Optional Scope: Global, Node

QualNet 5.1 Developer Model Library

205

Transmission Control Protocol (TCP) TABLE 7-9. Parameter TCP-USE-NAGLE-ALGORITHM


Optional Scope: Global, Node List: YES NO Default: YES

Chapter 7 TCP Parameters (Continued) Description


Specifies whether Nagle algorithm is implemented. In Nagles algorithm, a source of TCP traffic will "coalesce" small outgoing data packets into fewer and larger outgoing packets. Note: In order to send small outgoing packets individually, disable this algorithm by changing this option to NO. Specifies whether the RFC 1323 option is enabled. The RFC 1323 option sends window scale and timestamps in the TCP options header. When enabled, the RFC 132e3 option allows the reported window size to reach a maximum 1,073,725,440 bytes. Note: This option cannot be selected for TCP Reno or TCP Tahoe.

Value

TCP-USE-RFC1323
Optional Scope: Global, Node

List: YES NO Default: NO

TCP-USE-KEEPALIVE-PROBES
Optional Scope: Global, Node

List: YES NO Default: YES Integer Range: 64 Default: 512 Unit: bytes

Specifies whether keep-alive probes are employed by TCP. To turn off these probes, change this option to NO.

TCP-MSS
Optional Scope: Global, Node

Specifies the maximum segment size (in bytes).

TCP-SEND-BUFFER
Optional Scope: Global, Node

Integer Range: [64, 65535] Default: 16384 Unit: bytes

Specifies the send buffer size (in bytes). The send buffer size provides an upper bound on the advertised window. Note: Without RFC 1323, the maximum advertised window size is 65535. Setting this parameter to a value greater than 65535 will result in wasted memory without changing the behavior. Note: TCP-SEND-BUFFER should not be less than MSS. Since minimum value of MSS is 64, so it should not be less than 64.

TCP-RECEIVE-BUFFER
Optional Scope: Global, Node

Integer Range: [1, 65535] or [1, 1073725440] Default: 16384 Unit: bytes

Specifies the receive buffer size (in bytes). The receive buffer size provide an upper bound on the advertised window. Note: The TCP sender cannot send more data than the available space of the receive buffer at the receiver. Note: With RFC 1323, the maximum receive buffer size can be 1073725440.

206

QualNet 5.1 Developer Model Library

Chapter 7 TABLE 7-9. Parameter TCP-USE-PUSH


Optional Scope: Global, Node List: YES NO Default: YES List: NONE TCPPEEK TCPDUMP TCPDUMPASCII

Transmission Control Protocol (TCP) TCP Parameters (Continued) Description


Specifies whether the push field is set by the TCP traffic source. Setting the push field results in immediate ACK for a given packet, except for FIN segments. By setting this option to NO, the push field is not set. Specifies the type of TCP dump output generated. NONE : No TCP dump output is generated. TCPPEEK : TCP dump output is generated in the TCP Peek format. TCPDUMP :TCP dump output is generated in the TCP Dump format (binary). The name of the dump file is tcptrace.dmp. TCPDUMPASCII : TCP dump output is generated in the TCP Dump format (ASCII). The name of the dump file is tcptrace.asc. The format of the dump file is described in Section 7.2.3.1. Specifies whether the data payload is included in TCP dump output.

Value

TCP-TRACE
Optional Scope: Global, Node

Default: NONE

TCP-TRACE-WITH-DATA
Optional Scope: Global, Node

List: YES NO Default: NO List: BOTH INPUT OUTPUT Default: BOTH

TCP-TRACE-DIRECTION
Optional Scope: Global, Node

Specifies the type(s) of packets that are included in the dump file. INPUT : Only packets received from the network are recorded in the dump file.

OUTPUT : Only packets sent to the network are recorded in the dump file. BOTH : Both sent and received packets are recorded in the dump file.

TCP-RANDOM-DROP-PERCENT
Optional Scope: Global, Node

Real Range: [0.0, 100.0] Default: 0.0

Specifies the initial random drop percent for the node.

TCP-VERIFICATION-DROPCOUNT
Optional Scope: Global, Node

Integer Range: [0, 4] Default: 0

Specifies the drop count. This option is for use with TCP verification scenarios that test variant behavior. Note: This parameter is for testing purposes. It is recommended that the default value be used for this parameter. Specifies whether TCP options are enabled or not.

TCP-USE-OPTIONS
Optional Scope: Global, Node

List: YES NO Default: NO

QualNet 5.1 Developer Model Library

207

Transmission Control Protocol (TCP) TABLE 7-9. Parameter ECN


Optional Scope: Global, Node List: YES NO Default: NO

Chapter 7 TCP Parameters (Continued) Description


Enables Explicit Congestion Notification (ECN). ECN marks the IP header, instead of dropping packets, when network queues report congestion. ECN requires IP-QUEUE-TYPE to be Random Early Detection (RED), RED for Input Output (RIO), or Weighted Red (WRED). Furthermore, the source and destination nodes must be ECN enabled; intermediate routes do not have to be ECN enabled. Enables or disables TCP statistics collection.

Value

TCP-STATISTICS
Optional Scope: Global, Node

List: YES NO Default: NO List: YES NO Default: NO

TRACE-TCP
Optional Scope: Global, Node

Enables or disables the recording of the TCP header in the packet trace. Note: To enable packet tracing, some other parameters need to be configured as well. Refer to Section 4.2.10 of QualNet Users Guide for details.

7.2.3.1 Format of the TCP Dump (ASCII) File


If the parameter TCP-TRACE is set to TCPDUMP-ASCII, then a dump file (with the name tcptrace.asc is produced in the TCP Dump (ASCII) format. Eaxh line in this file has the following format: <time> <src> > < dst>:< flags> <data-seqno> ack<ack seq no> <value> urg <options> where <time> <src> <dest> <flags> time is recorded in hour:minute:second.fraction Source address. This can be either a host IP address or a network IP address. Destination address. This can be either a host IP address or a network IP address. flags are some combination of S (SYN), F (FIN), P (PUSH) or R (RST) or a single `.' (no flags). ACK is not considered a flag Multiple flags are concatenated together, e.g. FP to indicate FIN and PUSH <data-seqno> data-seqno describes the portion of sequence space covered by the data in this packet, i.e. <"initial sequence number of the packet":"initial sequence number of the packet + packet length"(packet length)> win

208

QualNet 5.1 Developer Model Library

Chapter 7

Transmission Control Protocol (TCP)

ack <ack seq no> win <value> urg <options>

ack is sequence number of the next data expected at the other direction on this connection. win is the number of bytes of receive buffer space available to the other direction on this connection. urg indicates there is `urgent' data in the packet. options are tcp options enclosed in angle brackets. Options are: nop for no operation mss for mean segment size wscale for window scale timestamp for time stamp sackOK for sack permitted sack for sack options Multiple options are comma separated in single brackets.

Notes: 1. All the above entries are on the same line. 2. <time>, <src>, <dst> and <flags> are always present. 3. The other fields depend on the contents of the packet's tcp protocol header and are output only if appropriate. For example, if the ack flag is missing, the ack field is not printed.

Examples: The following are examples of TCPDUMP file (ASCII format): 1.0:0:10.000000000 0.0.1.1.1024 > 0.0.2.2.25: S 1:1(0) win 16384 <mss 512,sackOK,nop,nop> 2.0:0:2.440433600 0.0.1.1.1024 > 0.0.3.2.25: P 54002:55002(1000) ack 256002 win 28000 Note: Refer to the TCP Trace website at http://www.tcptrace.com for additional examples of the format.

7.2.4 GUI Configuration


This section describes how to configure TCP parameters in the GUI. Configuring General TCP Parameters To configure the geenral TCP parameters, perform the following steps: 1. Go to Default Device Properties Editor > Node Configuration > Transport Layer.

QualNet 5.1 Developer Model Library

209

Transmission Control Protocol (TCP) 2. Set Configure TCP to Yes and set the dependent parameters listed in Table 7-10.

Chapter 7

FIGURE 7-5. Configuring General TCP Parameters TABLE 7-10. GUI Parameter
TCP Variant Delay Acknowledgments Packets Maximum Segment Size Sending Buffer Size Receiving Buffer Size Enable TCP Trace Configure Testing Parameters

Command Line Equivalent of General TCP Parameters Scope of GUI Parameter


Node Node Node Node Node Node Node

Command Line Parameter


TCP TCP-DELAY-ACKS TCP-MSS TCP-SEND-BUFFER TCP-RECEIVE-BUFFER N/A N/A

Setting Parameters

Set Trace Variant to the desired variant. To enable TCP trace, set Enable TCP Trace to Yes; otherwise, set Enable TCP Trace to No. To configure testing parameters, set Configure Testing Parameters to Yes; otherwise, set
Configure Testing Parameters to No. 3. Set TCP Variant to the desired variant and set the dependent parameters for the selected variant. Figure 7-6 shows how to set the dependent parameters for TCP Lite. Table 7-11 lists the dependent parameters for all variants.

210

QualNet 5.1 Developer Model Library

Chapter 7

Transmission Control Protocol (TCP)

FIGURE 7-6. TABLE 7-11. GUI Parameter


Use RFC 1323 Delay Acknowledgments of Short Packets Use Nagle Algorithm Use Keep-alive Probes Use TCP Option Use Push Bit

Setting TCP Variant Parameters

Command Line Equivalent of TCP Variant Parameters Scope of GUI Parameter


Node Node Node Node Node Node

Command Line Parameter


TCP-USE-RFC1323 TCP-DELAY-SHORT-PACKETS-ACKS TCP-USE-NAGLE-ALGORITHM TCP-USE-KEEPALIVE-PROBES TCP-USE-OPTIONS TCP-USE-PUSH

4. If Configure TCP [= Yes] > Enable TCP Trace is set to Yes, then set the dependent parameters listed in Table 7-12.

QualNet 5.1 Developer Model Library

211

Transmission Control Protocol (TCP)

Chapter 7

FIGURE 7-7. TABLE 7-12. GUI Parameter


Trace Format Trace Direction

Setting TCP Trace Parameters

Command Line Equivalent TCP Trace Parameters Scope of GUI Parameter


Node Node

Command Line Parameter


TCP-TRACE TCP-TRACE-DIRECTION

212

QualNet 5.1 Developer Model Library

Chapter 7

Transmission Control Protocol (TCP)

5. If Trace Format is set to TCP Peek, then set the dependent parameters listed in Table 7-13.

FIGURE 7-8. TABLE 7-13. GUI Parameter


Include Data

Setting TCP Peek Parameters

Command Line Equivalent TCP Peek Parameters Scope of GUI Parameter


Node

Command Line Parameter


TCP-TRACE-WITH-DATA

QualNet 5.1 Developer Model Library

213

Transmission Control Protocol (TCP)

Chapter 7

6. If Configure TCP [= Yes] > Configure Testing Parameters is set to Yes, then set the dependent parameters listed in Table 7-14.

FIGURE 7-9. TABLE 7-14. GUI Parameter


Random Drop Percent Verification Drop Count

Setting TCP Testing Parameters

Command Line Equivalent TCP Testing Parameters Scope of GUI Parameter


Node Node

Command Line Parameter


TCP-RANDOM-DROP-PERCENT TCP-VERIFICATION-DROP-COUNT

Configuring Statistics Parameters Statistics for TCP can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for Abstract TCP, check the box labeled TCP in the appropriate properties editor.

214

QualNet 5.1 Developer Model Library

Chapter 7

Transmission Control Protocol (TCP)

TABLE 7-15. Command Line Equivalent of Statistics Parameters GUI Parameter


TCP

Scope of GUI Parameter


Global, Node

Command Line Parameter


TCP-STATISTICS

Configuring Packet Tracing Parameters Packet tracing for TCP can be enabled at the global and node levels. To enable packet tracing for TCP, in addition to setting the TCP trace parameter, Trace TCP, several other trace parameters also need to be set. See Section 4.2.10 of QualNet Users Guide for details of configuring packet tracing parameters. TABLE 7-16. GUI Parameter
Trace TCP

Command Line Equivalent of Packet Tracing Parameters Scope of GUI Parameter


Global, Node

Command Line Parameter


TRACE-TCP

7.2.5 Statistics
Table 7-17 lists theTCP queue statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 7-17. TCP Statistics Statistic
Packets Sent to Network Layer Data Packets Sent Data Packets in Sequence Data Packets Retransmitted Data Packets Fast Retransmitted ACK-only Packets Sent Window Probes Sent Window Update-Only Packets Sent Pure Control (SYN|FIN|RST) Packets Sent Total Packets Received From Network Layer Data Packets Received Pure Control (SYN|FIN|RST) Packets Received Duplicate ACK Packets Received In Sequence ACK Packets Received Window Probes Received Window Update-Only Packets Received Total Packets with Errors Packets Received with Checksum Errors

Description
Total number of packets sent to the network layer. Total number of packets sent including retransmitted packets. Total number of packets sent, excluding retransmissions and probes. Total number of retransmitted packets. Total number of fast retransmitted packets. Total number of acknowledgement-only packets sent. Piggyback acknowledgements are not sent. Total number of window probes sent. Total number of window update packets sent. Total number of pure control (SYN | FIN | RST) packets sent. Total number of packets received from network layer. Total number of data packets received. Total number of pure control (SYN|FIN|RST) packets received. Total number of duplicate acknowledgement packets received. Total number of In sequence acknowledgement packets received. Total number of window probe packets received. Total number of window update packets received. Total number of packets received with errors like checksum, offset, or short errors. Total number of packets received with checksum errors.

QualNet 5.1 Developer Model Library

215

Transmission Control Protocol (TCP) TABLE 7-17. Statistic


Packets Received with Bad Offset Packets Received that are Too Short

Chapter 7 TCP Statistics (Continued) Description


Total number of packets received with bad offset. Total number of short packets received with packet size smaller than combined size of TCP and IP (without options) header.

7.2.6 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the TCP model. All scenarios are located in the directory QUALNET_HOME/scenarios/developer/tcp. Table 7-18 lists the sub-directory where each scenario is located. TABLE 7-18. Scenario
bottleneck-TCP lite-0drop lite-1drop lite-2drop lite-3drop lite-4drop newreno-0drop newreno-1drop newreno-2drop newreno-3drop newreno-4drop reno-0drop reno-1drop reno-2drop reno-3drop reno-4drop sack-0drop sack-1drop sack-2drop sack-3drop sack-4drop tahoe-0drop tahoe-1drop tahoe-2drop tahoe-3drop tahoe-4drop

TCP Scenarios Included in QualNet Description

Shows multiple TCP flows share the same bottleneck link. Shows the behavior of the Lite in the presence of 0 packet drop. Shows the behavior of the Lite in the presence of 1 packet drop. Shows the behavior of the Lite in the presence of 2 packet drops. Shows the behavior of the Lite in the presence of 3 packet drops. Shows the behavior of the Lite in the presence of 4 packet drops. Shows the behavior of the Newreno in the presence of 0 packet drop. Shows the behavior of the Newreno in the presence of 1 packet drop. Shows the behavior of the Newreno in the presence of 2 packet drops. Shows the behavior of the Newreno in the presence of 3 packet drops. Shows the behavior of the Newreno in the presence of 4 packet drops. Shows the behavior of the Reno in the presence of 0 packet drop. Shows the behavior of the Reno in the presence of 1 packet drop. Shows the behavior of the Reno in the presence of 2 packet drops Shows the behavior of the Reno in the presence of 3 packet drops. Shows the behavior of the Reno in the presence of 4 packet drops. Shows the behavior of the Sack in the presence of 0 packet drop. Shows the behavior of the Sack in the presence of 1 packet drop. Shows the behavior of the Sack in the presence of 2 packet drops. Shows the behavior of the Sack in the presence of 3 packet drops. Shows the behavior of the Sack in the presence of 4 packet drops. Shows the behavior of the Tahoe in the presence of 0 packet drop. Shows the behavior of the Tahoe in the presence of 1 packet drop. Shows the behavior of the Tahoe in the presence of 2 packet drops. Shows the behavior of the Tahoe in the presence of 3 packet drops. Shows the behavior of the Tahoe in the presence of 4 packet drops.

Note:

The network protocol used in all these scenarios is IPv4.

216

QualNet 5.1 Developer Model Library

Chapter 7

Transmission Control Protocol (TCP)

7.2.7 References
1. RFC 793, Transmission Control Protocol, Information Sciences Institute, University of Southern California. September 1981 2. RFC 879, The TCP Maximum Segment Size and Related Topics, J. Postel. November 1983 3. RFC 896, Congestion Control in IP/TCP Internetworks, John Nagle. January 1984 4. RFC 1122, Requirements for Internet Hosts -- Communication Layers, R. Braden. October 1989 5. TCP/IP Illustrated, Vol 1 and 2 The Protocols. W Richard Stevens, Addison Wesley 6. RFC 2481, A Proposal to add Explicit Congestion Notification (ECN) to IP, S. Floyd. January 1999 7. RFC 2884, Performance Evaluation of Explicit Congestion Notification (ECN) in IP Networks, J. Hadi Salim, U. Ahmed. July 2000 8. RFC 2309, Recommendations on Queue Management and Congestion Avoidance in the Internet, B. Braden, D. Clark, J. Crowcroft, B. Davie, S. Deering, D. Estrin, S. Floyd, V. Jacobson, G. Minshall, C. Partridge, L. Peterson, K. Ramakrishnan, S. Shenkar, J. Wroclawski, L. Zhand. April 2998 9. RFC 791, Internet Protocol Darpa Internet Program Protocol Specification, Information Sciences Institute, University of Southern California. September 1981 10.RFC 2582, The Newreno Modification to TCPs Fast Recovery Algorithm, S. Floyd, T. Henderson. April 1999. 11. RFC 2001, TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery, W. Stevens. January 1997. 12.RFC 2018, TCP Selective Acknowledgment Options, M. Mathis, J. Mahdavi, S. Floyd, A. Romanow. October 1996. 13.RFC 1323, TCP Extensions for High Performance, V. Jacobson, R. Braden, D. Borman. May 1992. 14.http://www.tcptrace.com/ 15.http://www.tcpdump.org/ 16.http://www.tac.eu.org/cgi-bin/man-cgi?tcpdump 17.Issues of TCP with SACK, Sally Floyd, http://www.aciri.org/floyd/papers/issues_sacks.pdf 18.Simulation-based Comparisons of Tahoe, Reno, and SACK TCP, Kevin Fall and Sally Floyd, http:// www.aciri.org/floyd/papers/sacks.pdf

QualNet 5.1 Developer Model Library

217

User Datagram Protocol (UDP)

Chapter 7

.........................................................................
7.3 User Datagram Protocol (UDP)
The QualNet UDP model is based on RFC 768.

7.3.1 Description
UDP is a simple, low-overhead, packet-switched transport protocol that assumes that the Internet Protocol (IP) is the underlying network protocol. Applications that require UDP include CBR or routing protocols such as RIP.

7.3.2 Command Line Configuration


The UDP model is always enabled and does not require to be enabled explicitly. UDP Parameters Table 7-19 shows the UDP parameters. See Section 1.2.1.3 for a description of the format used for the parameter table. TABLE 7-19. Parameter UDP-STATISTICS
Optional Scope: Global, Node List: YES NO Default: NO List: YES NO Default: NO Enables or disables the recording of the UDP header in the packet trace. Note: To enable packet tracing, some other parameters need to be configured as well. Refer to Section 4.2.10 of QualNet Users Guide for details.

UDP Parameters Description


Enables or disables collection of UDP statistics.

Value

TRACE-UDP
Optional Scope: Global, Node

7.3.3 GUI Configuration


UDP is always enabled and does not require to be enabled explicitly. This section describes how to configure statistics and packet tracing parameters for UDP in the GUI. Configuring Statistics Parameters Statistics for UDP can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for UDP, check the box labeled UDP in the appropriate properties editor.

218

QualNet 5.1 Developer Model Library

Chapter 7

User Datagram Protocol (UDP)

TABLE 7-20. Command Line Equivalent of Statistics Parameters GUI Parameter


UDP

Scope of GUI Parameter


Global, Node

Command Line Parameter


UDP-STATISTICS

Configuring Packet Tracing Parameters Packet tracing for UDP can be enabled at the global and node levels. To enable packet tracing for UDP, in addition to setting the UDP trace parameter, Trace UDP, several other trace parameters also need to be set. See Section 4.2.10 of QualNet Users Guide for details of configuring packet tracing parameters.

TABLE 7-21. GUI Parameter


Trace UDP

Command Line Equivalent of Packet Tracing Parameters Scope of GUI Parameter


Global, Node

Command Line Parameter


TRACE-UDP

7.3.4 Statistics
Table 7-22 lists the UDP statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 7-22. Statistic
Packets from Application Layer Packets to Application Layer

UDP Statistics Description

Total number of packets received from application layer. Total number of packets sent to application layer.

7.3.5 References
1. RFC 768, User Datagram Protocol, J. Postel. August 1980.

QualNet 5.1 Developer Model Library

219

Application Layer Models

This chapter describes features, configuration requirements and parameters, statistics, and scenarios for Application Layer Models, and consists of the following sections: Constant Bit Rate (CBR) Traffic Generator File Transfer Protocol (FTP) File Transfer Protocol/Generic (FTP/Generic) HyperText Transfer Protocol (HTTP) Lookup Traffic Generator Multicast Constant Bit Rate (MCBR) Traffic Generator Super Application Traffic Generator Telecommunications Network (TELNET) Traffic Generator (Traffic-Gen) Trace File-based Traffic Generator (Traffic-Trace) Variable Bit Rate (VBR) Traffic Generator

QualNet 5.1 Developer Model Library

220

Chapter 8

Constant Bit Rate (CBR) Traffic Generator

.........................................................................
8.1 Constant Bit Rate (CBR) Traffic Generator
8.1.1 Description
The Constant Bit Rate (CBR) traffic generator generates traffic at a constant rate by transmitting packets (also called items) of a fixed size at a fixed rate. It is generally used to provide background traffic that affects the performance of other applications being analyzed or to simulate generic multimedia traffic. CBR can be used to simulate applications for which the end-systems require predictable response time and a static amount of bandwidth continuously available for the life-time of the connection. These applications include services such as video-conferencing and telephony (voice services).

8.1.2 Features and Assumptions


This section describes the implemented features, omitted features, assumptions and limitations of the CBR model.

8.1.2.1 Implemented Features Transmission of packets of a fixed size with a constant inter-packet time. Option to specify QoS for data flows. Option to use RSVP-TE for MPLS networks. 8.1.2.2 Omitted Features
None.

8.1.2.3 Assumptions and Limitations


None.

8.1.3 Command Line Configuration


Application Configuration File Parameters To specify CBR traffic, include the following statement in the application configuration (.app) file: CBR <src> <dest> <items-to-send> <item-size> <interval> <start-time> <end-time> [TOS <tos-value> | DSCP <dscp-value> | PRECEDENCE <precedence-value>] [RSVP-TE] [MDP-ENABLED [MDP-PROFILE <profile-name>]] All parameters should be entered on the same line.

Note:

The CBR parameters are described in Table 8-1. See Section 1.2.1.3 for a description of the format used for the parameter table.

QualNet 5.1 Developer Model Library

221

Constant Bit Rate (CBR) Traffic Generator

Chapter 8

TABLE 8-1. Parameter <src>


Required

CBR Parameters Description


Client node's ID or IP address.

Value
Integer or IP Address Integer or IP Address Integer Range: 0

<dest>
Required

Server node's ID or IP address.

<items-to-send>
Required

Number of packets to send. If this is set to 0, items will be sent continually until <end-time> or until the end of the simulation, whichever comes first. See note 1. Size of each item.

<item-size>
Required

Integer Range: [32, 65023] Unit: bytes

<interval>
Required

Time Range: > 0S Time Range: 0S Time Range: 0S

Time between transmission of successive packets (inter-departure time). Time when the transmission of packets should begin. Time when the transmission of packets should end. If this is set to 0, transmission ends after <itemsto-send> packets have been sent or until the end of simulation, whichever comes first. Note: <end-time> should be 0 or greater than <start-time>.

<start-time>
Required

<end-time>
Required

TOS <tos-value>
Optional

Integer Range: [0, 255] Integer Range: [0, 63] Integer Range: [0, 7]

Value of the 8-bit TOS field of the IP header for the packets generated. See note 2. Value of the 6-bit DSCP field of the IP header for the packets generated. See note 2. Value of the 3-bit Precedence field of the IP header for the packets generated. See note 2. Specifies that RSVP-TE is used to transmit packets over an MPLS network.

DSCP <dscp-value>
Optional

PRECEDENCE <precedencevalue>
Optional

RSVP-TE
Optional

222

QualNet 5.1 Developer Model Library

Chapter 8 TABLE 8-1. Parameter MDP-ENABLED


Optional N/A

Constant Bit Rate (CBR) Traffic Generator CBR Parameters (Continued) Value Description
Keyword which specifies that MDP is enabled for the application. Note: If this keyword is not included, then the application does not run with MDP. String Name of the MDP profile to be used with the application. This should be the name of a MDP profile defined in the MDP profile file (see Section 5.2.4.3). This MDP profile takes precedence over the MDP profile associated with the node in the scenario configuration file, if any. Note: This parameter can be included only if the parameter MDP-ENABLED is also included. Note: If parameter MDP-ENABLED is included but parameter MDP-PROFILE is not included, and a MDP profile is specified for the node in the scenario configuration file, then the MDP profile specified for the node is used. If parameter MDP-ENABLED is included but parameter MDP-PROFILE is not included, and a MDP profile is not specified for the node in the scenario configuration file, then default MDP values for the MDP profile parameters are used (see Section 5.2.4.3).

MDP-PROFILE <profile-name>
Optional

Notes:

1. If <items-to-send> and <end-time> are both greater than 0, packets are transmitted until <items-to-send> packets have been sent, <end-time> is reached, or the simulation ends, whichever comes first. 2. At most one of the three parameters PRECEDENCE, DSCP, and TOS can be specified. If PRECEDENCE, DSCP, and TOS are not specified, PRECEDENCE 0 is used as default.

QualNet 5.1 Developer Model Library

223

Constant Bit Rate (CBR) Traffic Generator

Chapter 8

Scenario Configuration File Parameters Table 8-2 describes the CBR parameters that can be specified in the scenario configuration (.config) file.

TABLE 8-2. Parameter APPLICATION-STATISTICS


Optional Scope: Global, Node

CBR Scenario Configuration File Parameters Value


List: YES NO Default: NO List: YES NO Default: YES Indicates whether packet tracing is enabled for CBR. Note: To enable packet tracing, some other parameters need to be configured as well. Refer to Section 4.2.10 of QualNet Users Guide for details.

Description
Indicates whether statistics collection is enabled for applications (including CBR).

TRACE-CBR
Optional Scope: Global, Node

Examples of Parameter Usage The following are examples of CBR configuration: 1. Node 1 sends to node 2 ten items of 1460 bytes each, starting at the beginning of the simulation and up to 600 seconds into the simulation. The inter-packet time is 3 seconds. CBR 1 2 10 1460 3S 0S 600S 2. Node 1 continually sends to node 2 items of 1460 bytes each, starting at the beginning of the simulation and ending at 600 seconds into the simulation. The inter-packet time is 1 second. The total number of items sent is 600. CBR 1 2 0 1460 1S 0S 600S 3. Node 1 continually sends to node 2 items of 1460 bytes each, starting at the beginning of the simulation. Packets are sent until the end of the simulation. The inter-packet time is 1 second. CBR 1 2 0 1460 1S 0S 0S 4. Node 1 continually sends to node 2 items of 1460 bytes each, starting at the beginning of the simulation. Packets are sent until the end of the simulation. The inter-packet time is 1 second. RSVPTE is used as the transport protocol instead of UDP. CBR 1 2 0 1460 1S 0S 0S RSVP-TE

224

QualNet 5.1 Developer Model Library

Chapter 8

Constant Bit Rate (CBR) Traffic Generator

5. Node 1 sends to the node with IP address 192.168.0.8 10 items of 1460 bytes, starting at 5 seconds into the simulation and up to 600 seconds into the simulation. The inter-packet time is 1 second. The Precedence value for each packet is set to 5. The total number of items sent is 595. CBR 1 192.168.0.8 10 1460 1S 5S 600S PRECEDENCE 5 6. The node with IP address 192.168.0.1 sends to node 4 10 items of 1460 bytes each, starting at 5 seconds into the simulation and up to 600 seconds into the simulation. The inter-packet time is 1 second. The DSCP value for each packet is set to 40 (express forwarding). The total number of items sent is 595. CBR 192.168.0.1 4 10 1460 1S 5S 600S DSCP 40 7. The node with IP address 192.168.0.1 sends to the node with IP address 192.168.0.8 10 items of 1460 bytes each, starting at 5 seconds into the simulation and up to 600 seconds into the simulation. The inter-packet time is 1 second. The TOS value for each packet is set to 175. The total number of items sent is 595. CBR 192.168.0.1 192.168.0.8 10 1460 1S 5S 600S TOS 175 8. Node 1 sends to the node with IP address 192.168.0.8 ten items of 1460 bytes each, starting at 5 seconds into the simulation and up to 600 seconds into the simulation. The inter-packet time is 1 second. The TOS value of each item is set to 175. RSVP-TE is used as the transport protocol instead of UDP. The total number of items sent is 595. CBR 1 192.168.0.8 10 1460 1S 5S 600S TOS 175 RSVP-TE 9. This is the same as the previous example, except that CBR runs with MDP and uses the MDP profile associated with node 1. If there is no MDP profile associated with node 1, default values for MDP profile parameters are used. CBR 1 192.168.0.8 10 1460 1S 5S 600S TOS 175 RSVP-TE MDP-ENABLED 10.This is the same as the previous example, except that MDP uses the user-defined MDP profile profile-1. CBR 1 192.168.0.8 10 1460 1S 5S 600S TOS 175 RSVP-TE MDP-ENABLED MDP-PROFILE profile-1

8.1.4 GUI Configuration


CBR is configured using the CBR Properties Editor. To configure a CBR session between two nodes, perform the following steps: 1. Click the CBR button in the Applications tab of the Standard Toolset. 2. On the canvas, click on the source node, drag the mouse to the destination node, and release. 3. Open the CBR Properties Editor by doing one of the following: a. Right-click in the application link on the canvas and select Properties from the menu.

QualNet 5.1 Developer Model Library

225

Constant Bit Rate (CBR) Traffic Generator

Chapter 8

b. In the Applications tab of Table View either double-click on the application row or right-click on the application row and select Properties from the menu. 4. Set the parameters listed in Table 8-3.

FIGURE 8-1.

Setting CBR Parameters

TABLE 8-3.

Command Line Equivalent of CBR Parameters Command Line Parameter


<src> <dest> <items-to-send> <item-size> <start-time> <end-time> <interval> DSCP PRECEDENCE TOS RSVP-TE MDP-ENABLED

GUI Parameter
Source Destination Items to Send Item Size Start Time End Time Interval Priority (set to DSCP) Priority (set to Precedence) Priority (set to TOS) Enable RSVP-TE (set to Yes) Enable MDP (set to Yes)

226

QualNet 5.1 Developer Model Library

Chapter 8 Setting Parameters

Constant Bit Rate (CBR) Traffic Generator

To specify an IP address as the source (destination) ID, set Source (Destination) to one of the IP
addresses listed in the drop-down list.

To set DSCP, Precedence, or TOS bits for packets, set Priority to DSCP, Precedence, or TOS,
respectively.

To enable MDP, set Enable MDP to Yes.


5. If Priority is set to DSCP, Precedence, or TOS, set the appropriate dependent parameter listed in Table 8-4. Figure 8-2 shows how to set the dependent parameter when Priority is set to DSCP. Setting dependent parameters for the other two options is similar.

FIGURE 8-2. TABLE 8-4. GUI Parameter


DSCP Value Precedence Value TOS Value

Setting DSCP Value

Command Line Equivalent of Priority Parameters Command Line Parameter


<dscp-value> <precedence-value> <tos-value>

QualNet 5.1 Developer Model Library

227

Constant Bit Rate (CBR) Traffic Generator 6. If Enable MDP is set to Yes, then set the parameters listed in Table 8-5.

Chapter 8

FIGURE 8-3. TABLE 8-5. GUI Parameter


Specify MDP Profile (set to Yes)

Enabling MDP

Command Line Equivalent of MDP Parameters Command Line Parameter


MDP-PROFILE

Setting Parameters

To specify an MDP profile, set Specify MDP Profile to Yes. To use the default MDP profile, set
Specify MDP Profile to No.

228

QualNet 5.1 Developer Model Library

Chapter 8

Constant Bit Rate (CBR) Traffic Generator

7. If Specify MDP Profile is set to Yes, then set the parameters listed in Table 8-6.

FIGURE 8-4. TABLE 8-6.

Specifying MDP Profile

Command Line Equivalent of MDP Profile Parameters Command Line Parameter


<profile-name>

GUI Parameter
MDP Profile Name

Configuring Statistics Parameters Statistics for applications (including CBR) can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for CBR, check the box labeled Application in the appropriate properties editor. TABLE 8-7. GUI Parameter
Application

Command Line Equivalent of Statistics Parameters Scope of GUI Parameter


Global, Node

Command Line Parameter


APPLICATION-STATISTICS

QualNet 5.1 Developer Model Library

229

Constant Bit Rate (CBR) Traffic Generator

Chapter 8

Configuring Packet Tracing Parameters Packet tracing for CBR can be enabled at the global and node levels. To enable packet tracing for CBR, in addition to setting the CBR trace parameter, Trace CBR, several other trace parameters also need to be set. See Section 4.2.10 of QualNet Users Guide for details of configuring packet tracing parameters. TABLE 8-8. GUI Parameter
Trace CBR

Command Line Equivalent of Packet Tracing Parameters Scope of GUI Parameter


Global, Node

Command Line Parameter


TRACE-CBR

8.1.5 Statistics
Table 8-9 lists the CBR statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 8-9. Statistic
CBR Client Statistics Server address First Packet Sent at (s) Last Packet Sent at (s) Session status Total Bytes Sent Total Packets Sent Throughput (bits/s) Client address First packet received at (s) Last packet received at (s) Session status Total Bytes Received Total Packets Received Throughput (bits/s) Average End-to-End Delay Average Jitter Server address for CBR Client Time when first packet was sent (seconds) Time when last packet was sent (seconds) Status of the session (open or closed) at the end of simulation Total number of bytes sent Total number of packets sent Throughput at the client (bits/second). See note 1. CBR Server Statistics Address of the client Time when first packet was received (seconds) Time when last packet was received (seconds) Current status of the session Total number of bytes received Total number of packets received Throughput at the server (bits/second). See note 2. Average delay for packet transmission between client and server (seconds). See note 3. Average jitter for packet transmission between client and server (seconds). See note 4.

CBR Statistics Description

230

QualNet 5.1 Developer Model Library

Chapter 8

Constant Bit Rate (CBR) Traffic Generator

Notes: 1. The throughput at the client is calculated as follows:

If the session is complete, i.e., if all packets have been sent before the simulation
ends, throughput = (total bytes sent * 8) / (time last packet sent - time first packet sent), where the times are in seconds.

If the session is incomplete, i.e., if all packets have not been sent before the
simulation ends, throughput = (total bytes sent * 8) / (simulation time - time first packet sent), where the times are in seconds. 2. The throughput at the server is calculated as follows:

If the session is complete, throughput = (total bytes received * 8) / (time last packet
received - time first packet received), where the times are in seconds.

If the session is incomplete, throughput = (total bytes received * 8) / (simulation time


- time first packet received), where the times are in seconds. 3. Average end-to-end delay = (total of transmission delays of all received packets) / (number of packets received), where, transmission delay of a packet = time packet received at server - time packet transmitted at client, where the times are in seconds. 4. Average jitter = (total packet jitter for all received packets) / (number of packets received - 1) where, packet jitter = transmission delay of the current packet - transmission delay of the previous packet. Jitter can be calculated only if at least two packets have been received.

QualNet 5.1 Developer Model Library

231

File Transfer Protocol (FTP)

Chapter 8

.........................................................................
8.2 File Transfer Protocol (FTP)
The QualNet FTP application is based on the RFC 959 standard.

8.2.1 Description
FTP represents the File Transfer Protocol server and client. The size of the items sent is taken from network traces, with distributions taken from the TCPlib library. If the number of items to send is specified as 0, then TCPlib also determines the number of items to send.

8.2.2 Command Line Configuration


Application Configuration File Parameters To specify the FTP application in the application configuration (.app) file, use the following format: FTP <src> <dest> <items to send> <start time>

Table 8-10 shows the FTP parameters and their descriptions. See Section 1.2.1.3 for a description of the format used for the parameter table. TABLE 8-10. Parameter <src>
Required

FTP Parameters Description


Client node's ID or IP address.

Value
Integer or IP Address Integer or IP Address Integer Range: 0

<dest>
Required

Destination node's ID or IP address.

<items-to-send>
Required

Number of packets to send. If this is specified as 0, the number of items to send is determined by TCPlib. See note 2. Time when the transmission of packets should begin.

<start-time>
Required

Time Range: 0S

Notes: 1. If you want to be able to configure the size of packets, you should use FTP/Generic, rather than FTP. FTP/Generic represents a more configurable model of the File Transfer Protocol. The size of the items sent is not determined by network traces, instead it is user-specified. 2. If <items-to-send> is greater than 0, packets are transmitted until <items-tosend> packets have been sent, or when the simulation ends, whichever comes first.

232

QualNet 5.1 Developer Model Library

Chapter 8

File Transfer Protocol (FTP)

Scenario Configuration File Parameters Table 8-11 describes the FTP parameters that can be specified in the scenario configuration (.config) file. TABLE 8-11. Parameter APPLICATION-STATISTICS
Optional Scope: Global, Node List: YES NO Default: NO

FTP Scenario Configuration File Parameters Value Description


Indicates whether statistics are collected for application protocols (including FTP).

Examples of Parameter Usage The following are examples of FTP configuration: FTP 1 2 10 0S Node 1 sends node 2 ten items at the start of the simulation, with the size of each item randomly determined by tcplib. FTP 1 2 0 100S Node 1 sends node 2 the number of items randomly picked by tcplib after 100 seconds into the simulation. The size of each item is also randomly determined by tcplib.

8.2.3 GUI Configuration


FTP is configured using the FTP Properties Editor. To configure a FTP session between two nodes, perform the following steps: 1. Click the FTP button in the Applications tab of the Standard Toolset. 2. On the canvas, click on the source node, drag the mouse to the destination node, and release. 3. Open the FTP Properties Editor by doing one of the following: a. Right-click in the application link on the canvas and select Properties from the menu. b. In the Applications tab of Table View, either double-click on the application row or right-click on the application row and select Properties from the menu.

QualNet 5.1 Developer Model Library

233

File Transfer Protocol (FTP) 4. Set the parameters listed in Table 8-12.

Chapter 8

FIGURE 8-5. TABLE 8-12.

Setting FTP Parameters

Command Line Equivalent of FTP Parameters Command Line Parameter


<src> <dest> <items-to-send> <start-time>

GUI Parameter
Source Destination Number of Data Items Start Time

Setting Parameters

To specify an IP address as the source (destination) ID, set Source (Destination) to one of the IP
addresses listed in the drop-down list. Configuring Statistics Parameters Statistics for applications (including FTP) can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for FTP, check the box labeled Application in the appropriate properties editor.

TABLE 8-13. Command Line Equivalent of Statistics Parameters GUI Parameter


Application

Scope of GUI Parameter


Global, Node

Command Line Parameter


APPLICATION-STATISTICS

234

QualNet 5.1 Developer Model Library

Chapter 8

File Transfer Protocol (FTP)

8.2.4 Statistics
Table 8-14 lists the FTP statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 8-14. Statistic
FTP Client Statistics Server Address First Packet Sent at (s) Last Packet Sent at (s) Session Status Total Bytes Sent Total Bytes Received Throughput (bits/s) Client Address First Packet Sent at (s) Last Packet Sent at (s) Session Status Total Bytes Sent Total Bytes Received Throughput (bits/s) Specifies the server address Specifies the time when the first packet is sent (seconds) Specifies the time when the last packet is sent (seconds) Specifies whether the session status is open or closed Specifies the total number of bytes sent Specifies the total number of bytes received Specifies the total throughput of the client (bits/second). See Note 1. FTP Server Statistics Specifies the client address Specifies the time when the first packet is sent (seconds) Specifies the time when the last packet is sent (seconds) Specifies whether the session status is open or closed Specifies the total number of bytes sent Specifies the total number of bytes received Specifies the total throughput of the server (bits/second). See Note 2

FTP Statistics Description

Notes: 1. The throughput at the server is calculated as follows:

If the session is complete, throughput = (total bytes sent * 8) / (time last packet
received - time first packet received), where the times are in seconds.

If the session is incomplete, throughput = (total bytes sent * 8) / (simulation time time first packet received), where the times are in seconds. 2. The throughput at the client is calculated as follows:

If the session is complete, i.e., if all packets have been sent before the simulation
ends, throughput = (total bytes received * 8) / (time last packet sent - time first packet sent), where the times are in seconds.

If the session is incomplete, i.e., if all packets have not been sent before the
simulation ends, throughput = (total bytes received * 8) / (simulation time - time first packet sent), where the times are in seconds.

8.2.5 References
1. RFC 959, File Transfer Protocol (FTP) J. Postel, J. Reynolds. October 1985.

QualNet 5.1 Developer Model Library

235

File Transfer Protocol/Generic (FTP/Generic)

Chapter 8

.........................................................................
8.3 File Transfer Protocol/Generic (FTP/Generic)
8.3.1 Description
FTP/Generic represents a more configurable model of the File Transfer Protocol. The size of the items sent is not determined by network traces, instead it is user-specified.

8.3.2 Command Line Configuration


Application Configuration File Parameters To specify FTP/Generic traffic, include the following statement in the application configuration (.app) file: FTP/GENERIC <src> <dest> <items-to-send> <item-size> <start-time> <end-time> [TOS <tos-value> | DSCP <dscp-value> | PRECEDENCE <precedence-value>] Note: All parameters should be entered on the same line.

Table 8-15 shows the parameters for the FTP/Generic model. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 8-15. Parameter <src>


Required

FTP/Generic Parameters Description


Client node's ID or IP address.

Value
Integer or IP Address Integer or IP Address Integer Range: 0

<dest>
Required

Server node's ID or IP address.

<items-to-send>
Required

Number of packets to send. If this is set to 0, items will be sent continually until <end-time> or until the end of the simulation, whichever comes first. See note 1. Size of each item.

<item-size>
Required

Integer Range: > 0 Unit: bytes

<start-time>
Required

Time Range: 0S

Time when the transmission of packets should begin.

236

QualNet 5.1 Developer Model Library

Chapter 8 TABLE 8-15. Parameter <end-time>


Required Time Range: 0S

File Transfer Protocol/Generic (FTP/Generic) FTP/Generic Parameters (Continued) Value Description


Time when the transmission of packets should end. If this is set to 0, transmission ends after <itemsto-send> packets have been sent or until the end of simulation, whichever comes first. Note: <end-time> should be greater than <starttime> or equal to 0.

TOS <tos-value>
Optional

Integer Range: [0, 255] Integer Range: [0, 63] Integer Range: [0, 7]

Value of the 8-bit TOS field of the IP header for the packets generated. See note 2. Value of the 6-bit DSCP field of the IP header for the packets generated. See note 2. Value of the 3-bit Precedence field of the IP header for the packets generated. See note 2.

DSCP <dscp-value>
Optional

PRECEDENCE <precedencevalue>
Optional

Notes: 1. If <items-to-send> and <end-time> are both greater than 0, FTP/Generic will run until either <items-to-send> is done, <end-time> is reached, or the simulation ends, whichever comes first. 2. At most one of the three parameters PRECEDENCE, DSCP, and TOS can be specified. If PRECEDENCE, DSCP or TOS is not specified, PRECEDENCE 0 is used as default.

Scenario Configuration File Parameters Table 8-16 describes the FTP/Generic parameters that can be specified in the scenario configuration (.config) file.

TABLE 8-16. Parameter APPLICATION-STATISTICS


Optional Scope: Global, Node

FTP/Generic Scenario Configuration File Parameters Value


List: YES NO Default: NO List: YES NO Default: YES Indicates whether packet tracing is enabled for FTP Generic. Note: To enable packet tracing, some other parameters need to be configured as well. Refer to Section 4.2.10 of QualNet Users Guide for details.

Description
Indicates whether statistics are collected for application protocols (including FTP/Generic).

TRACE-GEN-FTP
Optional Scope: Global, Node

QualNet 5.1 Developer Model Library

237

File Transfer Protocol/Generic (FTP/Generic) Examples of Parameter Usage The following are examples of FTP/Generic configuration:

Chapter 8

1. Node 1 sends node 2 up to 10 items of 1460 bytes each, starting at the beginning of the simulation and up to 600 seconds into the simulation. At most 10 packets are sent and no packets are sent after 600 seconds have elapsed, even if fewer than 10 packets have been sent. FTP/GENERIC 1 2 10 1460 0S 600S 2. Node 1 continually sends to node 2 items of 1460 bytes each, starting at the beginning of the simulation until the end of simulation. FTP/GENERIC 1 2 0 1460 0S 0S 3. Node 1 sends ten 1460-byte items to node 2 with IP Precedence of 4 for each data item, starting at the beginning of the simulation and up to 600 seconds into the simulation. At most 10 packets are sent and no packets are sent after 600 seconds have elapsed, even if fewer than 10 packets have been sent. FTP/GENERIC 1 2 10 1460 0S 600S PRECEDENCE 4 4. Node 1 sends fifteen 1460-byte items to node 2 with IP DSCP of 40 for each data item, starting at the beginning of the simulation and up to 1000 seconds into the simulation. At most 15 packets are sent and no packets are sent after 1000 seconds have elapsed, even if fewer than 15 packets have been sent. FTP/GENERIC 1 2 15 1460 0S 1000S DSCP 40 5. Node 1 sends fifty 1460-byte items to node 2 with IP TOS of 170 for each data item, starting at the beginning of the simulation and up to 500 seconds into the simulation. At most 50 packets are sent and no packets are sent after 500 seconds have elapsed, even if fewer than 50 packets have been sent. FTP/GENERIC 1 2 50 1460 0S 500S TOS 170

8.3.3 GUI Configuration


FTP Generic is configured using the FTP Generic Properties Editor. To configure a FTP Generic session between two nodes, perform the following steps: 1. Click the FTP GEN button in the Applications tab of the Standard Toolset. 2. On the canvas, click on the source node, drag the mouse to the destination node, and release. 3. Open the FTP Generic Properties Editor by doing one of the following: c. Right-click in the application link on the canvas and select Properties from the menu. d. In the Applications tab of Table View, either double-click on the application row or right-click on the application row and select Properties from the menu.

238

QualNet 5.1 Developer Model Library

Chapter 8 4. Set the parameters listed in Table 8-17.

File Transfer Protocol/Generic (FTP/Generic)

FIGURE 8-6.

Setting FTP Generic Parameters

TABLE 8-17. GUI Parameter


Source Destination Items to Send Item Size Start Time End Time Priority (set to DSCP) Priority (set to Precedence) Priority (set to TOS)

GUI Parameters for FTP Generic Command Line Parameter


<src> <dest> <items-to-send> <item-size> <start-time> <end-time> DSCP PRECEDENCE TOS

Setting Parameters

To specify an IP address as the source (destination) ID, set Source (Destination) to one of the IP
addresses listed in the drop-down list.

To set DSCP, Precedence, or TOS bits for packets, set Priority to DSCP, Precedence, or TOS,
respectively.

QualNet 5.1 Developer Model Library

239

File Transfer Protocol/Generic (FTP/Generic)

Chapter 8

5. If Priority is set to DSCP, Precedence, or TOS, set the appropriate dependent parameter listed in Table 8-18. Figure 8-7 shows how to set the dependent parameter when Priority is set to DSCP. Setting dependent parameters for the other two options is similar.

FIGURE 8-7.

Setting DSCP Bits

TABLE 8-18.

GUI Parameters for Specifying QoS for FTP Generic Command Line Parameter
<dscp-value> <precedence-value> <tos-value>

GUI Parameter
DSCP Value Precedence Value TOS Value

Configuring Statistics Parameters Statistics for applications (including FTP Generic) can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for FTP Generic, check the box labeled Application in the appropriate properties editor.

TABLE 8-19. Command Line Equivalent of Statistics Parameters GUI Parameter


Application

Scope of GUI Parameter


Global, Node

Command Line Parameter


APPLICATION-STATISTICS

240

QualNet 5.1 Developer Model Library

Chapter 8

File Transfer Protocol/Generic (FTP/Generic)

8.3.4 Statistics
Table 8-20 list the FTP/Generic statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 8-20. Statistic
FTP/Generic Client Server Address First Packet Sent at (s) Last Packet Sent at (s) Session Status Total Bytes Sent Throughput (bits/s) Client Address First Packet Received at (s) Last Packet Received at (s) Session Status Total Bytes Received Throughput (bits/s) Specifies the server address Specifies the time when the first packet is sent (seconds) Specifies the time when the last packet is sent (seconds) Specifies whether the session status is open or closed Specifies the total number of bytes sent Specifies the total throughput of the client (bps). See note 1. FTP/Generic Server Specifies the client address Specifies the time when the first packet is received (seconds) Specifies the time when the last packet is received (seconds) Specifies whether the session status is open or closed Specifies the total number of bytes received Specifies the total throughput of the server (bps). See note 2.

FTP/Generic Statistics Description

Note:

1. The throughput at the client is calculated as follows:

If the session is complete, i.e., if all packets have been sent before the simulation
ends, throughput = (total bytes sent * 8) / (time last packet sent - time first packet sent), where the times are in seconds.

If the session is incomplete, i.e., if all packets have not been sent before the
simulation ends, throughput = (total bytes sent * 8) / (simulation time - time first packet sent), where the times are in seconds. 2. The throughput at the server is calculated as follows:

If the session is complete, throughput = (total bytes received * 8) / (time last packet
received - time first packet received), where the times are in seconds.

If the session is incomplete, throughput = (total bytes received * 8) / (simulation time


- time first packet received), where the times are in seconds.

QualNet 5.1 Developer Model Library

241

HyperText Transfer Protocol (HTTP)

Chapter 8

.........................................................................
8.4 HyperText Transfer Protocol (HTTP)
The QualNet HTTP model is based on the following standards:

RFC1945 Hypertext Transfer Protocol -- HTTP/1.0. RFC2068 Hypertext Transfer Protocol -- HTTP/1.1. RFC2616 Hypertext Transfer Protocol -- HTTP/1.1.

8.4.1 Description
HTTP simulates single-TCP connection web servers and clients. The size of HTTP items retrieved, number of items per Web page, think time, and user browsing behavior are taken from packet traces of HTTP network conversations.

8.4.2 Features and Assumptions


This section describes the implemented features, omitted features, assumptions and limitations of the HTTP model.

8.4.2.1 Implemented Features HTTP server initialization, message processing, and finalization functions as described in [4]. HTTP request and response. 8.4.2.2 Omitted Features
None.

8.4.2.3 Assumptions and Limitations The HTTP service response time is determined as described in [4].

8.4.3 Command Line Configuration


Application Configuration File Parameters Configuring HTTP traffic in the application configuration file (.app) consists of two parts: client configuration and server configuration. To configure an HTTP client, use the following format: HTTP <client-ID> <num-servers> <server-1> ... <server-n> <start-time> <thresh>

Note:

All client parameters should be entered on the same line.

To configure an HTTP server, use the following format: HTTPD <server-ID>

242

QualNet 5.1 Developer Model Library

Chapter 8

HyperText Transfer Protocol (HTTP)

Table 8-21 shows the HTTP parameters for clients and servers. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 8-21. HTTP Parameters Parameter Value Client Parameters <client-ID>


Required Integer Range: > 0 Integer Range: > 0 Integer Range: > 0 Node ID of the ith server. Note: There should be <num-servers> occurrences of this parameter. A node ID can appear in the list of servers for a client only if it is configured as an HTTP server. Start time from when the client begins requesting pages. Ceiling (specified in units of time) on the amount of think time allowed for a client. The network-traced based amount of time modulo this threshold is used to determine think time. Number of servers. Node ID of the client.

Description

<num-servers>
Required

<server-i>
Required

<start-time>
Required

Time Range: 0S Time Range: 0S

<thresh>
Required

Server Parameters <server-ID>


Required Integer Range: > 0 Node ID of the server.

Scenario Configuration File Parameters Table 8-22 describes the HTTP parameters that can be specified in the scenario configuration (.config) file.

TABLE 8-22. Parameter APPLICATION-STATISTICS


Optional Scope: Global, Node

HTTP Scenario Configuration File Parameters Value


List: YES NO Default: NO

Description
Indicates whether statistics are collected for application protocols (including HTTP).

QualNet 5.1 Developer Model Library

243

HyperText Transfer Protocol (HTTP) Examples of Parameter Usage The following is an example of HTTP configuration:

Chapter 8

There are HTTP servers on nodes 2, 5, 8, and 11. There is an HTTP client on node 1. This client chooses between servers 2, 5, and 11 when requesting web pages. It begins browsing after 10 seconds of simulation time have passed, and will remain idle for at most 2 minutes at a time. HTTPD 2 HTTPD 5 HTTPD 8 HTTPD 11 HTTP 1 3 2 5 11 10S 120S

8.4.4 GUI Configuration


HTTP is configured using the HTTP Properties Editor. To configure a HTTP session between two nodes, perform the following steps: 1. Click the HTTP button in the Single Host Applications tab of the Standard Toolset. 2. On the canvas, click on the node and release. 3. Open the HTTP Properties Editor by doing one of the following: e. On the canvas, either double-click on the application link or right-click on the application link and select Properties from the menu. f. In the Applications tab of Table View, either double-click on the application row or right-click on the application row and select Properties from the menu. 4. Set the parameters listed in Table 8-23.

FIGURE 8-8.

HTTP Parameters

244

QualNet 5.1 Developer Model Library

Chapter 8

HyperText Transfer Protocol (HTTP)

TABLE 8-23.

Command Line Equivalent of HTTP Parameters Command Line Parameter


<client-ID> <server-1> <server-n> <start-time> <thresh>

GUI Parameter
Source List of Servers Start Time Thresold Time

Setting Parameters

To specify an IP address as the client ID, set Source to one of the IP addresses listed in the dropdown list. 5. To select the list of servers, click on . In the dialog box that opens, select the server nodes by checking the boxes, as shown in Figure 8-10.

FIGURE 8-9.

List of Servers

QualNet 5.1 Developer Model Library

245

HyperText Transfer Protocol (HTTP)

Chapter 8

FIGURE 8-10.

Select HTTP Servers

Configuring Statistics Parameters Statistics for applications (including HTTP) can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for HTTP, check the box labeled Application in the appropriate properties editor.

TABLE 8-24. Command Line Equivalent of Statistics Parameters GUI Parameter


Application

Scope of GUI Parameter


Global, Node

Command Line Parameter


APPLICATION-STATISTICS

8.4.5 Statistics
Table 8-25 lists the HTTP statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 8-25. Statistic
HTTP Client Number of Connections Average Connection Length (s) Average Number of Pages per Connection Average Number of Bytes Received per Connection Average Number of Bytes Sent per Connection Average Page Request Time (s) Longest Page Request Time (s) Client Address Connection Length (s) Total number of connections taken by the client. The average time of connection length. (seconds) Specifies the average number of pages per connection Specifies the average number of bytes received per connection Specifies the average number of bytes sent per connection Specifies the average page request time (seconds) Specifies the longest page request time (seconds) HTTP Server Specifies the client address Specifies the length of the connection (seconds)

HTTP Statistics Description

246

QualNet 5.1 Developer Model Library

Chapter 8 TABLE 8-25. Statistic


Pages Sent Bytes Sent Bytes Received Throughput (bits/sec)

HyperText Transfer Protocol (HTTP) HTTP Statistics (Continued) Description


Specifies the total number of pages sent Specifies the total number of bytes sent Specifies the total number of bytes received Specifies the total throughput of the server (bits/sec)

Note:

The throughput at the server is calculated as follows:

If the session is complete, throughput = ((total bytes received + total bytes sent) * 8) /
(time last packet received - time first packet received), where the times are in seconds.

If the session is incomplete, throughput = ((total bytes received + total bytes sent) * 8) /
(simulation time - time first packet received), where the times are in seconds.

QualNet 5.1 Developer Model Library

247

HyperText Transfer Protocol (HTTP)

Chapter 8

8.4.6 Sample Scenario


8.4.6.1 Scenario Description
There are HTTP servers on nodes 2, 5, 8, and 11. There is an HTTP client on node 1. This client chooses between servers 2, 5, and 11 when requesting web pages. It begins browsing 10 seconds after the start of simulation and remains idle for at most 2 minutes at a time.

8.4.6.2 Command Line Configuration


To configure the above scenario for the command line, include the following lines in the application configuration (.app) file. HTTP 1 3 2 5 11 10S 120S HTTPD 2 HTTPD 5 HTTPD 8 HTTPD 11

8.4.7 References
1. RFC1945, Hypertext Transfer Protocol -- HTTP/1.0. T. Berners-Lee, R. Fielding, H. Frystyk. May 1996. 2. RFC2068, Hypertext Transfer Protocol -- HTTP/1.1. R. Fielding, J. Gettys, J. Mogul, H. Frystyk, T. Berners-Lee. January 1997. 3. RFC2616, Hypertext Transfer Protocol -- HTTP/1.1. R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee. June 1999. 4. Bruce Mah, "An Emperical Model of HTTP Network Traffic", INFOCOM 1997.

248

QualNet 5.1 Developer Model Library

Chapter 8

Lookup Traffic Generator

.........................................................................
8.5 Lookup Traffic Generator
8.5.1 Description
Lookup is an unreliable query/response application that can be used to simulate applications such as DNS lookup or ping.

8.5.2 Command Line Configuration


To specify the Lookup application, include the following statement in the application configuration (.app) file: LOOKUP <src> <dest> <num-requests-to-send> <request-size> <reply-size> <request-interval> <reply-delay> <start-time> <end-time> [TOS <tos-value> | DSCP <dscp-value> | PRECEDENCE <precedence-value>] Note: All parameters should be entered on the same line.

Table 8-26 shows the Lookup application parameters. See Section 1.2.1.1 for a description of the format used for the parameter table.

TABLE 8-26. Parameter <src>


Required

Lookup Parameters Description


Client node's ID or IP address.

Value
Integer or IP Address Integer or IP Address Integer Range: 0

<dest>
Required

Server node's ID or IP address.

<num-request-to-send>
Required

Number of packets to send. If this is set to 0, items will be sent continually until <end-time> or until the end of the simulation, whichever comes first. See note 1. Size of each request packet.

<request-size>
Required

Integer Range: [32, 65023] Unit: bytes

<reply-size>
Required

Integer Range: [24, 65023] Unit: bytes

Size of each reply size.

QualNet 5.1 Developer Model Library

249

Lookup Traffic Generator TABLE 8-26. Parameter <request-interval>


Required Time Range: > 0S Time Range: > 0S Time Range: > 0S Time Range: > 0S

Chapter 8 Lookup Parameters (Continued) Value Description


Inter-departure interval between request packets.

<reply-delay>
Required

Delay after receiving a request packet before responding with a reply packet. Time when the transmission of packets should begin. Time when the transmission of packets should end. If this is set to 0, transmission ends after <itemsto-send> packets have been sent or until the end of simulation, whichever comes first. Note: <end-time> should be either greater than <start-time> or equal to 0.

<start-time>
Required

<end-time>
Required

TOS <tos-value>
Optional

Integer Range: [0, 255] Integer Range: [0, 63] Integer Range: [0, 7]

Value of the 8-bit TOS field of the IP header for the packets generated. See note 2. Value of the 6-bit DSCP field of the IP header for the packets generated. See note 2. Value the 3-bit Precedence field of the IP header for the packets generated. See note 2.

DSCP <dscp-value>
Optional

PRECEDENCE <precedencevalue>
Optional

Notes: 1. If <num-requests-to-send> and <end-time> are both greater than 0, Lookup will run until either <items-to-send> is done, <end-time> is reached, or the simulation ends, whichever comes first. 2. At most one of the three parameters PRECEDENCE, DSCP, and TOS can be specified. If PRECEDENCE, DSCP or TOS is not specified, PRECEDENCE 0 is used as default.

250

QualNet 5.1 Developer Model Library

Chapter 8

Lookup Traffic Generator

Scenario Configuration File Parameters Table 8-27 describes the Lookup Traffic Generator parameters that can be specified in the scenario configuration (.config) file.

TABLE 8-27. Parameter

Lookup Traffic Generator Scenario Configuration File Parameters Value


List: YES NO Default: NO

Description
Indicates whether statistics are collected for application protocols.

APPLICATION-STATISTICS
Optional Scope: Global, Node

Examples of Parameter Usage The following are examples of Lookup configuration: 1. Node 1 sends to node 2 10 requests of 64bytes each every 1 second. Node 2 will reply to node 1 immediately after receiving a request packet from node 1. The size of each reply packet is 512bytes. Lookup starts at 0 seconds into simulation and stops after 10 seconds into simulation. LOOKUP 1 2 10 64 512 1S 0S 0S 10S 2. Node 1 sends to node 2 10 requests of 64 bytes each every 1 second. Node 2 will reply to node 1 after 1 millisecond once a request packet is received from node 1. The size of each reply packet is 512 bytes. Lookup starts at 10 seconds into simulation and stops after 20 seconds into simulation. LOOKUP 1 2 10 64 512 1S 1MS 10S 20S

8.5.3 GUI Configuration


Lookup Traffic Generator is configured using the Lookup Properties Editor. To configure a Lookup session between two nodes, perform the following steps: 1. Click the Lookup button in the Applications tab of the Standard Toolset. 2. On the canvas, click on the source node, drag the mouse to the destination node, and release. 3. Open the Lookup Properties Editor by doing one of the following:

Right-click in the application link on the canvas and select Properties from the menu. In the Applications tab of Table View, either double-click on the application row or right-click on the
application row and select Properties from the menu. 4. Set the parameters listed in Table 8-12.

QualNet 5.1 Developer Model Library

251

Lookup Traffic Generator

Chapter 8

FIGURE 8-11. TABLE 8-28. GUI Parameter


Source Destination Requests to Send Request Size Reply Size Request Interval Reply Delay Start Time End Time Priority (set to DSCP) Priority (set to Precedence) Priority (set to TOS)

Setting Lookup Parameters GUI Parameters for Lookup Command Line Parameter
<src> <dest> <num-request-to-send> <request-size> <reply-size> <request-interval> <reply-delay> <start-time> <end-time> DSCP PRECEDENCE TOS

252

QualNet 5.1 Developer Model Library

Chapter 8 Setting Parameters

Lookup Traffic Generator

To specify an IP address as the source (destination) ID, set Source (Destination) to one of the IP
addresses listed in the drop-down list.

To set DSCP, Precedence, or TOS bits for packets, set Priority to DSCP, Precedence, or TOS,
respectively. 5. If Priority is set to DSCP, Precedence, or TOS, set the appropriate dependent parameter listed in Table 8-29. Figure 8-12 shows how to set the dependent parameter when Priority is set to DSCP. Setting dependent parameters for the other two options is similar.

FIGURE 8-12.

Setting DSCP Bits

TABLE 8-29.

GUI Parameters for Specifying QoS for LOOKUP Command Line Parameter
<dscp-value> <precedence-value> <tos-value>

GUI Parameter
DSCP Value Precedence Value TOS Value

QualNet 5.1 Developer Model Library

253

Lookup Traffic Generator

Chapter 8

Configuring Statistics Parameters Statistics for applications (including Lookup) can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for Lookup, check the box labeled Application in the appropriate properties editor.

TABLE 8-30. Command Line Equivalent of Statistics Parameters GUI Parameter


Application

Scope of GUI Parameter


Global, Node

Command Line Parameter


APPLICATION-STATISTICS

8.5.4 Statistics
Table 8-31 list the Lookup statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 8-31. Statistic
Lookup Client Server address First Packet Sent at (s) Last Packet Sent at (s) Session status Total bytes Sent Total packets Sent Total bytes received Total packets received Average Roundtrip Delay (s) Client address First packet received at (s) Last packet received at (s) Session status Total Bytes Received Total Packets Received Total bytes sent Total packets sent Address of the server. Time in second when first packet was sent. Time in second when last packet was sent. Current status of the session. Total number of bytes sent. Total number of packets sent. Total number of bytes received. Total number of packets received. Average value of round-trip delay (seconds). Lookup Server Address of the client. Time in second when first packet was received. Time in second when last packet was received. Current status of the session. Total number of bytes received. Total number of packets received. Total number of bytes sent. Total number of packets sent.

Lookup Statistics Description

254

QualNet 5.1 Developer Model Library

Chapter 8

Multicast Constant Bit Rate (MCBR) Traffic Generator

.........................................................................
8.6 Multicast Constant Bit Rate (MCBR) Traffic Generator
8.6.1 Description
MCBR is used where there is an inherent reliance on time synchronization between the traffic source and destination multicast group. MCBR is tailored for any type of data for which the end-systems require predictable response time and a static amount of bandwidth continuously available for the life-time of the connection. These applications include services such as video conference, telephony (voice services) or any type of on-demand service, such as interactive voice and audio. For telephony and native voice applications, MCBR provides low-latency traffic with predictable delivery characteristics, and is typically used for circuit emulation. MCBR is useful where there are concerns about maintaining maximum compatibility, especially with certain streaming applications and some hardware-based decoders that don't reliably support variable bit rate.

8.6.2 Command Line Configuration


Configuration Requirements A multicast protocol must be configured in order to use MCBR. Application Configuration File Parameters To specify MCBR traffic, include the following statement in the application configuration (.app) file: MCBR <src> <multicast-destination> <items-to-send> <item-size> <interval> <start-time> <end-time> [TOS <tos-value> | DSCP <dscp-value> | PRECEDENCE <precedence-value>] [MDP-ENABLED [MDP-PROFILE <profile-name>]] Note: All parameters should be entered on the same line.

The MCBR parameters are described in Table 8-32. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 8-32. Parameter <src>


Required

MCBR Parameters Description


Client node's ID or IP address.

Value
Integer or IP Address IP Address

<multicast-destination>
Required

Group multicast address to which data packets are sent. Number of packets to send. If this is set to 0, items will be sent continually until <end-time> or until the end of the simulation, whichever comes first. See note 1.

<items-to-send>
Required

Integer Range: 0

QualNet 5.1 Developer Model Library

255

Multicast Constant Bit Rate (MCBR) Traffic Generator TABLE 8-32. Parameter <item-size>
Required

Chapter 8

MCBR Parameters (Continued) Value Description


Size of each item.

Integer Range: [13, 65203] Unit: bytes

<interval>
Required

Time Range: > 0S Time Range: 0S Time Range: 0S

Time between transmission of successive packets (inter-departure time). Time when the transmission of packets should begin. Time when the transmission of packets should end. If this is set to 0, transmission ends after <itemsto-send> packets have been sent or until the end of simulation, whichever comes first. <end-time> should be either greater than <start-time> or equal to 0.

<start-time>
Required

<end-time>
Required

TOS <tos-value>
Optional

Integer Range: [0, 255] Integer Range: [0, 63] Integer Range: [0, 7] N/A

Value of the 8-bit TOS field of the IP header for the packets generated. See note 3. Value of the 6-bit DSCP field of the IP header for the packets generated. See note 3. Value of the 3-bit Precedence field of the IP header for the packets generated. See note 3. Keyword which specifies that MDP is enabled for the application. Note: If this keyword is not included, then the application does not run with MDP.

DSCP <dscp-value>
Optional

PRECEDENCE <precedencevalue>
Optional

MDP-ENABLED
Optional

256

QualNet 5.1 Developer Model Library

Chapter 8 TABLE 8-32. Parameter MDP-PROFILE <profile-name>


Optional String

Multicast Constant Bit Rate (MCBR) Traffic Generator MCBR Parameters (Continued) Value Description
Name of the MDP profile to be used with the application. This should be the name of a MDP profile defined in the MDP profile file (see Section 5.2.4.3). This MDP profile takes precedence over the MDP profile associated with the node in the scenario configuration file, if any. Note: This parameter can be included only if the parameter MDP-ENABLED is also included. Note: If parameter MDP-ENABLED is included but parameter MDP-PROFILE is not included, and a MDP profile is specified for the node in the scenario configuration file, then the MDP profile specified for the node is used. If parameter MDP-ENABLED is included but parameter MDP-PROFILE is not included, and a MDP profile is not specified for the node in the scenario configuration file, then default MDP values for the MDP profile parameters are used (see Section 5.2.4.3).

Note:

1. If <end-time> is set to 0, MCBR runs until all <items-to-send> are transmitted, or until the end of simulation, whichever comes first. 2. If <items-to-send> and <end-time> are both greater than 0, MCBR runs until either <items-to-send> is done, <end-time> is reached, or the simulation ends, whichever comes first. 3. At most one of the three parameters PRECEDENCE, DSCP, and TOS can be specified. If PRECEDENCE, DSCP, and TOS are not specified, PRECEDENCE 0 is used as default.

Scenario Configuration File Parameters Table 8-33 describes the MCBR parameters that can be specified in the scenario configuration (.config) file.

TABLE 8-33. Parameter APPLICATION-STATISTICS


Optional Scope: Global, Node

MCBR Scenario Configuration File Parameters Value


List: YES NO Default: NO

Description
Indicates whether statistics are collected for application protocols (including MCBR).

QualNet 5.1 Developer Model Library

257

Multicast Constant Bit Rate (MCBR) Traffic Generator Examples of Parameter Usage The following are examples of MCBR configuration:

Chapter 8

1. Node 1 sends to IPv4 multicast address 225.0.0.1 ten items of 1460 bytes each at the start of the simulation, and up to 600 seconds into the simulation. The inter-departure time for each item is 1 second. MCBR 1 225.0.0.1 10 1460 1S 0S 600S 2. Node 1 continuously sends to IPv4 multicast address 225.0.0.1 items of 1460 bytes each at the start of the simulation up to 600 seconds into the simulation. The inter-departure time for each item is 1 second. MCBR 1 225.0.0.1 0 1460 1S 0S 600S 3. Node 1 continuously sends to IPv4 multicast address 225.0.0.1 items of 1460 bytes each at the start of the simulation up to the end of the simulation. The inter-departure time for each item is 1 second. MCBR 1 225.0.0.1 0 1460 1S 0S 0S 4. Node 1 continuously sends to IPv6 multicast address ff1E items of 1460 bytes each at the start of the simulation up to the end of the simulation. The inter-departure time for each item is 1 second. MCBR 1 ff1E::3 0 1460 1S 0S 0S 5. This is the same as the previous example, except that MCBR runs with MDP and uses the MDP profile associated with node 1. If there is no MDP profile associated with node 1, default values for MDP profile parameters are used. MCBR 1 ff1E::3 0 1460 1S 0S 0S MDP-ENABLED 6. This is the same as the previous example, except that MDP uses the user-defined MDP profile profile-1. MCBR 1 ff1E::3 0 1460 1S 0S 0S MDP-ENABLED MDP-PROFILE profile-1

8.6.3 GUI Configuration


MCBR is configured using the MCBR Properties Editor. To configure a MCBR Single Host Application, perform the following steps: 1. Click the MCBR button in the Single Host Applications tab of the Standard Toolset. 2. On the canvas, click on the source node. 3. Open the MCBR Properties Editor by either double-clicking on the application row in the Applications tab of Table View or right-clicking on the application row and selecting Properties from the menu.

258

QualNet 5.1 Developer Model Library

Chapter 8 4. Set the parameters listed in Table 8-34.

Multicast Constant Bit Rate (MCBR) Traffic Generator

FIGURE 8-13. TABLE 8-34.

Setting MCBR Parameters

Command Line Equivalent of MCBR Parameters Command Line Parameter


<src> <multicast-destination> <items-to-send> <item-size> <interval> <start-time> <end-time> DSCP PRECEDENCE TOS

GUI Parameter
Source Multicast Group Address Items to Send Item Size Interval Start Time End Time Priority (set to DSCP) Priority (set to Precedence) Priority (set to TOS)

Setting Parameters

To specify an IP address as the source ID, set Source to one of the IP addresses listed in the dropdown list.

To set DSCP, Precedence, or TOS bits for packets, set Priority to DSCP, Precedence, or TOS,
respectively.

To enable MDP, set Enable MDP to Yes.

QualNet 5.1 Developer Model Library

259

Multicast Constant Bit Rate (MCBR) Traffic Generator

Chapter 8

5. If Priority is set to DSCP, Precedence, or TOS, set the appropriate dependent parameter listed in Table 8-35. Figure 8-14 shows how to set the dependent parameter when Priority is set to DSCP. Setting dependent parameters for the other two options is similar.

FIGURE 8-14.

Setting DSCP Value

TABLE 8-35.
GUI Parameter DSCP Value Precedence Value TOS Value

Command Line Equivalent of Priority Parameters


Command Line Parameter <dscp-value> <precedence-value> <tos-value>

260

QualNet 5.1 Developer Model Library

Chapter 8

Multicast Constant Bit Rate (MCBR) Traffic Generator

6. If Enable MDP is set to Yes, then set the parameters listed in Table 8-36.

FIGURE 8-15. TABLE 8-36. GUI Parameter


Specify MDP Profile (set to Yes)

Enabling MDP

Command Line Equivalent of MDP Parameters Command Line Parameter


MDP-PROFILE

Setting Parameters

To specify an MDP profile, set Specify MDP Profile to Yes. To use the default MDP profile, set
Specify MDP Profile to No.

QualNet 5.1 Developer Model Library

261

Multicast Constant Bit Rate (MCBR) Traffic Generator 7. If Specify MDP Profile is set to Yes, then set the parameters listed in Table 8-37.

Chapter 8

FIGURE 8-16. TABLE 8-37. GUI Parameter


MDP Profile Name

Specifying MDP Profile

Command Line Equivalent of MDP Profile Parameters Command Line Parameter


<profile-name>

Configuring Statistics Parameters Statistics for applications (including MCBR) can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for MCBR, check the box labeled Application in the appropriate properties editor.

TABLE 8-38. Command Line Equivalent of Statistics Parameters GUI Parameter


Application

Scope of GUI Parameter


Global, Node

Command Line Parameter


APPLICATION-STATISTICS

262

QualNet 5.1 Developer Model Library

Chapter 8

Multicast Constant Bit Rate (MCBR) Traffic Generator

8.6.4 Statistics
Table 8-39 lists the MCBR statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 8-39. Statistic
Server Address First Packet Sent at (s) Last Packet Sent at (s) Session Status Total Bytes Sent Total Packets Sent Throughput (bits/s) Client Address First Packet Received at (s) Last Packet Received at (s) Average End-to-End Delay (s) Session Status Total Bytes Received Total Packets Received Throughput (bits/s)

MCBR Statistics Description

MCBR Client Statistics Specifies the IP address of the server Specifies the time at which first packet was sent (seconds) Specifies the time at which last packet was sent (seconds) Status of the session (open or closed) at the end of simulation Total number of data bytes sent Total number of data packets sent Throughput at the client side (bits per second) (See note 1 below) MCBR Server Statistics Specifies the IP address of the client Specifies the time at which first packet was received (seconds) Specifies the time at which last packet was received (seconds) Specifies the average end-to-end delay time (seconds) (See note 2 below) Specifies whether the session status is open or closed Total number of data bytes received Total number of packets received Throughput at the server side (bits per second) (See note 3 below)

Notes: 1. The throughput at the client is calculated as follows:

If the session is complete, i.e., if all packets have been sent before the simulation
ends, throughput = (total bytes sent * 8) / (time last packet sent - time first packet sent), where the times are in seconds.

If the session is incomplete, i.e., if all packets have not been sent before the
simulation ends, throughput = (total bytes sent * 8) / (simulation time - time first packet sent), where the times are in seconds. 2. The average end-to-end delay at the server is calculated as follows: (Total of packet delays for all packets) / (Total packets received) where packet delay = (time when packet is received at the server - time when the packet is transmitted at the client) 3. The throughput at the server is calculated as follows:

If the session is complete, throughput = (total bytes received * 8) / (time last packet
received - time first packet received), where the times are in seconds.

If the session is incomplete, throughput = (total bytes received * 8) / (simulation time


- time first packet received), where the times are in seconds.

QualNet 5.1 Developer Model Library

263

Super Application Traffic Generator

Chapter 8

.........................................................................
8.7 Super Application Traffic Generator
8.7.1 Description
Super Application is a generic traffic generator. Super Application can simulate both UDP and TCP flows. Two-way flow (request-response) is supported for UDP based applications. Request packets travel from source to destination, whereas response packets travel from destination to source.

8.7.2 Limitations and Assumptions


Responses are only supported with unreliable delivery type.

8.7.3 Command Line Configuration


Application Configuration File Parameters To use Super Application, include the following statement in the application configuration (.app) file: SUPER-APPLICATION <source> <destination> DELIVERY-TYPE <delivery-type> START-TIME <start-time> DURATION <duration> REQUEST-NUM <request-num> [REQUEST-SIZE <request-size>] [REQUEST-INTERVAL <request-interval>] [REQUEST-DATA-RATE <data-rate>] [REQUEST-TOS <request-QoS>] [FRAGMENT-SIZE <fragment-size>] [SOURCE-PORT <source-port>] [DESTINATION-PORT <destination-port>] [REPLY-PROCESS <reply-or-not>] [REPLY-NUM <reply-num>] [REPLY-SIZE <reply-size>] [REPLY-PROCESS-DELAY <reply-delay>] [REPLY-INTERDEPARTURE-DELAY <inter-reply-time>] [REPLY-TOS <reply-QoS>] [MDP-ENABLED [MDP-PROFILE <profile-name>]] Note: All parameters should be entered on the same line.

264

QualNet 5.1 Developer Model Library

Chapter 8

Super Application Traffic Generator

The Super Application parameters are described in Table 8-40. See Section 1.2.1.1 for a description of the format used for the parameter table.

TABLE 8-40. Parameter <source>


Required

Super Application Parameters Value Description


Client node's ID or IP address.

Integer or IP Address Integer or IP Address

[DESTINATIONS] <destination-list>
Required

Server node's ID or IP address.

DELIVERY-TYPE <delivery-type>
Required

List: RELIABLE UNRELIABLE Time distribution (see note 1) Time distribution (see note 1) Integer distribution (see note 1) Integer distribution (see note 1) Unit: bytes Time distribution (see note 1)

Indicates whether TCP (corresponding to option RELIABLE) or UDP (corresponding to option UNRELIABLE) is used as the transport protocol. Start time of the Super Application session.

START-TIME <start-time>
Required

DURATION <duration>
Required

Duration of the Super Application session. Note: If the value of this parameter is 0, then the application runs till the end of simulation. Number of request packets to send.

REQUEST-NUM <request-num>
Required

REQUEST-SIZE <request-size>
Optional

Size of a request packet. Note: Exactly two of the following parameters must be specified: REUEST-SIZE, REQUESTINTERVAL, and REQUEST-DATA-RATE. Delay between sending successive request packets. Note: This is the delay between successive packets, not between fragments of the same packet. If fragmentation occurs, the fragments are sent back-to-back. Note: Exactly two of the following parameters must be specified: REUEST-SIZE, REQUESTINTERVAL, and REQUEST-DATA-RATE.

REQUEST-INTERVAL <request-interval>
Optional

REQUEST-DATA-RATE <data-rate>
Optional

Real Unit: bytes/sec QoS specification (see note 2) Default: TOS 0

Requested data rate. Note: Exactly two of the following parameters must be specified: REUEST-SIZE, REQUESTINTERVAL, and REQUEST-DATA-RATE. Type of service for request packets.

REQUEST-TOS <request-QoS>
Optional

QualNet 5.1 Developer Model Library

265

Super Application Traffic Generator TABLE 8-40. Parameter FRAGMENT-SIZE <fragment-size>


Optional

Chapter 8 Super Application Parameters (Continued) Value Description


Maximum size of a packet fragment. If a packet is larger than this parameter, then it is broken into multiple fragments, each (except possibly the last) of size FRAGMENT-SIZE. Note: If a packet is fragmented, then all fragments of a packet are sent back to back.

Integer Unit: bytes

SOURCE-PORT <source-port>
Optional

Integer

Port number to be used at the source. The application chooses a free source port when the user does not explicitly specify a source port. User-specified ports must be unique.

DESTINATION-PORT <destination-port>
Optional

Integer

Port number to be used at the destination. The application uses its default port when a destination port is not specified by the user. Userspecified ports must be unique.

REPLY-PROCESS <reply-or-not>
Optional

List: YES NO Default: NO

Specifies whether a response is sent for each request. Replies are not sent unless this parameter is set to YES. For the multicast mode, this parameter should be set to NO. Note: If this parameter is set to YES, then parameters REPLY-NUM, REPLY-SIZE, REPLY-PROCESS-DELAY, and REPLYINTERDEPARTURE-DELAY must be specified.

REPLY-NUM <reply-num>
Optional

Integer distribution (see note 1) Integer distribution (see note 1) Unit: bytes

Number of reply packets sent in response to each request packet. Size of a reply packet.

REPLY-SIZE <reply-size>
Optional

REPLY-PROCESS-DELAY <reply-delay>
Optional

Time distribution (see note 1)

Delay between the time when the destination receives a request and the time when it sends the first response packet in response to the request. Delay between sending successive response packets in response to the same request. Note: This is the delay between successive packets, not between fragments of the same packet. If fragmentation occurs, the fragments are sent back-to-back.

REPLY-INTERDEPARTUREDELAY <inter-reply-time>
Optional

Time distribution (see note 1)

REPLY-TOS <reply-QoS>
Optional

QoS specification (see note 2) Default: TOS 0

Type of service for reply packets.

266

QualNet 5.1 Developer Model Library

Chapter 8 TABLE 8-40. Parameter MDP-ENABLED


Optional N/A

Super Application Traffic Generator Super Application Parameters (Continued) Value Description
Keyword which specifies that MDP is enabled for the application. Note: If this keyword is not included, then the application does not run with MDP. String Name of the MDP profile to be used with the application. This should be the name of a MDP profile defined in the MDP profile file (see Section 5.2.4.3). This MDP profile takes precedence over the MDP profile associated with the node in the scenario configuration file, if any. Note: This parameter can be included only if the parameter MDP-ENABLED is also included. Note: If parameter MDP-ENABLED is included but parameter MDP-PROFILE is not included, and a MDP profile is specified for the node in the scenario configuration file, then the MDP profile specified for the node is used. If parameter MDP-ENABLED is included but parameter MDP-PROFILE is not included, and a MDP profile is not specified for the node in the scenario configuration file, then default MDP values for the MDP profile parameters are used (see Section 5.2.4.3).

MDP-PROFILE <profile-name>
Optional

QualNet 5.1 Developer Model Library

267

Super Application Traffic Generator

Chapter 8

Notes: 1. Integer and Time Distributions: Several Super Application parameters are specified as random number distributions. Three random number distributions are supported: deterministic, uniform, and exponential.

The deterministic distribution is specified as:


DET <value> It always returns <value> as the value.

The uniform distribution is specified as:


UNI <value-1> <value-2> It returns a value uniformly distributed between <value-1> and <value-2>.

The exponential distribution is specified as:


EXP <value> It returns a value from an exponential distribution with <value> as the mean. For integer distributions, <value>, <value-1>, and <value-2> are integer values, e.g., 0, 10, 15, etc. For time distributions, <value>, <value-1>, and <value-2> are time values, e.g., 5S, 0.5MS, 100US, etc. 2. QoS Specification: Type of service for request and reply packets can be specified by including a TOS specification, DSCP specification, or Precedence specification.

TOS specification has the following format:


TOS <TOS-value> where <TOS-value> is the value of the TOS bits of the IP header.

DSCP specification has the following format:


DSCP <DSCP-value> where <DSCP-value> is the value of the DSCP bits of the IP header.

Precedence specification has the following format:


PRECEDENCE <precedence-value> where <precedence-value> is the value of the Precedence bits of the IP header. If a TOS specification, DSCP specification, or Precedence specification is not included, then PRECEDENCE 0 is used as default.

268

QualNet 5.1 Developer Model Library

Chapter 8

Super Application Traffic Generator

Scenario Configuration File Parameters Table 8-41 describes the Super Application parameters that can be specified in the scenario configuration (.config) file.

TABLE 8-41. Super Application Scenario Configuration File Parameters Parameter APPLICATION-STATISTICS
Optional Scope: Global, Node List: YES NO Default: NO List: YES NO Default: YES Indicates whether packet tracing is enabled for Super Application. Note: To enable packet tracing, some other parameters need to be configured as well. Refer to Section 4.2.10 of QualNet Users Guide for details.

Value

Description
Indicates whether statistics are collected for application protocols (including Super Application).

TRACE-SUPERAPPLICATION
Optional Scope: Global, Node

Examples of Parameter Usage The following are examples of Super Application configuration: 1. Node 1 sends to node 2 five items of 1460 bytes each using TCP from 60 seconds simulation time till 70 seconds simulation time. If five items are sent before 10 seconds elapsed, no other items are sent. Precedence is set to 0. SUPER-APPLICATION 1 2 DELIVERY-TYPE RELIABLE START-TIME DET 60S DURATION DET 10S REQUEST-NUM DET 5 REQUEST-SIZE DET 1460 REQUEST-INTERVAL DET 0S REQUEST-TOS PRECEDENCE 0 REPLY-PROCESS NO 2. Node 1 sends to node 2 three (request) packets of 123 bytes each using UDP. Node 1 starts sending at 10 seconds into the simulation and sends for the duration of 21 seconds. Packets are sent with a 1 second interval with precedence set to 1. Node 1 uses port 2345 whereas node 2 uses port 1751. The fragment size is bigger than packet size, so no fragmentation takes place. On receiving the request packets, node 2 replies with 2 packets of 140 bytes each, for every request packet received. On receiving a request packet, node 2 waits 1 second before sending the first reply packet for that request packet. The second reply packet is sent 0.1 seconds after the first one. SUPER-APPLICATION 1 2 DELIVERY-TYPE UNRELIABLE START-TIME DET 10S DURATION DET 21S REQUEST-NUM DET 3 REQUEST-SIZE DET 123 REQUEST-INTERVAL DET 1S REQUESTTOS PRECEDENCE 1 REPLY-PROCESS YES FRAGMENT-SIZE 200 DESTINATION-PORT 1751 SOURCE-PORT 2345 REPLY-NUM DET 2 REPLY-SIZE DET 140 REPLY-PROCESS-DELAY DET 1S REPLY-INTERDEPARTURE-DELAY DET 0.1S

QualNet 5.1 Developer Model Library

269

Super Application Traffic Generator

Chapter 8

3. This is the same as the previous example, except that Super Application runs with MDP and uses the MDP profile associated with node 1. If there is no MDP profile associated with node 1, default values for MDP profile parameters are used. SUPER-APPLICATION 1 2 DELIVERY-TYPE UNRELIABLE START-TIME DET 10S DURATION DET 21S REQUEST-NUM DET 3 REQUEST-SIZE DET 123 REQUEST-INTERVAL DET 1S REQUESTTOS PRECEDENCE 1 REPLY-PROCESS YES FRAGMENT-SIZE 200 DESTINATION-PORT 1751 SOURCE-PORT 2345 REPLY-NUM DET 2 REPLY-SIZE DET 140 REPLY-PROCESS-DELAY DET 1S REPLY-INTERDEPARTURE-DELAY DET 0.1S MDP-ENABLED 4. This is the same as the previous example, except that MDP uses the user-defined MDP profile profile-1. SUPER-APPLICATION 1 2 DELIVERY-TYPE UNRELIABLE START-TIME DET 10S DURATION DET 21S REQUEST-NUM DET 3 REQUEST-SIZE DET 123 REQUEST-INTERVAL DET 1S REQUESTTOS PRECEDENCE 1 REPLY-PROCESS YES FRAGMENT-SIZE 200 DESTINATION-PORT 1751 SOURCE-PORT 2345 REPLY-NUM DET 2 REPLY-SIZE DET 140 REPLY-PROCESS-DELAY DET 1S REPLY-INTERDEPARTURE-DELAY DET 0.1S MDP-ENABLED MDP-PROFILE profile-1

8.7.4 Statistics
This section describes the file and dynamic statistics of the Super Application model.

8.7.4.1 File Statistics


Table 8-42 shows the Super Application statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 8-42. Statistic
Super Application Client Client Address Connection: Client(Source addr: Source port) Server(Dest addr: Dest port) First request fragment sent at (s) Last request fragment sent at (s) First reply fragment sent at (s) Last reply fragment sent at (s) First request fragment received at (s) Last request fragment received at (s) First reply fragment received at (s) The address of the client Connection ID (Node numbers and ports) Time in second when first request fragment was sent Time in second when last request fragment was sent Time in second when first reply fragment was sent (UDP) Time in second when last reply fragment was sent (UDP) Time in second when first request fragment was received Time in second when last request fragment was received Time in second when first reply fragment was received

Super Application Statistics Description

270

QualNet 5.1 Developer Model Library

Chapter 8 TABLE 8-42. Statistic


Last reply fragment received at (s) Average end-to-end delay for req recvd (s) Average end-to-end delay for rep recvd (s) Average jitter for req received (s) Average jitter for rep received (s) Number of request bytes sent Number of request packets sent Number of request fragments sent Number of reply bytes sent Number of reply packets sent Number of reply fragments sent Number of out of order reply fragments received Number of complete reply packets received Total number of reply fragments received Total reply fragment bytes received Number of out of order request fragments received Number of complete request packets received Total number of request fragments received Total req fragment bytes received Throughput for requests sent (bits/s) Throughput for requests received (bits/s) Throughput for replies sent (bits/s) Throughput for replies received (bits/s) Chain ID Number of Packets Sent Number of Packets Received Server Address Connection: Client(Source addr: Source port) Server(Dest addr: Dest port) First request fragment sent at (s) Last request fragment sent at (s) First reply fragment sent at (s) Last reply fragment sent at (s) First request fragment received at (s) Last request fragment received at (s) First reply fragment received at (s) Last reply fragment received at (s) Average end-to-end delay for req recvd (s) Average end-to-end delay for rep recvd (s) Average jitter for req received (s)

Super Application Traffic Generator Super Application Statistics (Continued) Description


Time in second when last reply fragment was received Average delay for request packets received (in seconds) Average delay for reply packets received (in seconds) Average jitter for request packets received (in seconds) Average jitter for reply packets received (in seconds) Total number of request bytes sent Total number of request packets sent Total number of request fragments sent Total number of reply bytes sent Total number of reply packets sent Total number of reply fragments sent Total number of out of order reply fragments received Total number of complete reply packets received Total number of reply fragments received Total number of reply fragment bytes received) Total number of out of order request fragments received Total number of complete request packets received Total number of request fragments received Total number of request fragment bytes received Throughput value for request packets sent (see note 1) Throughput value for request packets received (see note 2) Throughput value for reply packets sent (see note 3) Throughput value for reply packets received (see note 4) Chain ID of the triggered application Total number of packets sent for triggered application Total number of packets received for triggered application Super Application Server The address of the server. Connection ID (Node numbers and ports) Time in second when first request fragment was sent Time in second when last request fragment was sent Time in second when first reply fragment was sent (UDP) Time in second when last reply fragment was sent (UDP) Time in second when first request fragment was received Time in second when last request fragment was received Time in second when first reply fragment was received Time in second when last reply fragment was received Average delay for request packets received (in seconds) Average delay for reply packets received (in seconds) Average jitter for request packets received (in seconds)

QualNet 5.1 Developer Model Library

271

Super Application Traffic Generator TABLE 8-42. Statistic


Average jitter for rep received (s) Number of request bytes sent Number of request packets sent Number of request fragments sent Number of reply bytes sent Number of reply packets sent Number of reply fragments sent Number of out of order reply fragments received Number of complete reply packets received Total number of reply fragments received Total reply fragment bytes received Number of out of order request fragments received Number of complete request packets received Total number of request fragments received Total req fragment bytes received Throughput for requests sent (bits/s) Throughput for requests received (bits/s) Throughput for replies sent (bits/s) Throughput for replies received (bits/s)

Chapter 8 Super Application Statistics (Continued) Description


Average jitter for reply packets received (in seconds) Total number of request bytes sent Total number of request packets sent Total number of request fragments sent Total number of reply bytes sent Total number of reply packets sent Total number of reply fragments sent Total number of out of order reply fragments received Total number of complete reply packets received Total number of reply fragments received Total number of reply fragment bytes received Total number of out of order request fragments received Total number of complete request packets received Total number of request fragments received Total number of request fragment bytes received Throughput value for request packets sent (see note 1) Throughput value for request packets received (see note 2) Throughput value for reply packets sent (see note 3) Throughput value for reply packets received (see note 4)

Notes: 1. The throughput for requests sent (bits/s) is calculated as follows: Throughput for requests sent (bits/s) = (Total number of request bits sent) / (Last request fragment sent time - First request fragment sent time) 2. The throughput for requests received (bits/s) is calculated as follows: Throughput for requests received (bits/s) = (Total number of request fragment bits received) / (Last request fragment receive time - First request fragment receive time) 3. The throughput for replies sent (bits/s) is calculated as follows: Throughput for replies sent (bits/s) = (Total number of reply bits sent) / (Last reply fragment sent time - First reply fragment sent time) 4. The throughput for replies received (bits/s) is calculated as follows: Throughput for replies received (bits/s) = (Total number of reply fragment bits received) / (Last reply fragment receive time - First reply fragment receive time)

8.7.4.2 Dynamic Statistics


The following dynamic statistics are enabled for the Super Application model (refer to Chapter 6 of QualNet Users Guide for details of viewing dynamic statistics in the GUI during the simulation):

Number of Request Bytes Sent Number of Request Packets Sent Number of Request Fragments Sent

272

QualNet 5.1 Developer Model Library

Chapter 8

Super Application Traffic Generator

Number of Reply Bytes Sent Number of Reply Packets Sent Number of Reply Fragments Sent Number of Out-of-order Reply Fragments Received Number of Complete Reply Packets Received Number of Reply Fragments Received Total Reply Fragment Bytes Received Number of Out-of-order Request Fragments Received Number of Complete Request Packets Received Number of Request Fragments Received Total Request Fragment Bytes Received Throughput for Requests Sent (bits/s) Throughput for Requests Received (bits/s) Throughput for Replies Sent (bits/s) Throughput for Replies Received (bits/s) Total Packet Real Time/Simulation Time Ratio Average Packet Real Time/Simulation Time Ratio Total Packets with Real Time Greater than Simulation Time

QualNet 5.1 Developer Model Library

273

Telecommunications Network (TELNET)

Chapter 8

.........................................................................
8.8 Telecommunications Network (TELNET)
8.8.1 Description
TELNET represents the clear-text terminal server and client. The typing rate and sizes of server responses are taken from distributions created from network traces in the TCPlib library.

8.8.2 Command Line Configuration


Application Configuration File Parameters To specify TELNET traffic, include the following statement in the application configuration file (.app): TELNET <src> <dest> <session-duration> <start-time> Table 8-43 shows the TELNET parameters. See Section 1.2.1.3 for a description of the format used for the parameter table. TABLE 8-43. Parameter <src>
Required

TELNET Parameters Description


Client node's ID or IP address.

Value
Integer or IP Address Integer or IP Address Time Range: 0S Time Range: 0S

<dest>
Required

Server node's ID or IP address.

<session-duration>
Required

Length of the entire session.

<start-time>
Required

Time when the transmission of packets should begin.

274

QualNet 5.1 Developer Model Library

Chapter 8

Telecommunications Network (TELNET)

Scenario Configuration File Parameters Table 8-44 describes the TELNET parameters that can be specified in the scenario configuration (.config) file. TABLE 8-44. Parameter APPLICATION-STATISTICS
Optional Scope: Global, Node List: YES NO Default: NO

TELNET Scenario Configuration File Parameters Value Description


Indicates whether statistics collection is enabled for applications (including TELNET).

Examples of Parameter Usage The following are examples of TELNET configuration: 1. Node 1 initiates a 5-minute TELNET session to node 2, and begins the session at 50 simulation seconds into the total simulation time. TELNET 1 2 5M 50S 2. Node 1 sends node 2 TELNET traffic for a duration randomly determined by TCPlib at the start of the simulation. TELNET 1 2 0S 0S

8.8.3 GUI Configuration


TELNET is configured using the TELNET Properties Editor. To configure a TELNET session between two nodes, perform the following steps: 1. Click the TELNET button in the Applications tab of the Standard Toolset. 2. On the canvas, click on the source node; drag the mouse to the destination node, and release. 3. Open the TELNET Properties Editor by doing one of the following: a. On the canvas, either double-click on the application link or right-click on the application link and select Properties from the menu. b. In the Applications tab of Table View, either double-click on the application row or right-click on the application row and select Properties from the menu.

QualNet 5.1 Developer Model Library

275

Telecommunications Network (TELNET) 4. Set the parameters listed in Table 8-45.

Chapter 8

FIGURE 8-17. TABLE 8-45.

Setting TELNET Parameters

Command Line Equivalent of TELNET Parameters Command Line Parameter


<src> <dest> <session-duration> <start-time>

GUI Parameter
Source Destination Session Duration Start Time

Setting Parameters

To specify an IP address as the source (destination) ID, set Source (Destination) to one of the IP
addresses listed in the drop-down list. Configuring Statistics Parameters Statistics for applications (including TELNET) can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for TELNET, check the box labeled Application in the appropriate properties editor. TABLE 8-46. Command Line Equivalent of Statistics Parameters GUI Parameter
Application

Scope of GUI Parameter


Global, Node

Command Line Parameter


APPLICATION-STATISTICS

276

QualNet 5.1 Developer Model Library

Chapter 8

Telecommunications Network (TELNET)

8.8.4 Statistics
Table 8-47 lists the TELNET statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 8-47. Statistics TELNET Client
Server address First Packet Sent at (s) Last Packet Sent at (s) Session Status Total Bytes Sent Total Bytes Received Throughput (bits/s) Specifies the server address Specifies the time when the first packet is sent (seconds) Specifies the time when the last packet is sent (seconds) Client status of the session (open or closed) at the end of simulation Specifies the total number of bytes sent Specifies the total number of bytes received Specifies the total throughput of the client (bits per second). See Note 1 below.

TELNET Statistics Description

TELNET Server
Client Address First Packet Sent at (s) Last Packet Sent at (s) Session Status Total Bytes Sent Total Bytes Received Throughput (bits/s) Specifies the client address Specifies the time when the first packet is sent (seconds) Specifies the time when the last packet is sent (seconds) Current server status of the session (open or closed) Specifies the total number of bytes sent Specifies the total number of bytes received Specifies the total throughput of the server (bits per second). See note 2 below.

Notes: 1. The throughput at the client is calculated as follows:

If the session is complete, i.e., if all packets have been sent before the simulation
ends, throughput = (total bytes sent * 8) / (time last packet sent - time first packet sent), where the times are in seconds.

If the session is incomplete, i.e., if all packets have not been sent before the
simulation ends, throughput = (total bytes sent * 8) / (simulation time - time first packet sent), where the times are in seconds. 2. The throughput at the server is calculated as follows:

If the session is complete, throughput = (total bytes received * 8) / (time last packet
received - time first packet received), where the times are in seconds.

If the session is incomplete, throughput = (total bytes received * 8) / (simulation time


- time first packet received), where the times are in seconds.

QualNet 5.1 Developer Model Library

277

Traffic Generator (Traffic-Gen)

Chapter 8

.........................................................................
8.9 Traffic Generator (Traffic-Gen)
8.9.1 Description
The Traffic Generator model simulates a random-distribution based traffic generator. These random distributions are applicable to session property and traffic property. Also, the application is capable of shaping traffic by using either leaky bucket or dual leaky bucket.

8.9.2 Command Line Configuration


Configuration Requirements In order to configure a Traffic-Gen session with QoS constraints, a path must exist from the source to each destination node along which QOSPF (Quality of Service Extensions to OSPF) is enabled. See Multimedia and Enterprise Model Library for details of configuring QOSPF. Application Configuration File Parameters To specify Traffic-Gen traffic, include the following statement in the application configuration (.app) file: TRAFFIC-GEN <Source> <Destination> <Session Parameters> <Traffic Parameters> <Leaky Bucket Parameters> [<Fragmentation Parameters>] [<QoS Parameters>] [<MDP Parameters>] Note: All parameters should be entered on the same line.

The Traffic-Gen parameters are described in Table 8-48.

278

QualNet 5.1 Developer Model Library

Chapter 8

Traffic Generator (Traffic-Gen)

TABLE 8-48. Element <Source> <Destination> <Session Parameters>

Traffic-Gen Parameters Description

Node ID or IP address of the source node. Node ID or IP address of the destination node or a multicast address. Session properties (start time and duration) of the connection. The session properties are specified in the following format: <Start Time> <Duration> where <Start Time> <Duration> Time when the session starts. This is specified as a time distribution (see note 1). Length of the session. This is specified as a time distribution (see note 1).

<Traffic Parameters>

Traffic properties (size and inter-arrival times of data elements) of the connection. The traffic properties are specified in the following format: RND <Packet Size> <Packet Interval> <Probability> where <Packet Size> Packet size, in bytes. This is specified as an integer distribution (see note 1).

<Packet Interval> Time between consecutive packets. This is specified as a time distribution (see note 1). <Probability> <Leaky Bucket Parameters> Probability of sending a packet. This is a real number in the range [0.0, 1.0].

Leaky bucket properties for traffic shaping. There are three options of specifying leaky bucket properties. If traffic shaping is not used, use the following format: NLB If leaky bucket is used, for traffic shaping use the following format: LB <Bucket Size> <Token Rate> <Action> If dual leaky bucket is used for traffic shaping, use the following format: DLB <Bucket Size> <Token Rate> <Peak Rate> <Action> where <Bucket Size> <Token Rate> <Peak Rate> <Action> Bucket size, in bytes. Token generation rate, in bps. Maximum allowed rate, in bps. Action to perform. This can be DROP or DELAY.

QualNet 5.1 Developer Model Library

279

Traffic Generator (Traffic-Gen) TABLE 8-48. Element <Fragmentation Parameters> Fragment size specification. Note: Fragment size specification is optional. The fragment size is specified in the following format: FRAGMENT-SIZE <Fragment-size> where <Fragment-size> Size of fragments, in bytes. Traffic-Gen Parameters (Continued) Description

Chapter 8

280

QualNet 5.1 Developer Model Library

Chapter 8 TABLE 8-48. Element <QoS Parameters>

Traffic Generator (Traffic-Gen) Traffic-Gen Parameters (Continued) Description QoS properties of the connection. Note: QoS properties specification is optional can only be included for clientserver sessions. The QoS properties are specified in the following format: CONSTRAINT <Bandwidth> <Delay> [<Priority>] [<Retry Property>] where <Bandwidth> <Delay> <Priority> <Retry Property> QoS Bandwidth, in bps. QoS end-to-end delay, in seconds. Priority given to a session. See note 2. Note: Priority specification is optional. Retry property, which is specified in the following format: RETRY-INTERVAl <interval> where <interval> Retry interval, specified as a time value.

Note: Retry property specification is optional.

QualNet 5.1 Developer Model Library

281

Traffic Generator (Traffic-Gen) TABLE 8-48. Element <MDP Parameters> Traffic-Gen Parameters (Continued) Description MDP parameters of the connection.

Chapter 8

Note: MDP parameter specification is optional. If MDP parameters are not specified, the application does not run with MDP. The MDP parameters are specified in the following format: MDP-ENABLED [MDP-PROFILE <profile-name>] where <profile-name> Name of the MDP profile to be used with the application. This should be the name of a MDP profile defined in the MDP profile file (see Section 5.2.4.3). This MDP profile takes precedence over the MDP profile associated with the node in the scenario configuration file, if any. If parameter MDP-ENABLED is included but parameter MDP-PROFILE is not included, and a MDP profile is specified for the node in the scenario configuration file, then the MDP profile specified for the node is used. If parameter MDP-ENABLED is included but parameter MDP-PROFILE is not included, and a MDP profile is not specified for the node in the scenario configuration file, then default MDP values for the MDP profile parameters are used (see Section 5.2.4.3).

282

QualNet 5.1 Developer Model Library

Chapter 8

Traffic Generator (Traffic-Gen)

Notes: 1. Integer and Time Distributions: Several Traffic-Gen parameters are specified as random number distributions. Five random number distributions are supported: deterministic, uniform, exponential, truncated Pareto, and 4-parameter truncated Pareto.

The deterministic distribution is specified as:


DET <det-val>

It always returns <det-val> as the value.

The uniform distribution is specified as:


UNI <uni-val-1> <uni-val-2> It returns a value uniformly distributed between <uni-val-1> and <uni-val-2>.

The exponential distribution is specified as:


EXP <exp-val> It returns a value from an exponential distribution with <exp-val> as the mean.

The truncated Pareto distribution is specified as:


TPD <tp-val-1> <tp-val-2> <tp-alpha> It returns a value from a truncated Pareto distribution with <tp-val-1> as the lower end of the range, <tp-val-2> as the upper limit of the truncation, and <tpalpha> as the shape parameter.

The 4-parameter truncated Pareto distribution is specified as:


TPD4 <tp4-val-1> <tp-val-2> <tp4-val-3> <tp4-alpha> It returns a value from a truncated Pareto distribution with <tp4-val-1> as the lower end of the range, <tp4-val-2> as the lower limit of the truncation, <tp4val-3> as the upper limit of the truncation, and <tp4-alpha> as the shape parameter. For integer distributions, <det-val>, <uni-val-1>, <uni-val-2>, <exp-val>, <tp-val-1>, <tp-val-2>, <tp-alpha>, <tp4-val-1>, <tp4-val-2>, <tp4val-3>, and <tp4-alpha> are integer values, e.g., 0, 10, 15, etc. For time distributions, <det-val>, <uni-val-1>, <uni-val-2>, <exp-val>, <tp-val-1>, <tp-val-2>, <tp-alpha>, <tp4-val-1>, <tp4-val-2>, <tp4val-3>, and <tp4-alpha> are time values, e.g., 5S, 0.5MS, 100US, etc.

QualNet 5.1 Developer Model Library

283

Traffic Generator (Traffic-Gen)

Chapter 8

2. Priority Specification: Priority can be specified by including a TOS specification, DSCP specification, or Precedence specification.

TOS specification has the following format:


TOS <TOS-value> where <TOS-value> is the value of the TOS bits of the IP header. <TOS-value> should be an integer in the range [0, 255].

DSCP specification has the following format:


DSCP <DSCP-value> where <DSCP-value> is the value of the DSCP bits of the IP header. <DSCPvalue> should be an integer in the range [0, 63].

Precedence specification has the following format:


PRECEDENCE <precedence-value> where <precedence-value> is the value of the Precedence bits of the IP header. <precedence-value> should be an integer in the range [0, 7]. At most one of the three parameters TOS, DSCP, or PRECEDENCE can be specified. If a TOS specification, DSCP specification, or Precedence specification is not included, PRECEDENCE 0 is used as default.

Scenario Configuration File Parameters Table 8-49 describes the Traffic-Gen parameters that can be specified in the scenario configuration (.config) file.

TABLE 8-49. Parameter APPLICATION-STATISTICS


Optional Scope: Global, Node

Traffic-Gen Scenario Configuration File Parameters Value


List: YES NO Default: NO List: YES NO Default: YES Indicates whether packet tracing is enabled for Traffic-Gen. Note: To enable packet tracing, some other parameters need to be configured as well. Refer to Section 4.2.10 of QualNet Users Guide for details.

Description
Indicates whether statistics collection is enabled for applications (including Traffic-Gen).

TRACE-TRAFFIC-GEN
Optional Scope: Global, Node

284

QualNet 5.1 Developer Model Library

Chapter 8 Examples of Parameter Usage The following are examples of Traffic-Gen configuration:

Traffic Generator (Traffic-Gen)

1. This is an example of voice traffic that can be modeled with a simple two-state Markov chain. The chain consists of an ON state of exponentially distributed duration with an average of 352 ms, and an OFF state of 648 ms. In addition, the voice application uses PCM encoding which generates 160-bytes voice data every 20 ms. TRAFFIC-GEN 1 2 DET 0S DET 600S RND DET 160 DET 20MS 0.352 NOLB This line specifies traffic from node 1 to node 2, beginning at time 0, with a duration of 600 seconds. The traffic is random (as opposed to file-based) with a fixed size of 160 bytes and a fixed interval of 20 milliseconds. The probability field is a value between 0 and 1 used to determine what percent of the packets described by the given pattern will be sent. This is to model the ON and OFF states (in a somewhat less than ideal way). In this case, only about 35% of the packets will be sent. If probability is set to 1.0, the traffic is essentially identical to the CBR traffic generated by CBR 1 2 0 160 20MS 0S 600S. The final parameter NOLB means that the traffic is not shaped by leaky bucket. Figure 8-18 displays the result of this voice model. The throughput of the voice traffic and the overall average are shown. The overall average can be verified by 64 Kbps (= 160 bytes / 20 ms) * 0.352 = 23 Kbps.

FIGURE 8-18.

Voice Traffic Generation

QualNet 5.1 Developer Model Library

285

Traffic Generator (Traffic-Gen)

Chapter 8

2. This is an example of an arbitrary traffic model in which the data length is exponentially distributed with an average of 160 bytes, and the inter-arrival time is also exponentially distributed with an average of 20 ms, and the data generation probability is 1. There is no traffic shaping. TRAFFIC-GEN 1 2 DET 0 DET 600 RND EXP 160 EXP 20MS 1 NOLB The overall average rate of this traffic can be computed as: avg = 160 bytes / 20 ms = 64 Kbps This average rate is displayed in the following Random Traffic Generation graphic.

FIGURE 8-19.

Random Traffic Generation

3. This is the same as the previous example, except that Traffic-Gen runs with MDP and uses the MDP profile associated with node 1. If there is no MDP profile associated with node 1, default values for MDP profile parameters are used. TRAFFIC-GEN 1 2 DET 0 DET 600 RND EXP 160 EXP 20MS 1 NOLB MDP-ENABLED 4. This is the same as the previous example, except that MDP uses the user-defined MDP profile profile-1. TRAFFIC-GEN 1 2 DET 0 DET 600 RND EXP 160 EXP 20MS 1 NOLB MDP-ENABLED MDP-PROFILE profile-1

286

QualNet 5.1 Developer Model Library

Chapter 8

Traffic Generator (Traffic-Gen)

8.9.3 GUI Configuration


Section 8.9.3.1 describes how to configure a Traffic-Gen session between two nodes. Section 8.9.3.1.7 describes how to configure a single host Traffic-Gen session. Section 8.9.3.3 describes how to configure statistics parameters for applications (including Traffic-Gen). Configuration Requirements In order to configure a Traffic-Gen session with QoS constraints, a path must exist from the source to each destination node along which QOSPF (Quality of Service Extensions to OSPF) is enabled. See Multimedia and Enterprise Model Library for details of configuring QOSPF.

8.9.3.1 Configuring a Client-Server Traffic-Gen Session


To configure a Traffic-Gen session between two nodes, perform the following steps: 1. Click the TRAF GEN button in the Applications tab of the Standard Toolset. 2. On the canvas, click on the source node, drag the mouse to the destination node, and release. 3. Open the Traffic Generator Properties Editor by doing one of the following:

Right-click in the application link on the canvas and select Properties from the menu. In the Applications tab of Table View either double-click on the application row or right-click on the
application row and select Properties from the menu. 4. Set the application parameters as described in Section 8.9.3.1.1 to Section 8.9.3.1.7. 5. Set the statistics parameters as described in Section 8.9.3.3.

QualNet 5.1 Developer Model Library

287

Traffic Generator (Traffic-Gen) 8.9.3.1.1 Configuring Source and Destination Parameters Set the source and destination parameters listed in Table 8-48.

Chapter 8

FIGURE 8-20. TABLE 8-50.

Setting Source and Destination Parameters

Command Line Equivalent of Source and Destination Parameters Command Line Parameter
<Source> <Destination>

GUI Parameter
Source Destination

Setting Parameters

To specify an IP address as the source (destination) ID, set Source (Destination) to one of the IP
addresses listed in the drop-down list.

288

QualNet 5.1 Developer Model Library

Chapter 8 8.9.3.1.2 Configuring Session Parameters To configure the session parameters, perform the following steps:

Traffic Generator (Traffic-Gen)

1. Set the parameters Start Time Distribution and Duration Distribution.

FIGURE 8-21. TABLE 8-51.

Setting Session Parameters

Command Line Equivalent of Session Parameters Command Line Parameter


<Start Time> <Duration>

GUI Parameter
Start Time Distribution and dependent parameters Duration Time Distribution and dependent parameters

2. For each of the parameters Start Time Distribution and Duration Distribution, set the dependent parameters of the selected distribution. We show below how to set the dependent parameters for Start Time Distribution for each applicable distribution. Dependent parameters for Duration Distribution can be set in a similar way.

QualNet 5.1 Developer Model Library

289

Traffic Generator (Traffic-Gen)

Chapter 8

If Start Time Distribution is set to Deterministic, then set the dependent parameters listed in
Table 8-52.

FIGURE 8-22. TABLE 8-52.

Setting Parameters for a Deterministic Distribution

Command Line Equivalent of Deterministic Distribution Parameters GUI Parameter Command Line Parameter
DET <det-val>

Start Time Distribution (set to Deterministic) Start Time

If Start Time Distribution is set to Exponential, then set the dependent parameters listed in
Table 8-53.

FIGURE 8-23.

Setting Parameters for an Exponential Distribution

290

QualNet 5.1 Developer Model Library

Chapter 8

Traffic Generator (Traffic-Gen)

TABLE 8-53.

Command Line Equivalent of Exponential Distribution Parameters GUI Parameter Command Line Parameter
EXP <exp-val>

Start Time Distribution (set to Exponential) Mean Start Time

If Start Time Distribution is set to Pareto Truncated 3, then set the dependent parameters listed in
Table 8-54.

FIGURE 8-24.

Setting Parameters for a Truncated Pareto Distribution

TABLE 8-54.

Command Line Equivalent of Truncated Pareto Distribution Parameters GUI Parameter Command Line Parameter
TPD <tp-val-1> <tp-val-2> <tp-alpha>

Start Time Distribution (set to Pareto Truncated 3) Earliest Start Time Latest Start Time Alpha Value

QualNet 5.1 Developer Model Library

291

Traffic Generator (Traffic-Gen)

Chapter 8

If Start Time Distribution is set to Pareto Truncated 4, then set the dependent parameters listed in
Table 8-55.

FIGURE 8-25.

Setting Parameters for a 4-Parameter Truncated Pareto Distribution

TABLE 8-55.

Command Line Equivalent of 4-Parameter Truncated Pareto Distribution Parameters GUI Parameter Command Line Parameter
TPD4 <tp4-val-1> <tp4-val-2> <tp4-val-3> <tp4-alpha>

Start Time Distribution (set to Pareto Truncated 4) Minimum Value of Pareto Lower Limit of Truncation Upper Limit of Truncation Alpha Value

292

QualNet 5.1 Developer Model Library

Chapter 8

Traffic Generator (Traffic-Gen)

If Start Time Distribution is set to Uniform then set the dependent parameters listed in Table 8-56.

FIGURE 8-26.

Setting Parameters for a Uniform Distribution

TABLE 8-56.

Command Line Equivalent of Uniform Distribution Parameters Command Line Parameter


UNI <uni-val-1> <uni-val-2>

GUI Parameter
Start Time Distribution (set to Uniform) Earliest Start Time Latest Start Time

QualNet 5.1 Developer Model Library

293

Traffic Generator (Traffic-Gen) 8.9.3.1.3 Configuring Traffic Parameters To configure the traffic parameters, perform the following steps:

Chapter 8

1. Set the parameters Packet Size Distribution, Packet Interval Distribution, and Packet Generation Probability.

FIGURE 8-27. TABLE 8-57.

Setting Traffic Parameters

Command Line Equivalent of Traffic Parameters Command Line Parameter


RND <Packet Size> <Packet Interval> <Probability>

GUI Parameter
Traffic Type (set to Random) Packet Size Distribution and dependent parameters Packet Interval Distribution and dependent parameters Packet Generation Probability

2. For each of the parameters Packet Size Distribution and Packet Interval Distribution, set the dependent parameters of the selected distribution. These parameters are set in the same as the dependent parameters for Start Time Distribution (see Section 8.9.3.1.2).

294

QualNet 5.1 Developer Model Library

Chapter 8 8.9.3.1.4 Configuring Leaky Bucket Parameters To configure the leaky bucket parameters, perform the following steps: 1. Set the parameter Leaky Bucket Type.

Traffic Generator (Traffic-Gen)

FIGURE 8-28. TABLE 8-58.

Configuring Leaky Bucket Parameters

Command Line Equivalent of Leaky Bucket Parameters Command Line Parameter


<Leaky Bucket Parameters>

GUI Parameter
Leaky Bucket Type and dependent parameters

Setting Parameters

To use leaky bucket for traffic shaping, set Leaky Bucket to Leaky Bucket. To use dual leaky bucket
for traffic shaping, set Leaky Bucket to Dual Leaky Bucket.

QualNet 5.1 Developer Model Library

295

Traffic Generator (Traffic-Gen)

Chapter 8

2. If Leaky Bucket is set to None then traffic shaping is not used and there are no other parameters to set. TABLE 8-59. Command Line Equivalent of Leaky Bucket Parameters (Leaky Bucket Type = None) GUI Parameter
Leaky Bucket Type (set to None) NLB

Command Line Parameter

3. If Leaky Bucket is set to Leaky Bucket then set the dependent parameters listed in Table 8-60.

FIGURE 8-29. TABLE 8-60.

Setting Leaky Bucket Parameters

Command Line Equivalent of Leaky Bucket Parameters (Leaky Bucket Type = Leaky Bucket) GUI Parameter Command Line Parameter
LB <Bucket Size> <Token Rate> <Action>

Leaky Bucket Type (set to Leaky Bucket) Bucket Size Token Rate Action on Packets Exceeding Thresholds

296

QualNet 5.1 Developer Model Library

Chapter 8

Traffic Generator (Traffic-Gen)

4. If Leaky Bucket is set to Dual Leaky Bucket then set the dependent parameters listed in Table 8-61.

FIGURE 8-30. TABLE 8-61.

Setting Dual Leaky Bucket Parameters

Command Line Equivalent of Leaky Bucket Parameters (Leaky Bucket Type = Dual Leaky Bucket) GUI Parameter Command Line Parameter
DLB <Bucket Size> <Token Rate> <Peak Rate> <Action>

Leaky Bucket Type (set to Dual Leaky Bucket) Bucket Size Token Rate Peak Rate Action on Packets Exceeding Thresholds

QualNet 5.1 Developer Model Library

297

Traffic Generator (Traffic-Gen)

Chapter 8

8.9.3.1.5 Configuring Fragmentation Parameters To set fragmentation parameters, set Enable Fragmentation to Yes and set the dependent parameters listed in Table 8-62; otherwise, set Enable Fragmentation to No.

FIGURE 8-31. TABLE 8-62.

Setting Fragmentation Parameters

Command Line Equivalent of Fragmentation Parameters Command Line Parameter


FRAGMENT-SIZE <Fragment-size>

GUI Parameter
Enable Fragmentation (set to Yes) Fragment Size

298

QualNet 5.1 Developer Model Library

Chapter 8 8.9.3.1.6 Configuring QoS Parameters To configure the QoS parameters, perform the steps listed below.

Traffic Generator (Traffic-Gen)

1. Set Specify QOS Constraints to Yes and set the dependent parameters listed in Table 8-63.

FIGURE 8-32. TABLE 8-63.

Setting QoS Parameters

Command Line Equivalent of QoS Parameters Command Line Parameter


CONSTRAINT <Bandwidth> <Delay> <Priority> <Retry Property>

GUI Parameter
Specify QOS Constraints (set to Yes) Bandwidth End-to-end Delay Priority and dependent parameters Specify Session Retry Property and dependent parameters

QualNet 5.1 Developer Model Library

299

Traffic Generator (Traffic-Gen) Setting Parameters

Chapter 8

To set DSCP, Precedence, or TOS bits for packets, set Priority to DSCP, Precedence, or TOS,
respectively.

To set session retry properties, set Specify Session Retry Property to Yes; otherwise, set Specify
Session Retry Property to No. 2. If Priority is set to DSCP, Precedence, or TOS, set the dependent parameters listed in Table 8-64, Table 8-65, and Table 8-66, respectively. Figure 8-33 shows how to set the dependent parameters when Priority is set to DSCP. Setting dependent parameters for the other two options is similar.

FIGURE 8-33.

Setting DSCP Value

300

QualNet 5.1 Developer Model Library

Chapter 8

Traffic Generator (Traffic-Gen)

TABLE 8-64.

Command Line Equivalent of Priority Parameters (Priority = DSCP) GUI Parameter Command Line Parameter
DSCP <DSCP-value>

Priority (set to DSCP) DSCP Value

TABLE 8-65.

Command Line Equivalent of Priority Parameters (Priority = Precedence) GUI Parameter Command Line Parameter
PRECEDENCE <precedence-value>

Priority (set to Precedence) Precedence Value

TABLE 8-66.

Command Line Equivalent of Priority Parameters (Priority = TOS) Command Line Parameter
TOS <TOS-value>

GUI Parameter
Priority (set to TOS) TOS Value

QualNet 5.1 Developer Model Library

301

Traffic Generator (Traffic-Gen)

Chapter 8

3. If Specify Session Retry Property to Yes, then set the dependent parameters listed in Table 8-67.

FIGURE 8-34. TABLE 8-67.

Setting Session Retry Parameters

Command Line Equivalent of Session Retry Parameters Command Line Parameter


RETRY-INTERVAL <interval>

GUI Parameter
Specify Session Retry Property (set to Yes) Retry Interval

302

QualNet 5.1 Developer Model Library

Chapter 8 8.9.3.1.7 Configuring MDP Parameters To configure the MDP parameters, perform the following steps:

Traffic Generator (Traffic-Gen)

1. To specify MDP parameters, set Enable MDP to Yes; otherwise, set Enable MDP to No.

FIGURE 8-35.

Enabling MDP

TABLE 8-68.

Command Line Equivalent of MDP Parameters Command Line Parameter


MDP-ENABLED

GUI Parameter
Enable MDP (set to Yes)

QualNet 5.1 Developer Model Library

303

Traffic Generator (Traffic-Gen) 2. If Enable MDP is set to Yes, then set the dependent parameters listed in Table 8-69.

Chapter 8

FIGURE 8-36. TABLE 8-69.

Configuring MDP Parameters

Command Line Equivalent of MDP Configuration Parameters Command Line Parameter


MDP-PROFILE

GUI Parameter
Specify MDP Profile (set to Yes)

Setting Parameters

To specify an MDP profile, set Specify MDP Profile to Yes. To use the default MDP profile, set
Specify MDP Profile to No.

304

QualNet 5.1 Developer Model Library

Chapter 8

Traffic Generator (Traffic-Gen)

3. If Specify MDP Profile is set to Yes, then set the parameters listed in Table 8-70.

FIGURE 8-37. TABLE 8-70. GUI Parameter


MDP Profile Name

Specifying MDP Profile

Command Line Equivalent of MDP Profile Parameters Command Line Parameter


<profile-name>

QualNet 5.1 Developer Model Library

305

Traffic Generator (Traffic-Gen)

Chapter 8

8.9.3.2 Configuring a Single Host Traffic-Gen Session


To configure a single host Traffic-Gen session, perform the following steps: 1. Click the TRAF GEN button in the Single Host Applications tab of the Standard Toolset. 2. On the canvas, click on the client node. 3. Open the Traffic Generator Properties Editor by doing one of the following:

On the canvas, either double-click on the

symbol next to the client node or right-click on the

symbol and select Properties from the menu.

In the Applications tab of Table View, either double-click on the application row or right-click on the
application row and select Properties from the menu. 4. Set the application parameters as described in Section 8.9.3.2.1 to Section 8.9.3.2.6. 5. Set the statistics parameters as described in Section 8.9.3.3.

306

QualNet 5.1 Developer Model Library

Chapter 8 8.9.3.2.1 Configuring Source and Destination Parameters Set the source and destination parameters listed in Table 8-71.

Traffic Generator (Traffic-Gen)

FIGURE 8-38. TABLE 8-71.

Setting Source and Destination Parameters

Command Line Equivalent of Source and Destination Parameters Command Line Parameter
<Source> <Destination>

GUI Parameter
Source Multicast Group Address

Setting Parameters

To specify an IP address as the source ID, set Source to one of the IP addresses listed in the dropdown list. 8.9.3.2.2 Configuring Session Parameters Configure the session parameters as described in Section 8.9.3.1.2.

QualNet 5.1 Developer Model Library

307

Traffic Generator (Traffic-Gen) 8.9.3.2.3 Configuring Traffic Parameters Configure the traffic parameters as described in Section 8.9.3.1.3. 8.9.3.2.4 Configuring Leaky Bucket Parameters Configure the leaky bucket parameters as described in Section 8.9.3.1.4. 8.9.3.2.5 Configuring Fragmentation Parameters Configure the fragmentation parameters as described in Section 8.9.3.1.5. 8.9.3.2.6 Configuring MDP Parameters Configure the MDP parameters as described in Section 8.9.3.1.7.

Chapter 8

8.9.3.3 Configuring Statistics Parameters


Statistics for applications (including Traffic-Gen) can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for Traffic-Gen, check the box labeled Application in the appropriate properties editor. TABLE 8-72. Command Line Equivalent of Statistics Parameters GUI Parameter
Application

Scope of GUI Parameter


Global, Node

Command Line Parameter


APPLICATION-STATISTICS

8.9.4 Statistics
Table 8-73 shows the Traffic-Gen statistics that are output to the statistics (.stat) file at the end of simulation.

TABLE 8-73. Statistics

Traffic-Gen Statistics Description

Traffic-Gen Client
Server Address Session Start Time (s) Session End Time (s) Session Status Total Bytes Sent Total Data Units Sent Total Fragmented No Total Data Units Dropped Total Throughput (bits/s) Address of the server Time at which session started, in seconds Time at which session ended, in seconds Current status of the session Total number of bytes sent. Total number of data units sent Total number of fragmented packets sent Total number of data units dropped Client side throughput, in bits/second

Traffic-Gen Server
Client Address Session Start Time (s) Address of the client. Time at which the session started, in seconds.

308

QualNet 5.1 Developer Model Library

Chapter 8 TABLE 8-73. Statistics


Session End Time (s) Session Status Total Bytes Received Total Data Units Received Total Throughput (bits/s) Average End-to-End Delay (s) Average Jitter (s) Current status of the session Total number of bytes received Total number of data units received Server side throughput, in bits/second

Traffic Generator (Traffic-Gen) Traffic-Gen Statistics (Continued) Description


Time at which the session ended, in seconds

Average delay for packet transmission between client and server, in seconds Average jitter for packet transmission between client and server, in seconds

8.9.5 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the Traffic-Gen model. All scenarios are located in the directory QUALNET_HOME/scenarios/developer/traffic-gen. Table 8-74 lists the subdirectory where each scenario is located. TABLE 8-74. Traffic-Gen Scenarios Included in QualNet Scenario
exp tpd tpd4

Description
Shows the Traffic-Gen application with data length of traffic property is set as EXP distribution type. Shows the Traffic-Gen application with data length of traffic property is set as TPD distribution type. Shows the Traffic-Gen application with data length of traffic property is set as TPD4 distribution type.

QualNet 5.1 Developer Model Library

309

Trace File-based Traffic Generator (Traffic-Trace)

Chapter 8

.........................................................................
8.10 Trace File-based Traffic Generator (Traffic-Trace)
8.10.1 Description
Traffic-Trace simulates a trace file-based traffic generator. Trace files must have two columns; the first for time interval between data items, and the second for the length of each data item.

8.10.2 Command Line Configuration


Configuration Requirements In order to configure a Traffic-Trace session with QoS constraints, a path must exist from the source to each destination node along which QOSPF (Quality of Service Extensions to OSPF) is enabled. See Multimedia and Enterprise Model Library for details of configuring QOSPF. Application Configuration File Parameters To specify Traffic-Trace traffic, include the following statement in the application configuration (.app) file: TRAFFIC-GEN <Source> <Destination> <Session Parameters> <Traffic Parameters> <Leaky Bucket Parameters> [<QoS Parameters>] [<MDP Parameters>] Note: All parameters should be entered on the same line.

The Traffic-Trace parameters are described in Table 8-75.

310

QualNet 5.1 Developer Model Library

Chapter 8

Trace File-based Traffic Generator (Traffic-Trace)

TABLE 8-75. Element <Source> <Destination> <Session Parameters>

Traffic-Trace Parameters Description

Node ID or IP address of the source node. Node ID or IP address of the destination node or a multicast address. Session properties (start time and duration) of the connection. The session properties are specified in the following format: <Start Time> <Duration> where <Start Time> <Duration> Time when the session starts. This is specified as a time distribution (see note 1). Length of the session. This is specified as a time distribution (see note 1).

<Traffic Parameters>

Traffic properties (size of packets and inter-packet times) of the connection. For Traffic-Trace, these are read from a file. The traffic properties are specified in the following format: TRC <Trace-file> where <Trace-file> Name of the file that contains the traffic trace. The format of the Traffic Trace file is described in Section 8.10.2.1.

<Leaky Bucket Parameters>

Leaky bucket properties for traffic shaping. There are three options of specifying leaky bucket properties. If traffic shaping is not used, use the following format: NLB If leaky bucket is used, for traffic shaping use the following format: LB <Bucket Size> <Token Rate> <Action> If dual leaky bucket is used for traffic shaping, use the following format: DLB <Bucket Size> <Token Rate> <Peak Rate> <Action> where <Bucket Size> <Token Rate> <Peak Rate> <Action> Bucket size, in bytes. Token generation rate, in bps. Maximum allowed rate, in bps. Action to perform. This can be DROP or DELAY.

QualNet 5.1 Developer Model Library

311

Trace File-based Traffic Generator (Traffic-Trace) TABLE 8-75. Element <QoS Parameters> Traffic-Trace Parameters (Continued) Description QoS properties of the connection.

Chapter 8

Note: QoS properties specification is optional can only be included for clientserver sessions. The QoS properties are specified in the following format: CONSTRAINT <Bandwidth> <Delay> [<Priority>] [<Retry Property>] where <Bandwidth> <Delay> <Priority> <Retry Property> QoS Bandwidth, in bps. QoS end-to-end delay, in seconds. Priority given to a session. See note 2. Note: Priority specification is optional. Retry characteristics, which is specified in the following format: RETRY-INTERVAl <interval> where <interval> Retry interval, specified as a time value.

Note: Retry property specification is optional.

312

QualNet 5.1 Developer Model Library

Chapter 8 TABLE 8-75. Element <MDP Parameters>

Trace File-based Traffic Generator (Traffic-Trace) Traffic-Trace Parameters (Continued) Description MDP parameters of the connection. Note: MDP parameter specification is optional. If MDP parameters are not specified, the application does not run with MDP. The MDP parameters are specified in the following format: MDP-ENABLED [MDP-PROFILE <profile-name>] where <profile-name> Name of the MDP profile to be used with the application. This should be the name of a MDP profile defined in the MDP profile file (see Section 5.2.4.3). This MDP profile takes precedence over the MDP profile associated with the node in the scenario configuration file, if any. If parameter MDP-ENABLED is included but parameter MDP-PROFILE is not included, and a MDP profile is specified for the node in the scenario configuration file, then the MDP profile specified for the node is used. If parameter MDP-ENABLED is included but parameter MDP-PROFILE is not included, and a MDP profile is not specified for the node in the scenario configuration file, then default MDP values for the MDP profile parameters are used (see Section 5.2.4.3).

QualNet 5.1 Developer Model Library

313

Trace File-based Traffic Generator (Traffic-Trace)

Chapter 8

Notes: 1. Integer and Time Distributions: Several Traffic-Trace parameters are specified as random number distributions. Five random number distributions are supported: deterministic, uniform, exponential, truncated Pareto, and 4-parameter truncated Pareto.

The deterministic distribution is specified as:


DET <det-val>

It always returns <det-val> as the value.

The uniform distribution is specified as:


UNI <uni-val-1> <uni-val-2> It returns a value uniformly distributed between <uni-val-1> and <uni-val-2>.

The exponential distribution is specified as:


EXP <exp-val> It returns a value from an exponential distribution with <exp-val> as the mean.

The truncated Pareto distribution is specified as:


TPD <tp-val-1> <tp-val-2> <tp-alpha> It returns a value from a truncated Pareto distribution with <tp-val-1> as the lower end of the range, <tp-val-2> as the upper limit of the truncation, and <tpalpha> as the shape parameter.

The 4-parameter truncated Pareto distribution is specified as:


TPD4 <tp4-val-1> <tp-val-2> <tp4-val-3> <tp4-alpha> It returns a value from a truncated Pareto distribution with <tp4-val-1> as the lower end of the range, <tp4-val-2> as the lower limit of the truncation, <tp4val-3> as the upper limit of the truncation, and <tp4-alpha> as the shape parameter. For integer distributions, <det-val>, <uni-val-1>, <uni-val-2>, <exp-val>, <tp-val-1>, <tp-val-2>, <tp-alpha>, <tp4-val-1>, <tp4-val-2>, <tp4val-3>, and <tp4-alpha> are integer values, e.g., 0, 10, 15, etc. For time distributions, <det-val>, <uni-val-1>, <uni-val-2>, <exp-val>, <tp-val-1>, <tp-val-2>, <tp-alpha>, <tp4-val-1>, <tp4-val-2>, <tp4val-3>, and <tp4-alpha> are time values, e.g., 5S, 0.5MS, 100US, etc.

314

QualNet 5.1 Developer Model Library

Chapter 8

Trace File-based Traffic Generator (Traffic-Trace)

2. Priority Specification: Priority can be specified by including a TOS specification, DSCP specification, or Precedence specification.

TOS specification has the following format:


TOS <TOS-value> where <TOS-value> is the value of the TOS bits of the IP header. <TOS-value> should be an integer in the range [0, 255].

DSCP specification has the following format:


DSCP <DSCP-value> where <DSCP-value> is the value of the DSCP bits of the IP header. <DSCPvalue> should be an integer in the range [0, 63].

Precedence specification has the following format:


PRECEDENCE <precedence-value> where <precedence-value> is the value of the Precedence bits of the IP header. <precedence-value> should be an integer in the range [0, 7]. At most one of the three parameters TOS, DSCP, or PRECEDENCE can be specified. If a TOS specification, DSCP specification, or Precedence specification is not included, PRECEDENCE 0 is used as default.

Scenario Configuration File Parameters Table 8-76 describes the Traffic-Trace parameters that can be specified in the scenario configuration (.config) file.

TABLE 8-76. Parameter APPLICATION-STATISTICS


Optional Scope: Global, Node

Traffic-Trace Scenario Configuration File Parameters Value


List: YES NO Default: NO

Description
Indicates whether statistics collection is enabled for applications (including Traffic-Trace).

Examples of Parameter Usage The following are examples of Traffic-Trace configuration: 1. This is an example of video traffic that is not shaped with a leaky bucket. The start time and duration are 0 seconds and 600 seconds, respectively. TRAFFIC-TRACE 1 2 DET 0 DET 600 TRC soccer.trc NOLB The video traffic is characterized with an average rate of about 0.64 Mbps and a peak rate of a little more than 4 Mbps. Figure 8-39 shows the rate of the traffic and also its overall average. The average

QualNet 5.1 Developer Model Library

315

Trace File-based Traffic Generator (Traffic-Trace)

Chapter 8

rate looks right, but the peak is much less than 4 Mbps. The reason is that the rate graph was generated with a time sliding window of size 1 second for which outgoing traffic rate is averaged. Thus, any instant peak was not clearly captured.

FIGURE 8-39.

Video Traffic Generation

2. This is an example of video traffic that uses a leaky bucket to regulate the traffic. Since leaky bucket regulates only burst size and average rate, choose an arbitrarily smaller value for the average rate than the actual average rate of the video trace. This example is configured to delay packets rather than drop them. TRAFFIC-TRACE 1 2 DET 0 DET 600 TRC soccer.trc LB 30000 500000 DELAY In Figure 8-40, leaky bucket parameters, the bucket size in bytes and the average in bps, are specified as 30 KB and 500 Kbps, respectively. The reason for 30-KB bucket size is that since the trace file contains the biggest size data of a little less than 30 KB, the bucket size should be at least larger than that. The reason for 500-Kbps average rate is to show that the overall traffic average is suppressed by this parameter. This suppressed overall average is shown in Figure 8-40.

316

QualNet 5.1 Developer Model Library

Chapter 8

Trace File-based Traffic Generator (Traffic-Trace)

FIGURE 8-40.

Video Traffic with Leaky Bucket

3. This is an example of video traffic that uses a dual leaky bucket to regulate the traffic. Like regular leaky bucket, dual leaky bucket controls the burst size and the overall average rate. In addition, dual leaky bucket also controls the peak rate. The parameters for the dual leaky bucket are the bucket size of 30 KB, the average rate of 800 Kbps (larger than the actual average rate of the trace), and the peak rate of 1 Mbps (much smaller than the actual peak rate of the trace). Consequently, the peak rate of the traffic is regulated by the dual leaky bucket and this is clearly shown in Figure 8-41. TRAFFIC-TRACE 1 2 DET 0 DET 600 TRC soccer.trc DLB 30000 800000 1000000 DELAY

QualNet 5.1 Developer Model Library

317

Trace File-based Traffic Generator (Traffic-Trace)

Chapter 8

FIGURE 8-41.

Video Traffic with Dual Leaky Bucket

4. This is the same as the previous example, except that Traffic-Trace runs with MDP and uses the MDP profile associated with node 1. If there is no MDP profile associated with node 1, default values for MDP profile parameters are used. TRAFFIC-TRACE 1 2 DET 0 DET 600 TRC soccer.trc DLB 30000 800000 1000000 DELAY MDP-ENABLED 5. This is the same as the previous example, except that MDP uses the user-defined MDP profile profile-1. TRAFFIC-TRACE 1 2 DET 0 DET 600 TRC soccer.trc DLB 30000 800000 1000000 DELAY MDP-ENABLED MDP-PROFILE profile-1

318

QualNet 5.1 Developer Model Library

Chapter 8

Trace File-based Traffic Generator (Traffic-Trace)

8.10.2.1 Format of the Traffic Trace File


The Traffic Trace file lists the size of packets and the inter-packet times. Each line in the Traffic Trace file has the following format: <next-packet-interval> where <next-packet-interval> Time, in QualNet time format, after which the next packet is sent. (The size of the next packet is <packet-size> on the next line.) Note: The first packet is sent when the session starts (as specified by the parameter <start-time>). Each of the other packets is sent at (<next-packet-interval> of the previous packet + time the previous packet was sent). <packet-size> Example Consider the following trace file: 10 15 10 15 200 150 300 100 Size of the packet, in bytes. <packet-size>

Packets are sent at the following times:

The first packet is 200 bytes long and is sent at <start-time>. The second packet is 150 bytes long and is sent 10 seconds after the first packet (at <starttime> + 10 seconds).

The third packet is 300 bytes long and is sent 15 seconds after the second packet (at <starttime> + 25 seconds), and so on.

8.10.3 GUI Configuration


Section 8.10.3.1 describes how to configure a Traffic-Trace session between two nodes. Section 8.10.3.2 describes how to configure a single host Traffic-Trace session. Section 8.10.3.3 describes how to configure statistics parameters for applications (including Traffic-Trace). Configuration Requirements In order to configure a Traffic-Trace session with QoS constraints, a path must exist from the source to each destination node along which QOSPF (Quality of Service Extensions to OSPF) is enabled. See Multimedia and Enterprise Model Library for details of configuring QOSPF.

8.10.3.1 Configuring a Client-Server Traffic-Trace Session


To configure a Traffic-Trace session between two nodes, perform the following steps: 1. Click the TRAF TRC button in the Applications tab of the Standard Toolset. 2. On the canvas, click on the source node, drag the mouse to the destination node, and release. 3. Open the Traffic Trace Properties Editor by doing one of the following:

QualNet 5.1 Developer Model Library

319

Trace File-based Traffic Generator (Traffic-Trace)

Chapter 8

Right-click in the application link on the canvas and select Properties from the menu. In the Applications tab of Table View either double-click on the application row or right-click on the
application row and select Properties from the menu. 4. Set the application parameters as described in Section 8.10.3.1.1 to Section 8.10.3.1.6. 5. Set the statistics parameters as described in Section 8.10.3.3. 8.10.3.1.1 Configuring Source and Destination Parameters Set the source and destination parameters listed in Table 8-77.

FIGURE 8-42. TABLE 8-77.

Setting Source and Destination Parameters

Command Line Equivalent of Source and Destination Parameters Command Line Parameter
<Source> <Destination>

GUI Parameter
Source Destination

Setting Parameters

To specify an IP address as the source (destination) ID, set Source (Destination) to one of the IP
addresses listed in the drop-down list.

320

QualNet 5.1 Developer Model Library

Chapter 8

Trace File-based Traffic Generator (Traffic-Trace)

8.10.3.1.2 Configuring Session Parameters To configure the session parameters, perform the following steps: 1. Set the parameters Start Time Distribution and Duration Distribution.

FIGURE 8-43. TABLE 8-78.

Setting Session Parameters

Command Line Equivalent of Session Parameters Command Line Parameter


<Start Time> <Duration>

GUI Parameter
Start Time Distribution and dependent parameters Duration Time Distribution and dependent parameters

2. For each of the parameters Start Time Distribution and Duration Distribution, set the dependent parameters of the selected distribution as described in Section 8.9.3.1.2.

QualNet 5.1 Developer Model Library

321

Trace File-based Traffic Generator (Traffic-Trace) 8.10.3.1.3 Configuring Traffic Parameters To configure the traffic parameters, set Trace File to the name of the Traffic Trace file. See Section 8.10.2.1 for the format of the Traffic Trace file.

Chapter 8

FIGURE 8-44. TABLE 8-79.

Setting Traffic Parameters

Command Line Equivalent of Traffic Parameters Command Line Parameter


TRC <Trace-file>

GUI Parameter
Traffic Type (set to Trace) Trace File

Setting Parameters

Set Trace File to the name of the Traffic Trace file. See Section 8.10.2.1 for the format of the Traffic
Trace file.

322

QualNet 5.1 Developer Model Library

Chapter 8

Trace File-based Traffic Generator (Traffic-Trace)

8.10.3.1.4 Configuring Leaky Bucket Parameters To configure the leaky bucket parameters, perform the following steps: 1. Set the parameter Leaky Bucket Type.

FIGURE 8-45. TABLE 8-80.

Configuring Leaky Bucket Parameters

Command Line Equivalent of Leaky Bucket Parameters Command Line Parameter


<Leaky Bucket Specification>

GUI Parameter
Leaky Bucket Type and dependent parameters

Setting Parameters

To use leaky bucket for traffic shaping, set Leaky Bucket to Leaky Bucket. To use dual leaky bucket
for traffic shaping, set Leaky Bucket to Dual Leaky Bucket. 2. Set the dependent parameters of Leaky Bucket as described in Section 8.9.3.1.4.

QualNet 5.1 Developer Model Library

323

Trace File-based Traffic Generator (Traffic-Trace) 8.10.3.1.5 Configuring QoS Parameters To configure the QoS parameters, perform the steps listed below. 1. Set Specify QOS Constraints to Yes.

Chapter 8

FIGURE 8-46. TABLE 8-81.

Setting QoS Parameters

Command Line Equivalent of QoS Parameters Command Line Parameter


<QoS Specification>

GUI Parameter
Specify QOS Constraints and dependent parameters

2. Set the dependent parameters of Specify QOS Constraints as described in Section 8.9.3.1.6.

324

QualNet 5.1 Developer Model Library

Chapter 8

Trace File-based Traffic Generator (Traffic-Trace)

8.10.3.1.6 Configuring MDP Parameters To configure the MDP parameters, perform the following steps: 1. To specify MDP parameters, set Enable MDP to Yes; otherwise, set Enable MDP to No.

FIGURE 8-47.

Enabling MDP

TABLE 8-82.

Command Line Equivalent of MDP Parameters Command Line Parameter


MDP-ENABLED

GUI Parameter
Enable MDP (set to Yes)

QualNet 5.1 Developer Model Library

325

Trace File-based Traffic Generator (Traffic-Trace) 2. If Enable MDP is set to Yes, then set the dependent parameters listed in Table 8-83.

Chapter 8

FIGURE 8-48. TABLE 8-83.

Configuring MDP Parameters

Command Line Equivalent of MDP Configuration Parameters Command Line Parameter


MDP-PROFILE

GUI Parameter
Specify MDP Profile (set to Yes)

Setting Parameters

To specify an MDP profile, set Specify MDP Profile to Yes. To use the default MDP profile, set
Specify MDP Profile to No.

326

QualNet 5.1 Developer Model Library

Chapter 8

Trace File-based Traffic Generator (Traffic-Trace)

3. If Specify MDP Profile is set to Yes, then set the parameters listed in Table 8-84.

FIGURE 8-49. TABLE 8-84. GUI Parameter


MDP Profile Name

Specifying MDP Profile

Command Line Equivalent of MDP Profile Parameters Command Line Parameter


<profile-name>

QualNet 5.1 Developer Model Library

327

Trace File-based Traffic Generator (Traffic-Trace)

Chapter 8

8.10.3.2 Configuring a Single Host Traffic-Trace Session


To configure a single host Traffic-Trace session, perform the following steps: 1. Click the TRAF TRC button in the Single Host Applications tab of the Standard Toolset. 2. On the canvas, click on the client node. 3. Open the Traffic Generator Properties Editor by doing one of the following:

On the canvas, either double-click on the

symbol next to the client node or right-click on the

symbol and select Properties from the menu.

In the Applications tab of Table View, either double-click on the application row or right-click on the
application row and select Properties from the menu. 4. Set the application parameters as described in Section 8.10.3.2.1 to Section 8.10.3.2.5. 5. Set the statistics parameters as described in Section 8.10.3.3. 8.10.3.2.1 Configuring Source and Destination Parameters Set the source and destination parameters listed in Table 8-85.

FIGURE 8-50. TABLE 8-85.

Setting Source and Destination Parameters

Command Line Equivalent of Source and Destination Parameters Command Line Parameter
<Source> <Destination>

GUI Parameter
Source Multicast Group Address

328

QualNet 5.1 Developer Model Library

Chapter 8 Setting Parameters

Trace File-based Traffic Generator (Traffic-Trace)

To specify an IP address as the source ID, set Source to one of the IP addresses listed in the dropdown list. 8.10.3.2.2 Configuring Session Parameters Configure the session parameters as described in Section 8.10.3.2.2. 8.10.3.2.3 Configuring Traffic Parameters Configure the traffic parameters as described in Section 8.10.3.2.3. 8.10.3.2.4 Configuring Leaky Bucket Parameters Configure the leaky bucket parameters as described in Section 8.10.3.2.4. 8.10.3.2.5 Configuring MDP Parameters Configure the MDP parameters as described in Section 8.10.3.2.5.

8.10.3.3 Configuring Statistics Parameters


Statistics for applications (including Traffic-Trace) can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for Traffic-Trace, check the box labeled Application in the appropriate properties editor. TABLE 8-86. Command Line Equivalent of Statistics Parameters GUI Parameter
Application

Scope of GUI Parameter


Global, Node

Command Line Parameter


APPLICATION-STATISTICS

8.10.4 Statistics
Table 8-87 shows the Traffic-Trace statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 8-87. Statistics Traffic-Trace Client
Server Address Session Start Time (s) Session End Time (s) Session Status Total Bytes Sent Total Data Units Sent Total Data Units Dropped Throughput (bits/s) Address of the server Time when session started, in seconds Time at which session ended, in seconds Current status of the session Total number of bytes sent Total number of data units sent Total number of data units dropped Client side throughput, in bits/second

Traffic-Trace Statistics Description

QualNet 5.1 Developer Model Library

329

Trace File-based Traffic Generator (Traffic-Trace) TABLE 8-87. Statistics Traffic-Trace Server
Client Address Session Start Time (s) Session End Time Session Status Total bYtes Received Total Data Units Received Throughput (bits/s) Average End-to-End delay (s) Average Jitter (s) Address of the client Time in second when session started Time in second when session ended Current status of the session Total number of bytes received Total number of data units received Server-side throughput, in bits/second

Chapter 8

Traffic-Trace Statistics (Continued) Description

Average end-to-end delay faced for packet transmission, in seconds Average jitter faced for packet transmission, in seconds

330

QualNet 5.1 Developer Model Library

Chapter 8

Variable Bit Rate (VBR) Traffic Generator

.........................................................................
8.11 Variable Bit Rate (VBR) Traffic Generator
8.11.1 Description
VBR is generally used to fill in background traffic in order to affect the performance of other applications being analyzed, or to simulate the performance of generic multimedia traffic. The VBR is used for connections that transport traffic at variable rates: 1. Traffic that relies on accurate timing between the traffic source (an example is compressed video streams) and destination 2. Traffic for which there is no inherent reliance on time synchronisation between the traffic source and destination, but there is a need for an attempt at a guaranteed bandwidth or latency (an example is Frame Relay interworking).

8.11.2 Command Line Configuration


Application Configuration File Parameters To specify VBR traffic, include the following statement in the application configuration (.app) file: VBR <src> <dest> <item-size> <mean-interval> <start-time> <end-time> [TOS <tos-value> | DSCP <dscp-value> | PRECEDENCE <precedence-value>] [MDP-ENABLED [MDP-PROFILE <profile-name>]] Note: All parameters should be entered on the same line.

The VBR parameters are described in Table 8-88. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 8-88. Parameter <src>


Required

VBR Parameters Description


Client node's ID or IP address.

Value
Integer or IP Address Integer or IP Address Integer Range: [120, 65023] Unit: bytes

<dest>
Required

Server node's ID or IP address.

<item-size>
Required

Size of each item.

QualNet 5.1 Developer Model Library

331

Variable Bit Rate (VBR) Traffic Generator TABLE 8-88. Parameter <mean-interval>
Required Time Range: > 0 Time Range: 0S Time Range: 0S Integer Range: [0, 255] Integer Range: [0, 63] Integer Range: [0, 7] N/A

Chapter 8 VBR Parameters (Continued) Description


Average time between transmission of items. Inter-packet times are exponentially distributed.

Value

<start-time>
Required

Time when the transmission of packets should begin. Time when the transmission of packets should end. The end time must be either greater than start time or equal to 0 Value of the 8-bit TOS field of the IP header for the packets generated. See note. Value of the 6-bit DSCP field of the IP header for the packets generated. See note. Value the 3-bit Precedence field of the IP header for the packets generated. See note. Keyword which specifies that MDP is enabled for the application. Note: If this keyword is not included, then the application does not run with MDP.

<end-time>
Required

TOS <tos-value>
Optional

DSCP <dscp-value>
Optional

PRECEDENCE <precedencevalue>
Optional

MDP-ENABLED
Optional

MDP-PROFILE <profile-name>
Optional

String

Name of the MDP profile to be used with the application. This should be the name of a MDP profile defined in the MDP profile file (see Section 5.2.4.3). This MDP profile takes precedence over the MDP profile associated with the node in the scenario configuration file, if any. Note: This parameter can be included only if the parameter MDP-ENABLED is also included. Note: If parameter MDP-ENABLED is included but parameter MDP-PROFILE is not included, and a MDP profile is specified for the node in the scenario configuration file, then the MDP profile specified for the node is used. If parameter MDP-ENABLED is included but parameter MDP-PROFILE is not included, and a MDP profile is not specified for the node in the scenario configuration file, then default MDP values for the MDP profile parameters are used (see Section 5.2.4.3).

332

QualNet 5.1 Developer Model Library

Chapter 8

Variable Bit Rate (VBR) Traffic Generator

Note:

At most one of the three parameters PRECEDENCE, DSCP, and TOS can be specified. If PRECEDENCE, DSCP or TOS is not specified, PRECEDENCE 0 is used as default.

Examples of Parameter Usage 1. In the following example of VBR configuration, node 1 sends node 2 items of 2048 bytes each, starting at 50 seconds into the simulation and up to at 500 minutes into the simulation. The mean inter-packet time is 1 minute. VBR 1 2 2048 1M 50S 500M 2. This is the same as the previous example, except that VBR runs with MDP and uses the MDP profile associated with node 1. If there is no MDP profile associated with node 1, default values for MDP profile parameters are used. VBR 1 2 2048 1M 50S 500M MDP-ENABLED 3. This is the same as the previous example, except that MDP uses the user-defined MDP profile profile-1. VBR 1 2 2048 1M 50S 500M MDP-ENABLED MDP-PROFILE profile-1

8.11.3 GUI Configuration


VBR is configured using the VBR Properties Editor. To configure a VBR session between two nodes, perform the following steps: 1. Click the VBR button in the Applications tab of the Standard Toolset. 2. On the canvas, click on the source node, drag the mouse to the destination node, and release. 3. Open the VBR Properties Editor by doing one of the following: c. Right-click in the application link on the canvas and select Properties from the menu. d. In the Applications tab of Table View, either double-click on the application row or right-click on the application row and select Properties from the menu.

QualNet 5.1 Developer Model Library

333

Variable Bit Rate (VBR) Traffic Generator 4. Set the parameters listed in Table 8-89.

Chapter 8

FIGURE 8-51.

Setting VBR Parameters

TABLE 8-89.

Command Line Equivalent of VBR Parameters Command Line Parameter


<src> <dest> <item-size> <mean-interval> <start-time> <end-time> DSCP PRECEDENCE TOS MDP-ENABLED

GUI Parameter
Source Destination Item Size Mean Interval Start Time End Time Priority (set to DSCP) Priority (set to Precedence) Priority (set to TOS) Enable MDP (set to Yes)

Setting Parameters

To specify an IP address as the source (destination) ID, set Source (Destination) to one of the IP
addresses listed in the drop-down list.

To set DSCP, Precedence, or TOS bits for packets, set Priority to DSCP, Precedence, or TOS,
respectively.

To enable MDP, set Enable MDP to Yes.

334

QualNet 5.1 Developer Model Library

Chapter 8

Variable Bit Rate (VBR) Traffic Generator

5. If Priority is set to DSCP, Precedence, or TOS, set the appropriate dependent parameter listed in Table 8-90. Figure 8-52 shows how to set the dependent parameter when Priority is set to DSCP. Setting dependent parameters for the other two options is similar.

FIGURE 8-52.

Setting DSCP Bits

TABLE 8-90.

Command Line Equivalent of Priority Parameters Command Line Parameter


<dscp-value> <precedence-value> <tos-value>

GUI Parameter
DSCP Value Precedence Value TOS Value

QualNet 5.1 Developer Model Library

335

Variable Bit Rate (VBR) Traffic Generator 6. If Enable MDP is set to Yes, then set the parameters listed in Table 8-91.

Chapter 8

FIGURE 8-53. TABLE 8-91. GUI Parameter


Specify MDP Profile (set to Yes)

Enabling MDP

Command Line Equivalent of MDP Parameters Command Line Parameter


MDP-PROFILE

Setting Parameters

To specify an MDP profile, set Specify MDP Profile to Yes. To use the default MDP profile, set
Specify MDP Profile to No.

336

QualNet 5.1 Developer Model Library

Chapter 8

Variable Bit Rate (VBR) Traffic Generator

7. If Specify MDP Profile is set to Yes, then set the parameters listed in Table 8-92.

FIGURE 8-54. TABLE 8-92. GUI Parameter


MDP Profile Name

Specifying MDP Profile

Command Line Equivalent of MDP Profile Parameters Command Line Parameter


<profile-name>

QualNet 5.1 Developer Model Library

337

Variable Bit Rate (VBR) Traffic Generator

Chapter 8

Configuring Statistics Parameters Statistics for applications (including VBR) can be collected at the global and node levels. See Section 4.2.9 of QualNet Users Guide for details of configuring statistics parameters. To enable statistics collection for VBR, check the box labeled Application in the appropriate properties editor.

TABLE 8-93. Command Line Equivalent of Statistics Parameters GUI Parameter


Application

Scope of GUI Parameter


Global, Node

Command Line Parameter


APPLICATION-STATISTICS

8.11.4 Statistics
This section describes the file and dynamic statistics of the VBR model.

8.11.4.1 File Statistics


Table 8-94 lists the VBR statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 8-94. Statistic
Total Bytes Sent Total Bytes Received

VBR Statistics Description

Total number of bytes sent. Total number of bytes received.

8.11.4.2 Dynamic Statistics


The following dynamic statistics are enabled for the VBR model (refer to Chapter 6 of QualNet Users Guide for details of viewing dynamic statistics in the GUI during the simulation):

Total Bytes Sent Total Bytes Received

338

QualNet 5.1 Developer Model Library

Multi-layer Models

This chapter describes features, configuration requirements and parameters, statistics, and scenarios for Multi-layer Models, and consists of the following sections:

Asynchronous Transfer Mode (ATM)

QualNet 5.1 Developer Model Library

339

Asynchronous Transfer Mode (ATM)

Chapter 9

.........................................................................
9.1 Asynchronous Transfer Mode (ATM)
ATM is based on the following documents:

RFC 2225 Classical IP and ARP over ATM M. Laubach, J. Halpern. April 1998. RFC 2684 Multiprotocol Encapsulation over ATM Adaptation Layer 5 D. Grossman, J. Heinanen.
September 1999

ATM Forum Addressing Specification: Reference Guide AF-RA-0106.000.

9.1.1 Description
Asynchronous Transfer Mode (ATM) is an International Telecommunication Union-Telecommunications (ITU-T) standard for a connection-oriented cell relay protocol. Information bit streams are conveyed in small fixed-size cells (53 bytes). The ATM library in QualNet has implemented the ATM layer 2, ATM signaling, and ATM Adaptation Layer Type 5 (AAL5). It also supports interoperability between IP networks and ATM networks known as IP over ATM. You can use the ATM library to simulate pure ATM backbone networks as well as IP over ATM networks.

9.1.1.1 ATM Backbone


ATM backbone network consists of ATM switches and ATM end system nodes. They are connected via wired point-to-point links. 9.1.1.1.1 ATM Adaptation Layer (AAL) The ATM Adaptation Layer supports mapping between the ATM layer 2 and the next higher layer, and performs user-required functions such as control and management planes. It supports non-assured transfer of user data frames. The AAL type 5 is characterized by the fact that in most of the cells there is no overhead encountered. The AAL type 5 provides the capabilities to transfer the AAL-SDU from one AAL SAP to one another AAL SAP through the ATM network in the following manner: Starting from the ATM cell stream on a single VCC (Virtual Channel connection), the only overhead the SAR sub layer uses is the payload type field in the last cell of a sequence of cells corresponding to a single PDU. A non-zero value of the AAL_Indicate field identifies the last cell in the sequence of cells indicating that the receiver can begin reassembly. The SAR sub layer reassembles the CPCS_PDU and passes it to the CPCS sub layer, which first uses the CRC-32 field to check for any errors in the received PDU. Normally, CPCS discards corrupted PDUs, but may optionally deliver them onto an SSCS. The CPCS removes the PAD and other trailer fields before passing the AAL-SDU across the AAL5-SAP. The transmit operation is the reverse of the above. Depending on the payload size (may be any integer number of octets in the range of 1 to 216-1), PAD field is chosen as a variable length so that the entire CPCS-PDU is an exact multiple of 48 and can be directly segmented into cell payloads. The length field identifies the length of the CPCS-PDU payload so that the receiver can remove the PAD field. Since 16 bits are allocated to the length field, the maximum payload length is 216-1= 65535 octets. 9.1.1.1.2 ATM Layer 2 ATM layer 2 is in between Physical layer and AAL layer. This is the most important layer of the ATM protocol stack. Most of the essential functionalities are performed at this layer. It receives 48 byte packets from AAL, attaches a five-byte header and sends it to the lower layer. Apart from the multiplexing and demultiplexing of cell stream, the translation of the connection identifiers (VPI / VCI) and cell switching is done at this layer at the intermediate nodes. This layer also has the mechanisms for traffic management and connection admission control. It checks for resource availability on receiving a request for connection establishment and checking the data rate offered by the user on a connection to the network.

340

QualNet 5.1 Developer Model Library

Chapter 9

Asynchronous Transfer Mode (ATM)

9.1.1.1.3 ATM Signaling Signaling procedure specifies the valid sequence of message exchanged between the user & the network, the rules for verifying consistency of the parameters, and the actions taken to establish and release ATM layer connections. There are various issues that govern the design of an efficient & effective signaling protocol such as acknowledgements, timer protection, parameter negotiation, etc. Transmission media, being unreliable by nature, need a two-way or three-way hand shaking for a reliable communication. Timer is used to avoid inordinate delays in case the signaling message gets lost or corrupted. Parameter negotiation refers to the process of fixing connection parameter through the exchange of signaling information. Two end systems can have more than one active connection simultaneously. To identify each call separately in such a scenario, you must introduce the Call Identification process. Generally, a call goes through three distinct phases: 1. Call establishment phase: Through the two-way or three-way handshaking process, each end system is informed about the current call and status of the other to make them ready for the data transfer process. 2. Data transfer phase: The actual data transfer takes place in this phase. 3. Call clearing (releasing) phase: As the call is cleared in this phase, all resources allocated for the call are freedup.

9.1.1.2 IP over ATM


In QualNet, the interoperability between ATM backbone and IP subnets is implemented following the classical IP over ATM specifications. You can forward IP packets through ATM backbones. It introduces the concept of a logical entity called Logical IP Subnet (LIS) which treats the ATM network as a number of separate IP subnets connected through routers. Membership to an LIS is defined by software configuration. Transportation of various protocol data units over an ATM network uses the following functionalities:

Addressing Address resolution Data encapsulation Routing

9.1.1.2.1 Addressing In ATM Forum Specifications the term address is used to mean locator (for example, address indicates the location of an interface). An individual ATM address is 20 octets long and identifies the location of a single ATM interface. Basically the total address consists of following parts in this format.

FIGURE 9-1.

ATM Address Format

The Initial Domain Part (IDP) uniquely specifies an administration authority, which has the responsibility for allocating and assigning values of the Domain Specific Part (DSP). QualNet implements only the International Code Designator (ICD) Address format. International organizations use this format for address allocation.

QualNet 5.1 Developer Model Library

341

Asynchronous Transfer Mode (ATM)

Chapter 9

9.1.1.2.2 Address Resolution For operation of IP over ATM, a mechanism is used to resolve IP addresses to the corresponding ATM addresses within an ATM logical IP subnet. It uses ATMARP and InATMARP protocols for this purpose. All nodes within the LIS are configured with the unique ATM address of the ATMARP server, which is used to resolve the requests of the LIS clients to map the IP address to the ATM address. At present no ATMARP Server is configured separately, rather, a static table is provided with all ARP related information and an address table is kept at the end systems for this purpose. 9.1.1.2.3 Data Encapsulation IETF describes two encapsulation methods for carrying network interconnect traffic over the ATM AAL5. The first of these two methods, LLC/SNAP Encapsulation, allows the transport network and link layer packets across an ATM connection. The second method of encapsulation, VC Multiplexing, allows the multiplexing of multiple packet types on the same connection. These methods allow you to conserve connection resource space (all data transfer between two nodes across the same connection) and to save connection latency after the first connection setup.

LLC/SNAP Encapsulation - This encapsulation method is used for carrying multiple protocols over a
single ATM VC connection. An LLC header placed in front of the carried Protocol Data Unit (PDU) identifies the packet type (IP, IPX, and AppleTalk). This approach is preferred when separate VCs for each carried protocol are either expensive or not possible (for example, the only connection type supported is PVC or charging is based on the number of VC allocated). This method is the default encapsulation method for all IP over ATM protocols.

VC Multiplexing - In this method, each protocol is carried over a separate ATM VC, with the type of
protocol identified at connection setup. With VC Based Multiplexing, the data is encapsulated into the CPCS-PDU field of AAL5 directly, so each connection can only carry one protocol. This approach is preferred when you wish to establish a large number of VCs in a fast and economical way. 9.1.1.2.4 Routing Routing is another important aspect of carrying IP Protocol Data Unit over ATM. In a mixed topology of IP (connectionless), and ATM (connection oriented), paths among various routers can be created dynamically, but there is some difficulty related to QoS. An alternative is to create such a path through management action so that traffic engineering can be accomplished. This leads to the concept of Gateway. Different IP clouds are connected to ATM backbone through their respective gateways, which act as the entry point to other (next Hop) networks (for example, ATM cloud). To reach another IP network, the egress end systems are discovered in SVC. Setup messages are forwarded to all the end systems attached in that logical network. The end system with the proper outgoing route replies back with an alert message to the desired IP. Once the path is established, data can be transferred only through that path.

9.1.2 Features and Assumptions


This section describes the implemented features, omitted features, assumptions and limitations of the ATM model.

9.1.2.1 Implemented Features Cell construction Cell reception and header validation Cell relaying, forwarding and copying Cell multiplexing and demultiplexing. Interpretation-only data cell and signaling cell Explicit forward congestion indication Point to point connection

342

QualNet 5.1 Developer Model Library

Chapter 9

Asynchronous Transfer Mode (ATM)

Connection assignment and removal Bandwidth is reserved for each application. Total link bandwidth is shared among all the applications. If
bandwidth requirements exceed available bandwidth, no virtual connection is established for that application. One virtual path is reserved for signaling.

The virtual path setup process for each application is done dynamically, for example, using the SVC
process.

For SVC, connections are refreshed periodically and if a virtual circuit remains idle for a certain period
(timeout-time), it is considered as timeout and bandwidth is freed and can be reused.

IP over ATM features - IP Protocol Data Units are carried over the ATM cloud through the gateways. - Gateways can be configured from the configuration file for each node present in IP clouds. - ATM-ARP is partially implemented for address discovery. Addresses are translated statically. The following applications (running at IP nodes) can go through the ATM backbone: CBR, VBR, VOIP,
Super-Application, FTP, FTP/GENERIC, HTTP, Lookup, TELNET, Traffic-Gen, and Traffic-Trace (without QoS specification).

9.1.2.2 Omitted Features QoS features. All applications use DEFAULT-SAAL-BW. Point to multiple connection IPv6 over ATM IP Multicast over ATM PNNI Routing PVC 9.1.2.3 Assumptions and Limitations Routing within the ATM clouds is done statically. Static route file is provided externally during
configuration.

Only the CBR application is supported for standalone ATM networks.

9.1.3 Command Line Configuration


This section describes the command line configuration for standalone ATM backbone and for IP over ATM networks.

9.1.3.1 Configuring the ATM Backbone


An ATM network (consisting of ATM switches, ATM end systems, and ATM links) is configured using special keywords which are described below. These parameters should be included in the scenario configuration (.config) file.

All nodes in the ATM network must be explicitly defined as ATM nodes by using the following parameter
declaration: <node list> ATM-NODE where <node list> Comma-separated list of node IDs, enclosed in square brackets, [ and ]. YES

QualNet 5.1 Developer Model Library

343

Asynchronous Transfer Mode (ATM)

Chapter 9

Each ATM node must be designated as an ATM end-node or an ATM switch. If an ATM node is to
interface with non-ATM networks or if it is to run an application, then it should be designated as an ATM end-node. An ATM switch can interface only with ATM nodes and can not run applications. ATM endnodes are defined by using the following parameter declaration: <node-list> ATM-END-SYSTEM where <node-list> Note: Comma-separated list of node IDs, enclosed in square brackets, [ and ]. YES

An ATM node that is not explicitly designated as an ATM end-node is treated as an ATM switch.

ATM supports only wired point-to-point links. These links are dedicated, error-free, and support the
maximum bandwidth in both directions simultaneously. To create an ATM link between two ATM nodes, use the following parameter: ATM-LINK <link-address> {<node-1>, <node-2>} where <link-address> <node-1>, <node-2> Subnet address of the link in QualNet ATM address format. Node IDs of the nodes at the end points of the link.

All ATM end nodes must be made part of a logical subnet by using the following parameter:
ATM-LOGICAL-SUBNET where <subnet-address> <node-list> IPv4 address of the subnet in QualNet N syntax. Comma-separated list of node IDs, enclosed in braces, { and }. A range of nodes can also be specified by using the keyword thru. <subnet-address> <node-list>

ATM Configuration Parameters Table 9-1 shows the configurable parameters for ATM. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 9-1. Parameter

ATM Configuration Parameters Value Description

ATM Layer 2 Parameters ATM-LAYER2-LINK-BANDWIDTH


Required Scope: All Integer Range: 0 Unit: bps This parameter specifies the bandwidth of the ATM link.

344

QualNet 5.1 Developer Model Library

Chapter 9

Asynchronous Transfer Mode (ATM) TABLE 9-1. ATM Configuration Parameters (Continued) Parameter Value
Time Range: 0S

Description
This parameter specifies the propagation delay for wired point-to-point ATM link.

ATM-LAYER2-LINKPROPAGATION-DELAY
Required Scope: All

ATM Adaptation Layer Parameters ATM-CONNECTION-REFRESHTIME


Optional Scope: All Time Range: 0S Default: 5M Time Range: 0S Default: 1M List AAL5 AAL5 is implemented as the Adaptation Layer protocol for ATM. This parameter specifies the time till which the virtual path can remain idle. After that, it is taken as a timeout, and bandwidth is freed. This parameter specifies the time after which the SVC connection and the connection table are refreshed.

ATM-CONNECTION-TIMEOUTTIME
Optional Scope: All

ADAPTATION-PROTOCOL
Required Scope: Global, Node

ATM Routing Parameters ATM-STATIC-ROUTE


Required Scope: Global List: YES This parameter specifies whether or not ATM uses static routes. As ATM routes the packet using static route only this parameter should be set to YES.

ATM-STATIC-ROUTE-FILE
Required Scope: Global

Filename

Name of the ATM static routes file. The format of the ATM static routes is described in Section 9.1.3.1.1.

ATM Queue And Scheduler Parameters ATM-RED-MIN-THRESHOLD


Optional Scope: All Integer Range: 0 Default: 5 Integer Range: 0 Default: 15 Number of packets in the queue that represents the upper bound at which packets can be randomly dropped or marked. Note: ATM-RED-MAX-THRESHOLD should always be greater than or equal to ATM-RED-MINTHRESHOLD. Number of packets in the queue that represents the lower bound at which packets can be randomly dropped or marked.

ATM-RED-MAX-THRESHOLD
Optional Scope: All

QualNet 5.1 Developer Model Library

345

Asynchronous Transfer Mode (ATM) TABLE 9-1. ATM Configuration Parameters (Continued) Parameter ATM-RED-MAX-PROBABILITY
Optional Scope: All Default: 0.02 Real Range: [0.0, 1.0]

Chapter 9

Value

Description
Maximum probability at which a packet can be dropped (before the queue is completely full).

ATM-RED-SMALL-PACKETTRANSMISSION-TIME
Optional Scope: All

Time Range: 0S Default: 10MS Integer Range: 0 Default: 15000 Unit: bytes

Typical amount of time that it would take to transmit a small packet. This is used to estimate the queue average length during idle periods.

ATM-QUEUE-SIZE
Optional Scope: All Instances: queue number

ATM Queue uses a special type of Random Early Detection (RED) queue internally. RED marks packets; it does not drop them when queue is not full.

ATM Statistics Parameters ATM-LAYER2-STATISTICS


Optional Scope: All List: YES NO Default: NO List: YES NO Default: NO List: YES NO Default: NO List: YES NO Default: NO Enables the collection of ATM scheduler statistics. Enables the collection of ATM Adaptation Layer statistics. Enables the collection of ATM signaling statistics. Enables the collection of ATM Layer2 specific statistics.

ATM-SIGNALLING-STATISTICS
Optional Scope: Global, Node

ADAPTATION-LAYERSTATISTICS
Optional Scope: Global, Node

ATM-SCHEDULER-STATISTICS
Optional Scope: All

346

QualNet 5.1 Developer Model Library

Chapter 9 9.1.3.1.1 Format of the ATM Static Routes File Each line in the ATM static routes file has the following format:

Asynchronous Transfer Mode (ATM)

<node ID> <dest address> <outgoing interface> where <node ID> <dest address> <outgoing interface> Node identifier. Destination address in ATM cloud. This can be either a host IP address or a network IP address. IP address of the outgoing interface.

9.1.3.2 Configuring IP over ATM


To configure an IP over ATM network scenario, the following steps are required in addition to the ATM backbone configuration described in Section 9.1.3.1. 1. Connect IP subnets to ATM end systems by point-to-point links or wired or wireless subnets. End system nodes should be placed in a logical IP subnet. 2. The ARP module should be configured to provide the capability to translate logical IP addresses to ATM addresses of ATM interfaces. ARP should be configured to use static ARP cache file. See Section 2.4 for details of configuring ARP. Note: 1. The <Protocol> entry must be an IP address 2. For IP over ATM scenarios, the <hardware type> entry must be ATM and the <timeout> entry must be 0 in each line of the ARP static cache file (see Section 2.4.4.1) Example The following is an example of the ARP static cache file for an IP over ATM scenario: 1 2 IP IP 192.168.5.1 192.168.5.2 ATM ATM 23:4f:5C:aa:FE:00 23:4f:5C:aa:FE:01 0 0

3. To enable routing of packets, each IP subnet must configure a default gateway that routes packets to the gateway node connecting the IP subnet to the ATM backbone. Some of the ATM end systems are configured as the gateway for associated IP clouds. These nodes are responsible for transferring data from IP to ATM clouds and vice versa. The format for configuring a default gateway is: [<node ID>] DEFAULT-GATEWAY <node ID> <gateway-address> <gateway-address>

Node ID of the node for which the default gateway is configured. Node ID or the IP address of the gateway node.

QualNet 5.1 Developer Model Library

347

Asynchronous Transfer Mode (ATM)

Chapter 9

9.1.4 GUI Configuration


This section describes how to configure ATM networks in the GUI.

9.1.4.1 Configuring ATM Networks


This section describes how to set up an ATM network. ATM Devices The ATM device can be selected from the Devices toolbar of the Standard Toolset.

FIGURE 9-2.

ATM Device Button in Devices Toolbar

ATM End Systems To configure an ATM device as an end system, perform the following steps: 1. Go to ATM Device Properties Editor > General 2. Set Node Type to ATM End System.

FIGURE 9-3.

Setting ATM End System

ATM Links To create an ATM Link, select the Link button in the Links toolbar, and create a link between two ATM switches.

348

QualNet 5.1 Developer Model Library

Chapter 9 Configuring ATM Logical Subnet To configure an ATM logical subnet perform following steps:

Asynchronous Transfer Mode (ATM)

1. Go to Scenario Properties Editor > General > ATM Configuration. 2. Set Configure ATM Logical Subnet to Yes. In the ATM Logical Subnet field, specify the subnet address and the node IDs of ATM end systems that belong to the ATM logical subnet. Note: The node IDs should be separated by commas.

FIGURE 9-4.

Configuring ATM Logical Subnet

9.1.4.2 Configuring ATM Link Parameters


Section 9.1.4.2.1 describes how to configure properties for symmetric ATM links. Section 9.1.4.2.2 describes how to configure properties for asymmetric ATM links.

QualNet 5.1 Developer Model Library

349

Asynchronous Transfer Mode (ATM) 9.1.4.2.1 Symmetric ATM Links To configure link parameters for a symmetric ATM link, perform the following steps: 1. Go to ATM Link Properties Editor > General.

Chapter 9

2. To configure the link as a symmetric link, set ATM Symmetric Link to Yes; otherwise, set ATM Symmetric Link to No.

FIGURE 9-5.

Setting ATM Link Properties

3. If ATM Symmetric Link is set to Yes, set the ATM link parameters listed in Table 9-2.

FIGURE 9-6. TABLE 9-2. GUI Parameter


ATM Layer2 Link Bandwidth ATM Layer2 Propagation Delay

Setting Symmetric ATM Link Properties

Command Line Equivalent of ATM Link Parameters Scope of GUI Parameter


ATM Link, ATM Interface ATM Link, ATM Interface

Command Line Parameter


ATM-LAYER2-LINK-BANDWIDTH ATM-LAYER2-LINK-PROPAGATIONDELAY

350

QualNet 5.1 Developer Model Library

Chapter 9

Asynchronous Transfer Mode (ATM)

9.1.4.2.2 Asymmetric ATM Links To configure link parameters for an asymmetric ATM link, perform the following steps: 1. Configure the ATM link to be an asymmetric link, as described in Section 9.1.4.2.2. 2. For each interface of the link, configure the ATM link parameters as follows: a. Go to ATM Interface Properties Editor > ATM Interfaces > ATM Interface # > ATM Layer2. b. Set the ATM link parameters listed in Table 9-2.

FIGURE 9-7.

Setting Asymmetric ATM Link Properties

9.1.4.3 Configuring Adaptation Layer Parameters


To configure ATM Adaptation Layer parameters, perform the following steps: 1. Go to one of the following locations:

To set properties for a specific ATM device, go to ATM Device Properties Editor > Adaptation
Protocols.

To set properties for a specific ATM interface, go to one of the following locations: - ATM Device Properties Editor > ATM Interfaces > ATM Interface # > Adaptation Protocols - ATM Interface Properties Editor >ATM Interfaces > ATM Interface # > Adaptation
Protocols In this section, we show how to configure the ATM Adaptation Layer parameters in the ATM Interface Properties Editor. Parameters can be set in the other properties editors in a similar way.

QualNet 5.1 Developer Model Library

351

Asynchronous Transfer Mode (ATM) 2. Set Adaptation Protocol to AAL5 and set the dependent parameters listed in Table 9-3.

Chapter 9

FIGURE 9-8. TABLE 9-3. GUI Parameter


Adaptation Protocol ATM Connection Refresh Time ATM Connection Timeout Time Signalling Statistics

Setting Adaptation Layer Parameters

Command Line Equivalent of Adaptation Layer Parameters Scope of GUI Parameter


ATM Device, ATM Interface ATM Device, ATM Interface ATM Device, ATM Interface ATM Device, ATM Interface

Command Line Parameter


ADAPTATION-PROTOCOL ATM-CONNECTION-REFRESH-TIME ATM-CONNECTION-TIMEOUT-TIME ATM-SIGNALLING-STATISTICS

352

QualNet 5.1 Developer Model Library

Chapter 9

Asynchronous Transfer Mode (ATM)

3. Set the Adaptation Layer statistics parameters listed in Table 9-4.

FIGURE 9-9. TABLE 9-4. GUI Parameter


Adaptation Layer Statistics

Setting Adaptation Layer Statistics Parameters

Command Line Equivalent of Adaptation Layer Statistics Parameters Scope of GUI Parameter
ATM Device, ATM Interface

Command Line Parameter


ADAPTATION-LAYER-STATISTICS

9.1.4.4 Configuring ATM Layer 2 Parameters


To configure ATM Layer 2 parameters, perform the following steps: 1. Go to one of the following locations:

ATM Device Properties Editor > ATM Interfaces > ATM Interface # > ATM Layer 2 ATM Interface Properties Editor > ATM Interfaces > ATM Interface # > ATM Layer 2
In this section, we show how to configure the ATM Layer 2 parameters in the ATM Interface Properties Editor. Parameters can be set in the other properties editors in a similar way.

QualNet 5.1 Developer Model Library

353

Asynchronous Transfer Mode (ATM) 2. Set the ATM Layer 2 parameters listed in Table 9-5.

Chapter 9

FIGURE 9-10. TABLE 9-5. GUI Parameter


ATM Red Minimum Threshold ATM Red Maximum Threshold ATM Red Maximum Probability ATM Red Small Packet Transmission Time ATM Scheduler Statistics ATM Layer 2 Statistics Number of Queues

Setting ATM Layer 2 Parameters

Command Line Equivalent of ATM Layer 2 Parameters Scope of GUI Parameter


ATM Interface ATM Interface ATM Interface ATM Interface ATM Interface ATM Interface ATM Interface

Command Line Parameter


ATM-RED-MIN-THRESHOLD ATM-RED-MAX-THRESHOLD ATM-RED-MAX-PROBABILITY ATM-RED-SMALL-PACKETTRANSMISSION-TIME ATM-SCHEDULER-STATISTICS ATM-LAYER2-STATISTICS N/A

Setting Parameters

Set Number of Queues to the number of ATM queues at the interface.

354

QualNet 5.1 Developer Model Library

Chapter 9 3. Set the ATM queue parameters listed in Table 9-6.

Asynchronous Transfer Mode (ATM)

FIGURE 9-11. TABLE 9-6. GUI Parameter


ATM Queue Size

Setting ATM Layer 2 Parameters

Command Line Equivalent of ATM Layer 2 Parameters Scope of GUI Parameter


ATM Interface

Command Line Parameter


ATM-QUEUE-SIZE

QualNet 5.1 Developer Model Library

355

Asynchronous Transfer Mode (ATM)

Chapter 9

9.1.4.5 Configuring ATM Static Routes


To configure ATM static routes, perform the following steps: 1. Go to Scenario Properties Editor > General > ATM Configuration. 2. Set Specify ATM Static Routes to Yes and set the dependent parameters listed in Table 9-7.

FIGURE 9-12.

Setting ATM Static Routes

TABLE 9-7. GUI Parameter


ATM Static Route File

Specify ATM Static Routes parameters Scope of GUI Parameter


Global

Command Line Parameter


ATM-STATIC-ROUTE-FILE

Setting Parameters

Set ATM Static Route File to the name of the ATM static routes file. The format of the ATM static
routes file is described in Section 9.1.3.1.1.

356

QualNet 5.1 Developer Model Library

Chapter 9

Asynchronous Transfer Mode (ATM)

9.1.5 Statistics
Table 9-8 lists the ATM statistics that are output to the statistics (.stat) file at the end of simulation. TABLE 9-8. Statistic
Destination Cell Received Cell Forward Cell Discarded for no Route Control Cell Received Cell Delivered to upper layer Link Utilization Number of AAL Service Data Units Sent Number of AAL Service Data Units Received Number of ATM Service Data Units Sent Number of ATM Service Data Units Received Number of ATM Service Data Units Dropped Number of Packets Segmented Number of Packets Reassembled Number of SAAL Packets Sent Number of SAAL Packets Received Number of Data Packets Sent Number of Data Packets Received Number of Data Packets Received from IP Number of Data Packets Forwarded to IP Number of IP Packets Discarded

ATM Statistics Description

Next destination, Node connected to the other side of this Point-toPoint link/interface. Total number of cells received in the interface by ATM LAYER2. Total number of cells forwarded through the interface ATM LAYER2. Total number of cells discarded due to unavailability of route at ATM LAYER2. Total number of control cells (signaling cell) received at ATM LAYER2. Total number of cells delivered to upper layer (adaptation layer) ATM LAYER2. Link utilization ratio by ATM LAYER2. Total number of AAL CPCS service data units sent from this node by AAL5. Total number of AAL CPCS service data units received in this node by AAL5. Total number of SDUs sent to ATM layer 2 after segmentation by AAL5. Total number of SDUs received from ATM layer2 before reassembly by AAL5. Total number of SDUs dropped due to error, like intermediate cell drop etc. by AAL5. Total number of packets (Data unit) segmented into cells by AAL5. Total number of packets (data units) reassembled from cells by AAL5. Total number of signaling packets sent from this node by AAL5. Total number of signaling packets received in this node by AAL5. Total number of data packets forwarded through this node by AAL5. Total number of data packets received in this node by AAL5. Total number of data packets received from IP layer by AAL5. Total number of data packets forwarded to IP layer by AAL5. Total number of erroneous data packets (multicast/control packet) discarded. These packets are not further processed within ATM cloud by AAL5. Total number of data packets dropped due to no route after processing within ATM cloud by AAL5. Total number of alert messages sent by SAAL. Total number of alert messages received by SAAL. Total number of connect messages sent by SAAL. Total number of connect messages received by SAAL. Total number of setup messages sent by SAAL.

Number of IP Packets Dropped Number of Alert Messages Sent Number of Alert Messages Received Number of Connect Messages Sent Number of Connect Messages Received Number of Setup Messages Sent

QualNet 5.1 Developer Model Library

357

Asynchronous Transfer Mode (ATM) TABLE 9-8. Statistic


Number of Setup Messages Received Number of Packets Queued Number of Packets Dequeued Number of Packets Dropped Service Ratio

Chapter 9 ATM Statistics (Continued) Description


Total number of setup messages received by SAAL. Total number of packets enqueued. Total number of packets dequeued Total number of packets dropped Ratio of total number of packets dequeued to total number of dequeue requests received.

9.1.6 Sample Scenarios


9.1.6.1 Standalone ATM Backbone Scenario
9.1.6.1.1 Scenario Description The scenario in Figure 9-13 shows an ATM scenario. Nodes 1 to 11 are ATM nodes and they are connected by ATM links as shown in the figure. Nodes 1, 3, 9, 10, 11 are ATM end systems. Nodes 2, 4, 5, 6, 7, 8 are ATM switches. Adaptation protocol is set to AAL5 and ATM static route is configured. Topology The scenario topology is shown in Figure 9-13.

FIGURE 9-13.

Standalone ATM Network Scenario

358

QualNet 5.1 Developer Model Library

Chapter 9

Asynchronous Transfer Mode (ATM)

9.1.6.1.2 Command Line Configuration Set the parameters in the configuration file as described in the following steps. 1. Configure the ATM links: ATM-LAYER2-LINK-BANDWIDTH ATM-LAYER2-LINK-PROPAGATION-DELAY ATM-LINK ATM-LINK ATM-LINK ATM-LINK ATM-LINK ATM-LINK ATM-LINK ATM-LINK ATM-LINK ATM-LINK ICD-91.AID-0.PTP-0 ICD-91.AID-0.PTP-1 ICD-91.AID-0.PTP-2 ICD-91.AID-0.PTP-3 ICD-91.AID-0.PTP-4 ICD-91.AID-0.PTP-5 ICD-91.AID-0.PTP-6 ICD-91.AID-0.PTP-7 ICD-91.AID-0.PTP-8 ICD-91.AID-0.PTP-9 { { { { { { { { { { 1, 2, 3, 4, 5, 5, 5, 6, 7, 8, 112000 10MS 2 } 5 } 4 } 5 } 6 } 7 } 8 } 9 } 10 } 11 }

[1 thru 11] ATM-NODE YES [1 3 9 10 11] ATM-END-SYSTEM YES 2. Configure Adaptation layer parameters. ADAPTATION-PROTOCOL AAL5 ATM-RED-MIN-THRESHOLD 5 ATM-RED-MAX-THRESHOLD 15 ATM-RED-MAX-PROBABILITY 0.02 ATM-RED-SMALL-PACKET-TRANSMISSION-TIME 3. Configure the logical subnet. The end system nodes should be placed in a logical subnet defined as the following: ATM-LOGICAL-SUBNET N8-192.168.5.0 {1, 3, 9, 10, 11} 4. Configure ATM static routes. ATM routes packets using static routes. ATM-STATIC-ROUTE YES ATM-STATIC-ROUTE-FILE

10MS

./atm.routes-static

QualNet 5.1 Developer Model Library

359

Asynchronous Transfer Mode (ATM) For this sample scenario, the content of the static route file is given as below. Note:

Chapter 9

Only routes to end system nodes are specified as the source, and destination nodes must be end system nodes. ICD-91.AID-0.PTP-0:1 0 ICD-91.AID-0.PTP-2:3 0 ICD-91.AID-0.PTP-7:9 0 ICD-91.AID-0.PTP-8:10 0 ICD-91.AID-0.PTP-9:11 0 ICD-91.AID-0.PTP-0:1 0 ICD-91.AID-0.PTP-2:3 1 ICD-91.AID-0.PTP-7:9 1 ICD-91.AID-0.PTP-8:10 1 ICD-91.AID-0.PTP-9:11 1 ICD-91.AID-0.PTP-0:1 0 ICD-91.AID-0.PTP-2:3 0 ICD-91.AID-0.PTP-7:9 0 ICD-91.AID-0.PTP-8:10 0 ICD-91.AID-0.PTP-9:11 0 ICD-91.AID-0.PTP-0:1 1 ICD-91.AID-0.PTP-2:3 0 ICD-91.AID-0.PTP-7:9 1 ICD-91.AID-0.PTP-8:10 1 ICD-91.AID-0.PTP-9:11 1 ICD-91.AID-0.PTP-0:1 0 ICD-91.AID-0.PTP-2:3 1 ICD-91.AID-0.PTP-7:9 2 ICD-91.AID-0.PTP-8:10 3 ICD-91.AID-0.PTP-9:11 4 ICD-91.AID-0.PTP-0:1 0 ICD-91.AID-0.PTP-2:3 0 ICD-91.AID-0.PTP-7:9 1 ICD-91.AID-0.PTP-8:10 0 ICD-91.AID-0.PTP-9:11 0 ICD-91.AID-0.PTP-0:1 0 ICD-91.AID-0.PTP-2:3 0 ICD-91.AID-0.PTP-7:9 0 ICD-91.AID-0.PTP-8:10 1 ICD-91.AID-0.PTP-9:11 0 ICD-91.AID-0.PTP-0:1 0 ICD-91.AID-0.PTP-2:3 0 ICD-91.AID-0.PTP-7:9 0 ICD-91.AID-0.PTP-8:10 0 ICD-91.AID-0.PTP-9:11 1

1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 7 7 7 7 7 8 8 8 8 8

360

QualNet 5.1 Developer Model Library

Chapter 9 9 9 9 9 9 10 10 10 10 10 11 11 11 11 11 ICD-91.AID-0.PTP-0:1 0 ICD-91.AID-0.PTP-2:3 0 ICD-91.AID-0.PTP-7:9 0 ICD-91.AID-0.PTP-8:10 0 ICD-91.AID-0.PTP-9:11 0 ICD-91.AID-0.PTP-0:1 0 ICD-91.AID-0.PTP-2:3 0 ICD-91.AID-0.PTP-7:9 0 ICD-91.AID-0.PTP-8:10 0 ICD-91.AID-0.PTP-9:11 0 ICD-91.AID-0.PTP-0:1 0 ICD-91.AID-0.PTP-2:3 0 ICD-91.AID-0.PTP-7:9 0 ICD-91.AID-0.PTP-8:10 0 ICD-91.AID-0.PTP-9:11 0

Asynchronous Transfer Mode (ATM)

5. Configure application. Only CBR applications are supported in a standalone ATM networks. Source and destination nodes must be ATM end system nodes. For example, a sample application file defined in *.app file, is as follows: CBR CBR CBR CBR 1 11 1 512 1M 1M 30M 11 1 1 512 1M 1M 30M 3 9 1 512 1M 1M 30M 9 3 1 512 1M 1M 30M

To transmit the packets, paths are established dynamically using SVC (for example, the translation table entry is created through the exchange of various signaling messages). Once the path is recognized, cells are transmitted through it. 6. Enable statistics collection. ADAPTATION-LAYER-STATISTICS ATM-SIGNALLING-STATISTICS ATM-SCHEDULER-STATISTICS ATM-QUEUE-STATISTICS ATM-LAYER2-STATISTICS YES YES YES YES YES

9.1.6.1.3 GUI Configuration Follows these steps to configure ATM using the GUI: 1. Create a new scenario. Place 11 ATM nodes as shown in topology. 2. For nodes 1, 3, 9, 10, 11, set Node Type to ATM End System, as shown in Figure 9-3. 3. For all Links, set ATM Layer2 Link Bandwidth to 112000 bps and ATM Layer2 Link Propagation Delay as 50MS as shown in Figure 9-6. 4. For all nodes, set the Adaptation Layer parameters, as shown in Figure 9-8 and Figure 9-9. 5. For all interfaces, set the ATM Layer 2 parameters, as shown in Figure 9-10.

QualNet 5.1 Developer Model Library

361

Asynchronous Transfer Mode (ATM)

Chapter 9

9.1.6.2 IP over ATM Scenario


9.1.6.2.1 Scenario Description This sample is an IP over ATM scenario consisting of 12 nodes, among which 3, 4, 5, 6, 7 and 8 are present in ATM cloud and the rest are in IP cloud. As node 3, 7 and 8 have interface both in IP and ATM, thus they are considered as end-systems. Topology Figure 9-14 shows the topology of the IP over ATM scenario.

FIGURE 9-14. 9.1.6.2.2 Command Line Configuration

IP Over ATM Scenario

Scenario Configuration (.config) File Parameters Set the parameters in the scenario configuration file as described in the following steps. 1. Configure the ATM backbone: ATM-LAYER2-LINK-BANDWIDTH ATM-LAYER2-LINK-PROPAGATION-DELAY 1112000 10MS

2. Configure the ATM cloud for nodes 3, 4, 5, 6, 7 and 8. ATM-LINK ATM-LINK ATM-LINK ATM-LINK ATM-LINK ICD-91.AID-1.PTP-1 ICD-91.AID-1.PTP-2 ICD-91.AID-1.PTP-3 ICD-91.AID-1.PTP-4 ICD-91.AID-1.PTP-5 {3, {4, {5, {6, {6, 4} 5} 6} 8} 7}

[3 4 5 6 7 8] ATM-NODE YES [3 7 8] ATM-END-SYSTEM YES

362

QualNet 5.1 Developer Model Library

Chapter 9 3. Configure the IP network. SUBNET N8-1.0 {1 thru 3} SUBNET N8-2.0 {7, 11, 12} SUBNET N8-3.0 {8 thru 10} LINK-BANDWIDTH LINK-PROPAGATION-DELAY 4. Configure default gateways. [1 2 3] DEFAULT-GATEWAY 3 [7 11 12] DEFAULT-GATEWAY 7 [8 9 10] DEFAULT-GATEWAY 8 5. Configure the logical subnet. ATM-LOGICAL-SUBNET N8-8.0 {3, 7, 8} ADAPTATION-PROTOCOL AAL5 ADAPTATION-LAYER-STATISTICS YES ATM-STATIC-ROUTE YES ATM-STATIC-ROUTE-FILE atm.route-static ARP-ENABLED YES ARP-USE-BUFFER YES ARP-STATIC-CACHE-FILE atm.arp-static ARP-STATISTICS YES ATM-SIGNALLING-STATISTICS ATM-SCHEDULER-STATISTICS ATM-LAYER2-STATISTICS 6. Configure optional parameters. ATM-CONNECTION-REFRESH-TIME ATM-CONNECTION-TIMEOUT-TIME 15M 2M YES NO YES 112000 50MS

Asynchronous Transfer Mode (ATM)

ATM-RED-MIN-THRESHOLD 5 ATM-RED-MAX-THRESHOLD 15 ATM-RED-MAX-PROBABILITY 0.02 ATM-RED-SMALL-PACKET-TRANSMISSION-TIME NETWORK-PROTOCOL IP MAC-PROTOCOL MAC802.3 ROUTING-PROTOCOL OSPFv2

10MS

QualNet 5.1 Developer Model Library

363

Asynchronous Transfer Mode (ATM) ARP Static Cache File Create the ARP static cache file (atm.arp_static). The contents of the file are: 3 7 8 IP IP IP 0.0.8.1 0.0.8.2 0.0.8.3 ATM ATM ATM 23:4f:5C:aa:FE:B2 5C-AA-FE-23-4F-C2 5C-BA-FE-23-4F-F2 0 0 0

Chapter 9

Application Configuration File Configure a CBR session from node 1 to node 12 by entering the following line the application configuration (atm.app) file: CBR 1 12 0 512 1M 20S 0M 9.1.6.2.3 GUI Configuration To configure the scenario in QualNet GUI, perform the steps described below. Note that you must select the ATM button in the Devices tab to create ATM nodes. 1. Create a new scenario. Place 6 ATM nodes as shown in topology. 2. For nodes 3, 7, and 8, set Node Type to ATM End System, as shown in Figure 9-3. 3. For all links, set ATM Layer2 Link Bandwidth to 112000 bps and ATM Layer2 Link Propagation Delay to 50MS, as shown in Figure 9-6. 4. For nodes 3, 4,5,6,7 and 8, set the Adaptation Layer parameters, as shown in Figure 9-8. 5. Set ATM Logical Subnet to Yes, as shown in Figure 9-4. 6. Set Specify ATM Static Routes to Yes and specify the static routes file, as shown in Figure 9-12.

364

QualNet 5.1 Developer Model Library

Chapter 9

Asynchronous Transfer Mode (ATM)

7. Node 1 is a non-ATM node and only has an IP Interface. To enable node 1 to communicate with an ATM network, do the following: a. Go to Default Device Properties Editor > Node Configuration >Routing Protocols. b. Set Configure Default Gateway to Yes and set Default Gateway to the gateways node ID or IP address.

FIGURE 9-15.

Setting Default Gateway

8. For all interfaces, set the ATM Layer 2 parameters, as shown in Figure 9-10.

9.1.7 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the ATM model. All scenarios are located in the directory QUALNET_HOME/scenarios/developer. Table 9-9 lists the sub-directory where each scenario is located. TABLE 9-9. Scenario
atm/bandwidth-checking/less-bw atm/bandwidth-checking/release-bw atm/erroneous/src-not-es atm/general/duplex-app atm/general/simplex-app atm/multiplexing/queue-check

ATM Scenarios Included in QualNet Description

Shows bandwidth utilization and if requested bandwidth exceeds the limit, then whether bandwidth is properly refused or not. Shows whether the bandwidth is released as soon as the application terminates. Shows the case where the source is not an end-system. Shows general applications with four duplex CBR applications. Shows general applications with four simplex CBR applications. Shows asynchronous multiplexing.

QualNet 5.1 Developer Model Library

365

Asynchronous Transfer Mode (ATM) TABLE 9-9. Scenario


atm-ip/addrChkScn atm-ip/atm-ip-app atm-ip/atm-ip-wireless atm-ip/bwCheckScn atm-ip/failure-ip-cloud atm-ip/saalChkScn atm-ip/Traffic-Gen

Chapter 9

ATM Scenarios Included in QualNet (Continued) Description


Shows whether ATM address is generated for each node. Shows whether UDP and TCP based application is working properly Shows whether ATM-IP is working properly when IP-cloud is a wirelessnetwork. Shows whether bandwidth is properly allocated and freed accordingly for each application. Shows whether ATM-IP is working properly when interface failure occurs inside IP-cloud. Shows whether signaling messages are exchanged properly and path is discovered. Shows traffic generated from source node for destination node situated in the same IP-cloud, as well as when its situated in another IP-cloud, separated by ATM-backbone.

9.1.8 References
1. RFC 2225 Classical IP and ARP over ATM M. Laubach, J. Halpern. April 1998. 2. RFC 2684 Multiprotocol Encapsulation over ATM Adaptation Layer 5 D. Grossman, J. Heinanen. September 1999 3. ATM Forum Addressing Specification: Reference Guide AF-RA-0106.000

366

QualNet 5.1 Developer Model Library

10

Interfaces

This chapter describes features, configuration requirements and parameters, statistics, and scenarios for External Interfaces in the Developer Model Library, and consists of the following sections:

QualNet Satellite Toolkit (STK) Interface

QualNet 5.1 Developer Model Library

367

AGI Satellite Toolkit (STK) Interface

Chapter 10

.........................................................................
10.1 AGI Satellite Toolkit (STK) Interface
The AGI Satellite Toolkit (STK) Interface replaces the STK/Connect interface of the earlier QualNet releases.

10.1.1 Description
The STK interface provides a way to interface QualNet with the Satellite Toolkit (STK) developed by Analytical Graphics, Inc. (AGI). It allows the QualNet simulation to use STKs wireless propagation module and antenna models for signal propagation. In addition, it allows STK to provide node position updates, thus controlling the mobility.

10.1.2 Features and Assumptions


This section describes the implemented features, omitted features, assumptions and limitations of the QualNet STK interface.

10.1.2.1 Implemented Features Communicate with STK. Use STK's wireless propagation module for signal propagation, replacing QualNet's propagation
module.

Use STK's antenna model for antenna related calculations. Allow STK to control node mobility. 10.1.2.2 Omitted Features
None.

10.1.2.3 Assumptions and Limitations


When running a QualNet simulation scenario with the STK interface, the corresponding STK scenario files are required by STK. It is very hard, if not impossible, to manually create STK scenario files corresponding to a QualNet simulation scenario. To use QualNet with STK, the scenario should be created in STK first and the corresponding QualNet scenario should be created using the QualNet Interface module of STK (part of STK 9.2 or later releases).

10.1.3 Supplemental Information


The STK interface is supported only on Windows platforms.

368

QualNet 5.1 Developer Model Library

Chapter 10

AGI Satellite Toolkit (STK) Interface

10.1.4 Integrating QualNet and STK


The AGI STK Interface is part of the Developer Mode Library. It is enabled by default. No recompilation is needed. However, if you wish to disable it or want to re-enable it, follow the steps below. Note: Compiling the STK interface doesn't require STK to be installed. But STK 9.2 (or later) with its QualNet Interface Module must be installed to run a QualNet simulation with the STK interface.

To enable or disable the STK interface, follow these steps: 1. To enable the STK interface, add the following to QUALNET_HOME/main/Makefile-addons-windows after the INSERT INTERFACES HERE comment: include ../interfaces/agi/Makefile-windows To disable the STK interface, comment out or delete the above line. 2. Make a copy of the makefile for your system. For example, for VC9 on a 32-bit platform, use the following command to make a copy of the makefile: copy Makefile-windows-vc9 Makefile Refer to QualNet Programmers Guide for a list of makefiles for other platforms. 3. Use the following commands to remove all object (.obj) files and recompile QualNet: nmake clean nmake

Note:

Installation of STK 9.2 or later release with its QualNet Interface Module is required for runtime.

10.1.5 Command Line Configuration


To enable QualNet to communicate with STK, include the following parameter in the scenario configuration (.config) file: AGI-INTERFACE Note: YES

If the QualNet scenario is created using the QualNet Interface module of STK (version 9.2 or later), the parameter AGI-INTERFACE is automatically included in the scenario configuration (.config) file and is set to YES. The other STK interface parameters (see Table 10-1) are also automatically included in the scenario configuration file and are set to their default values.

Configuration Requirements The Latitude-Longitude-Altitude coordinate system must be used when communicating with STK, i.e., COORDINATE-SYSTEM must be set to LATLONALT.

QualNet 5.1 Developer Model Library

369

AGI Satellite Toolkit (STK) Interface

Chapter 10

STK Interface Parameters Table 10-1 shows the parameters for the STK interface. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 10-1. Parameter AGI-POSITION-UPDATEINTERVAL


Optional Scope: Global, Node Time Default: 1S

STK Interface Parameters Description


Specifies how frequently QualNet queries STK for node positions and updates the node positions in the QualNet GUI during execution.

Value

10.1.6 GUI Configuration


In QualNet GUI, STK related parameters can be configured at scenario level. In addition, some parameters can be configured at node level. General Configuration To configure the general STK parameters, perform the following steps: 1. Go to one of the following locations:

To set properties at the scenario level, go to Scenario Properties > External Interfaces. To set properties at the node level, go to Default Device Properties Editor > Node Configuration
> External Interface Properties > STK Interface. In this section we show how to configure global STK parameters using the Scenario Properties Editor. Parameters can be set in the Default Device Properties Editor in a similar way. 2. Set Enable AGI Interface to Yes and set the dependent parameters listed in Table 10-1.

FIGURE 10-1.

Setting AGI STK Interface Parameters

370

QualNet 5.1 Developer Model Library

Chapter 10

AGI Satellite Toolkit (STK) Interface

TABLE 10-2. GUI Parameter


Node Position Update Interval

Command Line Equivalent of AGI STK Interface Parameters Scope of GUI Parameter
Global, Node

Command Line Parameter


AGI-POSITION-UPDATE-INTERVAL

10.1.7 Statistics
There are no statistics collected for the STK interface.

QualNet 5.1 Developer Model Library

371

11

Faults

Miscellaneous Models

This chapter describes features, configuration requirements and parameters, statistics, and scenarios for Miscellaneous Models, and consists of the following sections: File-based Node Placement Model Grid Node Placement Model Random Node Placement Model Uniform Node Placement Model

QualNet 5.1 Developer Model Library

372

Chapter 11

Faults

.........................................................................
11.1 Faults
11.1.1 Description
Interface faults are one of two types, static, and dynamic. Static faults have user-specified start and end times. Dynamic faults can be specified using Mean Time Before Failure (MTBF) and Mean Repair Time (MRT).

11.1.2 Command Line Configuration


Faults are described by in a fault configuration file. To specify the name of the fault configuration file, include the following parameter in the scenario configuration (.config) file: FAULT-CONFIG-FILE where <fault-config-file> Name of the fault configuration file. Static and dynamic faults are described in the fault configuration file using the syntax described in Section 11.1.2.1 and Section 11.1.2.2. <fault-config-file>

11.1.2.1 Static Faults


To specify a static fault, include the following statement in the fault configuration (.fault) file: INTERFACE-FAULT <interface-address> <start-time> <end-time> [INTERFACE-CARD-FAULT <interface-MAC-address>] Note: All parameters should be entered on the same line.

The static fault parameters are described in Table 11-1. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 11-1. Parameter <interface-address>


Required

Static Fault Parameters Description


Interface address on which the fault is configured.

Value
IP Address

<start-time>
Required

Time Range: 0

Time when the fault starts.

QualNet 5.1 Developer Model Library

373

Faults TABLE 11-1. Parameter <end-time>


Required Time Range: 0 String

Chapter 11 Static Fault Parameters (Continued) Value Description


Time when the fault ends.

INTERFACE-CARD-FAULT <interface-mac-address>
Optional

MAC address of the network interface card after the faulty link comes up again. The value of this parameter must be a MAC address. Note: Replacement MAC address is supported only if ARP is enabled.

Notes: 1. The value of <end-time> should be greater than or equal to <start-time> 2. If <end-time> is set to 0, the fault remains until the end of simulation.

Examples of Parameter Usage The following are examples of static fault configuration: 1. The interface with IP Address 192.0.0.2 will be down from time 0S to 10S. After that, the MAC address of the network interface card of this interface becomes 5C-AA-FE-23-4F-C2, for example, when the link comes up again after 10S. INTERFACE-FAULT 192.0.0.2 0S 10S INTERFACE-CARD-FAULT 5C-AA-FE-23-4F-C2 2. Link faults can be modeled using two INTERFACE-FAULT statements to specify faults on both interfaces associated with the link. For example, to specify a link fault for a link of N8-192.0.1.0, use: INTERFACE-FAULT 192.0.1.1 0S 10S INTERFACE-FAULT 192.0.1.2 0S 10S This means that a link between interface addresses 192.0.1.1 and 192.0.1.2 will be down from 0 to 10S.

11.1.2.2 Dynamic Faults


To specify a dynamic fault, include the following statement in the fault configuration (.fault) file: INTERFACE-FAULT <interface-address> REPS <num-repetitions> START <start-time> MTBF <time-between-failures> DOWN <repair-time> Note: All parameters should be entered on the same line.

374

QualNet 5.1 Developer Model Library

Chapter 11 The dynamic fault parameters are described in Table 11-2. TABLE 11-2. Parameter <interface-address>
Required

Faults

Dynamic Fault Parameters Description


Interface address on which the fault is configured.

Value
IP Address

REPS <num-repetitions>
Required

Integer distribution (see Note following this table.

Number of times the interface will fail. A value of 0 means failures occur continuously. A number greater than 0 indicates a specific number of failures. The value is always an integer distribution. The value 0 can be specified in the following three ways: a) DET 0 b) UNI 0 0 c) EXP 0

START <start-time>
Required

Time distribution (see Note following this table.)

Time before the first failure. For example, if you want the system to function correctly for 100S and then start suffering failures, the start time would be set to 100S. That doesn't mean that the first error will happen at exactly 100S, just that the first 100S will be error free. Length of time between successive failures.

MTBF <time-betweenfailures>
Required

Time distribution (see Note following this table.) Time distribution (see Note following this table.)

DOWN <repair-time>
Required

Duration of a failure. i.e., the length of time for which the system is down.

QualNet 5.1 Developer Model Library

375

Faults

Chapter 11

Note:

Integer Distributions and Time Distributions: The number of failures, start time, mean time between failures, and down time are specified as random number distributions. Three random number distributions are supported: deterministic, uniform, and exponential.

Deterministic distribution: This is equivalent to a constant value. This distribution is


specified as: DET <value>

It always returns <value> as the value.

Uniform distribution: This distribution is specified as:


UNI <value-1> <value-2> It returns a value uniformly distributed between <value-1> and <value-2>.

Exponential distribution: This distribution is specified as:


EXP <value> It returns a value from an exponential distribution with <value> as the mean. For integer distributions, <value>, <value-1>, and <value-2> are integer values, e.g., 0, 10, 15, etc. For time distributions, <value>, <value-1>, and <value-2> are time values, e.g., 5S, 0.5MS, 100US, etc.

Examples of Parameter Usage The following are examples of dynamic fault configuration: 1. The interface with IP Address 192.0.1.1 will fail once after 1S from the start of the simulation for a period equivalent to a value from an exponential distribution with 1 as the mean. Also, the time between successive failures would be a uniformly distributed value between 1 and 2. INTERFACE-FAULT 192.0.1.1 REPS DET 1 START DET 1S MTBF UNI 1S 2S DOWN EXP 1S 2. The interface with IP Address 192.0.0.2 will fail twice after 15S of the start of the simulation for a period of 10S. Also, the time between successive failures would be a uniformly distributed value between 5 and 10. INTERFACE-FAULT 192.0.0.2 REPS DET 2 START DET 15S MTBF UNI 5S 10S DOWN DET 10S

376

QualNet 5.1 Developer Model Library

Chapter 11

Faults

11.1.3 GUI Configuration


To configure faults in the GUI, perform the following steps: 1. Go to one of the following locations:

To configure faults for a specific point-to-point link, go to Point-to-point Link Properties Editor >
Point-to-point Link Properties > Faults.

To configure faults for a specific node, go to Default Device Properties Editor > Node
Configuration > Faults.

To configure faults for a specific interface of a node, go to one of the following locations: - Interface Properties Editor > Interfaces > Interface # > Faults - Default Device Properties Editor > Interfaces > Interface # > Faults.
In this section, we show how to configure faults parameters for a specific node using the Default Device Properties Editor. Faults can be configured in the other properties editors in a similar way. 2. Go to Default Device Properties Editor > Node Configuration > Faults. The Faults Editor is displayed in the right panel.

FIGURE 11-1.

Configuring Faults for a Node

QualNet 5.1 Developer Model Library

377

Faults 3. To add a fault, click on the from the list and click on the

Chapter 11 button. This adds a fault to the list. To remove a fault, select the fault button

FIGURE 11-2.

Adding and Deleting Faults

4. To configure the properties of a fault, select the fault from the list and edit its properties in the editor that opens in the bottom part of the panel.

378

QualNet 5.1 Developer Model Library

Chapter 11 5. To configure a static fault, do the following: a. Set Fault Type to Static, and set the dependent parameters listed in Table 11-3.

Faults

FIGURE 11-3.

Setting Static Fault Parameters

TABLE 11-3.

Command Line Equivalent of Static Fault Type Parameters Command Line Parameter
<start-time> <end-time> N/A

GUI Parameter
Start Time End Time Specify Replacement Card MAC Address

Setting Parameters

To specify a replacement MAC address for the fault, set Specify Replacement Card MAC Address
to Yes. Note: Replacement MAC address is supported only if ARP is enabled.

QualNet 5.1 Developer Model Library

379

Faults

Chapter 11

b. If Specify Replacement Card MAC Address is set to Yes, then set the dependent parameters listed in Table 11-4.

FIGURE 11-4.

Specifying Replacement MAC Address

TABLE 11-4.

Command Line Equivalent of Specify Replacement Card MAC Address Parameters GUI Parameter Command Line Parameter
INTERFACE-CARD-FAULT <interface-mac-address>

MAC Address

380

QualNet 5.1 Developer Model Library

Chapter 11

Faults

6. To configure a dynamic fault, Set Fault Type to Random, and set the dependent parameters shown in Figure 11-5.

FIGURE 11-5. Setting Parameters

Setting Random Fault Parameters

Set Repetition Distribution to the distribution type for the number of distributions. Set the
dependent parameters for the distribution type selected. This corresponds to the parameter REPS and its arguments.

Set Start Time to the distribution type for the time before the first failure. Set the dependent
parameters for the distribution type selected. This corresponds to the parameter START and its arguments.

Set Up Time to the distribution type for the mean time between failures. Set the dependent
parameters for the distribution type selected. This corresponds to the parameter MTBF and its arguments.

Set Down Time to the distribution type for the down time. Set the dependent parameters for the
distribution type selected. This corresponds to the parameter DOWN and its arguments.

11.1.4 Statistics
There are no statistics generated for Faults.

QualNet 5.1 Developer Model Library

381

Faults

Chapter 11

11.1.5 Scenarios Included in QualNet


The QualNet distribution includes several sample scenarios for the Fault models. All scenarios are located in the directory QUALNET_HOME/scenarios/developer/faults. Table 11-5 lists the sub-directory where each scenario is located. TABLE 11-5. Scenario
atm-ip/failure-ip-cloud ripng/sample5 ripng/sample6 ripng/sample8 trace/drop-interface-down

Fault Models Scenarios Included in QualNet Description


Shows whether ATM-IP is working properly when interface failure occurs inside IP-cloud. Shows RIPng behavior with simple split horizon during single interface failure. Shows RIPng behavior during interface failure. Shows RIPng behavior during link failure. Shows tracing of the dropped packet when the Interface is down.

382

QualNet 5.1 Developer Model Library

Chapter 11

File-based Node Placement Model

.........................................................................
11.2 File-based Node Placement Model
11.2.1 Description
In the File-based Node Placement model, the initial node positions are read from a node position file.

11.2.2 Command Line Configuration


To select the File-based Node Placement model, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] NODE-PLACEMENT FILE

The scope of this parameter declaration can be Global or Node. See Section 1.2.1.1 for a description of <Qualifier> for each scope. File-based Node Placement Parameters Table 11-6 shows the parameters for the File-based Node Placement model. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 11-6. Parameter NODE-POSITION-FILE


Required Scope: Global, Node Instances: No

File-based Node Placement Parameters Value Description


Name of the Node Position file. Note: The same file is also used if the File-based Mobility model is used. The format of the Node Position file is described in Section 11.2.2.1.

Filename

MOBILITY-GROUND-NODE
Optional Scope: Global, Node

List: YES NO Default: NO

Indication whether the nodes initial altitude is read from a terrain file. This parameter is used only if a terrain file is also specified in the scenario. YES : The nodes z-coordinate (for Cartesian system) or altitude (for Lat-Lon-Alt system) at its initial position is the same as the altitude specified in the terrain file for that point. The value read from the terrain file overrides the z-coordinate or altitude read from the Node Position file. NO : The nodes z-coordinate or altitude at its initial position is the one specified in the Node Position file.

11.2.2.1 Format of the Node Position File


The Node Position file specifies the initial position of each node if the File-based Node Placement model is used. If the File-based Mobility model is used, then this file specifies the node positions at different simulation times.

QualNet 5.1 Developer Model Library

383

File-based Node Placement Model Each line in the node position file has the following format: <nodeID> <simulation-time> <position> where <nodeID> <simulation-time> Node identifier. Simulation time. For the initial node position, this should be 0. <position> Node position.

Chapter 11

The node position is specified as the coordinates in Cartesian or Lat-Lon-Alt system, optionally followed by the orientation (azimuth and elevation). Specifying node orientation is optional and is assumed to be (0.0 0.0) when not specified. Refer to QualNet Users Guide for the format for specifying node positions.

Notes: 1. For each node, the node positions should be sorted (in ascending order) by simulation time. 2. Each node position specification should be on a single line by itself. 3. Comments can be entered any where in the node position file.

Example The following lines show a segment of a node position file: 1 0 (35.130587432702, -116.72249286971918, 0.0) 0 0 1 10S (35.12977099236641, -116.53095393408505, 0.0) 0.0 0.0 1 20S (35.12977099236641, -116.39738452458609, 0.0) ... 1 60S (35.36132315521628, -116.2700276457615, 0.0) 1 70S (35.465648854961835, -116.26692138042432, 0.0) 0.0 0.0 2 0 (35.16793886702846, -116.72149633406089, 0.0) 0 0 2 10S (35.16897959183674, -116.58344129312579, 0.0) 30.0 0.0 2 20S (35.16938775510204, -116.4518964383234, 0.0) 30.0 45.0 ...

11.2.3 GUI Configuration


To use the File-based Node Placement model in the GUI, a Node Position file is imported using the Node Placement Wizard. After importing the Node Position file, altitude and orientation parameters for individual nodes can be modified. When the scenario is saved, a file called <scenario-name>.nodes is created in the scenario folder. If a file by this name already exists, it is overwritten. This file contains the positions of all nodes on the canvas. When the scenario is run, the simulator uses the File-based placement model and uses <scenario-name>.nodes as the Node Position file. Section 11.2.3.1 describes how to use the Node Placement Wizard to import a node position file. Section 11.2.3.2 describes how to configure node placement parameters for an individual node.

384

QualNet 5.1 Developer Model Library

Chapter 11

File-based Node Placement Model

11.2.3.1 Using Node Placement Wizard


To use the File-based Node Placement model in the GUI, do the following: 1. Select Tools > Node Placement. This opens the Node Placement Wizard shown in Figure 11-6.

FIGURE 11-6.

Node Placement Wizard

2. In the Number of Nodes field, enter the desired number of nodes. 3. In the Device Type field, select the type of device from the list. All devices that appear in the Devices toolbar in the Toolset also appear in the list. 4. Under Placement Strategy, set Placement Model to File and specify the name of the position file in the field Node Placement File to Import. 5. Select the check box Use Altitudes from Terrain File if terrain elevation data are used in the scenario and the initial altitudes of nodes should be read from the terrain file. 6. Under Placement Data, specify the coordinates of the origin and the dimensions of the area in which the nodes are placed (for Cartesian coordinate system) or the latitude and longitude of the south-west and north-east corners of the placement area (for Latitude-Longitude coordinate system). 7. Click Apply or OK.

TABLE 11-7. GUI Parameter

Command Line Equivalent of Node Placement Parameters Scope of GUI Parameter


Global Global, Node

Command Line Parameter


NODE-PLACEMENT-FILE MOBILITY-GROUND-NODE

Node Placement File to Import Use Altitudes from Terrain File

QualNet 5.1 Developer Model Library

385

File-based Node Placement Model

Chapter 11

11.2.3.2 Configuring Individual Node Placement Parameters


To configure node placement parameters for a specific node after importing a Node Position file, do the following: 1. Go to Default Device Properties Editor > Node Configuration > Mobility and Placement. 2. If terrain elevation data are used in the scenario and the initial altitude of the node should be read from the terrain file, then set Use Altitudes from Terrain File to Yes.

FIGURE 11-7. TABLE 11-8. GUI Parameter Use Altitudes from Terrain File

Setting Node Altitude Parameters

Command Line Equivalent of Node Altitude Parameters Scope of GUI Parameter


Global, Node

Command Line Parameter


MOBILITY-GROUND-NODE

3. To specify the node orientation, set Specify Node Orientation to Yes and set the dependent parameters listed in Table 11-9.

386

QualNet 5.1 Developer Model Library

Chapter 11

File-based Node Placement Model

FIGURE 11-8. TABLE 11-9. GUI Parameter Azimuth Elevation

Setting Node Orientation

GUI Node Orientation Parameters Description


Initial (at time 0) azimuth of the node. Initial (at time 0) elevation of the node.

Note:

GUI parameters Azimuth and Elevation do not have direct equivalents in the command line interface. These parameters are written to the Node Placement file that is created (see Section 11.2.2.1 for the format of the Node Position file).

QualNet 5.1 Developer Model Library

387

Grid Node Placement Model

Chapter 11

.........................................................................
11.3 Grid Node Placement Model
11.3.1 Description
In the Grid Node Placement model, the terrain is divided into a number of squares. One node is placed at each grid point, starting at the origin or the south-west corner. The size of the squares is determined by a user-specified parameter (see Table 11-10).

11.3.2 Command Line Configuration


To select the Grid Node Placement model, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] NODE-PLACEMENT GRID

The scope of this parameter declaration can be Global or Node. See Section 1.2.1.1 for a description of <Qualifier> for each scope. Grid Node Placement Parameters The parameters for the Grid Node Placement model are described in Table 11-10. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 11-10. Parameter Name GRID-UNIT


Required Scope: Global Real

Grid Node Placement Parameters Value Description


Length of a side of a square in the grid. If Cartesian coordinate system is used, the unit is meters. If Lat-Lon-Alt system is used, the unit is degrees. Indication whether the nodes initial altitude is read from a terrain file. This parameter is used only if a terrain file is also specified in the scenario. YES : The nodes z-coordinate (for Cartesian system) or altitude (for Lat-Lon-Alt system) at its initial position is the same as the altitude specified in the terrain file for that point. NO : The nodes z-coordinate or altitude at its initial position is 0.

Range: > 0 Unit: meters or degrees List: YES NO Default: NO

MOBILITY-GROUND-NODE
Optional Scope: Global, Node

11.3.3 GUI Configuration


When the Grid Node Placement model is used in the GUI, Architect places nodes within the specified region using a strategy similar to the one described in Section 11.3.1. When the scenario is saved, a file called <scenario-name>.nodes is created in the scenario folder. If a file by this name already exists, it is overwritten. This file contains the positions of all nodes on the canvas. When the scenario is run, the

388

QualNet 5.1 Developer Model Library

Chapter 11

Grid Node Placement Model

simulator uses the File-based placement model (seeSection 11.2) and uses <scenario-name>.nodes as the Node Position file. Section 11.3.3.1 describes how to use the Node Placement Wizard to place nodes on the canvas. Section 11.3.3.2 describes how to configure node placement parameters for an individual node.

11.3.3.1 Using Node Placement Wizard


To use the Grid Node Placement model in the GUI, do the following: 1. Select Tools > Node Placement. This opens the Node Placement Wizard shown in Figure 11-9.

FIGURE 11-9.

Node Placement Wizard

2. In the Number of Nodes field, enter the desired number of nodes. 3. In the Device Type field, select the type of device from the list. All devices that appear in the Devices toolbar in the Toolset also appear in the list. 4. Under Placement Strategy, set Placement Model to Grid and specify the grid unit in the Grid Unit field. 5. Select the check box Use Altitudes from Terrain File if terrain elevation data are used in the scenario and the initial altitudes of nodes should be read from the terrain file. 6. Under Placement Data, specify the coordinates of the origin and the dimensions of the area in which the nodes are placed (for Cartesian coordinate system) or the latitude and longitude of the south-west and north-east corners of the placement area (for Latitude-Longitude coordinate system). 7. Click Apply or OK.

QualNet 5.1 Developer Model Library

389

Grid Node Placement Model

Chapter 11

TABLE 11-11. GUI Parameter Grid Unit

Command Line Equivalent of Node Placement Parameters Scope of GUI Parameter


Global Global, Node

Command Line Parameter


GRID-UNIT MOBILITY-GROUND-NODE

Use Altitudes from Terrain File

11.3.3.2 Configuring Individual Node Placement Parameters


To configure node placement parameters for a specific node after placing nodes using the Node Placement Wizard, do the following: 1. Go to Default Device Properties Editor > Node Configuration > Mobility and Placement. 2. If terrain elevation data are used in the scenario and the initial altitude of the node should be read from the terrain file, then set Use Altitudes from Terrain File to Yes.

FIGURE 11-10. TABLE 11-12. GUI Parameter Use Altitudes from Terrain File

Setting Node Altitude Parameters

Command Line Equivalent of Node Altitude Parameters Scope of GUI Parameter


Global, Node

Command Line Parameter


MOBILITY-GROUND-NODE

3. To specify the node orientation, set Specify Node Orientation to Yes and set the dependent parameters listed in Table 11-13.

390

QualNet 5.1 Developer Model Library

Chapter 11

Grid Node Placement Model

FIGURE 11-11. TABLE 11-13. GUI Parameter Azimuth Elevation

Setting Node Orientation

GUI Node Orientation Parameters Description


Initial (at time 0) azimuth of the node. Initial (at time 0) elevation of the node.

Note:

GUI parameters Azimuth and Elevation do not have direct equivalents in the command line interface. These parameters are written to the Node Placement file that is created (see Section 11.2.2.1 for the format of the Node Position file).

QualNet 5.1 Developer Model Library

391

Random Node Placement Model

Chapter 11

.........................................................................
11.4 Random Node Placement Model
11.4.1 Description
In the Random Node Placement model, nodes are placed on the terrain randomly.

11.4.2 Command Line Configuration


To select the Random Node Placement model, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] NODE-PLACEMENT RANDOM

The scope of this parameter declaration can be Global or Node. See Section 1.2.1.1 for a description of <Qualifier> for each scope. Random Node Placement Parameters The parameters for the Random Node Placement model are described in Table 11-14. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 11-14. Parameter Name MOBILITY-GROUND-NODE


Optional Scope: Global, Node List:

Random Node Placement Parameters Value Description


Indication whether the nodes initial altitude is read from a terrain file. This parameter is used only if a terrain file is also specified in the scenario. YES : The nodes z-coordinate (for Cartesian system) or altitude (for Lat-Lon-Alt system) at its initial position is the same as the altitude specified in the terrain file for that point. NO : The nodes z-coordinate or altitude at its initial position is 0.

YES NO Default: NO

11.4.3 GUI Configuration


When the Random Node Placement model is used in the GUI, Architect places nodes randomly within the specified region. When the scenario is saved, a file called <scenario-name>.nodes is created in the scenario folder. If a file by this name already exists, it is overwritten. This file contains the positions of all nodes on the canvas. When the scenario is run, the simulator uses the File-based placement model (seeSection 11.2) and uses <scenario-name>.nodes as the Node Position file. Section 11.4.3.1 describes how to use the Node Placement Wizard to place nodes on the canvas. Section 11.4.3.2 describes how to configure node placement parameters for an individual node.

11.4.3.1 Using Node Placement Wizard


To use the Random Node Placement model in the GUI, do the following:

392

QualNet 5.1 Developer Model Library

Chapter 11

Random Node Placement Model

1. Select Tools > Node Placement. This opens the Node Placement Wizard shown in Figure 11-12.

FIGURE 11-12.

Node Placement Wizard

2. In the Number of Nodes field, enter the desired number of nodes. 3. In the Device Type field, select the type of device from the list. All devices that appear in the Devices toolbar in the Toolset also appear in the list. 4. Under Placement Strategy, set Placement Model to Random and specify a value for the seed in the Seed field. This seed is used to generate random numbers that determine the position of nodes on the canvas. 5. Select the check box Use Altitudes from Terrain File if terrain elevation data are used in the scenario and the initial altitudes of nodes should be read from the terrain file. 6. Under Placement Data, specify the coordinates of the origin and the dimensions of the area in which the nodes are placed (for Cartesian coordinate system) or the latitude and longitude of the south-west and north-east corners of the placement area (for Latitude-Longitude coordinate system). 7. Click Apply or OK.

TABLE 11-15. GUI Parameter Seed

Command Line Equivalent of Node Placement Parameters Scope of GUI Parameter


Global Global, Node

Command Line Parameter


N/A MOBILITY-GROUND-NODE

Use Altitudes from Terrain File

QualNet 5.1 Developer Model Library

393

Random Node Placement Model

Chapter 11

11.4.3.2 Configuring Individual Node Placement Parameters


To configure node placement parameters for a specific node after placing nodes using the Node Placement Wizard, do the following: 1. Go to Default Device Properties Editor > Node Configuration > Mobility and Placement. 2. If terrain elevation data are used in the scenario and the initial altitude of the node should be read from the terrain file, then set Use Altitudes from Terrain File to Yes.

FIGURE 11-13. TABLE 11-16. GUI Parameter Use Altitudes from Terrain File

Setting Node Altitude Parameters

Command Line Equivalent of Node Altitude Parameters Scope of GUI Parameter


Global, Node

Command Line Parameter


MOBILITY-GROUND-NODE

3. To specify the node orientation, set Specify Node Orientation to Yes and set the dependent parameters listed in Table 11-17.

394

QualNet 5.1 Developer Model Library

Chapter 11

Random Node Placement Model

FIGURE 11-14. TABLE 11-17. GUI Parameter Azimuth Elevation

Setting Node Orientation

GUI Node Orientation Parameters Description


Initial (at time 0) azimuth of the node. Initial (at time 0) elevation of the node.

Note:

GUI parameters Azimuth and Elevation do not have direct equivalents in the command line interface. These parameters are written to the Node Placement file that is created (see Section 11.2.2.1 for the format of the Node Position file).

QualNet 5.1 Developer Model Library

395

Uniform Node Placement Model

Chapter 11

.........................................................................
11.5 Uniform Node Placement Model
11.5.1 Description
In the Uniform Node Placement model, the terrain is divided into a number of equal-sized cells, each proportional to the size and shape of the terrain. The number of cells is calculated by rounding the number of nodes to the next higher square of an integer. For example, if there are 23 nodes in a scenario, the terrain is divided into 25 cells. Beginning with the lower left cell, proceeding first along the X-axis, then along the Y-axis, one node is placed at a random position in each cell, until all nodes are placed.

11.5.2 Command Line Configuration


To select the Uniform Node Placement model, include the following parameter in the scenario configuration (.config) file: [<Qualifier>] NODE-PLACEMENT UNIFORM

The scope of this parameter declaration can be Global or Node. See Section 1.2.1.1 for a description of <Qualifier> for each scope. Uniform Node Placement Parameters The parameters for the Uniform Node Placement model are described in Table 11-18. See Section 1.2.1.3 for a description of the format used for the parameter table.

TABLE 11-18. Parameter Name MOBILITY-GROUND-NODE


Optional Scope: Global, Node List:

Uniform Node Placement Parameters Value Description


Indication whether the nodes initial altitude is read from a terrain file. This parameter is used only if a terrain file is also specified in the scenario. YES : The nodes z-coordinate (for Cartesian system) or altitude (for Lat-Lon-Alt system) at its initial position is the same as the altitude specified in the terrain file for that point. NO : The nodes z-coordinate or altitude at its initial position is 0.

YES NO Default: NO

11.5.3 GUI Configuration


When the Uniform Node Placement model is used in the GUI, Architect places nodes within the specified region using a strategy similar to the one described in Section 11.5.1. When the scenario is saved, a file called <scenario-name>.nodes is created in the scenario folder. If a file by this name already exists, it is overwritten. This file contains the positions of all nodes on the canvas. When the scenario is run, the simulator uses the File-based placement model (seeSection 11.2) and uses <scenario-name>.nodes as the Node Position file.

396

QualNet 5.1 Developer Model Library

Chapter 11

Uniform Node Placement Model

Section 11.5.3.1 describes how to use the Node Placement Wizard to place nodes on the canvas. Section 11.5.3.2 describes how to configure node placement parameters for an individual node.

11.5.3.1 Using Node Placement Wizard


To use the Uniform Node Placement model in the GUI, do the following: 1. Select Tools > Node Placement. This opens the Node Placement Wizard shown in Figure 11-15.

FIGURE 11-15.

Node Placement Wizard

2. In the Number of Nodes field, enter the desired number of nodes. 3. In the Device Type field, select the type of device from the list. All devices that appear in the Devices toolbar in the Toolset also appear in the list. 4. Under Placement Strategy, set Placement Model to Uniform and specify a value for the seed in the Seed field. This seed is used to generate random numbers that determine the position of nodes on the canvas. 5. Select the check box Use Altitudes from Terrain File if terrain elevation data are used in the scenario and the initial altitudes of nodes should be read from the terrain file. 6. Under Placement Data, specify the coordinates of the origin and the dimensions of the area in which the nodes are placed (for Cartesian coordinate system) or the latitude and longitude of the south-west and north-east corners of the placement area (for Latitude-Longitude coordinate system). 7. Click Apply or OK.

QualNet 5.1 Developer Model Library

397

Uniform Node Placement Model

Chapter 11

TABLE 11-19. GUI Parameter Seed

Command Line Equivalent of Node Placement Parameters Scope of GUI Parameter


Global Global, Node

Command Line Parameter


N/A MOBILITY-GROUND-NODE

Use Altitudes from Terrain File

11.5.3.2 Configuring Individual Node Placement Parameters


To configure node placement parameters for a specific node after placing nodes using the Node Placement Wizard, do the following: 1. Go to Default Device Properties Editor > Node Configuration > Mobility and Placement. 2. If terrain elevation data are used in the scenario and the initial altitude of the node should be read from the terrain file, then set Use Altitudes from Terrain File to Yes.

FIGURE 11-16. TABLE 11-20. GUI Parameter Use Altitudes from Terrain File

Setting Node Altitude Parameters

Command Line Equivalent of Node Altitude Parameters Scope of GUI Parameter


Global, Node

Command Line Parameter


MOBILITY-GROUND-NODE

3. To specify the node orientation, set Specify Node Orientation to Yes and set the dependent parameters listed in Table 11-21.

398

QualNet 5.1 Developer Model Library

Chapter 11

Uniform Node Placement Model

FIGURE 11-17. TABLE 11-21. GUI Parameter Azimuth Elevation

Setting Node Orientation

GUI Node Orientation Parameters Description


Initial (at time 0) azimuth of the node. Initial (at time 0) elevation of the node.

Note:

GUI parameters Azimuth and Elevation do not have direct equivalents in the command line interface. These parameters are written to the Node Placement file that is created (see Section 11.2.2.1 for the format of the Node Position file).

QualNet 5.1 Developer Model Library

399

You might also like