一種ndn與cdn互聯(lián)互通的系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于信息網(wǎng)絡(luò)技術(shù)領(lǐng)域,具體地說,本發(fā)明涉及一種NDN(命名數(shù)據(jù)聯(lián)網(wǎng))與⑶N (內(nèi)容分發(fā)網(wǎng))互聯(lián)互通的系統(tǒng)。
【背景技術(shù)】
[0002]目前,在互聯(lián)網(wǎng)環(huán)境下開展業(yè)務(wù),都不可避免地用到內(nèi)容分發(fā)網(wǎng)絡(luò),無論是傳統(tǒng)的網(wǎng)頁瀏覽,還是音頻共享、視頻點(diǎn)播,還是軟件分發(fā),內(nèi)容分發(fā)網(wǎng)絡(luò)已經(jīng)構(gòu)成目前IP網(wǎng)上使用率最高的重疊網(wǎng)之一,它是目前各種業(yè)務(wù)正常運(yùn)營不可或缺的設(shè)施。
[0003]但互聯(lián)網(wǎng)從上個(gè)世紀(jì)六十年代末誕生開始,經(jīng)歷了七十年代的逐步發(fā)展,八十年代的穩(wěn)步增長,到九十年代的蓬勃發(fā)展,直到二十世紀(jì)初的互聯(lián)網(wǎng)經(jīng)濟(jì)泡沫,人們體驗(yàn)到新技術(shù)在社會(huì)發(fā)展中的巨大影響力,但也體驗(yàn)到了這種技術(shù)帶來的限制。因此從上個(gè)世紀(jì)九十年代起,有識(shí)之士就開始思考并實(shí)踐IP體系結(jié)構(gòu)的替代物。在這個(gè)過程中,有兩種思路,一種是IP的演進(jìn)式發(fā)展思路,另一種是變革式發(fā)展思路。經(jīng)過二十多年的實(shí)踐和探索,目前普遍認(rèn)為演進(jìn)式發(fā)展思路不能解決IP這一天然具有缺陷的協(xié)議面臨的問題,因此都轉(zhuǎn)向變革式的發(fā)展思路。在變革式發(fā)展道路上走的較遠(yuǎn)的有美國、歐盟和日本,典型的計(jì)劃級(jí)項(xiàng)目是GEN1、FIRE和JNPlus,在計(jì)劃級(jí)項(xiàng)目下細(xì)粒度的項(xiàng)目如NDN、MobilityFirst,NEBULA、4WARD和NWGN等,側(cè)重點(diǎn)有所不同,其中NDN是側(cè)重于內(nèi)容的,是以內(nèi)容為中心聯(lián)網(wǎng)的典型代表,它從目前關(guān)注的內(nèi)容位置轉(zhuǎn)移到關(guān)注內(nèi)容本身,即未來互聯(lián)網(wǎng)應(yīng)該集中在內(nèi)容方面,內(nèi)容是未來互聯(lián)網(wǎng)所固有支持的。
[0004]我們認(rèn)為未來互聯(lián)網(wǎng)會(huì)存在多種體系結(jié)構(gòu),目前基于IP的互聯(lián)網(wǎng)應(yīng)該是其中一種體系結(jié)構(gòu);在未來互聯(lián)網(wǎng)中,同樣會(huì)面臨內(nèi)容問題,因此解決以內(nèi)容為中心的網(wǎng)絡(luò)(如NDN)與現(xiàn)有互聯(lián)網(wǎng)上內(nèi)容分發(fā)網(wǎng)間的互聯(lián)互通就是必須的,目前還沒有這樣的系統(tǒng)。但是,目前的⑶N網(wǎng)絡(luò)與NDN網(wǎng)絡(luò)是獨(dú)立的,沒有實(shí)現(xiàn)互聯(lián)互通。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于,為克服現(xiàn)有技術(shù)的NDN與⑶N互聯(lián)互通問題,順暢地在現(xiàn)有互聯(lián)網(wǎng)與未來互聯(lián)網(wǎng)之一之間搭建內(nèi)容橋梁,從而提供NDN與⑶N互聯(lián)互通的系統(tǒng)及方法,本發(fā)明提供了一種基于命名數(shù)據(jù)聯(lián)網(wǎng)的內(nèi)容分發(fā)系統(tǒng)及方法。
[0006]為實(shí)現(xiàn)上述目的,本發(fā)明提供一種基于命名數(shù)據(jù)聯(lián)網(wǎng)的內(nèi)容分發(fā)系統(tǒng),所述系統(tǒng)包含:命名數(shù)據(jù)聯(lián)網(wǎng)和內(nèi)容分發(fā)網(wǎng),所述系統(tǒng)還包含:位于命名數(shù)據(jù)聯(lián)網(wǎng)和內(nèi)容分發(fā)網(wǎng)之間的聯(lián)合處理網(wǎng)關(guān);
[0007]所述命名數(shù)據(jù)聯(lián)網(wǎng),用于向內(nèi)容分發(fā)網(wǎng)中的節(jié)點(diǎn)提供數(shù)據(jù)內(nèi)容,或者向內(nèi)容分發(fā)網(wǎng)發(fā)送內(nèi)容請(qǐng)求命令;其中,所述命名數(shù)據(jù)聯(lián)網(wǎng)為支持命名數(shù)據(jù)聯(lián)網(wǎng)協(xié)議的設(shè)備組成的網(wǎng)絡(luò);
[0008]所述內(nèi)容分發(fā)網(wǎng),用于向命名數(shù)據(jù)聯(lián)網(wǎng)網(wǎng)絡(luò)中的節(jié)點(diǎn)提供數(shù)據(jù)內(nèi)容,或者向命名數(shù)據(jù)聯(lián)網(wǎng)網(wǎng)絡(luò)發(fā)送內(nèi)容請(qǐng)求命令;其中,所述內(nèi)容分發(fā)網(wǎng)絡(luò)為架構(gòu)在IP網(wǎng)絡(luò)之上的內(nèi)容分發(fā)網(wǎng)絡(luò);
[0009]所述聯(lián)合處理網(wǎng)關(guān)進(jìn)一步包含:第一處理模塊和第二處理模塊;所述第一處理模塊,用于將內(nèi)容數(shù)據(jù)進(jìn)行轉(zhuǎn)換,并將轉(zhuǎn)換后的數(shù)據(jù)從命名數(shù)據(jù)聯(lián)網(wǎng)向內(nèi)容分發(fā)網(wǎng)傳遞;所述第二處理模塊,用于將內(nèi)容數(shù)據(jù)進(jìn)行轉(zhuǎn)換,并將轉(zhuǎn)換后的內(nèi)容數(shù)據(jù)從內(nèi)容分發(fā)網(wǎng)向命名數(shù)據(jù)聯(lián)網(wǎng)傳遞。
[0010]可選的,上述聯(lián)合處理網(wǎng)關(guān)為:一臺(tái)專用設(shè)備、服務(wù)器、PC或一個(gè)服務(wù)器機(jī)群。
[0011]進(jìn)一步可選的,上述第一處理模塊包含:
[0012]請(qǐng)求接收子模塊,用于在TCP或UDP的固定端口上接收內(nèi)容分發(fā)網(wǎng)的客戶端發(fā)送的數(shù)據(jù)請(qǐng)求命令,且所述數(shù)據(jù)請(qǐng)求命令中包含內(nèi)容名和偏移量信息;
[0013]興趣報(bào)文生成子模塊,用于依據(jù)數(shù)據(jù)標(biāo)識(shí)生成算法將內(nèi)容名和偏移量轉(zhuǎn)換為興趣報(bào)文中的數(shù)據(jù)標(biāo)識(shí),生成興趣報(bào)文,并發(fā)送至命名數(shù)據(jù)聯(lián)網(wǎng)中的鄰居節(jié)點(diǎn);
[0014]第一數(shù)據(jù)報(bào)文接收子模塊,用于接收命名數(shù)據(jù)聯(lián)網(wǎng)反向傳遞的數(shù)據(jù)報(bào)文;
[0015]第一數(shù)據(jù)緩存子模塊,用于判斷接收命名數(shù)據(jù)聯(lián)網(wǎng)反向傳遞的數(shù)據(jù)報(bào)文是否已經(jīng)存在,如果已經(jīng)存在則刪除數(shù)據(jù)報(bào)文,否則將數(shù)據(jù)報(bào)文進(jìn)行緩存;
[0016]第一數(shù)據(jù)發(fā)送子模塊,用于查找數(shù)據(jù)請(qǐng)求隊(duì)列,進(jìn)行數(shù)據(jù)請(qǐng)求匹配,并將緩存的數(shù)據(jù)報(bào)文發(fā)送到匹配的請(qǐng)求方,且丟棄沒有查找到匹配請(qǐng)求方的緩存數(shù)據(jù)報(bào)文。
[0017]上述第二處理模塊包含:
[0018]興趣報(bào)文接收子模塊,用于接收命名數(shù)據(jù)聯(lián)網(wǎng)發(fā)送的興趣報(bào)文;
[0019]判斷決策子模塊,用于判斷本地?cái)?shù)據(jù)緩存中是否有興趣報(bào)文接收子模塊接收的數(shù)據(jù)報(bào)文,如果有則啟動(dòng)第二數(shù)據(jù)發(fā)送子模塊;否則解析得到的數(shù)據(jù)內(nèi)容的名字,并構(gòu)造名字與興趣報(bào)文的映射表,將解析的內(nèi)容名字發(fā)送至內(nèi)容搜索子模塊;
[0020]內(nèi)容搜索子模塊,用于在內(nèi)容分發(fā)網(wǎng)網(wǎng)絡(luò)中搜索內(nèi)容名字對(duì)應(yīng)的數(shù)據(jù)內(nèi)容,進(jìn)而得到內(nèi)容對(duì)應(yīng)的URL,并將得到的URL傳遞至請(qǐng)求生成子模塊;
[0021 ] 請(qǐng)求生成子模塊,用于依據(jù)URL和URL采用的協(xié)議生成內(nèi)容請(qǐng)求,并向內(nèi)容分發(fā)網(wǎng)發(fā)出內(nèi)容請(qǐng)求命令;
[0022]第二數(shù)據(jù)接收子模塊,用于接收內(nèi)容分發(fā)網(wǎng)依據(jù)內(nèi)容請(qǐng)求命令返回的內(nèi)容名字對(duì)應(yīng)的數(shù)據(jù)報(bào)文,并將接收的數(shù)據(jù)報(bào)文發(fā)送至數(shù)據(jù)緩存子模塊和第二數(shù)據(jù)發(fā)送子模塊;
[0023]數(shù)據(jù)報(bào)文生成子模塊,用于生成命名數(shù)據(jù)聯(lián)網(wǎng)的數(shù)據(jù)報(bào)文,并將生成的數(shù)據(jù)報(bào)文發(fā)送至第二數(shù)據(jù)發(fā)送子模塊;
[0024]第二數(shù)據(jù)發(fā)送子模塊,用于依據(jù)映射表的表項(xiàng)將第二數(shù)據(jù)接收子模塊發(fā)來的數(shù)據(jù)報(bào)文沿興趣報(bào)文的反向路徑發(fā)送;
[0025]第二數(shù)據(jù)緩存子模塊,用于判斷第二數(shù)據(jù)接收子模塊發(fā)送的數(shù)據(jù)報(bào)文是否已經(jīng)存在,如果已經(jīng)存在則丟棄;否則進(jìn)行本地緩存。
[0026]此外,本發(fā)明還提供了一種基于命名數(shù)據(jù)聯(lián)網(wǎng)的內(nèi)容分發(fā)方法,所述方法包含:
[0027]步驟101,用于采用命名數(shù)據(jù)聯(lián)網(wǎng)網(wǎng)關(guān)生成興趣報(bào)文并向命名數(shù)據(jù)聯(lián)網(wǎng)網(wǎng)絡(luò)發(fā)送的步驟;
[0028]步驟102,用于采用內(nèi)容分發(fā)網(wǎng)網(wǎng)關(guān)接收興趣報(bào)文,并依據(jù)興趣報(bào)文生成數(shù)據(jù)請(qǐng)求報(bào)文,采用內(nèi)容分發(fā)網(wǎng)搜索內(nèi)容,并內(nèi)容數(shù)據(jù)報(bào)文發(fā)給命名數(shù)據(jù)聯(lián)網(wǎng)網(wǎng)絡(luò)的步驟。
[0029]可選的,上述步驟101)包含:
[0030]步驟101-1)在TCP或UDP的固定端口上接收內(nèi)容分發(fā)網(wǎng)客戶端的數(shù)據(jù)請(qǐng)求,所述數(shù)據(jù)請(qǐng)求中包括:內(nèi)容名和偏移信息;
[0031]步驟101-2)依據(jù)命名數(shù)據(jù)聯(lián)網(wǎng)中數(shù)據(jù)標(biāo)識(shí)的生成算法,將內(nèi)容名和偏移變換為興趣報(bào)文中的數(shù)據(jù)標(biāo)識(shí),生成興趣報(bào)文,并將興趣報(bào)文發(fā)送到命名數(shù)據(jù)聯(lián)網(wǎng)網(wǎng)絡(luò)中的鄰居節(jié)占.
[0032]步驟101-3)接收命名數(shù)據(jù)聯(lián)網(wǎng)中鄰居節(jié)點(diǎn)反方向傳遞到達(dá)的數(shù)據(jù)報(bào)文;
[0033]步驟101-4)查找數(shù)據(jù)請(qǐng)求隊(duì)列,進(jìn)行數(shù)據(jù)報(bào)文請(qǐng)求匹配,并將數(shù)據(jù)發(fā)送到匹配的請(qǐng)求方,如果沒有找到匹配的請(qǐng)求方,則丟棄反向傳遞的數(shù)據(jù)報(bào)文;
[0034]步驟101-5)判斷本地是否已有反方向傳遞的數(shù)據(jù)報(bào)文,如果有,則丟棄;否則在本地緩存反方向傳遞的數(shù)據(jù)報(bào)文。
[0035]上述步驟102)包含:
[0036]步驟102-1))接收命名數(shù)據(jù)聯(lián)網(wǎng)網(wǎng)絡(luò)中鄰居節(jié)點(diǎn)發(fā)送過來的興趣報(bào)文,判斷本地?cái)?shù)據(jù)緩存中是否有對(duì)應(yīng)的內(nèi)容,如果有,得到內(nèi)容數(shù)據(jù),并依據(jù)內(nèi)容數(shù)據(jù)生成NDN數(shù)據(jù)報(bào)文,將NDN數(shù)據(jù)報(bào)文沿興趣報(bào)文的反向路徑發(fā)送;否則,解析得到內(nèi)容的名字,并構(gòu)造名字與興趣報(bào)文的映射表;
[0037]步驟102-2)依據(jù)名字在內(nèi)容分發(fā)網(wǎng)網(wǎng)絡(luò)內(nèi)搜索對(duì)應(yīng)的數(shù)據(jù)內(nèi)容,得到內(nèi)容對(duì)應(yīng)的URL ;
[0038]步驟102-3)依據(jù)URL采用的協(xié)議生成內(nèi)容請(qǐng)求,并發(fā)出內(nèi)容請(qǐng)求命令,然后接收內(nèi)容名字對(duì)應(yīng)的數(shù)據(jù)內(nèi)容,并依據(jù)得到的數(shù)據(jù)內(nèi)容生成NDN數(shù)據(jù)報(bào)文,將NDN數(shù)據(jù)報(bào)文沿興趣報(bào)文的反向路徑發(fā)送。
[0039]當(dāng)步驟1023)接收內(nèi)容名對(duì)應(yīng)的數(shù)據(jù)后,還需判斷本地緩存是否已經(jīng)有對(duì)應(yīng)的數(shù)據(jù),如果有,就丟棄,如果沒有,則進(jìn)行本地存儲(chǔ)。
[0040]與現(xiàn)有技術(shù)相比,本發(fā)明的技術(shù)優(yōu)勢(shì)在于:本發(fā)明將實(shí)現(xiàn)⑶N網(wǎng)絡(luò)與NDN網(wǎng)絡(luò)的內(nèi)容級(jí)互聯(lián)互通,解決未來內(nèi)容的共享問題。在NDN網(wǎng)絡(luò)發(fā)展初期,通過本發(fā)明的系統(tǒng),向NDN網(wǎng)絡(luò)實(shí)現(xiàn)內(nèi)容注入,便于NDN網(wǎng)絡(luò)順利成長為未來有影響的網(wǎng)絡(luò)之一。同時(shí)也便于CDN網(wǎng)絡(luò)在未來網(wǎng)絡(luò)環(huán)境中繼續(xù)奠定技術(shù)基礎(chǔ)。
【附圖說明】
[0041]圖1本發(fā)明的系統(tǒng)結(jié)構(gòu)示意圖;
[0042]圖2NDN/CDN網(wǎng)關(guān)組成圖;
[0043]圖3內(nèi)容從NDN到⑶N的傳遞方法流程圖;
[0044]圖4內(nèi)容從⑶N到NDN的傳遞方法流程圖;
[0045]圖5NDN網(wǎng)絡(luò)獲取⑶N網(wǎng)絡(luò)內(nèi)容的應(yīng)用場(chǎng)景圖之一。
【具體實(shí)施方式】
[0046]下面結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