吳靜靜,高仲合,呂見霞
(曲阜師范大學 計算機科學學院,山東 日照 276826)
Ad Hoc與傳統的有線網絡相比,它具有無中心、自組織、節點移動、多跳和受限的無線傳輸帶寬等特點[1]。由于節點的頻繁移動和相鄰節點的競爭,無線鏈路的傳輸錯誤引起相當多的段丟失,TCP發送端就誤認為這些段丟失是由于擁塞引起的。盡管有時帶寬是充足的,發送端也會抑制自己的發送速率。因此,信道的利用率大大降低,TCP的性能急劇惡化。
另一方面,在 IEEE802.11[2]協議系列中,物理層具有多速率傳輸能力,能夠自動適應鏈路特征,自動溝通協商通信的速率與通信[3],在此基礎上,MAC協議應該能根據信道情況自適應地選擇傳輸速率,以達到最佳的吞吐量。因此,針對Ad Hoc網絡已經提出了一些自適應速率方法[4],如自動速率回退(ARF)協議,基于接收方的自動速率 (RBAR),機遇式自動速率(OAR)和自適應自動速率 (AAR),另外還有機會分組調度自動速率 (OSAR)和全自動速率(FAR)協議。
文中提出了一種自適應速率傳輸機制,該方法盡量滿足傳統的802.11標準。而且傳輸速率是根據 TCP吞吐量性能選擇的,對于分段傳輸的數據幀,每一幀都能自適應地選擇傳輸速率。從仿真結果可以看出,該方法能夠較好地提高系統的吞吐量。
速率自適應 MAC 協議的基本思想就是對信道進行動態估計, 并根據估計值選擇當前信道條件下最佳的傳輸速率,以達到最優的吞吐量[5]。該方法中,接受端為即將到來的數據包估計信道情況,包誤差率以及傳輸速率的TCP吞吐量。然后,接收端為每個數據包選擇合適的傳輸速率,并通過包傳送給發送端。
網絡中的節點采用載波監聽機制監聽周圍媒介的忙閑情況。當信道空閑時,發送節點以基本速率V0發送一個RTS 幀,使處在傳輸范圍內的接收節點無差錯接收。接收端根據收到的RTS包估計出信噪比(SNR),誤碼率(BER)與 SNR 之間又存在著一定的關系, 根據分析模型得到傳輸速率v下的誤碼率 Pb(v),利用包長度可以得到下一個數據包的包誤差率Pf(v):

由于TCP是根據有線網絡傳輸特點設計的,其性能在無線網絡環境下會急劇惡化。接收端在選擇合適的傳輸速率時,把TCP性能作為一個標準。根據分析模型[6]可得,當包誤差率增加時,TCP性能會急劇惡化。估計的TCP吞吐量TCP()T v為:

當傳輸速率不同時,傳輸持續時間不同,因此消耗的無線資源也是不同的。當考慮每個傳輸速率所消耗的無線資源時,估計的TCP吞吐量為:

式中,maxV 是最大傳輸速率。最后接收節點根據TCP性能和消耗的無線資源,選擇一個最佳的傳輸速率SV:

令 V0為首次傳輸的基本傳輸速率,為短的幀間隔持續時間,為傳輸速率為V0時,傳輸數據包所用的時間,為CTS包的持續時間,為ACK包的持續時間。最初的是設置在RTS包中的,當接收端收到 RTS包時,無需改變包結構就可以根據 N AV0值計算出要傳輸的數據包長度L:

接收端根據數據包長度L,利用式(4)選擇合適的數據包傳輸速率SV, 得到一個新的NAV值:

接受端把該NAV值放在CTS包的持續段中。當發送端接收到CTS包后,從NAV值中估計出選擇的傳輸速率:

這樣不需要改變包結構,發送端就可以得到下一個數據包的傳輸速率′。
當要傳輸的數據包較長時,由于無線信道通訊質量較差,需要對數據包進行分片,這時就可以在一次使用RTS和CTS預約信道后連續發送這些分片。當分片較多時,在分片傳輸過程中信道可能已經發生變化,如果仍采用 RTS/CTS 幀交換期間選擇的速率進行傳輸顯然是不合適的,針對以上特點,文中提出了讓每個分片以自適應的速率進行傳輸。接收節點根據式(4)選擇下一分片的傳輸速率,并將該速率信息由 ACK 幀帶回給發送節點,因此需要對DATA和ACK幀做一定的修改,如圖1、圖2所示。

