天天看點

802.11--CSMA/CA機制簡述

一. 概述

  在最初的802.11中MAC層中,共有兩種基本的工作模式:

  1. Distributed Coordination Function,簡稱DCF;

  2. Point Coordination Function,簡稱PCF;

  DCF采用的是競争的方式接入信道,PCF則采用統一配置設定的方式接入信道,在多ap的環境下,需要更加複雜的額外控制,來實作重疊信道接入控制。DCF是以有更好的分布式特性,進而DCF被廣泛使用,PCF則比較少使用,最新的協定文檔表明(IEEE 802.11-2016),PCF已經被淘汰廢棄了,是以本文不再描述PCF相關的内容;

  到了2004年,在802.11e協定将DCF擴充為enhanced distributed channel access,簡稱CDCA,在原來的方式上增加了Qos機制;

二. 專業術語

  本小節對一些專業術語進行一個簡要的說明,以防這些術語對本文的了解造成一定的困擾:

  1. CSMA/CA:Carrier sense multiple access with collision avoidance;

  2. DCF:Distributed Coordination Function;

  3. CDCA:Enhanced distributed channel access;

  4. IFS:Inter-frame Spacing,幀間間隙;

  5. DIFS:Distributed Inter-frame Spacing,分布式幀間間隙(DCF使用);

  6. SIFS:Short inter-frame space,短幀間間隔;

  7. AIFS:Arbitration interframe space(用于qos裝置);

  8. EIFS:Extended interframe space;

  9. CW:Contention Window,競争視窗,節點随機回退計數值的範圍;

  10. Slot Time:時隙,時間片段;

  11. Backoff退避:是指節點在競争信道時,所經曆的随機退避過程。在這一過程開始時,節點首先在競争視窗中選擇一個随機數為倒數計數器,同時每一個Slot Time,節點為監聽信道是否空閑,若信道空閑,則進行一次倒數,即計數器減1,若信道忙,則不進行相應倒數,當計數器數值減到0時,節點進行資料發送;

  11. TXOP:Transmission Opportunity,獲得TXOP的節點可以再TXOPLimit時間内連續使用信道傳輸多個資料幀,不需要每次都競争信道;

  SIFS、Slot time、DIFS、EIFS的計算與關系:

  1. SIFS = RXRFDelay+RXPLCPDelay+MACProcessingDelay+RxTxTurnaroundTime,即包括:接收RF/PLCP時延、MAC層處理時延、天線的發送/接收切換時延;

  2. Slot time = CCATime+RxTxTurnaroundTime+AirPropagationTime+MACProcessingDelay,即時隙包括:信道檢測CCA時間、天線的發送/接收切換時延、電磁波傳播時延、MAC層處理時延,不同的協定,Slot time是不同的;

  3. DISFS = SIFS + (2 * Slot time);

  4. EIFS = SIFS + AckTxTime + DIFS,用于資料發送失敗時(未收到對方的ack),不再是等待DIFS,而是EIFS;

  三. CSMA/CA工作機制

  基本流程如下:

802.11--CSMA/CA機制簡述

  1. 節點發送資料前信道競争流程:

   1) 先等待DIFS時間,若DIFS時間内,信道一直是空閑狀态,則進入下一個過程,因為DIFS中包含了兩個slot time,是以整個DIFS内,會對信道的空閑狀态監測2次;

   2) backoff退避:從CW中随機選擇一個數x作為計數器,進行x次slot time的退避,退避過程中,每個slot time都會進行一次信道空閑狀态監測,如果空閑,計數器x減1,否則不遞減;

   3) 當計數器減到0時,節點認為自己獲得信道接入權,開始發送資料;

   4) 對端節點收收資料後,進行crc校驗,如果資料校驗通過,對端在等待SIFS後,回複ack進行确認;

   5) 節點收到對端回複的ack後,這次的傳輸就算完成,重複上面的流程,再次競争信道以發送下一個資料包;

  兩個節點競争信道的時序圖如下所示:

802.11--CSMA/CA機制簡述

  2. 如果對端收到的資料有問題,或者對端沒有成功接收資料,則不會發送ack确認,此時節點的處理稍有不同:

   1) 節點需要等待EIFS才進行backoff,而不是等待DIFS;

   2) 重傳的backoff稱為BEB(Binary Exponential Back off),即二進制指數退避算法,BEB的cw随着重傳次數的增加,cw也是指數增加的,比如節點的預設CW範圍是[0,15],沖突一次後,重傳的cw就變成[0,31],這樣做的目的是為了不使本身就非常忙的信道更加忙碌,而提升信道整體的吞吐;

   3) 802.11中共允許6次倍增視窗,第7次及以上不倍增視窗,如果超過重傳次數限制,資料還未發送成功,則直接丢棄處理;

   4) OFDM每次倍增CW視窗大小如下所示:

802.11--CSMA/CA機制簡述

  節點發送失敗的時序圖如下所示:

802.11--CSMA/CA機制簡述

  3. 信道競争的詳細階段如下所示:

802.11--CSMA/CA機制簡述

  4. Fragment Burst

  fragment burst也可以稱為SIFS Burst,是指節點競争到信道後,同時發送多個分片(幀),而不需要每個分片(幀)都去競争信道,如下所示:

802.11--CSMA/CA機制簡述

四. EDCA機制

  802.11e協定中,DCF擴充為EDCA,主要是為了讓802.11支援qos功能,802.11e一共可以提供4個不同的優先級,也稱為接入類别(Access categories),從高到低排序分别是:AC_VO、AC_VI、AC_BE、AC_BK,預設的無線流量類型是AC_BE;

  與DCF相比,EDCA增加了幾個可配置的參數:

  1. CWMIN:退避backoff競争視窗最小值;

  2. CWMAX:退避backoff競争視窗最大值;

  3. AIFS:退避前的等待時間,AIFS[AC] = AIFSN[AC] × Slot time + SIFS,其中AIFSN可以進行配置,優先級越高,AIFSN[AC]越小,AIFS[AC]也就越小,也就越快進行信道競争;

  4. TXOPLimit:在802.11e之前,一直是“競争一次,傳輸一個幀”,采用的是實體層面載波監聽來實作的,802.11e開始引入TXOP,是指“競争一次,傳輸一段時間”,TXOP的傳輸時間是通過虛拟載波監聽來保證的。有種Fragment Burst的感覺,也稱這種方式為Burst方式。

  對于高優先級的無線流量來說,擁有更小的競争視窗,更小的AIFS,更大的TXOPLimit,是以在同等的環境下,高優先的流量更有機會發送到空口,高通方案可以通過setwmmparams設定這些參數。

繼續閱讀