QualNet 5.1 Developer Model Library
QualNet 5.1 Developer Model Library
September 2010
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
Table of Contents
Chapter 1
Chapter 2
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
iv
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
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
vi
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
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
viii
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
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
7.3.3 GUI Configuration .......................................................................................... 218 7.3.4 Statistics......................................................................................................... 219 7.3.5 References..................................................................................................... 219
Chapter 8
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
8.11.4.1 File Statistics ......................................................................................... 338 8.11.4.2 Dynamic Statistics ................................................................................. 338
Chapter 9
xiii
xiv
.........................................................................
1.1 List of Models in the Library
The models described in the Developer Model Library are listed in Table 1-1.
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)
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
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.
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
Conventions Used
Chapter 1
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.
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.
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.
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.
Values
<Type> [<Range>] [<Default Value>] [<Unit>]
<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.
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
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.
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
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
Indicates whether the radio is to use a directional antenna for transmission and reception.
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 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.
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.
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
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
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)
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).
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
12
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
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.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
Chapter 2
802.3 LAN/Ethernet
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
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
LINK-PROPAGATION-DELAY
Optional (see note 2) Scope: All
15
Description
MAC-LAYER-STATISTICS
Optional Scope: All
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
16
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
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
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.
17
802.3 LAN/Ethernet 2. Set MAC Protocol to 802.3 and set the dependent parameters listed in Table 2-2.
Chapter 2
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
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
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.
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)
19
802.3 LAN/Ethernet
Chapter 2
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.
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
Chapter 2
.........................................................................
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.
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.
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).
21
Description
MAC-LAYER-STATISTICS
Optional Scope: All
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
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.
22
Chapter 2
2. Set MAC Protocol to Abstract Link MAC and set the dependent parameters shown in Figure 2-2.
FIGURE 2-2.
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.
23
Chapter 2
Command Line Equivalent of Symmetric Wired Link Parameters Scope of GUI Parameter
Subnet, Interface Subnet, Interface Subnet. Interface
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.
Command Line Equivalent of Symmetric Wireless Link Parameters Scope of GUI Parameter
Subnet, Interface Subnet, Interface Subnet. Interface
24
Chapter 2
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.
c. Set the dependent parameters listed in Table 2-8, if the link is a wireless link.
FIGURE 2-6.
25
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
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
Chapter 2
.........................................................................
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.
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.
27
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
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
SATCOM-PROPAGATION-DELAY
Optional Scope: All
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
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
28
Chapter 2
FIGURE 2-7.
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.
29
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.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
Chapter 2
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.
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
ARP-STATISTICS
Optional Scope: All
31
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.
Description
MAC address type.
MAC-ADDRESS-LENGTH
Optional Scope: All
MAC-ADDRESS
Optional Scope: All
32
Chapter 2
33
Chapter 2
Note:
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
Chapter 2
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.
35
Chapter 2
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
Chapter 2
2. Set Configure MAC Address to Yes and set the dependent parameters listed in Table 2-16.
FIGURE 2-9.
37
Chapter 2
3. If Read MAC Address from File is Yes, then set the dependent parameters listed in Table 2-17.
FIGURE 2-10.
TABLE 2-17.
Command Line Equivalent of Enable Hello Processing-specific Parameters Scope of GUI Parameter
Interface
GUI Parameter
MAC Address Configuration 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
Chapter 2
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.
39
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.
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.
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
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
41
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.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.
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
Chapter 2
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
43
Chapter 2
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
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
45
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.
46
Chapter 3
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
47
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
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.
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
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
ICMP-ROUTERADVERTISEMENT-MININTERVAL
Optional Scope: Global, Node
ICMP-ROUTERADVERTISEMENT-MAXINTERVAL
Optional Scope: Global, Node
ICMP-MAX-NUM-SOLICITATION
Optional Scope: Global, Node
ICMP-HOST-UNREACHABLEENABLED
Optional Scope: Global, Node
49
Chapter 3
ICMP-PROTOCOLUNREACHABLE-ENABLED
Optional Scope: Global, Node
ICMP-PORT-UNREACHABLEENABLED
Optional Scope: Global, Node
ICMP-FRAGMENTATIONNEEDED-ENABLED
Optional Scope: Global, Node
ICMP-SOURCE-QUENCEENABLED
Optional Scope: Global, Node
ICMP-TTL-EXCEEDED-ENABLED
Optional Scope: Global, Node
ICMP-SOURCE-ROUTE-FAILEDENABLED
Optional Scope: Global, Node
ICMP-FRAGMENTSREASSEMBLY-TIMEOUTENABLED
Optional Scope: Global, Node
50
Internet Control Message Protocol (ICMP) ICMP Configuration Parameters Value Description
Enable ICMP parameter problem error message generation.
ICMP-SECURITY-FAILUREENABLED
Optional Scope: Global, Node
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
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.
51
Chapter 3
FIGURE 3-1.
52
Internet Control Message Protocol (ICMP) Command Line Equivalent of ICMP Parameters (Continued) Scope of GUI Parameter
Node Node Node Node Node
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.
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 Parameters
The parameter Router List must be set to the same value for all nodes.
54
Chapter 3
4. If Enable Redirect is set to Yes, then set the parameters listed in Table 3-4.
FIGURE 3-3.
55
Chapter 3
5. Set Enable ICMP Error Message to Yes and set the dependent parameters listed in Table 3-5.
FIGURE 3-4.
56
Chapter 3
Command Line Equivalent of ICMP Error Message Parameters Scope of GUI Parameter
Node Node Node Node Node Node Node Node Node Node Node
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.
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.
57
Chapter 3
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
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
59
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
Chapter 3
.........................................................................
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.
Value
TRACE-ICMPV6
Optional Scope: Global, Node
61
Chapter 3
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
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
Chapter 3
.........................................................................
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.
63
Chapter 3
Maintenance of subscription set at each downstream interface and a merged set of subscription at
upstream 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. 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
Value
Node-list
IGMP-PROXY
Optional Scope: Global, Node
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
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,
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
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.
65
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
Command Line Equivalent of Group Management Protocol Parameters Scope of GUI Parameter
Node, Subnet, Interface
Setting Parameters
66
Chapter 3
3. If Group Management Protocol is set to IGMP, then set the dependent parameters listed in Table 315.
Setting Parameters
Set Enable Proxy to Yes to configure the node as an IGMP Proxy device.
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.
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.
68
Chapter 3
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
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 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
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.
69
Chapter 3
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.
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
Chapter 3
.........................................................................
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.
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.
71
Chapter 3
where WWXX: YYZZ Colon-hexadecimal representation of a public IPv4 address (w.x.y.z) assigned to a subnet or host.
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
Chapter 3
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.
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.
Value
TUNNEL-CONFIG-FILE
Optional Scope: Global, Node
73
NETWORK-LAYER-STATISTICS
Optional Scope: Global, Node
74
Chapter 3
<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
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
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:
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
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.
75
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.
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
Chapter 3 Enabling 6to4 Tunneling The 6to4 Tunneling can be configured only at interface level.
To configure the 6to4 Tunneling in the GUI, Set Network Protocol [=Dual-IP] > Enable IPv6 6to4 Tunneling to Yes.
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.
77
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
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.
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
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.
79
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.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
Chapter 3
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
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
IPSEC-HMAC-MD5-96-DELAY
Optional Scope: Global, Node
IPSEC-HMAC-SHA-1-96-DELAY
Optional Scope: Global, Node
IPSEC-DES-CBC-DELAY
Optional Scope: Global, Node
Cryptographic processing delay (per KB data) for 'DES-CBC ' encryption algorithm.
81
Chapter 3
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
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:
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
83
Chapter 3
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
Chapter 3
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
85
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
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
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
Chapter 3
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.
87
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.
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
Chapter 3
Value
NETWORK-LAYER-STATISTICS
Optional Scope: Global, Node
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.
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.
89
Internet Protocol version 4 (IPv4) 2. Set Network Protocol to IPv4 and set the dependent parameters listed inTable 3-33.
Chapter 3
Setting IPv4 Protocol Parameters at Node Level Command Line Equivalent of IPv4 Parameters Scope of GUI Parameter
Node
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.
90
Chapter 3
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.
3.6.4 Statistics
This section describes the file and dynamic statistics of the IPv4 model.
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.
91
3.6.5 References
1. RFC 791, Internet Protocol Darpa Internet Program Protocol Specification, Information Science Institute, University of Southern California.
92
Chapter 3
.........................................................................
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.
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>)
93
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.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.
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
Value
NETWORK-LAYER-STATISTICS
Optional Scope: Global, Node
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.
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.
95
Internet Protocol version 6 (IPv6) 2. Set Network Protocol to IPv6 and set the dependent parameters listed in Table 3-38.
Chapter 3
Configuring IPv6 Network Protocol Parameters Command Line Equivalent of IPv6 Parameters Scope of GUI Parameter
Node
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.
96
Chapter 3
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.
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
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
97
Chapter 3
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
Chapter 3
.........................................................................
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.
99
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.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
Chapter 3
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
101
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
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
103
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.
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.
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
Chapter 4
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.
105
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
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
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
106
Chapter 4
.........................................................................
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.
107
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.
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
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.
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
Chapter 4
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.
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.
109
Chapter 4
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.
4.2.4 Statistics
This section describes the file and dynamic statistics of the RIPng model.
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
Chapter 4
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.
111
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.
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
Chapter 4
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)
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
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.
113
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.
Command Line Equivalent of RIP/RIPv2 Parameters Scope of GUI Parameter Command Line Parameter
RIP-VERSION SPLIT-HORIZON
114
Chapter 4
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.
4.3.4 Statistics
This section describes the file and dynamic statistics of the RIP/RIPv2 model.
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
115
Chapter 4
116
Chapter 4
.........................................................................
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.
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
Value
Filename
117
Chapter 4
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
Value
Filename
118
Chapter 4
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
FIGURE 4-4.
119
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.
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
Chapter 4
121
This chapter describes features, configuration requirements and parameters, statistics, and scenarios for Multicast Routing Protocol Models, and consists of the following sections:
122
Chapter 5
.........................................................................
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.
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.
Filename
123
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
FIGURE 5-1.
Enabling Multicast
3. Set Specify Static Multicast Routes to Yes, and set the dependent parameters listed in Table 5-2.
124
Chapter 5
FIGURE 5-2.
Command Line Equivalent of Static Multicast Route Parameters Scope of GUI Parameter
Node
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.
125
Chapter 5
126
Chapter 5
.........................................................................
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.
127
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.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.
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)
128
Chapter 5
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.
129
Chapter 5
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
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
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
Value
Integer Range: 0 Default: 1048576 Unit: bytes
MDP-SEGMENT-POOL-SIZE
Optional
MDP-STATISTICS
Optional Scope: Global, Node
131
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.
Value
Integer Range: [0, 255] Default: 0
TX-RATE
Optional
TTL-COUNT
Optional
INITIAL-GRTT
Optional
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
BLOCK-SIZE
Optional
132
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
EMCON-ENABLED
Optional
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
POSITIVE-ACK-WITH-REPORT
Optional
Indicates whether positive acknowledgements are sent when REPORT-MESSAGES-ENABLED is set to YES.
UNICAST-ENABLED
Optional
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
MULTICAST-ACK-ENABLED
Optional
FLOW-CONTROL-ENABLED
Optional
133
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
TX-BUFFER-SIZE
Optional
134
Description
Amount of memory the receiver allocates for buffering each server heard.
SEGMENT-POOL-SIZE
Optional
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.
FIGURE 5-3.
Enabling MDP
135
Chapter 5
FIGURE 5-4.
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
Setting Parameters
To specify a MDP Profile file, set Specify MDP Profile File to Yes; otherwise, set Specify MDP
Profile File to No.
136
Chapter 5
4. If Specify MDP Profile File is set to Yes, then set the dependent parameters listed in Table 5-8.
FIGURE 5-5.
Command Line Equivalent of MDP Profile File Parameters Scope of GUI Parameter
Node Node N/A
Setting Parameters
To specify a default MDP profile for the node, set Specify MDP Profile to Yes; otherwise, set
Specify MDP Profile to No.
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.
Command Line Equivalent of MDP Profile Name Parameters Scope of GUI Parameter
Node
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
Chapter 5 2. To enable MDP statistics collection, check the box next to MDP.
FIGURE 5-7.
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
139
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
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
141
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.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.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.
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
Chapter 6
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.
Values
Filename
CBQ-GENERAL-SCHEDULER
Required Scope: All
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.
143
Chapter 6
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
Chapter 6
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.
145
Chapter 6
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.
146
Chapter 6
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
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.
147
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.
148
Chapter 6
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.
Value
QUEUE-STATISTICS
Optional Scope: All
IP-QUEUE-PRIORITY-QUEUESIZE
Optional Scope: All Instances: queue index
Queue size.
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.
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.
Command Line Equivalent of FIFO Parameters Scope of GUI Parameter Command Line Parameter
IP-QUEUE-PRIORITY-QUEUE-SIZE
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.
150
Chapter 6
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)
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)
151
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.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.
152
Chapter 6
Value
QUEUE-STATISTICS
Optional Scope: All
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.
153
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
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
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
Chapter 6
2. Set IP Queue Type to RED and set the dependent parameters listed in Table 6-11.
FIGURE 6-4.
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
155
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.
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
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
Chapter 6
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.
157
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.
158
Chapter 6
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.
Value
QUEUE-STATISTICS
Optional Scope: All
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
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.
159
Random Early Detection with In/Out (RIO) Queue TABLE 6-15. Parameter GREEN-PROFILE-MINTHRESHOLD
Optional Scope: All Instances: queue index
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
Specifies the number of red profile packets in the queue that represents the lower bound at which green packets can be randomly dropped.
160
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
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
Specifies sample amount of time to transmit a small packet. Used to estimate the queue average during idle periods.
161
Chapter 6
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
Chapter 6
2. Set IP Queue Type to RIO and set the dependent parameters listed in Table 6-16.
FIGURE 6-5.
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.
163
Chapter 6
FIGURE 6-6.
164
Chapter 6
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.
6.4.4 Statistics
Table 6-19 lists the RIO statistics that are output to the statistics (.stat) file at the end of simulation.
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.
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
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)
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
Chapter 6
.........................................................................
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.
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.
Value
SCHEDULER-STATISTICS
Optional Scope: All
To set wireless subnet properties, go to Wireless Subnet Properties Editor > Network Layer >
Schedulers and Queues
167
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.
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
Chapter 6
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
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:
If total dequeue requests are not zero, service ratio = (total packets dequeued) / (total
dequeue requests)
169
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.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.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.
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
Chapter 6
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.
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).
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.
171
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 Parameters
To enable IP Queue Weights, set Specify Priority Output Queue Weight to Yes; otherwise, set
Specify Priority Output Queue Weight to No.
172
Chapter 6
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.
6.6.5 Statistics
Table 6-28 lists the SCFQ statistics that are output to the statistics (.stat) file at the end of simulation:
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)
173
Chapter 6
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
Chapter 6
.........................................................................
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.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.
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.
175
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.
Value
Default: See note below table. List YES NO Default: NO List YES NO Default: NO
INPUT-SCHEDULERSTATISTICS
Optional Scope: Global, Node
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).
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
Chapter 6
FIGURE 6-9.
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.
177
Chapter 6
FIGURE 6-10.
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.
178
Chapter 6
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)
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.
179
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.
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.
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
Chapter 6
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.
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.
181
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.
182
Chapter 6
.........................................................................
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.
183
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.
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
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
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
Specifies the sample amount of time to transmit a small packet. Used to estimate the queue average during idle periods.
185
QUEUE-STATISTICS
Optional Scope: All
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
Chapter 6
2. Set IP Queue Type to WRED and set the dependent parameters listed in Table 6-40.
FIGURE 6-12.
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
187
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
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.
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
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
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.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/
189
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.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.
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
Chapter 6
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.
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).
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.
191
Chapter 6
2. Set IP Output Queue Scheduler to Weighted Round Robin and set Specify IP Output Queue Weights.
FIGURE 6-13.
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
Chapter 6
FIGURE 6-14.
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.
193
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
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.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
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)
195
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.
Three-way hand shaking (open/close) Keep alive Persistence time Variable packet size Actual data caching TCP options
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
Chapter 7
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
Value
TCP-MSS
Optional Scope: Global, Node
TCP-RECEIVE-BUFFER
Optional Scope: Global, Node
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
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
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.
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
TCP-VERIFICATION-DROPCOUNT
Optional Scope: Global, Node
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
Chapter 7
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
N/A
200
Chapter 7
4. To enable TCP trace, set Enable TCP Trace to Yes and set the dependent parameters listed in Table 74.
FIGURE 7-3.
5. To set testing parameters, set the Configure Testing Parameters to Yes and set the dependent parameters shown in the Table 7-5.
201
Chapter 7
FIGURE 7-4.
Command Line Equivalent TCP Configure Testing Parameters Scope of GUI Parameter
Node Node
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.
202
Chapter 7
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
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.
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.
203
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.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
Chapter 7
- 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.
Value
Default: LITE
TCP-DELAY-ACKS
Optional Scope: Global, Node
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
205
Value
TCP-USE-RFC1323
Optional Scope: Global, Node
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
TCP-SEND-BUFFER
Optional Scope: Global, Node
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
Value
TCP-TRACE
Optional Scope: Global, Node
Default: NONE
TCP-TRACE-WITH-DATA
Optional Scope: Global, Node
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
TCP-VERIFICATION-DROPCOUNT
Optional Scope: Global, Node
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
207
Value
TCP-STATISTICS
Optional Scope: Global, Node
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.
208
Chapter 7
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.
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
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
Chapter 7
4. If Configure TCP [= Yes] > Enable TCP Trace is set to Yes, then set the dependent parameters listed in Table 7-12.
211
Chapter 7
212
Chapter 7
5. If Trace Format is set to TCP Peek, then set the dependent parameters listed in Table 7-13.
213
Chapter 7
6. If Configure TCP [= Yes] > Configure Testing Parameters is set to Yes, then set the dependent parameters listed in Table 7-14.
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
Chapter 7
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
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.
215
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:
216
Chapter 7
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
217
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.
Value
TRACE-UDP
Optional Scope: Global, Node
218
Chapter 7
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.
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
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.
219
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
220
Chapter 8
.........................................................................
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.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.
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.
221
Chapter 8
Value
Integer or IP Address Integer or IP Address Integer Range: 0
<dest>
Required
<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
<interval>
Required
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
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.
223
Chapter 8
Scenario Configuration File Parameters Table 8-2 describes the CBR parameters that can be specified in the scenario configuration (.config) file.
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
Chapter 8
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
225
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.
TABLE 8-3.
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
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.
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
Enabling MDP
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
Chapter 8
7. If Specify MDP Profile is set to Yes, then set the parameters listed in Table 8-6.
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
229
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
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.
230
Chapter 8
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.
231
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.
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
Value
Integer or IP Address Integer or IP Address Integer Range: 0
<dest>
Required
<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
Chapter 8
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
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.
233
File Transfer Protocol (FTP) 4. Set the parameters listed in Table 8-12.
Chapter 8
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.
234
Chapter 8
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
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.
235
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.
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.
Value
Integer or IP Address Integer or IP Address Integer Range: 0
<dest>
Required
<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
<start-time>
Required
Time Range: 0S
236
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.
Description
Indicates whether statistics are collected for application protocols (including FTP/Generic).
TRACE-GEN-FTP
Optional Scope: Global, Node
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
238
FIGURE 8-6.
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.
239
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.
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.
240
Chapter 8
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.
Note:
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.
241
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.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].
Note:
242
Chapter 8
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.
Description
<num-servers>
Required
<server-i>
Required
<start-time>
Required
<thresh>
Required
Scenario Configuration File Parameters Table 8-22 describes the HTTP parameters that can be specified in the scenario configuration (.config) file.
Description
Indicates whether statistics are collected for application protocols (including HTTP).
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
FIGURE 8-8.
HTTP Parameters
244
Chapter 8
TABLE 8-23.
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
245
Chapter 8
FIGURE 8-10.
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.
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)
246
Note:
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.
247
Chapter 8
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
Chapter 8
.........................................................................
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.
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.
Value
Integer or IP Address Integer or IP Address Integer Range: 0
<dest>
Required
<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
<reply-size>
Required
249
<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
Chapter 8
Scenario Configuration File Parameters Table 8-27 describes the Lookup Traffic Generator parameters that can be specified in the scenario configuration (.config) file.
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
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.
251
Chapter 8
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
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.
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
253
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.
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.
254
Chapter 8
.........................................................................
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.
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.
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
255
Multicast Constant Bit Rate (MCBR) Traffic Generator TABLE 8-32. Parameter <item-size>
Required
Chapter 8
<interval>
Required
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
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.
Description
Indicates whether statistics are collected for application protocols (including MCBR).
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
258
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.
259
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.
TABLE 8-35.
GUI Parameter DSCP Value Precedence Value TOS Value
260
Chapter 8
6. If Enable MDP is set to Yes, then set the parameters listed in Table 8-36.
Enabling MDP
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.
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
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.
262
Chapter 8
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 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)
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.
263
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.
264
Chapter 8
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.
[DESTINATIONS] <destination-list>
Required
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
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
265
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
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
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
REPLY-TOS <reply-QoS>
Optional
266
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
267
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.
268
Chapter 8
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
269
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.
270
271
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)
Number of Request Bytes Sent Number of Request Packets Sent Number of Request Fragments Sent
272
Chapter 8
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
273
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.
Value
Integer or IP Address Integer or IP Address Time Range: 0S Time Range: 0S
<dest>
Required
<session-duration>
Required
<start-time>
Required
274
Chapter 8
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
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
275
Chapter 8
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
276
Chapter 8
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 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.
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.
277
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.
278
Chapter 8
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.
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
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.
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
Chapter 8
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.
283
Chapter 8
2. Priority Specification: Priority can be specified by including a TOS specification, DSCP specification, or Precedence specification.
Scenario Configuration File Parameters Table 8-49 describes the Traffic-Gen parameters that can be specified in the scenario configuration (.config) file.
Description
Indicates whether statistics collection is enabled for applications (including Traffic-Gen).
TRACE-TRAFFIC-GEN
Optional Scope: Global, Node
284
Chapter 8 Examples of Parameter Usage The following are examples of Traffic-Gen configuration:
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.
285
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.
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
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.9.3.1.1 to Section 8.9.3.1.7. 5. Set the statistics parameters as described in Section 8.9.3.3.
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
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
Chapter 8 8.9.3.1.2 Configuring Session Parameters To configure the session parameters, perform the following steps:
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.
289
Chapter 8
If Start Time Distribution is set to Deterministic, then set the dependent parameters listed in
Table 8-52.
Command Line Equivalent of Deterministic Distribution Parameters GUI Parameter Command Line Parameter
DET <det-val>
If Start Time Distribution is set to Exponential, then set the dependent parameters listed in
Table 8-53.
FIGURE 8-23.
290
Chapter 8
TABLE 8-53.
Command Line Equivalent of Exponential Distribution Parameters GUI Parameter Command Line Parameter
EXP <exp-val>
If Start Time Distribution is set to Pareto Truncated 3, then set the dependent parameters listed in
Table 8-54.
FIGURE 8-24.
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
291
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.
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
Chapter 8
If Start Time Distribution is set to Uniform then set the dependent parameters listed in Table 8-56.
FIGURE 8-26.
TABLE 8-56.
GUI Parameter
Start Time Distribution (set to Uniform) Earliest Start Time Latest Start Time
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.
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
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.
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.
295
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
3. If Leaky Bucket is set to Leaky Bucket then set the dependent parameters listed in Table 8-60.
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
Chapter 8
4. If Leaky Bucket is set to Dual Leaky Bucket then set the dependent parameters listed in Table 8-61.
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
297
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.
GUI Parameter
Enable Fragmentation (set to Yes) Fragment Size
298
Chapter 8 8.9.3.1.6 Configuring QoS Parameters To configure the QoS parameters, perform the steps listed below.
1. Set Specify QOS Constraints to Yes and set the dependent parameters listed in Table 8-63.
GUI Parameter
Specify QOS Constraints (set to Yes) Bandwidth End-to-end Delay Priority and dependent parameters Specify Session Retry Property and dependent parameters
299
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.
300
Chapter 8
TABLE 8-64.
Command Line Equivalent of Priority Parameters (Priority = DSCP) GUI Parameter Command Line Parameter
DSCP <DSCP-value>
TABLE 8-65.
Command Line Equivalent of Priority Parameters (Priority = Precedence) GUI Parameter Command Line Parameter
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
301
Chapter 8
3. If Specify Session Retry Property to Yes, then set the dependent parameters listed in Table 8-67.
GUI Parameter
Specify Session Retry Property (set to Yes) Retry Interval
302
Chapter 8 8.9.3.1.7 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-35.
Enabling MDP
TABLE 8-68.
GUI Parameter
Enable MDP (set to Yes)
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
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
Chapter 8
3. If Specify MDP Profile is set to Yes, then set the parameters listed in Table 8-70.
305
Chapter 8
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
Chapter 8 8.9.3.2.1 Configuring Source and Destination Parameters Set the source and destination parameters listed in Table 8-71.
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.
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.4 Statistics
Table 8-73 shows the Traffic-Gen statistics that are output to the statistics (.stat) file at the end of simulation.
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
Average delay for packet transmission between client and server, in seconds Average jitter for packet transmission between client and server, in seconds
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.
309
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.
310
Chapter 8
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 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.
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.
312
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).
313
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.
314
Chapter 8
2. Priority Specification: Priority can be specified by including a TOS specification, DSCP specification, or Precedence specification.
Scenario Configuration File Parameters Table 8-76 describes the Traffic-Trace parameters that can be specified in the scenario configuration (.config) file.
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
315
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.
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
Chapter 8
FIGURE 8-40.
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
317
Chapter 8
FIGURE 8-41.
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
Chapter 8
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.
319
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.
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
Chapter 8
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.
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.
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
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
Chapter 8
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.
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.
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
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
Chapter 8
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.
GUI Parameter
Enable MDP (set to Yes)
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
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
Chapter 8
3. If Specify MDP Profile is set to Yes, then set the parameters listed in Table 8-84.
327
Chapter 8
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.
Command Line Equivalent of Source and Destination Parameters Command Line Parameter
<Source> <Destination>
GUI Parameter
Source Multicast Group Address
328
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.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
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
Average end-to-end delay faced for packet transmission, in seconds Average jitter faced for packet transmission, in seconds
330
Chapter 8
.........................................................................
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).
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.
Value
Integer or IP Address Integer or IP Address Integer Range: [120, 65023] Unit: bytes
<dest>
Required
<item-size>
Required
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
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
Chapter 8
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
333
Variable Bit Rate (VBR) Traffic Generator 4. Set the parameters listed in Table 8-89.
Chapter 8
FIGURE 8-51.
TABLE 8-89.
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.
334
Chapter 8
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.
TABLE 8-90.
GUI Parameter
DSCP Value Precedence Value TOS Value
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
Enabling MDP
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
Chapter 8
7. If Specify MDP Profile is set to Yes, then set the parameters listed in Table 8-92.
337
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.
8.11.4 Statistics
This section describes the file and dynamic statistics of the VBR model.
338
Multi-layer Models
This chapter describes features, configuration requirements and parameters, statistics, and scenarios for Multi-layer Models, and consists of the following sections:
339
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
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.
340
Chapter 9
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.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.
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.
341
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.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
Chapter 9
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.
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
343
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.
344
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-CONNECTION-TIMEOUTTIME
Optional Scope: All
ADAPTATION-PROTOCOL
Required Scope: Global, Node
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-RED-MAX-THRESHOLD
Optional Scope: All
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-SIGNALLING-STATISTICS
Optional Scope: Global, Node
ADAPTATION-LAYERSTATISTICS
Optional Scope: Global, Node
ATM-SCHEDULER-STATISTICS
Optional Scope: All
346
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:
<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.
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.
347
Chapter 9
FIGURE 9-2.
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.
ATM Links To create an ATM Link, select the Link button in the Links toolbar, and create a link between two ATM switches.
348
Chapter 9 Configuring ATM Logical Subnet To configure an ATM logical subnet perform following steps:
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.
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.
3. If ATM Symmetric Link is set to Yes, set the ATM link parameters listed in Table 9-2.
350
Chapter 9
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.
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.
351
Asynchronous Transfer Mode (ATM) 2. Set Adaptation Protocol to AAL5 and set the dependent parameters listed in Table 9-3.
Chapter 9
352
Chapter 9
Command Line Equivalent of Adaptation Layer Statistics Parameters Scope of GUI Parameter
ATM Device, ATM Interface
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.
353
Asynchronous Transfer Mode (ATM) 2. Set the ATM Layer 2 parameters listed in Table 9-5.
Chapter 9
Setting Parameters
354
355
Chapter 9
FIGURE 9-12.
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
Chapter 9
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
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
357
FIGURE 9-13.
358
Chapter 9
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
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
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
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.
361
Chapter 9
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}
362
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
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
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
Chapter 9
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.
8. For all interfaces, set the ATM Layer 2 parameters, as shown in Figure 9-10.
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.
365
Chapter 9
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
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:
367
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.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.
368
Chapter 10
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.
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.
369
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.
Value
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.
370
Chapter 10
Command Line Equivalent of AGI STK Interface Parameters Scope of GUI Parameter
Global, Node
10.1.7 Statistics
There are no statistics collected for the STK interface.
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
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).
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.
Value
IP Address
<start-time>
Required
Time Range: 0
373
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.
374
Chapter 11 The dynamic fault parameters are described in Table 11-2. TABLE 11-2. Parameter <interface-address>
Required
Faults
Value
IP Address
REPS <num-repetitions>
Required
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 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.
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.
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
Chapter 11
Faults
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.
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.
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
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.
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.
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.
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
Chapter 11
Faults
6. To configure a dynamic fault, Set Fault Type to Random, and set the dependent parameters shown in Figure 11-5.
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.
381
Faults
Chapter 11
382
Chapter 11
.........................................................................
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.
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.
Filename
MOBILITY-GROUND-NODE
Optional Scope: Global, Node
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.
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 ...
384
Chapter 11
FIGURE 11-6.
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.
385
Chapter 11
FIGURE 11-7. TABLE 11-8. GUI Parameter Use Altitudes from Terrain File
3. To specify the node orientation, set Specify Node Orientation to Yes and set the dependent parameters listed in Table 11-9.
386
Chapter 11
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).
387
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).
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.
MOBILITY-GROUND-NODE
Optional Scope: Global, Node
388
Chapter 11
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.
FIGURE 11-9.
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.
389
Chapter 11
FIGURE 11-10. TABLE 11-12. GUI Parameter Use Altitudes from Terrain File
3. To specify the node orientation, set Specify Node Orientation to Yes and set the dependent parameters listed in Table 11-13.
390
Chapter 11
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).
391
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.
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.
YES NO Default: NO
392
Chapter 11
1. Select Tools > Node Placement. This opens the Node Placement Wizard shown in Figure 11-12.
FIGURE 11-12.
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.
393
Chapter 11
FIGURE 11-13. TABLE 11-16. GUI Parameter Use Altitudes from Terrain File
3. To specify the node orientation, set Specify Node Orientation to Yes and set the dependent parameters listed in Table 11-17.
394
Chapter 11
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).
395
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.
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.
YES NO Default: NO
396
Chapter 11
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.
FIGURE 11-15.
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.
397
Chapter 11
FIGURE 11-16. TABLE 11-20. GUI Parameter Use Altitudes from Terrain File
3. To specify the node orientation, set Specify Node Orientation to Yes and set the dependent parameters listed in Table 11-21.
398
Chapter 11
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).
399