17 @end menu |
17 @end menu |
18 |
18 |
19 @node Overview of the model |
19 @node Overview of the model |
20 @section Overview of the model |
20 @section Overview of the model |
21 |
21 |
22 @strong{Note:} This overview is taken largely from the Doxygen for the |
22 The WifiNetDevice models a wireless network interface controller based |
23 WifiNetDevice module. |
23 on the IEEE 802.11 standard. We will go into more detail below but in brief, |
|
24 ns-3 provides models for these aspects of 802.11: |
|
25 @itemize @bullet |
|
26 @item basic 802.11 DCF with @strong{infrastructure} and @strong{adhoc} modes |
|
27 @item @strong{802.11a} and @strong{802.11b} physical layers |
|
28 @item QoS-based EDCA and queueing extensions of @strong{802.11e} |
|
29 @item various propagation loss models including @strong{Nakagami, Rayleigh, Friis, LogDistance, FixedRss, Random} |
|
30 @item two propagation delay models, a distance-based and random model |
|
31 @item various rate control algorithms including @strong{Aarf, Arf, Cara, Onoe, Rraa, and ConstantRate} |
|
32 @item @emph{(under development)} 802.11s (mesh) |
|
33 @item @emph{(under development)} Minstrel rate control |
|
34 @end itemize |
24 |
35 |
25 The set of 802.11 models provided in ns-3 attempts to provide |
36 The set of 802.11 models provided in ns-3 attempts to provide |
26 an accurate MAC-level implementation of the 802.11 specification |
37 an accurate MAC-level implementation of the 802.11 specification |
27 and to provide a not-so-slow PHY-level model of the 802.11a |
38 and to provide a not-so-slow PHY-level model of the 802.11a |
28 specification. |
39 specification. |
29 |
40 |
30 The current implementation provides roughly four levels of models: |
41 The implementation is modular and provides roughly four levels of models: |
31 @itemize @bullet |
42 @itemize @bullet |
32 @item the @strong{PHY layer models} |
43 @item the @strong{PHY layer models} |
33 @item the so-called @strong{MAC low models}: they implement DCF and EDCAF |
44 @item the so-called @strong{MAC low models}: they implement DCF and EDCAF |
34 @item the so-called @strong{MAC high models}: they implement the MAC-level |
45 @item the so-called @strong{MAC high models}: they implement the MAC-level |
35 beacon generation, probing, and association state machines, and |
46 beacon generation, probing, and association state machines, and |
92 @end itemize |
103 @end itemize |
93 |
104 |
94 The PHY layer implements a single model in the |
105 The PHY layer implements a single model in the |
95 @code{ns3::WifiPhy class}: the |
106 @code{ns3::WifiPhy class}: the |
96 physical layer model implemented there is described fully in a paper |
107 physical layer model implemented there is described fully in a paper |
97 entitled @uref{http://cutebugs.net/files/wns2-yans.pdf,,"Yet Another Network Simulator"}. |
108 entitled @uref{http://cutebugs.net/files/wns2-yans.pdf,,"Yet Another Network Simulator"}. Validation results for 802.11b are available in this |
|
109 @uref{http://www.nsnam.org/~pei/80211b.pdf,,technical report}. |
98 |
110 |
99 In ns-3, nodes can have multiple WifiNetDevices on separate channels, |
111 In ns-3, nodes can have multiple WifiNetDevices on separate channels, |
100 and the WifiNetDevice can coexist with other device types; this removes |
112 and the WifiNetDevice can coexist with other device types; this removes |
101 an architectural limitation found in ns-2. Presently, however, there |
113 an architectural limitation found in ns-2. Presently, however, there |
102 is no model for cross-channel interference or coupling. |
114 is no model for cross-channel interference or coupling. |
109 @image{../WifiArchitecture,5in} |
121 @image{../WifiArchitecture,5in} |
110 @end float |
122 @end float |
111 |
123 |
112 @node Using the WifiNetDevice |
124 @node Using the WifiNetDevice |
113 @section Using the WifiNetDevice |
125 @section Using the WifiNetDevice |
|
126 |
|
127 The modularity provided by the implementation makes low-level |
|
128 configuration of the WifiNetDevice powerful but complex. For this reason, |
|
129 we provide some helper classes to perform common operations in a simple |
|
130 matter, and leverage the ns-3 attribute system to allow users to control |
|
131 the parameterization of the underlying models. |
114 |
132 |
115 Users who use the low-level ns-3 API and who wish to add a WifiNetDevice |
133 Users who use the low-level ns-3 API and who wish to add a WifiNetDevice |
116 to their node must create an instance of a WifiNetDevice, plus |
134 to their node must create an instance of a WifiNetDevice, plus |
117 a number of consitutent objects, and bind them together appropriately |
135 a number of consitutent objects, and bind them together appropriately |
118 (the WifiNetDevice is very modular in this regard, for future |
136 (the WifiNetDevice is very modular in this regard, for future |