楊若冰,馬嚴(yán)(. 北京郵電大學(xué)網(wǎng)絡(luò)技術(shù)研究院,北京 00876;. 北京郵電大學(xué),北京 00876)
命名數(shù)據(jù)網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)策略研究
楊若冰1,馬嚴(yán)2
(1. 北京郵電大學(xué)網(wǎng)絡(luò)技術(shù)研究院,北京 100876;2. 北京郵電大學(xué),北京 100876)
以信息為中心的網(wǎng)絡(luò)(Information Centric Networking,ICN)架構(gòu)是一個(gè)面向未來的互聯(lián)網(wǎng)體系結(jié)構(gòu),它提供了一個(gè)更加安全,高效和可擴(kuò)展的服務(wù)。命名數(shù)據(jù)網(wǎng)絡(luò)(Named Data Networking,NDN)是ICN的幾種具體實(shí)現(xiàn)方式之一,路由和轉(zhuǎn)發(fā)機(jī)制是NDN網(wǎng)絡(luò)中的核心。本文對(duì)NDN中的幾種轉(zhuǎn)發(fā)策略進(jìn)行了全方位的分析,通過不同的指標(biāo)來評(píng)估轉(zhuǎn)發(fā)策略的性能,如網(wǎng)絡(luò)時(shí)延,報(bào)文命中距離,報(bào)文重傳次數(shù)等。實(shí)驗(yàn)使用了ndnSIM進(jìn)行模擬仿真。從仿真結(jié)果中得出,選擇一個(gè)單一的最優(yōu)秀的轉(zhuǎn)發(fā)策略是很困難的,另外,不同的轉(zhuǎn)發(fā)策略的優(yōu)勢(shì)和劣勢(shì)也受到網(wǎng)絡(luò)環(huán)境的較大影響,反之,不同的策略也影響了NDN架構(gòu)所特有的分布式緩存機(jī)制的效果。最后,本文對(duì)不同的轉(zhuǎn)發(fā)策略適用的網(wǎng)絡(luò)情況進(jìn)行了分析和總結(jié)。
計(jì)算機(jī)網(wǎng)絡(luò);命名數(shù)據(jù)網(wǎng)絡(luò);內(nèi)容中心網(wǎng)絡(luò);轉(zhuǎn)發(fā)策略
從社交網(wǎng)絡(luò)服務(wù)增值到查看和分享數(shù)字內(nèi)容,如視頻、照片、文檔等,因特網(wǎng)不再簡(jiǎn)單的提供基本的連接性,而是變成了一個(gè)有著大量從內(nèi)容提供者到內(nèi)容消費(fèi)者的內(nèi)容流的巨大分發(fā)網(wǎng)絡(luò)?;ヂ?lián)網(wǎng)用戶如今需要的是更快,更高效,更安全的內(nèi)容入口,而不再關(guān)心內(nèi)容的位置。因此,未來的網(wǎng)絡(luò)需要從所關(guān)注的數(shù)據(jù)在哪兒(地址和主機(jī))轉(zhuǎn)移到數(shù)據(jù)是什么(用戶和應(yīng)用關(guān)心的內(nèi)容)。
以內(nèi)容為中心的網(wǎng)絡(luò)[1]是一個(gè)以唯一命名的數(shù)據(jù)為核心的互聯(lián)網(wǎng)基礎(chǔ)設(shè)施架構(gòu)。數(shù)據(jù)獨(dú)立于位置、應(yīng)用、存儲(chǔ)以及各種傳輸方式,并且使用了網(wǎng)絡(luò)內(nèi)部的緩存功能??梢灶A(yù)期的是,這樣的架構(gòu)會(huì)帶來效率的提升,關(guān)于信息與帶寬需求的更好的可擴(kuò)展性,以及網(wǎng)絡(luò)在具有挑戰(zhàn)的通信情景中的更好的魯棒性。
目前的互聯(lián)網(wǎng)保障的是數(shù)據(jù)容器的安全,而NDN(Named Data Networking)[2]保障的則是內(nèi)容的安全。這個(gè)設(shè)計(jì)決策將對(duì)數(shù)據(jù)的信任從對(duì)主機(jī)的信任解耦[3],使得一些從根本上可擴(kuò)展的通信機(jī)制成為可能,例如利用自動(dòng)的緩存機(jī)制來優(yōu)化帶寬消耗的方法。
作為NDN網(wǎng)絡(luò)的核心,路由和轉(zhuǎn)發(fā)平面的架構(gòu)也與IP網(wǎng)絡(luò)有著根本上的不同,有狀態(tài)的轉(zhuǎn)發(fā)層使得NDN的轉(zhuǎn)發(fā)策略有了更強(qiáng)的可適應(yīng)性[4]。
沙漏體系結(jié)構(gòu)是使最初的互聯(lián)網(wǎng)設(shè)計(jì)美觀大方并且功能強(qiáng)大的核心原則之一,中心是一個(gè)通用的網(wǎng)絡(luò)層(IP),這個(gè)“瘦腰”部分是推動(dòng)互聯(lián)網(wǎng)爆炸式增長(zhǎng)的關(guān)鍵。NDN保持相同的沙漏形結(jié)構(gòu),如圖1所示。和今天的IP架構(gòu)類似,瘦腰部分也是NDN架構(gòu)的中心。NDN用數(shù)據(jù)名字來發(fā)送數(shù)據(jù)而非IP地址,這個(gè)簡(jiǎn)單的變化使得IP和NDN在數(shù)據(jù)發(fā)送的操作上有著巨大的差異。
NDN設(shè)計(jì)方案中采用了層次化的內(nèi)容命名機(jī)制,類似于目前的URL命名方案。例如,一個(gè)由example.com網(wǎng)站發(fā)布的視頻的名字為“/example. com/videos/something.mpg”,“/”表示名字組件之間的分隔。而“/example.com”及“/example.com/videos”則可作為內(nèi)容前綴(prefix)用于路由查找及轉(zhuǎn)發(fā)。這個(gè)層級(jí)結(jié)構(gòu)用來表現(xiàn)不同的數(shù)據(jù)片之間的關(guān)聯(lián),也保障了路由的可擴(kuò)展性。
圖1 Internet和NDN的沙漏架構(gòu)Fig. 1 Internet and NDN Hourglass Architectures
2.1NDN的路由轉(zhuǎn)發(fā)模型
NDN中有兩類數(shù)據(jù)報(bào)文,分別為請(qǐng)求報(bào)文(Interest Packet)和數(shù)據(jù)報(bào)文(Data Packet),如圖2。
圖2 NDN包結(jié)構(gòu)Fig. 2 Packets In NDN Architecture
NDN轉(zhuǎn)發(fā)模型主要有三類數(shù)據(jù)結(jié)構(gòu),分別為 轉(zhuǎn) 發(fā) 信 息 庫(kù)(forwarding information base,F(xiàn)IB)、內(nèi)容存儲(chǔ)庫(kù)(content store,CS)以及未決請(qǐng)求表(pending interest table,PIT),如圖3
所示。FIB保存了路由結(jié)點(diǎn)到達(dá)內(nèi)容服務(wù)器的下一跳的接口,CS保存路由結(jié)點(diǎn)的緩存內(nèi)容,PIT記錄未得到響應(yīng)的Interest報(bào)文的名字及其到達(dá)接口等信息,以便Data報(bào)文沿途返回。
NDN的通信是由請(qǐng)求方驅(qū)動(dòng)并主動(dòng)取回的。內(nèi)容請(qǐng)求方(Consumer)通過網(wǎng)絡(luò)發(fā)送一個(gè)Interest請(qǐng)求,Interest中含有內(nèi)容的名字。通過一組路由器傳播Interest,直到找到相應(yīng)的Data或Interest的生存時(shí)間結(jié)束。一個(gè)Interest數(shù)據(jù)包可取回最多一個(gè)Data數(shù)據(jù)包。Interest會(huì)在傳播路徑上留下狀態(tài)信息,Data數(shù)據(jù)包遵循反向路徑找到數(shù)據(jù)請(qǐng)求方。
路由轉(zhuǎn)發(fā)過程總結(jié)如下:Interest進(jìn)入,被cache所滿足,直接匹配Content Store中的內(nèi)容;Interest進(jìn)入,沒有被cache所滿足,但已存在PIT表中,為抑制Interest在網(wǎng)絡(luò)中的重復(fù)出現(xiàn),不進(jìn)行轉(zhuǎn)發(fā);Interest進(jìn)入,沒有被cache所滿足,同時(shí)也不在PIT表中,因此在PIT表中增加一個(gè)記錄,同時(shí)在FIB中進(jìn)行查詢,通過轉(zhuǎn)發(fā)策略轉(zhuǎn)發(fā);返回Data數(shù)據(jù)包,和PIT表中內(nèi)容匹配,消除表中相應(yīng)行,存儲(chǔ)在Content Store中,遵循對(duì)應(yīng)Interest的反向路徑轉(zhuǎn)發(fā)。
圖3 NDN路由節(jié)點(diǎn)Fig.3 NDN Node
2.2NDN的轉(zhuǎn)發(fā)策略
在NDN的數(shù)據(jù)層,PIT紀(jì)錄了所有未被滿足的Interests和各自進(jìn)入的接口,當(dāng)接收到匹配的數(shù)據(jù)或者發(fā)生超時(shí)后,相應(yīng)的PIT項(xiàng)將從表中刪除。保存每一個(gè)數(shù)據(jù)報(bào)的狀態(tài)這一點(diǎn)和IP無狀態(tài)的數(shù)據(jù)層有著根本上的區(qū)別。這些狀態(tài)信息使NDN的數(shù)據(jù)層在處理網(wǎng)絡(luò)問題上有著可適應(yīng)性,同時(shí)也能夠更加有效的利用網(wǎng)絡(luò)資源。
NDN和傳統(tǒng)的IP網(wǎng)絡(luò)不同,傳統(tǒng)的IP網(wǎng)絡(luò)的路由層負(fù)責(zé)各種功能,轉(zhuǎn)發(fā)層只需要根據(jù)FIB進(jìn)行轉(zhuǎn)發(fā)。而NDN中路由層只需要建立最初的FIB表,并且負(fù)責(zé)網(wǎng)絡(luò)和拓?fù)涞拈L(zhǎng)期變化,確保路徑無環(huán)、擁塞控制等均由轉(zhuǎn)發(fā)層完成[5]。
NDN的轉(zhuǎn)發(fā)策略是路由器中的決策者,決定是否轉(zhuǎn)發(fā),在什么時(shí)間轉(zhuǎn)發(fā),以及向哪里轉(zhuǎn)發(fā)某個(gè)Interest。目前NDN中核心的兩種轉(zhuǎn)發(fā)策略為洪泛轉(zhuǎn)發(fā)策略(Flooding Strategy)和最優(yōu)路徑轉(zhuǎn)發(fā)策略(Best Route Strategy),根據(jù)網(wǎng)絡(luò)的負(fù)載和取回?cái)?shù)據(jù)的延遲之間的權(quán)衡選擇不同策略。本文的主要目的為通過兩種主要策略的性能優(yōu)勢(shì),找到不同策略的適用環(huán)境。
洪泛轉(zhuǎn)發(fā)策略中,接收一個(gè)Interest請(qǐng)求報(bào)文,路由器向FIB表中對(duì)應(yīng)前綴的所有接口轉(zhuǎn)發(fā)該報(bào)文。FIB表中的多路徑選項(xiàng)由相應(yīng)的路由策略在網(wǎng)絡(luò)初始建立和網(wǎng)絡(luò)拓?fù)浒l(fā)生變化時(shí)寫入[6-8]。
最優(yōu)路徑轉(zhuǎn)發(fā)策略將Interest轉(zhuǎn)發(fā)給開銷最小的上游節(jié)點(diǎn)。之后,如果consumer重發(fā)這個(gè)Interest,或者相同的Interest從其他下游節(jié)點(diǎn)到達(dá),如果在最小轉(zhuǎn)發(fā)間隔的時(shí)間內(nèi),則新的Interest不會(huì)被轉(zhuǎn)發(fā),否則會(huì)被再次轉(zhuǎn)發(fā)。一個(gè)再次轉(zhuǎn)發(fā)的Interest被轉(zhuǎn)發(fā)給除了之前使用過的接口之外的開銷最小的下一跳節(jié)點(diǎn)。
圖4 GEANT拓?fù)銯ig.4 GEANT Topology
實(shí)驗(yàn)使用ndnSIM[9-10]仿真環(huán)境對(duì)不同算法進(jìn)行評(píng)估,ndnSIM是基于ns-3的NDN模擬器。我們?cè)趯?shí)驗(yàn)中對(duì)洪泛,最優(yōu)路徑策略進(jìn)行比較,同時(shí)分析了網(wǎng)絡(luò)內(nèi)緩存的影響。
拓?fù)浣Y(jié)構(gòu)采用GEANT(http://www.geant.net/)網(wǎng)絡(luò),如圖4所示。拓?fù)浣Y(jié)構(gòu)有22個(gè)節(jié)點(diǎn),36條鏈路,鏈路間的帶寬設(shè)為1Mbps,時(shí)延為10ms。為了增加網(wǎng)絡(luò)鏈路通信壓力,以體現(xiàn)轉(zhuǎn)發(fā)策略的優(yōu)劣,實(shí)驗(yàn)設(shè)置13個(gè)消費(fèi)者節(jié)點(diǎn),2個(gè)生產(chǎn)者節(jié)點(diǎn)。Interest的生存時(shí)間為2s,重傳時(shí)間為50ms。緩存的替換算法為L(zhǎng)RU(Least Recently Used)。在模擬中,使用路由策略預(yù)先計(jì)算了路由路徑,并將結(jié)果設(shè)置在每一個(gè)router上。
實(shí)驗(yàn)所評(píng)估的內(nèi)容為:最優(yōu)路徑轉(zhuǎn)發(fā)策略(Best Route),啟用網(wǎng)絡(luò)緩存的最優(yōu)路徑轉(zhuǎn)發(fā)策略(Best Route with Caching),洪泛轉(zhuǎn)發(fā)策略(Flooding),啟用網(wǎng)絡(luò)緩存的洪泛轉(zhuǎn)發(fā)策略(Flooding with Caching)。
3.1理想狀態(tài)下的網(wǎng)絡(luò)
設(shè)置拓?fù)渲忻總€(gè)consumer每秒發(fā)送固定的Interest數(shù)量,此時(shí)網(wǎng)絡(luò)中無擁塞。在不造成超時(shí)的情況下,第10s增加了Interest請(qǐng)求。由于沒有請(qǐng)求的超時(shí)和重發(fā),consumer發(fā)送請(qǐng)求的行為在第10秒停止。
從圖5中可以看出,在網(wǎng)絡(luò)無擁塞的情況下,四種情況下的表現(xiàn)基本相同。緩存在此時(shí)并沒有明顯起到作用,因?yàn)樗械腸onsumers都是同時(shí)對(duì)同一個(gè)數(shù)據(jù)進(jìn)行請(qǐng)求的,所以一般情況下對(duì)應(yīng)的數(shù)據(jù)都是直接從producers返回的。因此每個(gè)轉(zhuǎn)發(fā)策略在網(wǎng)絡(luò)中啟用緩存和不啟用緩存的性能相同。
圖5 理想狀態(tài)下的網(wǎng)絡(luò)性能Fig. 5 Network under Ideal Conditions
唯一的不同在于Best Route( Best Route with Caching)在第10s的Interest發(fā)送速率增大之后,接收數(shù)據(jù)的速率低于Flooding( Flooding with Caching),平均時(shí)延高于Flooding( Flooding with Caching),這說明在網(wǎng)絡(luò)無擁塞的情況下,洪泛策略總能找到更好的路徑,這也在命中距離中有體現(xiàn)。因?yàn)槊績(jī)蓚€(gè)鄰接的routers的鏈路開銷都一樣,在不考慮鏈路交通狀況的情況下,跳數(shù)就代表了所走路徑的總開銷。此時(shí)由于發(fā)送了大量數(shù)據(jù)包,跳數(shù)最短路徑不再是最快的路徑,此時(shí)洪泛策略能夠更快地找到跳數(shù)多但時(shí)延短的路徑。
3.2突發(fā)擁塞的網(wǎng)絡(luò)
設(shè)置拓?fù)渲忻總€(gè)consumer節(jié)點(diǎn)在理想網(wǎng)絡(luò)狀態(tài)的基礎(chǔ)上,首先按照恒定速率發(fā)送Interest數(shù)據(jù)包,在第10s突然增大發(fā)送數(shù)量,此時(shí)網(wǎng)絡(luò)中發(fā)生了Interest的超時(shí)。
3.2.1發(fā)送Interest報(bào)文的數(shù)量
圖6 Consumers每秒發(fā)送Interests的總數(shù)量Fig. 6 Number of Transmitted Interests
由于Consumer每秒發(fā)送Interests的總數(shù)量中,包括那些因?yàn)槌瑫r(shí)而重發(fā)的Interest包,因此可以看到發(fā)送趨勢(shì)整體上是在第10s突然增大并且維持到第12s之后開始下降。從發(fā)送數(shù)量可以看出,F(xiàn)looding with Caching首先結(jié)束Interest的發(fā)送,接下來是Flooding,Best Route with Caching,最后是Best Route。
3.2.2接收Data報(bào)文的數(shù)量
圖7 Consumers每秒接收Data packets的總數(shù)量Fig. 7 Number of Received Data Packets
從圖中可以看出,完成總共1000個(gè)Interest的發(fā)送和數(shù)據(jù)的接收,Consumer接收Data packets的結(jié)束順序與發(fā)送Interest的結(jié)束順序相同。并且對(duì)于同一個(gè)轉(zhuǎn)發(fā)策略而言,啟用緩存比不啟用緩存能夠在每秒接收到更多的數(shù)據(jù)。
3.2.3平均時(shí)延
圖8 平均時(shí)延Fig. 8 Average Time Delay
時(shí)延基本上呈線性增長(zhǎng)趨勢(shì),從理想狀態(tài)下的網(wǎng)絡(luò)中得出,相互之間應(yīng)該為差異較小的狀態(tài)。
3.2.4平均命中距離
以時(shí)間為維度來比較每秒的平均命中距離的變化時(shí),由于到后期網(wǎng)絡(luò)中每秒發(fā)送的Interest較少,樣本不足,因此平均命中距離有較大波動(dòng)。因?yàn)樵诖死羞x擇了計(jì)算總的平均命中距離。
通過比較所有Interest的平均命中距離,我們可以得出,網(wǎng)絡(luò)內(nèi)緩存在此時(shí)有了很大的作用。Flooding with Caching和 Best Route with Caching都分別優(yōu)于Flooding和Best Route。這說明有緩存的情況下,Interest可以在離自己更近的節(jié)點(diǎn)找到匹配的數(shù)據(jù)。而Best Route的平均命中距離又小于Flooding,這是因?yàn)锽est Route總是優(yōu)先選擇線路開銷最小的路徑,在實(shí)驗(yàn)中即經(jīng)過的跳數(shù)最少的路徑。
3.2.5超時(shí)Interest報(bào)文的數(shù)量
圖9 平均命中距離Fig. 9 Average Hit Distance
圖10 每秒超時(shí)Interests的總數(shù)量Fig. 10 Timeout Interests
由于洪泛策略會(huì)在網(wǎng)絡(luò)中創(chuàng)造更多的流量,因此在擁塞剛開始的時(shí)候,洪泛策略的擁塞狀況更為嚴(yán)重,超時(shí)數(shù)量遠(yuǎn)遠(yuǎn)高于最優(yōu)路徑轉(zhuǎn)發(fā)策略。但由于突發(fā)擁塞非常短暫,洪泛策略的超時(shí)數(shù)量也迅速下降?;竞妥顑?yōu)路徑轉(zhuǎn)發(fā)策略持平。而由于洪泛策略的數(shù)據(jù)可以通過所有可用路徑返回,從3.2.2可用看出,在最初的擁塞情況得到緩解后,能夠到達(dá)consumer的Data packet也更多。
同時(shí),在網(wǎng)絡(luò)啟用緩存的情況下,超時(shí)的數(shù)量也相應(yīng)下降,這是因?yàn)閏onsumer可以從相對(duì)于producer而言,離自己更近的節(jié)點(diǎn)處獲得數(shù)據(jù),進(jìn)而降低了擁塞程度。
3.3連續(xù)擁塞的網(wǎng)絡(luò)
從3.1和3.2節(jié)中可以看出,洪泛策略在網(wǎng)絡(luò)負(fù)載不過重的情況下,性能都較好,為了對(duì)現(xiàn)實(shí)中可能發(fā)生的持續(xù)擁塞的網(wǎng)絡(luò)中不同策略的性能進(jìn)行比較,在這個(gè)實(shí)驗(yàn)中,設(shè)置拓?fù)渲忻總€(gè)consumer在前兩節(jié)的基礎(chǔ)上,從第10s開始發(fā)送大量Interest請(qǐng)求并持續(xù)一段時(shí)間,結(jié)果如下。
3.3.1發(fā)送Interest報(bào)文的數(shù)量
從圖11中可以看到consumers從10s開始至12s連續(xù)發(fā)送500個(gè)Interest之后,最優(yōu)路徑轉(zhuǎn)發(fā)策略的發(fā)送數(shù)量立刻下降,而洪泛策略由于嚴(yán)重的擁塞和超時(shí),接下來仍然保持著較高的發(fā)送數(shù)量。Best Route首先結(jié)束Interest的發(fā)送,接下來是Best Route with Caching,F(xiàn)looding with Caching,最后是Flooding。
圖11 Consumers每秒發(fā)送Interests的總數(shù)量Fig. 11 Number of Transmitted Interests
3.3.2接收Data報(bào)文的數(shù)量
在本次試驗(yàn)中,首先完成所有包發(fā)送和接收的是Best Route,接下來是Best Route with Caching,F(xiàn)looding with Caching,最后是Flooding,與3.3.1中的結(jié)束順序相同。從擁塞初始發(fā)生的時(shí)間點(diǎn)可以看出,Best Route和Best Route with Caching的成功接收數(shù)據(jù)數(shù)量最高,F(xiàn)looding with Caching次之,F(xiàn)looding最后。
圖12 Consumers每秒接收Data Packets的總數(shù)量Fig. 12 Number of Received Data Packets
Best Route和Best Route with Caching在連續(xù)擁塞的網(wǎng)絡(luò)中表現(xiàn)差異不大,一方面是由于緩存的過程造成了一定的資源消耗,再者是因?yàn)閷?shí)驗(yàn)中所有節(jié)點(diǎn)對(duì)相同數(shù)據(jù)的請(qǐng)求都是在按同樣順序發(fā)送的(除了超時(shí)重傳),在最優(yōu)路徑上的緩存效果并不十分明顯。
3.3.3平均時(shí)延
平均時(shí)延仍然是近似線性增長(zhǎng),由于平均時(shí)延計(jì)算的是最終成功返回匹配數(shù)據(jù)的請(qǐng)求,并且是從第一次發(fā)送某Interest開始計(jì)時(shí),最優(yōu)路徑策略略高于洪泛策略。
圖13 平均時(shí)延Fig. 13 Average Time Delay
3.3.4平均命中距離
類似于3.2節(jié)中的結(jié)果,啟用網(wǎng)絡(luò)緩存時(shí)的平均命中距離均小于不啟用緩存時(shí)的對(duì)應(yīng)數(shù)據(jù)。Flooding with Caching由于使用洪泛的方式發(fā)送請(qǐng)求,一個(gè)返回的數(shù)據(jù)可以緩存在多個(gè)節(jié)點(diǎn)上,因此優(yōu)于Best Route with Caching。
而關(guān)于Flooding和 Best Route,通過實(shí)驗(yàn)中的觀測(cè),隨著實(shí)驗(yàn)的進(jìn)行,F(xiàn)looding策略的平均命中距離變化并不明顯,而Best Route每秒的平均命中距離在不斷上升后保持了一個(gè)較高的平均跳數(shù),這是由于原本在FIB中優(yōu)先性高的路徑由于發(fā)生了超時(shí)而被標(biāo)記為不可用的,而經(jīng)過的跳數(shù)高因而優(yōu)先級(jí)低的路徑被Best Route啟用并且保持使用。
圖14 平均命中距離Fig. 14 Average Hit Distance
3.3.5超時(shí)Interest報(bào)文的數(shù)量
每秒的超時(shí)數(shù)量印證了通過每秒發(fā)送Interest和接收Data的數(shù)量得出的結(jié)論。在連續(xù)的擁塞網(wǎng)絡(luò)中,洪泛策略會(huì)造成更加嚴(yán)重的請(qǐng)求超時(shí)。Flooding超時(shí)最為嚴(yán)重,F(xiàn)looding with Caching次之,而Best Route和Best Route with Caching的請(qǐng)求超時(shí)數(shù)量類似。
圖15 每秒超時(shí)Interests的總數(shù)量Fig. 15 Timeout Interests
在相同的網(wǎng)絡(luò)狀況下,洪泛策略總是能找到最優(yōu)的路徑來取回?cái)?shù)據(jù),從實(shí)驗(yàn)一也可以看出這一點(diǎn),在網(wǎng)絡(luò)無壓力的情況下,洪泛策略的時(shí)延最小。但與此同時(shí),洪泛策略在網(wǎng)絡(luò)中同時(shí)發(fā)出的多個(gè)Interest報(bào)文將導(dǎo)致網(wǎng)絡(luò)產(chǎn)生大量的冗余流量,當(dāng) NDN 網(wǎng)絡(luò)連接度較高時(shí),這種冗余現(xiàn)象會(huì)更加明顯。
最優(yōu)路徑轉(zhuǎn)發(fā)策略是由路由算法預(yù)先在FIB設(shè)置了多條路徑以及每條路徑對(duì)應(yīng)的優(yōu)先級(jí)。由于網(wǎng)絡(luò)狀況的變化,在一個(gè)Interest的轉(zhuǎn)發(fā)過程中,節(jié)點(diǎn)所選擇的FIB表中的最優(yōu)路徑并不一定是此時(shí)網(wǎng)絡(luò)中的最優(yōu)路徑,因而對(duì)于網(wǎng)絡(luò)變化會(huì)有一定的反應(yīng)延遲。但與洪泛策略相比,最優(yōu)路徑轉(zhuǎn)發(fā)策略大大的降低了網(wǎng)絡(luò)中的負(fù)載,對(duì)于擁塞的網(wǎng)絡(luò),不會(huì)造成更大的網(wǎng)絡(luò)負(fù)擔(dān)。
在普遍啟用了網(wǎng)絡(luò)內(nèi)緩存的情況下,最優(yōu)路徑轉(zhuǎn)發(fā)策略雖然在一定程度上能夠減少網(wǎng)絡(luò)的冗余流量,但未考慮周圍節(jié)點(diǎn)可能存在的緩存內(nèi)容,因此當(dāng)周圍節(jié)點(diǎn)有對(duì)應(yīng)的緩存內(nèi)容時(shí),最優(yōu)路徑轉(zhuǎn)發(fā)策略也不一定是最好的。而洪泛策略總是能匹配到離請(qǐng)求節(jié)點(diǎn)最近的數(shù)據(jù)。
實(shí)驗(yàn)表明一個(gè)單獨(dú)的固定協(xié)議并不適用于所有的網(wǎng)絡(luò)狀況。在網(wǎng)絡(luò)沒有擁塞,并且洪泛策略也不會(huì)產(chǎn)生擁塞的情況下,洪泛策略是最優(yōu)的,它總能找到所有可用的路徑,并且從最優(yōu)的路徑中返回?cái)?shù)據(jù)給請(qǐng)求節(jié)點(diǎn)。而在有突發(fā)擁塞的網(wǎng)絡(luò)中,洪泛策略也能在擁塞程度迅速下降后,保持相對(duì)更高的收發(fā)數(shù)據(jù)速率。但在持續(xù)擁塞的網(wǎng)絡(luò)中,由于洪泛策略使擁塞的網(wǎng)絡(luò)更加擁塞,導(dǎo)致網(wǎng)絡(luò)負(fù)載急劇增長(zhǎng),更加容易造成網(wǎng)絡(luò)的癱瘓。而此時(shí)最優(yōu)路徑策略的性能更優(yōu),因?yàn)樽顑?yōu)路徑策略在一條路徑發(fā)生問題時(shí),會(huì)自動(dòng)的使用下一條可用路徑。在不造成網(wǎng)絡(luò)負(fù)擔(dān)的情況下,對(duì)網(wǎng)絡(luò)進(jìn)行了自動(dòng)的適應(yīng),這種由多路帶來的可適應(yīng)性轉(zhuǎn)發(fā)的能力在嚴(yán)重?fù)砣木W(wǎng)絡(luò)情況下工作的更好。
實(shí)驗(yàn)中,網(wǎng)絡(luò)內(nèi)緩存的啟用也對(duì)算法性能有一定的影響,緩存功能一方面能夠提供更小的命中距離,更低的時(shí)延,另一方面也會(huì)造成資源的消耗。實(shí)驗(yàn)中采取LRU算法對(duì)緩存內(nèi)容進(jìn)行更替,這就使得網(wǎng)絡(luò)節(jié)點(diǎn)需要對(duì)每一個(gè)接收到的Data packet進(jìn)行保存和替換。但同時(shí)也要考慮到,網(wǎng)絡(luò)內(nèi)緩存不僅可以在網(wǎng)絡(luò)擁塞的情況下起作用,對(duì)于其他一些應(yīng)用場(chǎng)景也有著重要意義。根據(jù)小世界路由法則,一定范圍的節(jié)點(diǎn)在某在一段時(shí)間內(nèi)可能會(huì)請(qǐng)求同樣的數(shù)據(jù),而緩存能夠加速這一內(nèi)容分發(fā)過程。
由于并沒有一個(gè)最優(yōu)的轉(zhuǎn)發(fā)策略,因此,router也可以在不同的場(chǎng)景上應(yīng)用不同的策略,例如某個(gè)Interest的第一次轉(zhuǎn)發(fā)只轉(zhuǎn)發(fā)給最優(yōu)的路徑;而當(dāng)發(fā)生重傳時(shí),將Interest同步轉(zhuǎn)發(fā)給多個(gè)可用的接口;當(dāng)接收到NACK時(shí),將Interest轉(zhuǎn)發(fā)給除了接收到NACK的上游router以外的其他router,將數(shù)據(jù)流分散到其他可用的接口;同時(shí),也可以定期的將Interest同時(shí)轉(zhuǎn)發(fā)給目前不可用的接口,對(duì)接口進(jìn)行主動(dòng)探測(cè),得到接口對(duì)應(yīng)的鏈路情況。
更進(jìn)一步的想法是,NDN router可以對(duì)不同的前綴采用不同的轉(zhuǎn)發(fā)策略。例如在網(wǎng)絡(luò)負(fù)載較輕的情況下,對(duì)于一段時(shí)間內(nèi)請(qǐng)求較多的前綴,采取洪泛策略,可以更多的在緩存中命中匹配的數(shù)據(jù)。此外,網(wǎng)絡(luò)中不同的節(jié)點(diǎn)也可能采用不同的轉(zhuǎn)發(fā)策略。例如根據(jù)網(wǎng)絡(luò)中節(jié)點(diǎn)的不同聯(lián)通度,節(jié)點(diǎn)周圍的緩存能力狀況,來制定相應(yīng)的轉(zhuǎn)發(fā)策略。
關(guān)于轉(zhuǎn)發(fā)策略的實(shí)驗(yàn)研究對(duì)于未來NDN路由轉(zhuǎn)發(fā)的研究方向,以及評(píng)估標(biāo)準(zhǔn)有著一定的指導(dǎo)意義。對(duì)于研究一個(gè)綜合洪泛策略和最優(yōu)路徑轉(zhuǎn)發(fā)策略優(yōu)勢(shì)的新的轉(zhuǎn)發(fā)策略,提供了一定的理論支持。例如更低的網(wǎng)絡(luò)負(fù)載,更高的緩存命中率等更加適用于NDN網(wǎng)絡(luò)的路由轉(zhuǎn)發(fā)策略。
[1] Ahlgren B,Dannewitz C,Imbrenda C,et al. A survey of information-centric networking[J]. Communications Magazine,IEEE,2012,50 (7): 26-36.
[2] Zhang L,Afanasyev A,Burke J,et al. Named data networking[J]. ACM SIGCOMM Computer Communication Review,2014,44(3): 66-73.
[3] Wendlandt D,Avramopoulos I,Andersen D G,et al. Don’t secure routing protocols,secure data delivery[J]. Computer Science Department,CMU,2006,40(3): 61-66.
[4] Yi C,Afanasyev A,Wang L,et al. Adaptive forwarding in named data networking[J]. ACM SIGCOMM computer communication review,2012,42(3): 62-67.
[5] Yi C,Afanasyev A,Moiseenko I,et al. A case for stateful forwarding plane[J]. Computer Communications,2013,36(7): 779-791.
[6] 屈鴻.一種基于神經(jīng)網(wǎng)絡(luò)的最短路徑樹生成算法[J].新型工業(yè)化,2012,2(2):62-66.
Qu Hong.A neural network method for the computing of the shortest path tree[J].The Journal of New Industrialization,2012,2(2):62-66.
[7] 張燦,林昭文,馬嚴(yán). OpenFlow網(wǎng)絡(luò)環(huán)境中的路由技術(shù)研究[J].新型工業(yè)化,2014,4(2):57-61,66.
ZHANG Can,LIN Zhao-wen,MA Yan. Research On Routing Technology In Openflow Environment[J].The Journal of New Industrialization,2014,4(2):57-61,66.
[8] Hoque A K M,Amin S O,Alyyan A,et al. Nlsr: Named-data link state routing protocol[C]//Proceedings of the 3rd ACM SIGCOMM Workshop on Information-centric Networking. ACM,2013: 15-20.
[9] S. Mastorakis,A. Afanasyev,I. Moiseenko,and L. Zhang. ndnSIM 2.0: A new version of the NDN simulator for NS-3[R]. NDN,Technical Report NDN-0028,2015.
[10] A. Afanasyev,I. Moiseenko,and L. Zhang. ndnSIM: NDN simulator for NS-3[R]. NDN,Technical Report NDN-0005,2012.
Research on Forwarding Strategies in Named Data Networking
YANG Ruo-bing1, MA Yan2
(1.Beijing University of Posts and Telecommunications Institute of Network Technology, Beijing 100876, China; 2. Beijing University of Posts and Telecommunications, Beijing 100876, China)
Information centric networks(ICN) architecture is an architecture for the future use of the Internet, it provides a more secure, efficient and scalable service. Naming data network(NDN) is one of several concrete implementations of ICN. Routing and forwarding mechanism is the core of NDN. In this paper, we focus on analyzing the performance of several forwarding strategies of NDN through different indicators, such as network delay, packet hit distance, and the number of packet retransmissions. A ns-3 based NDN simulator, namely ndnSIM simulator was used to evaluate the performance of considered algorithms. Simulation results show that there is not a single best strategy, every strategy has its pros and cons, and which is severely affected by the network environment. In turn, the strategies affect the effectiveness of the distributed caching mechanisms typically used in the NDN architecture. In the end, we summarize the network situation that suitable for each forwarding strategy.
Computer network; NDN; ICN; Forwarding strategies
10.3969/j.issn.2095-6649.2015.10.009
YANG Ruo-bing, MA Yan. Research on Forwarding Strategies in Named Data Networking[J]. The Journal of New Industrialization,2015,5(10): 59-67.
楊若冰(1991-),女,碩士研究生,計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)與應(yīng)用
通信聯(lián)系人:馬嚴(yán),教授,主要研究方向:下一代互聯(lián)網(wǎng)技術(shù)
本文引用格式:楊若冰,馬嚴(yán).命名數(shù)據(jù)網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)策略研究[J]. 新型工業(yè)化,2015,5(10):59-67.