IEEE802.11 MAC層協(xié)議棧的均衡多線程實現(xiàn)方法

相關(guān)專題: 無線 芯片

摘要:IEEE802.11標準中的媒體接入控制層(MAC)協(xié)議棧由包含22個子模塊的有限狀態(tài)機組成。在嵌入式系統(tǒng)的基礎上實現(xiàn)802.11MAC層協(xié)議棧時,可以有多線程和單線程的設計方法,但它們都難以達到效率均衡的效果。這里提出的均衡多線程的設計方法,兼顧了系統(tǒng)效率和可實現(xiàn)性的要求,獲得了良好的效果。仿真實驗結(jié)果驗證了此方法的高效性。

關(guān)鍵詞:無線局域網(wǎng);MAC協(xié)議棧;均衡多線程;嵌入式Linux

在無線局域網(wǎng)(WLAN)系統(tǒng)中,IEEE802.11標準仍然有許多需要改進的方面,如增強安全保障、QoS支持、漫游管理以及頻譜功率合理分配等問題。IEEE組織仍在推出相應的修補標準來對WLAN技術(shù)進行更細致和優(yōu)化的規(guī)定。如802.11e標準的制定是為在WLAN中提供QoS支持;802.11g標準的制定是為在2.4GHz頻段上提高WLAN傳輸速率使之能支持高達54Mbps的速率。IEEE802.11是一個可擴展升級的標準集。順應上述技術(shù)發(fā)展的要求,需要我們能提供一個可升級擴展的無線局域網(wǎng)設備實現(xiàn)系統(tǒng)。

在無線局域網(wǎng)設備實現(xiàn)系統(tǒng)中,硬件和軟件結(jié)合以完成無線數(shù)據(jù)的物理獲取和協(xié)議控制傳輸過程。IEEE802.11媒體接入控制層(MAC)協(xié)議棧由包括了22個子模塊的有限狀態(tài)機組成,在實現(xiàn)時可以有單線程和多線程的實現(xiàn)方式。在無線局域網(wǎng)標準中,隨著支持的接入速度不斷提高,要求實現(xiàn)的無線局域網(wǎng)設備的系統(tǒng)提高效率。在嵌入式系統(tǒng)中,由于單線程存在效率上的問題,原則上應該使用多線程來實現(xiàn)系統(tǒng)的各個模塊。但在嵌入式系統(tǒng)的有限資源中完全采用多線程完成802.11MAC層的22個模塊,則在線程調(diào)度方面又會浪費許多系統(tǒng)資源。單線程和多線程的實現(xiàn)過程中存在著一個效率均衡的過程。因此,我們提出了均衡多線程的802.11MAC層協(xié)議棧的設計方法,統(tǒng)籌考慮系統(tǒng)效率均衡和可實現(xiàn)性問題。一方面考慮使用多線程的技術(shù)來提高系統(tǒng)的效率,另一方面考慮到不能同時建立太多的線程,因為太多線程同樣也會影響到系統(tǒng)在線程之間切換的時間和空間的花費,從而同樣影響到系統(tǒng)的效率。

在綜合考慮IEEE802.11MAC協(xié)議有限狀態(tài)機中各模塊的重要性和復雜度,與模塊通信的消息權(quán)重以及與該模塊關(guān)聯(lián)的消息數(shù)量的情況下,同時考慮在嵌入式Linux的環(huán)境下線程數(shù)應保持在合理的線程范圍,本文在實現(xiàn)整個MAC協(xié)議棧程序時建立了11個線程。每個線程的內(nèi)部包含著多個不同的處理模塊。在MAC層的各線程之間是通過消息隊列的交互來進行通信。本文實現(xiàn)平臺選用了Motorola的MPC860處理器平臺和嵌入式Linux操作系統(tǒng)來組成WLAN接入點AP的實現(xiàn)框架。

IEEE802.11MAC協(xié)議功能與構(gòu)成

