《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 一種基于簇的容遲網(wǎng)絡(luò)的路由算法CB-NIMF

一種基于簇的容遲網(wǎng)絡(luò)的路由算法CB-NIMF

2009-07-03
作者:鐘朝薪, 屈玉貴

  摘 要: 在“ferry”概念的基礎(chǔ)上,提出容遲網(wǎng)絡(luò)中一種新的路由算法CB-NIMF(Cluster-Based Node Initiated Message Ferrying),在該算法下,利用普通節(jié)點之間的網(wǎng)絡(luò)拓撲結(jié)構(gòu)和通信能力,縮短了數(shù)據(jù)采集網(wǎng)絡(luò)中普通節(jié)點向“ferry”移動的非正常工作時間,降低了隱性的數(shù)據(jù)丟失,增加了節(jié)點的工作時間以及采集的數(shù)據(jù)量。?
  關(guān)鍵詞: 容遲網(wǎng)絡(luò); ferry; 簇; 路由

?

  Internet作為當(dāng)今全球信息交互的工具,無疑已經(jīng)取得了巨大的成功。它使用了大量的通信協(xié)議(TCP/IP協(xié)議族)來確保通信的正常工作。組成Internet的成千上萬的子網(wǎng)內(nèi)的所有設(shè)施都使用這些協(xié)議來進行數(shù)據(jù)路由以及確保信息交換的可靠性。不過,Internet上工作的協(xié)議都是基于一個假設(shè)才能正常工作的:所有的通信鏈路都穩(wěn)定地、不間斷地連接在一起。近幾年,無線傳感器網(wǎng)絡(luò)、移動Ad-Hoc網(wǎng)絡(luò)等發(fā)展迅速,不過這類網(wǎng)絡(luò)都存在著相同的問題,即網(wǎng)絡(luò)的鏈路連接是間斷性的,傳統(tǒng)Internet上的協(xié)議并不能直接使用。針對以上問題,F(xiàn)ALL K于2003年在參考文獻[1]中給出了一個解決該問題的框架,即DTN網(wǎng)絡(luò)。之后,關(guān)于DTN網(wǎng)絡(luò)的研究越來越受到重視[2-6]
  2004年, ZHAO Wen Rui提出了“ferry”的概念[2]: “ferry”的移動路徑是固定的,不存在隨機性,該路徑稱為路由路徑,并且假設(shè)網(wǎng)絡(luò)中的其他正常節(jié)點只產(chǎn)生數(shù)據(jù),并不參與路由過程?!癴erry”路由的基本思想是:整個網(wǎng)絡(luò)的路由由快速移動的“ferry”節(jié)點完成,當(dāng)經(jīng)過某一個節(jié)點時,“ferry” 節(jié)點從該節(jié)點上獲取要傳輸?shù)臄?shù)據(jù),然后沿著路由路徑移動。當(dāng)遇到目的節(jié)點時,把數(shù)據(jù)傳輸給目的節(jié)點。在參考文獻[2]中,提出了一種普通節(jié)點和“ferry”節(jié)點信息通信的路由算法:NIMF(Node-Initiated Message Ferrying)。在NIMF路由算法中,當(dāng)節(jié)點上有數(shù)據(jù)要傳輸時,它將停止當(dāng)前工作并向“ferry”的路由路徑移動;在“ferry”節(jié)點要傳輸數(shù)據(jù)給普通節(jié)點時,也需要普通節(jié)點移動到“ferry”的路由路徑。如圖1所示,其中黑點表示節(jié)點,黑色方塊表示“ferry”,實圓圈是“ferry”的路由路徑。當(dāng)有數(shù)據(jù)傳輸時,所有節(jié)點都會獨自按照最短的距離移動到圓圈的位置,然后等待“ferry”。

