羅少甫 陳 磊
1(重慶航天職業(yè)技術學院基礎學科部 重慶 400021)2(重慶大學大數(shù)據(jù)與軟件學院 重慶 400044)
物聯(lián)網(wǎng)(Internet of Things,IoT)作為實現(xiàn)海量傳感器、通信設備和異構通信系統(tǒng)互聯(lián)互通的關鍵技術,其主要功能為實時收集并共享傳感器采集到的海量狀態(tài)信息,通過先進大數(shù)據(jù)分析技術提取蘊含價值,進而服務于各類高級應用場景,如決策分析、智能服務、智慧城市等[1-3]。
考慮到部署建設物聯(lián)網(wǎng)的經(jīng)濟技術成本,物聯(lián)網(wǎng)中傳感器節(jié)點的電池能量、存儲容量、計算速度和通信帶寬等一般是有限的。故其數(shù)據(jù)處理與通信能力十分有限,從而決定了在物聯(lián)網(wǎng)網(wǎng)絡中應用的所有解決方案都必須考慮到資源約束的限制[4]。然而,隨著傳感器節(jié)點部署規(guī)模、數(shù)據(jù)類型以及異構網(wǎng)絡規(guī)模不斷增加,人們對物聯(lián)網(wǎng)高效、穩(wěn)定、可靠的數(shù)據(jù)傳輸要求越來越高,因此,研究設計適用于物聯(lián)網(wǎng)的數(shù)據(jù)路由轉發(fā)策略受到了學術界和工業(yè)界的廣泛關注。
基于內容/位置數(shù)字化尋址,以主機為中心的傳統(tǒng)TCP/IP轉發(fā)機制由于高度依賴數(shù)據(jù)存儲標識而存在移動性、可擴展性和安全性差等缺點,故而不適用于海量物聯(lián)網(wǎng)數(shù)據(jù)的傳輸轉發(fā)[5]。近年來,以數(shù)據(jù)為中心的命名數(shù)據(jù)網(wǎng)絡(Named Data Network,NDN)轉發(fā)策略受到了眾多學者的廣泛關注[6]。NDN技術框架下,物聯(lián)網(wǎng)中的數(shù)據(jù)轉發(fā)不再以IP尋址,而是通過引入Interest報文和Data報文的方式實現(xiàn)數(shù)據(jù)轉發(fā),請求節(jié)點和路由節(jié)點的請求、查詢等操作均以報文的名稱而不是報文的地址進行,由于不依賴IP,NDN轉發(fā)機制也被認為是解決IP地址資源有限的有效技術手段之一。
現(xiàn)有基于NDN的轉發(fā)策略研究主要以有線場景和無約束限制的無線場景展開,而對于能量和網(wǎng)絡資源受限的無線物聯(lián)網(wǎng)數(shù)據(jù)轉發(fā)策略的研究尚處于起步階段。例如:文獻[7]提出了一種基于接口等級的NDN自適應路由轉發(fā)策略,對NDN中的未決請求表(Pending Interest Table,PIT)、轉發(fā)信息庫(Forwarding Information Base,FIB)以及內容存儲庫(Content Store,CS)進行了細化和擴展,但其假設通信節(jié)點的網(wǎng)絡資源和能量是不受限的,無法直接應用于無線物聯(lián)網(wǎng)場景;文獻[8]借鑒蟻群優(yōu)化技術,提出了針對NDN的蟻群QoS感知轉發(fā)策略,將Interest報文和Data報文分別視為前向和后向螞蟻探測實時網(wǎng)絡QoS參數(shù)更新網(wǎng)絡接口排序,但文中同樣沒有考慮通信節(jié)點網(wǎng)絡資源和剩余能量約束,且蟻群優(yōu)化算法存在計算量較大、求解時間長的缺陷。文獻[9]針對車輛網(wǎng)這一無線傳感器網(wǎng)絡典型應用場景,為提升數(shù)據(jù)傳輸實時性,提出了面向車載命名數(shù)據(jù)網(wǎng)絡的數(shù)據(jù)轉發(fā)模型,設計了路間節(jié)點算法和路口節(jié)點算法來判斷節(jié)點自身是否適合轉發(fā)Interest報文,從而有效降低了數(shù)據(jù)端到端平均延時,并均衡了整個車聯(lián)網(wǎng)的傳輸能力,但文中同樣沒有考慮到通信節(jié)點的能量約束。
針對現(xiàn)有NDN轉發(fā)策略存在的缺點,本文提出了一種考慮鄰節(jié)點空間信息和能量信息的新型NDN路由轉發(fā)策略,提升NDN網(wǎng)絡對各類物聯(lián)網(wǎng)應用場景的適應性。主要的創(chuàng)新點總結如下:
1) 現(xiàn)有NDN轉發(fā)策略往往由某一節(jié)點發(fā)出Interest報文開始觸發(fā),然而實際應用場景中,大量監(jiān)測數(shù)據(jù)存在周期性主動上報的情形。因此,本文提出的NDN轉發(fā)策略將涵蓋這兩種報文轉發(fā)模式,故而可擴展性和適用性更強。
2) 現(xiàn)有NDN轉發(fā)策略大多未曾考慮到計算節(jié)點的能量資源約束,故網(wǎng)絡能耗較高而生命周期較短。而本文提出的改進NDN轉發(fā)策略則主動對傳感器節(jié)點的剩余能量和節(jié)點空間信息考慮在內實現(xiàn)路由策略優(yōu)化設計,從而提高了物聯(lián)網(wǎng)的生命周期。
如圖1所示,NDN中數(shù)據(jù)包的轉發(fā)交互通過Interest報文和Data報文實現(xiàn)[10]。通信節(jié)點為接收數(shù)據(jù),首先向NDN路由器發(fā)送包含有所需數(shù)據(jù)名稱的Interest報文,每個Interest報文僅能匹配一個數(shù)據(jù)包,從而保證數(shù)據(jù)內容的唯一性。

