專利名稱:基于Delivered-Drop機(jī)制的Epidemic路由算法的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及機(jī)會(huì)網(wǎng)絡(luò)路由算法,作用是使機(jī)會(huì)網(wǎng)絡(luò)中節(jié)點(diǎn)高效轉(zhuǎn)發(fā)數(shù)據(jù)包,同時(shí)盡可能少地消耗節(jié)點(diǎn)能量。
背景技術(shù):
機(jī)會(huì)網(wǎng)絡(luò)是一種不需要在源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間存在完整路徑,利用節(jié)點(diǎn)移動(dòng)帶來(lái)的相遇機(jī)會(huì)實(shí)現(xiàn)網(wǎng)絡(luò)通信的、時(shí)延和分裂可容忍的自組織網(wǎng)絡(luò)。機(jī)會(huì)網(wǎng)絡(luò)不同于傳統(tǒng)的多跳無(wú)線網(wǎng)絡(luò),它的節(jié)點(diǎn)不是被統(tǒng)一部署的,網(wǎng)絡(luò)規(guī)模和節(jié)點(diǎn)初始位置未進(jìn)行預(yù)先設(shè)置,源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的路徑事先不能確定是否存在。機(jī)會(huì)網(wǎng)絡(luò)以“存儲(chǔ)-攜帶-轉(zhuǎn)發(fā)”模式逐跳傳輸信息實(shí)現(xiàn)節(jié)點(diǎn)間通信,其體系結(jié)構(gòu)與多跳無(wú)線網(wǎng)絡(luò)不同,它在應(yīng)用層與傳輸層之間插入一個(gè)被稱為束層的新的協(xié)議層。
由于機(jī)會(huì)網(wǎng)絡(luò)能夠處理網(wǎng)絡(luò)分裂、時(shí)延等傳統(tǒng)無(wú)線網(wǎng)絡(luò)技術(shù)難以解決的問(wèn)題,能滿足惡劣條件下的網(wǎng)絡(luò)通信需要,其主要應(yīng)用于缺乏通信基礎(chǔ)設(shè)施、網(wǎng)絡(luò)環(huán)境惡劣以及應(yīng)對(duì)緊急突發(fā)事件的場(chǎng)合。
1.對(duì)照路由算法
為和本發(fā)明路由算法對(duì)照,選取了 2種典型路由算法作為參照算法。Epidemic算法是基于泛洪策略路由算法的典型代表,很多基于泛洪策略的路由算法都可視為是由該算法衍生而來(lái)。Spray and Wait算法是按照一定策略進(jìn)行泛洪,是基于有限度的泛洪策略,該算法的主要性能指標(biāo)在多數(shù)場(chǎng)景下都具有顯著的優(yōu)勢(shì)。
(I)Epidemic 算法
Epidemic算法的基本思想是當(dāng)2節(jié)點(diǎn)相遇時(shí)交換對(duì)方?jīng)]有的數(shù)據(jù)包,經(jīng)過(guò)足夠的交換后,理論上每個(gè)非孤立的節(jié)點(diǎn)將收到所有的數(shù)據(jù)包,從而實(shí)現(xiàn)數(shù)據(jù)包的傳輸。
在Epidemic算法中,每個(gè)數(shù)據(jù)包有一個(gè)全局唯一的標(biāo)識(shí),每個(gè)節(jié)點(diǎn)中保存一個(gè)概要向量用來(lái)記錄節(jié)點(diǎn)中攜帶的數(shù)據(jù)包。當(dāng)2節(jié)點(diǎn)相遇時(shí),雙方首先交換概要向量,獲知對(duì)方攜帶數(shù)據(jù)包情況后,雙方僅傳送對(duì)方?jīng)]有的數(shù)據(jù)包。
Epidemic算法本質(zhì)上是一種泛洪算法,從理論上講該算法能最大化數(shù)據(jù)包傳輸?shù)某晒β剩钚』瘋鬏斞舆t,但也會(huì)使網(wǎng)絡(luò)中存在大量的數(shù)據(jù)包副本,消耗大量的網(wǎng)絡(luò)資源。
Epidemic算法有3個(gè)目標(biāo),分別是最大的傳輸成功率、最小的傳輸延遲和最小的網(wǎng)絡(luò)資源消耗。實(shí)現(xiàn)上述目標(biāo)需要特定的場(chǎng)景,在多數(shù)場(chǎng)景下,由于過(guò)度泛洪導(dǎo)致路由算法的性能顯著下降。
(2) Spray And Wait 算法
Spray and Wait算法分為2個(gè)階段。首先是Spray階段,源節(jié)點(diǎn)中的部分?jǐn)?shù)據(jù)包被擴(kuò)散到鄰居節(jié)點(diǎn);然后進(jìn)入到Wait階段,若Spray階段沒(méi)有發(fā)現(xiàn)目標(biāo)節(jié)點(diǎn),包含數(shù)據(jù)包的節(jié)點(diǎn)以Direct Delivery方式將數(shù)據(jù)包傳送到目標(biāo)節(jié)點(diǎn),即只有在遇到目標(biāo)節(jié)點(diǎn)時(shí),發(fā)送數(shù)據(jù)包。該算法傳輸量顯著地少于Epidemic算法,傳輸成功率高,傳輸延遲較小,算法適用性強(qiáng)。
2.度量值
評(píng)價(jià)機(jī)會(huì)網(wǎng)絡(luò)路由算法性能指標(biāo)的度量值主要有
(1)傳輸成功率
傳輸成功率(Delivery Ratio)是在一定的時(shí)間內(nèi)成功到達(dá)目標(biāo)節(jié)點(diǎn)數(shù)據(jù)包總數(shù)和源節(jié)點(diǎn)發(fā)出的需傳輸數(shù)據(jù)包總數(shù)之比,該指標(biāo)刻畫了路由算法正確轉(zhuǎn)發(fā)數(shù)據(jù)包到目標(biāo)節(jié)點(diǎn)的能力,是最重要的指標(biāo)。
⑵傳輸延遲
傳輸延遲(Delivery Delay)是數(shù)據(jù)包從源節(jié)點(diǎn)到達(dá)目標(biāo)節(jié)點(diǎn)所需的時(shí)間,通常采用平均傳輸延遲來(lái)評(píng)價(jià)。傳輸延遲小意味路由算法傳輸能力強(qiáng)、傳輸效率高,也意味著在傳輸過(guò)程中將會(huì)占用較少的網(wǎng)絡(luò)資源。
(3)路由開銷
路由開銷(Overhead)是指在一定時(shí)間內(nèi)節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)包的總數(shù),通常用所有成功到達(dá)目標(biāo)節(jié)點(diǎn)的數(shù)據(jù)包數(shù)與所有節(jié)點(diǎn)轉(zhuǎn)發(fā)的數(shù)據(jù)包總數(shù)之比來(lái)評(píng)價(jià)。路由開銷高,意味著節(jié)點(diǎn)大量地轉(zhuǎn)發(fā)數(shù)據(jù)包,會(huì)使網(wǎng)絡(luò)中充斥大量的數(shù)據(jù)包副本,增加數(shù)據(jù)包發(fā)生碰撞的概率,也會(huì)大量地消耗節(jié)點(diǎn)能量。
3. Epidemic算法性能分析
以表1場(chǎng)景為基礎(chǔ),分別對(duì)數(shù)據(jù)包總數(shù)為50和每節(jié)點(diǎn)生成10個(gè)數(shù)據(jù)包2種情況進(jìn)行仿真,得到圖1、圖2所示結(jié)果。
圖1、圖2中以Spray And Wait作為對(duì)照算法,該算法在多數(shù)場(chǎng)景下可獲得接近最優(yōu)的傳輸成功率和路由開銷,且無(wú)論網(wǎng)絡(luò)的規(guī)模大小都能保持較好的性能,有很好的可擴(kuò)展性。
由圖1、圖2可得到如下結(jié)論
(1)在一些特定的場(chǎng)景下Epidemic算法的非常高的傳輸成功率和非常低的傳輸延遲,在這兩個(gè)指標(biāo)上大大好于對(duì)照算法;
(2)在數(shù)據(jù)包數(shù)量一定時(shí),網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)量增加會(huì)改善路由算法的性能;
(3)在某些場(chǎng)景下,存在一些和網(wǎng)絡(luò)應(yīng)用環(huán)境緊密相關(guān)的因素會(huì)導(dǎo)致Epidemic算法的性能顯著下降。
圖3以表1場(chǎng)景為基礎(chǔ),描述了節(jié)點(diǎn)總數(shù)一定的情況下,數(shù)據(jù)包數(shù)量和傳輸成功率之間的關(guān)系。由圖3可知數(shù)據(jù)包增加時(shí),傳輸成功率隨之下降。本發(fā)明將產(chǎn)生這種現(xiàn)象的原因稱之為擠出效應(yīng),即當(dāng)網(wǎng)絡(luò)中需要傳輸數(shù)據(jù)包總數(shù)超過(guò)節(jié)點(diǎn)可存儲(chǔ)的數(shù)據(jù)包總量時(shí),會(huì)發(fā)生節(jié)點(diǎn)緩存飽和現(xiàn)象,此時(shí)節(jié)點(diǎn)接收到新數(shù)據(jù)包時(shí),不得不按照一定規(guī)則丟棄舊數(shù)據(jù)包, 這種效應(yīng)的存在導(dǎo)致Epidemic算法性能顯著下降。發(fā)明內(nèi)容
本發(fā)明涉及一種新的機(jī)會(huì)網(wǎng)絡(luò)路由算法,該算法在Epidemic路由算法基礎(chǔ)上引入了 DeIivered-Drop機(jī)制,可以減少已傳輸成功的數(shù)據(jù)包在網(wǎng)絡(luò)中的存在及繼續(xù)轉(zhuǎn)發(fā)。該算法可減少無(wú)效數(shù)據(jù)包的轉(zhuǎn)發(fā)量,獲得較高的傳輸成功率和較低的網(wǎng)絡(luò)資源消耗。
Epidemic算法中擠出效應(yīng)的存在是導(dǎo)致算法性能下降的直接原因之一。按照 Epidemic算法,已傳輸成功的數(shù)據(jù)包依然在網(wǎng)絡(luò)中存在并被繼續(xù)傳輸,這類數(shù)據(jù)包的存在加重了擠出效應(yīng),同時(shí)也大量消耗了網(wǎng)絡(luò)中帶寬和節(jié)點(diǎn)能量資源。
本發(fā)明通過(guò)減少已傳輸成功數(shù)據(jù)包在網(wǎng)絡(luò)中的存在、阻止其繼續(xù)傳播的方式改進(jìn)了 Epidemic算法。具體方案是在Epidemic算法原有機(jī)制基礎(chǔ)上增加下面(1)-(4)機(jī)制, 本發(fā)明將其稱之為Delivered-Drop機(jī)制。
(1)每個(gè)節(jié)點(diǎn)維護(hù)一個(gè)已傳輸成功數(shù)據(jù)包列表L。如第i個(gè)節(jié)點(diǎn)維護(hù)一個(gè)已傳輸成功數(shù)據(jù)包列表Li ;
(2)當(dāng)節(jié)點(diǎn)i和任意節(jié)點(diǎn)j相遇時(shí),節(jié)點(diǎn)i首先獲取新的列表L' i,L' i = Li U Lj ; 節(jié)點(diǎn)j獲取新的列表L' j, L' j = Li U Lj ;
(3)節(jié)點(diǎn)i和節(jié)點(diǎn)j僅交換對(duì)方緩存中沒(méi)有且不存在于列表L' i中的數(shù)據(jù)包;
(4)節(jié)點(diǎn)i維護(hù)的列表Li更新為L(zhǎng)' i后,檢查節(jié)點(diǎn)緩存中的數(shù)據(jù)包,刪除列表L', 中已存在的數(shù)據(jù)包。
Delivered-Drop機(jī)制可以使已傳輸?shù)某晒Φ臄?shù)據(jù)包不再被存儲(chǔ)、發(fā)送和接收,可以在一定程度上抑制已傳輸成功的數(shù)據(jù)包在網(wǎng)絡(luò)中的繼續(xù)存在,減少網(wǎng)絡(luò)中正在傳輸?shù)臄?shù)據(jù)包的個(gè)數(shù),節(jié)約網(wǎng)絡(luò)資源,提高傳輸成功率。
圖1傳輸成功率比較
圖2傳輸延遲比較
圖3數(shù)據(jù)包數(shù)量對(duì)傳輸成功率影響
圖4不同場(chǎng)景下改進(jìn)算法的傳輸成功率
圖5不同場(chǎng)景下改進(jìn)算法的傳輸延遲
圖6不同場(chǎng)景下改進(jìn)算法的路由開銷具體實(shí)施方式
以下對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
使用 0NE(the Opportunistic Networking Environment)仿真平臺(tái)實(shí)施本發(fā)明涉及的路由算法。本發(fā)明模擬了攜有智能藍(lán)牙設(shè)備的行人步行于真實(shí)的城市場(chǎng)景中,并以此來(lái)實(shí)施、分析路由算法的性能。具體場(chǎng)景設(shè)置如表1所示。
表1仿真場(chǎng)景設(shè)置
權(quán)利要求
1.一種機(jī)會(huì)網(wǎng)絡(luò)路由算法(在后面的敘述中簡(jiǎn)稱為路由算法),其特征在于,包括該路由算法的原理、參數(shù)和工作過(guò)程。
2.根據(jù)權(quán)利要求1所述的路由算法,其特征在于,該路由算法是對(duì)Epidemic路由算法的一種改進(jìn)。
3.根據(jù)權(quán)利要求1至2所述的路由算法,其特征在于,該路由算法是在Epidemic路由算法的基礎(chǔ)上引入了 Delivered-Drop機(jī)制。
4.根據(jù)權(quán)利要求3所述的Delivered-Drop機(jī)制,其特征在于,機(jī)會(huì)網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)維護(hù)一個(gè)已傳輸成功數(shù)據(jù)包列表L。如第i個(gè)節(jié)點(diǎn)維護(hù)一個(gè)已傳輸成功數(shù)據(jù)包列表L”
5.根據(jù)權(quán)利要求3至4所述的Delivered-Drop機(jī)制,其特征在于,當(dāng)節(jié)點(diǎn)i和任意節(jié)點(diǎn)j相遇時(shí),節(jié)點(diǎn)i首先獲取新的列表L' L' i = Li U Ly節(jié)點(diǎn)j獲取新的列表L' j, L j L-j LJ Lj ο
6.根據(jù)權(quán)利要求3至5所述的Delivered-Drop機(jī)制,其特征在于,節(jié)點(diǎn)i和節(jié)點(diǎn)j僅交換對(duì)方緩存中沒(méi)有且不存在于列表L' i中的數(shù)據(jù)包。
7.根據(jù)權(quán)利要求3至6所述的Delivered-Drop機(jī)制,其特征在于,列表Li更新為L(zhǎng)', 后,檢查節(jié)點(diǎn)緩存中的數(shù)據(jù)包,刪除列表L' i中已存在的數(shù)據(jù)包。
全文摘要
本發(fā)明涉及一種機(jī)會(huì)網(wǎng)絡(luò)路由算法,作用是改進(jìn)了Epidemic路由算法,使機(jī)會(huì)網(wǎng)絡(luò)中節(jié)點(diǎn)高效轉(zhuǎn)發(fā)數(shù)據(jù)包,同時(shí)盡可能少地消耗節(jié)點(diǎn)能量。Epidemic路由算法的在某些場(chǎng)景中可以取得很高的傳輸成功率和很低的傳輸延遲,但算法的適應(yīng)性較差,在另一些場(chǎng)景中,算法性能會(huì)急劇下降。本發(fā)明提出了Delivered-Drop機(jī)制,并以該機(jī)制改進(jìn)Epidemic路由算法。Delivered-Drop機(jī)制能有效地減少網(wǎng)絡(luò)中無(wú)效數(shù)據(jù)包的數(shù)量,改善路由算法的性能,進(jìn)而改善了Epidemic路由算法的可擴(kuò)展性。
文檔編號(hào)H04W40/02GK102523614SQ201210000368
公開日2012年6月27日 申請(qǐng)日期2012年1月4日 優(yōu)先權(quán)日2012年1月4日
發(fā)明者孫踐知, 張迎新, 蔡強(qiáng), 譚勵(lì) 申請(qǐng)人:北京工商大學(xué)