?


  當(dāng)一個用于數(shù)據(jù)采集的DTN網(wǎng)絡(luò)使用NIMF進行路由時,可以把數(shù)據(jù)丟失分為兩部分:由于路由超時而導(dǎo)致的數(shù)據(jù)丟失,對此本文稱之為顯性數(shù)據(jù)丟失;由于節(jié)點移動,節(jié)點離開工作地點到再次返回工作地點這段時間稱為節(jié)點的非正常工作狀態(tài),由此導(dǎo)致的數(shù)據(jù)丟失本文稱之為隱性數(shù)據(jù)丟失。如果節(jié)點離 “ferry”路由路徑很遠,往返的時間將會嚴重影響數(shù)據(jù)采集的正常工作,隱性數(shù)據(jù)丟失問題將會比較嚴重,其影響甚至可能超過了顯性數(shù)據(jù)的丟失。而且,隨著網(wǎng)絡(luò)規(guī)模的增大,節(jié)點數(shù)目增多,這種損失就會越大。針對NIMF在節(jié)點移動時間上的缺陷,本文利用節(jié)點之間的網(wǎng)絡(luò)結(jié)構(gòu),將節(jié)點按位置先組成一個個簇,并且在簇內(nèi)建立一個邏輯樹,讓節(jié)點也參與數(shù)據(jù)路由,以減少網(wǎng)絡(luò)中節(jié)點的移動時間,從而有效降低節(jié)點因移動而導(dǎo)致的隱性數(shù)據(jù)丟失。由于節(jié)點的非正常工作時間減少,因節(jié)點處于正常工作狀態(tài)的時間就會相應(yīng)增多,這也增大了節(jié)點在固定時間內(nèi)的數(shù)據(jù)采集量。
1 CB-NIMF的設(shè)計
  當(dāng)網(wǎng)絡(luò)規(guī)模比較大,節(jié)點和“ferry”路由路徑離得較遠時,節(jié)點的非正常工作時間會比較長,因此會造成隱性數(shù)據(jù)丟失問題。對此,本文提出一種新的路由: CB-NIMF。在一個用于數(shù)據(jù)收集的DTN網(wǎng)絡(luò)中,節(jié)點分布一般會有一定的規(guī)律,比如,在比較重要的區(qū)域,一般會有較多的節(jié)點,即節(jié)點的分布一般是不均勻的,很容易形成一個個區(qū)域簇。在這些簇內(nèi),各個節(jié)點和路由路徑的距離是不相同的,有些離節(jié)點很近甚至就在節(jié)點的路由路徑上,而有些節(jié)點則離得比較遠。CB-NIMF利用網(wǎng)絡(luò)中節(jié)點與“ferry”路由路徑之間距離的差異讓普通節(jié)點也進行數(shù)據(jù)路由工作,盡量減少由于節(jié)點移動而導(dǎo)致的隱性數(shù)據(jù)丟失。在CB-NIMF中,對“ferry”的功能進行一定的強化?!癴erry”除了進行數(shù)據(jù)路由之外,還將進行網(wǎng)絡(luò)分簇并替簇內(nèi)的節(jié)點建立一個邏輯樹。
1.1 分簇
  在CB-NIMF中,假設(shè)每個節(jié)點都知道了“ferry”的路由路徑,同時都能準(zhǔn)確定位自己在網(wǎng)絡(luò)中所處的位置——可以通過GPRS之類來獲得。在布置網(wǎng)絡(luò)的時候,每個節(jié)點首先獲取自己的位置坐標(biāo),計算與“ferry”路由路徑之間的距離,然后通過一次長距離的通信,將該坐標(biāo)和距離發(fā)送給“ferry”節(jié)點?!癴erry”在收集到網(wǎng)絡(luò)中節(jié)點的坐標(biāo)位置后,根據(jù)節(jié)點的位置分布,將距離比較靠近的節(jié)點分配成一個簇。如圖2所示,其中虛線圓圈覆蓋的范圍是一簇。當(dāng)某個節(jié)點位于兩個簇之間時,“ferry”節(jié)點將根據(jù)以下方法來確定將該節(jié)點加入哪一個簇:
  (1)當(dāng)某個簇A中不存在與該節(jié)點距離比較小的節(jié)點,
