NS3 部分類簡單說明

1.class DcaTxop : public Dcf

/**
 * \brief handle packet fragmentation and retransmissions.
 * \ingroup wifi
 *
 * This class implements the packet fragmentation and
 * retransmission policy. It uses the ns3::MacLow and ns3::DcfManager
 * helper classes to respectively send packets and decide when
 * to send them. Packets are stored in a ns3::WifiMacQueue until
 * they can be sent.
 *
 * The policy currently implemented uses a simple fragmentation
 * threshold: any packet bigger than this threshold is fragmented
 * in fragments whose size is smaller than the threshold.
 *
 * The retransmission policy is also very simple: every packet is
 * retransmitted until it is either successfully transmitted or
 * it has been retransmitted up until the ssrc or slrc thresholds.
 *
 * The rts/cts policy is similar to the fragmentation policy: when
 * a packet is bigger than a threshold, the rts/cts protocol is used.
 */

簡要說明:處理包的分組和重傳
該類繼承包分組和重傳策略。它使用ns3::MacLow and ns3::DcfManager幫助類分別完成發(fā)送包和決定何時發(fā)送包飞几。包被存儲在ns3::WifiMacQueue中砚哆,止到發(fā)送出去。
當前使用的策略使用一個簡單的分組閾值:任何大于該閾值的片將被分成小于該閾值的分組屑墨。
重傳策略也非常簡單:每一個包竟被重傳止到被成功傳輸或者已經被重傳達到了ssrc or slrc閾值躁锁。
rts/cts策略與分組碎片策略相似:當一個包大于閾值時纷铣,將使用rts/cts協議。

2.class MacRxMiddle

/**
 * \ingroup wifi
 *
 * This class handles duplicate detection and recomposition of fragments.
 */

該類處理重復探測和分組片的重排战转。

3. class MacTxMiddle

/**
 * \ingroup wifi
 *
 * Handles sequence numbering of IEEE 802.11 data frames
 */

處理802.11數據幀的序列號

4. class MacLow : public Object

/**
 * \ingroup wifi
 * \brief handle RTS/CTS/DATA/ACK transactions.
 */

處理RTS/CTS/DATA/ACK交互

5. class DcfManager

/**
 * \brief Manage a set of ns3::DcfState
 * \ingroup wifi
 *
 * Handle a set of independent ns3::DcfState, each of which represents
 * a single DCF within a MAC stack. Each ns3::DcfState has a priority
 * implicitely associated with it (the priority is determined when the
 * ns3::DcfState is added to the DcfManager: the first DcfState to be
 * added gets the highest priority, the second, the second highest
 * priority, and so on.) which is used to handle "internal" collisions.
 * i.e., when two local DcfState are expected to get access to the
 * medium at the same time, the highest priority local DcfState wins
 * access to the medium and the other DcfState suffers a "internal"
 * collision.
 */

簡要說明:處理一系列ns3::DcfState
處理一系列獨立的ns3::DcfState搜立,每一個都代表一個在MAC棧中的單獨的DCF。每一個ns3::DcfState都有一個隱式關聯與他的優(yōu)先級(當ns3::DcfState被添加到DcfManager槐秧,這個優(yōu)先級被決定:第一個添加的DcfState具有最高優(yōu)先級啄踊,第二個具有第二高優(yōu)先級,以此類推)刁标。這個優(yōu)先級被用于處理“內部的”的碰撞颠通。例如,當兩個本地DcfState期望在同一時間訪問介質膀懈,最高優(yōu)先級本地DcfState贏得訪問介質權限顿锰,其他DcfState遭遇一個“內部的”碰撞。

6. class WifiRemoteStationManager : public Object

/**
 * \ingroup wifi
 * \brief hold a list of per-remote-station state.
 *
 * \sa ns3::WifiRemoteStation.
 */

保存一系列per-remote-station state

7. class EdcaTxopN : public Dcf

/**
 * \ingroup wifi
 * This queue contains packets for a particular access class.
 * possibles access classes are:
 *
 *   -AC_VO : voice, tid = 6,7         ^
 *   -AC_VI : video, tid = 4,5         |
 *   -AC_BE : best-effort, tid = 0,3   |  priority
 *   -AC_BK : background, tid = 1,2    |
 *
 * For more details see section 9.1.3.1 in 802.11 standard.
 */

