author | Mathieu Lacage <mathieu.lacage@sophia.inria.fr> |
Tue, 15 Jan 2008 13:29:41 +0100 | |
changeset 2291 | 93f5111037d4 |
parent 2289 | 78d28adb5c7c |
child 2595 | b504951bcca8 |
permissions | -rw-r--r-- |
2030
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
1 |
/** |
2217 | 2 |
* \ingroup devices |
2061
e78f3fc300b6
define a new dox module
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2059
diff
changeset
|
3 |
* \defgroup Wifi Wifi Models |
e78f3fc300b6
define a new dox module
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2059
diff
changeset
|
4 |
* |
2030
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
5 |
* \section Wifi Models |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
6 |
* |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
7 |
* The set of 802.11 models provided in ns-3 attempts to provide |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
8 |
* an accurate MAC-level implementation of the 802.11 specification |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
9 |
* and to provide a not-so-slow PHY-level model of the 802.11a |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
10 |
* specification. |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
11 |
* |
2059 | 12 |
* The current implementation provides roughly 4 levels of models: |
2030
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
13 |
* - the PHY layer models |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
14 |
* - the so-called MAC low models: they implement DCF |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
15 |
* - the so-called MAC high models: they implement the MAC-level |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
16 |
* beacon generation, probing, and association state machines. |
2059 | 17 |
* - a set of Rate control algorithms used by the MAC low models. |
18 |
* |
|
2030
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
19 |
* |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
20 |
* We have today 3 MAC high models: |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
21 |
* - a simple adhoc state machine which does not perform any |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
22 |
* kind of beacon generation, probing, or association. This |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
23 |
* state machine is implemented by the ns3::AdhocWifiNetDevice |
2285 | 24 |
* and ns3::MacHighAdhoc classes. |
2030
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
25 |
* - an active probing and association state machine which handles |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
26 |
* automatic re-association whenever too many beacons are missed |
2285 | 27 |
* is implemented by the ns3::NqstaWifiNetDevice and |
28 |
* ns3::MacHighNqsta classes. |
|
2030
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
29 |
* - an access point which generates periodic beacons, and which |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
30 |
* accepts every attempt to associate. This AP state machine |
2285 | 31 |
* is implemented by the ns3::NqapWifiNetDevice and |
32 |
* ns3::MacHighNqap classes. |
|
2030
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
33 |
* |
2059 | 34 |
* The MAC low layer is split in 3 components: |
35 |
* - ns3::MacLow which takes care of RTS/CTS/DATA/ACK transactions. |
|
2285 | 36 |
* - ns3::DcfManager and ns3::DcfState which implements the DCF function. |
2059 | 37 |
* - ns3::DcaTxop which handles the packet queue, packet fragmentation, |
38 |
* and packet retransmissions if they are needed. |
|
39 |
* |
|
2291
93f5111037d4
add an extra link to the PHY model paper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2289
diff
changeset
|
40 |
* The PHY layer implements a single model in the ns3::WifiPhy class: the |
93f5111037d4
add an extra link to the PHY model paper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2289
diff
changeset
|
41 |
* physical layer model implemented there is described fully in a paper titled |
93f5111037d4
add an extra link to the PHY model paper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2289
diff
changeset
|
42 |
* "Yet Another Network Simulator", available there: http://cutebugs.net/files/wns2-yans.pdf |
2030
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
43 |
* |
2059 | 44 |
* It also provides a set of Rate control algorithms: |
45 |
* - ns3::ArfMacStations (initialized from \valueref{WifiArfTimerThreshold}, and, |
|
46 |
* \valueref{WifiArfSuccessThreshold}) |
|
47 |
* - ns3::AArfMacStations (initialized from \valueref{WifiAarfMinSuccessThreshold}, |
|
48 |
* \valueref{WifiAarfMinTimerThreshold}, \valueref{WifiAarfSuccessK}, |
|
49 |
* \valueref{WifiAarfMaxSuccessThreshold}, and, \valueref{WifiAarfTimerK} |
|
50 |
* - ns3::IdealMacStations (initialized from \valueref{WifiIdealRateControlBerThreshold}) |
|
51 |
* - ns3::CrMacStations (initialized from \valueref{WifiConstantDataRate}, and, |
|
52 |
* \valueref{WifiConstantCtlRate}). |
|
2285 | 53 |
* - ns3::OnoeMacStations |
54 |
* - ns3::AmrrMacStations |
|
2059 | 55 |
* |
56 |
* The type of rate control algorithm is controlled through \valueref{WifiRateControlAlgorithm}. |
|
57 |
* |
|
2030
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
58 |
* |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
59 |
* \section Wifi Tutorial |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
60 |
* |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
61 |
* |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
62 |
*/ |