楊 文 李 霞
(東南大學(xué)信息科學(xué)與工程學(xué)院,南京 210096)
水聲通信網(wǎng)在海洋信息采集、環(huán)境監(jiān)測、災(zāi)難預(yù)報(bào)、輔助導(dǎo)航、軍事監(jiān)視等領(lǐng)域有著重要的應(yīng)用[1].目前,水下通信通常采用聲波作為傳輸媒介,但是水聲信道具有長傳播延時(shí)、可用帶寬窄、發(fā)送速率低、時(shí)變多徑復(fù)雜等[1-2]不同于陸面無線信道的特性,這使得水聲通信網(wǎng)MAC層協(xié)議設(shè)計(jì)面臨巨大的挑戰(zhàn).
針對水聲網(wǎng)絡(luò)的特點(diǎn),許多學(xué)者提出了各種不同的MAC協(xié)議,主要分為競爭類和分配類[3]兩大類.競爭類MAC協(xié)議的設(shè)計(jì)重點(diǎn)在于如何有效地避免碰撞和協(xié)調(diào)競爭,而分配類MAC協(xié)議的設(shè)計(jì)重點(diǎn)在于如何高效地分配信道資源和防止干擾;兩類協(xié)議都可以引入合適的能量控制策略.
文獻(xiàn)[4]在 FAMA[5]協(xié)議的基礎(chǔ)上提出了時(shí)隙FAMA協(xié)議,它綜合了CSMA和時(shí)隙Aloha協(xié)議的基本特點(diǎn)來獲得較高的吞吐量,但沒有考慮能量有效性問題,并且其吞吐量隨節(jié)點(diǎn)數(shù)目的增加而減少.文獻(xiàn)[6]提出了一種分布式節(jié)能的MAC協(xié)議,它通過有效地減少碰撞次數(shù)來達(dá)到節(jié)能的目的,但只適合工作在均勻分布的低網(wǎng)絡(luò)負(fù)載下.文獻(xiàn)[7]提出的R-MAC協(xié)議通過RTS/CTS預(yù)定方式占用發(fā)射時(shí)隙,有效地避免了數(shù)據(jù)包碰撞,但是控制包的較大開銷造成帶寬和能量利用效率低下.文獻(xiàn)[8]提出了一種稱為 Tone-Lohi的 MAC協(xié)議,它采用Tone預(yù)訂方式來取代傳統(tǒng)的RTS/CTS預(yù)訂方式,具有吞吐量高且能量節(jié)省的優(yōu)良性能,但性能受網(wǎng)絡(luò)負(fù)載和節(jié)點(diǎn)分布密度的影響,特別是對于高負(fù)載、低密度的網(wǎng)絡(luò),其信道利用率和丟包率之間存在突出的矛盾.
由此可見,用于水聲通信網(wǎng)的大多數(shù)MAC協(xié)議都是在通信效率和能量效率之間進(jìn)行取舍,而且有些協(xié)議的性能還依賴于網(wǎng)絡(luò)負(fù)載或網(wǎng)絡(luò)規(guī)模.由于水聲通信的信道環(huán)境惡劣,又沒有通用的網(wǎng)絡(luò)結(jié)構(gòu)模型,無法像陸面無線通信一樣設(shè)計(jì)高性能的通用MAC協(xié)議,所以應(yīng)從特定的應(yīng)用場合出發(fā),選擇或設(shè)計(jì)合適的網(wǎng)絡(luò)結(jié)構(gòu)模型,再充分利用網(wǎng)絡(luò)拓?fù)湫畔⒁栽O(shè)計(jì)既高效又節(jié)能的MAC協(xié)議.文獻(xiàn)[2]針對沿岸水下監(jiān)視(underwater littoral surveillance)這一典型應(yīng)用,設(shè)計(jì)了一種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),它適用于狹長或縱深區(qū)域監(jiān)測等場合.本文基于這種網(wǎng)絡(luò)結(jié)構(gòu)提出了一種全動(dòng)態(tài)TDMA協(xié)議(FDTDMA),并在不同的網(wǎng)絡(luò)負(fù)載下與加入了混合回復(fù)和固定睡眠機(jī)制的TDMA協(xié)議進(jìn)行仿真比較,結(jié)果表明,前者的通信效率和能量效用均比后者高出20%以上.
傳統(tǒng)的TDMA協(xié)議的時(shí)隙是固定分配的,每個(gè)節(jié)點(diǎn)都只在分配給自己的時(shí)隙里發(fā)送數(shù)據(jù),在其他時(shí)間接收數(shù)據(jù)或者處于空閑狀態(tài),其優(yōu)點(diǎn)是節(jié)省能量,缺點(diǎn)是在負(fù)載分布不均衡的情況下,大量時(shí)隙被浪費(fèi),信道利用率低.另外,固定時(shí)隙的TDMA協(xié)議需要嚴(yán)格的時(shí)間同步;同時(shí),網(wǎng)絡(luò)節(jié)點(diǎn)間的最大距離決定各節(jié)點(diǎn)的時(shí)隙長度,距離差異會(huì)導(dǎo)致時(shí)間浪費(fèi).為保留TDMA協(xié)議的優(yōu)點(diǎn),同時(shí)改進(jìn)其不足,本文的FD-TDMA協(xié)議引入了以下機(jī)制:
1)全動(dòng)態(tài)時(shí)隙調(diào)度 全動(dòng)態(tài)是指每個(gè)節(jié)點(diǎn)的時(shí)隙起點(diǎn),即進(jìn)入發(fā)送時(shí)隙的時(shí)間是動(dòng)態(tài)變化的,且占用的時(shí)隙長度也是動(dòng)態(tài)變化的.
2)往返調(diào)度(round-trip scheduling) 有2個(gè)調(diào)度方向,且交替循環(huán)變化.
3)混合式回復(fù) 攜帶回復(fù)(在所發(fā)的數(shù)據(jù)幀中攜帶對收到數(shù)據(jù)的確認(rèn)信息)和專門回復(fù)(發(fā)確認(rèn)信息幀)按需使用.
4)保守睡眠 盡量晚入眠且及早醒來,以保證既不耽誤時(shí)隙調(diào)度的進(jìn)度,也不錯(cuò)過接收來幀.
引入全動(dòng)態(tài)時(shí)隙調(diào)度機(jī)制是為了使協(xié)議適應(yīng)不同的負(fù)載情況,且更高效地利用信道資源,而動(dòng)態(tài)調(diào)度需要依賴于相鄰節(jié)點(diǎn)的發(fā)送情況,所以調(diào)度過程只能在空間上連續(xù)進(jìn)行,因而采用往返調(diào)度方式.由于水聲信道的長傳播延時(shí)特性,單獨(dú)發(fā)送回復(fù)需要較大的額外時(shí)間開銷,這直接影響了網(wǎng)絡(luò)的吞吐量性能,另一方面,為了保證數(shù)據(jù)交付的效率,應(yīng)讓數(shù)據(jù)的發(fā)送者能在一個(gè)往返調(diào)度周期內(nèi)知道數(shù)據(jù)是否成功傳遞,所以引入混合式回復(fù)機(jī)制.睡眠的目的是為了節(jié)能,但是為了不影響動(dòng)態(tài)時(shí)隙調(diào)度的正常推進(jìn),因而采用保守的睡眠機(jī)制.
FD-TDMA協(xié)議的設(shè)計(jì)基于以下前提假設(shè):
1)節(jié)點(diǎn)都采用廣播發(fā)送方式,且全向發(fā)射,但只有相鄰節(jié)點(diǎn)才能收到.
2)相鄰節(jié)點(diǎn)所發(fā)送的數(shù)據(jù)幀剛到達(dá)本節(jié)點(diǎn),物理層只需再經(jīng)過一段接收控制幀所需的時(shí)間就足以將“有幀到來”的信息通知到MAC層,而不需要等到將數(shù)據(jù)幀接收完之后.
3)網(wǎng)絡(luò)是靜態(tài)的,其參數(shù)(包括網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)、節(jié)點(diǎn)編號、相鄰節(jié)點(diǎn)間的最大和最小距離等)都在網(wǎng)絡(luò)工作前已確定.
FD-TDMA協(xié)議中,節(jié)點(diǎn)所發(fā)送的幀包括數(shù)據(jù)幀(D幀)和控制幀,控制幀又分為回復(fù)幀(A幀)和通知幀(I幀).對所有幀,節(jié)點(diǎn)都只在自己的發(fā)送時(shí)隙中發(fā)送,而在其鄰居節(jié)點(diǎn)的發(fā)送時(shí)隙里接收.各幀的發(fā)送規(guī)則如下:
1)D幀 所有的數(shù)據(jù)幀到來后都在緩沖隊(duì)列中排隊(duì),節(jié)點(diǎn)進(jìn)入自己的時(shí)隙后再發(fā)送.
2)A幀 對收到的數(shù)據(jù)幀盡早給予回復(fù),即如果本節(jié)點(diǎn)從上次退出發(fā)送狀態(tài)到本次進(jìn)入發(fā)送狀態(tài)這段時(shí)間內(nèi),收到了發(fā)給自己的數(shù)據(jù)幀,那么在本次發(fā)送時(shí)隙里將發(fā)送所有確認(rèn)(ACK)信息;若此時(shí)本節(jié)點(diǎn)沒有數(shù)據(jù)需要發(fā)送,則專門發(fā)送一個(gè)包含所有ACK信息的回復(fù)幀(A幀),若有數(shù)據(jù)需要發(fā)送,則將所有ACK信息攜帶在D幀中發(fā)送.
3)I幀 用于保證網(wǎng)絡(luò)的時(shí)隙調(diào)度正常往前推進(jìn).如果最近(即與本節(jié)點(diǎn)的編號相差1)的前續(xù)節(jié)點(diǎn)沒有發(fā)任何幀,且接下來本節(jié)點(diǎn)進(jìn)入自己的發(fā)送時(shí)隙后也沒有D幀或A幀需要發(fā)送,則發(fā)送I幀以通知其后續(xù)節(jié)點(diǎn):時(shí)隙調(diào)度已經(jīng)推進(jìn)到本節(jié)點(diǎn).這也有助于其前續(xù)節(jié)點(diǎn)盡早進(jìn)入睡眠狀態(tài).
網(wǎng)絡(luò)的時(shí)隙調(diào)度順序如圖1所示.在一個(gè)往返調(diào)度周期中,端節(jié)點(diǎn)(0和7)只占用時(shí)隙一次,對其而言調(diào)度方向不變,而其他節(jié)點(diǎn)則2次進(jìn)入發(fā)送時(shí)隙,并且2次的調(diào)度方向相反.
圖1 網(wǎng)絡(luò)的時(shí)隙調(diào)度順序
網(wǎng)絡(luò)中各節(jié)點(diǎn)內(nèi)部的狀態(tài)轉(zhuǎn)移過程如圖2所示,各節(jié)點(diǎn)通過維護(hù)自己的狀態(tài)進(jìn)程來實(shí)現(xiàn)網(wǎng)絡(luò)的動(dòng)態(tài)時(shí)隙調(diào)度.節(jié)點(diǎn)狀態(tài)進(jìn)程的算法如下:
①節(jié)點(diǎn)在初始化狀態(tài)中配置網(wǎng)絡(luò)參數(shù),初始化等待時(shí)間(即相對于當(dāng)前時(shí)刻,將在等待狀態(tài)中停留的時(shí)間),并初始化調(diào)度方向(節(jié)點(diǎn)0為反向,其他節(jié)點(diǎn)為正向),再進(jìn)入等待狀態(tài).
②節(jié)點(diǎn)在等待狀態(tài)中根據(jù)其前續(xù)節(jié)點(diǎn)的發(fā)送情況,更新等待時(shí)間,若收到了最近的前續(xù)節(jié)點(diǎn)發(fā)送的信息,則還需初始化接收時(shí)間(即相對于當(dāng)前時(shí)刻,將在接收狀態(tài)中停留的時(shí)間),而在最后的等待時(shí)間過去之后便進(jìn)入發(fā)送狀態(tài).
③按上述規(guī)則發(fā)送D幀、或A幀、或I幀,并在發(fā)送之前初始化接收時(shí)間,發(fā)送后立即進(jìn)入接收狀態(tài);若沒有信息需要發(fā)送,則不發(fā)送任何幀,直接進(jìn)入接收狀態(tài).
圖2 節(jié)點(diǎn)的狀態(tài)轉(zhuǎn)移
④在接收狀態(tài)根據(jù)后續(xù)節(jié)點(diǎn)的發(fā)送情況,更新接收時(shí)間,而在最后的接收時(shí)間過去后,改變調(diào)度方向(端節(jié)點(diǎn)0和7的調(diào)度方向保持不變,其他節(jié)點(diǎn)的調(diào)度方向相反),確定睡眠時(shí)間(即相對于當(dāng)前時(shí)刻,將在睡眠狀態(tài)中停留的時(shí)間),進(jìn)入睡眠狀態(tài)(只有定時(shí)時(shí)鐘在走,節(jié)點(diǎn)無收發(fā)功能).
⑤睡眠結(jié)束時(shí)發(fā)生定時(shí)中斷,初始化等待時(shí)間,進(jìn)入等待狀態(tài),執(zhí)行步驟②.
每個(gè)節(jié)點(diǎn)都進(jìn)行著上述狀態(tài)轉(zhuǎn)移過程,動(dòng)態(tài)并實(shí)時(shí)地維護(hù)著自己的等待時(shí)間、接收時(shí)間和睡眠時(shí)間,而在自己的發(fā)送時(shí)隙到來(等待時(shí)間為0)時(shí)進(jìn)入發(fā)送狀態(tài).在任意時(shí)刻始終只有不多于一個(gè)節(jié)點(diǎn)處于發(fā)送狀態(tài),占用了發(fā)送時(shí)隙,其前續(xù)節(jié)點(diǎn)和后續(xù)節(jié)點(diǎn)分別處于接收狀態(tài)和等待狀態(tài),而非鄰居節(jié)點(diǎn)則處于睡眠狀態(tài)或者等待狀態(tài)(由于保守睡眠的緣故).圖3展示了在某一時(shí)刻網(wǎng)絡(luò)中各節(jié)點(diǎn)所處的狀態(tài),如網(wǎng)絡(luò)調(diào)度方向?yàn)?,當(dāng)節(jié)點(diǎn)3處于發(fā)送狀態(tài)時(shí),節(jié)點(diǎn)1和節(jié)點(diǎn)2處于接收狀態(tài),節(jié)點(diǎn)4和節(jié)點(diǎn)5處于等待狀態(tài),其他節(jié)點(diǎn)處于睡眠狀態(tài).
圖3 時(shí)隙調(diào)度過程中某一時(shí)刻的節(jié)點(diǎn)狀態(tài)示意圖
要保證全網(wǎng)節(jié)點(diǎn)協(xié)調(diào)、有序、高效地工作,關(guān)鍵在于接收時(shí)間tr、睡眠時(shí)間ts和等待時(shí)間tw的計(jì)算.計(jì)算這3個(gè)時(shí)間完全基于1.2節(jié)中的3個(gè)前提假設(shè),并需確定如下參數(shù):
數(shù)據(jù)幀單跳最大傳輸時(shí)延為
控制幀單跳最大傳輸時(shí)延為
鄰節(jié)點(diǎn)距離極差時(shí)延為
式中,Dmax和Dmin分別為相鄰節(jié)點(diǎn)的最大距離和最小距離;Ld為數(shù)據(jù)幀長度;Lc為控制幀(短幀)的長度;R為發(fā)送速率;V為傳播速度;δ是為了補(bǔ)償時(shí)鐘定時(shí)偏差和傳播速度的時(shí)變性而設(shè)的時(shí)間裕度.設(shè)網(wǎng)絡(luò)中的節(jié)點(diǎn)總數(shù)為M,節(jié)點(diǎn)編號順序如圖3所示,最大的節(jié)點(diǎn)編號為N=M-1.
1.3.1 接收時(shí)間tr的初始化與更新
接收時(shí)間的初始化是在等待或者發(fā)送狀態(tài)中進(jìn)行的.如果在等待狀態(tài)中收到最近(與本節(jié)點(diǎn)的編號相差1)的前續(xù)節(jié)點(diǎn)發(fā)送的幀,則接收時(shí)間初始化為
設(shè)本節(jié)點(diǎn)2在等待狀態(tài)中收到了其最近的前續(xù)節(jié)點(diǎn)1發(fā)送的信息,這時(shí)接收時(shí)間的初始化要以本節(jié)點(diǎn)2進(jìn)入發(fā)送狀態(tài)后不發(fā)送信息這一最壞情況來計(jì)算,以保證正常情況下本節(jié)點(diǎn)在這個(gè)初始化時(shí)間內(nèi)必將收到后續(xù)節(jié)點(diǎn)的信息.節(jié)點(diǎn)2收到節(jié)點(diǎn)1的信息后,會(huì)作最保守的估計(jì)(節(jié)點(diǎn)3可能要晚TΔ才收到節(jié)點(diǎn)1的信息),而節(jié)點(diǎn)3收到節(jié)點(diǎn)1的信息后,也會(huì)作最保守的估計(jì)(節(jié)點(diǎn)2可能要晚TΔ才收到節(jié)點(diǎn)1的信息),所以節(jié)點(diǎn)3要在收到節(jié)點(diǎn)1的信息后再等(TΔ+Tc)才能判斷節(jié)點(diǎn)2沒發(fā)信息,然后進(jìn)入發(fā)送狀態(tài)發(fā)送信息.再過時(shí)間Tc后,本節(jié)點(diǎn)2就足以收到節(jié)點(diǎn)3的信息.所以,節(jié)點(diǎn)2在等待狀態(tài)中收到了其最近的前續(xù)節(jié)點(diǎn)1發(fā)送的信息后將接收時(shí)間初始化為TΔ+(Tc+TΔ)+Tc,即式(4).
如果在發(fā)送狀態(tài)發(fā)送了D幀,則在發(fā)送之前將接收時(shí)間初始化為
但是,對于正向調(diào)度的節(jié)點(diǎn)(N-1)和反向調(diào)度的節(jié)點(diǎn)1來說,因?yàn)槠浜罄m(xù)節(jié)點(diǎn)只有一個(gè),所以接收時(shí)間的初始化值更小,即
設(shè)本節(jié)點(diǎn)2進(jìn)入發(fā)送狀態(tài)后有數(shù)據(jù)需要發(fā)送,這時(shí)對接收時(shí)間的初始化要以后續(xù)節(jié)點(diǎn)3進(jìn)入發(fā)送狀態(tài)后不發(fā)送信息這一最壞情況來計(jì)算.本節(jié)點(diǎn)2的數(shù)據(jù)幀從發(fā)送開始,經(jīng)過時(shí)間Td后,必將被后續(xù)節(jié)點(diǎn)3和節(jié)點(diǎn)4接收,而節(jié)點(diǎn)4收到后會(huì)作最保守的估計(jì)(節(jié)點(diǎn)3可能要晚TΔ才能收到),所以節(jié)點(diǎn)4在收到節(jié)點(diǎn)2的數(shù)據(jù)幀后要再等(TΔ+Tc)才能判斷節(jié)點(diǎn)3沒發(fā)信息,然后進(jìn)入發(fā)送狀態(tài)發(fā)送信息,再過時(shí)間Tc后,本節(jié)點(diǎn)2就足以收到節(jié)點(diǎn)4的信息.所以本節(jié)點(diǎn)2在發(fā)送狀態(tài)中發(fā)送D幀之前,應(yīng)將接收時(shí)間初始化為Td+(TΔ+Tc)+Tc,即式(5).同理,易推得式(6).
如果在發(fā)送狀態(tài)發(fā)送了A幀或者I幀,則接收時(shí)間初始化為
同樣,此時(shí)對于正向調(diào)度的節(jié)點(diǎn)(N-1)和反向調(diào)度的節(jié)點(diǎn)1來說,接收時(shí)間的初始化值更小,即
接收時(shí)間的上述初始化可以保證當(dāng)鏈路發(fā)生局部異常時(shí),節(jié)點(diǎn)的狀態(tài)轉(zhuǎn)移仍能正常進(jìn)行,而不至于當(dāng)鏈路恢復(fù)正常后,時(shí)隙調(diào)度陷入混亂.
接收時(shí)間的更新在接收狀態(tài)中進(jìn)行,節(jié)點(diǎn)進(jìn)入接收狀態(tài)后在上述初始化的接收時(shí)間內(nèi)等后續(xù)節(jié)點(diǎn)發(fā)送的幀,如果在這個(gè)時(shí)間結(jié)束時(shí)還沒等到,則退出接收狀態(tài)進(jìn)入睡眠狀態(tài);否則按下列算法更新接收時(shí)間:
①若收到最近的后續(xù)節(jié)點(diǎn)發(fā)送的幀,則接收時(shí)間更新為
繼而進(jìn)行新的等待-更新過程.但是,對于正向調(diào)度的節(jié)點(diǎn)(N-1)和反向調(diào)度的節(jié)點(diǎn)1來說,因其后續(xù)節(jié)點(diǎn)只有一個(gè),此時(shí)接收時(shí)間應(yīng)更新為0,因而立即進(jìn)入睡眠狀態(tài).
②若收到次近的后續(xù)節(jié)點(diǎn)發(fā)送的幀,則接收時(shí)間更新為0,因而立即進(jìn)入睡眠狀態(tài).1.3.2 睡眠時(shí)間ts的確定
參考圖3,當(dāng)網(wǎng)絡(luò)調(diào)度方向?yàn)?時(shí),節(jié)點(diǎn)i(<5)經(jīng)過了自己的發(fā)送時(shí)隙后,要等到其后續(xù)節(jié)點(diǎn)(i+1)和(i+2)的發(fā)送時(shí)隙過去之后才進(jìn)入睡眠(此時(shí)節(jié)點(diǎn)i已由正向調(diào)度進(jìn)入反向調(diào)度時(shí)期,節(jié)點(diǎn)(i+1)和(i+2)成為其前續(xù)節(jié)點(diǎn)),而又要在節(jié)點(diǎn)(i+2)和(i+1)進(jìn)入發(fā)送時(shí)隙之前醒來;又由于是保守睡眠,所以要以最快的情況(即i在睡眠時(shí)期,網(wǎng)絡(luò)中只有I幀傳送)計(jì)算ts.因此,節(jié)點(diǎn)i在其反向調(diào)度時(shí)期的睡眠時(shí)間為
而由于節(jié)點(diǎn)5和節(jié)點(diǎn)6是端節(jié)點(diǎn)7的鄰節(jié)點(diǎn),其睡眠時(shí)間都為0.
由以上可歸納,節(jié)點(diǎn)j在反向調(diào)度時(shí)期的睡眠時(shí)間為
類似地,節(jié)點(diǎn)j在正向調(diào)度時(shí)期的睡眠時(shí)間為ts(j)=max{(2j-5)Tc,0} 0 < j≤N (12)1.3.3 等待時(shí)間tw的初始化與更新
在初始化狀態(tài)中,等待時(shí)間的初始化值為
在睡眠結(jié)束后進(jìn)入等待狀態(tài)之前,等待時(shí)間的初始化與睡眠時(shí)間的計(jì)算過程類似,不同的是:因?yàn)橐WC在其前續(xù)節(jié)點(diǎn)進(jìn)入發(fā)送時(shí)隙后,本節(jié)點(diǎn)必須處于等待狀態(tài),直至前續(xù)節(jié)點(diǎn)的發(fā)送時(shí)隙已經(jīng)過去,所以這里要以最慢的情況(即自從本節(jié)點(diǎn)進(jìn)入睡眠狀態(tài)之后,網(wǎng)絡(luò)中進(jìn)入發(fā)送時(shí)隙的每個(gè)節(jié)點(diǎn)都發(fā)了D幀)來計(jì)算.因而,節(jié)點(diǎn)j(<N-2)在反向調(diào)度時(shí)期的等待時(shí)間應(yīng)初始化為
同樣,因?yàn)楣?jié)點(diǎn)(N-2)和節(jié)點(diǎn)(N-1)是端節(jié)點(diǎn)N的鄰居節(jié)點(diǎn),所以在反向調(diào)度時(shí)期其等待時(shí)間應(yīng)分別初始化為
類似地,節(jié)點(diǎn)j(>2)在正向調(diào)度時(shí)期的等待時(shí)間應(yīng)初始化為
而因?yàn)楣?jié)點(diǎn)2和節(jié)點(diǎn)1是端節(jié)點(diǎn)0的鄰居節(jié)點(diǎn),所以在正向調(diào)度時(shí)期其等待時(shí)間應(yīng)分別初始化為
端節(jié)點(diǎn)0始終處于反向調(diào)度時(shí)期,端節(jié)點(diǎn)N始終處于正向調(diào)度時(shí)期.此外需說明的是,初始化等待時(shí)間可以保證當(dāng)因鏈路或者多個(gè)相鄰節(jié)點(diǎn)失效而導(dǎo)致動(dòng)態(tài)調(diào)度無法正常推進(jìn)時(shí),網(wǎng)絡(luò)不至于完全癱瘓,而是以接近固定時(shí)隙TDMA的性能水平保持工作狀態(tài).
等待時(shí)間的更新在等待狀態(tài)中進(jìn)行,節(jié)點(diǎn)進(jìn)入等待狀態(tài)后在以上初始化的等待時(shí)間里等待前續(xù)節(jié)點(diǎn)發(fā)送的幀,如果在這個(gè)時(shí)間結(jié)束時(shí)還沒等到,則退出等待狀態(tài)進(jìn)入發(fā)送狀態(tài);否則按下列算法更新等待時(shí)間:
①若收到的是次近的前續(xù)節(jié)點(diǎn)發(fā)送的幀,則等待時(shí)間更新為
繼而進(jìn)行新的等待-更新過程.
②若收到最近的前續(xù)節(jié)點(diǎn)發(fā)送的幀,則將等待時(shí)間更新為0,因而立即進(jìn)入發(fā)送狀態(tài).
主要仿真參數(shù)有:節(jié)點(diǎn)總數(shù)M為8,相鄰節(jié)點(diǎn)間的最大距離和最小距離分別為1.5和1.0 km,傳播速率1.5 km/s;發(fā)送速率為2.4 kbit/s;信道帶寬12 kHz;調(diào)制方式采用QPSK;為了更客觀地反映網(wǎng)絡(luò)性能,采用隨機(jī)路由方式;控制幀幀長48 bit;時(shí)間裕量δ取0;MAC層緩沖隊(duì)列的容量為20個(gè)數(shù)據(jù)幀;各節(jié)點(diǎn)的業(yè)務(wù)分布為Poisson分布.以上各參數(shù)可用來調(diào)節(jié)網(wǎng)絡(luò)負(fù)載的大小.
本文主要從吞吐量、時(shí)延、能量有效性三方面[9]來評價(jià)FD-TDMA協(xié)議下網(wǎng)絡(luò)的性能,另外考慮到本協(xié)議的動(dòng)態(tài)調(diào)度方式,也將平均調(diào)度周期作為衡量通信效率的一個(gè)指標(biāo).
1)吞吐量 為了消除相同輸入負(fù)載下不同路由跳數(shù)對吞吐量統(tǒng)計(jì)的影響,用所有節(jié)點(diǎn)收到發(fā)給自己的數(shù)據(jù)比特總數(shù)除以仿真時(shí)間來計(jì)算吞吐量.同時(shí),將多跳傳遞的數(shù)據(jù)幀作為一種隱性負(fù)載(每幀傳遞跳數(shù)越多,隱性負(fù)載越大)加到網(wǎng)絡(luò)負(fù)載中去,得到總負(fù)載.
2)平均端到端延時(shí) 端到端延時(shí)通常是指數(shù)據(jù)幀從源節(jié)點(diǎn)的網(wǎng)絡(luò)層進(jìn)入MAC層緩存隊(duì)列開始,至目的節(jié)點(diǎn)MAC層將該數(shù)據(jù)幀傳送到網(wǎng)絡(luò)層時(shí)的時(shí)間差;考慮到隨機(jī)路由跳數(shù)的影響,這里采用平均單跳內(nèi)的端到端延時(shí),再對所有數(shù)據(jù)幀的平均單跳端到端延時(shí)求平均,即得平均端到端延時(shí).
3)平均調(diào)度周期 同一節(jié)點(diǎn)前后2次進(jìn)入發(fā)送時(shí)隙的時(shí)間間隔的平均值.
4)能量效用 平均單位能量所成功傳送的數(shù)據(jù)比特?cái)?shù).節(jié)點(diǎn)在發(fā)送、接收、空閑、睡眠時(shí)的功率參照文獻(xiàn)[10]中WHOI水聲Modem的功耗,并根據(jù)本文算法稍作調(diào)整,再歸一化:發(fā)送功率為1 W,等待和接收狀態(tài)的功率為0.01 W,睡眠狀態(tài)的功率為0.05 mW.
為了重點(diǎn)考察本文FD-TDMA協(xié)議中的全動(dòng)態(tài)時(shí)隙調(diào)度方式對網(wǎng)絡(luò)性能的提升,這里將FDTDMA協(xié)議與同樣加入睡眠和混合回復(fù)機(jī)制的固定時(shí)隙TDMA協(xié)議進(jìn)行仿真比較.
1)在高、中、低3種不同的負(fù)載下,F(xiàn)D-TDMA協(xié)議的網(wǎng)絡(luò)吞吐量隨數(shù)據(jù)幀與控制幀的幀長比的變化關(guān)系如圖4所示.FD-TDMA動(dòng)態(tài)調(diào)度機(jī)制的一個(gè)重要特點(diǎn)是本節(jié)點(diǎn)在不影響其他節(jié)點(diǎn)正常調(diào)度的前提下盡可能地?fù)層闷淝袄m(xù)節(jié)點(diǎn)沒有使用的那段發(fā)送時(shí)間,從而更充分地利用信道資源;又由于水聲信道中數(shù)據(jù)發(fā)送速率較低,所以網(wǎng)絡(luò)吞吐量隨著幀長比的增大而顯著提高.
圖4 FD-TDMA協(xié)議的網(wǎng)絡(luò)吞吐量與幀長比的關(guān)系
當(dāng)幀長比為8時(shí),F(xiàn)D-TDMA和TDMA協(xié)議的吞吐量性能隨負(fù)載的變化關(guān)系如圖5所示.隨著負(fù)載的增加,F(xiàn)D-TDMA相對于TDMA的吞吐量性能優(yōu)勢將逐步增大,而當(dāng)負(fù)載足夠高(每個(gè)時(shí)隙里都發(fā)送數(shù)據(jù))時(shí),這種性能優(yōu)勢保持平穩(wěn).對FDTDMA,每個(gè)數(shù)據(jù)幀的傳播時(shí)間由相鄰節(jié)點(diǎn)間的實(shí)際距離決定;而對TDMA,固定時(shí)隙中的傳播時(shí)間是由相鄰節(jié)點(diǎn)間的最大距離決定,因此大多數(shù)時(shí)隙中的部分時(shí)間被浪費(fèi).根據(jù)實(shí)際接收情況來進(jìn)行時(shí)隙調(diào)度,減少了不必要的時(shí)間浪費(fèi),這是 FDTDMA動(dòng)態(tài)調(diào)度機(jī)制的另一重要特點(diǎn).在給定的網(wǎng)絡(luò)負(fù)載下,這一特點(diǎn)所取得的性能優(yōu)勢由網(wǎng)絡(luò)中相鄰節(jié)點(diǎn)間的距離分布決定,而上一特點(diǎn)所取得的性能優(yōu)勢則由幀長比決定.
圖5 FD-TDMA與TDMA協(xié)議的網(wǎng)絡(luò)吞吐量比較
結(jié)合圖4可知,隨著幀長比的增大,F(xiàn)D-TDMA相對TDMA的吞吐量性能優(yōu)勢將進(jìn)一步擴(kuò)大.幀長比為8時(shí),高負(fù)載下前者的吐吞量比后者高出(401.7-330.6)/330.6=21.5%.
2)數(shù)據(jù)幀與控制幀的幀長比為16時(shí),在高、中、低3種不同的負(fù)載下,F(xiàn)D-TDMA的平均調(diào)度周期隨時(shí)間的變化關(guān)系如圖6所示.平均調(diào)度周期隨著網(wǎng)絡(luò)負(fù)載的增大而增大,而由于緩沖隊(duì)列容量的限制,負(fù)載足夠大時(shí)平均調(diào)度周期達(dá)到最大.此時(shí),固定時(shí)隙TDMA的調(diào)度周期恒為(48×16/2 400+1 500/1 500)×8=10.56 s,大于 FD-TDMA的平均調(diào)度周期的最大值.
3)在高、中、低3種不同的負(fù)載下,F(xiàn)D-TDMA與TDMA的平均端到端延時(shí)性能曲線如圖7所示.由以上分析知,F(xiàn)D-TDMA動(dòng)態(tài)調(diào)度機(jī)制既合理搶用時(shí)間,又不無故浪費(fèi)時(shí)間,這必然使其調(diào)度進(jìn)程快于TDMA,所以在不同負(fù)載下,F(xiàn)D-TDMA的平均端到端延時(shí)都明顯比TDMA的小.
圖6 FD-TDMA協(xié)議的平均調(diào)度周期
圖7 FD-TDMA與TDMA協(xié)議的平均端到端延時(shí)比較
吞吐量、平均調(diào)度周期和平均端到端延時(shí)都是從不同的角度來反映網(wǎng)絡(luò)的通信效率,其統(tǒng)計(jì)結(jié)果都表明,F(xiàn)D-TDMA協(xié)議的通信效率顯著高于TDMA協(xié)議.
4)在高、中、低3種不同的負(fù)載下,F(xiàn)D-TDMA協(xié)議的能量效用隨幀長比的變化關(guān)系如圖8所示.根據(jù)能量效用的定義可知,網(wǎng)絡(luò)工作所消耗的能量中,越多的能量用于發(fā)送數(shù)據(jù),能量效用就越高.所以,能量效用會(huì)隨幀長比及網(wǎng)絡(luò)負(fù)載的增加而提高;而當(dāng)網(wǎng)絡(luò)負(fù)載增到足夠大時(shí),能量效用很快達(dá)到其上限而不再隨幀長比的增大而上升.
當(dāng)幀長比為8時(shí),F(xiàn)D-TDMA和TDMA的能量效用隨網(wǎng)絡(luò)負(fù)載的變化關(guān)系如圖9所示.由前面分析可知,F(xiàn)D-TDMA的調(diào)度進(jìn)度總比TDMA的調(diào)度進(jìn)度快,若考慮網(wǎng)絡(luò)中各節(jié)點(diǎn)都進(jìn)入一次發(fā)送時(shí)隙,那么在相同負(fù)載下FD-TDMA和TDMA發(fā)送的數(shù)據(jù)量相等,但是TDMA所花的時(shí)間更多.所以,在相同的負(fù)載下FD-TDMA的能量效用總高于TDMA.在此對高負(fù)載情況下這種性能優(yōu)勢作簡單的量化:FD-TDMA與TDMA相比,平均能量效用提高(1.933 -1.528)/1.528=26.5%.
圖8 FD-TDMA協(xié)議的能量效用與幀長比的關(guān)系
圖9 FD-TDMA與TDMA協(xié)議的能量效用比較
針對一種特定拓?fù)浣Y(jié)構(gòu)的水聲網(wǎng)絡(luò),同時(shí)著眼于通信效率和能量效率2個(gè)方面,通過引入動(dòng)態(tài)往返調(diào)度、混合式回復(fù)和保守睡眠機(jī)制,設(shè)計(jì)了一種全動(dòng)態(tài)時(shí)隙調(diào)度的TDMA協(xié)議即FD-TDMA.通過OPNET仿真,在多個(gè)性能指標(biāo)下與同樣引入了睡眠和混合式回復(fù)機(jī)制的TDMA協(xié)議相比,F(xiàn)D-TDMA協(xié)議都有著顯著的優(yōu)勢.然而,對于本文的FD-TDMA協(xié)議,在網(wǎng)絡(luò)規(guī)模擴(kuò)大、網(wǎng)絡(luò)結(jié)構(gòu)擴(kuò)展和時(shí)間同步等方面還有需要分析討論和值得進(jìn)一步研究的問題.
References)
[1] Akyildiz I F,Pompili D,Melodia T.Underwater acoustic sensor networks:research challenges[J].Ad Hoc Networks(Elsevier),2005,3(3):257-279.
[2]Cardei M.Energy-efficient scheduling and hybrid communication architecture for underwater littoral surveillance[J].Computer Communications,2006,29(17):3354-3365.
[3]Shah G A.A survey on medium access control in underwater acoustic sensor networks[C]//Advanced Information Networking and Applications Workshops.Bradford,UK,2009:1178-1183.
[4]Molins M,Stojanovic M.Slotted FAMA:a MAC protocol for underwater acoustic networks[C]//Proc of the IEEE OCEANS′06Asia Conference.Singapore,2006:1-7.
[5] Fullmer C L,Garcia-Luna-Aceves J J.Floor acquisition multiple access(FAMA)for packet-radio networks[C]//Proc of the ACM SIGCOMM′95.Cambridge,MA,USA,1995:262-273.
[6] Rodoplu V,Park M K.An energy-efficient MAC protocol for underwater wireless acoustic networks[C]//Proc of MTS/IEEE OCEANS′05.Washington,DC,USA,2005:1198-1203.
[7] Xie P,Cui J H.R-MAC:an energy-efficient MAC protocol for underwater sensor networks[C]//Proc of International Conference on Wireless Algorithms,System,and Applications.Chicago,Illinois,USA,2007:187-198.
[8]Syed A A,Ye W,Heidemann J.T-Lohi:a new class of MAC protocols for underwater acoustic sensor networks,ISI-TR-638[R].California:USC/Information Sciences Institute,2007.
[9]張海霞,袁東風(fēng),馬艷波.無線通信跨層設(shè)計(jì)——從原理到應(yīng)用[M].北京:人民郵電出版社,2010:13-17.
[10]HarrisⅢ A F,Stojanovic M,Zorzi M.When underwater acoustic nodes should sleep with one eye open:idle-time power management in underwater sensor networks[C]//Proc of the1st ACM International Workshop on Underwater Networks. Los Angeles, CA,USA,2006:105-108.