author | Mathieu Lacage <mathieu.lacage@sophia.inria.fr> |
Mon, 05 Nov 2007 16:31:52 +0100 | |
changeset 2066 | 4477ee7d0798 |
parent 2061 | e78f3fc300b6 |
child 2217 | 0b4567d545de |
child 2285 | 7c716f6fc4de |
permissions | -rw-r--r-- |
2030
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
1 |
/** |
2061
e78f3fc300b6
define a new dox module
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2059
diff
changeset
|
2 |
* \defgroup Wifi Wifi Models |
e78f3fc300b6
define a new dox module
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2059
diff
changeset
|
3 |
* |
2030
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
4 |
* \section Wifi Models |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
5 |
* |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
6 |
* 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
|
7 |
* 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
|
8 |
* 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
|
9 |
* specification. |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
10 |
* |
2059 | 11 |
* 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
|
12 |
* - the PHY layer models |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
13 |
* - 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
|
14 |
* - 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
|
15 |
* beacon generation, probing, and association state machines. |
2059 | 16 |
* - a set of Rate control algorithms used by the MAC low models. |
17 |
* |
|
2030
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
18 |
* |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
19 |
* 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
|
20 |
* - 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
|
21 |
* 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
|
22 |
* state machine is implemented by the ns3::AdhocWifiNetDevice |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
23 |
* class. |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
24 |
* - 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
|
25 |
* automatic re-association whenever too many beacons are missed |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
26 |
* is implemented by the ns3::NqstaWifiNetDevice class. |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
27 |
* - 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
|
28 |
* accepts every attempt to associate. This AP state machine |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
29 |
* is implemented by the ns3::NqapWifiNetDevice. |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
30 |
* |
2059 | 31 |
* The MAC low layer is split in 3 components: |
32 |
* - ns3::MacLow which takes care of RTS/CTS/DATA/ACK transactions. |
|
33 |
* - ns3::Dcf which implements the DCF function. |
|
34 |
* - ns3::DcaTxop which handles the packet queue, packet fragmentation, |
|
35 |
* and packet retransmissions if they are needed. |
|
36 |
* |
|
37 |
* The PHY layer implements a single model in ns3::WifiPhy. |
|
2030
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
38 |
* |
2059 | 39 |
* It also provides a set of Rate control algorithms: |
40 |
* - ns3::ArfMacStations (initialized from \valueref{WifiArfTimerThreshold}, and, |
|
41 |
* \valueref{WifiArfSuccessThreshold}) |
|
42 |
* - ns3::AArfMacStations (initialized from \valueref{WifiAarfMinSuccessThreshold}, |
|
43 |
* \valueref{WifiAarfMinTimerThreshold}, \valueref{WifiAarfSuccessK}, |
|
44 |
* \valueref{WifiAarfMaxSuccessThreshold}, and, \valueref{WifiAarfTimerK} |
|
45 |
* - ns3::IdealMacStations (initialized from \valueref{WifiIdealRateControlBerThreshold}) |
|
46 |
* - ns3::CrMacStations (initialized from \valueref{WifiConstantDataRate}, and, |
|
47 |
* \valueref{WifiConstantCtlRate}). |
|
48 |
* |
|
49 |
* The type of rate control algorithm is controlled through \valueref{WifiRateControlAlgorithm}. |
|
50 |
* |
|
2030
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
51 |
* |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
52 |
* \section Wifi Tutorial |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
53 |
* |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
54 |
* |
e32adc825a74
start of work towards a wifi documentation
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
55 |
*/ |