NS-3中wifi的主要層次結構

wifi

一、WifiHelper
http://www.nsnam.org/doxygen/classns3_1_1_wifi_helper.html

最高層次

主要方法:
WifiHelper ()    //實例化
void SetRemoteStationManager()    //設置遠程基站
NetDeviceContainer     Install (const WifiPhyHelper &phy, const WifiMacHelper &mac, NodeContainer c) const
//設置 phy,mac,NodeContainer 物理層,MAC層,節點

二、WifiNetDevice 分別設置phy,mac
http://www.nsnam.org/doxygen/classns3_1_1_wifi_net_device.html#ab9399fa501d71c702cf0ad9c0b034460
Hold together all Wifi-related objects.This class holds together ns3::WifiChannel, ns3::WifiPhy, ns3::WifiMac, and, ns3::WifiRemoteStationManager

1. WifiChannel  繼承Channel
http://www.nsnam.org/doxygen/classns3_1_1_wifi_channel.html

1.1 YansWifiChannel  繼承上面的
http://www.nsnam.org/doxygen/classns3_1_1_yans_wifi_channel.html
主要方法:
Add (Ptr< YansWifiPhy > phy)    //添加物理層協議
SetPropagationLossModel (Ptr< PropagationLossModel > loss)    //設置傳輸丟包模型
SetPropagationDelayModel (Ptr< PropagationDelayModel > delay)  //設置傳輸延遲模型



2.WifiPhy
http://www.nsnam.org/doxygen/classns3_1_1_wifi_phy.html
802.11 PHY layer model

2.1 YansWifiPhy  繼承WifiPhy
http://www.nsnam.org/doxygen/classns3_1_1_yans_wifi_phy.html
802.11 PHY layer modelThis PHY implements a model of 802.11a. The model implemented here is based on the model described in "Yet Another Network Simulator", (http://cutebugs.net/files/wns2-yans.pdf).


3. WifiMac
http://www.nsnam.org/doxygen/classns3_1_1_wifi_mac.html
base class for all MAC-level wifi objects.This class encapsulates all the low-level MAC functionality DCA, EDCA, etc) and all the high-level MAC functionality (association/disassociation state machines)


3.1 RegularWifiMac  繼承WifiMac
http://www.nsnam.org/doxygen/classns3_1_1_regular_wifi_mac.html
base class for all MAC-level wifi objects.This class encapsulates all the low-level MAC functionality DCA, EDCA, etc) and all the high-level MAC functionality (association/disassociation state machines).


3.1.1 ApWifiMac  繼承RegularWifiMac
http://www.nsnam.org/doxygen/classns3_1_1_ap_wifi_mac.html
Wi-Fi AP state machineHandle association, dis-association and authentication, of STAs within an infrastructure BSS.

3.1.2 StaWifiMac 繼承RegularWifiMac
http://www.nsnam.org/doxygen/classns3_1_1_sta_wifi_mac.html
The Wifi MAC high model for a non-AP STA in a BSS.

3.1.3 AdhocWifiMac  繼承RegularWifiMac
http://www.nsnam.org/doxygen/classns3_1_1_adhoc_wifi_mac.html

3.1.4 MeshWifiInterfaceMac 繼承RegularWifiMac
http://www.nsnam.org/doxygen/classns3_1_1_mesh_wifi_interface_mac.html
Basic MAC of mesh point Wi-Fi interface. Its function is extendable through plugins mechanism.



4. WifiRemoteStationManager
hold a list of per-remote-station state.
http://www.nsnam.org/doxygen/classns3_1_1_wifi_remote_station_manager.html#details


4.1 AarfcdWifiManager 繼承WifiRemoteStationManager
http://www.nsnam.org/doxygen/classns3_1_1_aarfcd_wifi_manager.html
an implementation of the AARF-CD algorithmThis algorithm was first described in "Efficient Collision Detection for Auto Rate Fallback Algorithm". The implementation available here was done by Federico Maguolo for a very early development version of ns-3. Federico died before merging this work in ns-3 itself so his code was ported to ns-3 later without his supervision.


