蔡岳平,樊欣唯,邱 婭,譚 兵,晏 堯
1(重慶大學(xué) 通信工程學(xué)院,重慶 400030)2(國網(wǎng)重慶市電力公司 電力科學(xué)研究院,重慶 410014)
根據(jù)Cisco VNI的預(yù)測報告,2021年視頻類應(yīng)用產(chǎn)生的流量將約占網(wǎng)絡(luò)總流量的82%[1].視頻內(nèi)容大量復(fù)制傳播的需求,帶來了內(nèi)容分發(fā)網(wǎng)絡(luò)(content delivery networking,CDN)[2]和對等網(wǎng)絡(luò)(peer-to-peer,P2P)[3]的流行和商用.二者均提高了用戶訪問內(nèi)容的速度,但CDN通過DNS重定向的方式將用戶請求轉(zhuǎn)發(fā)到網(wǎng)絡(luò)邊緣的服務(wù)器,其內(nèi)容存放地點受限;P2P為每個內(nèi)容生成一個跟蹤器,交付有效性低.由于二者均無法擺脫基于IP地址的端到端轉(zhuǎn)發(fā)模式,造成諸如DDoS攻擊等安全事故頻繁發(fā)生.因此,研究者們提出了一種全新的未來網(wǎng)絡(luò)架構(gòu)——信息中心網(wǎng)絡(luò)(information centric networking,ICN),從根本上解決當(dāng)前面向連接的互聯(lián)網(wǎng)模式無法滿足用戶的流量需求的問題.ICN通過內(nèi)容的名字而不是分配的IP地址進(jìn)行標(biāo)識,因此用戶發(fā)出的請求只需關(guān)注內(nèi)容本身,而不必關(guān)注內(nèi)容存儲的位置.典型的ICN架構(gòu)有DONA[4]、PURSUIT[5]、CCN[6]、COMET[7]、PSIRP[8]等,其中CCN(content centric networking)被認(rèn)為是最有前途的方案之一.
CCN架構(gòu)采用了類似URL的命名的方式,提供端到內(nèi)容的服務(wù),并且支持?jǐn)U展路由節(jié)點的功能,使得路由器不僅具有傳統(tǒng)的轉(zhuǎn)發(fā)功能,還具有一定存儲的能力.該功能通過“存儲換帶寬”的方式降低數(shù)據(jù)包在網(wǎng)絡(luò)中的傳輸時間,實現(xiàn)比CDN更加靈活的分布式緩存網(wǎng).然而,在傳統(tǒng)的CCN路由機制中,這種“分布式緩存”的優(yōu)勢并未得到很好的發(fā)揮,這是因為傳統(tǒng)的路由機制只能實現(xiàn)興趣包向發(fā)布者進(jìn)行路由,而路徑外的大量就近緩存無法感知利用,導(dǎo)致大量帶寬資源的浪費.因此,需要設(shè)計出一種高效可靠的緩存感知的路由機制來充分發(fā)揮CCN的緩存優(yōu)勢.
對于CCN的緩存感知的機制,主要解決的問題可以歸為兩點:(1)如何發(fā)現(xiàn)緩存內(nèi)容;(2)如何朝著最近的一個內(nèi)容源轉(zhuǎn)發(fā)興趣包.
現(xiàn)有緩存感知路由機制可分為兩類,一類是請求者主動發(fā)布報文探測緩存內(nèi)容的位置:文獻(xiàn)[9]提出一種鄰居緩存探測的路由機制(neighbor cache explore routing,NCE),該方案利用分布式蟻群算法計算最短路徑,可實現(xiàn)局部緩存的感知.但該方案并未明確指出探測的深度,當(dāng)網(wǎng)絡(luò)范圍增大時可能造成探測的成本較大,對網(wǎng)絡(luò)帶寬造壓力.另一類是由緩存節(jié)點向周圍發(fā)布已經(jīng)緩存的內(nèi)容信息,請求者被動接收后進(jìn)行綜合判斷再選出最優(yōu)路徑:文獻(xiàn)[10-12]提出了一種基于勢能的路由機制(cache aware target identification,CATT),該方案對于穩(wěn)定的發(fā)布者節(jié)點構(gòu)建永久勢場(permanent potential field,PPF),采用類似于傳統(tǒng)CCN的洪泛通知方式實現(xiàn);對易變的緩存節(jié)點構(gòu)建易變勢場(volatile potential field,VPF),采用固定跳數(shù)的通告鄰居節(jié)點內(nèi)容的勢能,興趣包依據(jù)收到的最小勢能確定下一跳的轉(zhuǎn)發(fā)端口從而獲取最近的內(nèi)容.但該方案并未區(qū)分緩存節(jié)點和發(fā)布者節(jié)點的服務(wù)器性能,當(dāng)網(wǎng)絡(luò)中的多個內(nèi)容節(jié)點勢能疊加后,造成興趣包并未受到最近的內(nèi)容源的吸引,請求內(nèi)容的時延大;同時CATT沒有對緩存的內(nèi)容進(jìn)行區(qū)分,將節(jié)點內(nèi)緩存的所有內(nèi)容以相同跳數(shù)向周圍節(jié)點進(jìn)行通告,造成巨大的帶寬開銷.
由于CCN路由器的主要功能仍然是快速轉(zhuǎn)發(fā)數(shù)據(jù)包,因此我們需要考慮路由器緩存功能的有限性.另外,在多數(shù)真實場景下,位于網(wǎng)絡(luò)核心及中間的路由器不會產(chǎn)生內(nèi)容請求,興趣包均來自靠近網(wǎng)絡(luò)邊緣的用戶,因此我們也需要考慮充分利用網(wǎng)絡(luò)邊緣的緩存,將興趣包盡可能的吸引到就近的緩存節(jié)點,提高內(nèi)容的響應(yīng)速度.
本文提出了一種基于勢能的邊緣節(jié)點勢能增強路由機制(edge node potential-enhanced routing,ENPER).該方案定義了網(wǎng)絡(luò)中每個節(jié)點的勢能,通過增強邊緣緩存節(jié)點的勢能,將興趣包盡可能地吸引到邊緣節(jié)點上命中;并配合使用邊緣節(jié)點統(tǒng)計的興趣包數(shù)量對不同流行度的內(nèi)容進(jìn)行區(qū)分通告,以滿足用戶的低請求時延需求和網(wǎng)絡(luò)的低帶寬開銷.本文的貢獻(xiàn)如下:
1)在文獻(xiàn)[10-12]提出的勢能概念基礎(chǔ)上,針對CCN興趣包來自網(wǎng)絡(luò)邊緣卻無法在邊緣節(jié)點快速響應(yīng)的問題設(shè)計了模型,提出了一種邊緣節(jié)點勢能增強的路由機制.
2)提出了一種在邊緣節(jié)點對內(nèi)容的流行度進(jìn)行預(yù)測并結(jié)合網(wǎng)絡(luò)拓?fù)浞秶拇笮?對緩存內(nèi)容的勢能值進(jìn)行區(qū)分通告的機制.
在傳統(tǒng)的CCN路由機制中,發(fā)布者產(chǎn)生一個新內(nèi)容,將通過洪泛的方式向全網(wǎng)節(jié)點進(jìn)行通告,興趣包基于轉(zhuǎn)發(fā)信息表(Forwarding information base,FIB)查找一條到達(dá)發(fā)布者的最佳路徑.因此對于每個路由器,FIB中只包含到達(dá)內(nèi)容發(fā)布者節(jié)點的下一跳端口,卻沒有包含到達(dá)就近緩存節(jié)點的下一跳端口.由于無法感知網(wǎng)絡(luò)中存在的大量緩存資源,傳統(tǒng)的CCN路由機制的平均請求內(nèi)容的時延較大.本文在Suyong Eum等學(xué)者提出的勢能概念基礎(chǔ)上,設(shè)計了一種緩存可感知的邊緣節(jié)點勢能增強路由機制.在該模型下,發(fā)布者或緩存節(jié)點被當(dāng)作負(fù)點電荷,興趣包即帶正電的試探電荷,將沿著梯度下降最快、勢能最小的方向轉(zhuǎn)發(fā).本節(jié)將對ENPER的設(shè)計進(jìn)行詳細(xì)介紹.
圖1 ENPER的轉(zhuǎn)發(fā)過程
圖1展示了興趣包經(jīng)過緩存節(jié)點時的轉(zhuǎn)發(fā)過程.當(dāng)興趣包到達(dá)某個節(jié)點時,將首先根據(jù)CCN的路由特點查詢內(nèi)容存儲表(content store,CS),如果匹配到相關(guān)條目則(1)直接返回數(shù)據(jù)包;如果沒有匹配內(nèi)容則查詢待定興趣表(pending interest table,PIT);(2)如果在PIT中查詢到之前已有其他興趣包請求過該內(nèi)容,則將當(dāng)前請求端口添加到PIT條目中,等待數(shù)據(jù)包返回;如果PIT中也沒相應(yīng)匹配項,則先在PIT中添加請求條目,然后;(3)興趣包將會查找FIB中具有最小的勢能值的端口,如果匹配則向勢能值最小的端口轉(zhuǎn)發(fā);(4)如果此時具有最小勢能值的內(nèi)容被替換或者刪除,則選擇具有次小值的端口轉(zhuǎn)發(fā);(5)當(dāng)網(wǎng)絡(luò)中沒有該請求的內(nèi)容或該內(nèi)容正被發(fā)布者洪泛通知,導(dǎo)致FIB中沒有條目,興趣包將被丟棄.發(fā)布者服務(wù)器收到興趣包后,發(fā)送相應(yīng)數(shù)據(jù)包并沿原路返回.數(shù)據(jù)包每經(jīng)過一跳;(6)先檢查PIT,如果PIT中存在多個端口則復(fù)制數(shù)據(jù)包發(fā)送給多個請求者;(7)然后將數(shù)據(jù)包存儲在CS中,并重新建立自治域內(nèi)的節(jié)點勢場.
2.1.1 發(fā)布者節(jié)點的勢能
由于發(fā)布者服務(wù)器為內(nèi)容產(chǎn)生的源頭,具有較大的輸出速率、較高的處理性能和長時間的存儲能力,因此設(shè)置為長期穩(wěn)定的負(fù)點電荷,形成自治域內(nèi)的全網(wǎng)勢場.除非內(nèi)容發(fā)生變化,該全網(wǎng)勢場一旦建立將一直保持穩(wěn)定狀態(tài).興趣包處于網(wǎng)絡(luò)中任意節(jié)點ni受到發(fā)布者np產(chǎn)生的吸引力為:
(1)
其中,Qnp為發(fā)布者生產(chǎn)內(nèi)容的質(zhì)量,大小與服務(wù)器處理速度、吞吐量等因素有關(guān).公式(1)中的負(fù)號保證興趣包朝著勢能最低點進(jìn)行路由.距離d可以為跳數(shù)、時延、鏈路帶寬等.d(ni,np)定義為網(wǎng)絡(luò)中的任意節(jié)點ni到發(fā)布者服務(wù)器np之間的最小跳數(shù).隨著跳數(shù)的增加,興趣包位于發(fā)布者節(jié)點越遠(yuǎn),受到的勢能吸引力越小,即|φn|越小.
2.1.2 緩存節(jié)點的勢能
雖然CCN網(wǎng)絡(luò)中的路由轉(zhuǎn)發(fā)節(jié)點具有緩存能力,但與發(fā)布者進(jìn)行比較,路由器的主要功能為線速轉(zhuǎn)發(fā)數(shù)據(jù)包,其緩存容量和處理性能遠(yuǎn)不及專為本域提供內(nèi)容的發(fā)布者服務(wù)器.尤其是當(dāng)緩存用盡時會根據(jù)CCN的替換算法刪除一部份已經(jīng)存儲的內(nèi)容,造成后續(xù)的興趣包在無法命中.根據(jù)該特性,設(shè)置α為緩存節(jié)點nc的內(nèi)容質(zhì)量比例系數(shù):
(2)
由于當(dāng)前互聯(lián)網(wǎng)的內(nèi)容的請求符合冪律分布特征(Zipf或Mandelbrot-Zipf分布)[4],即80%的請求只與20%的內(nèi)容有關(guān).例如,當(dāng)網(wǎng)絡(luò)中內(nèi)容的總數(shù)為N=1000,Zipf=1.0時,前129項內(nèi)容的請求累計概率已達(dá)到80%,其他Zipf分布指數(shù)與累計概率到達(dá)80%時的內(nèi)容個數(shù)關(guān)系如表1所示.根據(jù)以上分析,為了讓緩存節(jié)點能盡可能的存儲請求量大的內(nèi)容,同時又考慮到路由節(jié)點的性能和成本,我們設(shè)置α為0.1到0.3之間的常數(shù).
表1 Zipf分布指數(shù)與請求累計達(dá)80%時內(nèi)容個數(shù)的關(guān)系
2.1.3 混合疊加的勢能
由于數(shù)據(jù)包在返回中會存儲在途經(jīng)節(jié)點,因此當(dāng)網(wǎng)絡(luò)中同時存在多個緩存內(nèi)容和多個發(fā)布者產(chǎn)生的內(nèi)容時,總勢場會以線性疊加的方式呈現(xiàn),如公式(3)所示.
通過公式(3)可以推斷出當(dāng)存在多個緩存內(nèi)容時,如圖2(a)所示,靠近發(fā)布者的勢能通過相互疊加的方式會比靠近邊緣的副本節(jié)點的勢能更大.然而在多數(shù)實際場景中,興趣包來自靠近邊緣網(wǎng)絡(luò)的用戶,位于網(wǎng)絡(luò)核心及中間的路由器不會產(chǎn)生請求.如果從邊緣出發(fā)的興趣包受到了網(wǎng)絡(luò)核心的吸引并向發(fā)布者服務(wù)器轉(zhuǎn)發(fā),將錯過更靠近邊緣的緩存內(nèi)容,造成用戶請求時延的增加.所以如圖2(b)右所示,我們考慮加強網(wǎng)絡(luò)邊緣緩存的勢能值.原因有兩點:
(3)
圖2 緩存節(jié)點的勢能疊加
1)將來自邊緣的興趣包可直接在邊緣節(jié)點上命中,可減少請求時延;
2)邊緣緩存節(jié)點集中收集相同興趣包的請求,將增加請求概率較大的內(nèi)容的駐留時間,提升目標(biāo)緩存內(nèi)容的可用性,進(jìn)而增加緩存命中率.
圖3 網(wǎng)絡(luò)的拓?fù)浜途彺婀?jié)點的勢場圖
根據(jù)以上分析,為了保證興趣包可以受到邊緣緩存勢能的吸引朝著最近的緩存進(jìn)行路由,我們提出了緩存節(jié)點的勢能參數(shù)Wni,在考慮節(jié)點負(fù)載的情況下,提高邊緣緩存的勢能值:
(4)
當(dāng)勢場模型建立之后,如果缺少通告機制將勢能的值通告到其它節(jié)點,那么基于勢能路由機制與傳統(tǒng)的CCN路由機制無異,即興趣包將在轉(zhuǎn)發(fā)路徑上隨機命中,錯過臨近的緩存節(jié)點.因此我們需要添加通告機制實現(xiàn)勢能的吸引.但如果將所有緩存內(nèi)容向全網(wǎng)進(jìn)行通告,不僅僅會造成網(wǎng)絡(luò)的大量開銷,當(dāng)緩存內(nèi)容根據(jù)不同算法被替換時,也需要向周圍節(jié)點發(fā)布NACK通告,刪除相應(yīng)的FIB條目,這也將占用大量的帶寬資源.因此我們需要一種簡單高效的流行度判斷機制和一種適應(yīng)網(wǎng)絡(luò)拓?fù)涞耐ǜ娣秶鷻C制來實現(xiàn)基于勢能的路由.
在文獻(xiàn)[14]中,作者根據(jù)內(nèi)容請求呈冪律分布特點將內(nèi)容劃分成三類:流行、普通、冷門,據(jù)此對緩存內(nèi)容進(jìn)行區(qū)分通告,但是該方案成立的前提是已知所有內(nèi)容的請求的次數(shù)和整體流行度,在真實的網(wǎng)絡(luò)情況下是無法實現(xiàn)的.另外,興趣包的請求個數(shù)還具有“收斂性”,當(dāng)一個節(jié)點收到大量相同的興趣包時,會記錄下游請求端口并添加在PIT中,然后僅向上游發(fā)出一個興趣包,因此類似于文獻(xiàn)[15]提出的統(tǒng)計上游節(jié)點,或統(tǒng)計域內(nèi)的所有節(jié)點收到興趣包的個數(shù)的方式也是不可取的.根據(jù)以上分析,內(nèi)容的流行度值只能在邊緣節(jié)點進(jìn)行統(tǒng)計和計算.本文提出的邊緣加強的勢能方案,在考慮節(jié)點負(fù)載的情況下,可將具有相同請求的興趣包盡可能地吸引到一個邊緣緩存節(jié)點,得到更加精確的內(nèi)容流行度.
CCN網(wǎng)絡(luò)的內(nèi)容流行度根據(jù)內(nèi)容的請求次數(shù)進(jìn)行計算,假設(shè)一個k內(nèi)容在請求節(jié)點ni上某個時間段T內(nèi)收到的興趣包請求次數(shù)為fni,k,那么該內(nèi)容的流行度定義為:
(5)
PT+1(k)=σPT(k)+(1-σ)PT-1(k)
(6)
當(dāng)?shù)谝淮握埱髃內(nèi)容時,邊緣節(jié)點收集下游的請求總次數(shù),并在向上游發(fā)送一個興趣包的同時通知上游節(jié)點k內(nèi)容的流行度.當(dāng)內(nèi)容返回并建立勢場后,邊緣節(jié)點將在周期T的時間段繼續(xù)統(tǒng)計,并向上游緩存節(jié)點通知內(nèi)容流行度的變化,保持上游流行度的實時性,保證對同一內(nèi)容通知范圍的統(tǒng)一.
由上小節(jié)可知,當(dāng)預(yù)測的流行度越大,代表請求的次數(shù)越多,緩存內(nèi)容的穩(wěn)定性越高,對其進(jìn)行大范圍的通告可提高內(nèi)容的可用性.通告節(jié)點的最大范圍n跳的設(shè)置需要依賴特定的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和大小,且需要滿足如下要求[14]:(1)通告范圍限制在域內(nèi);(2)通告產(chǎn)生的控制流量應(yīng)限定在一定程度內(nèi);(3)n的選擇小于緩存節(jié)點到發(fā)布者之間的跳數(shù).
表2 緩存通告范圍
如表2,本文根據(jù)網(wǎng)絡(luò)的大小設(shè)置跳躍閾值實現(xiàn)針對不同流行度內(nèi)容的緩存通告,其閾值為H1,H2,…,Hn(H1
本文采用了開源仿真平臺ndnSim對上述路由機制進(jìn)行實現(xiàn),并與CATT[9]和仿真平臺上主流的路由機制Best-Routing[15]進(jìn)行對比.ndnSim是基于NS-3的仿真工具,在該平臺上加入了NDN協(xié)議棧,可實現(xiàn)CCN網(wǎng)絡(luò)的路由機制.實驗的節(jié)點總數(shù)為30個,請求到達(dá)服從泊松分布.此外用戶的請求分布根據(jù)Zipf的指數(shù)分布進(jìn)行調(diào)整.Zipf指數(shù)代表請求內(nèi)容的集中度,指數(shù)越大表示用戶請求內(nèi)容越相似,越小表示請求內(nèi)容越分散.仿真時間為180s,其他參數(shù)如表3所示.
為了客觀反映不同路由機制的實際效果及不同參數(shù)對路由機制的影響,本文定義了以下的性能評價指標(biāo).
3.2.1 平均請求內(nèi)容的時延
對單個內(nèi)容的請求時延是指用戶從開始發(fā)送興趣包到接收數(shù)據(jù)包整個過程的時間,平均請求內(nèi)容的時延是指在周期為T(此處設(shè)置為20s)的范圍內(nèi),計算所有時延的平均值.平均請求內(nèi)容的時延反應(yīng)用戶發(fā)從出請求到響應(yīng)的平均時間,該值越小代表等待時間更短,用戶體驗更佳.
(7)
3.2.2 發(fā)布者服務(wù)器的負(fù)載減少率
表3 實驗參數(shù)的設(shè)置
其中,S_counts表示發(fā)布者服務(wù)器的響應(yīng)次數(shù),R_counts表示用戶的請求的總次數(shù).服務(wù)器負(fù)載的減小率表示由于網(wǎng)絡(luò)中分布的緩存的響應(yīng)使得發(fā)布者的負(fù)載減小,該指標(biāo)越高,說明網(wǎng)絡(luò)中的緩存起到的效果越明顯.
(8)
3.2.3 緩存通告報文開銷
(9)
緩存通告開銷定義單位時間內(nèi)每個緩存通告的報文長度與傳輸距離的乘積,并對通知內(nèi)容個數(shù)求和.開銷的大小主要取決于報文的長度、報文的通告數(shù)量和跳數(shù).該值越大,表示緩存通告的開銷越大,占用的帶寬越多.
圖4 平均請求內(nèi)容的時延隨仿真時間的變化
圖4對各個路由機制的平均請求內(nèi)容的時延進(jìn)行對比.設(shè)置仿真條件為CATT的緩存通告為2跳,ENPER的最大通告范圍為3跳,Zipf=1.從圖4中可以看出,在仿真的初期,由于網(wǎng)絡(luò)中所有路由節(jié)點均無存儲,不同路由機制的興趣包都必須到達(dá)發(fā)布者服務(wù)器以獲取內(nèi)容,初期的平均請求內(nèi)容的時延相等且較大,隨著網(wǎng)絡(luò)中緩存的內(nèi)容逐漸增加,獲取內(nèi)容的跳數(shù)減少,平均請求內(nèi)容的時延逐漸降低,最后趨于平穩(wěn).對比分析,三種路由機制的平均請求內(nèi)容的時延從大到小依次為Best-routing、CATT、ENPER.具體原因如下:Best-routing的FIB中只存在到發(fā)布者的最短路徑,無法感知路徑外的緩存節(jié)點的內(nèi)容,因此大部分興趣包需要穿過整個網(wǎng)絡(luò)到達(dá)發(fā)布者服務(wù)器,占用的鏈路資源最多,平均請求時間最長;CATT由于采用了基于勢能的緩存感知路由機制,與Best-routing相比可以讓興趣包朝著緩存節(jié)點進(jìn)行路由,平均請求內(nèi)容的時延下降;ENPER通過增加邊緣節(jié)點的勢能將興趣包吸引到最近的緩存節(jié)點命中,跳數(shù)最少,占用的資源最少.
圖5 平均請求內(nèi)容的時延隨Zipf的變化趨勢
根據(jù)圖4的仿真結(jié)果可以得到在仿真初期數(shù)據(jù)波動較大,為仿真預(yù)熱時間.因此后續(xù)的對比將取100秒~180秒之間的穩(wěn)定數(shù)據(jù)的平均值進(jìn)行分析.由于在實際場景中,不同的網(wǎng)絡(luò)環(huán)境下的Zipf的指數(shù)分布具有差異性,本文通過改變Zipf的分布參數(shù)(0.5~1.1)比較三種路由機制在平均請求內(nèi)容的時延、發(fā)布者服務(wù)器負(fù)載減小率和緩存通告開銷的差異.如圖5,隨著Zipf流行度分布指數(shù)的增加,三種請求時延不斷減小,其原因是Zipf指數(shù)越小表示請求內(nèi)容越離散,多樣化的內(nèi)容請求將導(dǎo)致有限的存儲空間被高頻率地替換,緩存利用率低;隨著Zipf指數(shù)的增加,請求內(nèi)容的局域性和集中性不斷加強,CS儲存的內(nèi)容穩(wěn)定,興趣包得以在緩存節(jié)點中頻繁命中,平均請求內(nèi)容的時延不斷減小.對比分析可以得出當(dāng)Zipf=1時,ENPER的平均請求內(nèi)容的時延相比Best-routing減少了約43%,與CATT相比減少了17%.
圖6 發(fā)布者服務(wù)器負(fù)載減小率隨Zipf的變化趨勢
圖6分析了Zipf流行度分布指數(shù)對發(fā)布者服務(wù)器負(fù)載的影響.發(fā)布者負(fù)載減小率越大表示興趣包可以更多的在網(wǎng)絡(luò)中的緩存節(jié)點上獲得請求的內(nèi)容.三者比較性能最優(yōu)的是ENPER.在Zipf=1時,ENPER路由機制可以減少83%的發(fā)布者服務(wù)器的負(fù)載,其原因是通過改變節(jié)點的勢能,興趣包可以在邊緣節(jié)點上獲得請求內(nèi)容,而無需到達(dá)發(fā)布者服務(wù)器.當(dāng)Zipf指數(shù)增加,縱坐標(biāo)對應(yīng)的數(shù)值的增長速率放緩,其原因是我們采用的緩存機制為LRU,即當(dāng)路由器緩存裝滿時,會將最近一段時間最少請求的內(nèi)容淘汰.當(dāng)請求逐漸集中,緩存容量大小又保持一定時,增長趨勢放緩.
圖7 緩存通告開銷隨Zipf的變化趨勢
由于Best-routing不具備緩存通告能力,因此圖7僅對ENPER和CATT的緩存通告開銷隨Zipf指數(shù)的變化進(jìn)行分析.從圖中可知ENPER的通告開銷相比CATT更低,原因是CATT在周期時間內(nèi)會將所有緩存節(jié)點的內(nèi)容向周圍節(jié)點以固定跳數(shù)的方式進(jìn)行擴散,并且不區(qū)分請求次數(shù)很少、非流行的內(nèi)容,這種盲目通告的方式會浪費帶寬資源;而ENPER由于增加了邊緣緩存節(jié)點的勢能,興趣包不僅僅可以受到緩存節(jié)點勢能的吸引在邊緣上快速命中,還由于邊緣節(jié)點集中地收集興趣包的個數(shù),減少了上游節(jié)點存在的PIT過濾情況,能更好地統(tǒng)計出用戶的請求分布.以外,ENPER按照流行度的預(yù)測值對緩存節(jié)點的通告范圍進(jìn)行區(qū)分設(shè)置,大量非流行的內(nèi)容不會向周圍節(jié)點發(fā)出通告報文,因此提升了緩存的內(nèi)容的可用性,降低了通告的開銷.
為了實現(xiàn)請求內(nèi)容的就近應(yīng)答,提高緩存資源的利用率,我們對內(nèi)容中心網(wǎng)絡(luò)的緩存節(jié)點和發(fā)布者節(jié)點構(gòu)造了勢能模型,并在此基礎(chǔ)上提出了一種邊緣節(jié)點勢能增強的路由機制ENPER.通過改變靠近邊緣的節(jié)點勢能值,增加邊緣緩存內(nèi)容的吸引力,將興趣包吸引到就近的節(jié)點上命中響應(yīng),減少了平均請求內(nèi)容的時延和發(fā)布者服務(wù)器的負(fù)載;同時,還通過在邊緣節(jié)點計算內(nèi)容的預(yù)測流行度,對數(shù)量較少但流行度高的內(nèi)容擴大范圍通告,對數(shù)量較多但流行度低的內(nèi)容減少或不發(fā)送通告,降低了通告報文對帶寬的消耗.