圖1 DATA 幀結構

圖2 ACK幀結構
該方法中RTS和CTS幀結構保持不變,將DATA和ACK幀結構中的持續時間字段進行修改,這種修改與802.11標準的持續時間域并不沖突,因為持續時間的值是由傳輸速率和數據包長度計算出來的,所以修改后的幀結構能為其傳輸范圍內的節點設置NAV值提供足夠信息,每個分片都能根據信道質量選擇合適的傳輸速率,充分利用了信道資源,提高了系統的吞吐量。
下面通過仿真平臺 NS2[7]對文中提出的協議和RBAR 協議進行性能比較。模擬場景大小為200 m×200 m,物理層采用直接序列展頻技術(DSSS),基于IEEE 802.11a標準,業務產生采用 ON-OFF模式,每個包大小按照指數分布函數來確定,最大為1 024 字節,TCP協議為 AODV,節點的移動速度1~10 m/s,模擬時間為200 s。
通過不斷增加站點數目來考察 TCP吞吐量情況。圖3顯示了文中修改的協議和RBAR協議的端到端吞吐量比較曲線。可以證實由于站點數增多,相互碰撞,會造成吞吐量快速下降。但是由于改進協議在數據包過長時采用基于TCP吞吐量的分段速率自適應傳輸,相比RBAR協議有一定的提高。
當節點之間移動速度增加時,從圖4可以看出提出的協議能夠保持較高的吞吐量。這是因為該方法不僅通過發送端的RTS包估計下一個數據包的包誤差率,還通過估計TCP吞吐量為下次傳輸選擇合適的速率。另外分段速率自適應傳輸在一定程度上提高了TCP吞吐量。

圖3 吞吐量和節點數的關系

圖4 節點速度和吞吐量的關系
文中提出的改進MAC 層速率自適應協議[8],更好地利用了物理層的多速率能力,接收端通過計算即將到來數據包的包誤差率和TCP吞吐量性能,選擇合適的傳輸速率,對于分段數據幀,每一段都能自適應選擇合適的速率,跟RBAR協議相比,無需對物理層進行修改,協議簡單容易實現,不僅提高了性能,還保持了與802.11標準的兼容性和互操作性。
文中創新點:提出了一種改進的 MAC 層速率自適應協議,該協議實現簡單,與傳統標準兼容性好,在提高TCP吞吐量的基礎上能適應快速變化的無線信道,對于分段傳輸的數據幀,每一幀都能自適應地選擇最優傳輸速率,從而提高系統的吞吐量。
[1] 侯祥博,王一強,楊金政.移動Ad Hoc 網絡技術研究及應用[J].通信技術,2009,42(08):15-18.
[2] IEEE 802.11 Working Group. Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)Specifications[S].IEEE Std 802.11 -2007. New York,USA: IEEE, 2007:1-1184.
[3] 陳松.一種速率自適應技術的設計[J].信息安全與通信保密,2011(09):70-71.
[4] SHEU S, WANG Y, YIN H,et al.Adaptive Rate Controller for Mobile ad hoc Networks[J]. International Journal of Mobile Communications, 2003,1(03):312-328.
[5] 祁志娟,劉偉,張麗麗.無線Ad Hoc網絡MAC層速率自適應技術研究[J].通信技術,2010,43(02):172-173.
[6] NAITO K, OKADA H, SAITO M,et al.New Analytical Model for TCP in Wireless Environments[J].IEICE Transactions on Fundamentals,2002,E85-A(07):1501-1510.
[7] 方路平,劉世華,陳盼,等.NS-2網絡模擬基礎與應用[M].北京:國防工業出版社,2008.
[8] 王婷婷,李興德,周山泉.移動Ad Hoc網絡的安全路由協議研究[J].信息安全與通信保密,2007(08):182-184.