圖1 NDN中Interest報文處理過程
對于NDN路由轉發(fā)節(jié)點而言,則需要進行如圖2所示三個方面的維護工作:
1) 未決請求表(Pending Interest Table,PIT):用于跟蹤轉發(fā)的Interest報文;
2) 轉發(fā)信息庫(Forwarding Information Base,FIB):將Interest報文請求的內容轉發(fā)給該通信節(jié)點;
3) 內容存儲庫(Content Store,CS):用于緩存Interest報文請求的內容以便后續(xù)通信節(jié)點對該數(shù)據(jù)的請求。

圖2 NDN數(shù)據(jù)結構
當NDN路由轉發(fā)節(jié)點收到Interest報文時,首先在其CS上查找,若CS中已緩存有所需的Data報文,則在同一接口上傳輸該Data報文;若CS中沒有Interest報文匹配的內容,則將Interest存儲在PIT中并創(chuàng)建包含有Interest報文名稱的條目,且為其預留一組接口一遍接收匹配的Data報文。隨后,Interest報文將基于FIB繼續(xù)轉發(fā)至上游鄰點進行查詢。當在上游NDN節(jié)點中查詢到匹配的Data報文時,將該數(shù)據(jù)轉發(fā)到下游PIT接口中后刪除該PIT條目,并將數(shù)據(jù)緩存在CS中。若最終不存在匹配的PIT條目,則將該Interest數(shù)據(jù)包丟棄。
目前,廣泛應用在物聯(lián)網(wǎng)的NDN轉發(fā)策略為基于盲洪泛路由算法的法定向擴散NDN策略(Directed Diffusion-NDN,DD-NDN)[11-12]。其轉發(fā)策略的基本步驟為:
1) 匯聚節(jié)點無目的(即盲轉發(fā)方式)地將Interest報文廣播到其覆蓋范圍內的所有傳感器節(jié)點。當節(jié)點收到Interest報文時,啟動計時器功能,若接收節(jié)點在計時器設定范圍內沒有從鄰節(jié)點偵聽到相同的Interest報文,則將該報文轉發(fā),否則將丟棄該報文。
2) 當Interest報文到達內容的提供方時,返回的Data報文將包含一個附加字段,該字段攜帶轉發(fā)Data報文的節(jié)點的標識符ID,該ID將存儲在一個名為下一跳表(Next Hop Table,NHT)的表中。
3) 在盲轉發(fā)階段之后,當匯聚節(jié)點在發(fā)送另一個Interest報文之前,首先檢查NHT中是否存在可能的下一跳。若存在匹配項,則將Interest報文中包含該ID,且只具有該ID的節(jié)點才能轉發(fā)該Interest報文;否則DD-NDN協(xié)議將回退到盲轉發(fā)算法。
分析傳統(tǒng)DD-NDN算法可知,由于引入了NHT,該方案最大限度地減少了參與轉發(fā)過程的節(jié)點數(shù)量。傳統(tǒng)DD-NDN轉發(fā)方法忽略了周期性數(shù)據(jù)向通信節(jié)點發(fā)送的情形。此外,由于隨著物聯(lián)網(wǎng)中通信節(jié)點和數(shù)據(jù)量的增大,使用盲洪泛法將顯著增加網(wǎng)絡能耗,不利于延長其整體生命周期[13]。
考慮如下部署物聯(lián)網(wǎng)以監(jiān)測物理設備或外部環(huán)境的應用場景:監(jiān)控區(qū)域可以是單個的建筑物甚至整個智能城市,被監(jiān)測的對象包含有自動化系統(tǒng)以控制相關參數(shù)(如溫度、濕度、能耗等)。傳感器節(jié)點通過采集控制目標的狀態(tài)生成傳感數(shù)據(jù)。
為不失一般性,設傳感器網(wǎng)絡中部署的接收器的數(shù)量為n,滿足n∈{1,2,…,N}。實際工程中,傳感器和接收器之間將采用兩種傳輸模式:
1) 基于推送(push)的模式(第一種傳輸模式):傳感器節(jié)點周期性地發(fā)送數(shù)據(jù),而不從接收器接收先前的顯式Interest報文。
2) 基于拉動(pull)的模式(第二種傳輸模式):接收器可以發(fā)出Interest報文以查詢特定參數(shù)的相關數(shù)據(jù)。
此外,設傳感器節(jié)點是靜止的,其位置以及匯聚節(jié)點的位置是已知的。
物聯(lián)網(wǎng)大數(shù)據(jù)的典型工作模式是將數(shù)據(jù)從多個傳感器節(jié)點(即數(shù)據(jù)源)發(fā)送到接收器,而不是在任何一對節(jié)點之間進行通信。而NDN中不依賴于地址的通信模式自然適合于以數(shù)據(jù)為中心的物聯(lián)網(wǎng)。實際上,如前述分析,NDN通信模型自然支持pull模式的通信傳輸方式,即除非請求節(jié)點明確發(fā)送Interest報文以請求相關Data報文,否則傳感器節(jié)點不會主動發(fā)送數(shù)據(jù)。此種傳輸模式雖然能夠顯著減少不必要的數(shù)據(jù)傳輸量以延長物聯(lián)網(wǎng)的生命周期,但由于傳感器節(jié)點無法主動上報數(shù)據(jù),故傳統(tǒng)DD-NDN轉發(fā)策略不能支持各種高級應用,如狀態(tài)信息更改上報或緊急情況預警等。然而,若使NDN網(wǎng)絡支持push傳輸模式,則會帶來數(shù)據(jù)量上升和網(wǎng)絡能耗過大的缺陷。因此,本文設計了一種考慮鄰節(jié)點空間信息和能量信息的改進NDN轉發(fā)策略,實現(xiàn)物聯(lián)網(wǎng)大數(shù)據(jù)的高效轉發(fā),NDN網(wǎng)絡支持采用push傳輸模式的如下兩個應用目標:
1) 傳感器節(jié)點將數(shù)據(jù)直接傳輸?shù)浇邮掌鞴?jié)點,而無須事先發(fā)送Interest報文;
2) 傳感器節(jié)點通知其對匯聚節(jié)點的存在。
2.2.1轉發(fā)策略總體設計
本文采用具有能量意識的貪婪轉發(fā)策略將消息傳輸?shù)絻热菡埱蠓健>唧w內容為:匯聚節(jié)點覆蓋范圍內的鄰節(jié)點通過發(fā)送“Hello包”的方式來發(fā)送該節(jié)點的身份、位置和剩余能量信息。為最小化網(wǎng)絡擁塞,“Hello包”的發(fā)送僅在鄰節(jié)點發(fā)現(xiàn)階段進行一次。此后,每個傳感器節(jié)點將使用發(fā)現(xiàn)階段中基于push的Interest報文將其坐標和對應生成的數(shù)據(jù)類型發(fā)送到接收器節(jié)點。最后,本文轉發(fā)策略中的每個節(jié)點都擁有自己的鄰節(jié)點和數(shù)據(jù)源節(jié)點列表。每當一個接收節(jié)點請求特定數(shù)據(jù)內容時,本文轉發(fā)策略總是試圖尋找與該接收節(jié)點最近的、剩余能量更大的鄰居,并將該Data報文通過該節(jié)點轉發(fā),此過程稱為數(shù)據(jù)交換階段。為保持最低功耗的同時維持每個節(jié)點的鄰節(jié)點列表動態(tài)更新,在傳感器節(jié)點傳輸Data報文時附加該節(jié)點的能量信息,而不是在鄰節(jié)點之間定期交換。
綜上,本文轉發(fā)策略包含以下4個環(huán)節(jié):1) 數(shù)據(jù)命名;2) 鄰節(jié)點發(fā)現(xiàn);3) 數(shù)據(jù)源節(jié)點發(fā)現(xiàn);4) 數(shù)據(jù)交換。
2.2.2數(shù)據(jù)命名方案
作為NDN通信技術中最重要環(huán)節(jié)之一,數(shù)據(jù)命名方案的優(yōu)劣性直接影響了路由轉發(fā)策略的性能。因此,數(shù)據(jù)命名方案必須準確地描述數(shù)據(jù)傳感任務,即:1) 完全表達自己所需信息的接收器;2) 用于準確描述傳感數(shù)據(jù)的傳感器。數(shù)據(jù)命名方案包含兩個環(huán)節(jié):
1) 數(shù)據(jù)源節(jié)點的命名方案。數(shù)據(jù)源節(jié)點的命名規(guī)則如下所示:
/匯聚節(jié)點ID/位置/數(shù)據(jù)源節(jié)點坐標/數(shù)據(jù)前綴
其中:
匯聚節(jié)點ID——數(shù)據(jù)源節(jié)點返回作為對Interest報文響應的Data報文的前綴。
位置——傳感器所在的地理區(qū)域標識符,可采用GPS坐標、邏輯名稱等進行唯一性標識。例如,在建筑物中,房間可以具有特定的唯一名稱,例如room10或area-5。
數(shù)據(jù)源節(jié)點坐標——數(shù)據(jù)源節(jié)點的地理坐標標識符。
數(shù)據(jù)前綴——數(shù)據(jù)源節(jié)點從接收器接收Interest報文時響應的數(shù)據(jù)名稱。
例如,當為特定區(qū)域area-1溫度監(jiān)測的傳感器想要宣告其數(shù)據(jù)內容存在于宿源(即匯聚節(jié)點)S0時,將發(fā)送如下數(shù)據(jù)包:
/S0/AREA1/X/Y/Z//area1/temperature
2) 數(shù)據(jù)交換的命名方案。圖3(a)和(b)分別為push和pull傳輸模式下數(shù)據(jù)源節(jié)點和接收器之間的數(shù)據(jù)交換過程。根據(jù)2.1節(jié)所述的數(shù)據(jù)傳輸方式,需要定義兩種不同的命名方案。

