一種基于移動(dòng)終端的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )數據收集協(xié)議
1引言
1. 1無(wú)線(xiàn)傳感器網(wǎng)絡(luò )介紹
在無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的應用中, 有存在于復雜的應用環(huán)境, 如軍事無(wú)線(xiàn)自組織網(wǎng)絡(luò ), 節點(diǎn)均部署于復雜惡劣的環(huán)境下, 節點(diǎn)間端到端的通信難以保證, 出現了網(wǎng)絡(luò )的斷裂; 還有傳感器網(wǎng)絡(luò ), 這類(lèi)網(wǎng)絡(luò )節點(diǎn)數量龐大, 網(wǎng)絡(luò )通信復雜, 通信路徑不是隨時(shí)可用的,這種存在高延時(shí)和頻繁割裂的網(wǎng)絡(luò ), 一般稱(chēng)之為受限網(wǎng)絡(luò ), 為了研究這類(lèi)受限網(wǎng)絡(luò ), 提出了DTN 的概念。延時(shí)可容忍網(wǎng)絡(luò )DTN ( de lay to lerant network)就是研究這一類(lèi)特定應用環(huán)境下的網(wǎng)絡(luò ), 在這種應用環(huán)境中端到端的通信難以保證, 會(huì )有頻繁的連接中斷的情況, 使網(wǎng)絡(luò )間斷的或部分的連接在一起, 出現網(wǎng)絡(luò )分割, 同時(shí)這種應用下允許一定范圍的延時(shí)。
由于這種網(wǎng)絡(luò )的特殊性, 不能保證實(shí)時(shí)的傳遞, 而且它是面向消息的, 所以就涉及到了數據的存儲, 在DTN 體系結構中提出了捆綁層的概念, 實(shí)現數據的保管傳遞。
1.2DTN路由協(xié)議研究
DTN路由研究是DTN研究的熱點(diǎn), 目前的路由協(xié)議的算法主要分為以下幾類(lèi): ( 1)基于傳染性方式 , 將分組信息傳遞給所有相遇的節點(diǎn), 直到到達目的節點(diǎn); ( 2)基于歷史信息的方式, 根據節點(diǎn)歷史相遇記錄進(jìn)行信息傳遞, 采用了概率的算法;( 3)基于特殊messager節點(diǎn)來(lái)擺渡分組信息,采用了存儲- 攜帶- 轉發(fā)的模式。DTN 網(wǎng)絡(luò )中的路由的設計都是基于以上幾種基本思想進(jìn)行的。
2一種基于Ferry的數據收集協(xié)議設計方案
2. 1 基本思路
在文獻[ 7]中提出了將ferry 節點(diǎn)用于DTN 網(wǎng)絡(luò ), 并且也針對它的路由進(jìn)行了分析與設計, 文獻中更多的是討論針對TSP問(wèn)題的解決, 而沒(méi)有從整體布局中去考慮ferry 節點(diǎn)的路由軌跡趨勢, 在文獻[ 5] , [ 8]中開(kāi)始討論使用多個(gè)ferry 節點(diǎn)來(lái)進(jìn)行數據傳遞, 但是它更多的是考慮針對大的區域, 沒(méi)有對ferry節點(diǎn)的具體運動(dòng)模型進(jìn)行設計。在這里我們考慮在同一區域內使用雙ferry 節點(diǎn), 并且沿同一路徑, 考慮節點(diǎn)采用不同運動(dòng)方式時(shí)的性能分析, 一種是兩個(gè)ferry 節點(diǎn)采用同向運動(dòng), 另一種情況兩個(gè)ferry節點(diǎn)運動(dòng)方向相反, 兩種運動(dòng)模型如圖1和圖2所示。
本文考慮簡(jiǎn)化后的基本模型, 整個(gè)大的區域有四個(gè)小的區域, ferry節點(diǎn)沿固定圓形路徑經(jīng)過(guò)各個(gè)區域進(jìn)行數據傳輸, 其中各個(gè)區域采用門(mén)節點(diǎn)與ferry節點(diǎn)通信, 在文獻[ 7]中已經(jīng)提到在小區域簇內實(shí)現端到端的連接, 其中能夠與ferry 節點(diǎn)直接通信的節點(diǎn)均為門(mén)節點(diǎn), 其他節點(diǎn)只需考慮將數據發(fā)送到門(mén)節點(diǎn)。當ferry 節點(diǎn)到達某一個(gè)區域, 發(fā)送hello建立連接, 其中收到此消息的節點(diǎn)就成為門(mén)節點(diǎn), 它通知區域內的其他節點(diǎn)它作為門(mén)節點(diǎn)的消息,運用D ijkSTra算法, 找到各個(gè)節點(diǎn)到達門(mén)節點(diǎn)的最短路徑, 建立連接, 這是采用ferry節點(diǎn)時(shí)簇內的路由建立。本文中重點(diǎn)從簇間通信的方面進(jìn)行考慮來(lái)提高數據傳送率, 提出采用雙ferry節點(diǎn)逆向運動(dòng)的模型。這是基于從ferry 節點(diǎn)的攜帶能力以及數據管理上出發(fā)的, 當ferry 節點(diǎn)同向運動(dòng)時(shí), ferry 節點(diǎn)會(huì )將發(fā)往它運動(dòng)方向相反的前一區域的目的地的分組信息空攜帶一周, 這樣就浪費了ferry節點(diǎn)的攜帶能力, 所以我們考慮將ferry節點(diǎn)采用逆向運動(dòng), 這樣對于需傳送到相對于節點(diǎn)運動(dòng)相反的鄰區域的信息可以等待另外一個(gè)與其同向的ferry 節點(diǎn)傳送。
下面將具體講述其過(guò)程并將其與同向運動(dòng)做比較。
2. 2具體實(shí)現
首先分析采用雙ferry節點(diǎn)逆向運動(dòng), 一個(gè)周期內的運動(dòng)狀態(tài), 如圖3所示。
圖3 ferry節點(diǎn)逆向運動(dòng)一周狀態(tài)。
針對上圖我們來(lái)分析具體的實(shí)現, 在一區產(chǎn)生的數據目的節點(diǎn)所在的區域可能是各個(gè)區域, Ferry節點(diǎn)A 處于當前情況下時(shí)僅僅攜帶由一區傳送到四區和三區的數據, 而對于需傳送到二區的數據則不予攜帶, 發(fā)往二區的數據需等f(wàn)erry節點(diǎn)B 運動(dòng)到一區, 再將其攜帶至二區, 這樣減少了這部分信息所占用的ferry 節點(diǎn)的攜帶容量, 同理ferry 節點(diǎn)B 也是這樣工作, 即ferry節點(diǎn)將不予攜帶在其運動(dòng)方向上需運動(dòng)一周的數據, 對于在三區自己區域內的節點(diǎn)不需要通過(guò)ferry進(jìn)行傳輸, 沒(méi)有簇間傳輸延時(shí),也不占用ferry 節點(diǎn)的buffer, 這里不予考慮。在同一區域內采用ferry節點(diǎn)逆向運動(dòng)的方式, 可以與一條路徑上兩個(gè)ferry節點(diǎn)同向運動(dòng)相比, 這種情況下數據將少占用一段時(shí)間ferry節點(diǎn)的存儲容量, 從而節省了ferry 的存儲容量, 提高ferry 節點(diǎn)的攜帶能力。
在DTN 網(wǎng)絡(luò )中, 實(shí)行的是存儲- 攜帶- 轉發(fā)的方式, 所以對于節點(diǎn)的存儲能力有了一定的要求, 通過(guò)雙ferry節點(diǎn)逆向運行, 減少ferry 節點(diǎn)的存儲能力的限制, 當然這部分存儲負擔就轉移到了每個(gè)簇的門(mén)節點(diǎn), 但是在每個(gè)簇中門(mén)節點(diǎn)的數量是相對比較多的, 對于能和ferry節點(diǎn)通信的節點(diǎn)均可作為門(mén)節點(diǎn), 這樣就相當于將ferry一個(gè)節點(diǎn)的負擔平均轉移到了多個(gè)門(mén)節點(diǎn)中, 從而提高ferry的攜帶能力,提高整個(gè)網(wǎng)絡(luò )的傳輸效率。
2. 3.. 針對突發(fā)情況的考慮
在網(wǎng)絡(luò )中存在不可預知的突發(fā)情況, 如某一時(shí)刻某一區域節點(diǎn)產(chǎn)生的數據突然增多, 針對這種情況, 我們進(jìn)行了考慮, 對ferry節點(diǎn)傳遞分組信息進(jìn)行自適應調控。在2. 1節中, 考慮的是一般情況下,ferry節點(diǎn)A 和ferry節點(diǎn)B, 采用上述方向負責傳遞數據, 但是在出現突發(fā)情況下, 我們對其進(jìn)行改進(jìn),ferry節點(diǎn)A 在自身buffer空閑的情況下也負責傳遞本屬于ferry節點(diǎn)B 的信息, ferry 節點(diǎn)A 和ferry節點(diǎn)B 每周都會(huì )相遇一次, 此次情況下, 他們也會(huì )進(jìn)行一個(gè)簡(jiǎn)單的通信, 告知對方自己信息的接收情況,當節點(diǎn)A 收到節點(diǎn)B 的bu ffer已滿(mǎn)時(shí), 并且自己的buffer仍有剩余空間時(shí), 將主動(dòng)幫助節點(diǎn)B 傳遞數據, 從而解決某一區域信息突然增多的情況。
3 理論分析
模型為2. 1節中描述的模型, 其中每個(gè)區內的節點(diǎn)數量為n; 節點(diǎn)產(chǎn)生數據的平均速率為W bit/s; ferry節點(diǎn)的移動(dòng)速度為V ; ferry節點(diǎn)的存儲容量為c; ferry的路徑長(cháng)度為L(cháng) 。
3. 1 ferry節點(diǎn)的攜帶能力分析
這里我們從理論數據上去分析ferry節點(diǎn)逆向運動(dòng)帶來(lái)的攜帶能力的提高。我們從信息在ferry節點(diǎn)上占用的時(shí)間去分析, 總的公式為:
其中tij 為源節點(diǎn)在i區, 目的節點(diǎn)在j區的信息占的ferry節點(diǎn)情況, 一個(gè)區內信息占用的時(shí)間如表1。
表1 逆向運動(dòng)信息占用fe rry時(shí)間表。
這里我們同樣考慮信息的目的節點(diǎn)區域是平均分布的qi1 = qi2 = qi3 = qi4 , 平均一個(gè)單位時(shí)間內的信息占用ferry節點(diǎn)buffer的時(shí)間為, 逆向:
對于ferry節點(diǎn)同向運動(dòng)的情況, 信息占用ferry 的時(shí)間如表2, 同向:
比較可得: T T', 即同向ferry節點(diǎn)時(shí)信息占用ferry節點(diǎn)buffer多于逆向buffer。在ferry 節點(diǎn)buffer不足的情況下, 逆向ferry 節點(diǎn)可以增加ferry 節點(diǎn)的攜帶能力, 提高分組信息的傳輸。
表2 同向運動(dòng)信息占用ferry 時(shí)間表
以上均是針對目的節點(diǎn)為平均分布的情況, 對于一般情況也是一樣的, 我們通過(guò)分析兩個(gè)信息占用bu ffer時(shí)間表, 對于每個(gè)目的節點(diǎn)逆向ferry均是好于或等于同向ferry節點(diǎn)的情況, 所以無(wú)論目的節點(diǎn)服從任何分布, 逆向ferry節點(diǎn)的情況總是優(yōu)于同向ferry節點(diǎn)。
3. 2 延時(shí)分析
分析兩個(gè)ferry節點(diǎn)在整個(gè)區域內循環(huán)一周內的平均延遲, 這里將ferry節點(diǎn)運動(dòng)一周的四分之一作為時(shí)間單位, 因為在不同的時(shí)刻, 兩個(gè)ferry 節點(diǎn)的相對位置不同, 引起的分組信息傳輸的延時(shí)情況也不盡相同, 這里分析ferry 節點(diǎn)運動(dòng)一周的情況,進(jìn)而計算平均延時(shí)。
兩個(gè)ferry節點(diǎn)的相對位置如圖3, 對應于圖3中的前兩個(gè)狀態(tài)的節點(diǎn)延時(shí)(這里的延時(shí)指的是ferry節點(diǎn)轉發(fā)信息所帶來(lái)的延時(shí))分別對應于表3、表4, 根據節點(diǎn)狀態(tài)的對稱(chēng)性, 狀態(tài)三與狀態(tài)四分別與狀態(tài)一和狀態(tài)二是對稱(chēng)的, 在這里省略。
考慮一個(gè)時(shí)間單位內的平均數據延遲:
其中dz ij 即為上面各表中所列的數據, 代表一周內f(wàn)erry節點(diǎn)傳遞信息的延時(shí); d'zij 為區域i內的節點(diǎn)在狀態(tài)z內, 產(chǎn)生的發(fā)送到目的節點(diǎn)在區域j中的信息等待ferry節點(diǎn)的延時(shí); p ij 為區域i產(chǎn)生的, 目的節點(diǎn)在區域j的數據的概率; 源區域i, 目的節點(diǎn)區域為一區的概率qi1, 二區的概率qi2, 三區的概率qi3, 四區的概率qi4 。
表3 逆向延時(shí)表
表4 逆向延時(shí)表
在信息負擔很小的情況下, 不論是ferry 節點(diǎn)同向運動(dòng)還是逆向運動(dòng), 信息都不需要延時(shí)等待ferry節點(diǎn), 即d#zij = 0, 此時(shí)只需考慮信息通過(guò)ferry 節點(diǎn)傳遞時(shí)的延時(shí), 假設數據的目的節點(diǎn)區域是平均分布的qi1 = qi2 = qi3 = qi4 , 雙ferry節點(diǎn)逆向運動(dòng)時(shí),平均延時(shí)是: 當兩個(gè)ferry節點(diǎn)同向運動(dòng)時(shí), 一個(gè)時(shí)間單位內的分組信息延時(shí)情況如表5, 因為ferry 節點(diǎn)的相對位置相同, 所以一個(gè)ferry周期內信息傳輸情況是相同的:
表5 同向延時(shí)表
所以雙ferry節點(diǎn)同向運動(dòng)時(shí)的平均延時(shí)為:
這種情況下D=D'; 當信息負擔比較重時(shí), 分析d'zij信息等待ferry節點(diǎn)的延時(shí), 由3. 1節分析可知ferry節點(diǎn)逆向運動(dòng)可以提高攜帶能力, 減少信息等待ferry節點(diǎn)的延時(shí), 從而可知: 逆向運動(dòng)下的d'z ij 同向運動(dòng)下的d'z ij, 從而使D D', 即雙ferry節點(diǎn)逆向運動(dòng)時(shí)的延時(shí)小于雙ferry節點(diǎn)同向運動(dòng)時(shí)的延時(shí)。
以上分析是在ferry節點(diǎn)在勻速運動(dòng)的條件下, 節點(diǎn)數據產(chǎn)生率一定, ferry節點(diǎn)在經(jīng)過(guò)某一區域時(shí), 與門(mén)節點(diǎn)的通信時(shí)間充足, 可以完成數據的雙向通信的前提下。
4 仿真實(shí)驗及分析
4. 1 仿真模型
在DTN模型中, 節點(diǎn)隨機分布在四個(gè)不相連接的區域中, 各個(gè)區域節點(diǎn)數目大致相當, 兩個(gè)ferry節點(diǎn)沿固定路徑運動(dòng), 并且假設ferry節點(diǎn)與各個(gè)區域門(mén)節點(diǎn)的接觸時(shí)間相當, 并且足夠與門(mén)節點(diǎn)進(jìn)行通信, 每個(gè)區域中節點(diǎn)所到達的目的節點(diǎn)是平均概率分布的, 門(mén)節點(diǎn)和ferry 節點(diǎn)的存儲能力固定, 這里實(shí)驗時(shí)間設為100000s。
因為本文方案中沒(méi)有涉及到對簇間通信的路由策略, 所以仿真實(shí)驗中所有的數據僅考慮簇間通信的代價(jià)與性能。
4. 2 仿真結果分析
4. 2. 1 多次實(shí)驗的結果分析
各個(gè)節點(diǎn)的數據產(chǎn)生率是隨機的, 隨機分布在100- 300個(gè)單位信息之間, 進(jìn)行多次實(shí)驗。
從圖4、圖5中可以看出, ferry節點(diǎn)逆向運動(dòng)不僅降低了平均延時(shí)和數據丟失率, 并且延時(shí)和丟失率是大致穩定的, 這就說(shuō)明在隨機條件下, ferry節點(diǎn)逆向運動(dòng)的適應性和傳輸能力更強, 也更加穩定。
圖4平均延時(shí)的比較
圖5 平均數據丟失率的比較.
4. 2. 2 不同數據產(chǎn)生率分析
當節點(diǎn)的數據產(chǎn)生率變化時(shí), 通過(guò)實(shí)驗分析網(wǎng)絡(luò )的性能變化的趨勢, 實(shí)驗結果如圖6、圖7。
由圖6和圖7中可以看出, 隨著(zhù)數據產(chǎn)生率的提高, ferry節點(diǎn)逆向運動(dòng)的優(yōu)越性逐漸體現出來(lái),這與3節中的理論分析是一致的, 在網(wǎng)絡(luò )負擔較重的情況下, 逆向ferry節點(diǎn)的性能高。
5 總結
本文在研究了DTN 網(wǎng)絡(luò )中基于ferry節點(diǎn)的路由設計方案基礎上, 提出了通過(guò)改變DTN 中ferry節點(diǎn)的運動(dòng)狀態(tài), 來(lái)提高網(wǎng)絡(luò )傳輸中存儲- 攜帶-轉發(fā)三個(gè)過(guò)程中的攜帶能力, 進(jìn)而提高網(wǎng)絡(luò )的傳輸能力, 通過(guò)實(shí)驗仿真和理論分析, 在大負荷的通信區域內, ferry節點(diǎn)的逆向運動(dòng)優(yōu)于同向運動(dòng), 在小負荷的情況下, 兩者性能相差不大, 同時(shí)也考慮了突發(fā)情況, 進(jìn)一步提高網(wǎng)絡(luò )的傳輸能力。轉發(fā)能力是與ferry節點(diǎn)與簇內門(mén)節點(diǎn)的通信時(shí)間緊密相關(guān)的, 這里我們沒(méi)有改變ferry節點(diǎn)的運行時(shí)間和路徑, 所以它的轉發(fā)能力未能改變, 進(jìn)一步的工作是期望通過(guò)簇內門(mén)節點(diǎn)與ferry的通信自適應改變ferry節點(diǎn)與門(mén)節點(diǎn)的通信時(shí)間, 從而更進(jìn)一步的提高DTN 網(wǎng)絡(luò )的傳輸能力。
評論