This example shows how to use MiXiMs 802.11 protocol implementation.
The network consists of ten hosts broadcasting bursts of three packets to the other hosts. When a broadcast is received a reply is sent back to the sender.
The hosts use "Mac80211" as MAC layer and their phy layer uses "SimplePathlossModel" as AnalogueModel and "Decider80211" as Decider. Note that Mac80211 and Decider80211 are always meant to be used together.
The default configuration in omnetpp.ini uses no propagation delay.
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram. Click here to see the full picture.
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram. Click here to see the full picture.
| Name | Type | Default value | Description |
|---|---|---|---|
| playgroundSizeX | double |
x size of the area the nodes are in (in meters) |
|
| playgroundSizeY | double |
y size of the area the nodes are in (in meters) |
|
| playgroundSizeZ | double |
z size of the area the nodes are in (in meters) |
|
| numHosts | double |
total number of hosts in the network |
| Name | Value | Description |
|---|---|---|
| isNetwork | ||
| display | bgb=$playgroundSizeX,$playgroundSizeY,white,,;bgp=10,50 |
| Name | Type | Default value | Description |
|---|---|---|---|
| world.coreDebug | bool |
debug switch for the base framework |
|
| world.useTorus | bool |
use the playground as torus? |
|
| world.use2D | bool |
use a 2-dimensional world? |
|
| connectionManager.coreDebug | bool |
debug switch for core framework |
|
| connectionManager.sendDirect | bool |
send directly to the node or create separate gates for every connection |
|
| connectionManager.pMax | double |
maximum sending power used for this network [mW] |
|
| connectionManager.sat | double |
minimum signal attenuation threshold [dBm] |
|
| connectionManager.alpha | double |
minimum path loss coefficient |
|
| connectionManager.carrierFrequency | double |
minimum carrier frequency of the channel [Hz] |
|
| connectionManager.drawMaxIntfDist | bool | false |
should the maximum interference distance be displayed for each node? |
| host.utility.coreDebug | bool |
debug switch for the base framework |
|
| host.arp.coreDebug | bool |
debug switch for the core framework |
|
| host.mobility.x | double |
x coordinate of the nodes' position (-1 = random) |
|
| host.mobility.y | double |
y coordinate of the nodes' position (-1 = random) |
|
| host.mobility.z | double |
z coordinate of the nodes' position (-1 = random) |
|
| host.appl.headerLength | int |
length of the application message header (in bits) |
|
| host.net.stats | bool |
stats switch |
|
| host.net.headerLength | double |
length of the network packet header (in bits) |
|
| host.nic.mac.notAffectedByHostState | bool | false | |
| host.nic.mac.coreDebug | bool |
debug switch |
|
| host.nic.mac.headerLength | double | 272bit |
length of the MAC packet header (in bits) |
| host.nic.mac.debug | bool | false |
enable debugging for this module |
| host.nic.mac.queueLength | int | 20 | |
| host.nic.mac.rtsCtsThreshold | int | -1 |
Number of bits in a packet before RTS/CTS is used. Is currently not used. |
| host.nic.mac.bitrate | double | 2E+6bps | |
| host.nic.mac.autoBitrate | bool | false |
auto bit rate selection support: specify borders at which to change modulation. |
| host.nic.mac.snr2Mbit | double | 1.46dB |
threshold to use 2Mbit (in dB) |
| host.nic.mac.snr5Mbit | double | 2.6dB |
threshold to use 5.5Mbit (in dB) |
| host.nic.mac.snr11Mbit | double | 5.68dB |
threshold to use 11Mbit (in dB) |
| host.nic.mac.neighborhoodCacheSize | int | 30 |
keep information on neighborhood |
| host.nic.mac.neighborhoodCacheMaxAge | double | 100s |
consider information in cache outdate if older than (in seconds) |
| host.nic.mac.txPower | double | 110.11mW |
the power to transmit packets with [mW] |
| host.nic.phy.coreDebug | bool |
debug switch for core framework |
|
| host.nic.phy.recordStats | bool | false |
enable/disable tracking of statistics (eg. cOutvectors) |
| host.nic.phy.usePropagationDelay | bool |
Should transmission delay be simulated? |
|
| host.nic.phy.thermalNoise | double |
the strength of the thermal noise [dBm] |
|
| host.nic.phy.useThermalNoise | bool |
should thermal noise be considered? |
|
| host.nic.phy.analogueModels | xml |
Specification of the analogue models to use and their parameters |
|
| host.nic.phy.decider | xml | xmldoc("Nic80211_Decider.xml") |
Specification of the decider to use and its parameters |
| host.nic.phy.sensitivity | double | -119.5dBm |
The sensitivity of the physical layer [dBm] |
| host.nic.phy.maxTXPower | double |
The maximum transimission power of the physical layer [mW] |
|
| host.nic.phy.initialRadioState | int | 0 |
state the radio is initially in |
| host.nic.phy.radioMinAtt | double | 1.0 |
radios gain factor (attenuation) while receiving |
| host.nic.phy.radioMaxAtt | double | 0.0 |
radios gain factor (attenuation) while not receiving |
| host.nic.phy.nbRadioChannels | int | 15 |
Number of available radio channels. Defaults to single channel radio. |
| host.nic.phy.initialRadioChannel | int | 1 |
Initial radio channel. |
// //This example shows how to use MiXiMs 802.11 protocol implementation. // //The network consists of ten hosts broadcasting bursts of three packets //to the other hosts. When a broadcast is received a reply is sent back //to the sender. // //The hosts use "Mac80211" as MAC layer and their phy layer uses //"SimplePathlossModel" as AnalogueModel and "Decider80211" as Decider. //Note that Mac80211 and Decider80211 are always meant to be used //together. // //The default configuration in omnetpp.ini uses no propagation delay. // network Mac80211 { parameters: double playgroundSizeX @unit(m); // x size of the area the nodes are in (in meters) double playgroundSizeY @unit(m); // y size of the area the nodes are in (in meters) double playgroundSizeZ @unit(m); // z size of the area the nodes are in (in meters) double numHosts; // total number of hosts in the network @display("bgb=$playgroundSizeX,$playgroundSizeY,white,,;bgp=10,50"); submodules: world: BaseWorldUtility { parameters: playgroundSizeX = playgroundSizeX; playgroundSizeY = playgroundSizeY; playgroundSizeZ = playgroundSizeZ; @display("p=171,27;i=misc/globe"); } connectionManager: ConnectionManager { parameters: @display("p=66,25;b=42,42,rect,green;i=abstract/multicast"); } host[numHosts]: Host80211 { netwType = "BaseNetwLayer"; applType = "BurstApplLayer"; mobType = "ConstSpeedMobility"; } connections allowunconnected: // all connections and gates are to be generated dynamically }