隨著網絡技術的發展 和應用,用戶對網絡的移動性和可靠性要求越來越高,基于IEEE 802.11系列標準的無線Mesh網絡近年來得到了快速、廣泛的應用。在無線Mesh網絡中,任何無線設備節點都可以同時作為接入點(AP)和路由器,網絡中的每個節點都可以發送和接收信號,每個節點都可以與一個或者多個對等節點進行直接通信。但由于無線網絡本身的特性和多種物理層傳輸技術的應用,合適的媒體接入控制MAC 協議對無線Mesh網絡至關重要。
在無線Mesh 網絡中應用的MAC 協議包括:CSMA/CA、DCF、PCF 等,為了在MAC 子層實現對不同業務流的QoS支持,IEEE 802.11e工作組在IEEE 802.11中DCF機制的基礎上提出了增強分布式信道接入機制(Enhanced Distributed Channel Access,EDCA),使得無線Mesh網絡可以更好地提供音頻和視頻業務的服務。
EDCA 將不同的業務流分為4 個不同的優先等級AC(Access Categories),每一個AC 對應一個隊列,通過設置仲裁幀間間隔(Arbitration Interframe Space,AIFS)、最小競爭窗口值CWmin、最大競爭窗口CWmax和傳輸機會TXOP(Transmission Opportunity)4個 參數值實現不同業務流間的業務區分。文獻研究表明,由于無線網絡狀況的移動性和復雜性,EDCA 算法中4個參數的靜態設置并不能使無線網絡的性能實現最優,特別在高負載或突發業務量較大的狀況下,由于無線網絡中有較高的沖突率,EDCA 的網絡性能急劇下降,無法滿足網絡用戶的要求。也有相關研究通過CW 的自適應調整機制及相關退避算法的改進,如Lamia Romdhani 提出的AEDCF 機制(Adaptive EDCF,AEDCF);Younggoo Kwon提出的快速碰撞解決機制(Fast Collision Resolutio,FCR)等,使得EDCA算法更適合無線網絡環境。但這些研究都沒有考慮EDCA 算法本身及參數AIFS、CWmin、CWmax和TXOP調整后對無線Mesh網絡公平性(節點間和不同業務流間)帶來的影響。
本文提出了一種基于公平的EDCA 算法(Fairness-based EDCA,FEDCA)。FEDCA算法的基本思想是通過加權輪詢的方式確定傳輸的數據接入類別和本次信道偵聽的時間,通過公平因子的計算確定TXOP 參數,以達到保證網絡公平性的條件下提高網絡性能和QoS保證的目的。并通過仿真結果驗證該算法的可行性。
1 EDCA算法
EDCA 是IEEE 802.11e工作組在IEEE 802.11 協議中DCF機制基礎上進行QoS支持提出的,其基本 的接入信道方式與DCF保持一致,各移動節點以CSMA/CA 方式通過競爭獲得信道接入的機會。同時EDCA 提供了不同類型業務數據傳輸的多種信道接入類別AC,可以實現不同業務的服務區分。
1.1 EDCA算法簡介
為保證不同業務的不同QoS要求,EDCA算法定義了上層的8類業務類別(Traffic Category,TC)和本層的4類基于IEEE 802.1D的接入類別(Access Category,AC),8類TC分別映射至4類AC的隊列中:AC_VO,AC_VI,AC_BE和AC_BK,分別代表語音(Voice)類,視頻(Video)類,盡力而為(Best Effort)類和背景(Background)類的業務。為實現4個AC隊列不同優先級的區別,定義了4個參數:仲裁幀間間隔AIFS、最小競爭窗口值CWmin、最大競爭窗口CWmax和傳輸機會TXOP。不同的AC通過不同的參數設置,控制其接入信道的過程,從而實現了不同業務類型的區分。
某一移動節點通過兩個階段實現一個AC隊列內的數據發送。首先在一個節點內部爭奪傳輸機會TXOP,獲得傳輸機會的隊列才有可能獲得信道接入的機會。其次,獲得信道接入機會的分組再在不同的節點間通過CSMA/CA 方式獲得信道接入機會才可以進行數據傳輸。EDCA算法完成數據傳輸第一階段的任務:不同隊列通過競爭獲得傳輸機會。
IEEE 802.11e EDCA的基本訪問機制如圖1所示。
圖1 IEEE 802.11e EDCA的基本訪問機制
當因競爭信道發生沖突時,就進入退避過程。在此過程中,將退避計數器Backoff Timer置為[0,CW[AC]]范圍內的任一整數值:Backoff_Timer(BT)=uniform[0,CW]×aSlotTime。CW[AC]的初始值設為CWmin[AC]。當發生碰撞時,CW[AC]的值就增加為(CW[AC]+1)×2-1,當CW[AC]增加到CWmax[AC]時,就維持CWmax[AC]的值不變,不再增加。當數據幀成功發送之后,將CW[AC]的值重置為CWmin[AC],繼續偵聽信道。退避計時器每檢測到一個空閑時隙,其值(BT)減1,最先減到零的數據幀占用信道,若節點內多個AC的退避計時器同時減到零,則較高優先級隊列的數據幀將占用信道,其他數據幀又進入新一輪的退避過程。
1.2 EDCA算法分析
從圖1 中可以看出,較高優先級的AC 通過設置較小的AIFS、CWmin 和CWmax 將優先獲得無線信 道的訪問權,從而實現不同不同業務的業務區分。IEEE 802.11e標準中給出了一組EDCA 參數建議值,適合于大部分情況下的網絡應用。但由于無線網絡本身的移動性和可擴展性,在網絡規模較大或網絡流量動態變化時,標準中的建議值會對無線Mesh網絡各移動節點及某一節點下的不同業務流造成不公平的現象,具體體現在以下幾個方面:
(1)AIFS、AIFSN 設置值導致節點間的不公平性。IEEE 802.11e標準中給出AIFS[AC]=aSIFSTime+AIFSN[AC]×aSlotTime。網絡中所有移動節點AIFS、AIFSN 值相同,這樣有可能在網絡中引起準同步現象(某一節點本次通過競爭獲得信道使得下次競爭獲得信道的概率增大)的出現,導致無線網絡中其他節點多次競爭而無法獲得信道的現象頻繁出現,從而使得不同節點接入信道、共享資源的不公平,同時進一步降低網絡鏈路的利用率,影響業務流的服務質量。
(2)AIFSN 值的固定設置導致不同等級業務流間的不公平。由于高優先級的AIFSN值較小,在高優先級需傳輸的數據較多的情況下,低優先級的業務流在競爭信道時始終無法獲得信道,必然導致低優先級業務的“饑餓”現象。
(3)CWmin和CWmax的設置。從EDCA的基本訪問機制來看,CW[AC]的值成為影響AC隊列發送數據和發送數據失敗后重新競爭獲得信道的關鍵因素。CWmin和CWmax值雖然實現了不同業務間的業務區分,但在網絡高負載情況下,同樣會導致低優先級業務的“饑餓”現象。
(4)TXOP 的設置。TXOP 反映了獲得數據發送機會的隊列最大發送數據幀數。如果采用IEEE 802.11e標準中的參考值,就會導致不公平的信道競爭機制在各業務流間更大的不公平。
(5)EDCA算法沒有考慮節點的移動性及信道干擾導致誤碼對網絡公平性的影響。
基于此,為提高無線網絡的公平性、網絡性能及不同業務流的QoS 保證,FEDCA 算法對EDCA 算法中的AIFSN、CWmin、CWmax 和TXOP 四個參數依據公平性原則進行調整,以保證移動節點間和不同等級業務間的公平。
2 FEDCA算法實現
基于以上分析,本節詳細討論無線網絡中FEDCA算法具體實現過程。
2.1 FEDCA算法的實現
為保證移動節點間和同一節點內的不同等級業務流的公平,FEDCA算法實現過程可以概括為:加權輪詢調度、擁塞窗口CW動態調整、公平因子計算 及TXOP調整。
(1)加權輪詢調度。FEDCA 算法執行模型如圖2所示。
圖2 FEDCA算法執行模型
加權輪詢調度的思想是為保證各等級業務間的公平性,給每一子隊列分配一個權值,根據不同的權值來調度不同子隊列中的數據,而不是采用EDCA算法中的最小退避窗口的隊列獲得數據發送的機會。其具體的實現過程為每一子隊列AC 分配一個對應的權值W[AC](該權值表明該子隊列可以連續發送數據的次數),按輪詢的方式為每個子隊列發送數據,如果某一子隊列內的數據不夠發送Wi 次或為空,轉到下一子隊列準備發送數據,如此輪流執行。
(2)擁塞窗口CW 動態調整。為保證各移動節點間和同一移動節點內不同等級業務的公平性和提高系統的吞吐量,FECDA 算法中所有業務等級的擁塞窗口CW 都采用先指數退避在線性退避的方式,即對任意隊列在CW<CWmin時,每發生一次失敗的傳輸,其擁塞窗口增大為原擁塞窗口的2倍;當CWmin<CW<CWmax時,每發生一次失敗的傳輸,其擁塞窗口線性增加;CW》CWmax,擁塞窗口維持CWmax不變。
(3)公平因子計算及TXOP 調整。在每一輪輪詢數據轉發完成后,為保證同一移動節點中不同等級業務流的公平,FEDCA算法通過對每一子隊列的公平因子F[AC] 計算,并與事先規定的公平因子FD[AC] 比較,通過比較的結果確定下一輪調度的每一子隊列大小TXOP[AC]=(TXOP[AC]+ΔTXOP[AC]),其具體變化關系如圖3所示。
[AC]與ΔTXOP[AC]關系示意圖“》
圖3 公平因子F[AC]與ΔTXOP[AC]關系示意圖
2.2 FEDCA算法討論
從FEDCA算法實現過程來看:
(1)公平性的度量。FEDCA算法采用比例公平作為衡量公平性的標準,也就是每一類業務占用的網絡資源是成比例的,這樣除了可實現各等級業務間的公平外還可提高系統的吞吐量。FEDCA算法對每一類業務分配一個公平因子
用于表明該類業務在本移動節點共享資源中可使用的份額;(2)在加權輪詢調度時給每一子隊列分配的權值W[AC]與關系FD[AC]:
(3)FEDCA算法通過輪詢的方式確定可以發送的隊列數據,在發送成功后其擁塞窗口CW的變化方式與EDCA算法一致,發送失敗后擁塞避免的過程也與EDCA算法一致,但其擁塞窗口的變化采用FEDCA 算法描述中的方法,目的是維護節點內各等級業務的公平性。
(4)每一業務等級的公平因子FD[AC] 計算公式為:
式中:Total-Length[AC]為本輪輪詢調度中隊列AC被調度的數據總長度;為保證每一隊列能計算出該隊列在本輪調度中的公平因子FD[AC],對某一隊列應維護一個計數器,用于統計該隊列調度的數據長度Total-Length[AC]。
(5)ΔTXOP[AC]的計算公式為:
如圖3 所示,為了體現不同業務間的區分ΔTXOP[高] 》 ΔTXOP [低];F [高] max 》 F [低] max ;F[高] min [低] min 。同時圖3給出的ΔTXOPmin[AC]與Fmin[AC]示意圖,具體的各參數的設置可根據網絡實際情況和網絡管理員自行設定。考慮到無線網絡運行的可靠性和穩定性,本算法建議ΔTXOP [AC] max不超過TXOPmin[AC]的參考值的1/8 為宜,最大不能超過1/4。
3 仿真分析
為了驗證FEDCA 算法性能,通過網絡仿真工具NS2 實現該算法和EDCA 算法的性能比較。仿真所采用的拓撲結構如圖4所示,仿真時物理層采用802.11b,物理帶寬設為11 Mb/s,4個移動節點分別發送VI、VO、BE和BK四種業務流,這4種業務流占總負載的比例為1∶1∶2∶4。分別對FEDCA、EDCA 算法的吞吐量、端到端的延遲及等級業務流量VO、VI的變化情況進行了仿真,仿真結果如圖5~圖7所示。
從圖5的仿真結果可以看出,同一等級的業務采用FEDCA 算法業務量的變化幅度及變換頻率比EDCA算法要小,而且不同等級的業務量比例基本保持不變,從而保證了移動節點內各業務間的公平性;從圖6仿真結果可看出FEDCA算法能提高各類業務的吞吐量,從而提高了無線信道利用率;同時圖7的仿真結果表明FEDCA算法能減少數據幀的平均轉發延遲,從而提高了網絡的QoS。
圖5 VO、VI吞吐量隨時間變化圖
圖7 平均延遲與負載仿真圖
4 結論
本文提出的FEDCA算法能夠根據網絡的公平性要求,通過加權輪詢的方式解決移動節點內的不同子隊列競爭信道的問題,改變擁塞窗口的變化方式,提高系統的吞吐量和公平性,通過公平因子調整EDCA算法中的TXOP參數,最終實現提高無線Mesh網絡的公平性和改善網絡性能的目的。通過仿真分析可知,FEDCA 算法保證了移動節點間和節點內不同業務的公平性,同時能夠提高網絡性能和實現對不同業務的區分。
責任編輯:gt
-
無線
+關注
關注
31文章
5450瀏覽量
173245 -
路由器
+關注
關注
22文章
3728瀏覽量
113704
發布評論請先 登錄
相關推薦
評論