摘? 要: 提出并實現了在有基礎設施無線網絡中對實時業務提供應用級服務質量支持的系統模型機制。通過實驗床實測結果與仿真結果的比較,驗證了該機制在實現中的可行性。
關鍵詞: 服務質量? 延遲? 區分服務
?
近年來,無線網絡技術得到迅速發展。從組網方式上看,無線網絡可分為隨意組網(Ad-hoc)模式和有基礎設施(Infrastructure)網絡模式。隨意組網模式允許無線節點直接通信。有基礎設施網絡模式則禁止無線節點直接通信,所有分組都要經過接入點(Access Point,AP)轉發。與隨意組網模式相比,目前,有基礎設施網絡的應用更為廣泛。
現階段,無線技術被廣泛應用于遠程教學、臨時會議等應用場景。這就要求無線網絡除了支持一般數據傳輸外,還要支持對延遲等參數較為敏感的實時媒體業務的傳輸。然而,目前無線網絡產品硬件中實現的802.11 MAC層協議只支持基于“盡力而為”的分布式協調功能(Distributed Coordination Function,DCF),對實時業務不提供任何服務質量(Quality of Service,QoS)保證。
本文將提出一種在有基礎設施無線網絡中對實時業務提供應用級服務質量支持的系統模型機制,并對系統性能進行分析。
1?系統模型的算法描述
系統模型主要由3個模塊構成:延遲帶寬分析、準入控制和速率整形。系統機制的實現流程如圖1所示。
圖中,業務分類器主要用于區分實時業務和盡力而為業務。速率整形模塊負責動態調整盡力而為業務的發送速率以適應實時業務的低延遲要求。準入控制模塊負責根據當前系統實時業務流的可用帶寬決定是否滿足新的實時業務流的準入請求,對已準入的實時業務流直接插入網卡接口隊列等待MAC層處理。延遲帶寬分析模塊負責統計當前系統實時業務所占用的網絡帶寬及該節點分組的實際發送速率,并測量數據幀的MAC層延遲。這里所說的MAC層延遲包括:數據幀在網卡接口隊列的排隊等待時間;根據CSMA/CA算法偵聽媒體信道狀態所等待和退避的時間;在取得對媒體信道的訪問權后,發送RTS(Request to Send)-CTS(Clear to Send)-DATA-ACK一系列幀交換的時間,其中也包括了可能的幀碰撞和重傳時間。對MAC層延遲時間準確和及時的反饋也是整個算法的關鍵。此外,由于MAC層對廣播和組播幀的處理與單播幀不同,在測量過程中不應包含對組播和廣播幀的延遲統計。
?
?
1.1 速率整形機制
在速率整形機制中,無線源節點和接入點的速率整形模塊均采用加增乘減(AIMD)控制算法。每個源節點調節自身盡力而為業務分組的發送速率。接入點則對所有轉發的盡力而為業務分組進行速率調節,以使各節點實際發送速率均不高于某一動態變化的發送速率閾值rate_limit。
AIMD算法被應用在TCP擁塞控制等網絡協議中。在本系統中,AIMD算法則用于提供各無線源節點對無線媒體帶寬的公平利用。此外,AIMD算法還可以在確保實時業務經受較低MAC層延遲的情況下,使盡力而為業務更為充分利用剩余的媒體帶寬,使總的吞吐率在系統所允許到達的最大吞吐率附近上下浮動。
對速率整形算法的描述如下。
(1)rate_limit=C;/*initial rate_limit*/
(2)根據AIMD算法,每隔t秒,各無線源節點和接入點以加法增加發送速率閾值rate_limit:
rate_limit=rate_limit+rate_inc;
(3)根據延遲帶寬分析模塊每隔S秒統計的該節點的實際發送速率rate_actual,調整過大的發送速率閾值rate_limit,即:
If(rate_limit-rate_actual>rate_actual*g%)
????????????? ?? rate_limit=rate_actual*(1+g%);
(4)每隔t秒,各節點的延遲帶寬分析模塊用帶權重的滑動窗口來更新測得的MAC層平均延遲,并動態調節發送速率閾值rate_limit:
AP算法(上式中delay用delayAP替換):
if(delayAP>delay_limit){/*delay is greater than Delay threshold*/
???????????????????? rate_limitAP=rate_limitAP*d%;
/*Multiplicative Decrease rate_limit by AP*/
???????????????????? send_broadcast_frame(frame);
/*AP is bottleneck,construct the broadcast frame to
notify the source node AP′s delay*/
?????????????? }
無線源節點算法:
delayAP=recv_broadcast_frame(frame);/*receive AP′s?delay*/
delay=MAX(delay,delayAP)/*get the maximum of delay
between AP and Source node itself*/
if(delay>delay_limit)
???????????????????? rate_limit=rate_limit*d%;
/*Multiplicative Decrease rate_limit by source*/
這里,delay_limit是事先定義的延遲閾值。它的值應根據上層實時應用的需要確定。
1.2 準入控制機制
現有的802.11標準中,有基礎設施無線網絡通過接入點對分組的轉發來實現節點的間接通信。利用這一性質,接入點的延遲帶寬分析模塊就可通過測量自身轉發的實時業務來獲知目前實時業務對該媒體信道帶寬(bw_current)的占用情況。這樣,如果可以得到在不破壞服務質量前提下實時業務所能占用的最大媒體帶寬(bw_threshold),則二者的差值也就是目前系統中新的實時業務的可用帶寬(bw_availabe)。但是,在實現中,一般是選取更小的帶寬限值(bw_limit)作為實時業務所能占用的最大媒體帶寬bw_threshold的替代值(在實驗中均保守地選取bw_limit值,使系統中只允許5條實時媒體業務流同時存在)。這樣做的原因是:(1)雖然業務負載量輕重和MAC層的平均延遲具有一定的對應關系,但這種對應關系是平均意義上的對應,并不是穩定的一一對應關系,實際很難找到適合的bw_threshold值。(2)如果選取了bw_threshold作為實時業務最大可用媒體帶寬,則根據上述bw_threshold的定義,盡力而為業務將有可能幾乎沒有剩余帶寬可用。這樣,速率整形機制的調節功能也就失去了作用,無法通過速率調節使實時業務MAC層延遲迅速降低,也就失去了該機制對延遲變化反應靈敏的特點。(3)即使使用了較小的帶寬限值bw_limit作為實時業務準入控制的準入參數,剩余的媒體帶寬仍可由盡力而為業務充分地利用,不會影響系統總的吞吐率。
每個無線源節點維護著自身發送實時業務流的狀態鏈表。接入點則維護所有轉發實時業務流狀態鏈表。準入控制過程描述如下:
對于無線源節點,當有新的實時業務流到達時,該節點記錄該業務流的狀態信息(包括源目的地址、端口等),并向接入點發送帶有該流狀態信息(包含預約帶寬)的準入請求。接入點收到請求分組后,進行比較:若預約帶寬小于目前系統實時業務的可用帶寬,則將新流插入接入點所維護的準入流狀態鏈表,立即更新可用帶寬的值,并向源節點發送準入應答分組。源節點收到準入應答分組后,則將該流插入其維護的準入流鏈表,即準入該流。反之,若請求分組中包含的預約帶寬大于目前系統實時業務的可用帶寬,則接入點向源節點發送禁入應答。源節點收到禁入應答分組后,則禁入該流,具體說,即將禁入流插入到源節點維護的禁入流鏈表中,并啟動定時器定時清空該鏈表。這樣做的目的是在一段時間后可以再次發起該流的準入請求過程,以防止在系統負載減輕后仍然禁入這些流。對于屬于禁入鏈表內實時業務流的數據分組,源節點不必發起準入請求過程,而是直接將其丟棄,以防止其占用媒體信道。
對于由接入點以太網端口(即來自有線段)到達的實時業務流,則由接入點的準入控制模塊負責對其進行準入。但由于接入點本身位于無線網絡的中心環節,因此無需準入請求等信令過程。
2?仿真性能評價
下面是在網絡仿真器NS-2上實現上述機制的過程。
????(1)接入點通過NOAH路由擴展提供分組轉發功能。NOAH路由禁止無線節點直接通信,任何無線節點之間的數據分組都要經過NOAH路由的轉發。為節點配置分級地址以仿真無線節點和有線節點之間的通信。每個無線節點的傳輸范圍為250m,物理層的最大速率為2Mbps,MAC層采用802.11 MAC層協議。
(2)仿真場景取200m×200m區域,用1個無線節點配置NOAH路由充當接入點。接入點一端與有線節點連接,10個無線節點在區域內隨機運動,它們和接入點共享2Mbps物理帶寬。用3條常比特率(Constant Bit Rate,CBR)業務流仿真模擬實時業務,用FTP業務來仿真盡力而為業務。CBR業務以60Kbps勻速率發送。系統吞吐率隨FTP流數變化,如圖2所示。CBR流的平均延遲隨FTP流數變化,如圖3所示。
?
?
???? 圖2和圖3中的x軸代表FTP流的數量,y軸分別代表無線子網中系統的平均吞吐率和某CBR流的平均延遲。源節點陸續增加FTP流的數量以增加系統中盡力而為業務負載。可以看出,當只有單個源節點產生FTP業務時,才能使CBR的平均延遲和系統的平均吞吐率均小于多FTP流的場景。隨著FTP流數的增加,系統的平均吞吐率和CBR流的平均延遲均趨于穩定。
在多FTP流的場景下,改進后系統CBR業務的平均延遲較原系統下降87%~88%,而系統平均吞吐率僅下降7%~8%。單FTP場景下,改進后延遲下降91%,吞吐率則相應下降了14%。
FTP流數為3時的系統吞吐率和CBR流端端延遲每秒均值隨仿真時間變化情況分別如圖4和圖5所示。圖中,x軸代表仿真時間,y軸分別代表系統吞吐率和某條CBR業務流端端延遲的每秒均值。可以看出改進后系統的吞吐率下降不大,而CBR業務流的端端延遲卻大幅下降。
?
?
3? 實驗床分析
為了進一步驗證仿真結果,用5臺配有D-Link DWL-650無線網卡的IBM筆記本搭建無線實驗床。其中一臺作為接入點存在,與有線連接。另外4臺則充當無線源節點。D-Link DWL-650 11M IEEE 802.11b PCMCIA無線網卡基于Intersil Prism2芯片,支持主機接入點(Host AP)模式(當然也支持通常的有基礎設施網絡模式和隨意組網模式),即用Linux主機提供接入點功能。在Host AP模式下,無線網卡硬件負責處理BEACON、ACK等對時間要求比較嚴格的管理幀和控制幀。而其他一些IEEE 802.11管理功能(如對數據幀的轉發等)則由上層Host AP驅動完成。實驗中,通過修改Host AP驅動程序將前述機制在Linux實驗床實現,Linux內核版本為2.4.2-2。在實測實驗中,產生2條TCP業務流和3條UDP業務流。TCP和UDP業務均用業務產生器Iperf產生,UDP分組發送速率為250Kbps,用于模仿實時媒體業務。其中TCP流則代表盡力而為業務。原系統和改進后系統某條實時業務流分組在接入點MAC層延遲的每秒均值隨時間變化情況如圖6所示。必須說明的是:圖中接入點MAC層延遲每秒均值并不是指仿真實驗中的端端延遲,而是指單播數據幀從插入接入點網卡接口隊列到該幀的ACK正確返回所經歷的時間。通過對仿真和實驗的trace分析可以認為,在實驗場景中,數據分組所經歷的端端延遲絕大部分來自接入點的網卡接口隊列延遲。因此,在實測實驗中,取數據分組在接入點的MAC層延遲作為數據分組的延遲量度是可行的。
從圖中可以看出,改進后系統實時業務流數據分組的平均延遲大幅降低并相對穩定。
4? 結? 論
本文討論了在基于IEEE 8012.11協議族分布式協調功能之上為實時應用提供應用級服務質量支持。該機制的優勢主要在于其完全獨立于MAC層,無需進行任何硬件的升級。此外,仿真和實驗床均顯示,在無線網絡負載較重的情況下,加入的機制雖然導致了系統吞吐率的小幅下降,但換來了實時業務端端延遲的大幅降低。與原系統相比,改進后系統的實時業務會有更低、更穩定的端端延遲。
參考文獻
1?? Chiu D,Jain R.Analysis of the Increase and Decrease Algo-rithms for Congestion Avoidance in Computer Networks.Computer Networks,1989
2?? Rothermel K,Dermler G,Fiederer W.QoS Negotiation and?Resource Reservation for Distributed Multimedia Applications.Technical Report 1996-rothermel-04.Fakultat Informatik,University of Stuttgart,1996
3?? Widmer J.Network Simulations for A Mobile Network Architecture for Vehicles.International Computer Science Institute?Technical Report TR-00-009, 2000
4?? Ahn G,Campbell A,Veres A et al.SWAN:Service Differentiation in Stateless Wireless Ad Hoc Networks.InternetDraft,work-in-progress,2002
5?? IEEE 802.11b Standard for Wireless LAN Medium Access?Control(MAC) and Physical Layer(PHY) Specifications.Institute of Electrical and Electronics Engineers,1999;(11)