姜一鳴,雒江濤,胡吉昌,胡云瀚,何 宸,張 飛
(1.“新一代信息網(wǎng)絡(luò)與終端”重慶市協(xié)同創(chuàng)新中心,重慶 400065;2.重慶郵電大學(xué) 電子信息與網(wǎng)絡(luò)工程研究院,重慶 400065)
互聯(lián)網(wǎng)自誕生至今已經(jīng)歷了近半個(gè)世紀(jì)的發(fā)展,對(duì)整個(gè)世界的政治、經(jīng)濟(jì)、文化和社會(huì)的發(fā)展都產(chǎn)生了非常深刻的影響。隨著網(wǎng)絡(luò)上應(yīng)用種類和用戶規(guī)模的爆炸式增長(zhǎng),人們對(duì)于互聯(lián)網(wǎng)的需求也已經(jīng)發(fā)生了轉(zhuǎn)變。目前網(wǎng)絡(luò)中的業(yè)務(wù)多集中于對(duì)海量?jī)?nèi)容的獲取,而傳統(tǒng)的端到端通信僅占到所有業(yè)務(wù)量中很小的一部分[1]。這種轉(zhuǎn)變加速了對(duì)以內(nèi)容為中心的新一代網(wǎng)絡(luò)架構(gòu)的探索,命名數(shù)據(jù)網(wǎng)絡(luò)(named data networking,NDN)提出以內(nèi)容名稱取代IP地址在網(wǎng)絡(luò)中進(jìn)行路由和傳遞,成為了其中最受關(guān)注的代表[2]。
NDN網(wǎng)絡(luò)最大的特點(diǎn)在于通過引入內(nèi)容緩存(content store,CS)和未決興趣表(pending interest table,PIT)實(shí)現(xiàn)了網(wǎng)絡(luò)內(nèi)緩存和流量匯聚,有效地減少了對(duì)網(wǎng)絡(luò)帶寬的占用,降低了用戶獲取資源所需的時(shí)間。這種特性對(duì)于內(nèi)容分發(fā)類業(yè)務(wù)來說具有絕對(duì)性的優(yōu)勢(shì),然而對(duì)于傳統(tǒng)的端到端業(yè)務(wù)來說卻略顯支持性不足,原因在于以下幾方面。
1)對(duì)于語音通話、視頻會(huì)議、電子郵件等業(yè)務(wù),通信的數(shù)據(jù)是在雙方或多方的通話建立之后才產(chǎn)生的,在會(huì)話建立之前,網(wǎng)絡(luò)中的路由節(jié)點(diǎn)并不會(huì)存有任何有關(guān)此次會(huì)話的數(shù)據(jù),但是傳統(tǒng)的NDN網(wǎng)絡(luò)仍然會(huì)對(duì)此類業(yè)務(wù)執(zhí)行CS匹配、PIT查找等步驟,執(zhí)行此類操作導(dǎo)致路由節(jié)點(diǎn)對(duì)數(shù)據(jù)的處理時(shí)間過長(zhǎng),無法為用戶提供低時(shí)延的服務(wù)質(zhì)量(quality of service,QoS)保證;
2)端到端業(yè)務(wù)的數(shù)據(jù)具有很強(qiáng)的私有性和低共享性,此類數(shù)據(jù)很少會(huì)被其他用戶再次請(qǐng)求,因此,在網(wǎng)絡(luò)中緩存此類數(shù)據(jù)會(huì)造成CS和PIT表有限資源的浪費(fèi),導(dǎo)致CS緩存匹配和PIT表中流量匯聚效率的低下;
3)從網(wǎng)絡(luò)安全角度來看,存儲(chǔ)具有較強(qiáng)隱私性的內(nèi)容很有可能會(huì)被不合法的用戶獲取,造成用戶的隱私泄露;另外,如果惡意用戶持續(xù)請(qǐng)求或發(fā)送大量密集的動(dòng)態(tài)生成的內(nèi)容,路由器的緩存功能無將法發(fā)揮作用,這些內(nèi)容會(huì)占用大量的帶寬及PIT空間,將會(huì)導(dǎo)致網(wǎng)絡(luò)面臨嚴(yán)重的拒絕服務(wù)(denial of service,DoS)威脅。
目前NDN對(duì)于如何為端到端業(yè)務(wù)提供良好支持這一問題并沒有給出成熟的解決方案。在文獻(xiàn)[3]中,作者提出了信息中心網(wǎng)絡(luò)未來發(fā)展的重點(diǎn)方向之一就是要解決對(duì)端到端業(yè)務(wù)的支持,并且針對(duì)目前的問題給出了后續(xù)的研究方向;文獻(xiàn)[4]針對(duì)實(shí)時(shí)業(yè)務(wù)提出了一種新的支持方案(MERTS),通過一個(gè)興趣包對(duì)應(yīng)多個(gè)數(shù)據(jù)包的形式,來減少網(wǎng)絡(luò)中大量重復(fù)的消息請(qǐng)求,同時(shí)能夠與傳統(tǒng)的NDN模式兼容。該方案能夠減少網(wǎng)絡(luò)資源的浪費(fèi),但是無法為實(shí)時(shí)業(yè)務(wù)提供更低時(shí)延的保障;文獻(xiàn)[5]針對(duì)內(nèi)容中心網(wǎng)絡(luò)中的VoIP(voice over IP)類業(yè)務(wù),提出了一種新的傳輸模式(VoCCN)。請(qǐng)求者預(yù)先發(fā)送多個(gè)興趣請(qǐng)求,同時(shí)在數(shù)據(jù)源處形成未決狀態(tài),一旦內(nèi)容產(chǎn)生,便可立即發(fā)送。但是該方案增大了沿途節(jié)點(diǎn)PIT表需要存儲(chǔ)的條目信息;文獻(xiàn)[6]提出了一種以定長(zhǎng)的標(biāo)簽代替變長(zhǎng)名稱進(jìn)行加速轉(zhuǎn)發(fā)的機(jī)制,能夠以面向連接的方式為端到端業(yè)務(wù)提供良好的支持,但由于其核心節(jié)點(diǎn)中不再配有CS緩存,對(duì)于現(xiàn)在網(wǎng)絡(luò)中的主流業(yè)務(wù)(內(nèi)容分發(fā)類業(yè)務(wù))的支持性并不是很好。
雖然端到端業(yè)務(wù)不再是網(wǎng)絡(luò)中的主流業(yè)務(wù),但是其重要性是毋庸置疑的。NDN網(wǎng)絡(luò)作為新型網(wǎng)絡(luò)架構(gòu)的一種,若想在日后取代IP網(wǎng)絡(luò)進(jìn)行全球規(guī)模的部署,就必須要解決對(duì)端到端業(yè)務(wù)的支持問題。為解決這一問題,本文提出了一種命名數(shù)據(jù)網(wǎng)絡(luò)中的雙模式轉(zhuǎn)發(fā)模型。對(duì)于內(nèi)容分發(fā)類業(yè)務(wù),該模型采用傳統(tǒng)的NDN轉(zhuǎn)發(fā)機(jī)制進(jìn)行轉(zhuǎn)發(fā)處理;對(duì)端到端業(yè)務(wù),采用定長(zhǎng)的標(biāo)簽交換代替變長(zhǎng)的名字查找來加速轉(zhuǎn)發(fā),并且不再進(jìn)行緩存操作。實(shí)驗(yàn)結(jié)果表明,使用該模型能夠效地節(jié)省CS的緩存空間,同時(shí)減小端到端業(yè)務(wù)的傳輸時(shí)延。
在NDN網(wǎng)絡(luò)中,每個(gè)路由器中都具有CS,PIT和FIB(forwarding information base)這3種結(jié)構(gòu)[7]。NDN的通信基于2種傳輸包類型:①興趣包(Interest);②數(shù)據(jù)包(Data)。二者通過名字進(jìn)行匹配,其轉(zhuǎn)發(fā)模型圖如圖1所示。當(dāng)用戶需要獲取內(nèi)容時(shí),會(huì)發(fā)送一個(gè)包含該內(nèi)容名稱的Interest。當(dāng)網(wǎng)絡(luò)中的路由節(jié)點(diǎn)接收到這個(gè)Interest之后,首先在CS中查找是否存在與當(dāng)前名字匹配的內(nèi)容,如果有,則直接將匹配的Data發(fā)送給Interest的請(qǐng)求者;如果沒有,則會(huì)在PIT中進(jìn)行再次查詢,如果在PIT中發(fā)現(xiàn)了匹配的項(xiàng),這時(shí)只需要在PIT表中對(duì)應(yīng)項(xiàng)的接口列表中加入該Interest進(jìn)入的接口即可。如果在CS和PIT中的查找都沒有得到匹配,則需要繼續(xù)在FIB中進(jìn)行查找,以確定從哪些接口將這個(gè)Interest轉(zhuǎn)發(fā)出去。當(dāng)某個(gè)節(jié)點(diǎn)擁有與這個(gè)Interest所攜帶名字一致的數(shù)據(jù)時(shí),它就發(fā)回Data。這個(gè)包會(huì)沿著剛才Interest經(jīng)過的路徑返回,并且沿途經(jīng)過的每個(gè)路由器都會(huì)將這個(gè)數(shù)據(jù)緩存在CS中,這種網(wǎng)絡(luò)內(nèi)部緩存機(jī)制使得后續(xù)的相同請(qǐng)求可以迅速地在最近的路由器上得到滿足,減少了相同數(shù)據(jù)在網(wǎng)絡(luò)內(nèi)的重復(fù)傳輸,能夠提高數(shù)據(jù)的利用率,最大化帶寬的使用[8]。
圖1 NDN轉(zhuǎn)發(fā)模型Fig.1 NDN forwarding damen
名字標(biāo)簽交換機(jī)制(name label switching,NLS)是為了解決NDN網(wǎng)絡(luò)中分組的高速轉(zhuǎn)發(fā)問題而提出的一種基于名字標(biāo)簽交換的轉(zhuǎn)發(fā)策略。該策略借鑒了IP網(wǎng)絡(luò)中的MPLS思想,以域的形式提供標(biāo)簽交換服務(wù),域內(nèi)有兩類節(jié)點(diǎn):邊緣節(jié)點(diǎn)和核心節(jié)點(diǎn)。數(shù)據(jù)的請(qǐng)求者和生產(chǎn)者分別位于網(wǎng)絡(luò)的兩側(cè)。2個(gè)NDN客戶通過基于名字的核心交換網(wǎng)絡(luò)連接在一起,該核心網(wǎng)稱為名字標(biāo)簽交換域(NLS domain),如圖2所示,包的轉(zhuǎn)發(fā)是基于標(biāo)簽交換而不是傳統(tǒng)的名字查找。當(dāng)Interest到達(dá)入口名字標(biāo)簽邊緣路由器(name label edge router,NLER)時(shí),NLER根據(jù)每個(gè)到達(dá)的Interest或Data的轉(zhuǎn)發(fā)等價(jià)類來實(shí)現(xiàn)加標(biāo)簽的操作,當(dāng)Interest需要被轉(zhuǎn)發(fā)出NLS域的時(shí)候,NLER負(fù)責(zé)對(duì)Interest的標(biāo)簽進(jìn)行擦除。位于NLS域內(nèi)部的網(wǎng)絡(luò)節(jié)點(diǎn)被稱之為名字標(biāo)簽交換路由器(name label switching router,NLSR)或核心節(jié)點(diǎn)。核心節(jié)點(diǎn)基于名字標(biāo)簽完成分組轉(zhuǎn)發(fā)。標(biāo)記后的分組在NLS域內(nèi)的轉(zhuǎn)發(fā)路徑形成一條虛擬的名字標(biāo)簽交換通道(name label switching path,NLSP),根據(jù)所承載分組的不同,NLSP分為2種:iLSP(interest label switching path)和dLSP(data label switching path)。前者承載興趣包,后者承載數(shù)據(jù)包。盡管二者術(shù)語上存在差異,但目前它們是完全鏡像的,而且是同時(shí)創(chuàng)建的。已被匹配的數(shù)據(jù)僅僅被緩存在邊緣節(jié)點(diǎn),而不是類似于傳統(tǒng)NDN那樣緩存在所有或一部分節(jié)點(diǎn)。因此,核心節(jié)點(diǎn)不再要求配備CS。
對(duì)比分析以上2種轉(zhuǎn)發(fā)機(jī)制可以發(fā)現(xiàn),二者都缺乏對(duì)業(yè)務(wù)特征的考慮,沒有對(duì)網(wǎng)絡(luò)中的業(yè)務(wù)加以區(qū)分,對(duì)所有業(yè)務(wù)采取相同的轉(zhuǎn)發(fā)處理操作,因此,無法為不同的業(yè)務(wù)提供具有差異性的服務(wù)。然而由于2種轉(zhuǎn)發(fā)模型工作機(jī)制的不同,使得它們?cè)趯?duì)業(yè)務(wù)的支持上顯示出了不同的傾向性,其中,傳統(tǒng)的NDN轉(zhuǎn)發(fā)機(jī)制由于采用了網(wǎng)絡(luò)內(nèi)緩存機(jī)制,將數(shù)據(jù)包緩存在路由節(jié)點(diǎn)中,使得用戶可以就近獲取內(nèi)容,提高了數(shù)據(jù)的傳輸速度和內(nèi)容的搜索效率,因而更適用于進(jìn)行內(nèi)容分發(fā)類業(yè)務(wù)的傳遞;而NLS轉(zhuǎn)發(fā)模型將變長(zhǎng)的名字轉(zhuǎn)換為定長(zhǎng)的標(biāo)簽在NLS域內(nèi)進(jìn)行轉(zhuǎn)發(fā),可以大大地減少數(shù)據(jù)分組在網(wǎng)絡(luò)內(nèi)的處理時(shí)間,實(shí)現(xiàn)了分組的快速轉(zhuǎn)發(fā),能夠較好地滿足端到端業(yè)務(wù)對(duì)于時(shí)延的要求,因此,該轉(zhuǎn)發(fā)模型更適合進(jìn)行端到端業(yè)務(wù)的轉(zhuǎn)發(fā)。
圖2 NLS域示意圖Fig.2 NLS domain diagram
為了能夠彌補(bǔ)NDN網(wǎng)絡(luò)對(duì)端到端業(yè)務(wù)支持性不足的問題,本文提出了一種具有雙模式的轉(zhuǎn)發(fā)模型,在保證能夠?yàn)閮?nèi)容分發(fā)類業(yè)務(wù)提供高效率傳輸?shù)耐瑫r(shí),也能夠?yàn)槎说蕉藰I(yè)務(wù)提供具有低時(shí)延的服務(wù)質(zhì)量保障。
傳統(tǒng)的NDN網(wǎng)絡(luò)缺乏對(duì)業(yè)務(wù)特征的考慮,對(duì)所有的業(yè)務(wù)都采用相同的轉(zhuǎn)發(fā)處理方式,導(dǎo)致無法為不同的業(yè)務(wù)類型提供具有差異化的服務(wù)。本文為了彌補(bǔ)傳統(tǒng)NDN網(wǎng)絡(luò)對(duì)多樣化業(yè)務(wù)支持的不足,首先將網(wǎng)絡(luò)內(nèi)的流量按照業(yè)務(wù)特征分成了兩類:①端到端業(yè)務(wù),例如語音通話、視頻會(huì)議、電子郵件等。該類業(yè)務(wù)具有較強(qiáng)的實(shí)時(shí)性,對(duì)時(shí)延敏感,且內(nèi)容后續(xù)共享程度低,私有性強(qiáng)[9];②內(nèi)容分發(fā)類業(yè)務(wù),例如實(shí)時(shí)流媒體業(yè)務(wù)、視頻點(diǎn)播業(yè)務(wù)、靜態(tài)圖片、文本信息等。該類業(yè)務(wù)具有較高程度的共享性,同時(shí)對(duì)時(shí)延沒有過高的要求。
為了保證路由節(jié)點(diǎn)能夠區(qū)別興趣包及數(shù)據(jù)包的業(yè)務(wù)類型,從而為其提供具有差異化的服務(wù),本文對(duì)興趣包及數(shù)據(jù)包進(jìn)行了擴(kuò)展,添加了ToS(type of service)字段,擴(kuò)展后的興趣包格式如圖3所示。ToS字段的長(zhǎng)度暫定為8 bit,并用第1個(gè)比特來標(biāo)識(shí)興趣包及數(shù)據(jù)包的業(yè)務(wù)類型:如果第1個(gè)比特設(shè)置為0,則該興趣包或數(shù)據(jù)包為端到端業(yè)務(wù);否則即為內(nèi)容分發(fā)類業(yè)務(wù)。其余7個(gè)比特可留用于日后的擴(kuò)展,如設(shè)置相應(yīng)的服務(wù)優(yōu)先級(jí)等。路由節(jié)點(diǎn)通過識(shí)別興趣包或數(shù)據(jù)包的ToS字段,就可以準(zhǔn)確地識(shí)別出其業(yè)務(wù)類型為內(nèi)容分發(fā)類業(yè)務(wù)或端到端業(yè)務(wù)。
圖3 擴(kuò)展后的興趣包結(jié)構(gòu)Fig.3 Expanded interest package structure
在第1節(jié)中詳細(xì)介紹了NDN和NLS 2種機(jī)制在轉(zhuǎn)發(fā)興趣包和數(shù)據(jù)包時(shí)的工作原理,以及2種不同類型的業(yè)務(wù)對(duì)于網(wǎng)絡(luò)的不同訴求。通過對(duì)比分析可以發(fā)現(xiàn),傳統(tǒng)的NDN轉(zhuǎn)發(fā)模式更適合進(jìn)行內(nèi)容分發(fā)類業(yè)務(wù)的轉(zhuǎn)發(fā),而標(biāo)簽交換的高速轉(zhuǎn)發(fā)性能則能夠?yàn)槎说蕉藰I(yè)務(wù)提供更好的支持。因此,將這2種轉(zhuǎn)發(fā)方式結(jié)合起來充分發(fā)揮自身的優(yōu)勢(shì),可以解決傳統(tǒng)NDN網(wǎng)絡(luò)對(duì)端到端業(yè)務(wù)支持性不足的問題。
本文結(jié)合傳統(tǒng)NDN轉(zhuǎn)發(fā)模式和標(biāo)簽交換轉(zhuǎn)發(fā)模式的特性,提出了一種具有雙模式的NDN網(wǎng)絡(luò)轉(zhuǎn)發(fā)模型—Dual-Mode轉(zhuǎn)發(fā)模型,該模型具有以下特點(diǎn)。
1)將業(yè)務(wù)類型劃分為端到端業(yè)務(wù)及內(nèi)容分發(fā)類業(yè)務(wù)2種類型,并能夠根據(jù)興趣包中的ToS字段進(jìn)行業(yè)務(wù)類型的識(shí)別;
2)提供標(biāo)簽交換和傳統(tǒng)的NDN轉(zhuǎn)發(fā)2種模式,并依據(jù)業(yè)務(wù)類型的不同進(jìn)行不同的選擇;
3)網(wǎng)絡(luò)節(jié)點(diǎn)只存儲(chǔ)內(nèi)容分發(fā)類業(yè)務(wù)的數(shù)據(jù),對(duì)于端到端業(yè)務(wù)所產(chǎn)生的數(shù)據(jù)則不再進(jìn)行緩存操作;
4)該模型以域的形式提供轉(zhuǎn)發(fā)服務(wù),域內(nèi)有2類節(jié)點(diǎn):邊緣節(jié)點(diǎn)(edge router,ER)和核心節(jié)點(diǎn)(core router,CR)。
該模型的網(wǎng)絡(luò)框架如圖4所示,ER在接收到客戶端所發(fā)送的Interest之后,首先對(duì)其業(yè)務(wù)類型進(jìn)行識(shí)別,如果該Interest為內(nèi)容分發(fā)類業(yè)務(wù),此時(shí)選擇逐跳轉(zhuǎn)發(fā)模式為其進(jìn)行轉(zhuǎn)發(fā),如圖4中的直線部分,當(dāng)該Interest在CR1中找到了與其名稱相匹配的Data,則直接將Data返回給請(qǐng)求者;如果Interest為端到端業(yè)務(wù),則選擇標(biāo)簽交換轉(zhuǎn)發(fā)模式為其進(jìn)行轉(zhuǎn)發(fā),如圖4中的曲線部分,通過標(biāo)簽交換在ER1與ER2之間建立一條標(biāo)簽交換鏈路,為端到端業(yè)務(wù)提供高速轉(zhuǎn)發(fā)服務(wù)。
圖4 雙模式轉(zhuǎn)發(fā)模型網(wǎng)絡(luò)框架圖Fig.4 Dual-mode forwarding model network
該模型以域的形式提供轉(zhuǎn)發(fā)服務(wù),域內(nèi)包括邊緣節(jié)點(diǎn)和核心節(jié)點(diǎn)2種類型。其中邊緣節(jié)點(diǎn)和核心節(jié)點(diǎn)的轉(zhuǎn)發(fā)過程分別如圖5和圖6所示。在該模型邊緣節(jié)點(diǎn)及核心節(jié)點(diǎn)的內(nèi)部組成結(jié)構(gòu)中,除了傳統(tǒng)NDN路由器所具備的CS,PIT及FIB外,還增加了標(biāo)簽信息表(label information base,LIB)這一數(shù)據(jù)結(jié)構(gòu)。當(dāng)選擇使用標(biāo)簽交換轉(zhuǎn)發(fā)模式時(shí),通過查找LIB進(jìn)行標(biāo)簽分發(fā)可以完成標(biāo)簽交換路徑的建立。LIB的格式如表1所示。
圖5 邊緣節(jié)點(diǎn)轉(zhuǎn)發(fā)過程Fig.5 Edge router forwarding process
在了解了該模型路由節(jié)點(diǎn)的主要構(gòu)成之后,再來詳細(xì)描述該模型的工作過程。當(dāng)有一個(gè)興趣包進(jìn)入到該模型的工作域后的處理過程如下。
步驟1首先查詢?cè)撆d趣包的ToS字段,對(duì)其進(jìn)行業(yè)務(wù)類型的識(shí)別。如果該興趣包為內(nèi)容共享類業(yè)務(wù)則執(zhí)行步驟2,如果為端到端業(yè)務(wù)則執(zhí)行步驟7;
圖6 核心節(jié)點(diǎn)轉(zhuǎn)發(fā)過程Fig.6 Core router forwarding process
步驟2查詢邊緣節(jié)點(diǎn)的CS,如果根據(jù)名字的最長(zhǎng)公共前綴匹配算法發(fā)現(xiàn)CS中由相應(yīng)的Data包,則從接收到該Interest包的接口返回這個(gè)Data包,然后直接丟棄這個(gè)已經(jīng)被滿足了的Interest包;
步驟3如果在CS中沒有找到相對(duì)應(yīng)的Data,將會(huì)按照最長(zhǎng)前綴匹配繼續(xù)在PIT中查找。如果在PIT中發(fā)現(xiàn)了匹配的項(xiàng),這就表明該路由節(jié)點(diǎn)此前已經(jīng)收到過相同的Interest包并且已經(jīng)轉(zhuǎn)發(fā)出去了,但還尚未獲得返回結(jié)果。這時(shí)只需要在PIT表中對(duì)應(yīng)項(xiàng)的接口列表中加入該Interest進(jìn)入的接口即可。然后直接丟棄這個(gè)Interest包。當(dāng)有相應(yīng)的Data包返回時(shí),按照PIT里記錄的接口列表分別給每一個(gè)節(jié)點(diǎn)恢復(fù)一個(gè)Data包,并將該Data包存儲(chǔ)到CS中以服務(wù)后續(xù)其他節(jié)點(diǎn)的需求;
步驟4如果在CS和PIT中的查找都沒有得到匹配,則需要繼續(xù)在FIB中進(jìn)行查找。如果發(fā)現(xiàn)FIB中有對(duì)應(yīng)項(xiàng),則說明該節(jié)點(diǎn)是第一次收到這樣的Interest包,同時(shí)這個(gè)節(jié)點(diǎn)清楚這樣的Interest包的轉(zhuǎn)發(fā)規(guī)則。這時(shí)就會(huì)將Interest從FIB中對(duì)應(yīng)的接口列表轉(zhuǎn)發(fā)出去,同時(shí)在PIT中增加一項(xiàng)新的條目以表明這樣的Interest包正在請(qǐng)求解決中;
表1 邊緣節(jié)點(diǎn)和核心節(jié)點(diǎn)中的LIB條目Tab.1 LIB entry for the edge node and the core node species
步驟5如果在CS,PIT,F(xiàn)IB中都沒有找到與之相對(duì)應(yīng)的Data,那么表明該節(jié)點(diǎn)無法處理這個(gè)Interest,此時(shí)節(jié)點(diǎn)將直接丟掉這個(gè)Interest;
步驟6至此,內(nèi)容共享類業(yè)務(wù)的轉(zhuǎn)發(fā)過程結(jié)束;
步驟7邊緣節(jié)點(diǎn)在收到Interest之后,首先會(huì)檢查其名字來確定該Interest所屬的轉(zhuǎn)發(fā)等價(jià)類。并選擇相應(yīng)的標(biāo)簽為該Interest打上標(biāo)記,從而形成標(biāo)簽分組;
步驟8工作域內(nèi)的節(jié)點(diǎn)將不再進(jìn)行名字的匹配查找,而是按照Interest所攜帶的標(biāo)簽查找LIB表,選擇入接口標(biāo)簽值所對(duì)應(yīng)的接口將Interest轉(zhuǎn)發(fā)出去,并用相應(yīng)的出接口標(biāo)簽值替換掉原有的入接口標(biāo)簽值;
步驟9當(dāng)帶有標(biāo)簽的Interest到達(dá)出口邊緣節(jié)點(diǎn)時(shí),該節(jié)點(diǎn)負(fù)責(zé)將標(biāo)簽擦除,顯示出Interest所帶有的Name并按照傳統(tǒng)的NDN轉(zhuǎn)發(fā)方式將該Interest轉(zhuǎn)發(fā)出去;
步驟10當(dāng)找到與Interest相匹配的Data之后,Data將按照步驟7—步驟9沿原路返回至入口邊緣節(jié)點(diǎn),并將完整的Data發(fā)送給相應(yīng)請(qǐng)求者;
步驟11至此,端到端類業(yè)務(wù)的轉(zhuǎn)發(fā)過程結(jié)束。
為了驗(yàn)證本文提出的雙模式轉(zhuǎn)發(fā)模型對(duì)端到端業(yè)務(wù)能夠提供良好的支持,本文在ndnSIM仿真平臺(tái)中對(duì)其轉(zhuǎn)發(fā)性能進(jìn)行了模擬實(shí)驗(yàn),并與傳統(tǒng)的NDN單一轉(zhuǎn)發(fā)機(jī)制進(jìn)行了性能比較。本文所考慮的性能評(píng)價(jià)指標(biāo)有數(shù)據(jù)響應(yīng)時(shí)間(response time,RT)、內(nèi)容緩存中的緩存條目以及端到端業(yè)務(wù)的吞吐量。其中,數(shù)據(jù)響應(yīng)時(shí)間定義為從消費(fèi)者發(fā)出Interest到收到所請(qǐng)求的Data之間的時(shí)間間隔。為了實(shí)現(xiàn)標(biāo)簽交換,我們首先對(duì)ndnSIM仿真平臺(tái)中的節(jié)點(diǎn)模塊進(jìn)行了相應(yīng)的擴(kuò)展,從而實(shí)現(xiàn)了標(biāo)簽交換的轉(zhuǎn)發(fā)策略。
本文進(jìn)行了模擬實(shí)驗(yàn),使用的網(wǎng)絡(luò)拓?fù)淙鐖D7所示。其中,S1和S2是數(shù)據(jù)的請(qǐng)求者,D1和D2是數(shù)據(jù)的生產(chǎn)者,ER代表邊緣節(jié)點(diǎn),而CR代表核心節(jié)點(diǎn),中間的省略號(hào)代表中間可以有多個(gè)核心節(jié)點(diǎn)。在本實(shí)驗(yàn)中,我們令S1發(fā)送帶有ToS=0的興趣包,代表其請(qǐng)求的是端到端業(yè)務(wù),此處假設(shè)為語音通話,通話的另一方為D1;同時(shí),令S2發(fā)送帶有ToS=1的興趣包,代表其請(qǐng)求的為內(nèi)容分發(fā)類業(yè)務(wù),其所請(qǐng)求的數(shù)據(jù)由D2產(chǎn)生。主要的仿真參數(shù)如下:鏈路帶寬均為10 Mbit/s,采用的路由協(xié)議與緩存策略分別為Flooding和LRU,興趣包和數(shù)據(jù)包的大小分別為20 Byte和1 KByte。S1和S2以300個(gè)/s興趣包的速率,并服從ConsumerZipfMandelbrot[10]請(qǐng)求模型向生產(chǎn)者請(qǐng)求數(shù)據(jù)。
圖7 仿真網(wǎng)絡(luò)拓?fù)鋱DFig.7 Topology of simulation networking
雙模式轉(zhuǎn)發(fā)模型(dual mode)和傳統(tǒng)的NDN轉(zhuǎn)發(fā)模型的響應(yīng)時(shí)間對(duì)比如圖8所示。從圖8可以看出,使用雙轉(zhuǎn)發(fā)模型可以比傳統(tǒng)的NDN轉(zhuǎn)發(fā)模型節(jié)省約37%的響應(yīng)時(shí)間。同時(shí),隨著中間核心節(jié)點(diǎn)的增加,無論是使用雙模式轉(zhuǎn)發(fā)模型還是使用傳統(tǒng)的NDN轉(zhuǎn)發(fā)模型,響應(yīng)時(shí)間都會(huì)隨著核心節(jié)點(diǎn)數(shù)目的增加而增加。這是顯而易見的,因?yàn)殡S著核心節(jié)點(diǎn)個(gè)數(shù)的增多,興趣包和數(shù)據(jù)包在網(wǎng)絡(luò)中傳輸?shù)臅r(shí)間就會(huì)適當(dāng)?shù)匮娱L(zhǎng),同時(shí)經(jīng)過的節(jié)點(diǎn)越多也會(huì)產(chǎn)生越長(zhǎng)的處理時(shí)間,導(dǎo)致響應(yīng)時(shí)間變長(zhǎng)。
對(duì)圖8進(jìn)行分析,發(fā)現(xiàn)當(dāng)核心節(jié)點(diǎn)數(shù)目增多的時(shí)候,2種不同轉(zhuǎn)發(fā)模型下的響應(yīng)時(shí)間差值也在逐漸變大。為了分析這一原因,對(duì)不同節(jié)點(diǎn)的轉(zhuǎn)發(fā)性能進(jìn)行了評(píng)估,將不同節(jié)點(diǎn)上興趣包的處理過程進(jìn)一步分解后再進(jìn)行對(duì)比。在興趣包中添加時(shí)間標(biāo)記,從而可以得到每個(gè)節(jié)點(diǎn)對(duì)興趣包的處理時(shí)間。分別記錄和計(jì)算上述仿真場(chǎng)景中進(jìn)行標(biāo)簽交換的邊緣路由器ER,核心路由器CR及傳統(tǒng)NDN轉(zhuǎn)發(fā)時(shí)各自的興趣包平均處理時(shí)間。
圖8 Dual-Mode和NDN響應(yīng)時(shí)間對(duì)比Fig.8 Response time comparison between dual-mode and NDN
仿真結(jié)果表明,進(jìn)行標(biāo)簽交換轉(zhuǎn)發(fā)時(shí),核心節(jié)點(diǎn)CR對(duì)興趣包的處理時(shí)間比進(jìn)行傳統(tǒng)NDN轉(zhuǎn)發(fā)時(shí)少約69%,如表2所示。這主要是因?yàn)檫M(jìn)行標(biāo)簽交換轉(zhuǎn)發(fā)時(shí),核心節(jié)點(diǎn)CR只進(jìn)行標(biāo)簽交換,沒有進(jìn)行耗時(shí)的名字查表操作。值得注意的是,進(jìn)行標(biāo)簽交換的邊緣節(jié)點(diǎn)ER由于要進(jìn)行名字的標(biāo)簽分配和擦除等操作,其對(duì)興趣包的處理時(shí)間約為核心節(jié)點(diǎn)CR的4倍,甚至比進(jìn)行傳統(tǒng)的NDN轉(zhuǎn)發(fā)時(shí)還多了約38%。但是由于只存在2個(gè)邊緣節(jié)點(diǎn),所以數(shù)據(jù)包的整體響應(yīng)時(shí)間相比傳統(tǒng)的NDN轉(zhuǎn)發(fā)仍然得到了大幅度的節(jié)省。
表2 不同節(jié)點(diǎn)的處理時(shí)間Tab.2 Processing time for different nodes
為了驗(yàn)證雙模式轉(zhuǎn)發(fā)模型能夠有效節(jié)省緩存空間,首先我們假定僅有一個(gè)核心節(jié)點(diǎn),圖9為核心節(jié)點(diǎn)CR的緩存中緩存數(shù)量隨話音發(fā)送速率增長(zhǎng)的變化曲線。由于本實(shí)驗(yàn)使用的是LRU緩存策略,在沒有達(dá)到緩存上限時(shí),CS會(huì)緩存所有經(jīng)過的數(shù)據(jù)包。因此,在使用傳統(tǒng)NDN轉(zhuǎn)發(fā)機(jī)制時(shí),隨著話音業(yè)務(wù)發(fā)送速率的增加,核心節(jié)點(diǎn)CR中的緩存數(shù)目也隨之增長(zhǎng)。但是在使用具有雙模式的轉(zhuǎn)發(fā)模型時(shí),由于該機(jī)制并不會(huì)對(duì)端到端業(yè)務(wù)進(jìn)行緩存,所以話音業(yè)務(wù)發(fā)送速率的增加并不會(huì)影響CS中的緩存數(shù)目,因此,可以證明本文所提出的雙模式轉(zhuǎn)發(fā)模型可以有效提升CS的緩存效率,節(jié)省緩存空間。
圖9 緩存數(shù)量變化圖Fig.9 Change of cache items
本文還對(duì)端到端業(yè)務(wù)的服務(wù)性能進(jìn)行了評(píng)估,圖10為端到端業(yè)務(wù)的吞吐量隨時(shí)間變化的曲線。從圖10中可以看出,雙模式轉(zhuǎn)發(fā)模型可以保證端到端業(yè)務(wù)具有較高的吞吐量。這是因?yàn)殡p模式轉(zhuǎn)發(fā)模型在進(jìn)行端到端業(yè)務(wù)的轉(zhuǎn)發(fā)時(shí),使用了標(biāo)簽交換轉(zhuǎn)發(fā)機(jī)制,能夠加速興趣包和數(shù)據(jù)包的傳輸,同時(shí)由于不再進(jìn)行CS和PIT的查找,保證了端到端業(yè)務(wù)的有效傳輸。
圖10 端到端業(yè)務(wù)的吞吐量變化Fig.10 Change of end-to-end service throughput
本文圍繞NDN如何為端到端業(yè)務(wù)提供良好的支持這一問題展開研究。首先詳細(xì)介紹了NDN轉(zhuǎn)發(fā)機(jī)制的工作原理,并分析了NDN架構(gòu)對(duì)端到端業(yè)務(wù)無法提供良好支持的原因。為了解決這一問題,本文提出了一種具有雙模式的轉(zhuǎn)發(fā)模型,將網(wǎng)絡(luò)中的端到端業(yè)務(wù)和內(nèi)容共享類業(yè)務(wù)分離開來,通過為端到端業(yè)務(wù)提供標(biāo)簽交換的轉(zhuǎn)發(fā)方式,來有效加速此類業(yè)務(wù)的響應(yīng)時(shí)間,為其提供更好的服務(wù)質(zhì)量保證。同時(shí),由于不再對(duì)端到端業(yè)務(wù)進(jìn)行緩存處理,有效地節(jié)省了內(nèi)容緩存的空間,提升了緩存效率,也能夠間接提升內(nèi)容共享類業(yè)務(wù)的緩存命中率。經(jīng)仿真分析,本文所提出的雙模式轉(zhuǎn)發(fā)模型能夠有效減少37%的響應(yīng)時(shí)間,并能夠顯著節(jié)省緩存空間。
本文工作還存在不足,未來將從以下2個(gè)方面進(jìn)行進(jìn)一步的研究:①本文對(duì)業(yè)務(wù)類型只是簡(jiǎn)單地劃分為兩類,真實(shí)網(wǎng)絡(luò)中的業(yè)務(wù)類型多種多樣,后續(xù)將考慮對(duì)業(yè)務(wù)類型進(jìn)行更細(xì)致的劃分,并研究如何為不同業(yè)務(wù)類型提供具有針對(duì)性的服務(wù);②在本文所提出的轉(zhuǎn)發(fā)模型中暫時(shí)只考慮了對(duì)端到端業(yè)務(wù)性能的提升,后續(xù)將會(huì)詳細(xì)考慮如何對(duì)模型進(jìn)行改進(jìn)使其亦能夠?yàn)閮?nèi)容共享類業(yè)務(wù)提供更高的服務(wù)質(zhì)量保證。
[1] 孫彥斌,張宇,張宏莉.信息中心網(wǎng)絡(luò)體系結(jié)構(gòu)研究綜述[J].電子學(xué)報(bào),2016,44(8):2009-2017.
SUN Yanbin, ZHANG Yu, ZHANG Hongli. Survey of Research on Information-Centric Networking Architecture[J].Acta Electornica Sinica,2016, 44(8):2009-2017.
[2] ZHANG L X, JACOBSON V, ZHANG B C, et al. Named Data Networking (NDN) Project[R]. NDN Technical Report NDN-0001.California: PARC, 2010.
[3] 胡騫,武穆清,郭嵩.以內(nèi)容為中心的未來通信網(wǎng)絡(luò)研究綜述[J].電信科學(xué),2012,28(9):74-80.
HU Qian, WU Muqing, GUO Song. A Review of Content Centered Future Communication Networks[J]. Telecommunication Science, 2012, 28(9):74-80.
[4] LI H, LI Y, LIN T, et al. MERTS: A more efficient real-time traffic support scheme for Content Centric Networking[C]//International Conference on Computer Sciences and Convergence Information Technology. Seogwipo:IEEE Press, 2011:528-533.
[5] JACOBSON V, SMETTERS D K, BRIGGS N H, et al. VoCCN: voice-over content-centric networks[C]//The Workshop on Re-Architecting the Internet.New York:ACM,2009:1-6.
[6] LUO J, WU C, JIANG Y, et al. Name Label Switching Paradigm for Named Data Networking[J].IEEE Communications Letters, 2015, 19(3):335-338.
[7] 雷凱,袁杰.命名數(shù)據(jù)網(wǎng)絡(luò)內(nèi)容分發(fā)機(jī)制研究與探討[J].電信科學(xué),2014,30(9):27-36.
LEI Kai, YUAN Jie. Research and Discussion on the Content Distribution Mechanism of Naming Data Network[J].Telecommunication Science,2012, 28(9):74-80.
[8] KIM Y, KIM Y, BI J, et al. Differentiated forwarding and caching in named-data networking[J]. Journal of Network & Computer Applications,2016, 60(C):155-169.
[9] RAVINDRAN R, WANG G, ZHANG X, et al. Supporting dual-mode forwarding in content-centric network[C]//IEEE International Conference on Advanced Networks and Telecommuncations Systems. Piscataway, NJ:IEEE Press,2012:55-60.
[10] MASTORAKIS S, AFANASYEV A, MOISEENKO L, et al. ndnSIM 2.0: a new version of the NDN simulator for NS-3[R].Los Angeles:Technical Report NDN-0028,2015.
(編輯:王敏琦)