一種內(nèi)容中心網(wǎng)絡(luò)的內(nèi)容查詢方法,及路由器和節(jié)點的制作方法
【專利摘要】本發(fā)明公開一種內(nèi)容中心網(wǎng)絡(luò)的內(nèi)容查詢方法。內(nèi)容中心網(wǎng)絡(luò)的查詢和轉(zhuǎn)發(fā)都基于內(nèi)容命名,本身存在命名空間無限和路由表項有限之間的矛盾。該發(fā)明針對內(nèi)容中心網(wǎng)絡(luò)路由表項多,查詢速度慢的問題,提出了一種層次化內(nèi)容命名方法。該命名方法采用兩層命名,層次由內(nèi)向外在內(nèi)容上具有包含關(guān)系。當(dāng)路由查詢命中內(nèi)層更完整的內(nèi)容時,通過對路由應(yīng)答分組的“內(nèi)層內(nèi)容有效標(biāo)志位”置位的方法,向路由請求節(jié)點捎帶數(shù)據(jù)緩存信息。通過這種捎帶方法,在節(jié)點連續(xù)請求同一個較大的數(shù)據(jù)塊時,可以減少路由請求次數(shù)。同時,處理路由應(yīng)答分組的節(jié)點收到“內(nèi)層內(nèi)容有效標(biāo)志位”置位信息之后,合并相關(guān)的路由表項,從而壓縮路由表空間。
【專利說明】一種內(nèi)容中心網(wǎng)絡(luò)的內(nèi)容查詢方法,及路由器和節(jié)點
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及本發(fā)明涉及網(wǎng)絡(luò)通信【技術(shù)領(lǐng)域】,特別涉及一種內(nèi)容中心網(wǎng)絡(luò)的內(nèi)容查 詢方法。
【背景技術(shù)】
[0002] 信息中心網(wǎng)絡(luò)(ICN)、以及其延伸的網(wǎng)絡(luò)架構(gòu)技術(shù)還包括內(nèi)容中心網(wǎng)絡(luò)(CCN)、命 名數(shù)據(jù)網(wǎng)絡(luò)(NDN),不失一般性,下面我們以內(nèi)容中心網(wǎng)絡(luò),即CCN,表示這種以內(nèi)容或者信 息為中心的網(wǎng)絡(luò)結(jié)構(gòu)。CCN以內(nèi)容為中心,不關(guān)注內(nèi)容的提供者,只關(guān)注內(nèi)容本身,通過對內(nèi) 容的命名和基于內(nèi)容命名的路由,更好的滿足信息內(nèi)容消費的需求。
[0003] 2006年加州大學(xué)伯克利分校和網(wǎng)絡(luò)計算機科學(xué)研宄院提出了一種面向數(shù)據(jù)的網(wǎng) 絡(luò)體系結(jié)構(gòu) DONA (data-oriented (and beyond) network architecture)。DONA 提出一種 持久的、可自驗證的數(shù)據(jù)命名方式,以替代IP網(wǎng)絡(luò)中的域名(DNS)系統(tǒng)。DONA使用二元組 <P:L>命名數(shù)據(jù),命名不具有結(jié)構(gòu)性,并形成一個扁平的命名空間。DONA最大的問題是可擴 展性問題。由于采用扁平化名字,聚合難度大,同時數(shù)據(jù)量又遠(yuǎn)遠(yuǎn)高于IP地址,路由表膨脹 問題嚴(yán)重,尤其是頂層路由器可擴展問題更加嚴(yán)重。
[0004] 2009年P(guān)ark研宄中心的Jacobson提出了以內(nèi)容為中心的網(wǎng)絡(luò) CCN(content-centric networking),CCN采用的層次化的類URL命名。信息名字對比于IP 地址而言,更具扁平性,其聚合(指對互聯(lián)網(wǎng)各種信息的集合)難度高于IP地址,CCN可擴 展性問題高于IP網(wǎng)絡(luò)。
[0005] 因此,如何提出一種內(nèi)容中心網(wǎng)絡(luò)的內(nèi)容查詢方法,針對內(nèi)容中心網(wǎng)絡(luò)路由查詢 基于內(nèi)容命名,本身存在命名空間無限和路由表項有限之間的矛盾,通過利用命名本身的 優(yōu)勢,加快路由查詢、壓縮路由表項,是一個亟待解決的問題。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明實施例提供一種內(nèi)容中心網(wǎng)絡(luò)的內(nèi)容查詢方法,以解決內(nèi)容中心網(wǎng)絡(luò)中因 為路由查詢基于內(nèi)容命名而產(chǎn)生的命名空間無限和路由表項有限之間的矛盾;
[0007] 為此,本發(fā)明第一方面提供了一種內(nèi)容中心網(wǎng)絡(luò)的內(nèi)容查詢方法,其包括下列步 驟:
[0008] 節(jié)點收到路由請求分組,該請求包括<P:L1, L2>,L1表示整個文件內(nèi)容所有分段 及每個分段的所有小數(shù)據(jù)片段的哈希值;L2表示文件內(nèi)容某一個文件的一整個分段的哈 希值;P為自驗位;
[0009] 查詢本地緩存,查找是否有匹配<P:L1,L2>或<P:L1,*>的數(shù)據(jù)內(nèi)容;
[0010] 在查找到本地緩存的情況下,生成路由應(yīng)答分組并在路由應(yīng)答分組捎帶數(shù)據(jù)緩存 信息;
[0011] 在完成后續(xù)路由應(yīng)答分組的處理流程后發(fā)送節(jié)點應(yīng)答分組;
[0012] 數(shù)據(jù)緩存信息是L1標(biāo)志位置位。
[0013] 優(yōu)選地,節(jié)點沒有滿足路由請求分組的內(nèi)容,根據(jù)路由策略,轉(zhuǎn)發(fā)路由請求分組。
[0014] 優(yōu)選地,所述查詢本地緩存,查找是否有匹配<P:L1,L2>或<P:L1,*>的數(shù)據(jù)內(nèi)容 的步驟包括先查詢有匹配<P:L1,*>的數(shù)據(jù)內(nèi)容再查詢匹配<P:L1,L2>的數(shù)據(jù)內(nèi)容。
[0015] 優(yōu)選地,路由請求包括L3,表示文件內(nèi)容的某一個小數(shù)據(jù)片段的哈希值。
[0016] 本發(fā)明第二方面提更了一種路由器,該路由器包括:
[0017] 接收單元,用于從路由接收請求分組,該請求包括<P:L1,L2>,L1表示整個文件內(nèi) 容所有分段及每個分段的所有小數(shù)據(jù)片段的哈希值;L2表示文件內(nèi)容某一個文件的一整 個分段的哈希值;P為自驗位;
[0018] 查詢單元,用于查詢本地緩存,查找是否有匹配<P:L1, L2>或<P:L1, *>的數(shù)據(jù)內(nèi) 容;
[0019] 生成單元,用于在查找到本地緩存的情況下,生成路由應(yīng)答分組并在路由應(yīng)答分 組捎帶數(shù)據(jù)緩存信息;
[0020] 發(fā)送單元,用于在完成后續(xù)路由應(yīng)答分組的處理流程后發(fā)送節(jié)點應(yīng)答分組。
[0021 ] 本發(fā)明第三方面提供了一種內(nèi)容中心網(wǎng)絡(luò)的內(nèi)容查詢方法,該方法還包括如下步 驟:
[0022] 發(fā)送路由請求分組,該請求包括<P:L1,L2>,L1表示整個文件內(nèi)容所有分段及每 個分段的所有小數(shù)據(jù)片段的哈希值;L2表示文件內(nèi)容某一個文件的一整個分段的哈希值;
[0023] 節(jié)點收到路由應(yīng)答分組,響應(yīng)命名為<P:L1,L2>的內(nèi)容,并在本機路由表中新增 新表項;
[0024] 查看路由應(yīng)答分組是否攜帶與L1或L2相應(yīng)的數(shù)據(jù)緩存信息;
[0025] 在路由應(yīng)答分組攜帶與L1或L2相應(yīng)的數(shù)據(jù)緩存信息的情況下,節(jié)點將所有匹配 數(shù)據(jù)緩存信息的路由表項合并;
[0026] 節(jié)點根據(jù)路由策略,繼續(xù)路由應(yīng)答分組的處理流程;
[0027] 與L1或L2相應(yīng)的數(shù)據(jù)緩存信息是L1或L2標(biāo)志位置位。
[0028] 本發(fā)明第四方面提供一種節(jié)點,該節(jié)點包括:
[0029] 發(fā)送單元,用于發(fā)送路由請求分組,該請求包括<P:L1,L2>,L1表示整個文件內(nèi)容 所有分段及每個分段的所有小數(shù)據(jù)片段的哈希值;L2表示文件內(nèi)容某一個文件的一整個 分段的哈希值;P為自驗位;
[0030] 接收單元,用于收到路由應(yīng)答分組,響應(yīng)命名為<P:L1,L2>的內(nèi)容,并在本地路由 表中新增新表項;
[0031] 查詢單元,用于查看路由應(yīng)答分組是否攜帶與L1或L2相應(yīng)的數(shù)據(jù)緩存信息;
[0032] 合并單元,用于在路由應(yīng)答分組攜帶與L1或L2相應(yīng)的數(shù)據(jù)緩存信息的情況下,節(jié) 點將所有匹配數(shù)據(jù)緩存信息的路由表項合并。
[0033] 本發(fā)明實施例通過捎帶緩存信息,減少了路由查詢次數(shù),有效的降低了路由開銷; 通過合并內(nèi)容相關(guān)的路由表項,壓縮路由表空間。
【專利附圖】
【附圖說明】
[0034] 圖1為內(nèi)容中心網(wǎng)絡(luò)的場景圖;
[0035] 圖2為本發(fā)明實施例協(xié)助路由發(fā)現(xiàn)的路由請求消息處理流程圖;
[0036] 圖3為本發(fā)明實施例協(xié)助路由表合并的路由應(yīng)答消息處理流程;
[0037] 圖4為本
【發(fā)明內(nèi)容】
分層的思路。
【具體實施方式】
[0038] 下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細(xì)描述。
[0039] 圖1為內(nèi)容中心網(wǎng)絡(luò)的場景圖,如圖1所示,內(nèi)容中心網(wǎng)絡(luò)包括節(jié)點1,路由1、路 由2和路由3 ;其中,節(jié)點1與路由1相連,路由1與路由2相連。不同的路由器中存儲相同 或者不同的數(shù)據(jù)或內(nèi)容。文件內(nèi)容依次被分層,層次由內(nèi)向外在內(nèi)容上具有包含關(guān)系。在 一個例子中,分為三層,a表示為整個文件內(nèi)容上所有分段及每個分段的所有小數(shù)據(jù)片段的 哈希值;b、c為文件內(nèi)容中某一個文件的一整個分段的哈希值;k為文件內(nèi)容的某一個小數(shù) 據(jù)片段的哈希值。
[0040] 在圖1中,不同路由器被示意有同一完整內(nèi)容文件的不同數(shù)據(jù)片斷。路由1中有 該完整內(nèi)容文件的某一個小數(shù)據(jù)片段,例如:該數(shù)據(jù)片段命名為<P,a, b,k> ;路由1中有該 完整內(nèi)容文件某一個文件的一整個分段,例如:命名為<P,a,b,*>、<P,a,c,*>等等;路由 2中有該完整內(nèi)容文件的完成內(nèi)容,例如命名為<P,a,*,*>,其中a為文件的完成內(nèi)容,b、c 為文件的的某一分段,k為某一分段的某一小數(shù)據(jù)片段;
[0041] 本發(fā)明實施例中,當(dāng)接收到來自節(jié)點1的內(nèi)容查詢時,路由器按照內(nèi)容,憑名稱和 相關(guān)描述進行查詢。當(dāng)路由1接收到來自節(jié)點1查詢內(nèi)層更完整的內(nèi)容時,通過例如對路由 應(yīng)答分組的"內(nèi)層內(nèi)容有效標(biāo)志位"置位的方法,向路由請求節(jié)點捎帶數(shù)據(jù)緩存信息。通過 這種捎帶方法,在節(jié)點連續(xù)請求同一個較大的數(shù)據(jù)塊時,可以減少路由請求次數(shù)。同時,處 理路由應(yīng)答分組的節(jié)點收到"內(nèi)層內(nèi)容有效標(biāo)志位"置位信息之后,合并相關(guān)的路由表項, 從而壓縮路由表空間。
[0042] 圖2為本發(fā)明實施例協(xié)助路由發(fā)現(xiàn)的路由請求消息處理流程圖;如圖2所示:
[0043] 在步驟201中,節(jié)點收到路由請求分組,查詢命名為<P:L1,L2,L3>的內(nèi)容;其中, L1指的是整個內(nèi)容文件的哈希值;L2表示該內(nèi)容文件一個分段的哈希值;L3表示該內(nèi)容文 件某個分段的一個數(shù)據(jù)片段的哈希值;P為自驗位,用于驗證整個內(nèi)容文件的版權(quán)擁有者, 內(nèi)容的授權(quán)發(fā)布者,內(nèi)容的可見范圍。
[0044] 在步驟202中,節(jié)點查詢本地緩存,查找是否有匹配<P: L1,*,*>的完整數(shù)據(jù)內(nèi)容, 如果有,轉(zhuǎn)步驟203,否則,轉(zhuǎn)步驟204 ;
[0045] 在步驟203中,節(jié)點生成路由應(yīng)答分組,將路由應(yīng)答分組的L1標(biāo)志位置位,轉(zhuǎn)步驟 208 ;
[0046] 在步驟204中,節(jié)點查詢本地緩存,查找是否有匹配<P:L1,L2,*>的完整數(shù)據(jù)內(nèi) 容,如果有,轉(zhuǎn)步驟205,否則,轉(zhuǎn)步驟206 ;
[0047] 在步驟205中,節(jié)點生成路由應(yīng)答分組,將路由應(yīng)答分組的L2標(biāo)志位置位,轉(zhuǎn)步驟 208 ;
[0048] 在步驟206中,節(jié)點查詢本地緩存,查找是否有匹配<P:L1,L2, L3>的完整數(shù)據(jù)內(nèi) 容,如果有,轉(zhuǎn)步驟207,否則,轉(zhuǎn)步驟209 ;
[0049] 在步驟207中,節(jié)點生成路由應(yīng)答分組,轉(zhuǎn)步驟208 ;
[0050] 在步驟208中,節(jié)點有滿足路由請求分組的內(nèi)容,開始后續(xù)路由應(yīng)答分組的處理 流程;
[0051] 在步驟209中,節(jié)點沒有滿足路由請求分組的內(nèi)容,根據(jù)路由策略,繼續(xù)路由請求 分組的處理流程。
[0052] 需要說明的是本實施例中將內(nèi)容層次化分為Ll、L2、L3, L1表示整個文件內(nèi)容所 有分段及每個分段的所有小數(shù)據(jù)片段的哈希值;L2表示文件內(nèi)容某一個文件的一整個分 段的哈希值;L3表示整個文件內(nèi)容某個分段的一個數(shù)據(jù)片段的hash值;這里的分層只是一 個例子,還可分為i層,L1,…Li (i = 2、3…)。
[0053] 圖3為本發(fā)明實施例協(xié)助路由表合并的路由應(yīng)答消息處理流程;如圖3所示:
[0054] 在步驟301中,節(jié)點收到路由應(yīng)答分組,響應(yīng)命名為<P:L1,L2, L3>的內(nèi)容;
[0055] 在步驟302中,查看路由應(yīng)答分組的L1標(biāo)志位是否置位,如果置位,轉(zhuǎn)303 ;否則, 轉(zhuǎn) 304 ;
[0056] 在步驟303中,節(jié)點將所有匹配<P:L1,*,*>的路由表項合并,轉(zhuǎn)步驟306 ;
[0057] 在步驟304中,查看路由應(yīng)答分組的L2標(biāo)志位是否置位,如果置位,轉(zhuǎn)305 ;否則, 轉(zhuǎn) 306 ;
[0058] 在步驟305中,節(jié)點將所有匹配<P:L1,L2, *>的路由表項合并,轉(zhuǎn)步驟306 ;
[0059] 在步驟306中,節(jié)點根據(jù)路由策略,繼續(xù)路由應(yīng)答分組的處理流程。
[0060] 需要說明的是本實施例中將內(nèi)容層次化分為Ll、L2、L3, L1表示整個文件內(nèi)容所 有分段及每個分段的所有小數(shù)據(jù)片段的哈希值;L2表示文件內(nèi)容某一個文件的一整個分 段的哈希值;L3表示整個文件內(nèi)容某個分段的一個數(shù)據(jù)片段的hash值;這里的分層只是一 個例子,還可分為i層,Li (i = 1、2、3…)。
[0061] 圖4為本
【發(fā)明內(nèi)容】
分層的思路;如圖4所示,以視頻文件為例,L1表示整個視頻文 件,L2表示該視頻文件一個分段,L3表示該視頻文件某個分段的一個數(shù)據(jù)片段;
[0062] P用于內(nèi)容自驗證,驗證的范圍包括:內(nèi)容的版權(quán)擁有者,內(nèi)容的授權(quán)發(fā)布者,內(nèi) 容的可見范圍。以視頻文件為例,P驗證的范圍包括視頻文件的制作者(如中影集團),視 頻文件的授權(quán)發(fā)布者(如騰訊視頻),視頻文件的可見范圍(如VIP用戶可見,會員用戶可 見,所有用戶可見等)。
[0063] 結(jié)合圖1、圖2、圖3、具體介紹實施例的節(jié)點與路由之間的查詢及合并路由表項的 過程:
[0064] 1)節(jié)點1查詢名字為(Pl,a,b,k)的內(nèi)容;
[0065] 2)節(jié)點1收到路由器1的應(yīng)答分組,在本機路由表中增加新表項:
[0066]
[0067] 表 1
[0068] 3)節(jié)點1查詢名字為(Pl,a,b,h)的內(nèi)容;
[0069] 4)節(jié)點1收到路由器2的應(yīng)答分組,在本地路由表中增加新表項:
[0070]
【權(quán)利要求】
1. 一種內(nèi)容中心網(wǎng)絡(luò)的內(nèi)容查詢方法,其特征在于,該方法包括如下步驟: 路由器收到路由請求分組,該請求包括<P:L1,L2>,L1表示整個文件內(nèi)容所有分段及 每個分段的所有小數(shù)據(jù)片段的哈希值;L2表示文件內(nèi)容某一個文件的一整個分段的哈希 值;P為自驗位; 查詢本地緩存,查找是否有匹配<P:L1,L2>或<P:L1,*>的數(shù)據(jù)內(nèi)容; 在查找到本地緩存的情況下,生成路由應(yīng)答分組并在路由應(yīng)答分組捎帶數(shù)據(jù)緩存信 息; 在完成后續(xù)路由應(yīng)答分組的處理流程后發(fā)送節(jié)點應(yīng)答分組。
2. 根據(jù)權(quán)利要求1所述的內(nèi)容分層方法,其特征在于,節(jié)點沒有滿足路由請求分組的 內(nèi)容,根據(jù)路由策略,轉(zhuǎn)發(fā)路由請求分組。
3. 根據(jù)權(quán)利要求1所述的內(nèi)容分層方法,其特征在于,所述查詢本地緩存,查找是否有 匹配<P: Ll,L2>或<P: L1,的數(shù)據(jù)內(nèi)容的步驟包括先查詢有匹配<P: L1,的數(shù)據(jù)內(nèi)容再 查詢匹配<P:L1,L2>的數(shù)據(jù)內(nèi)容。
4. 根據(jù)權(quán)利要求1所述的內(nèi)容分層方法,其特征在于,路由請求包括L3,表示文件內(nèi)容 的某一個小數(shù)據(jù)片段的哈希值。
5. 根據(jù)權(quán)利要求1所述的內(nèi)容分層方法,其特征在于,數(shù)據(jù)緩存信息是L1標(biāo)志位置位。
6. -種路由器,其特征在于,該路由器包括: 接收單元,用于從路由接收請求分組,該請求包括<P:L1, L2>,L1表示整個文件內(nèi)容所 有分段及每個分段的所有小數(shù)據(jù)片段的哈希值;L2表示文件內(nèi)容某一個文件的一整個分 段的哈希值;P為自驗位; 查詢單元,用于查詢本地緩存,查找是否有匹配<P:L1,L2>或<P:L1,*>的數(shù)據(jù)內(nèi)容; 生成單元,用于在查找到本地緩存的情況下,生成路由應(yīng)答分組并在路由應(yīng)答分組捎 帶數(shù)據(jù)緩存信息; 發(fā)送單元,用于在完成后續(xù)路由應(yīng)答分組的處理流程后發(fā)送節(jié)點應(yīng)答分組。
7. -種內(nèi)容中心網(wǎng)絡(luò)的內(nèi)容查詢方法,其特征在于,該方法還包括如下步驟: 節(jié)點發(fā)送路由請求分組,該請求包括<P:L1, L2>,L1表示整個文件內(nèi)容所有分段及每 個分段的所有小數(shù)據(jù)片段的哈希值;L2表示文件內(nèi)容某一個文件的一整個分段的哈希值; P為自驗位; 收到路由應(yīng)答分組,響應(yīng)命名為<P:L1,L2>的內(nèi)容,并在本地路由表中新增新表項; 查看路由應(yīng)答分組是否攜帶與L1或L2相應(yīng)的數(shù)據(jù)緩存信息; 在路由應(yīng)答分組攜帶與L1或L2相應(yīng)的數(shù)據(jù)緩存信息的情況下,節(jié)點將所有匹配數(shù)據(jù) 緩存信息的路由表項合并; 節(jié)點根據(jù)路由策略,繼續(xù)路由應(yīng)答分組的處理流程。
8. -種節(jié)點,其特征在于,該節(jié)點包括: 發(fā)送單元,用于發(fā)送路由請求分組,該請求包括<P:L1, L2>,L1表示整個文件內(nèi)容所有 分段及每個分段的所有小數(shù)據(jù)片段的哈希值;L2表示文件內(nèi)容某一個文件的一整個分段 的哈希值;P為自驗位; 接收單元,用于收到路由應(yīng)答分組,響應(yīng)命名為<P:L1,L2>的內(nèi)容,并在本地路由表中 新增新表項; 查詢單元,用于查看路由應(yīng)答分組是否攜帶與L1或L2相應(yīng)的數(shù)據(jù)緩存信息; 合并單元,用于在路由應(yīng)答分組攜帶與L1或L2相應(yīng)的數(shù)據(jù)緩存信息的情況下,節(jié)點將 所有匹配數(shù)據(jù)緩存信息的路由表項合并。
【文檔編號】H04L29/08GK104506431SQ201410820163
【公開日】2015年4月8日 申請日期:2014年12月25日 優(yōu)先權(quán)日:2014年12月25日
【發(fā)明者】尤佳莉, 齊衛(wèi)寧, 卓煜, 喬楠楠 申請人:中國科學(xué)院聲學(xué)研究所