ns3 的wifi主要层次结构。

原文链接:http://blog.csdn.net/barcodegun/article/details/6954812

我的话:最近在看ns3.。。载的是3.15版,看玩tutorial,正在销魂的看code examples and models,看得死去活来。。。。结果一个阿三哥看了一周就跟我说他会用了,好吧,我深深地感觉扯祖国后腿都扯到大腿根部去了。。。。。anyway,生活不息,奋斗不止啊,不然对不起加州美好的阳光和草坪啊。

废话不说,贴文字:

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.

你可能感兴趣的:(wifi)