趙東陽(yáng),蔡文郁,劉一博,陳 宇
(1.杭州電子科技大學(xué) 電子信息學(xué)院,浙江 杭州 310018;2.近地面探測(cè)技術(shù)重點(diǎn)實(shí)驗(yàn)室,江蘇 無(wú)錫 214035)
水下通信技術(shù)可分為兩種,分別是水下有線通信和水下無(wú)線通信。水下有線通信可以通過(guò)鋪設(shè)海底光纜來(lái)實(shí)現(xiàn),工程實(shí)施難度大,成本高。相較于水下有線通信,水下無(wú)線通信更值得研究,且應(yīng)用也更為廣泛。水下無(wú)線通信主要有水聲通信、水下電磁波通信、水下光通信和水下磁感應(yīng)通信,各通信技術(shù)優(yōu)劣對(duì)比如表1所示[1]。
表1 水下無(wú)線通信技術(shù)對(duì)比
水下無(wú)線磁感應(yīng)通信技術(shù),作為一種較為新興的水下無(wú)線通信技術(shù),具有低功耗、低時(shí)延、跨介質(zhì)傳輸?shù)葍?yōu)勢(shì),基于上述特性,把磁感應(yīng)通信作為技術(shù)基礎(chǔ),來(lái)構(gòu)建水下無(wú)線傳感網(wǎng)絡(luò)有著得天獨(dú)厚的優(yōu)勢(shì)。由于工作環(huán)境在水下,水下無(wú)線傳感網(wǎng)絡(luò)通信技術(shù)與傳統(tǒng)地面上的無(wú)線傳感網(wǎng)絡(luò)相比,通信介質(zhì)不同、部署以及更替難度大。所以對(duì)于水下傳感網(wǎng)絡(luò)的媒質(zhì)接入控制MAC(Medium Access Control Protocol,MAC)協(xié)議必須考慮更多的因素,設(shè)計(jì)一個(gè)有效的MAC協(xié)議可以在吞吐量、能耗、延遲和數(shù)據(jù)包投遞率PDR (Packet Delivery Ratio)等方面都有著很明顯的影響。
L. Sivagami[2]等人提出一種基于集群的水下無(wú)線傳感網(wǎng)絡(luò)沖突避免和TDMA(Time Division Multiple Address)調(diào)度MAC協(xié)議。最初,形成聚類(lèi),并根據(jù)節(jié)能分層聚類(lèi)算法選擇聚類(lèi)頭CH(Cluster Heads)。集群成員是CH的單躍點(diǎn)鄰居,它們?yōu)樗屑撼蓡T安排數(shù)據(jù)發(fā)送時(shí)間。使用時(shí)空沖突表執(zhí)行無(wú)沖突調(diào)度。這允許節(jié)點(diǎn)同時(shí)傳輸,只要它們的數(shù)據(jù)包在不同時(shí)間到達(dá)預(yù)定目的地。仿真結(jié)果表明,所提MAC協(xié)議在提高報(bào)文投遞率的同時(shí)降低了時(shí)延和能耗。
由于時(shí)空不確定、節(jié)點(diǎn)遠(yuǎn)近變化、窄帶寬和難同步等問(wèn)題,基于競(jìng)爭(zhēng)的MAC比無(wú)競(jìng)爭(zhēng)的MAC協(xié)議更適合水下無(wú)線通信網(wǎng)絡(luò)。為了解決這些問(wèn)題,基于競(jìng)爭(zhēng)的MAC協(xié)議按需共享網(wǎng)絡(luò)資源。基于競(jìng)爭(zhēng)的MAC協(xié)議可以細(xì)分為隨機(jī)訪問(wèn)方法的MAC協(xié)議以及基于握手的MAC協(xié)議。隨機(jī)訪問(wèn)方法適用于數(shù)據(jù)速率低、網(wǎng)絡(luò)稀疏、數(shù)據(jù)包小的水下無(wú)線通信網(wǎng)絡(luò)。相比之下,基于握手的MAC協(xié)議適用于數(shù)據(jù)速率高、網(wǎng)絡(luò)更密集、數(shù)據(jù)包大、傳輸范圍短、距離短的水下無(wú)線通信網(wǎng)絡(luò)。
Ian F. Akyildiz[3]等人認(rèn)為,載波偵聽(tīng)多路訪問(wèn)協(xié)議CSMA(Carrier Sense Multiple Access)方案可以很容易地用于基于水下磁感應(yīng)通信,因?yàn)槠鋫鞑パ舆t可以忽略不計(jì)。由于水下磁感應(yīng)通信的工作頻率相對(duì)較高,可以設(shè)計(jì)和實(shí)現(xiàn)頻分多址FDMA(Frequency Division Multiple Access)。Niaz Ahmed[4]等人提出了一種用于無(wú)線通信網(wǎng)絡(luò)中通信節(jié)點(diǎn)的節(jié)能MAC協(xié)議,同時(shí)適用于陸地和超無(wú)線通信器網(wǎng)絡(luò),具有極低的功耗和優(yōu)化的網(wǎng)絡(luò)效率。同樣地,Burhan Gulbahar[5]等人對(duì)多個(gè)用戶磁感應(yīng)通信多址通道MAC進(jìn)行了理論建模和分析,并對(duì)雙用戶MAC容量進(jìn)行了明確詳細(xì)的信道響應(yīng)、帶寬和耦合熱噪聲建模。多用戶MAC容量是通過(guò)具有相應(yīng)用戶數(shù)優(yōu)化的拉格朗日解決方案實(shí)現(xiàn)的。從理論上分析了最大化容量和接收功率的最佳方向,并對(duì)雙用戶MI-MAC進(jìn)行了數(shù)值模擬。
對(duì)于高效的通信網(wǎng)絡(luò),能源消耗、網(wǎng)絡(luò)吞吐量和服務(wù)質(zhì)量QoS(Quality of Service)需求都是重要的性能指標(biāo)。為了節(jié)省能源和提供更好的QoS,水下無(wú)線傳感器網(wǎng)絡(luò)傾向于使用跨層協(xié)議設(shè)計(jì)方法。Shih-Chun Lin[6]等人提出了一種用于無(wú)線地下傳感器網(wǎng)絡(luò)的分布式環(huán)境感知協(xié)議,而不是采用目前的分層協(xié)議方法。首先,詳細(xì)概述了從物理層到網(wǎng)絡(luò)層的不同通信功能以及應(yīng)用程序的QoS要求。利用不同層之間的交互,開(kāi)發(fā)一種稱為DEAP(Distributed Environment-Aware Protocol)的分布式環(huán)境感知協(xié)議,以滿足統(tǒng)計(jì)QoS保證,并同時(shí)實(shí)現(xiàn)最佳的節(jié)能和吞吐量增益。Supriya Tambe[7]等人針對(duì)基于磁感應(yīng)通信的水下、地下傳感網(wǎng)絡(luò),提出了一種通過(guò)優(yōu)化簇的數(shù)量來(lái)減少傳感網(wǎng)絡(luò)能耗的跨層設(shè)計(jì)方法,但是每個(gè)MAC和網(wǎng)絡(luò)層的能耗卻增加了,論文通過(guò)權(quán)衡以最大程度地降低整體能耗。
本文針對(duì)以上研究現(xiàn)狀與問(wèn)題,提出了一種基于磁感應(yīng)通信的水下鏈路網(wǎng)絡(luò)MAC協(xié)議—LM-MAC,通過(guò)為每個(gè)節(jié)點(diǎn)設(shè)置不同的等級(jí)值和優(yōu)化的睡眠機(jī)制提高網(wǎng)絡(luò)傳輸效率。
采用磁感應(yīng)通信技術(shù)構(gòu)建水下傳感網(wǎng)絡(luò)有著獨(dú)特的優(yōu)勢(shì),如通信距離適中、低延時(shí)、低功耗等。本文以磁感應(yīng)通信為基礎(chǔ)構(gòu)建水下鏈?zhǔn)骄W(wǎng)絡(luò),通過(guò)高密度部署低成本的磁感應(yīng)通信節(jié)點(diǎn),實(shí)現(xiàn)一種較大范圍的感知網(wǎng)絡(luò)。水下鏈?zhǔn)酵ㄐ啪W(wǎng)絡(luò)的應(yīng)用示意如圖1所示,多個(gè)沿線部署的固定節(jié)點(diǎn)通過(guò)中繼磁感應(yīng)通信將數(shù)據(jù)匯聚到匯聚節(jié)點(diǎn)(Sink節(jié)點(diǎn))。單鏈網(wǎng)絡(luò)拓?fù)淇梢詰?yīng)用于水下油氣管道檢測(cè),沿管道部署低成本磁感應(yīng)通信節(jié)點(diǎn),最終為管線檢測(cè)提供可選的測(cè)量方案。
圖1 水下鏈?zhǔn)骄W(wǎng)絡(luò)總體架構(gòu)
為了檢驗(yàn)MAC協(xié)議的穩(wěn)定性與泛化性,本文除了構(gòu)建單鏈拓?fù)浣Y(jié)構(gòu)還構(gòu)建了雙鏈網(wǎng)絡(luò)拓?fù)?網(wǎng)絡(luò)中存在兩個(gè)匯聚節(jié)點(diǎn)用于數(shù)據(jù)匯聚,單個(gè)節(jié)點(diǎn)除了可以和前后節(jié)點(diǎn)進(jìn)行數(shù)據(jù)通信外,還可以和相鄰單鏈網(wǎng)絡(luò)中的其他節(jié)點(diǎn)進(jìn)行通信,通信網(wǎng)絡(luò)的覆蓋范圍進(jìn)一步提高。
本文設(shè)計(jì)了一種三線圈收發(fā)一體磁感應(yīng)通信節(jié)點(diǎn),實(shí)現(xiàn)了三維全向磁感應(yīng)通信。整體硬件電路結(jié)構(gòu)如圖2所示,包括嵌入式主控模塊、信號(hào)發(fā)送模塊、信號(hào)接收模塊、電源模塊、收發(fā)功能切換模塊,能量供給采用高密度的鋰電池。
圖2 三線圈全向磁感應(yīng)通信電路結(jié)構(gòu)圖
三線圈全向磁感應(yīng)耦合模型如圖3所示,展示了位于Oxyz坐標(biāo)系原點(diǎn)的發(fā)射線圈在感應(yīng)線圈處的磁場(chǎng)分布情況如,感應(yīng)耦合線圈設(shè)計(jì)成三維正交形狀,從而保證全向都能達(dá)到磁通量的最大值。當(dāng)三源線圈時(shí)該模型在正交坐標(biāo)維度下擴(kuò)展,通過(guò)實(shí)測(cè)電路參數(shù)可以獲得等價(jià)元件參數(shù)。接收天線的三個(gè)線圈全部都能接收到信號(hào),所以對(duì)于接收端的信號(hào)處理,就是選取接收信號(hào)強(qiáng)度最大的一個(gè)線圈,進(jìn)行信號(hào)處理。
圖3 三線圈全向磁感應(yīng)耦合模型
針對(duì)鏈?zhǔn)酵負(fù)浣Y(jié)構(gòu)的水下磁感應(yīng)網(wǎng)絡(luò)系統(tǒng),本文提出了一種基于等級(jí)劃分的高效MAC協(xié)議,LM-MAC。LM-MAC協(xié)議根據(jù)每一個(gè)通信節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的邏輯跳數(shù)給每個(gè)節(jié)點(diǎn)分配一個(gè)等級(jí)值:某一個(gè)通信節(jié)點(diǎn)的等級(jí)值越小,說(shuō)明該通信節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的跳數(shù)越少。每一個(gè)通信節(jié)點(diǎn)都擁有一個(gè)唯一ID(Identity Number)值和初始等級(jí)值0,匯聚節(jié)點(diǎn)的等級(jí)值設(shè)為0。每一個(gè)通信節(jié)點(diǎn)只會(huì)接收并轉(zhuǎn)發(fā)來(lái)自等級(jí)值更大的節(jié)點(diǎn)數(shù)據(jù),最終將數(shù)據(jù)聚集至匯聚節(jié)點(diǎn),從而減少通信開(kāi)銷(xiāo),提高網(wǎng)絡(luò)能耗效率。
每個(gè)節(jié)點(diǎn)的等級(jí)建立過(guò)程如下:由匯聚節(jié)點(diǎn)廣播帶有自身等級(jí)值L=1的路由請(qǐng)求消息RREQ(Route Request),包括信源地址、廣播ID、序列號(hào)、信源節(jié)點(diǎn)等級(jí)等字段。信源地址表示發(fā)送RREQ消息的節(jié)點(diǎn)地址,廣播ID與源地址構(gòu)成了一次RREQ消息的唯一表示。序列號(hào)是一個(gè)單調(diào)遞增的數(shù)字,由每個(gè)發(fā)起節(jié)點(diǎn)管理,序列號(hào)用于檢測(cè)該消息的新舊程度。若沒(méi)有收到RREP(Route Reply)消息則重發(fā)RREQ消息,序列號(hào)加1,否則重置序列號(hào)。RREP消息包括信源地址、信宿地址、廣播ID、序列號(hào)等字段。
等級(jí)更新過(guò)程如圖4、圖5所示:匯聚節(jié)點(diǎn)廣播自身等級(jí)為L(zhǎng)cur=1,接收到該消息的節(jié)點(diǎn)如果自身等級(jí)Lcur≠1,則需更新自身等級(jí)為1,記錄匯聚節(jié)點(diǎn)地址,并回復(fù)匯聚節(jié)點(diǎn)RREP消息。當(dāng)?shù)燃?jí)為L(zhǎng)cur=i的節(jié)點(diǎn)接收到來(lái)自等級(jí)L=i-1的節(jié)點(diǎn)的消息,那么該節(jié)點(diǎn)的等級(jí)正確,并記錄下發(fā)送消息的等級(jí)為i的節(jié)點(diǎn)地址,并回復(fù)RREQ消息。但是過(guò)程中往往會(huì)有許多不同的情況,首先接收到等級(jí)為L(zhǎng)=i-1的節(jié)點(diǎn)的消息后,如果當(dāng)前節(jié)點(diǎn)沒(méi)有記錄有效的低級(jí)地址則選擇記錄發(fā)送方的地址,并根據(jù)發(fā)送方的等級(jí)更新自己的等級(jí)為L(zhǎng)cur=i。如果已經(jīng)記錄了有效的路由信息,根據(jù)發(fā)送方的等級(jí)更新自己的等級(jí)為L(zhǎng)cur=i。整個(gè)網(wǎng)絡(luò)等級(jí)更新將會(huì)定時(shí)進(jìn)行,以維持整個(gè)通信網(wǎng)絡(luò)的穩(wěn)定性。
圖4 1級(jí)節(jié)點(diǎn)的等級(jí)更新過(guò)程
圖5 Lcur(Lcur≥2)級(jí)節(jié)點(diǎn)的等級(jí)更新過(guò)程
當(dāng)所有節(jié)點(diǎn)都完成等級(jí)更新后,每個(gè)節(jié)點(diǎn)也已經(jīng)構(gòu)建一個(gè)簡(jiǎn)單的路由信息表,用于確定與周?chē)?jié)點(diǎn)的收發(fā)消息關(guān)系,確保不會(huì)存在由低等級(jí)節(jié)點(diǎn)向高等級(jí)節(jié)點(diǎn)傳遞信息的情況。該方法的優(yōu)勢(shì)在于節(jié)點(diǎn)不需要構(gòu)建到達(dá)匯聚節(jié)點(diǎn)的路由表信息,只需要知道低于該節(jié)點(diǎn)1級(jí)的節(jié)點(diǎn)地址即可。這樣,每一個(gè)通信節(jié)點(diǎn)都只需要知道整個(gè)通信網(wǎng)絡(luò)都的局部信息,在傳輸消息到匯聚節(jié)點(diǎn)的過(guò)程都只有且僅有一條傳輸路徑,就可以完成消息的傳輸。所有節(jié)點(diǎn)的等級(jí)信息更新完成之后,即可開(kāi)始信息傳輸過(guò)程。
一個(gè)等級(jí)為i的通信節(jié)點(diǎn)一般具有四種狀態(tài):從等級(jí)為i+1的節(jié)點(diǎn)接收數(shù)據(jù)(狀態(tài)R)、將數(shù)據(jù)發(fā)送給等級(jí)為i-1的節(jié)點(diǎn)(狀態(tài)T)、睡眠狀態(tài)S和監(jiān)聽(tīng)狀態(tài)Listening。通信方式借鑒了RTS/CTS握手機(jī)制,該機(jī)制也被廣泛應(yīng)用于一些現(xiàn)有的基于競(jìng)爭(zhēng)MAC協(xié)議中,如F-MAC[8]、T-MAC[9]、S-MAC[10]等。以圖6示例進(jìn)行說(shuō)明,假設(shè)節(jié)點(diǎn)C需要傳輸信息到傳送到匯聚節(jié)點(diǎn),首先節(jié)點(diǎn)C廣播RTS(Ready To Send),如果一定時(shí)間內(nèi)沒(méi)有收到CTS(Clear To Send)消息,則再次廣播。B節(jié)點(diǎn)在接收到C節(jié)點(diǎn)的RTS消息后,回復(fù)C節(jié)點(diǎn)CTS消息,C節(jié)點(diǎn)和B節(jié)點(diǎn)握手成功,開(kāi)始數(shù)據(jù)傳輸,傳輸完成后,B節(jié)點(diǎn)回復(fù)C節(jié)點(diǎn)ACK消息確認(rèn),A節(jié)點(diǎn)在整個(gè)過(guò)程中都處于睡眠狀態(tài)。然后B節(jié)點(diǎn)向A節(jié)點(diǎn)發(fā)送RTS消息,C節(jié)點(diǎn)接收到RTS消息后,但是B節(jié)點(diǎn)的等級(jí)比C節(jié)點(diǎn)高,所以不處理直接進(jìn)入睡眠狀態(tài),A節(jié)點(diǎn)向B節(jié)點(diǎn)回復(fù)CTS消息,A節(jié)點(diǎn)和B節(jié)點(diǎn)握手成功,完成消息傳遞,A節(jié)點(diǎn)向B節(jié)點(diǎn)發(fā)送ACK(Acknowledgement Character)消息確認(rèn)。迭代上述過(guò)程,直到將所有的傳感數(shù)據(jù)中繼傳輸至匯聚節(jié)點(diǎn)。
圖6 LM-MAC協(xié)議數(shù)據(jù)傳輸過(guò)程
圖6中SIFS(Short Inter-frame Space)為短幀間隔,表示了兩幀之間最短的時(shí)間區(qū)段,IEEE 802.11規(guī)定SIFS為9.6us表示為96個(gè)比特時(shí)間,本文所研究的磁感應(yīng)通信傳輸速率為1200bit/s,一個(gè)比特為833us,所以SIFS值設(shè)為79968us,約80ms。在LM-MAC中,發(fā)送節(jié)點(diǎn)的RTS數(shù)據(jù)包含該節(jié)點(diǎn)的等級(jí)信息,而且由于每一個(gè)節(jié)點(diǎn)都知道下一跳節(jié)點(diǎn)的地址,所以發(fā)送節(jié)點(diǎn)廣播的RTS數(shù)據(jù)包含需要接收該信息的節(jié)點(diǎn)地址,相應(yīng)的低級(jí)別節(jié)點(diǎn)的CTS數(shù)據(jù)就不會(huì)存在沖突,大幅度提高節(jié)點(diǎn)握手成功的概率。LM-MAC協(xié)議通過(guò)讓干擾節(jié)點(diǎn)在聽(tīng)到RTS或CTS數(shù)據(jù)包后就進(jìn)入睡眠狀態(tài)來(lái)避免無(wú)用的監(jiān)聽(tīng)。由于數(shù)據(jù)包通常比控制數(shù)據(jù)包長(zhǎng),因此該方法可以防止相鄰節(jié)點(diǎn)監(jiān)聽(tīng)到不需要的長(zhǎng)數(shù)據(jù)包和ACK包。
在IEEE802.11[11]協(xié)議中,每一個(gè)節(jié)點(diǎn)會(huì)保持監(jiān)聽(tīng)到來(lái)自其鄰居節(jié)點(diǎn)的所有傳輸信息,以確保執(zhí)行有效的虛擬載波監(jiān)聽(tīng)。因此,每一個(gè)節(jié)點(diǎn)都會(huì)監(jiān)聽(tīng)到并非執(zhí)行自己的數(shù)據(jù)信息,從而造成能量的浪費(fèi),在節(jié)點(diǎn)密度高和數(shù)據(jù)負(fù)載很大時(shí),更為明顯。LM-MAC協(xié)議與IEEE802.11MAC主要有三個(gè)不同:發(fā)送節(jié)點(diǎn)發(fā)送的RTS包含該節(jié)點(diǎn)的等級(jí)信息,只有相鄰的低級(jí)別節(jié)點(diǎn)才會(huì)用CTS應(yīng)答;每個(gè)節(jié)點(diǎn)傳輸?shù)牡刂犯鶕?jù)節(jié)點(diǎn)的等級(jí)確定,在節(jié)點(diǎn)更新的過(guò)程中,可能會(huì)出現(xiàn)動(dòng)態(tài)變化,以提高整個(gè)網(wǎng)絡(luò)的效率與穩(wěn)定性;發(fā)送節(jié)點(diǎn)廣播RTS消息,會(huì)使用競(jìng)爭(zhēng)窗口CW(Contention Window),退避時(shí)間在隨機(jī)性的基礎(chǔ)上,增加了等級(jí)的約束,隨機(jī)退避時(shí)間backoff如公式(1)所示,所以等級(jí)低的節(jié)點(diǎn)優(yōu)先級(jí)最高,在競(jìng)爭(zhēng)過(guò)程,更容易獲勝。
backoff=random[0,10]+10×(Lcur+1)
(1)
LM-MAC協(xié)議通過(guò)讓干擾節(jié)點(diǎn)在聽(tīng)到RTS或CTS數(shù)據(jù)包后就進(jìn)入睡眠狀態(tài)來(lái)避免無(wú)用的監(jiān)聽(tīng)。由于數(shù)據(jù)包通常比控制數(shù)據(jù)包長(zhǎng),因此該方法可以防止相鄰節(jié)點(diǎn)監(jiān)聽(tīng)到不需要的長(zhǎng)數(shù)據(jù)包和ACK包。
由此可見(jiàn),睡眠時(shí)間的設(shè)置對(duì)整個(gè)磁感應(yīng)通信網(wǎng)絡(luò)的工作效率至關(guān)重要。如圖6所示,假設(shè)數(shù)據(jù)發(fā)送和數(shù)據(jù)接收所需的時(shí)間一致,數(shù)據(jù)發(fā)送T和數(shù)據(jù)接收R所需要的時(shí)間tT和tR為:
tT=tR=tDIFS+tCW+3tSIFS+tRTS+tCTS+tDATA+tACK
(2)
其中,tDIFS、tCW、tSIFS、tCTS、tRTS、tCTS、tDATA、tACK為對(duì)應(yīng)消息所需要的時(shí)間。
如圖6所示,節(jié)點(diǎn)C和節(jié)點(diǎn)A的睡眠狀態(tài)時(shí)間分別為:
tSR=tCTS+3tSIFS+tDATA+tACK
(3)
tSC=2tSIFS+tDATA+tACK
(4)
睡眠時(shí)間的計(jì)算方式根據(jù)接收到進(jìn)入睡眠狀態(tài)的信號(hào)不同而不同:節(jié)點(diǎn)接收到RTS消息后,睡眠時(shí)間計(jì)算方式為3個(gè)SIFS時(shí)間、1個(gè)CST消息幀時(shí)間、1個(gè)DATA數(shù)據(jù)幀時(shí)間、1個(gè)ACK確認(rèn)幀時(shí)間的總和;節(jié)點(diǎn)接收到CTS消息后,睡眠時(shí)間計(jì)算方式為2個(gè)SIFS時(shí)間、1個(gè)DATA數(shù)據(jù)幀時(shí)間、1個(gè)ACK確認(rèn)幀時(shí)間的總和。
如圖7所示,水下鏈?zhǔn)酵ㄐ啪W(wǎng)絡(luò)共包含六個(gè)節(jié)點(diǎn),受限于最大通信距離,每個(gè)節(jié)點(diǎn)只能接收到相鄰節(jié)點(diǎn)的數(shù)據(jù)。假如節(jié)點(diǎn)C要向節(jié)點(diǎn)D發(fā)送數(shù)據(jù),為了保證節(jié)點(diǎn)D能夠正確接收,節(jié)點(diǎn)F需要進(jìn)入睡眠狀態(tài)。節(jié)點(diǎn)A與節(jié)點(diǎn)E顯然不會(huì)對(duì)D產(chǎn)生干擾,所以不需要進(jìn)入睡眠狀態(tài)。節(jié)點(diǎn)B距離節(jié)點(diǎn)D兩跳距離,其數(shù)據(jù)傳輸不影響D的數(shù)據(jù)接收,但是由于節(jié)點(diǎn)C的數(shù)據(jù)傳輸占用了信道,所以節(jié)點(diǎn)B無(wú)法接收到有效的回應(yīng)數(shù)據(jù)。如果節(jié)點(diǎn)A對(duì)節(jié)點(diǎn)B進(jìn)行數(shù)據(jù)傳輸也是浪費(fèi)能量,所以節(jié)點(diǎn)B也需進(jìn)入睡眠狀態(tài),直到節(jié)點(diǎn)C對(duì)節(jié)點(diǎn)D的數(shù)據(jù)傳輸結(jié)束。
圖7 傳輸信息狀態(tài)分析
圖8和表2詳細(xì)敘述了LM-MAC協(xié)議的狀態(tài)轉(zhuǎn)移圖及其狀態(tài)轉(zhuǎn)換條件。
圖8 LM-MAC狀態(tài)轉(zhuǎn)移圖
表2 狀態(tài)轉(zhuǎn)換條件
為了驗(yàn)證LM-MAC協(xié)議的性能,本文利用OPNET網(wǎng)絡(luò)模擬器對(duì)LM-MAC協(xié)議的性能進(jìn)行分析。單鏈網(wǎng)絡(luò)拓?fù)浜碗p鏈網(wǎng)絡(luò)拓?fù)淙鐖D9所示:單鏈網(wǎng)絡(luò)拓?fù)溆?個(gè)Sink節(jié)點(diǎn)和序號(hào)為1-7的傳感器節(jié)點(diǎn)組成,競(jìng)爭(zhēng)較小;雙鏈網(wǎng)絡(luò)拓?fù)溆?個(gè)Sink節(jié)點(diǎn)和兩排序號(hào)為1-7的傳感器節(jié)點(diǎn)組成,除匯聚節(jié)點(diǎn)外的每個(gè)節(jié)點(diǎn)的下一跳都存在兩個(gè)中繼節(jié)點(diǎn)。在數(shù)據(jù)傳輸過(guò)程中同級(jí)的兩個(gè)節(jié)點(diǎn)競(jìng)爭(zhēng)同一個(gè)下級(jí)節(jié)點(diǎn),所以數(shù)據(jù)沖突概率會(huì)大幅度提高。
圖9 仿真網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
OPNET仿真中主要進(jìn)程轉(zhuǎn)換狀態(tài)如圖10所示,4個(gè)紅色的狀態(tài)分別為發(fā)送狀態(tài)、接收狀態(tài)、睡眠狀態(tài)與監(jiān)聽(tīng)狀態(tài)。在發(fā)送狀態(tài)下,有發(fā)送RTS幀、發(fā)送數(shù)據(jù)、等待CTS等狀態(tài)轉(zhuǎn)換;在接收狀態(tài)下,有接收數(shù)據(jù)、發(fā)送CTS幀、接收ACK幀等狀態(tài)轉(zhuǎn)換;在睡眠狀態(tài)下,節(jié)點(diǎn)處于低功耗狀態(tài)等待喚醒;在監(jiān)聽(tīng)狀態(tài)下,根據(jù)監(jiān)聽(tīng)到的信息進(jìn)行狀態(tài)轉(zhuǎn)換,節(jié)點(diǎn)監(jiān)聽(tīng)狀態(tài)時(shí)會(huì)進(jìn)行等級(jí)更新。
圖10 OPNET仿真進(jìn)程結(jié)構(gòu)
本文采用如表3所示的指衡量標(biāo)進(jìn)行算法性能驗(yàn)證,網(wǎng)絡(luò)吞吐量、傳輸時(shí)延、數(shù)據(jù)包投遞率在不同網(wǎng)絡(luò)負(fù)載情況下的性能比較。
表3 性能指標(biāo)
本文分別仿真了LM-MAC單鏈結(jié)構(gòu)與雙鏈結(jié)構(gòu)的各項(xiàng)性能,同時(shí)在單鏈的情況下橫向?qū)Ρ攘薒M-MAC與IEEE802.11MAC。
圖11顯示了網(wǎng)絡(luò)吞吐量與網(wǎng)絡(luò)負(fù)載之間的關(guān)系,可以看到在負(fù)載較小時(shí),吞吐量與負(fù)載兩者的關(guān)系為正相關(guān),隨著負(fù)載的增加,LM-MAC的單鏈網(wǎng)絡(luò)、雙鏈網(wǎng)絡(luò)與IEEE802.11MAC的吞吐量逐漸增加。雙鏈網(wǎng)絡(luò)在負(fù)載較小的時(shí)候吞吐量要大于單鏈網(wǎng)絡(luò),當(dāng)負(fù)載達(dá)到一定程度,吞吐量就到達(dá)上限,之后即使網(wǎng)絡(luò)負(fù)載再增加,吞吐量也將維持不變,在此趨勢(shì)的基礎(chǔ)上,IEEE802.11MAC單鏈網(wǎng)絡(luò)的整體吞吐量要小于LM-MAC。
圖11 吞吐量與負(fù)載變化趨勢(shì)
圖12表明了傳輸時(shí)延與網(wǎng)絡(luò)負(fù)載之間的關(guān)系,單鏈網(wǎng)絡(luò)在網(wǎng)絡(luò)負(fù)載為40%之前傳輸時(shí)延都非常小,可見(jiàn)在低負(fù)載的情況下,數(shù)據(jù)沖突小,傳輸效率高,之后由于沖突加大傳輸時(shí)延增加,但一直到滿負(fù)載基本維持一條水平線,說(shuō)明LM-MAC協(xié)議有效緩解了沖突概率。雙鏈網(wǎng)絡(luò)與單鏈網(wǎng)絡(luò)的變化趨勢(shì)類(lèi)似,但是在負(fù)載為20%之后傳輸時(shí)間就開(kāi)始陡增,由于雙鏈網(wǎng)絡(luò)的沖突比單鏈網(wǎng)絡(luò)更多,所以整體傳輸時(shí)延較高。但是在負(fù)載增大后,傳輸時(shí)延維持了一個(gè)比較穩(wěn)定的數(shù)值,而IEEE802.11MAC的整體延時(shí)要高于單鏈網(wǎng)絡(luò),但因?yàn)榫W(wǎng)絡(luò)結(jié)構(gòu)比雙鏈簡(jiǎn)單,所以延時(shí)低于雙鏈網(wǎng)絡(luò)。
圖12 數(shù)據(jù)包傳輸時(shí)延與負(fù)載變化趨勢(shì)
圖13展現(xiàn)了數(shù)據(jù)包投遞率與網(wǎng)絡(luò)負(fù)載之間的關(guān)系,可以看到兩種MAC單鏈網(wǎng)絡(luò)在負(fù)載為30%之前,數(shù)據(jù)包投遞率都是一直為100%。隨著負(fù)載的增加而逐漸減小,IEEE802.11整體要低于LM-MAC,而雙鏈網(wǎng)絡(luò)整體上隨著負(fù)載的增加,數(shù)據(jù)包投遞率一直在變小,但曲線逐漸平緩,也表明數(shù)據(jù)包投遞率逐漸穩(wěn)定。
圖13 數(shù)據(jù)包投遞率與負(fù)載變化趨勢(shì)
綜上所示,LM-MAC協(xié)議應(yīng)用在單鏈網(wǎng)絡(luò)由于結(jié)構(gòu)簡(jiǎn)單,消息沖突少,整體性能要優(yōu)于IEEE802.11MAC,而且LM-MAC應(yīng)用在雙鏈網(wǎng)絡(luò)的結(jié)果表現(xiàn)出其對(duì)于沖突情況有著很好的處理能力,整體通信網(wǎng)絡(luò)依然可以保持較好性能。
本文提出了一種基于磁感應(yīng)通信的水下鏈?zhǔn)骄W(wǎng)絡(luò)MAC協(xié)議—LM-MAC,依據(jù)拓?fù)湮恢蒙擅總€(gè)節(jié)點(diǎn)的不同等級(jí)值,每個(gè)節(jié)點(diǎn)根據(jù)等級(jí)控制數(shù)據(jù)轉(zhuǎn)發(fā)規(guī)則。每個(gè)節(jié)點(diǎn)設(shè)置了接收、發(fā)送、監(jiān)聽(tīng)和睡眠四種狀態(tài)機(jī),根據(jù)工作條件不同進(jìn)行狀態(tài)轉(zhuǎn)換。仿真結(jié)果表明了LM-MAC協(xié)議可以減少網(wǎng)絡(luò)通信負(fù)荷,在傳輸延時(shí)、數(shù)據(jù)包成功投遞率等指標(biāo)都有明顯提高。