劉福泉
摘 要: 命名規(guī)則是信息中心網(wǎng)絡(luò)的關(guān)鍵。研究界圍繞著命名規(guī)則開展了大量的研究,但至今沒有形成一種統(tǒng)一的命名規(guī)則,這勢必會影響信息中心網(wǎng)絡(luò)的進(jìn)一步發(fā)展和普及。為此,結(jié)合信息中心網(wǎng)絡(luò)的特性提出了一種命名規(guī)則,與已有命名規(guī)則相比,該命名規(guī)則具有通用性、惟一性、自我驗(yàn)證性、可聚合性和持久性,能夠滿足信息中心網(wǎng)絡(luò)的命名需求。
關(guān)鍵詞: 信息中心網(wǎng)絡(luò); 命名規(guī)則; 自我驗(yàn)證性; 可聚合性; 持久性
中圖分類號:G305 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2015)06-23-03
Abstract: The research of the Information-Centric Networking(ICN) is being carried out with hot, and the naming scheme is an important research topic of ICN. There are numerous studies around the research of the naming scheme, but so far no one can satisfy the requirements of the ICN. Therefore, a new naming scheme is proposed in this paper, compared to the existing naming scheme, it has the characteristics with universal, uniqueness, self-verification, aggregation and persistence, and it can satisfy all requirements of the naming scheme of ICN.
Key words: information-centric networking; naming scheme; self-verification; aggregation; persistence
0 引言
當(dāng)今的互聯(lián)網(wǎng)體系架構(gòu)是20世紀(jì)60~70年代設(shè)計(jì)的,當(dāng)時計(jì)算資源相對比較稀缺,為了提高計(jì)算資源的利用率,設(shè)計(jì)了一種以主機(jī)為中心的互聯(lián)網(wǎng)模式,基于這種模式設(shè)計(jì)了一系列協(xié)議,最典型的有TCP/IP協(xié)議簇?;赥CP/IP協(xié)議的Internet已經(jīng)取得了空前的成功,幾乎各行各業(yè)都受益于Internet,人們的生活方式也逐漸被Internet改變。但隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,新的應(yīng)用的不斷出現(xiàn),面對新的應(yīng)用背景,這種互聯(lián)網(wǎng)工作模式已顯得不能適應(yīng),逐漸暴露出了一系列的問題。
首先,Internet上的主要信息流量已經(jīng)發(fā)生了巨大的變化,根據(jù)Cisco在2012年對網(wǎng)絡(luò)流量的統(tǒng)計(jì),因特網(wǎng)上每個月大約產(chǎn)生26eB的網(wǎng)絡(luò)流量,其中不同形式的視頻內(nèi)容塊(VOD,IPTV等)占因特網(wǎng)總流量的57%以上[1]。網(wǎng)絡(luò)上信息內(nèi)容不再僅僅由大機(jī)構(gòu)產(chǎn)生,而是越來越多的由普通的終端用戶產(chǎn)生,Internet逐漸成了信息的發(fā)布/訂閱市場。但當(dāng)前以主機(jī)為中心的Internet工作模式不利于這種市場的發(fā)展,因?yàn)橐灾鳈C(jī)為中心的工作模式要求獲取任何信息之前都要先定位到某個確定的主機(jī)位置,這會影響發(fā)布/訂閱系統(tǒng)的效率。
其次,Internet設(shè)計(jì)之初沒有考慮安全問題,安全問題一直制約著很多重要的應(yīng)用。當(dāng)前Internet上所有的安全機(jī)制都是后來添加進(jìn)來的,不能從根本上解決網(wǎng)絡(luò)的安全問題。
第三,移動性的支持問題,當(dāng)前Internet的資源名稱采用URI格式[2],即“協(xié)議://域名/資源路徑”。因特網(wǎng)中的資源名稱與地理位置是緊耦合的,這不利于因特網(wǎng)對移動性的支持。
此外,以主機(jī)為中心的Internet還有一些制約Internet發(fā)展的因素,比如,IP地址空間不足,路由表的擴(kuò)展性問題,網(wǎng)絡(luò)可靠性問題等[3]。
為了解決當(dāng)今Internet所面臨的諸多問題,學(xué)術(shù)界提出了一系列的解決方案,這些解決方案可以分為兩類:改良和改革。改良的基本思路是在不改變當(dāng)今Internet基礎(chǔ)架構(gòu)和以主機(jī)為中心的工作模式的基礎(chǔ)上,往Internet中添加新的補(bǔ)丁,使其適應(yīng)在新的應(yīng)用背景下人們對Internet的需求。重要的改良技術(shù)有DNS、IPSec、CDN、P2P等,這些技術(shù)一定程度上緩解了Internet與人們應(yīng)用需求之間的矛盾,但同時也給Internet添加了新的問題,比如,這些技術(shù)都是采用覆蓋方式,增加了網(wǎng)絡(luò)的處理時延,降低了網(wǎng)絡(luò)效率,使得Internet沒有效率可言。另一種基本思路是改革,在改革派看來要想徹底解決當(dāng)今Internet所存在的問題,需要探索一種全新的網(wǎng)絡(luò)架構(gòu)。信息中心網(wǎng)絡(luò)(Information Centric Networking,ICN)就是在這種背景下產(chǎn)生的。當(dāng)今研究信息中心網(wǎng)絡(luò)的研究機(jī)構(gòu)和項(xiàng)目主要有分布在歐洲的PSIRP/PURSUIT、4WARD、SAIL和美國的CCN和DONA[4]。它們提出了各自的實(shí)現(xiàn)方案,這些實(shí)現(xiàn)方案核心思想是一致的,但實(shí)現(xiàn)技術(shù)上卻存在一些差異,其中最大的差異就是信息命名規(guī)則上的差異。這些命名規(guī)則具有各自的優(yōu)點(diǎn)和不足,至今還沒有統(tǒng)一,這勢必會影響信息中心網(wǎng)絡(luò)的發(fā)展和普及。為此,本文在分析信息中心網(wǎng)絡(luò)中的命名需求的基礎(chǔ)上,設(shè)計(jì)了一種通用的命名規(guī)則。
1 命名需求
信息中心網(wǎng)絡(luò)的概念源自2000年Cheriton等在TRIAD中提出的基于信息名稱進(jìn)行路由[5]。自此,大量的研究致力于信息中心網(wǎng)絡(luò)研究。信息的命名規(guī)則是信息中心網(wǎng)絡(luò)研究中的關(guān)鍵研究點(diǎn),研究界對其進(jìn)行了大量的研究,提出了一系列的命名規(guī)則,比如,CCN的分級式命名[6],DONA的扁平式命名[7],CBCB的屬性-值命名[8]。只有滿足信息中心網(wǎng)絡(luò)的命名需求的命名規(guī)則,才能稱之為理想的命名規(guī)則。研究表明,信息中心網(wǎng)絡(luò)的命名要求具有通用性、惟一性、自我驗(yàn)證性、可聚合性和持久性,下面對這些特性進(jìn)行分析。
首先,通用性,是指根據(jù)信息命名方案能夠?qū)θ魏晤愋偷男畔ο筮M(jìn)行命名,無論信息對象的內(nèi)容是否發(fā)生改變,都能用統(tǒng)一的命名規(guī)則來對信息對象進(jìn)行命名。
其次,惟一性,是指根據(jù)信息的名字能夠找到一個惟一的信息對象,這也是信息命名的一個最基本的要求。
第三,自我驗(yàn)證性,是指根據(jù)信息的名字可以對信息的真實(shí)性、完整性進(jìn)行驗(yàn)證。信息真實(shí)性驗(yàn)證是驗(yàn)證信息是否確實(shí)來自所聲稱的信息提供者。完整性驗(yàn)證是檢驗(yàn)信息塊的內(nèi)容是否完整、有沒有被惡意篡改。當(dāng)今的Internet在設(shè)計(jì)之初由于根本沒有考慮信息的安全問題[9],隨著網(wǎng)絡(luò)應(yīng)用的普及,網(wǎng)絡(luò)安全隱患層出不窮,雖然在Internet上添加了安全措施,但這些安全措施都是針對通信雙方的主機(jī)或信道進(jìn)行設(shè)計(jì)的,然而主機(jī)和信道的安全不能保證信息本身的安全,因此,無法從根本上解決信息的安全問題。要從根本上解決信息的安全問題,應(yīng)該從信息本身入手,而不是從主機(jī)或信道入手,所以,信息名字的自我驗(yàn)證性是信息中心網(wǎng)絡(luò)區(qū)別于當(dāng)前Internet的一個非常重要的特性。
第四,持久性,網(wǎng)絡(luò)中信息內(nèi)容可能會隨時更新,信息所存儲的位置可能會隨時發(fā)生變化,信息的所有者也有可能會發(fā)生變更,持久性是指信息的名字不會隨著這些變化而發(fā)生改變。目前Internet中的資源名稱與IP地址直接耦合,而IP地址具有雙層概念,一方面它是網(wǎng)絡(luò)中主機(jī)的惟一標(biāo)識符,另一方面,它又表明了主機(jī)的物理位置。如果服務(wù)器在不同的AS之間移動將會導(dǎo)致資服務(wù)器上的資源在網(wǎng)絡(luò)中出現(xiàn)鏈接錯誤,比如,404錯誤,如果信息名字具有持久性就可以避免發(fā)生這類錯誤。另外,為了實(shí)現(xiàn)信息名字的自我驗(yàn)證性,已有的一些做法是在信息名字中直接關(guān)聯(lián)信息提供者的公鑰信息和信息對象的內(nèi)容本身,然而,信息提供者可能發(fā)生變更,信息對象的內(nèi)容也有可能更新,如果不考慮信息名字的持久性,可能會導(dǎo)致信息在網(wǎng)絡(luò)中出現(xiàn)鏈接錯誤。因此,持久性是信息命名方案一個重要研究內(nèi)容。
第五,可聚合性,在信息中心網(wǎng)絡(luò)中,網(wǎng)絡(luò)是根據(jù)信息塊的名字進(jìn)行路由的,網(wǎng)絡(luò)中信息塊的數(shù)量是海量的,并且還在不斷增加,如果信息的名字不能進(jìn)行聚合,可能會造成路由表太大,影響網(wǎng)絡(luò)的性能??删酆闲砸竺志哂袑哟涡?,例如,在當(dāng)前Internet中,同一個自治域(Autormation System,AS)中的IP地址可以聚合到一個相同的網(wǎng)絡(luò)地址,同一臺服務(wù)器的URL可以聚合到同一個域名。然而,可聚合性與自我驗(yàn)證性是一對矛盾的概念,可聚合性要求名字是分級的,而自我驗(yàn)證性要求名字是扁平的,如何整合這對矛盾,是信息中心網(wǎng)絡(luò)的一個重要研究內(nèi)容。
2 命名規(guī)則設(shè)計(jì)
2.1 基本概念
下面介紹幾個與命名有關(guān)的概念。
信息對象 信息對象是網(wǎng)絡(luò)中的信息實(shí)體,它具有惟一的標(biāo)識符、內(nèi)容和與元數(shù)據(jù)。
元數(shù)據(jù) 元數(shù)據(jù)是指用于描述信息對象的一些最基本的數(shù)據(jù)。
信息名字 信息名字就是信息對象的標(biāo)識符,用于惟一標(biāo)識一個信息對象。
信息責(zé)任者 信息責(zé)任者是指直接管理信息對象的實(shí)體。每個信息責(zé)任者都擁有一對由第三方權(quán)威頒發(fā)的惟一的公鑰/秘鑰對。
授權(quán)信息 當(dāng)信息的責(zé)任者發(fā)生變更時,在保證信息名字不變的情況下,如若要對新的信息責(zé)任者進(jìn)行驗(yàn)證,可以使用授權(quán)信息驗(yàn)證新的信息責(zé)任者的真實(shí)性。
加密算法 用于指定加解密所使用的算法,以便信息消費(fèi)者對信息名字進(jìn)行驗(yàn)證。
信息公鑰/私鑰 是指用于信息命名的公鑰/私鑰,與信息責(zé)任者的公鑰/私鑰相同或相關(guān),由于信息責(zé)任者可能發(fā)生變化,信息責(zé)任者之間通過授權(quán),采用信任鏈技術(shù),確保信息名字的持久性。
信息消費(fèi)者 信息消費(fèi)者是指發(fā)送信息請求的實(shí)體。
關(guān)鍵詞 關(guān)鍵詞用于給出與信息相關(guān)的關(guān)鍵信息,便于為數(shù)據(jù)信息建立索引,比如,用戶可以通過搜索引擎檢索某個關(guān)鍵詞而找到相關(guān)信息的名字,從而達(dá)到查找信息的目的,這符合目前人們使用網(wǎng)絡(luò)的習(xí)慣。
在本文所述的命名規(guī)則中使用Name表示信息名字,用IO表示信息對象,用Metadata表示元數(shù)據(jù),用Principal表示信息責(zé)任者,用Consumer表示信息消費(fèi)者,用PK表示公鑰,用SK表示私鑰,PKIO表示信息公鑰,用SK IO表示信息私鑰。
2.2 命名格式
信息名字用于惟一標(biāo)識一個信息對象,包含兩個部分,一是信息公鑰的密碼哈希值,二是由信息責(zé)任者分配的字符串Str,要求在信息責(zé)任者內(nèi)部是局部惟一的。這兩部分之間用冒號隔開,具體表示方式如公式⑴。每個信息名字Name與元數(shù)據(jù)之間采用分布式哈希表DHT建立映射關(guān)系,信息對象一旦發(fā)生變化,信息元數(shù)據(jù)就會隨之發(fā)生變化,DHT列表中記錄項(xiàng)也會會隨之更新,更新的只是信息名字與最新元數(shù)據(jù)之間的映射,而并不改變信息名字,這樣保證了信息名字的持久性。
Name=Hash(PKIO):Str ⑴
在信息中心網(wǎng)絡(luò)中的任何實(shí)體都可以看成是一個信息對象,信息對象之間可能存在包含和被包含關(guān)系,例如:中國,浙江,杭州,是三個不同的信息名字,它們之間存在一種包含與被包含關(guān)系,如果要找到杭州可以先定位浙江,如果要找到浙江可以先定位中國。另外,網(wǎng)絡(luò)中信息對象是海量的,并且還在繼續(xù)增加,如果信息名字不能進(jìn)行聚合,將導(dǎo)致路由表無限膨脹。本文提出的命名規(guī)則采用了一種用于表示信息對象之間這種包含與被包含關(guān)系的機(jī)制。該機(jī)制的具體實(shí)現(xiàn)方法是,將信息名字之間用符號“.”進(jìn)行隔開,符號“.”右邊的信息對象包含在左邊信息對象之中。信息消費(fèi)者可以顯式的在請求數(shù)據(jù)包采用公式⑵所示的格式進(jìn)行資源定位和資源請求,其中,Scheme用來指定處理信息名字的程序,Name1,Name2,Name(n)表示不同的信息名字,信息名字之間具有包含與被包含的關(guān)系。路由器根據(jù)信息消費(fèi)者的請求信息中信息名字的格式將請求信息轉(zhuǎn)發(fā)到特定的端口而不是所有的端口。
Scheme://Name1.Name2.….Name(n) ⑵
每個信息對象包含了一組元數(shù)據(jù),這組元數(shù)據(jù)包含描述該信息對象的基本信息,如表1。根據(jù)密碼散列函數(shù)類型、公鑰/秘鑰的類型、信息公鑰、授權(quán)信息、加密算法實(shí)現(xiàn)信息的真實(shí)性驗(yàn)證功能,根據(jù)信息內(nèi)容的數(shù)字簽名實(shí)現(xiàn)信息的完整性驗(yàn)證功能,關(guān)鍵詞用于為信息對象建立索引,便于用戶通過搜索引擎進(jìn)行信息檢索。
3 論證
從信息命名所需要滿足的特性的角度進(jìn)行分析,本文所提出的信息命名規(guī)則滿足了信息命名所需要滿足的功能,下面分別從通用性、可聚合性、持久性、惟一性和自我驗(yàn)證性進(jìn)行分析說明。
首先,從通用性來看,該命名規(guī)則可以對任何信息對象采用統(tǒng)一的命名規(guī)則進(jìn)行命名。
第二,從可聚合性來看,信息名字之間應(yīng)用了顯式的層級關(guān)系,能夠根據(jù)信息名字的層級關(guān)系對路由表進(jìn)行聚合,另外,信息名字內(nèi)部也具有一定的聚合性,可以根據(jù)信息責(zé)任者公鑰哈希值進(jìn)行聚合,因此,可以看出本文提出的理想信息命名規(guī)則具有很好的聚合性。
第三,從名字持久性來看,本文提出的理想信息命名規(guī)則利用分布式哈希表建立信息名字與元數(shù)據(jù)之間的映射關(guān)系,保證了信息名字不會因?yàn)樾畔?nèi)容的更新、信息宿主的移動、信息責(zé)任者的變更而發(fā)生改變,實(shí)現(xiàn)了信息名字的持久性。
第四,從信息名字的自我驗(yàn)證性來看,信息消費(fèi)者接收到信息對象以后,可以根據(jù)信息名字和DHT表檢索到信息對象的元數(shù)據(jù),根據(jù)元數(shù)據(jù)中的相關(guān)信息即可對信息對象進(jìn)行信息可靠性和數(shù)據(jù)完整性驗(yàn)證。
第五,從信息名字的惟一性來看,信息名字由兩部分組成,即Hash(PKIO) 和Str,PKIO是信息公鑰,每個信息責(zé)任者具有全球惟一的公鑰/秘鑰對,Str是由信息責(zé)任者為信息對象指定的一個字符串,具有局部惟一性,因此,本文提出的理想命名規(guī)則可以實(shí)現(xiàn)信息名字的惟一性。
4 相關(guān)工作
DONA[7]提出了一種扁平式的信息中心網(wǎng)絡(luò)命名規(guī)則,并提出了Principal的概念,該命名規(guī)則采用P:L格式,P是Principal的公鑰的密碼散列(cryptographic hash)值,L值由Principal指定。每個在網(wǎng)絡(luò)上的Data數(shù)據(jù)包都附有一組元數(shù)據(jù),元數(shù)據(jù)包含了Principal的公鑰和Principal對Data數(shù)據(jù)包中內(nèi)容的數(shù)字簽名。DONA提出的命名規(guī)則具有惟一性和自我驗(yàn)證性。雖然本文提出的命名規(guī)則中也借鑒了P:L格式,但本文提出的命名規(guī)則與DONA提出的命名規(guī)則卻有很大的不同。首先,本文提出的命名規(guī)則采用了名字的層級結(jié)構(gòu),而DONA提出的命名規(guī)則中采用的是純粹的P:L格式。其次,本文提出的命名規(guī)則采用了DHT將信息名字與信息元數(shù)據(jù)進(jìn)行分布式關(guān)聯(lián),保證了信息名字不會隨著信息內(nèi)容或信息的Principal的變更而改變,支持了名字的持久性,而DONA提出的命名規(guī)則中元數(shù)據(jù)直接與數(shù)據(jù)一起傳輸。第三,本文提出的命名規(guī)則中元數(shù)據(jù)中的內(nèi)容與DONA也是不相同的。
CCN[6]采用了請求驅(qū)動路由的信息模型,即由信息消費(fèi)者發(fā)出的Interest數(shù)據(jù)包進(jìn)行路由驅(qū)動,滿足Interest請求的Data數(shù)據(jù)包沿著Interest數(shù)據(jù)包的路徑返回給信息消費(fèi)者。本文提出的信息模型與CCN采用的信息模型是一致的,但是,CCN提出的命名規(guī)則與本文提出的命名規(guī)則完全不同,CCN提出的命名規(guī)則采用的是純URI格式。
Ali Ghodsi[10]對扁平式命名格式和分級式命名格式在安全性、聚合性、靈活性方面進(jìn)行了分析和比較,認(rèn)為扁平式命名格式相對分級式命名格式而言就有了更多的優(yōu)勢。筆者認(rèn)為扁平式命名格式和分級式命名格式都有各自的優(yōu)點(diǎn),本文提出的命名格式中整合了兩者的優(yōu)點(diǎn),采用了混合式命名格式。
5 結(jié)束語
本文分析了理想的信息中心網(wǎng)絡(luò)中信息名字的命名規(guī)則應(yīng)該滿足的特性,提出了一種理想的信息中心網(wǎng)絡(luò)的命名方法,根據(jù)該方法定義了一種信息中心網(wǎng)絡(luò)的命名規(guī)則和命名格式,通過論證分析,本文提出的信息中心網(wǎng)絡(luò)命名規(guī)則具有通用性、聚合性、持久性、自我驗(yàn)證性和惟一性的特點(diǎn),設(shè)計(jì)和開發(fā)一個使用該命名規(guī)則進(jìn)行信息命名的系統(tǒng)原型是進(jìn)一步研究的重要內(nèi)容。
參考文獻(xiàn):
[1] Bari M. F., Chowdhury S. R., Ahmed R. A survey of naming and
routing in information-centric networks[J]. IEEE,2012.50(12):44-53
[2] Berners-Lee T. UNIVERSSAL resource identifiers in www. https:
//www.ietf.org/rfc/ rfc1630.txt, 1994
[3] 陳震,曹軍威.內(nèi)容中心網(wǎng)絡(luò)體系架構(gòu)[M].清華大學(xué)出版社, 2014.
[4] 夏春梅,徐明偉.信息中心網(wǎng)絡(luò)研究綜述[J].計(jì)算機(jī)科學(xué)與探索,
2013.7(6):481-493
[5] Cheriton D., Gritter M. TRIAD:a scalable deployable nat based
internet architecture. http://citeseerx.ist.psu.edu/viewdoc/download?
doi=10.1.1.33.4093&rep=rep1&type=pdf,2000.
[6] Mahadevan P., Uzun E. CCN-KRS: a key resolution service for
CCN.http://conferences2.sigcomm.org/acm-icn/2014/papers/p97.pdf,2014.
[7] Teemu K. A data-oriented (and beyond) network architecture.http:
//ccr.sigcomm.org/online/files/fp177-koponen1.pdf,2007.
[8] Carzaniga A., Rutherford M., Wolf A. A routing scheme for
content-based networking. IEEE Computer and Communications Societies,2004.3(2):18-28
[9] Pan J., Paul S., Jain R. A survey of the research on future internet
architectures. IEEE Communications Magazine,2011.49(7):26-36
[10] Ghodsi A. NAMING in content-oriented architectures. https://
www.cs.berkeley.edu/~alig/papers/content-oriented-naming.pdf,2011.