汪生泉,孫大軍,張友文
(1.哈爾濱工程大學(xué) 水聲技術(shù)重點(diǎn)實(shí)驗(yàn)室,黑龍江 哈爾濱150001;2.哈爾濱工程大學(xué) 水聲工程學(xué)院,黑龍江 哈爾濱150001)
進(jìn)入21 世紀(jì),人類正在加快對(duì)海洋的探索和開(kāi)發(fā)步伐[1],然而水聲信道高傳播延時(shí)、快衰落等特性[2],給水下傳感器網(wǎng)絡(luò)MAC 層協(xié)議的設(shè)計(jì)帶來(lái)了巨大挑戰(zhàn)。為了獲得更高的吞吐量和更低的網(wǎng)絡(luò)延時(shí),研究人員在研究握手類協(xié)議時(shí)希望一次握手后能夠盡量多地傳輸數(shù)據(jù),從而達(dá)到提高網(wǎng)絡(luò)吞吐量的目的。如,Guo X 等人提出的PCAP協(xié)議[3],源節(jié)點(diǎn)在等待CTS 控制包的過(guò)程中允許其它節(jié)點(diǎn)進(jìn)行控制包或數(shù)據(jù)包的傳輸;Chirdchoo N 等人提出的RIPT 協(xié)議[4]采用一次RTS,CTS 控制包交換,可以進(jìn)行多個(gè)數(shù)據(jù)包傳輸?shù)姆桨?。根?jù)這一基本思想,本文詳細(xì)深入分析研究了預(yù)約類型協(xié)議的傳輸過(guò)程,給出了多個(gè)節(jié)點(diǎn)對(duì)可以同時(shí)獲得信道使用權(quán)的基本結(jié)論和成立條件,并以此為基礎(chǔ)提出了一種高效的基于節(jié)點(diǎn)對(duì)排序的水聲傳感器網(wǎng)絡(luò)MAC 協(xié)議,通過(guò)仿真實(shí)驗(yàn)驗(yàn)證了該協(xié)議的有效性。
一般的,預(yù)約類型協(xié)議,在源節(jié)點(diǎn)發(fā)出RTS 后,周圍收到xRTS(不是發(fā)給自己的請(qǐng)求包)的節(jié)點(diǎn)將退避,目的節(jié)點(diǎn)收到RTS 后返回一個(gè)CTS,其周圍收到xCTS(不是發(fā)給自己的確認(rèn)包)的節(jié)點(diǎn)也將退避,源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間取得了信道使用權(quán),其他節(jié)點(diǎn)都處于退避狀態(tài),這時(shí)源節(jié)點(diǎn)發(fā)送DATA,目的節(jié)點(diǎn)收到后返回一個(gè)ACK 確認(rèn)包。
對(duì)上述過(guò)程稍作改變,即源節(jié)點(diǎn)發(fā)出RTS 并經(jīng)過(guò)預(yù)定時(shí)間內(nèi)收到來(lái)自目的節(jié)點(diǎn)CTS,盡管在此過(guò)程中收到了來(lái)自另一節(jié)點(diǎn)的xRTS 包,此時(shí)節(jié)點(diǎn)也不退避;另一種情況是目的節(jié)點(diǎn)發(fā)出CTS后,收到來(lái)自其他節(jié)點(diǎn)的xRTS包或xCTS包,此時(shí)目的節(jié)點(diǎn)也不退避。例如:源節(jié)點(diǎn)A 發(fā)送RTS 給目的節(jié)點(diǎn)B,同時(shí)通知周圍節(jié)點(diǎn)退避,B 收到RTS 后回復(fù)一個(gè)CTS 給A,同時(shí)通知周圍節(jié)點(diǎn)退避。另一源節(jié)點(diǎn)C,在收到A的通知xRTS 之前已經(jīng)發(fā)送一個(gè)RTS 給其目的節(jié)點(diǎn)D,D 返回一個(gè)CTS 給C,如圖1 所示。
圖1 兩節(jié)點(diǎn)對(duì)握手過(guò)程Fig 1 Handshake process between two node pairs
這時(shí)節(jié)點(diǎn)對(duì)A→B,C→D 均取得了信道使用權(quán)。下面給出在A→B 成功的條件下,另一對(duì)節(jié)點(diǎn)C→D 成功的條件如下
其中,tl為節(jié)點(diǎn)I 發(fā)送RTS 的時(shí)刻,TRTS,TCTS分別為RTS 和CTS 的傳輸時(shí)延、TIJ為I 節(jié)點(diǎn)與J 節(jié)點(diǎn)之間的傳播時(shí)延。
這里,公式(1)表示節(jié)點(diǎn)C 必須在節(jié)點(diǎn)A 的xRTS 到達(dá)之前發(fā),確保自身不被“退避”;公式(2)表示節(jié)點(diǎn)D 必須在A 的xRTS 到達(dá)之前收到節(jié)點(diǎn)C 發(fā)來(lái)的RTS 并立即向節(jié)點(diǎn)C 發(fā)出CTS,確保節(jié)點(diǎn)C 的目的節(jié)點(diǎn)不被“退避”;公式(3)表示節(jié)點(diǎn)B,D 發(fā)出的CTS 包到達(dá)節(jié)點(diǎn)C 的時(shí)間間隔須大于TCTS,保證CTS 不會(huì)碰撞,節(jié)點(diǎn)C 可收到CTS。同時(shí)滿足式(1)、式(2)、式(3)的節(jié)點(diǎn)對(duì)均取得了信道使用權(quán),在高負(fù)載網(wǎng)絡(luò)中,這樣的節(jié)點(diǎn)對(duì)可以有多對(duì)。
按照兩對(duì)成功取得信道使用權(quán)節(jié)點(diǎn)對(duì)源節(jié)點(diǎn)的位置關(guān)系,可分為相互可達(dá)和相互不可達(dá)兩類,如圖2 所示。
圖2 節(jié)點(diǎn)間位置關(guān)系Fig 2 Relationship of location between two nodes
以節(jié)點(diǎn)對(duì)A→B 為研究對(duì)象,以節(jié)點(diǎn)對(duì)C→D 為參照對(duì)象(以下同),根據(jù)目的節(jié)點(diǎn)的相互關(guān)系,將源節(jié)點(diǎn)相互可達(dá)的節(jié)點(diǎn)對(duì)分成5 種情況,如圖3 所示;將源節(jié)點(diǎn)相互不可達(dá)的節(jié)點(diǎn)對(duì)分成5 種情況,如圖4 所示。
另外,存在2 個(gè)發(fā)送節(jié)點(diǎn)都發(fā)給同一個(gè)目的節(jié)點(diǎn)情況,如果是源節(jié)點(diǎn)相互可達(dá)的成功節(jié)點(diǎn)對(duì)歸為Ⅰ-1 情況,如果是源節(jié)點(diǎn)相互不可達(dá)的成功節(jié)點(diǎn)對(duì)歸為Ⅱ-1 情況;一個(gè)節(jié)點(diǎn)給多個(gè)節(jié)點(diǎn)發(fā)送也可以考慮歸為Ⅰ類的各種情形。
圖3 源節(jié)點(diǎn)可達(dá)節(jié)點(diǎn)對(duì)的情況Fig 3 Situation of node pairs with source nodes can reach each other
圖4 源節(jié)點(diǎn)不可達(dá)的節(jié)點(diǎn)對(duì)的情況Fig 4 Situation of node pairs with source nodes can not reach each other
2.2.1 節(jié)點(diǎn)對(duì)信息
源節(jié)點(diǎn)A 擁有的4 類信息確定A 的發(fā)送順序,包括:是否收到了發(fā)送節(jié)點(diǎn)C 的xRTS 包;是否收到了目的節(jié)點(diǎn)D的xCTS 包、節(jié)點(diǎn)編號(hào)、SA集合。若節(jié)點(diǎn)A 覆蓋范圍內(nèi)節(jié)點(diǎn)構(gòu)成集合RA{B,C,D},稱為A 的覆蓋集;SA為A 覆蓋范圍內(nèi)各節(jié)點(diǎn)覆蓋集構(gòu)成的集合SA={RA,RB,RC,RD}。
目點(diǎn)節(jié)點(diǎn)B 擁有的兩類信息確定B 接收完數(shù)據(jù)包后發(fā)送ACK 包的順序,包括:是否收到了目的節(jié)點(diǎn)D 的xCTS包、節(jié)點(diǎn)編號(hào)。
2.2.2 節(jié)點(diǎn)對(duì)關(guān)系歸類與兩兩排序原則
1)節(jié)點(diǎn)對(duì)關(guān)系歸類
根據(jù)A 是否收到C 的xRTS 包(aRc),A 是否收到D 的xCTS 包(aRd)、S 集中B 覆蓋范圍是否含C(SBc)、B 收到D的xCTS 包(bRd)四類信息,節(jié)點(diǎn)對(duì)A→B 判斷自身與節(jié)點(diǎn)對(duì)C→D 屬于10 種情況中的哪一類(Cla),如表1 所示。
8月18日,由中國(guó)農(nóng)業(yè)國(guó)際合作促進(jìn)會(huì)、中國(guó)綠色食品協(xié)會(huì)主辦,中國(guó)養(yǎng)蜂學(xué)會(huì)、中國(guó)農(nóng)業(yè)科學(xué)院蜜蜂研究所、先正達(dá)(中國(guó))投資有限公司合作主辦的首屆綠色農(nóng)業(yè)發(fā)展論壇暨2018蜜蜂大會(huì)在北京召開(kāi)。
2)兩兩排序相關(guān)概念說(shuō)明
根據(jù)兩節(jié)點(diǎn)對(duì)之間的關(guān)系進(jìn)行排序,稱為兩兩排序,包括編號(hào)排序、觸發(fā)排序以及隨意排序三類,其排序原則如表2。
定義1 將兩對(duì)節(jié)點(diǎn)按照編號(hào)信息進(jìn)行的排序,編號(hào)小的先發(fā),大的后發(fā),稱為編號(hào)排序。例如:Ⅰ-1,Ⅰ-4,Ⅱ-1,Ⅱ-4 情形都是編號(hào)排序。
表1 節(jié)點(diǎn)對(duì)關(guān)系歸類Tab 1 Classification of relationship between node pairs
定義2 將兩對(duì)節(jié)點(diǎn)不按照編號(hào)信息,而是通過(guò)事先約定的先后觸發(fā)順序進(jìn)行的排序,稱為觸發(fā)排序,并把先執(zhí)行的節(jié)點(diǎn)對(duì)稱為主對(duì),被觸發(fā)的節(jié)點(diǎn)對(duì)稱為從對(duì),主對(duì)和從對(duì)的關(guān)系成為主從關(guān)系。例如:Ⅰ-2,Ⅰ-3,Ⅱ-2,Ⅱ-3 情形,一個(gè)節(jié)點(diǎn)對(duì)發(fā)送完ACK 包后,觸發(fā)另一個(gè)節(jié)點(diǎn)對(duì)執(zhí)行。
定義3 將兩節(jié)點(diǎn)對(duì)隨時(shí)發(fā)送數(shù)據(jù),相互不受對(duì)方影響的排序,稱為隨意排序。例如:Ⅰ-5,Ⅱ-5 情形。
定義4 將一對(duì)或多對(duì)有主從關(guān)系的主對(duì)和從對(duì)連接起來(lái)的主從關(guān)系鏈,稱為觸發(fā)鏈。由Ⅰ-2,Ⅰ-3 構(gòu)成的觸發(fā)鏈稱為一類觸發(fā)鏈,其主對(duì)和從對(duì)分別稱為Ⅰ類主對(duì)和Ⅰ類從對(duì);由Ⅱ-2,Ⅱ-3 構(gòu)成的觸發(fā)鏈稱為Ⅱ類觸發(fā)鏈,其主對(duì)和從對(duì)分別稱為Ⅱ類主對(duì)和Ⅱ類從對(duì)。
為了確保所有節(jié)點(diǎn)對(duì)排序一致,節(jié)點(diǎn)對(duì)要聲明已取得信道使用權(quán)和層次關(guān)系,層次關(guān)系由上而下層層聲明。特別的二類觸發(fā)鏈由于兩個(gè)源節(jié)點(diǎn)不可達(dá),聲明層次系統(tǒng)開(kāi)銷大,因此,本文二類觸發(fā)鏈不聲明層次關(guān)系,同時(shí)舍棄Ⅱ類從對(duì)的數(shù)據(jù)傳輸。流程如圖5 所示。
圖5 節(jié)點(diǎn)對(duì)聲明流程Fig 5 Node pairs statement flow
1)節(jié)點(diǎn)對(duì)視圖
定義5 節(jié)點(diǎn)對(duì)A→B 的發(fā)送節(jié)點(diǎn)和接收節(jié)點(diǎn)感知到的所有成功節(jié)點(diǎn)對(duì)的集合,稱為節(jié)點(diǎn)對(duì)A→B 的影響集合,用SA→B表示。
定義6 節(jié)點(diǎn)對(duì)A→B 影響集合SA→B和由影響集合中元素構(gòu)成的觸發(fā)鏈、編號(hào)排序關(guān)系節(jié)點(diǎn)對(duì)和隨意排序關(guān)系節(jié)點(diǎn)對(duì)構(gòu)成關(guān)系,稱為節(jié)點(diǎn)對(duì)A→B 的視圖,用VA→B表示。某節(jié)點(diǎn)對(duì)看到的層次化視圖如圖6 所示。
節(jié)點(diǎn)對(duì)自動(dòng)歸類、聲明后,每個(gè)節(jié)點(diǎn)對(duì)都能獲得節(jié)點(diǎn)對(duì)視圖,它是節(jié)點(diǎn)對(duì)能夠看到的全部信息,節(jié)點(diǎn)對(duì)正是根據(jù)節(jié)點(diǎn)對(duì)視圖信息決定自身數(shù)據(jù)傳輸?shù)臅r(shí)機(jī),從而實(shí)現(xiàn)全局節(jié)點(diǎn)對(duì)無(wú)碰撞的排序。
表2 兩節(jié)點(diǎn)對(duì)排序原則Tab 2 Principles of two node pairs sequencing
圖6 節(jié)點(diǎn)對(duì)視圖Fig 6 View of node pairs
2)整體排序原則
第一原則:高層節(jié)點(diǎn)優(yōu)先級(jí)高于底層節(jié)點(diǎn)。層次從高到低為:1 層,2 層,….m 層,0 層,一般情況下前一層執(zhí)行完了,再執(zhí)行下一層。
第二原則:在第一原則下,2 個(gè)節(jié)點(diǎn)對(duì)之間遵從兩兩排序原則。
第三原則:按照第一、第二原則排在本節(jié)點(diǎn)對(duì)前面,且與本節(jié)點(diǎn)對(duì)不是隨意關(guān)系的節(jié)點(diǎn)對(duì)均執(zhí)行完畢后,其余按照第一、第二原則排在本節(jié)點(diǎn)對(duì)前面的節(jié)點(diǎn)對(duì)且與本節(jié)點(diǎn)對(duì)都是隨意排序關(guān)系時(shí),此時(shí),本節(jié)點(diǎn)對(duì)可不受第一、第二原則限制,直接可以執(zhí)行。
整體排序原則可以確保各節(jié)點(diǎn)對(duì)無(wú)碰撞,這里限于篇幅,證明從略。
RTS,CTS 競(jìng)爭(zhēng)后,退避節(jié)點(diǎn)是由于一個(gè)或若干成功節(jié)點(diǎn)對(duì)共同作用的,若一節(jié)點(diǎn)X 受到n 對(duì)節(jié)點(diǎn)對(duì)的影響而退避,將X 節(jié)點(diǎn)的退避表達(dá)式表示為
式中 X 為退避節(jié)點(diǎn),Si為發(fā)送節(jié)點(diǎn),Di為目的節(jié)點(diǎn),SiDi為一成功節(jié)點(diǎn)對(duì)退避節(jié)點(diǎn)X 在節(jié)點(diǎn)Ai,Bi范圍之外,發(fā)送數(shù)據(jù)對(duì)節(jié)點(diǎn)X 沒(méi)有影響。
在3 000 m×3 000 m 的范圍內(nèi)隨機(jī)部署18 個(gè)節(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)產(chǎn)生數(shù)據(jù)包的速率服從Poisson 分布。仿真實(shí)驗(yàn)將本協(xié)議(NPS-MAC)與MACA-U 協(xié)議[5]以及PCAP 協(xié)議的吞吐量性能比較,結(jié)果如圖7、圖8 所示。
圖7 網(wǎng)絡(luò)吞吐量隨網(wǎng)絡(luò)負(fù)載變化曲線Fig 7 Curve of network throughput change with network load
圖8 端對(duì)端時(shí)延隨網(wǎng)絡(luò)負(fù)載變化曲線Fig 8 Curve of end-to-end delay change with network load
仿真結(jié)果表明:與MACA-U 協(xié)議、PCAP 協(xié)議相比,本協(xié)議具有更高的吞吐量和更低的網(wǎng)絡(luò)時(shí)延。
本文提出了一種高效的水下傳感器網(wǎng)絡(luò)MAC 協(xié)議,本協(xié)議能夠在一次握手的情況下,允許多個(gè)節(jié)點(diǎn)對(duì)依次傳輸數(shù)據(jù),避免了握手帶來(lái)的資源浪費(fèi);本協(xié)議在節(jié)點(diǎn)對(duì)傳輸數(shù)據(jù)過(guò)程中,周圍節(jié)點(diǎn)知道其它節(jié)點(diǎn)所處的狀態(tài),從而大幅度減少了隱藏終端和暴露終端問(wèn)題。
[1] 殷敬偉.水聲通信原理及信號(hào)處理技術(shù)[M].北京:國(guó)防工業(yè)出版社,2011:1-12.
[2] Domingo M C.Overview of channel models for underwater wireless communication networks[J].Physical Communication,2008,1(3):163-182.
[3] Guo X,F(xiàn)rater M R,Ryan M J.Design of a propagation-delay-tolerant MAC protocol for underwater acoustic sensor networks[J].IEEE Journal of Oceanic Engineering,2009,34(2):170-180.
[4] Chirdchoo N,Soh W S,Chua K C.RIPT:A receiver-initiated reservation-based protocol for underwater acoustic network[J].IEEE Journal of Selected Areas in Communications,2008,26(9):1744-1753.
[5] Ng H H,Soh W S,Motani M.MACA-U:A media access protocol for underwater acoustic networks[C]∥Proceedings of GLOBECOM 2008,2008:1-5.