0. 背景
應急通信系統需要在高速移動環境下實現視頻、語音、數據等多媒體業務的實時、高質量地傳輸,還要能夠提供遠距離的同步傳輸控制。應急通信系統具有覆蓋范圍廣、靈敏度高、移動性好、抗干擾和抗衰落能力強、傳輸數據率高、穩定性和可靠性突出等顯著優點,可廣泛應用于公安、武警、消防、野戰部隊等軍事部門和交通、海關、油田、礦山、水利、電力、金融等國家重要部門的移動通信。
在實際實現過程中,參考了IEEE 802.16e標準的MAC層協議來實現應急通信系統的MAC層,在此基礎上,根據自己的需求對標準的MAC層協議進行了適當的改變和優化,使之實現方便并且擁有更高的傳輸效率。
IEEE 802.16e是移動寬帶無線接入標準,該標準后向兼容IEEE 802.16d[1]。該標準是支持客戶移動性的規范,使用戶可以在基站之間自由切換和漫游,進而實現在不同的802網絡之間自由切換。該標準可同時支持固定和移動寬帶無線接入系統,工作在6GHz適宜于移動性的許可頻段,可支持用戶終端以車輛速度移動(一般低于120km/h)[2]。
IEEE 802.16e(WiMAX)技術已經被部署到許多網絡中,這都源于WiMAX具有超越現有3G網絡的優勢,這些優勢體現在以下幾個方面:系統結構靈活;保密性高;QoS;網絡快速部署;多層服務;支持終端移動性;高數據容量等等[2]。
IEEE 802.16e協議空中接口標準包含了媒體接入控制層(MAC)和物理層(PHY)的規范[1]。本文主要在協議的基礎上,重點研究了MAC層的實現。
1.802.16e協議MAC層簡介
802.16e 媒體接入控制層(MAC層)是介于物理層(PHY層)與網絡層/業務層(APP層)之間的實體,其主要功能是對數據鏈路進行控制管理,協調高層數據與底層資源之間的關系,使得系統中業務的傳送能夠更加順利、高效地進行[3]。
802.16e MAC結構參考如圖1,MAC層包括三個子層,分別是服務匯聚子層(CS)、MAC公共子層(CPS)和加密子層(Privacy Sublayer) [4]。CS主要負責會聚上層業務,是與上層的接口。CPS層分為控制平面和數據平面[4],是MAC的核心部分,實現MAC的主要功能。安全子層負責認證和加密功能。MAC層的主要功能包括:網絡的接入和初始化;帶寬請求和授予;重傳處理;切換;功率控制;調度與資源分配;MAC PDU的構建和傳送[5]。
圖1. MAC結構參考圖[6]
2.應急通信系統MAC層設計架構
2.1 總體結構
按照OSI七層網絡協議,MAC層處于物理層(PHY)與應用層(APP)之間,負責應用層數據與物理層層資源之間的關系協調[6]。因此MAC層與應用層和物理層之間都要有相應的接口(API)。應急通信系統分成三部分:基站端(BS),移動臺端(MS),控制中心(NMCC)。
上面介紹的是系統的功能結構,接下來介紹系統程序實現的總體結構。
根據功能和任務的不同,系統分成了多個模塊,采用多線程同時運行方式;径BS和用戶端MS側的MAC層主要模塊包括以下幾個:主線程模塊,幀中斷處理模塊(與PHY層進行交互),消息處理模塊,應用層消息交互模塊。與MS側相比,BS側還有一個專門用于和NMCC通信的模塊。
以BS側為例各模塊主要任務及相互間關系如下所述:
1).主線程模塊:完成創建并初始化各個線程;退出程序時的資源釋放。
2).幀中斷處理模塊:與PHY層的交互基本是在這個線程中完成。在PHY層的每個5ms幀中斷來了之后完成以下事情:接收物理層消息;調用調度算法,為各個連接分配上下行帶寬;生成給PHY層的消息;處理超時隊列;發送同步信號量,觸發消息處理線程的運行。
3).MAC層消息處理模塊:此模塊中的線程函數每5ms由幀中斷處理模塊通過信號量進行觸發,在幀中斷處理模塊接收的PHY層消息會在此線程進行處理,同時APP和NMCC發送給MAC層的消息也會在這個線程中進行處理。此模塊中有消息處理自動機,進行消息處理和狀態轉換。
4). 應用層(APP)消息交互模塊:此模塊中線程函數也是每5ms執行一次,由消息處理模塊通過信號量進行觸發。將MAC層發送給APP層的消息通過socket發出去,同時通過socket監聽接收APP發送給MAC層的消息。
5). NMCC消息交互模塊:此模塊包含一個socket監聽線程,監聽NMCC發送給BS側MAC層的數據。
2.2 狀態自動機機制
從上面的各個模塊功能描述可知,消息處理模塊是MAC層的核心部分,MAC層的主要功能也體現在這個模塊中。消息處理模塊總體看來是一個狀態自動機,接下來是對這個自動機的機制進行的詳細介紹。
MAC層實現中很重要的一項內容就是處理MAC層與MAC層之間的交互消息的狀態自動機的實現。MAC層的狀態自動機負責了MAC層消息處理及狀態轉移。
MAC層通信模塊在底層接收到網卡上傳數據包之后,對其內容進行檢查。如果數據包是正確的通信內容則提交MAC層自動機處理,然后給APP層輸出有效通信內容;反之,如果數據包不正確則丟棄,保證系統通信正常工作。
對于BS端來說,由于每個BS端帶有多個MS,所以BS除了有自己的狀態自動機以外,還需要有一個MS狀態機的集合,記錄自己管轄區域內的移動臺的狀態。每個MS可以同時傳輸幾個不同的業務流,因此每個MS應該有CID的狀態機集合,對不同的業務流進行管理。
我們以MS側自動機的實現為例進行自動機實現的說明。MS側自動機包括MS的自動機MSStateMachine以及MS所擁有的業務連接自動機的集合。
MS自動機MSStateMachine,主要功能是保存當前MS狀態,并在接收到消息后對消息進行解析,判斷消息的有效性并正確地調用當前狀態的消息處理函數對消息進行處理,封裝要發送的消息,調用發送函數進行發送,并進行狀態轉移。MS的狀態集其實就是一個函數指針數組。不同的數組下標表示不同狀態的消息處理函數,當收到一個消息時,通過取得當前的數組下標能夠取得當前的處理函數進行消息的處理,不同的消息處理函數就相當于是不同的狀態。通過數組下標的改變就完成了狀態轉換。
MS下業務連接的自動機CIDStateMachine,由于每個MS最多有5個業務連接,即最多有5個CID(連接標識符), 0號CID為管理CID,其它四個可以用于音頻,視頻,數據業務的傳輸。每個CID都由CID狀態機來管理它的狀態和該狀態下消息的接收和發送。CID是在BS中收到 連接建立消息后為該連接分配的,CID自動機也在此時初始化。CID自動機主要任務是:將發送給PHY層的消息封裝成PDU(協議數據單元)以及對收到的PDU解析成MAC層的消息格式加入到消息隊列。封裝PDU時,主要完成的是MAC頭,MAC子頭等內容的填充,并根據給該CID分配的帶寬進行數據分段和打包操作。解析PDU其實是封裝的反操作,將PDU中的CID,消息類型,消息內容等解析出來,并按MAC層的消息格式傳遞給MAC層。
2.3 MAC層接口
在系統的幾個主要模塊中,除了消息處理模塊以外,另一個比較重要的部分是接口模塊部分,接口模塊如前面所述包括:幀中斷處理模塊,與APP消息交互模塊,與NMCC消息交互模塊。
MAC層接口包括兩部分,一部分是對APP層提供的接口(MAC -APP API),一部分是PHY層對MAC提供的接口[7](MAC -PHY API)。
首先對于APP接口,從MS角度來說MAC對上層協議及應用的接口主要包括兩部分:在上層應用在終端工作前,設置本次工作參數;業務建立和數據傳輸。對于BS,由于其向上主要與網管和指揮中心通信,無論是從移動臺收到的數據或者發到移動臺的數據,都需發送到或來自于網管(控制層面)和指揮中心(數據層面)。其接口部分功能主要包括三個部分:工作參數設置;控制消息處理;數據傳遞。
APP與MAC采用共享消息隊列的方式進行消息的傳遞。BS側與MS側的接口機制相同。對于APP發送給MAC的消息:MAC層軟件建立下行MAC消息緩沖區,APP將消息內容放到下行消息緩沖區,MAC層在定時任務完成后處理下行緩沖區中的消息。MAC發送給APP的消息:MAC層軟件建立上行MAC消息緩沖區,并將所有上行消息放入緩沖區內,APP從緩沖區中取出消息進行處理。
而對于PHY層的接口,交互的消息主要是PHY層向MAC層發送啟動/停止指示,參數配置,狀態指示,幀結構設置,指示各種信道數據傳輸的能力。PHY層的接口對于BS和MS來說差別都不是很大。PHY與MAC接口交互采用直接調用讀/寫函數方式,利用picolib的收發函數進行消息的傳遞。MS與BS側機制相同。MAC至PHY方向,MAC層軟件封裝好消息,放入消息緩沖區,5ms定時到時,調用指定庫函數中的寫函數先發寫控制,再將緩沖區的消息全部發送到PHY層。而對于PHY至MAC方向,MAC層軟件調用讀函數接收消息,再根據消息類型進行相應處理。
3.帶寬分配和調度算法介紹
現在流行的寬帶移動通信協議如WCDMA等,是用不同類型的信道傳送不同類型的數據。如視頻由視頻信道來傳送,音頻由音頻信道來傳送。這些信道的帶寬是固定分配的。而802.16e協議中MAC層是基于連接進行帶寬分配的,根據所建立的連接來進行帶寬的分配。如果建立了一個視頻連接,可以根據視頻連接的特點來進行帶寬分配,如果建立的數據業務連接,則沒必要按照視頻連接的帶寬分配方式分配帶寬。這種帶寬分配方式相對于前一種來說更加靈活,更有效率,對于不存在的業務不會去分配帶寬。
3.1連接分配
802.16e協議采用面向連接的方式,上層業務數據流通過分類器可以映射成不同的連接標志符CID[8]。APP業務流的種類可以有圖像、視頻、話音、數據流,簡單起見,同樣種類但不同應用的業務流在MAC層使用不同的連接。即:不同的高層業務流對應到MAC層不同的連接CID。MAC層管理消息使用專用的管理連接CID。
每個MS的管理CID是BS固定分配的,業務流CID由BS通過管理消息動態分配。為簡化起見,MS發起的業務流可由MS預制不會沖突的一個業務流ID作為 CID部分字段(如低8bit),BS確認,再加上設備ID,形成16 bit的CID。隨后,BS與MS通過此CID標識一個業務流。
MS上行業務流連接動態建立的流程如圖4所示。下行業務流與此類似。其中的DSA_REQ,DSA_RSP是MAC層的業務類消息原語。DSA_REQ是業務建立請求,DSA_RSP業務建立回復。DSD_REQ是業務斷開請求,DSD_RSP是業務斷開回復。
圖4. 動態上行業務流連接建立流程
3.2調度算法與帶寬分配
802.16e 協議的MAC層是面向連接的,APP層不同的數據業務映射成不同的連接。不同的APP業務有不同的QoS要求,這就意味著要有一個機制能讓不同的連接對應著不同的QoS參數。這個就是調度算法要做的工作。在802.16e MAC層中采用三種QoS的帶寬調度模式為:競爭請求,主動帶寬授予,周期輪詢[8]。802.16e支持四種不同類型的業務:主動授權服務(UGS),恒定比特率連接實時輪詢服務(rtPS),非實時輪詢服務(nrtPS)和盡力而為服務(BE)[9]。實現中根據應急通信的特點,采用了主動授權服務和盡力而為服務。如果業務發現分配給它的帶寬不夠,能夠主動發起帶寬申請。
舉例在設計中三種不同類型的業務來說明調度算法的實現:
1. 視頻語音業務
視頻業務的特點是:周期性發起,變長數據包,實時數據流。根據QoS屬性(主要包括最大傳輸速率,最小保證速率,最大時延,發送周期)可以計算出視頻業務的所需的帶寬,在業務信道建立之后。
語音業務與視頻業務的特點大致相同,只是傳輸速率比視頻業務小同時發送周期也更長。所以語音業務和視頻業務的帶寬請求與授予機制基本相同,主動分配時可以分較小的帶寬,同時分配周期也可以更長。
如果是上行數據傳輸的視頻業務需要BS主動分配給MS其所需的帶寬。MS在已分配上行帶寬資源中傳輸數據,如果分配的帶寬不夠,使用夾帶請求的方式申請。BS將MS夾帶請求的帶寬和主動周期分配的帶寬在下一幀中通過UL-MAP發送給MS。如果是下行的視頻業務,BS可以分配完資源后,直接發送。
2. 數據業務
數據業務的實時性要求不高,其QoS屬性一般只包括最大傳輸速率和最小保證速率,沒有固定的發送周期,速率比較小。所以一般不對其進行主動帶寬分配。當MS側有數據要發送時,它利用帶寬申請時隙進行帶寬申請(基于競爭方式)。
上行數據傳輸時,MS如果還有數據進行傳輸,而又不能使用夾帶申請時(本MS沒有帶寬,若本MS的其他CID有帶寬,可以借用其帶寬攜帶發送帶寬請求),使用競爭方式(Ranging信道)發送帶寬請求報頭。BS根據申請給MS分配所需帶寬資源。下行時,BS分配下行資源,直接發送。
3. ARQ數據業務
對于需要自動重傳的業務,由于多了ACK消息的交互,需要額外的帶寬資源。為了提高效率,可以采用以下方法。上行數據傳輸時,由于需要回復ACK的是BS端,BS側分配下行ACK資源,直接發送。而對于下行數據傳輸,MS側需要回復ACK,所以對于BS,當發現自己某個連接CID需要發送的是ARQ數據時,可以主動對相應的MS分配ACK所需的帶寬,使得MS側發送ACK時,不用再進行帶寬申請。
調度結束后,可以進行帶寬的分配。帶寬分配可以分為上行帶寬分配和下行帶寬分配[9]。帶寬分配主要是在BS側的調度器完成。上行帶寬分配由上行調度器完成,下行帶寬分配由下行調度完成。MS側也有帶寬請求機制,以決定自己什么時候該請求帶寬,用什么樣的方式請求(獨立帶寬請求還是夾帶),我們把這個過程叫帶寬請求判決。圖5顯示了整個帶寬分配的過程。
圖5. 帶寬分配過程
4.結束語
本文基于作者在PicoChip pc7205開發板上實現802.16e MAC層協議過程中遇到的主要技術問題,分析了一些關鍵技術,例如MAC層的架構,自動機實現,以及接口設計。同時對于調度算法和帶寬分配所用到的主要解決方法進行了簡要分析。
本文提出的方法和技術已經在程序中實現并進行了功能和穩定性方面的測試。測試結果表明這些方法是可行的,并取得了較高的傳輸速率,上行傳輸速率現在能達到3Mbit/s(1個MS)。802.16e MAC開發人員可以根據該標準和本文給出的技術分析,有針對性地進行研究。
參考文獻 (References)
[1]IEEE P802.16 (Draft Mar2007), DRAFT Standard for Local and metropolitan area networks!aPart 16: Air Intrface for Fixed Broadband Wireless Access Systems[S].
[2]田韜,張新程等.WiMAX 16e 無線網絡技術與應用[M].北京:人民郵電出版社,2009
[3]彭木根,王文博等.下一代寬帶無線通信系統OFDM&WiMAX[M].北京:機械工業出版社,2007
[4]IEEE Std 802.16TM-2004 Standard for local and metropolitan area networks[S].
[5]班玲.802.16協議MAC層分析及帶寬調度架構的研究[D].北京:北京郵電大學學位論文,2006
[6]章勇.無線寬帶城域網MAC層上行帶寬調度的實現與分配[D].西安:西安電子科技大學碩士學位論文,2008.1
[7]PC8530 16e BS/MS MAC-PHY API Definition. picoChip Designs Ltd[S].
[8]趙海濱.802.16 QoS體系結構及調度算法研究[D].北京:中國科學院聲學研究所博士學位論文,2005
[9]周繼華,石晶林.WiMAX媒體接入控制協議研究與系統設計[J].移動通信,2007,7期
資助基金名稱:
國家自然科學基金重點項目60833009,北京市自然科學基金4092030,新世紀優秀人才計劃
作者簡介:
陳菊英(1984-) 女 北京郵電大學計算機學院碩士研究生研究方向為無線通信與通信技術
羅紅 (1969-) 女 北京郵電大學計算機學院教授 主要從事通信軟件和無線通信網絡技術的教學與研究
張增駿(1982-) 男 現就職于中聯綠盟信息技術有限公司主要研究網絡安全
朱海林(1984-) 男 北京郵電大學計算機學院碩士研究生研究方向為無線通信與通信技術
09111