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