(a) 基于拉動的數(shù)據(jù) (b) 基于推送的數(shù)據(jù)圖3 數(shù)據(jù)包在消費者(C)和生產者(P)之間的流動
push模式:此種模式下,傳感器通過將特定的Interest報文推送到匯聚節(jié)點來自動傳播收集數(shù)據(jù)。命名方案設計如下:
/位置/類型/接收器坐標/數(shù)據(jù)
其中:類型指的是傳感任務的名稱,例如溫度、濕度等。
pull模式:此種模式下,傳感器在收到Interest報文前不會主動發(fā)送收集到的數(shù)據(jù)。命名方案設計如下:
/位置/類型/數(shù)據(jù)源節(jié)點坐標
2.2.3鄰節(jié)點發(fā)現(xiàn)機制設計
在鄰節(jié)點發(fā)現(xiàn)階段,每個節(jié)點將僅用于交換位置和剩余能量信息的“Hello包”廣播到其鄰節(jié)點。該交換過程僅作為配置并存儲鄰節(jié)點信息的列表的第一步且僅進行一次,創(chuàng)建的鄰節(jié)點列表包含以下字段:鄰節(jié)點ID、位置和剩余能量。為此,“Hello包”對應的Interest報文需添加兩個名為Interest REnergy和Interest SenderID的新字段,從而收集鄰節(jié)點的剩余能量信息。
圖4為“Hello包”的廣播流程。節(jié)點A希望通過發(fā)送一個限制為1跳(可由特殊字段進行制定)的“Hello包”向其鄰點宣告其存在,該數(shù)據(jù)包包含其ID、位置和剩余能量。收到該數(shù)據(jù)包的每個節(jié)點將在其配置的鄰節(jié)點列表中創(chuàng)建包含節(jié)點A的相關信息的條目。