MAC協(xié)議的功能

IEEE802.11MAC層主要提供了兩種不同功能的接入方法:分散協(xié)調(diào)功能(DCF)和集中協(xié)調(diào)功能(PCF)。所謂的協(xié)調(diào)功能是指一個用來決定什么時候哪個工作站能發(fā)送數(shù)據(jù)的機制.DCF是IEEE802.11MAC的基本接入方法,它主要利用載波監(jiān)聽多路接入和沖突避免(CSMA/CA)的技術(shù)來收發(fā)異步數(shù)據(jù)。PCF收發(fā)具有實時性的數(shù)據(jù),在使用上屬于無競爭方法,只能應用在基礎架構(gòu)模式的無線局域網(wǎng)中。CSMA/CA機制首先判定信道是否處于空閑狀態(tài)。如果信道是忙碌的,工作站必需延遲一個隨機的時間直到發(fā)現(xiàn)傳輸媒介是空閑的,才能進行傳送幀操作。

MAC協(xié)議棧的構(gòu)成

在IEEE802.11標準的MAC內(nèi)部模塊圖中,無線局域網(wǎng)接入點的MAC層的實現(xiàn)是由以下的8個大模塊來組成,而8個大模塊可以分成22個小模塊(本文側(cè)重介紹無線局域網(wǎng)接入點的MAC層實現(xiàn),無線局域網(wǎng)終端的MAC層實現(xiàn)可同樣得到)。8個大模塊分別是MAC-Data-Service;MAC-Management-Service;Distribution-Service;MPDU-Generation-AP;Protocol-Control-AP;MLME-AP;Transmission;Reception.在圖1中,MAC-Data-Service模塊完成MAC層數(shù)據(jù)與LLC上層接口的處理過程.MAC-Management-Service則完成對MAC層內(nèi)部運行進行管理并與站點進行管理握手的處理過程.Distribution-Service處理本MAC層與分布式系統(tǒng)的接口過程.MPDU-Generation-AP完成對MSDU和管理幀進行分段及其他的相關(guān)處理形成MPDU的過程.Protocol-Control-AP則主要完成DCF和PCF媒體接入管理控制機制的功能.MLME-AP具體完成MAC層有關(guān)管理的具體實施和有關(guān)管理幀的生成和解釋.Transmission主要完成MAC層向PHY層發(fā)送數(shù)據(jù)及相關(guān)處理的過程.而Reception則完成MAC層從PHY層接收數(shù)據(jù)并進行相關(guān)處理的過程.上述MAC層的核心實現(xiàn)過程再加上外部的有關(guān)接口的配合,如:與LLC層接口的MAC-SAP接口、與站點管理實體進行接口的SM-MLME-SAP接口、與分布式系統(tǒng)DSM-SAP接口的DSM模塊以及與物理層進行接口的發(fā)送和接收模塊PHY-SAP-Tx,PHYSAP-Rx,即可構(gòu)成一個完整的WLAN接入點MAC協(xié)議棧系統(tǒng)。

均衡多線程的實現(xiàn)

均衡多線程的MAC協(xié)議棧實現(xiàn)方法在具體的實現(xiàn)過程中,統(tǒng)籌考慮了系統(tǒng)的可實現(xiàn)性和系統(tǒng)的效率問題,在實現(xiàn)整個MAC協(xié)議棧程序時建立了11個線程。在每個線程的內(nèi)部包含著多個不同的處理模塊.11個線程表述如下:

