劉福泉
摘 要: 命名規(guī)則是信息中心網(wǎng)絡(luò)的關(guān)鍵。研究界圍繞著命名規(guī)則開展了大量的研究,但至今沒有形成一種統(tǒng)一的命名規(guī)則,這勢(shì)必會(huì)影響信息中心網(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)證性; 可聚合性; 持久性
中圖分類號(hào):G305 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):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)時(shí)計(jì)算資源相對(duì)比較稀缺,為了提高計(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),面對(duì)新的應(yīng)用背景,這種互聯(lián)網(wǎng)工作模式已顯得不能適應(yīng),逐漸暴露出了一系列的問題。
首先,Internet上的主要信息流量已經(jīng)發(fā)生了巨大的變化,根據(jù)Cisco在2012年對(duì)網(wǎng)絡(luò)流量的統(tǒng)計(jì),因特網(wǎng)上每個(gè)月大約產(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ā)布/訂閱市場(chǎng)。但當(dāng)前以主機(jī)為中心的Internet工作模式不利于這種市場(chǎng)的發(fā)展,因?yàn)橐灾鳈C(jī)為中心的工作模式要求獲取任何信息之前都要先定位到某個(gè)確定的主機(jī)位置,這會(huì)影響發(fā)布/訂閱系統(tǒng)的效率。
其次,Internet設(shè)計(jì)之初沒有考慮安全問題,安全問題一直制約著很多重要的應(yīng)用。當(dāng)前Internet上所有的安全機(jī)制都是后來添加進(jìn)來的,不能從根本上解決網(wǎng)絡(luò)的安全問題。
第三,移動(dòng)性的支持問題,當(dāng)前Internet的資源名稱采用URI格式[2],即“協(xié)議://域名/資源路徑”。因特網(wǎng)中的資源名稱與地理位置是緊耦合的,這不利于因特網(wǎng)對(duì)移動(dò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)用背景下人們對(duì)Internet的需求。重要的改良技術(shù)有DNS、IPSec、CDN、P2P等,這些技術(shù)一定程度上緩解了Internet與人們應(yīng)用需求之間的矛盾,但同時(shí)也給Internet添加了新的問題,比如,這些技術(shù)都是采用覆蓋方式,增加了網(wǎng)絡(luò)的處理時(shí)延,降低了網(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和美國(guó)的CCN和DONA[4]。它們提出了各自的實(shí)現(xiàn)方案,這些實(shí)現(xiàn)方案核心思想是一致的,但實(shí)現(xiàn)技術(shù)上卻存在一些差異,其中最大的差異就是信息命名規(guī)則上的差異。這些命名規(guī)則具有各自的優(yōu)點(diǎn)和不足,至今還沒有統(tǒng)一,這勢(shì)必會(huì)影響信息中心網(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),研究界對(duì)其進(jìn)行了大量的研究,提出了一系列的命名規(guī)則,比如,CCN的分級(jí)式命名[6],DONA的扁平式命名[7],CBCB的屬性-值命名[8]。只有滿足信息中心網(wǎng)絡(luò)的命名需求的命名規(guī)則,才能稱之為理想的命名規(guī)則。研究表明,信息中心網(wǎng)絡(luò)的命名要求具有通用性、惟一性、自我驗(yàn)證性、可聚合性和持久性,下面對(duì)這些特性進(jìn)行分析。
首先,通用性,是指根據(jù)信息命名方案能夠?qū)θ魏晤愋偷男畔?duì)象進(jìn)行命名,無論信息對(duì)象的內(nèi)容是否發(fā)生改變,都能用統(tǒng)一的命名規(guī)則來對(duì)信息對(duì)象進(jìn)行命名。
其次,惟一性,是指根據(jù)信息的名字能夠找到一個(gè)惟一的信息對(duì)象,這也是信息命名的一個(gè)最基本的要求。
第三,自我驗(yàn)證性,是指根據(jù)信息的名字可以對(duì)信息的真實(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上添加了安全措施,但這些安全措施都是針對(duì)通信雙方的主機(jī)或信道進(jìn)行設(shè)計(jì)的,然而主機(jī)和信道的安全不能保證信息本身的安全,因此,無法從根本上解決信息的安全問題。要從根本上解決信息的安全問題,應(yīng)該從信息本身入手,而不是從主機(jī)或信道入手,所以,信息名字的自我驗(yàn)證性是信息中心網(wǎng)絡(luò)區(qū)別于當(dāng)前Internet的一個(gè)非常重要的特性。
第四,持久性,網(wǎng)絡(luò)中信息內(nèi)容可能會(huì)隨時(shí)更新,信息所存儲(chǔ)的位置可能會(huì)隨時(shí)發(fā)生變化,信息的所有者也有可能會(huì)發(fā)生變更,持久性是指信息的名字不會(huì)隨著這些變化而發(fā)生改變。目前Internet中的資源名稱與IP地址直接耦合,而IP地址具有雙層概念,一方面它是網(wǎng)絡(luò)中主機(jī)的惟一標(biāo)識(shí)符,另一方面,它又表明了主機(jī)的物理位置。如果服務(wù)器在不同的AS之間移動(dòng)將會(huì)導(dǎo)致資服務(wù)器上的資源在網(wǎng)絡(luò)中出現(xiàn)鏈接錯(cuò)誤,比如,404錯(cuò)誤,如果信息名字具有持久性就可以避免發(fā)生這類錯(cuò)誤。另外,為了實(shí)現(xiàn)信息名字的自我驗(yàn)證性,已有的一些做法是在信息名字中直接關(guān)聯(lián)信息提供者的公鑰信息和信息對(duì)象的內(nèi)容本身,然而,信息提供者可能發(fā)生變更,信息對(duì)象的內(nèi)容也有可能更新,如果不考慮信息名字的持久性,可能會(huì)導(dǎo)致信息在網(wǎng)絡(luò)中出現(xiàn)鏈接錯(cuò)誤。因此,持久性是信息命名方案一個(gè)重要研究?jī)?nèi)容。
第五,可聚合性,在信息中心網(wǎng)絡(luò)中,網(wǎng)絡(luò)是根據(jù)信息塊的名字進(jìn)行路由的,網(wǎng)絡(luò)中信息塊的數(shù)量是海量的,并且還在不斷增加,如果信息的名字不能進(jìn)行聚合,可能會(huì)造成路由表太大,影響網(wǎng)絡(luò)的性能??删酆闲砸竺志哂袑哟涡裕?,在當(dāng)前Internet中,同一個(gè)自治域(Autormation System,AS)中的IP地址可以聚合到一個(gè)相同的網(wǎng)絡(luò)地址,同一臺(tái)服務(wù)器的URL可以聚合到同一個(gè)域名。然而,可聚合性與自我驗(yàn)證性是一對(duì)矛盾的概念,可聚合性要求名字是分級(jí)的,而自我驗(yàn)證性要求名字是扁平的,如何整合這對(duì)矛盾,是信息中心網(wǎng)絡(luò)的一個(gè)重要研究?jī)?nèi)容。
2 命名規(guī)則設(shè)計(jì)
2.1 基本概念
下面介紹幾個(gè)與命名有關(guān)的概念。
信息對(duì)象 信息對(duì)象是網(wǎng)絡(luò)中的信息實(shí)體,它具有惟一的標(biāo)識(shí)符、內(nèi)容和與元數(shù)據(jù)。
元數(shù)據(jù) 元數(shù)據(jù)是指用于描述信息對(duì)象的一些最基本的數(shù)據(jù)。
信息名字 信息名字就是信息對(duì)象的標(biāo)識(shí)符,用于惟一標(biāo)識(shí)一個(gè)信息對(duì)象。
信息責(zé)任者 信息責(zé)任者是指直接管理信息對(duì)象的實(shí)體。每個(gè)信息責(zé)任者都擁有一對(duì)由第三方權(quán)威頒發(fā)的惟一的公鑰/秘鑰對(duì)。
授權(quán)信息 當(dāng)信息的責(zé)任者發(fā)生變更時(shí),在保證信息名字不變的情況下,如若要對(duì)新的信息責(zé)任者進(jìn)行驗(yàn)證,可以使用授權(quán)信息驗(yàn)證新的信息責(zé)任者的真實(shí)性。
加密算法 用于指定加解密所使用的算法,以便信息消費(fèi)者對(duì)信息名字進(jìn)行驗(yàn)證。
信息公鑰/私鑰 是指用于信息命名的公鑰/私鑰,與信息責(zé)任者的公鑰/私鑰相同或相關(guān),由于信息責(zé)任者可能發(fā)生變化,信息責(zé)任者之間通過授權(quán),采用信任鏈技術(shù),確保信息名字的持久性。
信息消費(fèi)者 信息消費(fèi)者是指發(fā)送信息請(qǐng)求的實(shí)體。
關(guān)鍵詞 關(guān)鍵詞用于給出與信息相關(guān)的關(guān)鍵信息,便于為數(shù)據(jù)信息建立索引,比如,用戶可以通過搜索引擎檢索某個(gè)關(guān)鍵詞而找到相關(guān)信息的名字,從而達(dá)到查找信息的目的,這符合目前人們使用網(wǎng)絡(luò)的習(xí)慣。
在本文所述的命名規(guī)則中使用Name表示信息名字,用IO表示信息對(duì)象,用Metadata表示元數(shù)據(jù),用Principal表示信息責(zé)任者,用Consumer表示信息消費(fèi)者,用PK表示公鑰,用SK表示私鑰,PKIO表示信息公鑰,用SK IO表示信息私鑰。
2.2 命名格式
信息名字用于惟一標(biāo)識(shí)一個(gè)信息對(duì)象,包含兩個(gè)部分,一是信息公鑰的密碼哈希值,二是由信息責(zé)任者分配的字符串Str,要求在信息責(zé)任者內(nèi)部是局部惟一的。這兩部分之間用冒號(hào)隔開,具體表示方式如公式⑴。每個(gè)信息名字Name與元數(shù)據(jù)之間采用分布式哈希表DHT建立映射關(guān)系,信息對(duì)象一旦發(fā)生變化,信息元數(shù)據(jù)就會(huì)隨之發(fā)生變化,DHT列表中記錄項(xiàng)也會(huì)會(huì)隨之更新,更新的只是信息名字與最新元數(shù)據(jù)之間的映射,而并不改變信息名字,這樣保證了信息名字的持久性。
Name=Hash(PKIO):Str ⑴
在信息中心網(wǎng)絡(luò)中的任何實(shí)體都可以看成是一個(gè)信息對(duì)象,信息對(duì)象之間可能存在包含和被包含關(guān)系,例如:中國(guó),浙江,杭州,是三個(gè)不同的信息名字,它們之間存在一種包含與被包含關(guān)系,如果要找到杭州可以先定位浙江,如果要找到浙江可以先定位中國(guó)。另外,網(wǎng)絡(luò)中信息對(duì)象是海量的,并且還在繼續(xù)增加,如果信息名字不能進(jìn)行聚合,將導(dǎo)致路由表無限膨脹。本文提出的命名規(guī)則采用了一種用于表示信息對(duì)象之間這種包含與被包含關(guān)系的機(jī)制。該機(jī)制的具體實(shí)現(xiàn)方法是,將信息名字之間用符號(hào)“.”進(jìn)行隔開,符號(hào)“.”右邊的信息對(duì)象包含在左邊信息對(duì)象之中。信息消費(fèi)者可以顯式的在請(qǐng)求數(shù)據(jù)包采用公式⑵所示的格式進(jìn)行資源定位和資源請(qǐng)求,其中,Scheme用來指定處理信息名字的程序,Name1,Name2,Name(n)表示不同的信息名字,信息名字之間具有包含與被包含的關(guān)系。路由器根據(jù)信息消費(fèi)者的請(qǐng)求信息中信息名字的格式將請(qǐng)求信息轉(zhuǎn)發(fā)到特定的端口而不是所有的端口。
Scheme://Name1.Name2.….Name(n) ⑵
每個(gè)信息對(duì)象包含了一組元數(shù)據(jù),這組元數(shù)據(jù)包含描述該信息對(duì)象的基本信息,如表1。根據(jù)密碼散列函數(shù)類型、公鑰/秘鑰的類型、信息公鑰、授權(quán)信息、加密算法實(shí)現(xiàn)信息的真實(shí)性驗(yàn)證功能,根據(jù)信息內(nèi)容的數(shù)字簽名實(shí)現(xiàn)信息的完整性驗(yàn)證功能,關(guān)鍵詞用于為信息對(duì)象建立索引,便于用戶通過搜索引擎進(jìn)行信息檢索。
3 論證
從信息命名所需要滿足的特性的角度進(jìn)行分析,本文所提出的信息命名規(guī)則滿足了信息命名所需要滿足的功能,下面分別從通用性、可聚合性、持久性、惟一性和自我驗(yàn)證性進(jìn)行分析說明。
首先,從通用性來看,該命名規(guī)則可以對(duì)任何信息對(duì)象采用統(tǒng)一的命名規(guī)則進(jìn)行命名。
第二,從可聚合性來看,信息名字之間應(yīng)用了顯式的層級(jí)關(guān)系,能夠根據(jù)信息名字的層級(jí)關(guān)系對(duì)路由表進(jìn)行聚合,另外,信息名字內(nèi)部也具有一定的聚合性,可以根據(jù)信息責(zé)任者公鑰哈希值進(jìn)行聚合,因此,可以看出本文提出的理想信息命名規(guī)則具有很好的聚合性。
第三,從名字持久性來看,本文提出的理想信息命名規(guī)則利用分布式哈希表建立信息名字與元數(shù)據(jù)之間的映射關(guān)系,保證了信息名字不會(huì)因?yàn)樾畔?nèi)容的更新、信息宿主的移動(dòng)、信息責(zé)任者的變更而發(fā)生改變,實(shí)現(xiàn)了信息名字的持久性。
第四,從信息名字的自我驗(yàn)證性來看,信息消費(fèi)者接收到信息對(duì)象以后,可以根據(jù)信息名字和DHT表檢索到信息對(duì)象的元數(shù)據(jù),根據(jù)元數(shù)據(jù)中的相關(guān)信息即可對(duì)信息對(duì)象進(jìn)行信息可靠性和數(shù)據(jù)完整性驗(yàn)證。
第五,從信息名字的惟一性來看,信息名字由兩部分組成,即Hash(PKIO) 和Str,PKIO是信息公鑰,每個(gè)信息責(zé)任者具有全球惟一的公鑰/秘鑰對(duì),Str是由信息責(zé)任者為信息對(duì)象指定的一個(gè)字符串,具有局部惟一性,因此,本文提出的理想命名規(guī)則可以實(shí)現(xiàn)信息名字的惟一性。
4 相關(guān)工作
DONA[7]提出了一種扁平式的信息中心網(wǎng)絡(luò)命名規(guī)則,并提出了Principal的概念,該命名規(guī)則采用P:L格式,P是Principal的公鑰的密碼散列(cryptographic hash)值,L值由Principal指定。每個(gè)在網(wǎng)絡(luò)上的Data數(shù)據(jù)包都附有一組元數(shù)據(jù),元數(shù)據(jù)包含了Principal的公鑰和Principal對(duì)Data數(shù)據(jù)包中內(nèi)容的數(shù)字簽名。DONA提出的命名規(guī)則具有惟一性和自我驗(yàn)證性。雖然本文提出的命名規(guī)則中也借鑒了P:L格式,但本文提出的命名規(guī)則與DONA提出的命名規(guī)則卻有很大的不同。首先,本文提出的命名規(guī)則采用了名字的層級(jí)結(jié)構(gòu),而DONA提出的命名規(guī)則中采用的是純粹的P:L格式。其次,本文提出的命名規(guī)則采用了DHT將信息名字與信息元數(shù)據(jù)進(jìn)行分布式關(guān)聯(lián),保證了信息名字不會(huì)隨著信息內(nèi)容或信息的Principal的變更而改變,支持了名字的持久性,而DONA提出的命名規(guī)則中元數(shù)據(jù)直接與數(shù)據(jù)一起傳輸。第三,本文提出的命名規(guī)則中元數(shù)據(jù)中的內(nèi)容與DONA也是不相同的。
CCN[6]采用了請(qǐng)求驅(qū)動(dòng)路由的信息模型,即由信息消費(fèi)者發(fā)出的Interest數(shù)據(jù)包進(jìn)行路由驅(qū)動(dòng),滿足Interest請(qǐng)求的Data數(shù)據(jù)包沿著Interest數(shù)據(jù)包的路徑返回給信息消費(fèi)者。本文提出的信息模型與CCN采用的信息模型是一致的,但是,CCN提出的命名規(guī)則與本文提出的命名規(guī)則完全不同,CCN提出的命名規(guī)則采用的是純URI格式。
Ali Ghodsi[10]對(duì)扁平式命名格式和分級(jí)式命名格式在安全性、聚合性、靈活性方面進(jìn)行了分析和比較,認(rèn)為扁平式命名格式相對(duì)分級(jí)式命名格式而言就有了更多的優(yōu)勢(shì)。筆者認(rèn)為扁平式命名格式和分級(jí)式命名格式都有各自的優(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ā)一個(gè)使用該命名規(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.