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