圖4 Hello數(shù)據(jù)包廣播
為最大限度地降低功耗,所設計的轉發(fā)策略將不定期廣播“Hello包”,如果節(jié)點收到Interest報文,且此報文發(fā)送者ID與鄰節(jié)點列表中任何條目都不對應,或傳感器將Interest報文推送到接收器且鄰節(jié)點列表為空時,該節(jié)點將啟動鄰居發(fā)現(xiàn)機制。
如圖5所示,節(jié)點B將Interest報文傳輸?shù)狡鋫鬏敺秶鷥鹊乃泄?jié)點(如節(jié)點A和節(jié)點G)。若節(jié)點A發(fā)現(xiàn)節(jié)點B為在其鄰節(jié)點列表中列出,節(jié)點A將廣播“Hello包”而接收該包的每個節(jié)點將驗證節(jié)點A的信息是否在鄰節(jié)點列表中列出。若“Hello包”發(fā)送方的ID已存在于接收節(jié)點的鄰節(jié)點表中,則該數(shù)據(jù)包將被忽略;否則該節(jié)點將繼續(xù)向鄰節(jié)點廣播“Hello包”。上述過程表示在圖6中,其中節(jié)點B接收節(jié)點A的“Hello包”,驗證得知節(jié)點A的ID并未在其鄰節(jié)點列表中列出,故而節(jié)點B發(fā)送“Hello包”以宣告其存在于節(jié)點A中。