其中mac-data-service-p線程中包含了MSDUto-LLC模塊和MSDU-from-LLC模塊;DSM-Interface的模塊單獨組成distribution-service-p線程;而mpdu-generation-ap-p線程中包括有MPDUGeneration和PM-Filter-AP模塊;Rx-Coordination模塊單獨組成rx-coordination-p線程;Tx-Coordination模塊組成tx-coordination-p線程;reception-p中包含了Channel-State、Validate-MPDU、Filter-MPDU和Defragment模塊;而transmission-p中則包含有Data-Pump和Backoff-Procedure模塊;mlme-ap-p中包含有Distribute-Mmpdus、Power-Save-Monitor、AuthReq-Service-AP、AsocService-AP、AuthRspService和Synchronization-AP模塊.系統(tǒng)中MIB模塊和Mlme-Requests和Mlme-Indications模塊則與MAC-SAP接口模塊組合到mac-sap-p線程中.mac-sap-p和ds-sap-p和phy-sap-p線程分別完成對不同的接口的操控功能。

在MAC層的各線程和線程之間是通過消息隊列的交互來進行通信,通信過程可以直接定位到線程內(nèi)部的各個模塊。在圖2中,distribution-service-p、mpdu-generation-ap-p和tx-coordination-p線程是循環(huán)處理的線程.它們之間的信號交互是通過消息隊列的傳遞來完成的。每個線程擁有屬于它的消息隊列,如圖2中的qDistribution-Service、qMPDUGeneration-AP和qTx-Coordination隊列.線程運行時首先檢查對應的消息隊列中是否有消息,如有就進行處理,沒有則線程轉(zhuǎn)入節(jié)省資源的睡眠狀態(tài),直到又有一個新的消息到來才喚醒線程。線程處理完的結(jié)果要向別的模塊傳遞時,則將結(jié)果封裝成消息后拋送到目標模塊所屬的線程對應的消息隊列中,然后由目標線程進行判斷再傳送到相應的處理模塊中進行處理.例如圖2的mpdu-generation-ap-p線程包含了2個處理模塊,從qMPDU-Generation-AP隊列中提取出來的消息通過判斷處理后才決定調(diào)用Prepare-MPDU模塊或PM-Filter-AP模塊處理。

圖2中的消息隊列的結(jié)構(gòu)中定義了線程調(diào)用互斥鎖和信號狀態(tài)鎖。這些互斥鎖和狀態(tài)鎖是為了避免信號在交互過程當中可能發(fā)生的線程處理碰撞問題。在消息隊列中,Message結(jié)構(gòu)是承載內(nèi)容的主要結(jié)構(gòu).Message結(jié)構(gòu)定義為: 

typedefstruct{

Pidrec-p;

MsgTypesig-id;

MsgPriorityprio;

uintmsg-len;

union{

uchar*par-ptr;

ucharparcopy[MSG-BORDER-LEN]; 

}par-union;

}Message;

該結(jié)構(gòu)中定義了接收消息隊列的隊列名稱rec-q,接收處理模塊的名稱rec-p,消息信號的類型,消息信號的優(yōu)先級,消息信號需要占用的長度.另外還定義了一個par-union的結(jié)構(gòu),當消息信號的占用長度不超過MSG-BORDER-LEN長度時,則在操作過程當中直接使用已經(jīng)分配空間par-copy數(shù)組來存放消息信號的內(nèi)容,而當長度超過MSGBORDER-LEN長度時,則在操作的過程當中必須新開辟出空間來存放消息信號所攜帶的內(nèi)容。在上述MAC協(xié)議實現(xiàn)過程中,還需要定義在各模塊中進行通信的消息。這里,我們定義了142個不同消息的類型。每個消息有不同的內(nèi)容和定義,通過這樣的消息交互可以完成各模塊之間的通信過程。

實現(xiàn)的嵌入式平臺

本文的研究內(nèi)容是選擇實現(xiàn)MAC協(xié)議棧的方法,并在相應的嵌入式處理器和嵌入式操作系統(tǒng)的平臺上實現(xiàn)。在實現(xiàn)無線局域網(wǎng)AP的MAC層軟件的選擇方案中,我們選擇Motorola公司的MPC860處理器平臺和嵌入式Linux操作系統(tǒng)來組成實現(xiàn)的硬件和軟件的平臺。然后在這平臺基礎上來完成802.11MAC層協(xié)議軟件的系統(tǒng)構(gòu)建。