而在另一個簇B中存在與該節(jié)點距離較小的節(jié)點時,“ferry”將會把該節(jié)點加入簇B的樹。
  (2)當(dāng)該節(jié)點在2個網(wǎng)絡(luò)簇中都存在與它距離差不多一樣的節(jié)點時,“ferry”節(jié)點將分別比較該節(jié)點在2個樹中的深度,同時選擇將其加入深度較小的那個邏輯樹所在的簇。如果該節(jié)點在兩棵邏輯樹中的深度一樣時,“ferry”將會把該節(jié)點加入節(jié)點數(shù)目較少的那個簇。

?


1.2 邏輯樹的形成
  當(dāng)“ferry”接收到所有節(jié)點的坐標(biāo),并把節(jié)點分配到相應(yīng)的簇之后,它將根據(jù)節(jié)點與自己路由路徑的距離,建立一棵邏輯樹。首先,簇中距離最小的節(jié)點將會成為該簇與“ferry”通信的門節(jié)點。以門節(jié)點為根,將簇內(nèi)其他所有節(jié)點以距離為因素來組成邏輯樹:在形成的樹中,父節(jié)點與“ferry”路由路徑的距離總是比其子節(jié)點與“ferry”路由路徑的距離要短。為了使簇內(nèi)所有節(jié)點的移動距離總和最小化,可以使用Prim算法來生成一棵最小生成樹。在成功建立了樹之后,“ferry”替每個節(jié)點計算它們各自在樹中的深度,然后用深度來標(biāo)記節(jié)點。如果2個節(jié)點在樹中的深度一樣,就稱這2個節(jié)點在樹中屬于同一層次。然后,“ferry”把節(jié)點的深度以及其父節(jié)點和子節(jié)點的坐標(biāo)位置都通過一次長距離通信發(fā)送給節(jié)點。最終結(jié)果如圖3所示,其中虛圓包圍的是簇,a、b、c、d、e是各個簇的門節(jié)點,虛線形成的是一個邏輯樹。

?


1.3?網(wǎng)絡(luò)中的數(shù)據(jù)傳輸
??? 當(dāng)把網(wǎng)絡(luò)分成N個簇之后,整個網(wǎng)絡(luò)中的數(shù)據(jù)傳輸主要可以分為兩類:簇內(nèi)數(shù)據(jù)傳輸和簇間數(shù)據(jù)傳輸。當(dāng)一個節(jié)點有數(shù)據(jù)需要傳輸時,它首先判斷目的節(jié)點和自己是不是屬于同一個簇,如果是同一個簇內(nèi)的節(jié)點,則按照簇內(nèi)數(shù)據(jù)傳輸?shù)姆绞竭M行路由。發(fā)送節(jié)點首先判斷自己與目的節(jié)點之間深度的大小,當(dāng)目的節(jié)點深度比自己小時,發(fā)送節(jié)點將向父節(jié)點移動,把數(shù)據(jù)傳輸給父節(jié)點后返回原位置正常工作;當(dāng)目的節(jié)點深度比自己大時,發(fā)送節(jié)點將向自己一個子節(jié)點移動,把數(shù)據(jù)傳輸給自己的子節(jié)點后返回原位置正常工作;當(dāng)目的節(jié)點深度和自己一樣時,發(fā)送節(jié)點將向與自己最為臨近的同層次節(jié)點移動,數(shù)據(jù)傳輸完成后返回原位置正常工作。
  當(dāng)發(fā)送節(jié)點和目的節(jié)點不屬于同一個簇時,路由過程將經(jīng)由門節(jié)點和“ferry”來完成。當(dāng)一個簇內(nèi)有節(jié)點要傳輸數(shù)據(jù)后,它將會向父節(jié)點移動,在與父節(jié)點相遇后,把數(shù)據(jù)傳輸給父節(jié)點,然后返回原位置開始正常工作;而父節(jié)點在接收到數(shù)據(jù)后,將會開始新一輪的路由選擇過程,這一過程將一直持續(xù)到數(shù)據(jù)到達門節(jié)點。當(dāng)門節(jié)點要傳輸數(shù)據(jù)時,它將會向“ferry”的路由路徑移動,成功地把數(shù)據(jù)傳輸給“ferry”后,返回正常工作。而“ferry”將會把要路由的數(shù)據(jù)按照目的節(jié)點所在簇分類,當(dāng)遇到一個簇的門節(jié)點時,將所有目的節(jié)點位于該簇內(nèi)的數(shù)據(jù)轉(zhuǎn)發(fā)給該門節(jié)點。然后該門節(jié)點將按照簇內(nèi)數(shù)據(jù)路由的過程將接收到的數(shù)據(jù)發(fā)送到各個目的節(jié)點。如圖4所示,其中路徑1屬于簇內(nèi)數(shù)據(jù)傳輸,不需經(jīng)過 “ferry”;路徑2屬于簇間數(shù)據(jù)傳輸,經(jīng)由門節(jié)點和“ferry”來完成。