圖5 接收來自未知鄰點的興趣

圖6 來自節(jié)點A的Hello數(shù)據(jù)包廣播和回復
2.2.4數(shù)據(jù)源節(jié)點發(fā)現(xiàn)機制設計
傳統(tǒng)基于盲洪泛算法的DD-NDN路由轉發(fā)策略顯然存在網(wǎng)絡能耗過高的缺點,故采用基于push的Interest報文傳輸模式使數(shù)據(jù)源節(jié)點向接收器節(jié)點宣布其存在。當鄰節(jié)點發(fā)現(xiàn)過程完成后,每個節(jié)點都有關于其鄰節(jié)點的信息列表,此時數(shù)據(jù)源節(jié)點會向接收器發(fā)送Interest報文,以貪婪轉發(fā)的方式通知其位置和數(shù)據(jù)內容,而接收器則將數(shù)據(jù)越節(jié)點發(fā)送的信息存儲在一個名為Producers的列表中。
圖7為數(shù)據(jù)源節(jié)點的發(fā)現(xiàn)過程,其中節(jié)點P想要將其數(shù)據(jù)前綴告知宿節(jié)點(S0)。節(jié)點P將數(shù)據(jù)前綴通知宿節(jié)點S0,它發(fā)送一個下一跳ID的Interest報文,下一跳節(jié)點采用類似的轉發(fā)過程最終傳輸?shù)絽R聚節(jié)點S0,在S0存儲在Producers列表中。

圖7 數(shù)據(jù)源節(jié)點發(fā)現(xiàn)過程
2.2.5數(shù)據(jù)交換機制設計
在預設的靜態(tài)物聯(lián)網(wǎng)場景中,一旦數(shù)據(jù)源節(jié)點將其信息傳輸?shù)浇邮掌鳎阌|發(fā)數(shù)據(jù)查詢過程。如圖8所示,為減少通信過程涉及到的節(jié)點數(shù)量,接收器首先選擇與之空間距離最近的數(shù)據(jù)源節(jié)點,然后通過選擇滿足特定條件的鄰節(jié)點來發(fā)送Interest報文。當傳感器節(jié)點接收到Interest報文時,它執(zhí)行下一跳檢查以驗證它是否被選擇為轉發(fā)器。若節(jié)點不是預期的轉發(fā)器,則丟棄該Interest報文。反之,如果選擇傳感器節(jié)點作為轉發(fā)器,則檢查Interest報文請求的數(shù)據(jù)內容,如果收到的Interest報文是pull模式,則轉發(fā)過程繼續(xù);如果Interest報文是push模式,則從報文中提取數(shù)據(jù),并在繼續(xù)轉發(fā)過程之前將其添加到內容存儲庫CS中。