在圖3的基于MPC860和嵌入式Linux平臺的WLAN接入點設計方案中,專門設計出一個與無線物理層相對應的一個PHYI/O驅(qū)動接口,通過這個接口可以實現(xiàn)對無線物理層的基帶處理芯片和其他的中頻芯片、射頻芯片和功放芯片的控制和調(diào)節(jié),同時完成物理層數(shù)據(jù)的傳輸過程。MPC860的嵌入式處理器完成整個MPC860的系統(tǒng)運行的工作。MPC860中還內(nèi)建了一個以太網(wǎng)驅(qū)動模塊,通過設備驅(qū)動來實現(xiàn)與以太網(wǎng)的接口過程.在嵌入式Linux的基礎之上,建立必要的設備驅(qū)動來實現(xiàn)對物理層接口的驅(qū)動和以太網(wǎng)的接口驅(qū)動。IEEE802.11標準的MAC層的協(xié)議棧的程序建立在嵌入式的Linux和系統(tǒng)的設備驅(qū)動之上,并與嵌入式Linux的內(nèi)核緊密結(jié)合,以更好地實現(xiàn)系統(tǒng)的實時性,提高系統(tǒng)的效率。

性能分析

最后,我們對本文提出的均衡多線程的IEEE802.11MAC協(xié)議實現(xiàn)方法在嵌入式系統(tǒng)的平臺上進行測試。一個是本文方法實現(xiàn)的無線局域網(wǎng)AP接入點;另一個是將MAC協(xié)議棧程序全部修改成22個多線程,通過22個消息隊列進行相互通信的完全多線程實現(xiàn)的AP接入點模型;以及將多線程實現(xiàn)方法修改成單線程的程序,使用一個總的消息隊列來進行通信,對消息隊列中的各目標模塊建立一個優(yōu)先級調(diào)度過程的完全單線程AP接入點模型;并將mac-data-service-p線程、distribute-service-p線程和mpdu-generation-ap-p線程合并成1個線程,同時將mac-sap-p線程和mlme-ap線程合并成1個線程以形成共8個線程AP接入點模型;還將mpdu-generation-ap-p線程中的2個模塊分成prepare-mpdu-p線程和pm-filter-ap-p線程,同時將transmission-p線程分開成data-pump-p線程和backoff-procedure-p線程,以共同組成13個線程的實現(xiàn)模式。將上述的5個模型進行數(shù)據(jù)轉(zhuǎn)發(fā)實現(xiàn)測試。數(shù)據(jù)從有線網(wǎng)端口傳送到無線網(wǎng)端口并發(fā)送出去,通過1個無線局域網(wǎng)終端進行數(shù)據(jù)的接收統(tǒng)計。有關(guān)的無線參數(shù)定義如下。

根據(jù)IEEE802.11標準規(guī)范,設定Tmac為MAC層傳送處理時間。而將一系列數(shù)據(jù)幀傳送到接收端所需要的傳送時間Ttotal定義如下:

其中N為傳送幀數(shù)量;L為傳送的幀的長度;tPreambleTime+tHeaderTime為傳送幀而加上的前導碼和物理幀頭傳輸時間;CW是傳送幀之前的退避時間,假設沒有碰撞發(fā)生,CW從[0,aCWmin]中提取隨機數(shù);τ為無線傳播延遲時間;tACKTime定義為tACKTime=(tPreambleTime+tHeaderTime+14*8/Rate),假設信道環(huán)境不發(fā)生改變,從統(tǒng)計的接收時間Ttotal中即可得出MAC層處理時間Tmac來反映MAC層的處理時間效率問題.另外定義丟幀率為μlost丟幀率反映了當采用不同的線程設計MAC協(xié)議棧,數(shù)據(jù)幀通過消息隊列過程傳遞時,由于調(diào)度效率問題得不到及時的處理所引起的超時而丟棄數(shù)據(jù)幀的概率.MAC協(xié)議棧的設計應該能夠保證數(shù)據(jù)幀的及時傳送,防止消息隊列堆棧的溢出,以降低丟幀的可能。實驗中通過統(tǒng)計出丟幀數(shù)量Nlost,定義丟幀率為