4.2 AarfWifiManager 繼承WifiRemoteStationManager
http://www.nsnam.org/doxygen/classns3_1_1_aarf_wifi_manager.html
AARF Rate control algorithmThis class implements the AARF rate control algorithm which was initially described in IEEE 802.11 Rate Adaptation: A Practical Approach, by M. Lacage, M.H. Manshaei, and T. Turletti.

4.3 AmrrWifiManager  繼承WifiRemoteStationManager
http://www.nsnam.org/doxygen/classns3_1_1_amrr_wifi_manager.html
AMRR Rate control algorithmThis class implements the AMRR rate control algorithm which was initially described in IEEE 802.11 Rate Adaptation: A Practical Approach, by M. Lacage, M.H. Manshaei, and T. Turletti.

4.4 ArfWifiManager 繼承WifiRemoteStationManager
ARF Rate control algorithm.
This class implements the so-called ARF algorithm which was initially described in WaveLAN-II: A High-performance wireless LAN for the unlicensed band, by A. Kamerman and L. Monteban. in Bell Lab Technical Journal, pages 118-133, Summer 1997.
This implementation differs from the initial description in that it uses a packet-based timer rather than a time-based timer as described in XXX (I cannot find back the original paper which described how the time-based timer could be easily replaced with a packet-based timer.)


4.5 CaraWifiManager 繼承WifiRemoteStationManager
implement the CARA rate control algorithm
Implement the CARA algorithm from: J. Kim, S. Kim, S. Choi, and D. Qiao. "CARA: Collision-Aware Rate Adaptation for IEEE 802.11 WLANs."
Originally implemented by Federico Maguolo for a very early prototype version of ns-3.
http://www.nsnam.org/doxygen/classns3_1_1_cara_wifi_manager.html#details


4.6 ConstantRateWifiManager  繼承WifiRemoteStationManager
http://www.nsnam.org/doxygen/classns3_1_1_constant_rate_wifi_manager.html
use constant rates for data and control transmissions
This class uses always the same transmission rate for every packet sent.

4.7 IdealWifiManager  繼承WifiRemoteStationManager
http://www.nsnam.org/doxygen/classns3_1_1_ideal_wifi_manager.html
Ideal rate control algorithm
This class implements an 'ideal' rate control algorithm similar to RBAR in spirit (see A rate-adaptive MAC protocol for multihop wireless networks by G. Holland, N. Vaidya, and P. Bahl.): every station keeps track of the snr of every packet received and sends back this snr to the original transmitter by an out-of-band mechanism. Each transmitter keeps track of the last snr sent back by a receiver and uses it to pick a transmission mode based on a set of snr thresholds built from a target ber and transmission mode-specific snr/ber curves.

4.8 MinstrelWifiManager 繼承WifiRemoteStationManager
http://www.nsnam.org/doxygen/classns3_1_1_minstrel_wifi_manager.html
Implementation of Minstrel Rate Control Algorithm
Porting Minstrel from Madwifi and Linux Kernel http://linuxwireless.org/en/developers/Documentation/mac80211/RateControl/minstrel.
Author:
    Duy Nguyen


4.9 OnoeWifiManager 繼承WifiRemoteStationManager
http://www.nsnam.org/doxygen/classns3_1_1_onoe_wifi_manager.html
an implementation of the rate control algorithm developed by Atsushi Onoe
This algorithm is well known because it has been used as the default rate control algorithm for the madwifi driver. I am not aware of any publication or reference about this algorithm beyond the madwifi source code.

4.10 RraaWifiManager 繼承WifiRemoteStationManager
http://www.nsnam.org/doxygen/classns3_1_1_rraa_wifi_manager.html
Robust Rate Adaptation Algorithm
This is an implementation of RRAA as described in "Robust rate adaptation for 802.11 wireless networks" by "Starsky H. Y. Wong", "Hao Yang", "Songwu Lu", and, "Vaduvur Bharghavan" published in Mobicom 06.



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章