這個隊列包含了一個具體的訪問類的包启搂∨鹂兀可能的訪問類是:
-AC_VO : voice, tid = 6,7 ^
-AC_VI : video, tid = 4,5 |
-AC_BE : best-effort, tid = 0,3 | priority
-AC_BK : background, tid = 1,2 |
獲取更多細節(jié),請看802.11標準的9.1.3.1節(jié)

8. enum TypeOfStation

/**
 * Enumeration for type of station
 */

枚舉station的類型:
STA,
AP,
ADHOC_STA,
MESH,
HT_STA,
HT_AP,
HT_ADHOC_STA,
OCB

9. class WifiMode

/**    
 * \brief represent a single transmission mode
 * \ingroup wifi 
 *
 * A WifiMode is implemented by a single integer which is used
 * to lookup in a global array the characteristics of the
 * associated transmission mode. It is thus extremely cheap to
 * keep a WifiMode variable around.
 *
 * \see attribute_WifiMode
 */  

簡要說明:代表一個單獨的傳輸模式
一個WiFi模式是由用于在一個全局數組來查找相關的傳輸模式的特性的單個整數來實現的狐血。這是極其因此便宜*保持無線模式變量左右淀歇。

10. enum WifiModulationClass

/**
 * This enumeration defines the modulation classes per
 * (Table 9-4 "Modulation classes"; IEEE 802.11-2012).
 */

該枚舉類定義了每個調制類

11. class WifiModeFactory

/**
 * \brief create WifiMode class instances and keep track of them.
 *
 * This factory ensures that each WifiMode created has a unique name
 * and assigns to each of them a unique integer.
 */

簡要說明:創(chuàng)建WifiMode類實例,并對他們保持跟蹤匈织。
這個工廠類保證每一個被創(chuàng)建的WifiMode有一個唯一的名字浪默,并給每一個分配一個唯一的整數。

12. class MacLowDcfListener

/**
 * \brief listen to NAV events
 * \ingroup wifi
 *
 * This class is typically connected to an instance of ns3::Dcf
 * and calls to its methods are forwards to the corresponding
 * ns3::Dcf methods.
 */

簡要說明:監(jiān)聽NAV事件
該來一般與一個ns3::Dcf實例關聯在一起缀匕,它的方法調用是轉發(fā)到相應的ns3::Dcf方法纳决。

13. class MacLowAggregationCapableTransmissionListener

/**
 * \ingroup wifi
 * \brief listen for block ack events.
 */

監(jiān)聽塊ACK事件

14. class MacLowTransmissionParameters

/**
 * \brief control how a packet is transmitted.
 * \ingroup wifi
 *
 * The ns3::MacLow::StartTransmission method expects
 * an instance of this class to describe how the packet
 * should be transmitted.
 */

簡要說明:控制一個包如何傳輸
ns3::MacLow::StartTransmission方法預料該來的實例,描述一個包如何被傳輸的乡小。

15. class WifiTxVector

/**
 * This class mimics(模仿) the TXVECTOR which is to be
 * passed to the PHY in order to define the parameters which are to be
 * used for a transmission. See IEEE 802.11-2007 15.2.6 "Transmit PLCP",
 * and also 15.4.4.2 "PMD_SAP peer-to-peer service primitive(原始的)
 * parameters".
 *
 * If this class is constructed with the constructor that takes no
 * arguments, then the client must explicitly(明確的) set the mode and
 * transmit power level parameters before using them.  Default
 * member initializers(初始化) are provided for the other parameters, to
 * conform to a non-MIMO/long guard configuration, although these
 * may also be explicitly set after object construction.
 *
 * When used in a infrastructure context, WifiTxVector values should be
 * drawn from WifiRemoteStationManager parameters since rate adaptation
 * is responsible for picking the mode, number of streams, etc., but in
 * the case in which there is no such manager (e.g. mesh), the client
 * still needs to initialize at least the mode and transmit power level
 * appropriately.
 *
 * \note the above reference is valid for the DSSS PHY only (clause
 * 15). TXVECTOR is defined also for the other PHYs, however they
 * don't include the TXPWRLVL explicitly in the TXVECTOR. This is
 * somewhat strange, since all PHYs actually have a
 * PMD_TXPWRLVL.request primitive. We decide to include the power
 * level in WifiTxVector for all PHYs, since it serves better our
 * purposes, and furthermore it seems close to the way real devices
 * work (e.g., madwifi).
 */