實驗中,從有線端傳送出10000個幀,通過從另一個無線局域網(wǎng)終端用網(wǎng)絡捕獲工具,如Networkspy軟件進行接收并統(tǒng)計他們的丟幀率和10000個幀從發(fā)送到接收所需的時間。幀的大小從1500bytes到60bytes測量5個階次.然后,再反過來從無線終端發(fā)出同樣的信號并測量系統(tǒng)反向的丟幀率和發(fā)送接收所需的時間,并與前面正向鏈路傳輸測試的結(jié)果進行平均。

在上述實驗中,假設無線接入點與終端之間傳輸狀況理想,無特定外界干擾源,不考慮由于媒介影響所引起的丟幀情況。得到的結(jié)果如圖4(a)和圖4(b)所示,圖中的各點值是10次試驗結(jié)果的平均值.圖4(a)表示發(fā)送不同長度幀與系統(tǒng)的丟幀率的關(guān)系,可以看出隨著幀長度的變大,采用均衡多線程的MAC實現(xiàn)方法要優(yōu)于完全單線程實現(xiàn)方法和完全多線程的實現(xiàn)方法。在圖4(b)中,在外部無線傳送環(huán)境一樣的條件下,傳送時間的差別就體現(xiàn)為實現(xiàn)的MAC協(xié)議棧的效率。可以看到完全多線程實現(xiàn)方法和完全單線程的實現(xiàn)方法所需的傳送時間均長于均衡多線程的實現(xiàn)方法。實驗結(jié)果驗證了均衡多線程方法來實現(xiàn)IEEE802.11MAC協(xié)議的高效性。

結(jié)束語

無線局域網(wǎng)技術(shù)發(fā)展要求設計出高性能的產(chǎn)品實現(xiàn)平臺。本文提出將均衡多線程的MAC協(xié)議實現(xiàn)方法和基于嵌入式Linux實現(xiàn)平臺結(jié)合起來,提高了系統(tǒng)的效率,得到了良好的效果。實現(xiàn)的WLAN平臺一方面可以轉(zhuǎn)化實現(xiàn)成商用的產(chǎn)品,另一方面可以作為WLAN技術(shù)發(fā)展的研究平臺,跟蹤最新標準技術(shù)的發(fā)展,如支持QoS業(yè)務的IEEE802.11e草案和支持增強安全認證的802.11i以及優(yōu)化頻譜利用和功率控制的802.11h標準都可以在這個平臺上進行實現(xiàn)及進行仿真研究。

 

   來源:阿里互聯(lián)電子網(wǎng)
微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號,免費領取以下5G精品資料
  • 1、回復“YD5GAI”免費領取《中國移動:5G網(wǎng)絡AI應用典型場景技術(shù)解決方案白皮書
  • 2、回復“5G6G”免費領取《5G_6G毫米波測試技術(shù)白皮書-2022_03-21
  • 3、回復“YD6G”免費領取《中國移動:6G至簡無線接入網(wǎng)白皮書
  • 4、回復“LTBPS”免費領取《《中國聯(lián)通5G終端白皮書》
  • 5、回復“ZGDX”免費領取《中國電信5GNTN技術(shù)白皮書
  • 6、回復“TXSB”免費領取《通信設備安裝工程施工工藝圖解
  • 7、回復“YDSL”免費領取《中國移動算力并網(wǎng)白皮書
  • 8、回復“5GX3”免費領取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點本月熱點

     

      最熱通信招聘

      最新招聘信息