?


2 節(jié)點平均的非正常工作時間?
  在CB-NIMF路由方式中,筆者把普通節(jié)點N的非正常工作時間分成兩個部分TNm和TNw,其中,TNm是節(jié)點N移動到父節(jié)點所需要的時間,這個時間當(dāng)網(wǎng)絡(luò)初始化完成之后就是固定不變的,可以用兩個節(jié)點之間的距離來衡量;TNw是節(jié)點N在父節(jié)點的初始位置等待父節(jié)點的時間。這樣,節(jié)點N的非正常工作時間為:
  

  對于門節(jié)點,Tw是 “ferry” 沿路由路徑移動一圈所需時間的一半。假設(shè)“ferry”移動一圈所需要的時間是T,則門節(jié)點的平均等待時間Tw=T/2。那么門節(jié)點移動一次的非工作時間的平均值是:
???

??? 從上述不等式(9)右邊的最后一項可以看出,在簇內(nèi)層次越高的節(jié)點,其移動時間受“ferry”路由周期的影響就越低。事實上,當(dāng)n≥3時,T/(2×4n)≤T/192,當(dāng)且僅當(dāng)Twk=Tab時取等號,而且,在一個正常工作的網(wǎng)絡(luò)中, Twk>>Tab,則不等式的最后一項其分母將會變得更大,因此,可以認為當(dāng)節(jié)點在簇內(nèi)的層次k≥3之后,節(jié)點的非正常工作時間就與“ferry” 的路由周期關(guān)系不大,甚至可以忽略 “ferry”的路由周期的影響,只與節(jié)點間的距離有關(guān)而已。
3 仿真結(jié)果
??? 本文使用了C語言實現(xiàn)了CB-NIMF的仿真過程。為了簡化非正常工作時間的分析,在仿真過程中,并沒有把能量和延遲等因素考慮在內(nèi)。
??? 系統(tǒng)概述:
  在假設(shè)的DTN網(wǎng)絡(luò)模型中,所有節(jié)點隨機分布在網(wǎng)絡(luò)內(nèi), “ferry” 的路由路徑是固定的。
  (1)將整個網(wǎng)絡(luò)分成50×50的方格,只有處于同一個方格內(nèi)的節(jié)點才能進行正常通信。
  (2)每個節(jié)點都擁有與 “ferry”進行長距離通信的能力,不過由于長距離通信消耗的能量比正常通信消耗的能量大得多,節(jié)點只會在網(wǎng)絡(luò)初始化時期通過該長距離通信向 “ferry”通知自己的坐標(biāo)數(shù)據(jù)以及從 “ferry”處獲取初始化信息。
  (3)在模型中,ferry每一個系統(tǒng)時間前進一個單位格,即ferry在當(dāng)前的方格只停留一個單位時間,普通節(jié)點只有與ferry處于同一方格內(nèi)才能進行普通數(shù)據(jù)傳輸。
  (4)每個節(jié)點的移動速度是每個單位時間可以前進一個單位格,包括斜對角方向的單元格。
  為了比較網(wǎng)絡(luò)中節(jié)點數(shù)目導(dǎo)致的NIMF和CB-NIMF兩種算法節(jié)點移動時間的差異,當(dāng)網(wǎng)絡(luò)中節(jié)點數(shù)目分別為10、25、50、75、100、125、150、175、200時,分別仿真了兩種算法下節(jié)點的移動時間,結(jié)果如圖5所示:當(dāng)網(wǎng)絡(luò)中節(jié)點數(shù)目較少時,CB-NIMF和NIMF 兩種方式中的總節(jié)點移動時間相差不多,但是隨著網(wǎng)絡(luò)中節(jié)點數(shù)目增加,CB-NIMF 方式下總節(jié)點移動時間將會比NIMF方式下總節(jié)點移動時間越來越少,也就是說,當(dāng)節(jié)點數(shù)目比較大的時候,CB-NIMF比NIFM具有明顯的優(yōu)勢。這也與前面的分析一致,當(dāng)節(jié)點的數(shù)目增多,簇內(nèi)節(jié)點的數(shù)目相應(yīng)增多,高層次的節(jié)點將會增加,而層次越高的節(jié)點,其非正常工作時間與“ferry”路由周期T的關(guān)系就越小,甚至可以說只與節(jié)點間的距離有關(guān)。而在一個基于NIMF的DTN網(wǎng)絡(luò)中,每個節(jié)點的非正常工作時間都與 “ferry” 路由周期T密切相關(guān),導(dǎo)致網(wǎng)絡(luò)中所有節(jié)點的非正常工作時間總和與節(jié)點數(shù)目以及T成正比。

  當(dāng)節(jié)點數(shù)目較少時,每次簇內(nèi)的節(jié)點會比較少甚至可能只有1~2個節(jié)點存在。因為本算法規(guī)定每個簇內(nèi)只有一個節(jié)點能與“ferry” 節(jié)點進行直接通信,如果簇內(nèi)節(jié)點很少時,采用CB-NIMF方式并不合適。不過,一般用于數(shù)據(jù)采集的傳感器網(wǎng)絡(luò),其節(jié)點數(shù)目都比較多。而從前面的研究中看出,隨著網(wǎng)絡(luò)中節(jié)點數(shù)目的增加,CB-NIMF的優(yōu)勢也會逐漸增加。因此,CB-NIMF相比較于NIMF還是有巨大優(yōu)勢的。
  本文針對用于數(shù)據(jù)采集且基于“ferry”的容遲網(wǎng)絡(luò)中采用NIMF路由時節(jié)點移動時間過長的缺陷,根據(jù)網(wǎng)絡(luò)中普通節(jié)點也可以進行數(shù)據(jù)路由以及網(wǎng)絡(luò)分布的特點,提出新的基于簇的路由算法CB-NIMF,理論推導(dǎo)和仿真結(jié)果說明,CB-NIMF能有效地減少節(jié)點的移動時間,從而增加節(jié)點在固定時間內(nèi)的數(shù)據(jù)采集量。

參考文獻
[1] ?FALL K. A delay-tolerant network architecture for challenged internets. In Proc.SIGCOMM 2003,2003.
[2] ?ZHAO Wen Rui. Mostafa ammer ellen zegura. A message ??ferrying approach for data delivery in sparse mobile Ad?Hoc networks. In ACM MobiHoc 2004,2004.
[3]?GU Y, BOZDAG D, EKICI E, et al. Partitioning based?mobile element scheduling in wireless sensor networks. In?Proc.2nd Annual IEEE Conference on Sensor and Ad Hoc ?Communications and Networks,2005.
[4]?ZHAO W, AMMAR M, ZEGURA E. Controlling the?mobility of multiple data transport ferries in a delay-tolerant?network. In Proc.INFOCOM 2005,2005.
[5]?JEA D,SOMASUNDARA A, SRIVASTAVA? M. Multiple?controlled mobile elements(data mules) for data collection
?in sensor networks. In DCOSS 2005,2005.
[6]?ZHANG Zhen, FEI Zong Ming. Route design for multiple?ferries in delay tolerant networks. Wireless Communications?and Networking Conference, 2007. WCNC IEEE, 2007.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。