圖8 Interest報文處理過程
圖9為節(jié)點A向節(jié)點D發(fā)送Interest報文的過程。考慮到節(jié)點B是A的所有鄰點中與D最近的節(jié)點,為支持更高效的數(shù)據(jù)轉發(fā)并平衡通信節(jié)點之間的能耗,轉發(fā)節(jié)點的選擇應綜合考慮通信節(jié)點之間的空間距離與能耗,選擇的判據(jù)為如下目標函數(shù)取最大值:
(1)
式中:Ji為第i個候選轉發(fā)節(jié)點的目標函數(shù)值;β∈[0,1]為權重系數(shù);Ei和Eini分別為第i個候選節(jié)點的剩余能量和節(jié)點初始剩余能量;LΣ分別為接收節(jié)點與數(shù)據(jù)源節(jié)點之間的總距離;Lio為第i個候選轉發(fā)節(jié)點與接收節(jié)點之間的距離。顯然,β接近于0時,更靠近接收節(jié)點的節(jié)點被選擇轉發(fā)Interest報文的概率更高。隨著β的增加,節(jié)點剩余能量在傳輸節(jié)點的選擇中將發(fā)揮更大的作用,從而有助于降低網(wǎng)絡能耗。

圖9 貪婪轉發(fā)示例
為更好地解釋所提的轉發(fā)方案,考慮如圖10所示的示例,接收節(jié)點C具有如表1所示的鄰節(jié)點列表。

圖10 Interest報文轉發(fā)過程

表1 接收節(jié)點鄰節(jié)點列表
令Eini=10 J,LΣ=25 m,β=0.7,根據(jù)式(1),F(xiàn)A=0.32,F(xiàn)B=0.412,故而選擇節(jié)點A作為轉發(fā)器,然后C廣播一個包含所選轉發(fā)節(jié)點ID的Interest報文,名稱格式為:
/room1/temperature/Producer Coordinates
當節(jié)點A收到Interest報文時,它將檢查下一跳是否與其ID相對應。若不是,Interest報文將被丟棄;否則,A將驗證數(shù)據(jù)報文類型并將其轉發(fā)到下一跳。如果C沒有聽到相同的Interest報文,節(jié)點A的ID將從C的鄰節(jié)點表中刪除,并且將重新傳輸Interest報文。
在NDNSim仿真環(huán)境下進行實驗,為驗證提出的轉發(fā)策略的可行性與優(yōu)越性,將其與文獻[12]提出的DD-NDN轉發(fā)策略進行對比。同時設置兩個場景進行適應性分析,如圖11所示,場景1中N個傳感器節(jié)點分布在500 m×500 m的晶格拓撲上,而場景2中,傳感器節(jié)點通過均勻分布隨機部署,接收節(jié)點則位于拓撲的中間。仿真參數(shù)如表2所示,仿真結果以20次獨立運行結果的平均值為準。

(a) 晶格拓撲 (b) 隨機拓撲圖11 網(wǎng)絡拓撲

表2 模擬參數(shù)

