DTN中基于消息綜合屬性的緩存管理策略_第1頁
DTN中基于消息綜合屬性的緩存管理策略_第2頁
DTN中基于消息綜合屬性的緩存管理策略_第3頁
DTN中基于消息綜合屬性的緩存管理策略_第4頁
DTN中基于消息綜合屬性的緩存管理策略_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

DTN中基于消息綜合屬性的緩存管理策略

崔建群,余東海,常亞楠,孫佳悅,鄔堯(華中師范大學計算機學院,武漢430079)1引言延遲容忍網(wǎng)絡[1](DelayTolerantNetwork,DTN)是指能在長時延、連接頻繁斷開等受限網(wǎng)絡條件下進行通信的一種新型網(wǎng)絡體系.DTN網(wǎng)絡中節(jié)點密度稀疏且傳輸范圍有限,節(jié)點之間很難進行通信[2],因此DTN利用節(jié)點的移動,當節(jié)點進入彼此的通信范圍時,通過節(jié)點建立連接實現(xiàn)通信.然而,節(jié)點的移動性同樣會導致連接中斷情況的發(fā)生,使得DTN網(wǎng)絡具有間歇性連接的特點[3].網(wǎng)絡間歇性連接和節(jié)點的移動性等因素使得相鄰節(jié)點在很長時間內(nèi)無法進行通信,節(jié)點需要長時間攜帶消息等待下一次通信機會,因此DTN通過在傳輸層和應用層之間添加一個捆綁層,采取“存儲-攜帶-轉發(fā)”[4]路由機制進行數(shù)據(jù)傳輸:當節(jié)點接收一個消息,將其存儲在緩存中,在移動時攜帶此消息,在下一次與其他節(jié)點連接時根據(jù)路由策略進行消息轉發(fā).DTN路由策略分為單拷貝策略和多拷貝策略[5].前者消耗資源較少但很難實現(xiàn)消息的成功傳輸,為了增加消息的投遞率和降低傳輸時延,通常采用多拷貝策略.多拷貝策略下,由于價格、體積等因素的影響[3],節(jié)點有限的緩存空間無法滿足大量消息副本的存放需求,導致在傳輸過程中部分消息副本遭到丟棄而無法到達目的節(jié)點,從而使得整體網(wǎng)絡投遞率下降.因此,如何制定有效的緩存管理策略,對不同消息副本進行分類和評估,做到有針對性的存放和刪除消息副本,是提高網(wǎng)絡整體性能所需要解決的關鍵問題之一.傳統(tǒng)的緩存管理策略不考慮或只考慮單一的消息屬性對消息進行丟棄,具有一定的盲目性.近年來,國內(nèi)外大量科學文獻對傳統(tǒng)緩存管理策略進行了改進,多集中于通過將消息屬性進行疊加來確定消息優(yōu)先級,并依據(jù)此制定出消息丟棄策略,以得到網(wǎng)絡性能的提升[6-8].然而,在實際網(wǎng)絡環(huán)境中,消息屬性對網(wǎng)絡性能的影響程度會隨著時間的推移而不斷變化,大多數(shù)文獻并未對這一變化進行深入討論,因此其方法有待進一步改進和提升.本文在SprayandWait[9]路由算法的基礎上提出了一種基于消息綜合屬性的緩存管理策略MCA-BMS:綜合考慮了消息大小、消息生存時間和消息轉發(fā)次數(shù)三種消息屬性確定消息的優(yōu)先級,決定消息的轉發(fā)和丟棄順序,此外緩存管理策略中還引入了ACK確認機制[10],刪除已經(jīng)投遞成功的冗余消息,以提高網(wǎng)絡資源利用率.通過與SHLI[11]、DLC[12]、MPBBM[6]和SAD[13]進行仿真實驗對比,MCA-BMS在投遞率、傳輸時延和網(wǎng)絡開銷等網(wǎng)絡整體性能方面有較大的提升.2相關工作正如前文所述,多拷貝路由算法的性能會因為節(jié)點緩存空間有限但無法容納傳入的消息副本所發(fā)生的緩存溢出現(xiàn)象而下降.為了減輕緩沖區(qū)溢出的影響,需要對節(jié)點緩存中的消息進行丟棄,緩存管理策略決定了在緩存溢出時需要丟棄的消息.傳統(tǒng)的緩存管理策略[11,14],包括如DLR,FIFO等不考慮消息的屬性而僅考慮消息進入緩存空間的先后順序和滯留時間;又如MOFO,SHLI等傳統(tǒng)緩存管理策略僅考慮轉發(fā)次數(shù)或消息生存時間單一的消息屬性,這些傳統(tǒng)緩存管理策略沒有對消息屬性進行全面的考慮和衡量,具有一定的盲目性,因此之后的大部分研究對消息屬性進行了劃分和綜合來對傳統(tǒng)緩存管理策略進行改進.現(xiàn)有的緩存管理策略可以分為根據(jù)局部信息設計和根據(jù)全局信息設計.全局信息包括網(wǎng)絡中消息副本數(shù)、消息轉發(fā)次數(shù)等,文獻[15]針對Epidemic[16]路由算法提出了依據(jù)報文質(zhì)量的擁塞控制策略DmQ,通過估計網(wǎng)絡中消息轉發(fā)次數(shù),并綜合消息生存時間確定消息丟棄順序,以得到更好的網(wǎng)絡性能.文獻[6]針對Epidemic路由算法綜合消息生存時間和轉發(fā)次數(shù),將消息生存時間和消息在網(wǎng)絡中的轉發(fā)次數(shù)進行歸一化處理,提出一種基于消息特性的緩存管理算法MPBBM,將消息生存時間取對數(shù)處理使之與消息轉發(fā)次數(shù)處于同一數(shù)量級,并將兩者疊加決定消息丟棄順序,有效提高Epidemic算法的性能.然而沒有為消息生存時間和轉發(fā)次數(shù)分配相應的權重,因而無法調(diào)整兩者的影響程度以適應不同的環(huán)境.由于DTN網(wǎng)絡的間斷性連接和節(jié)點的移動性,很難獲得和維護整個網(wǎng)絡的全局信息,只能通過節(jié)點相遇交換信息來對全局信息進行預測,這種預測往往是不準確的,并且節(jié)點需要額外空間保存全局信息,造成緩存空間的消耗,因此采用下述局部信息設計緩存管理策略更符合DTN的網(wǎng)絡特點.文獻[12]針對BinarySprayandWait路由算法提出了基于二分散發(fā)和等待路由的自適應擁塞控制策略DLC.主要思想是利用路由算法的特點,用消息副本數(shù)作為轉發(fā)次數(shù)、存在時間和散發(fā)能力的綜合表現(xiàn),優(yōu)先丟棄消息副本數(shù)少的消息來達到提高投遞率和減少開銷的目的.然而只考慮轉發(fā)次數(shù)這一種消息屬性不夠全面,沒有考慮消息生存時間等消息屬性對網(wǎng)絡性能產(chǎn)生的影響.文獻[13]不同于以上緩存管理策略,考慮了消息大小因素,提出了可感知大小的丟棄策略SAD,其主要思想是根據(jù)消息大小盡可能最小化丟棄副本數(shù)量來達到最小化網(wǎng)絡開銷的目的,以避免頻繁丟棄消息浪費網(wǎng)絡資源.綜上所述,消息大小、消息生存時間和消息轉發(fā)次數(shù)對于網(wǎng)絡性能有著重要的影響.然而,很少有緩存管理策略能夠綜合考慮這3種消息屬性,且大多數(shù)緩存管理策略都是針對Epidemic算法進行改進,很少有根據(jù)SprayandWait消息轉發(fā)特性專門針對SprayandWait算法的緩存管理策略.因此,本文提出一種針對SprayandWait路由算法基于消息綜合屬性的緩存管理策略MCA-BMS,通過同時考慮消息大小、消息生存時間和消息轉發(fā)次數(shù)決定消息的轉發(fā)和丟棄順序,提升網(wǎng)絡綜合性能.3網(wǎng)絡模型3.1消息大小消息大小直接影響節(jié)點緩存中可以容納的消息數(shù)量.當節(jié)點發(fā)生擁塞導致部分消息副本需要被丟棄時,必須考慮到消息大小對消息丟棄數(shù)量的影響,否則有可能會出現(xiàn)丟棄多個消息節(jié)點之后緩存仍然難以容納新到來消息的情況,從而造成不必要的消息丟失,使得整個網(wǎng)絡中消息投遞率下降;另一方面,頻繁的消息丟棄會消耗節(jié)點能量,也會增大網(wǎng)絡開銷.因此,為了減少這種情況的發(fā)生,本文提出了消息大小閾值的概念,根據(jù)閾值對節(jié)點緩存中的消息進行篩選,盡可能最小化丟棄消息數(shù)量,來達到降低網(wǎng)絡開銷,提高投遞率的目的.消息大小閾值Sthreshold表示接收消息需要空出的緩存空間大小,其計算方法如公式(1)所示:Sthreshold=Msize-FBsize(1)其中Msize表示節(jié)點即將接收消息大小,是消息生成后的固定屬性,可以直接獲取;FBsize表示緩存空閑大小,可以通過節(jié)點緩存占用比、節(jié)點緩存大小計算進行獲取.由于同一節(jié)點在不同時刻接收消息的大小、節(jié)點緩存空閑大小不盡相同,因此消息大小閾值并不是一個定值,而是不斷變化的.消息丟棄策略中首先篩選出消息大小大于閾值的消息進行丟棄,以最小化消息丟棄數(shù)量,從而降低網(wǎng)絡開銷.3.2消息生存時間節(jié)點在創(chuàng)建消息的時候,會為每個消息分配初始生存時間,隨著仿真時間的增加,消息的剩余生存時間會逐漸減少.節(jié)點每隔一段時間會對緩存空間中的消息進行檢查,刪除消息生存時間到期的消息.消息剩余生存時間直接影響消息能否到達目的節(jié)點.當節(jié)點進行消息丟棄時,需要考慮消息剩余生存時間對消息丟棄策略造成的影響,否則那些生存時間快要到期的消息可能滯留在緩存中,而那些新創(chuàng)建的消息可能還沒來得及轉發(fā)就被丟棄.對于那些生存時間快要到期的消息,一方面這些消息的副本可能已經(jīng)被成功投遞;另一方面,這些消息大概率會在傳輸過程中因生存時間到期而被節(jié)點刪除,很難到達目的節(jié)點,從而加大整個網(wǎng)絡消息傳輸時延.對于那些新創(chuàng)建的消息,由于消息副本還沒有得到充分的轉發(fā)就被丟棄,使得網(wǎng)絡中的消息副本數(shù)較少,擴散范圍較小,成功投遞的概率較低,從而降低整個網(wǎng)絡的消息投遞率.因此本文通過定義生存時間閾值,根據(jù)閾值對緩存中消息隊列進行劃分,在消息生存時間小于閾值時,優(yōu)先丟棄消息生存時間小的消息來減少上述情況的發(fā)生.消息生存時間閾值如公式(2)所示:TTLthreshold=δ*TTLinit(2)式中TTLthreshold表示消息生存時間閾值,TTLinit表示消息初始生存時間,δ為0~1之間的數(shù),后文中通過實驗確定δ在當前仿真環(huán)境下的值,從而確定生存時間閾值.3.3消息轉發(fā)次數(shù)除了上述消息大小和消息生存時間,消息的轉發(fā)次數(shù)也同樣需要考慮.消息的轉發(fā)次數(shù)越多,則網(wǎng)絡中該消息的副本越多,消息已經(jīng)成功投遞的可能性越大,并且即使沒有被成功投遞,部分節(jié)點丟棄這種消息,其他節(jié)點仍有很大的轉發(fā)機會,不會對整體消息投遞率造成很大影響;然而若丟棄消息轉發(fā)次數(shù)少的消息,由于消息并沒有得到充分轉發(fā)機會,消息很難到達目的節(jié)點,使得消息投遞率下降,因此消息轉發(fā)次數(shù)影響了消息的投遞率.對于一般多拷貝算法,消息的轉發(fā)次數(shù)屬于全局信息,需要通過節(jié)點維護這一全局信息并通過節(jié)點間接觸對消息轉發(fā)次數(shù)進行更新,而使用全局信息必定會帶來消息緩存的占用和預測的不準確性.然而基于本文所改進的路由算法SprayandWait的特點,可以采用消息副本對消息轉發(fā)次數(shù)進行替代.由于SprayandWait路由算法中節(jié)點維護了緩存空間中消息副本數(shù),且每次噴發(fā)只復制一個消息,因此消息副本數(shù)越少就意味著該消息的轉發(fā)次數(shù)越多.在消息生存時間充足的時候,即生存時間大于生存時間閾值的時候,優(yōu)先對轉發(fā)次數(shù)多的消息即消息副本少的消息進行丟棄,可以給轉發(fā)次數(shù)少的消息更多轉發(fā)機會,提高消息投遞率.3.4消息效用值通過上述對消息3個重要屬性進行分析,可以得到消息大小主要影響網(wǎng)絡開銷,消息生存時間主要影響傳輸時延,消息轉發(fā)次數(shù)主要影響消息投遞率,那么如何平衡這3個消息屬性的影響程度,使得網(wǎng)絡中綜合性能最優(yōu)成為我們需要解決的問題.本文采用定義消息效用值的方法將消息生存時間和消息轉發(fā)次數(shù)兩種消息屬性進行綜合,通過消息生存時間閾值來確定兩種消息屬性的影響程度.消息效用值的定義以更加直觀的方式來衡量消息轉發(fā)和丟棄的優(yōu)先級,從而確定轉發(fā)和丟棄的順序.具體定義如公式(3)所示:(3)式中TTLthreshold表示消息生存時間閾值,Copiesk表示節(jié)點攜帶消息mk的消息副本數(shù),TTLk表示該節(jié)點中消息的剩余生存時間.由于本文采用的路由算法為SprayandWait算法,因此節(jié)點中消息初始副本數(shù)可以預先設置,并且可以為每個消息增加消息副本字段來記錄消息副本數(shù).在消息剩余生存時間小于生存時間閾值時,則消息剩余生存時間成為丟棄消息所需要考慮的主要因素,通過優(yōu)先丟棄消息剩余生存時間小的消息,以降低網(wǎng)絡傳輸時延.當消息剩余生存時間大于消息生存時間閾值時,可以認為消息有足夠的時間到達目的節(jié)點,消息剩余生存時間不再是比較丟棄順序的主要因素,因此將轉發(fā)次數(shù)即消息副本數(shù)作為選擇丟棄消息的依據(jù),通過優(yōu)先丟棄消息副本數(shù)少的消息,讓消息轉發(fā)次數(shù)少的消息有更多的轉發(fā)機會,以提高網(wǎng)絡消息投遞率.4基于消息綜合屬性的緩存管理策略MCA-BMS本文提出的基于SprayandWait的綜合緩存管理策略MCA-BMS綜合了節(jié)點攜帶消息大小、生存時間和副本數(shù),對SprayandWait算法的消息的轉發(fā)和丟棄策略進行改進,本節(jié)從ACK確認機制、消息轉發(fā)和丟棄順序、消息轉發(fā)策略以及消息丟棄策略4個方面進行介紹.4.1ACK確認機制DTN的ACK確認機制不同于傳統(tǒng)Internet的TCP確認機制,其目的并不是為了提供可靠傳輸,而只是為了根據(jù)確認信息丟棄已經(jīng)投遞的冗余消息,緩解網(wǎng)絡壓力,達到降低網(wǎng)絡負載,提高投遞率的目的.本文引入的ACK確認機制[17]原理實現(xiàn)如下:1)每個節(jié)點維護一個ACK消息列表,用于記錄節(jié)點中已經(jīng)投遞成功的消息id.2)當節(jié)點中有消息成功投遞到目的節(jié)點時,記錄消息ID添加到ACK列表中,并將該消息從緩存中刪除.3)當兩個節(jié)點如vi和vj相遇時,首先會交換彼此的ACK列表,將對方的表中的消息id添加到自己的ACK列表中.接著,節(jié)點vi和節(jié)點vj分別檢索自身ACK列表,判斷緩存中是否含有ACK列表中id所對應的消息:如果存在這樣的消息且該消息不是正在傳輸則將其從緩存空間中刪除.本文引入ACK確認機制,對冗余消息進行刪除,一方面使得節(jié)點緩存能容納更多消息,減少了因緩存空間不足而造成頻繁丟棄現(xiàn)象的發(fā)生,提升網(wǎng)絡的整體性能;另一方面,可以減少冗余消息對緩存管理策略中消息選擇所造成的影響,盡量避免非冗余消息丟棄而冗余消息仍滯留在緩存情況的發(fā)生.4.2消息優(yōu)先級隊列根據(jù)前文定義的消息效用值對緩存中消息進行排序,得到如圖1所示的消息優(yōu)先級隊列.圖1消息優(yōu)先級隊列Fig.1Messagepriorityqueue當消息效用值相同,則很難進行緩存隊列的管理,因此使用了類似{SAD;FIFO}的隊列組策略:消息效用值相同時先比較消息大小,若仍相同則比較消息進入緩沖區(qū)的時間.其中消息大小較小的消息具有更高的效用值,這是為了在丟棄消息時丟棄消息大小大的消息以騰出更多的緩存空間容納更多消息,在接收消息時接收消息大小較小的消息以接收更多的消息.4.3消息轉發(fā)策略和丟棄策略消息轉發(fā)策略:節(jié)點在遇到其他節(jié)點需要進行消息轉發(fā)時,每次選擇緩存中消息優(yōu)先級隊列隊首的消息對消息進行轉發(fā).消息丟棄策略:當兩節(jié)點相遇時,首先進行ACK確認機制,刪除兩節(jié)點中已經(jīng)成功投遞的消息;當接收節(jié)點空閑緩存不足以容納鄰居節(jié)點即將傳輸過來的消息時,根據(jù)消息大小篩選出消息大小大于或等于消息大小閾值Sthreshold的消息,優(yōu)先丟棄效用值低的消息;若消息大小均小于Sthreshold則優(yōu)先丟棄緩存中消息優(yōu)先級隊列隊尾的消息并重新計算Sthreshold.具體消息丟棄策略圖2所示.圖2消息丟棄策略Fig.2Messagediscardingstrategy具體消息丟棄算法如算法1所示.算法1.消息丟棄算法輸入:即將到來消息Mnew;輸出:丟棄成功返回TRUE,失敗返回FALSE;1.IFMnew.size>BufferSize2.RETURNFALSE3.ENDIF教學設計:教師依據(jù)學情分析結果,綜合課程教學目標、課程教學內(nèi)容、課程知識重難點等,并參考學生預習檢測統(tǒng)計分析和討論的情況,完善教學設計方案、準備多媒體教學資料。[3]4.WHILEFreeBufferSize<mnew<p>5.Sthr←Mnew-FreeBufferSize6.FOReachMkinMBuffer7.IFMk.size≥Sthr8.pushMkintotemporaryqueueQ9.ENDIF10.ENDFOR12.deleteleastutilitymessageMoldinQ13.FreeBufferSize+=Mold.size14.ELSE15.deletetailofqueueinBufferMtail16.FreeBufferSize+=Mtail.size17.ENDIF18.ENDWHILE19.RETURNTRUE算法1行-3行表示整個緩存空間不足以容納即將到來的消息,這時就不會接收該消息;4行-10行表示把緩存隊列中消息大于消息閾值Sthr的消息放入臨時隊列Q中;11行-13行表示若隊列Q不為空即緩存中有消息大于消息閾值Sthr的消息,則篩選出隊列Q中效用值最小的消息Mold進行刪除;14行-16行表示若緩存中沒有消息大于消息閾值Sthr的消息,則刪除緩存隊列中效用值最小的消息Mtail,即對隊尾的消息進行刪除.5仿真結果與分析5.1仿真環(huán)境配置本實驗采用ONE仿真平臺[18]在SprayandWait路由算法的基礎上對DLC,MPBBM,SHLI,SAD和本文提出的MCA-BMS算法進行仿真.仿真采用ONE平臺自帶的赫爾辛基市地圖作為移動場景,大小為4500m×3400m,節(jié)點數(shù)量設置為126個,共分為3類節(jié)點:行人、出租車、有軌電車.其中行人組80個節(jié)點,出租車組40個節(jié)點,這兩組按照基于地圖路線的最短路徑模型移動,有軌電車組共6個節(jié)點,按照基于地圖的固定路線模型移動.具體的仿真參數(shù)設置如表1所示,其它參數(shù)采用ONE平臺自帶的默認配置文件default_settings.txt中的默認設置.表1仿真參數(shù)Table1Simulationparameters5.2評價指標本文采用以下指標來評估相關算法的性能[19].1)投遞率(DeliveryRatio)投遞率=成功投遞到目標節(jié)點的消息數(shù)量/網(wǎng)絡中生成的所有消息數(shù)量.2)平均時延(AverageLatency)平均時延=網(wǎng)絡中所有被成功投遞的消息從源節(jié)點產(chǎn)生開始到目標節(jié)點完整接收到所經(jīng)過的平均時間.3)網(wǎng)絡負載率(Overheadratio)網(wǎng)絡負載率:需要投遞的消息的發(fā)送總次數(shù)/成功投遞到目標節(jié)點的消息數(shù)量.5.3生存時間閾值設置實驗由于生存時間閾值直接影響何時比較副本數(shù),何時比較消息生存時間,即效用值的確定,進而影響消息投遞率和傳輸時延,因此確定固定仿真條件下生存時間閾值顯得尤為重要.消息生存時間閾值由消息初始生存時間的比例確定,即為確定比例系數(shù)δ,使得算法在投遞率和傳輸時延方面均能表現(xiàn)較好.首先在[0,1]區(qū)間,以0.05為間距確定參數(shù)δ的大致范圍,投遞率和平均時延分別如圖3所示.從圖3(a)和圖3(b)可以看出δ在0.2和0.35時MCA-BMS投遞率相對較高,相差不是很明顯,但在傳輸時延方面δ為0.35比δ為0.2時下降了很多,因此將參數(shù)δ的取值范圍確定在0.35附近.為了進一步精確確定參數(shù)δ的值,在[0.29-0.36]之間以0.01為間距,得到MCA-BMS的投遞率和平均時延,如圖4所示.圖3δ不同取值條件下的性能比較Fig.3Comparisonofperformanceunderdifferentvaluesofδ綜合圖4(a)和圖4(b)可以很明顯看出當參數(shù)δ取0.35時MCA-BMS在投遞率和傳輸時延綜合方面表現(xiàn)最優(yōu).5.4算法比較及分析為了驗證MCA-BMS算法的高效性,進行了3組仿真實驗,在不同的消息生存時間、不同的仿真時間以及不同的消息產(chǎn)生速率下對5種算法在消息投遞率、網(wǎng)絡負載率和平均傳輸時延等網(wǎng)絡性能方面進行評估,并且除了傳統(tǒng)算法SHLI均加入了ACK確認機制以達到控制變量的目的.實驗結果表明,MCA-BMS對網(wǎng)絡的性能提升最大.圖4δ不同取值條件下的性能比較Fig.4Comparisonofperformanceunderdifferentvaluesofδ1)不同消息生存周期在前面環(huán)境配置下,改變消息生存周期,對比各種算法在不同消息生存周期下消息投遞率(如圖5(a)所示)、網(wǎng)絡負載率(如圖5(b)所示)、平均時延(如圖5(c)所示)3個方面的變化情況.圖5(a)顯示了各個算法在不同的消息生存時間變化下消息投遞率的變化情況.由于隨著消息生存時間的增加,許多消息不會因為消息剩余生存時間短被丟棄而能夠成功投遞,因此各個算法的投遞率基本呈現(xiàn)上升趨勢.其中本文提出的算法MCA-BMS投遞率最高:MCA-BMS的消息投遞率相較MPBBM平均提高了3.46%,相較DLC平均提高了6.24%,相較SHLI平均提高了17.72%,相較SAD提升了33.59%.圖5不同消息生存周期條件下的性能比較Fig.5ComparisonofperformanceunderdifferentmessagetimetoliveMCA-BMS的消息投遞率高于MPBBM的可能原因有兩個:一是MPBBM算法未考慮消息的大小,因此可能多次出現(xiàn)接收一個消息而刪除多個消息的情況;二是MPBBM算法僅僅將消息生存時間和消息副本數(shù)保持在一個數(shù)量級,而未考慮兩者的占比情況,一般說來消息副本數(shù)占比越多則消息投遞率越高.SAD的消息投遞率最低的原因是該算法只考慮消息的大小,保證每次丟棄消息的個數(shù)最小,并沒有對消息生存時間和消息副本數(shù)進行考慮,因此可能丟棄消息副本數(shù)大即還未得到轉發(fā)的消息,導致投遞率很低.圖5(b)比較了各個路由算法的網(wǎng)絡負載率.其中SAD算法的網(wǎng)絡負載率最低,這是由于該算法為了使每次丟棄的消息個數(shù)最少,因此優(yōu)先將消息大小大的消息進行丟棄,而這樣會為緩沖區(qū)騰出大量的空間,使得整個網(wǎng)絡的負載率較低.DLC算法的負載率最高的原因是該算法丟棄副本數(shù)最低的消息,即轉發(fā)次數(shù)最多的消息,使得總的消息轉發(fā)次數(shù)大大增加,網(wǎng)絡負載率最高.圖5(c)評估了各個算法的平均時延的變化情況.從圖中可以看出SHLI的平均時延最低,MCA-BMS次之,這是由于SHLI算法只考慮丟棄生存時間最短的消息,使得成功投遞的消息生存時間偏高,計算出的平均時延較低,然而由于可能丟棄一些消息生存時間低但能成功投遞的消息,導致該算法的投遞率偏低;本文中算法MCA-BMS能夠在保持高投遞率的情況下,平均時延方面性能僅次于SHLI.DLC的平均時延是最高的,這是因為該算法使得轉發(fā)次數(shù)少的消息得到更多的轉發(fā)機會,這就會導致轉發(fā)次數(shù)少且需要長時間到達目的節(jié)點的消息得到轉發(fā),造成整體的平均時延較高.綜上所述,MCA-BMS在消息投遞率方面優(yōu)于其他4種算法,在網(wǎng)絡負載率和平均時延方面均是次優(yōu),因此可以得出在不同的消息生存周期MCA-BMS的整體性能是最好的.2)不同仿真時間在不同的仿真時間條件下,比較和分析各個算法在消息投遞率(如圖6(a)所示)、網(wǎng)絡負載率(如圖6(b)所示)、平均時延(如圖6(c)所示)3個方面的變化情況.圖6(a)顯示了各個算法在不同的仿真時間下消息投遞率的變化情況.隨著仿真時間的增加,有更多的消息被成功投遞,因此各個算法的投遞率基本呈現(xiàn)上升趨勢.其中本文提出的算法MCA-BMS投遞率最高:MCA-BMS在不同仿真時間下的投遞率相較MPBBM平均提高了7.03%,相較DLC平均提高了7.82%,相較SHLI平均提高了22.32%,相較SAD提升了37.33%.圖6不同仿真時間條件下的性能比較Fig.6Comparisonofperformanceunderdifferentsimulationtime圖6(b)比較了各個算法的網(wǎng)絡負載率.結果依然是SAD算法網(wǎng)絡負載率最低,MCA-BMS算法次優(yōu).MCA-BMS算法的網(wǎng)絡負載率隨仿真時間的增加先增加后趨于穩(wěn)定,是因為先開始消息的生存時間基本大于消息生存時間閾值,因此大都按照消息副本對消息進行丟棄,使得消息得到大量轉發(fā),網(wǎng)絡負載率升高;隨著時間的推移,消息生存時間占主要因素,因此網(wǎng)絡負載率趨向于SHLI算法.圖6(c)評估了在不同仿真時間下網(wǎng)絡的平均時延的變化.從圖中可以看出隨著仿真時間的增加,MCA-BMS算法的平均時延逐漸增加并趨于平緩,仍然是高于SHLI算法,比其他3種算法低,處于次優(yōu).綜上所述,隨著仿真時間的增加,由于MCA-BMS綜合考慮了消息大小、消息生存時間和消息副本數(shù),與其他算法的優(yōu)勢逐漸明顯,從總體上來看,MCA-BMS在各個方面都有顯著優(yōu)勢.3)不同消息生成間隔消息生成間隔與消息產(chǎn)生速率呈反比,通過改變消息生成間隔,即改變消息產(chǎn)生速率,比較和分析各個算法在消息投遞率(如圖7(a)所示)、平均時延(如圖7(b)所示)、網(wǎng)絡負載率(如圖7(c)所示)3個方面的變化情況.圖7不同消息生成間隔條件下的性能比較Fig.7Comparisonof

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論