朱曉浪 蔡圣所 朱鋼
摘要:該文結(jié)合靜態(tài)TDMA(Time Division Multiple Access)提出了一種定向時分MAC協(xié)議,該協(xié)議將節(jié)點分為中心節(jié)點和普通節(jié)點,普通節(jié)點之間的通信需要中心節(jié)點轉(zhuǎn)發(fā)。所有節(jié)點周期性切換天線方向。當(dāng)中心節(jié)點和普通節(jié)點天線對準(zhǔn)后,先進行RTS和CTS交互,然后傳輸數(shù)據(jù)。最后詳細(xì)給出了該協(xié)議在GloMoSim中的實現(xiàn)方法,并對協(xié)議性能進行了仿真分析。
關(guān)鍵詞:MAC協(xié)議;TDMA;定向時分;GloMoSim
中圖分類號:TP393 文獻標(biāo)識碼:A 文章編號:1009-3044(2015)01-0044-04
無線自組網(wǎng)(ad hoc networks)是一種新型的無線通信網(wǎng)絡(luò)。由于它具有可靠性高和抗毀性強等優(yōu)點,近年來越來越受到研究者的關(guān)注。媒質(zhì)接入控制(Media Access Control,MAC)協(xié)議決定著無線信道的接入方式,對ad hoc網(wǎng)絡(luò)的整體性能起著重要影響。因此,MAC協(xié)議一直是ad hoc網(wǎng)絡(luò)協(xié)議棧研究的重點。
目前ad hoc網(wǎng)絡(luò)MAC協(xié)議根據(jù)天線技術(shù)可以分為基于全向天線和基于定向天線兩類?;谌蛱炀€的MAC協(xié)議有DCF[1](Distribution Coordination Function)、MACA[2](Multiple Access with Collision Avoidance)、TDMA[3]等。雖然大部分基于全向天線的MAC協(xié)議得到廣泛應(yīng)用,但近年來,定向天線因其天線增益高,傳輸距離遠(yuǎn)等優(yōu)勢贏得了研究人員的廣泛關(guān)注,基于定向天線MAC協(xié)議的設(shè)計與優(yōu)化也成了無線ad hoc網(wǎng)絡(luò)領(lǐng)域的熱點問題。DMAC[4](Directional MAC)是最早提出的定向MAC協(xié)議。該協(xié)議基于IEEE802.11,以定向發(fā)送RTS,全向發(fā)送CTS的方式預(yù)約信道,同時DMAC協(xié)議設(shè)置定向網(wǎng)絡(luò)分配矢量(DNAV)減小沖突。相比IEEE802.11,DMAC協(xié)議有較高的吞吐量性能。Takai M[5]等人提出的DVCS(Directional Virtual Carrier Sensing)是一種采用定向RTS/CTS交互的MAC協(xié)議。節(jié)點收到RTS后,通過計算接收功率,調(diào)整天線方向,使天線指向接收功率最大的方向發(fā)送CTS,之后進行定向數(shù)據(jù)傳輸。Roychoudhury R[6]等人提出了一種多跳RTS協(xié)議MMAC(Multi-Hop RTS MAC),該協(xié)議利用定向天線高增益的優(yōu)勢通過多跳RTS建立節(jié)點間的連接,然后定向發(fā)送CTS和DATA/ACK。
本文在靜態(tài)TDMA協(xié)議的基礎(chǔ)上,提出了一種定向時分MAC協(xié)議。收發(fā)節(jié)點周期性切換波束方向,當(dāng)收發(fā)節(jié)點波束相互對準(zhǔn)且在各自分配到的時隙內(nèi)時即可進行數(shù)據(jù)傳輸。該文首先在第2節(jié)中詳細(xì)介紹了定向時分MAC協(xié)議規(guī)約。第3節(jié)介紹了該協(xié)議在無線網(wǎng)絡(luò)仿真環(huán)境GloMoSim中的實現(xiàn)。第4節(jié)給出了仿真結(jié)果以及定向時分MAC協(xié)議的性能分析。最后對本文進行了總結(jié)。
1 定向時分MAC協(xié)議描述
1.1 靜態(tài)TDMA協(xié)議
靜態(tài)TDMA協(xié)議是最基本的時分多址MAC協(xié)議,它根據(jù)網(wǎng)絡(luò)收發(fā)節(jié)點數(shù)量,將時間軸劃分為一系列時幀,再將時幀劃分為一系列時隙并固定分配給每對收發(fā)節(jié)點。由于每個時隙只有一對收發(fā)節(jié)點進行數(shù)據(jù)傳輸,因此靜態(tài)TDMA協(xié)議具有無沖突的特點。
1.2 定向時分MAC協(xié)議
本文在靜態(tài)TDMA基礎(chǔ)上提出了定向時分MAC協(xié)議,該協(xié)議將節(jié)點分為兩類:中心節(jié)點和普通節(jié)點。普通節(jié)點圍繞中心節(jié)點布置。只有在中心節(jié)點和普通節(jié)點之間才有數(shù)據(jù)傳輸,普通節(jié)點之間的通信都需通過中心節(jié)點轉(zhuǎn)發(fā)。以7個節(jié)點為例(1個中心節(jié)點和6個普通節(jié)點),網(wǎng)絡(luò)拓?fù)淙鐖D1所示,節(jié)點7為中心節(jié)點,周期性逆時針切換天線方向,每次變化600,其余6個普通節(jié)點也周期性逆時針切換天線方向。
與靜態(tài)TDMA類似,定向時分MAC協(xié)議也將一個時幀劃分為若干個時隙,時隙數(shù)與普通節(jié)點數(shù)相同,如圖2所示,每個時隙固定分配給普通節(jié)點。首先中心節(jié)點周期性切換天線方向并發(fā)送RTS探測幀;當(dāng)有節(jié)點在自己分配到的時隙內(nèi)收到該探測幀時應(yīng)答CTS;中心節(jié)點收到應(yīng)答幀之后,網(wǎng)絡(luò)層隊列中若有到達(dá)該節(jié)點的數(shù)據(jù)包則開始發(fā)送,否則等待對方發(fā)送數(shù)據(jù)包;發(fā)送應(yīng)答幀的節(jié)點在一定時間內(nèi)沒有收到中心節(jié)點發(fā)送的數(shù)據(jù)包,則自己發(fā)送。假設(shè)各個節(jié)點時間都是同步的,時隙劃分如圖3所示,圖(a)表示一次數(shù)據(jù)傳輸?shù)倪^程。圖(b)和圖(c)表示中心節(jié)點和普通節(jié)點之間信道預(yù)約成功的過程。天線最小切換速度必須大于一次RTS幀和CTS幀交互的時間。由于普通節(jié)點之間通信需要靠中心節(jié)點轉(zhuǎn)發(fā),為提高網(wǎng)絡(luò)吞吐量,一般中心節(jié)點的切換速度要大于普通節(jié)點,使得中心節(jié)點能夠較多地與普通節(jié)點進行交互。
引入定向天線后的TDMA協(xié)議采用一種類似輪詢的方式進行信道預(yù)約,中心節(jié)點不需要知道普通節(jié)點的位置信息,也不存在鄰節(jié)點發(fā)現(xiàn)問題,相比其他的定向MAC協(xié)議,具有簡單易行的優(yōu)點。
2 定向時分MAC協(xié)議實現(xiàn)
2.1 仿真環(huán)境
本文仿真采用由加州大學(xué)洛杉磯分校UCLA(University of California in Los Angeles)開發(fā)的無線網(wǎng)絡(luò)仿真環(huán)境GloMoSim[7],它是一種基于Parsec[8](Parallel Simulation Environment for Complex System)語言的離散事件仿真環(huán)境。GloMoSim完全采用OSI體系的分層結(jié)構(gòu)。從應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、MAC層到物理層,GloMoSim不僅提供了一些適用于無線自組網(wǎng)的協(xié)議代碼,而且具有良好的可擴展性,能夠讓用戶添加自己設(shè)計的協(xié)議。同時,GloMoSim支持節(jié)點的移動模型。
2.2 仿真實現(xiàn)方法
為了對定向時分MAC協(xié)議的性能進行測試,我們在GloMoSim的MAC層中添加了自己編寫的定向時分MAC協(xié)議代碼,在物理層中添加了模擬天線切換的代碼。
根據(jù)協(xié)議規(guī)約,將時隙狀態(tài)分為三種TDMA_SLOT_STATUS_TR、TDMA_SLOT_STATUS_RT和TDMA_SLOT_STATUS_IDLE。由于中心節(jié)點需要不斷發(fā)送RTS,時隙狀態(tài)設(shè)置會一直是TDMA_SLOT_STATUS_TR,TR表示中心節(jié)點與普通節(jié)點交互成功后先發(fā)數(shù)據(jù)包,后接收普通節(jié)點發(fā)送的數(shù)據(jù)包,RT則相反。普通節(jié)點只有當(dāng)時隙狀態(tài)是TDMA_SLOT_STATUS_RT時才能接收和發(fā)送數(shù)據(jù)。仿真開始時,中心節(jié)點除了定時每個時隙外,還要定時發(fā)送RTS。每次RTS發(fā)完后,都要等待CTS的應(yīng)答,若沒有收到CTS,則在下一個天線切換方向時刻重新發(fā)送RTS。當(dāng)收到CTS時,中心節(jié)點取出網(wǎng)絡(luò)層隊列中的數(shù)據(jù)包,判斷是否發(fā)往對方(CTS里包含發(fā)送節(jié)點的地址),若是則發(fā)送數(shù)據(jù)幀,否則開啟定時器等待對方發(fā)送。定時器的使用能夠有效防止因等待時間過長導(dǎo)致的時隙浪費。發(fā)送完CTS的普通節(jié)點先定時等待中心節(jié)點發(fā)送數(shù)據(jù),接收完數(shù)據(jù)幀或定時器超時后才開始本方的數(shù)據(jù)幀發(fā)送。整個過程必須在一個時隙內(nèi)完成。
RTS和CTS的交互可能出現(xiàn)在時隙的末尾,導(dǎo)致數(shù)據(jù)傳輸無法完成。為避免這種情況的發(fā)生,每次發(fā)送數(shù)據(jù)前,判斷當(dāng)前時刻到時隙結(jié)束這段時間是否能夠進行一次數(shù)據(jù)傳輸,只有滿足這個條件才能發(fā)送數(shù)據(jù),否則就進入下一個時隙。時隙長度的選取要大于一次RTS/CTS交互和兩次數(shù)據(jù)傳輸?shù)目倳r間,盡量保證RTS和CTS能夠在時隙前面部分交互,從而為后面的數(shù)據(jù)傳輸預(yù)留足夠的時間,防止時隙的過度浪費。在仿真中,我們設(shè)置一個時隙長度為多次RTS/CTS交互的時間加上兩次數(shù)據(jù)傳輸?shù)臅r間。
在物理層,我們采用波束切換的天線模型。添加結(jié)構(gòu)體AntennaOrientation,里面有天線方位角,仰角和波束夾角。仿真開始后,物理層定時切換天線方向,中心節(jié)點的天線切換時間與發(fā)送RTS的時間間隔是一致的,按照圖1所示,每次天線方位角改變600。定義了兩個有關(guān)天線的函數(shù),一個用于鎖住天線,另一個用于解鎖天線。每次發(fā)送或接收數(shù)據(jù)都要鎖住天線,以免在發(fā)送數(shù)據(jù)時切換天線方向影響數(shù)據(jù)的傳輸。數(shù)據(jù)接收完成后必須解鎖天線,防止下一次切換時間超時,天線仍停留在原方向。發(fā)送RTS前必須檢查天線狀態(tài),因為定時發(fā)送RTS的時間要小于傳輸數(shù)據(jù)的時間,這樣就能避免在發(fā)送數(shù)據(jù)幀的同時發(fā)送RTS。對于數(shù)據(jù)能否接收需根據(jù)兩個節(jié)點所處位置和天線信息作出判斷。
3 仿真結(jié)果分析
3.1 仿真參數(shù)配置
針對圖1所示的拓?fù)渥鞣治?。具體仿真參數(shù)設(shè)置如下:
① 網(wǎng)絡(luò)場景配置
在GloMoSim的nodes.input文件中配置如圖1所示的7個節(jié)點, 6個普通節(jié)點圍繞中心節(jié)點構(gòu)成一個正六邊形,中心節(jié)點與普通節(jié)點之間的距離為200m。
② 仿真協(xié)議配置
物理層主要的配置信息如表1所示。所有節(jié)點的天線初始方位角為0,仰角為0。中心節(jié)點天線方向切換速度固定為600/600ms,普通節(jié)點天線方向切換速度為600/7*600ms。為簡化問題,我們認(rèn)為天線在波束方向上呈圓錐形,增益為1。節(jié)點對應(yīng)接收門限下的傳輸范圍為250m。定向時分MAC協(xié)議的每一時幀劃分為6個時隙,分配給6個普通節(jié)點,每個時隙長度設(shè)為9600us。在routes.in文件中配置靜態(tài)路由信息。應(yīng)用層使用CBR恒定比特率流,節(jié)點1和2,3和4,5和6相互接收來自對方的數(shù)據(jù)包,數(shù)據(jù)包長度為512個字節(jié),發(fā)包間隔為0.1s,仿真時長為100s。
3.2 結(jié)果分析
在上述仿真參數(shù)配置下,我們得到如圖4所示的仿真結(jié)果。在時隙長度為9.6ms,中心節(jié)點與普通節(jié)點天線切換速度比為7:1的條件下,中心節(jié)點與每個普通節(jié)點的交互比較平均,所以吞吐量非常接近。圖5給出的是在相同參數(shù)配置下,業(yè)務(wù)流從1增加到6得到的網(wǎng)絡(luò)總吞吐量??梢钥闯鐾掏铝拷凭€性變化,業(yè)務(wù)流越多,時隙利用率也越大。圖6給出的是在轉(zhuǎn)速比為7:1的條件下,改變時隙長度所得到的網(wǎng)絡(luò)總吞吐量。從圖中可以清楚地看到網(wǎng)絡(luò)總吞吐量先上升后下降。正如前面所述,增大時隙長度可以保證中心節(jié)點與普通節(jié)點有更大的機會相互傳輸數(shù)據(jù),提高網(wǎng)絡(luò)總吞吐量,但增大時隙的同時浪費的時間也越多,反而會導(dǎo)致吞吐量下降。因此,選取合適的時隙長度有利于提高吞吐量。圖7給出不同時隙長度下,中心節(jié)點與普通節(jié)點天線切換速度比對網(wǎng)絡(luò)總吞吐量的影響。從圖中可以清楚地看到小的轉(zhuǎn)速比不利于提高網(wǎng)絡(luò)吞吐量性能。中心節(jié)點與普通節(jié)點天線切換的相對速度越小,它們之間交互的間隔就越大。
4 結(jié)束語
本文主要介紹了一種無線自組網(wǎng)定向時分MAC協(xié)議,并在GloMoSim環(huán)境下實現(xiàn)了該協(xié)議以及作了仿真分析。從仿真結(jié)果我們可以看出,定向時分MAC協(xié)議能夠結(jié)合靜態(tài)TDMA和定向天線的特點,時隙長度和天線轉(zhuǎn)速等參數(shù)的設(shè)置對協(xié)議性能具有很大影響。因此,在后續(xù)工作中,我們將繼續(xù)研究如何設(shè)計網(wǎng)絡(luò)參數(shù)優(yōu)化協(xié)議性能。
參考文獻:
[1] Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications[S]. IEEE Standard 802.11, 1999.
[2] Karn P. MACA: A new channel access method for packet radio[C]. Proceedings of the 9th ARRL Computer Networking Conference, 1999, 9:134-140.
[3] Glisic S G, Leppanen P A. Wireless communications: TDMA versus CDMA[M]. Kluwer academic publishers, 1997.
[4] Ko Y B, Shankarkumar V, Vaidya N F. Medium access control protocols using directional antennas in ad hoc networks[C]. In INFOCOM 2000. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. IEEE. 2000, 1: 13-21.
[5] Takai M, Martin J, Bagrodia R, et al. Directional virtual carrier sensing for directional antennas in mobile ad hoc networks[C]. Proceedings of the 3rd ACM international symposium on Mobile ad hoc networking & computing. ACM, 2002: 183-193.
[6] Choudhury R R, Yang X, Ramanathan R, et al. Using directional antennas for medium access control in ad hoc networks[C]. Proceedings of the 8th annual international conference on Mobile computing and networking. ACM, 2002: 59-70.
[7] Zeng X, Bagrodia R, Gerla M. GloMoSim: A Library for Parallel Simulation of Large-scale Wireless Networks[C]. Twelfth Workshop on Parallel and Distributed Simulation, 1998. Proceedings.
[8] Bagrodia R, Meyer R, Takai M, et al. Parsec: A parallel simulation environment for complex systems[J]. Computer, 1998, 31(10): 77-85.