續(xù)表2
設匯聚節(jié)點定期發(fā)送特定任務的Interest報文,間隔時間為60 s。為了評估仿真中的能耗,采用如下能耗模型[14]。
發(fā)送過程能耗:
(2)
接收過程能耗:
REi=αelek
(3)
式中:TEi,j為節(jié)點i向節(jié)點j發(fā)送一個k比特數(shù)據(jù)包所消耗的能量;αele表示節(jié)點接收或發(fā)送數(shù)據(jù)時電路單位比特耗能,取αele=50 μJ/bit;αamp為發(fā)送節(jié)點放大器所消耗能量系數(shù),取αamp=100 pJ/(bit·m2)。
為衡量轉發(fā)策略的優(yōu)劣性,選用文獻[15]中的5個性能指標進行評估:
1) 網(wǎng)絡能量消耗——傳感器節(jié)點的總功耗;
2) 網(wǎng)絡生命周期——第一個傳感器節(jié)點剩余能量為0時網(wǎng)絡的運行時長;
3) 丟包數(shù)——丟棄的Interest報文和Data報文的總數(shù);
4) 跳數(shù)——接收節(jié)點和數(shù)據(jù)源節(jié)點之間必須通過的中間節(jié)點數(shù);
5) 數(shù)據(jù)檢索延遲——接收節(jié)點發(fā)送Interest報文到數(shù)據(jù)源節(jié)點返回Data報文的時間。
3.2.1跳數(shù)、數(shù)據(jù)檢索延遲和丟包性能
圖12和圖13為晶格拓撲網(wǎng)絡和隨機拓撲網(wǎng)絡下匯聚節(jié)點數(shù)量為1和4時,節(jié)點總數(shù)量從60變化到120時平均跳數(shù)的變化情況。結果表明,本文轉發(fā)策略比DD-NDN的平均跳數(shù)至少下降了11.11%。類似地,圖14和圖15為相同仿真條件下的平均檢索延遲隨監(jiān)測任務數(shù)量的變化情況,可以發(fā)現(xiàn),本文轉發(fā)策略相較于DD-NDN方案縮短了20.40%以上。由于本文轉發(fā)策略在每一跳轉發(fā)節(jié)點的選擇上都選擇更靠近接收節(jié)點的鄰節(jié)點,故而在跳數(shù)和檢索延遲上具有更明顯的優(yōu)勢。

圖12 晶格網(wǎng)絡拓撲下平均跳數(shù)

圖13 隨機網(wǎng)絡拓撲下平均跳數(shù)

圖14 晶格拓撲中的平均檢索延遲

圖15 隨機拓撲中的平均檢索延遲
此外,圖16和圖17為兩種轉發(fā)策略下,兩個網(wǎng)絡拓撲場景的丟包數(shù)量隨監(jiān)測任務數(shù)量的變化情況。可以看出,當監(jiān)測任務從1變化到16時,本文轉發(fā)策略的丟包數(shù)增幅較DD-NDN轉發(fā)策略慢82.14%以上。結果表明,本文方案在數(shù)據(jù)包從源到目的節(jié)點的傳輸過程具有更高的可靠性。

圖16 晶格網(wǎng)絡拓撲下丟包數(shù)

圖17 隨機網(wǎng)絡拓撲下丟包數(shù)
3.2.2網(wǎng)絡能耗與生命周期性能
圖18-圖21為不同網(wǎng)絡拓撲所提轉發(fā)策略和DD-NDN轉發(fā)策略在網(wǎng)絡能耗與網(wǎng)絡生命周期方面的性能隨著監(jiān)測任務數(shù)量的變化趨勢。顯然,更多的監(jiān)測任務需要傳輸更多的Interest報文和Data報文,即網(wǎng)絡能耗和監(jiān)測任務數(shù)量呈正相關的關系。當任務量由1增加到16時,本文轉發(fā)策略的網(wǎng)絡能耗增幅比DD-NDN轉發(fā)策略下降了72.97%以上,而網(wǎng)絡生命周期則延長了24.14%以上。這說明,與DD-NDN相比,本文轉發(fā)策略在總能耗和網(wǎng)絡壽命方面具有更好的性能。

圖18 晶格拓撲中總能耗

圖19 晶格拓撲中的網(wǎng)絡生命周期

圖20 晶格拓撲中總能耗

圖21 隨機拓撲中的網(wǎng)絡生命周期
傳統(tǒng)的基于定向擴散的命名數(shù)據(jù)網(wǎng)絡(DD-NDN)轉發(fā)策略未考慮數(shù)據(jù)轉發(fā)過程中的網(wǎng)絡能耗問題,不能完全適用于能量受限的物聯(lián)網(wǎng)大數(shù)據(jù)傳輸。因此,本文提出了考慮鄰節(jié)點能量和空間信息的改進物聯(lián)網(wǎng)大數(shù)據(jù)轉發(fā)策略,其在數(shù)據(jù)檢索效率、傳輸可靠性、網(wǎng)
絡能耗與網(wǎng)絡生命周期方面具有更好的性能。未來將進一步考慮節(jié)點的移動、休眠等更為實際的場景下的數(shù)據(jù)轉發(fā)策略研究。