該類模仿了TXVECTOR阔加,它將被傳遞到PHY,這是為了定義一次傳輸所用的參數满钟。請看IEEE 802.11-2007 15.2.6 "Transmit PLCP"和 15.4.4.2 "PMD_SAP peer-to-peer service primitive(原始的)parameters".
如果該類使用沒有參數的構造器構建胜榔,則客戶端必須在使用它們之前明確的設置模式和傳輸能量水平參數。提供了其他參數來完成默認的成員初始化湃番,確保一個non-MIMO /long guard configuration夭织,盡管這些可能在對象創(chuàng)建之后來明確的設置。

16. struct Item

 /**
   * A struct that holds information about a packet for putting
   * in a packet queue.
   */
    結構體包含三個元素:
     * \param packet
     * \param hdr
     * \param tstamp

結構體吠撮,保存了一個包的信號尊惰,該包存放在包隊列中。

 /**
   * typedef for packet (struct Item) queue.
   */
  typedef std::list<struct Item> PacketQueue;包隊列

17. class InterferenceHelper

/**
 * \ingroup wifi
 * \brief handles interference calculations
 */

簡要說明:處理干擾計算

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市弄屡,隨后出現的幾起案子题禀,更是在濱河造成了極大的恐慌,老刑警劉巖膀捷,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件迈嘹,死亡現場離奇詭異,居然都是意外死亡担孔,警方通過查閱死者的電腦和手機江锨,發(fā)現死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來糕篇,“玉大人啄育,你說我怎么就攤上這事“柘” “怎么了挑豌?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長墩崩。 經常有香客問我氓英,道長,這世上最難降的妖魔是什么鹦筹? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任铝阐,我火速辦了婚禮,結果婚禮上铐拐,老公的妹妹穿的比我還像新娘徘键。我一直安慰自己,他們只是感情好遍蟋,可當我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布吹害。 她就那樣靜靜地躺著,像睡著了一般虚青。 火紅的嫁衣襯著肌膚如雪它呀。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天棒厘,我揣著相機與錄音纵穿,去河邊找鬼。 笑死奢人,一個胖子當著我的面吹牛谓媒,可吹牛的內容都是我干的。 我是一名探鬼主播达传,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼篙耗,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了宪赶?” 一聲冷哼從身側響起宗弯,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎搂妻,沒想到半個月后蒙保,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡欲主,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年邓厕,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扁瓢。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡详恼,死狀恐怖,靈堂內的尸體忽然破棺而出引几,到底是詐尸還是另有隱情昧互,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布伟桅,位于F島的核電站敞掘,受9級特大地震影響,放射性物質發(fā)生泄漏楣铁。R本人自食惡果不足惜玖雁,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望盖腕。 院中可真熱鬧赫冬,春花似錦、人聲如沸赊堪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哭廉。三九已至脊僚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間遵绰,已是汗流浹背辽幌。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留椿访,地道東北人乌企。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像成玫,于是被迫代替她去往敵國和親加酵。 傳聞我的和親對象是個殘疾皇子拳喻,可洞房花燭夜當晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內容

  • ns3-model-library.pdf wifi-model 翻譯 wifi-model 33.1 Desig...
    shawn168閱讀 12,310評論 0 9
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法猪腕,內部類的語法冗澈,繼承相關的語法,異常的語法陋葡,線程的語...
    子非魚_t_閱讀 31,599評論 18 399
  • 國家電網公司企業(yè)標準(Q/GDW)- 面向對象的用電信息數據交換協議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 10,934評論 6 13
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理亚亲,服務發(fā)現,斷路器腐缤,智...
    卡卡羅2017閱讀 134,637評論 18 139
  • 2014年八月初的某一天岭粤,我站在鳳凰山上惜索,吹著高處的風,望著山腳下如積木般的村落剃浇,好像這一刻我擁有了一切门扇,山下萬物...
    夏夢夢的詩閱讀 480評論 0 1