顧艷春,楊吉淵
(佛山科學(xué)技術(shù)學(xué)院電子與信息工程學(xué)院,廣東佛山528000)
當(dāng)前互聯(lián)網(wǎng)的基礎(chǔ)是TCP/IP協(xié)議,而TCP/IP協(xié)議以IP為中心,面向端到端連接,難以滿足日漸增長的以內(nèi)容為中心的需求[1]。為此,人們提出了若干以內(nèi)容為中心的未來網(wǎng)絡(luò)架構(gòu),其中又以命名數(shù)據(jù)網(wǎng)(Named Data Networking,NDN)[2]及其前身內(nèi)容中心網(wǎng)(Content Centric Networking,CCN)[1]和后繼者信息中心網(wǎng)(Information Centric Networking,ICN)[3]為主要代表。最初,Jocobson 等[1]提出 CCN 架構(gòu),將網(wǎng)絡(luò)架構(gòu)由IP為中心轉(zhuǎn)變?yōu)橐詢?nèi)容為中心;后來,Zhang等[2]得到美國國家自然科學(xué)基金資助,以NDN為題開展相關(guān)研究工作并取得大量成果;目前,未來互聯(lián)網(wǎng)領(lǐng)域研究的主要對象為ICN,NDN作為ICN的一個(gè)范例[3]。本文以NDN為例,介紹其基本概念和主要特點(diǎn)。
NDN中有兩類角色,分別為消費(fèi)者 (Consumer)和生產(chǎn)者(Producer);有兩類包,分別為 Interest包和 Data 包;內(nèi)容(Content)均由名字(Name)作為標(biāo)識。消費(fèi)者若要請求某內(nèi)容,則產(chǎn)生帶有相應(yīng)名字的Interest包,通過網(wǎng)絡(luò)轉(zhuǎn)發(fā),到達(dá)存有此內(nèi)容的結(jié)點(diǎn),此結(jié)點(diǎn)收到Interest包后,沿著此Interest包的反向路徑返回?cái)y帶相應(yīng)名字的Data包。因此,NDN采用的是接收者驅(qū)動即拉(Pull)機(jī)制。Interest包和Data包的結(jié)構(gòu)如圖1所示[2]。
圖1 Interest包和Data包結(jié)構(gòu)圖
與傳統(tǒng)IP網(wǎng)絡(luò)不同的是,NDN中間結(jié)點(diǎn)即路由器支持緩存(Cache),每個(gè)結(jié)點(diǎn)都維護(hù)三個(gè)模塊,分別是內(nèi)容存儲 (Content Store,CS)、待定Interest表 (Pending Interest Table,PIT)、轉(zhuǎn)發(fā)信息庫(Forwarding Information Base,FIB)。收到Interest包后,路由器首先檢查CS中是否緩存了相應(yīng)內(nèi)容,如果有則直接回復(fù)Data包,如果沒有則查找PIT,如果PIT已有相應(yīng)條目,則只記錄收到Interest包的接口而不轉(zhuǎn)發(fā),如果沒有則依照FIB和轉(zhuǎn)發(fā)策略轉(zhuǎn)發(fā),并增加相應(yīng)的PIT條目,或是根據(jù)相關(guān)信息丟棄Interest包。收到Data包后,路由器根據(jù)PIT中相應(yīng)條目的信息轉(zhuǎn)發(fā),由于此內(nèi)容請求已經(jīng)滿足,轉(zhuǎn)發(fā)后路由器將刪除PIT相應(yīng)條目,并依據(jù)緩存策略和相關(guān)替換機(jī)制決定CS中存儲的內(nèi)容。顯然,名字在NDN轉(zhuǎn)發(fā)過程中占據(jù)著核心地位,通常有層次化和扁平化兩種命名方式,而轉(zhuǎn)發(fā)則基于最長名字前綴匹配[2]。
NDN主要有如下特點(diǎn):
(1)以內(nèi)容為中心的去中心化架構(gòu)。Interest包和Data包的結(jié)構(gòu)意味著網(wǎng)內(nèi)的所有動作均以其名字為中心,因而不再需要建立類似于傳統(tǒng)IP網(wǎng)絡(luò)中端到端的連接,也無需采用集中式架構(gòu)。
(2)以數(shù)據(jù)為中心的安全性。每個(gè)Data包都有簽名,從而在包這一層次確保了數(shù)據(jù)的安全性[2],應(yīng)用通過加密和分發(fā)密鑰來控制其他結(jié)點(diǎn)對內(nèi)容的訪問權(quán)限。
(3)支持網(wǎng)內(nèi)存儲和Interest包聚合。NDN路由器的CS能夠存儲內(nèi)容,一旦中間結(jié)點(diǎn)能滿足Interest包的請求,則無需進(jìn)一步轉(zhuǎn)發(fā)即可直接返回相應(yīng)的Data包;Interest包聚合機(jī)制使中間結(jié)點(diǎn)在相應(yīng)情況下無需重復(fù)轉(zhuǎn)發(fā)相同的內(nèi)容,這降低了網(wǎng)內(nèi)流量,減輕了內(nèi)容生產(chǎn)者的負(fù)擔(dān),增強(qiáng)了網(wǎng)絡(luò)性能。
(4)支持新的路由協(xié)議。NDN支持自適應(yīng)轉(zhuǎn)發(fā)面,支持多路徑轉(zhuǎn)發(fā)和快速故障恢復(fù)[4],路由協(xié)議的作用是傳遞初始拓?fù)?、策略信息及其長期變化,計(jì)算路由表[5],因此可采用若干新的路由協(xié)議,如雙曲路由,取得較好效果的同時(shí)減少其開銷[6]。
NDN相比基于IP的傳統(tǒng)網(wǎng)絡(luò)有很多優(yōu)點(diǎn),人們提出了基于NDN的諸多應(yīng)用,可分為語音與視頻、即時(shí)通訊與文件共享、物聯(lián)網(wǎng)、大數(shù)據(jù)和其他等類別,以下分別進(jìn)行介紹。
語音和視頻應(yīng)用都以內(nèi)容為中心,但傳統(tǒng)方案集中式的特點(diǎn)使得可擴(kuò)展性、健壯性等成為此類應(yīng)用所面臨的較大挑戰(zhàn)。NDN能較好地解決語音和視頻應(yīng)用的需求,同時(shí)具備較好的可擴(kuò)展性和健壯性,而且還具備很強(qiáng)的安全性[7]。
在語音應(yīng)用方面,Jacobson等[7]首先提出NDN前身CCN上的一種典型應(yīng)用,在CCN上部署VoIP服務(wù),以作為基于內(nèi)容的網(wǎng)絡(luò)提供互聯(lián)網(wǎng)應(yīng)用的范例;將現(xiàn)有的VoIP架構(gòu)映射到CCN,同時(shí)維持安全性、互操作性和性能;映射技術(shù)并非VoIP所特有的,而是可應(yīng)用于任何對話性互聯(lián)網(wǎng)協(xié)議的一般性轉(zhuǎn)換。將VoIP部署于CCN而非傳統(tǒng)網(wǎng)絡(luò)有顯著的優(yōu)點(diǎn):天然支持多點(diǎn)路由;對內(nèi)容的權(quán)限管理十分簡便;若干高級服務(wù)易于部署等。通過這個(gè)例子,Jacobson等探索了CCN相比傳統(tǒng)會話性協(xié)議而言更加關(guān)注內(nèi)容這一重要特性。Zhu等[8]設(shè)計(jì)了音頻會議工具(Audio Conference Tool,ACT),ACT與現(xiàn)有的音頻會議服務(wù)最大的區(qū)別在于其并非集中式服務(wù)而是通過命名數(shù)據(jù)的方式,發(fā)現(xiàn)會議以及演講者,并從演講者直接獲取語音數(shù)據(jù)。得益于NDN的去中心化特點(diǎn),ACT相對于傳統(tǒng)的集中式系統(tǒng)在可擴(kuò)展性、健壯性和移動性等方面都有很大優(yōu)勢。他們還為ACT設(shè)計(jì)了安全機(jī)制,以抵御一般性威脅。ACT的安全性要求主要有三個(gè)方面:數(shù)據(jù)真實(shí)性、參與控制和匿名。因此,ACT需要一套信任管理機(jī)制,明確會議組織者和參與者的職責(zé),才能確保滿足上述要求[9]。
在視頻應(yīng)用方面,Kulinski等[10]提出基于NDN的視頻和音頻流解決方案NDNVideo,充分利用NDN的優(yōu)勢即網(wǎng)絡(luò)本身能夠緩存經(jīng)常請求的數(shù)據(jù),避免了多臺主機(jī)請求相同的視頻時(shí),視頻服務(wù)器需要發(fā)送重復(fù)的數(shù)據(jù)包,從而減少了服務(wù)器上的負(fù)載。NDNVideo采用層次化命名方式,支持多種視頻編碼格式,需滿足如下需求:面向多個(gè)消費(fèi)者分發(fā)音頻/視頻流;基于視頻幀在時(shí)間軸上的位置,提供對視頻流簡單、低延遲的隨機(jī)訪問方法;同步多個(gè)消費(fèi)者的播放;消費(fèi)者無需建立會話和協(xié)商;即時(shí)歸檔直播流;在數(shù)據(jù)包中提供內(nèi)容驗(yàn)證和來源信息。Gusev等[11]則開發(fā)了由接收者驅(qū)動的實(shí)時(shí)流數(shù)據(jù)(Real-time Streaming Data,RTSD)應(yīng)用,用于視頻會議系統(tǒng)和位置追蹤系統(tǒng),同樣要求最小化數(shù)據(jù)檢索的延遲,還要及時(shí)適應(yīng)可用帶寬。RTSD的設(shè)計(jì)方案包括了命名空間的定義、最小化延遲、緩沖區(qū)大小的管理、丟包的恢復(fù)、最大化帶寬和控制擁塞情況下的自適應(yīng)檢索等部分,具有無需生產(chǎn)者和消費(fèi)者協(xié)調(diào)配合而運(yùn)行、通過前向糾錯(cuò)和重傳以減輕丟包、基于端到端測量以控制擁塞和調(diào)整速率等特點(diǎn)。
在即時(shí)通訊方面,傳統(tǒng)應(yīng)用都是基于C/S模式,Wang等[12]以一個(gè)即時(shí)通訊的應(yīng)用庫為案例,研究其在NDN中的部署,提出NDNPurple設(shè)計(jì)方案,特別強(qiáng)調(diào)其無需服務(wù)器這一特點(diǎn),而這類無服務(wù)器的模板也可以方便移植到別的應(yīng)用中去。此方案需要解決以下三方面的問題:命名約定,即如何為數(shù)據(jù)分配獨(dú)一無二的名字;名字發(fā)現(xiàn),這與命名約定機(jī)制也有關(guān),在沒有服務(wù)器的情況下如何實(shí)現(xiàn);會員管理,在沒有服務(wù)器的情況下,如何管理加入和離開聊天室的會員。在命名方面,NDNPurple也采用層次化命名的方式,按照以下格式為內(nèi)容數(shù)據(jù)命名:協(xié)議:/聊天室ID/用戶ID/序列號。而在名字發(fā)現(xiàn)方面,NDNPurple預(yù)設(shè)了用于用戶查詢的命名空間,當(dāng)前用戶可向其他廣播含有自己ID的Interest包;會員管理也可與名字發(fā)現(xiàn)機(jī)制相結(jié)合,每個(gè)用戶都維護(hù)一個(gè)可用用戶表,輔以超時(shí)計(jì)時(shí)器,從而實(shí)現(xiàn)性能和開銷的平衡。Zhu等[13]設(shè)計(jì)了一個(gè)基于NDN的多用戶聊天應(yīng)用Chronos,同樣具備無服務(wù)器和分布式特點(diǎn);聊天室的每個(gè)客戶端都將數(shù)據(jù)的名字集合哈希到加密摘要中,并與其他客戶端交換;在穩(wěn)定狀態(tài)下,每個(gè)客戶端都有相同的摘要,而一旦產(chǎn)生新數(shù)據(jù),摘要會發(fā)生變化,此時(shí)需要通知其他客戶端;客戶端在聊天室的狀態(tài)則需要依賴心跳包維持。同時(shí),應(yīng)用還需考慮在大規(guī)模網(wǎng)絡(luò)中及面向大量用戶的情況,也需考慮數(shù)據(jù)加密和安全問題?;贑hronos的工作,為了更好地支持如即時(shí)通訊、文件共享等應(yīng)用,Zhu等[14]還進(jìn)一步提出了ChronoSync協(xié)議,用于同步數(shù)據(jù)集;ChronoSync使用合適的命名規(guī)則,以加密摘要的形式總結(jié)數(shù)據(jù)集的狀態(tài),并進(jìn)行分布式數(shù)據(jù)交換和同步?;贑hronoSync的應(yīng)用有兩個(gè)核心模塊:ChronoSync模塊同步數(shù)據(jù)集的狀態(tài);應(yīng)用邏輯模塊響應(yīng)數(shù)據(jù)集的狀態(tài)變化。命名規(guī)則也分別針對應(yīng)用數(shù)據(jù)名和同步數(shù)據(jù)名這兩種類型,前者直接指向具體的內(nèi)容生產(chǎn)者,而后者以廣播的方式面向所有參與者。
文件共享也是目前互聯(lián)網(wǎng)中的重要應(yīng)用,但是此類應(yīng)用需要大量的服務(wù)器和隨時(shí)隨地的網(wǎng)絡(luò)連接。Jacboson等[15]設(shè)計(jì)了一個(gè)基于新的信息路由模型的文件共享系統(tǒng),不需要服務(wù)器,能提供高效、可擴(kuò)展、分布式、安全、健壯的服務(wù)。此系統(tǒng)需要前綴-保管者映射表和保管者-端點(diǎn)映射表,前綴到保管者的綁定是相互獨(dú)立的,每個(gè)保管者都會為它負(fù)責(zé)的每條前綴發(fā)布一個(gè)條目;每個(gè)保管者也會發(fā)布端點(diǎn)列表,列出當(dāng)前可用的所有通信端點(diǎn),顯然保管者是前綴和通信端點(diǎn)的媒介。系統(tǒng)的路由數(shù)據(jù)收集基于Sync協(xié)議,Sync也基于Interest包通告,只傳遞狀態(tài)不同的數(shù)據(jù),能盡量快且節(jié)省流量地在全網(wǎng)同步路由信息。Fu等[16]提出了高性能可擴(kuò)展的數(shù)據(jù)同步協(xié)議iSync,使用兩級可逆布隆過濾器,第一級標(biāo)識過時(shí)的集合,第二級發(fā)現(xiàn)遠(yuǎn)程集合中存在而本地沒有的標(biāo)識?;贑hronoSync,Afanasyev等[17]提出了完全分布式的文件共享應(yīng)用ChronoShare,無論網(wǎng)絡(luò)情況如何,用戶都可以在設(shè)備間無縫共享文件。ChronoShare將用戶對文件的操作視為動作流,每個(gè)動作指定被修改的文件以及如何修改;ChronoShare有文件、動作和動作相關(guān)信息等三類數(shù)據(jù),對應(yīng)不同的命名方案。多數(shù)協(xié)議或應(yīng)用只支持完全數(shù)據(jù)同步,為有效地處理不同類型的數(shù)據(jù)同步,Zhang等[18]提出PSync,使用名字來攜帶生產(chǎn)者最新的命名空間信息和每個(gè)消費(fèi)者的訂閱信息,允許生產(chǎn)者為所有消費(fèi)者保持單一狀態(tài),使消費(fèi)者能與任何有同樣數(shù)據(jù)的生產(chǎn)者同步。PSync使用Sync Interest包和Sync Reply包,消費(fèi)者發(fā)送Sync Interest包給生產(chǎn)者以獲取最新的數(shù)據(jù),Sync Interest包中包含消費(fèi)者的訂閱列表,生產(chǎn)者收到后回復(fù)Sync Reply包,包含訂閱數(shù)據(jù)流中最新數(shù)據(jù)名字的列表,然后消費(fèi)者根據(jù)相關(guān)信息發(fā)送Interest包以獲取相應(yīng)數(shù)據(jù)。Mastorakis等[19]則提出了基于NDN的點(diǎn)到點(diǎn)文件共享應(yīng)用nTorrent,將BitTorrent服務(wù)從IP網(wǎng)絡(luò)中移植到NDN中,充分利用NDN的優(yōu)點(diǎn),獲取最近的可用數(shù)據(jù),支持多路徑和快速故障響應(yīng),也能實(shí)現(xiàn)數(shù)據(jù)包級別的真實(shí)性檢查。當(dāng)然,為了解決前綴引起的路由可擴(kuò)展性問題,nTorrent引入SNAMP[20]和NDNS[21]機(jī)制,SNAMP維護(hù)數(shù)據(jù)前綴和全局可路由名字前綴的映射,每個(gè)生產(chǎn)者的映射發(fā)布在NDNS,消費(fèi)者檢索即可。
物聯(lián)網(wǎng)及其代表性技術(shù)車聯(lián)網(wǎng)的應(yīng)用已逐漸成為現(xiàn)實(shí),然而基于傳統(tǒng)網(wǎng)絡(luò)的物聯(lián)網(wǎng)同樣是集中式工作方式,實(shí)現(xiàn)安全、實(shí)時(shí)的信息共享難度很大。Wang等[22]探索了NDN應(yīng)用于車聯(lián)網(wǎng)的場景,最大的挑戰(zhàn)之一在于命名方案的設(shè)計(jì),他們提出將名字分為交通、地理位置、時(shí)間戳、數(shù)據(jù)類型、隨機(jī)數(shù)等五部分,交通作為應(yīng)用標(biāo)識,地理位置包括道路標(biāo)識、方向、段編號等,時(shí)間戳表示時(shí)間范圍,數(shù)據(jù)類型表示數(shù)據(jù)的意義,隨機(jī)數(shù)則由生產(chǎn)者生成以區(qū)分不同的生產(chǎn)者產(chǎn)生的數(shù)據(jù)[23]。Wang等還開發(fā)了簡單的交通信息傳播應(yīng)用,基于數(shù)據(jù)名字中攜帶的地理位置信息進(jìn)行智能隨機(jī)調(diào)度以最大限度地減少沖突;為加速數(shù)據(jù)傳播,通過數(shù)據(jù)騾主動推送數(shù)據(jù),當(dāng)然這與原始NDN中基于拉的數(shù)據(jù)檢索方式有所不同。Grassi等[24]考慮車聯(lián)網(wǎng)中連接的臨時(shí)性、間歇性和物理傳輸數(shù)據(jù)的能力,提出V-NDN框架,汽車可以作為數(shù)據(jù)消費(fèi)者、生產(chǎn)者、轉(zhuǎn)發(fā)者以及無連接時(shí)搬運(yùn)數(shù)據(jù)的數(shù)據(jù)騾;結(jié)合汽車的特點(diǎn),與其他的物聯(lián)網(wǎng)設(shè)備不同,此時(shí)無需考慮計(jì)算或存儲的容量以及設(shè)備供電問題。通過V-NDN,本地產(chǎn)生的只在本地有意義的數(shù)據(jù),例如交通信息不需要在被相鄰結(jié)點(diǎn)使用前發(fā)送到遠(yuǎn)程服務(wù)器,這些數(shù)據(jù)也可以保留在本地,沿最短路徑傳遞給消費(fèi)者。
在物聯(lián)網(wǎng)的應(yīng)用方面,Burke等[25]先將NDN應(yīng)用于樓宇燈光控制系統(tǒng),滿足控制器和照明裝置間的低延時(shí)要求,設(shè)計(jì)命名方案,部署內(nèi)容簽名,通過授權(quán)策略控制對設(shè)備的訪問,開發(fā)低功耗的安全機(jī)制。隨后Shang等[26]提出了基于NDN的樓宇管理系統(tǒng),傳感器數(shù)據(jù)采集系統(tǒng)使用層次化的數(shù)據(jù)命名空間、密鑰和訪問控制列表,提供基于瀏覽器的數(shù)據(jù)可視化接口;系統(tǒng)包括三個(gè)實(shí)體,分別是端用戶、傳感器網(wǎng)關(guān)和管理應(yīng)用,網(wǎng)關(guān)將存儲器數(shù)據(jù)插入NDN倉庫[27]。Shang等還在跨平臺物聯(lián)網(wǎng)操作系統(tǒng)RIOTOS上設(shè)計(jì)和部署了NDN協(xié)議棧,由于設(shè)備性能通常極為有限,他們針對性設(shè)計(jì)了包的編碼和解碼,簡化了PIT、FIB和CS,還設(shè)計(jì)了輕量級逐跳2層碎片和重組機(jī)制,部署了一組應(yīng)用接口。Shang等[28]設(shè)計(jì)了不依賴于云服務(wù)的物聯(lián)網(wǎng),使用模式化信任機(jī)制進(jìn)行本地信任管理,將分布式同步機(jī)制用于本地會合點(diǎn);應(yīng)用仍然可以訪問云服務(wù),進(jìn)行數(shù)據(jù)存檔、復(fù)雜的數(shù)據(jù)分析等工作。最后,Shang等探討了NDN應(yīng)用于物聯(lián)網(wǎng)的案例和前景,當(dāng)前物聯(lián)網(wǎng)應(yīng)用的操作以數(shù)據(jù)獲取和控制為中心,但通信技術(shù)的多樣以及設(shè)備資源的限制使解決方案變得異常復(fù)雜,互聯(lián)網(wǎng)應(yīng)用中的安全技術(shù)也不太適合物聯(lián)網(wǎng),對本地通信的支持也有限;NDN的數(shù)據(jù)檢索方式、以數(shù)據(jù)為中心的安全機(jī)制、基于名字的轉(zhuǎn)發(fā)和網(wǎng)內(nèi)存儲等特點(diǎn)則十分切合物聯(lián)網(wǎng)的需求;NDN應(yīng)用于物聯(lián)網(wǎng)需要考慮命名、引導(dǎo)和發(fā)現(xiàn)、信任機(jī)制、基于名字的訪問控制、數(shù)據(jù)聚合、應(yīng)用層發(fā)布和訂閱、多方同步、與互聯(lián)網(wǎng)的整合等方面[29]。
大數(shù)據(jù)技術(shù)在科研、應(yīng)用等領(lǐng)域起著極為重要的作用,數(shù)據(jù)則占據(jù)著核心地位,對數(shù)據(jù)的存儲、檢索、共享和管理是需要解決的主要問題。Olschanowsky等[30]首先將NDN應(yīng)用于氣候建模,調(diào)查了一大類氣候數(shù)據(jù)的命名方案,搭建了一個(gè)按名稱發(fā)布,檢索和發(fā)現(xiàn)氣候數(shù)據(jù)的接口,編寫翻譯器將現(xiàn)有的數(shù)據(jù)集名字轉(zhuǎn)換為與NDN兼容的名字,盡量不改變已有的工作流程[31]。Fan等提出了首個(gè)部署于NDN上的科學(xué)數(shù)據(jù)管理應(yīng)用,包括用于查詢和發(fā)現(xiàn)數(shù)據(jù)集的用戶接口和已同步的名字目錄聯(lián)盟等兩個(gè)組件,管理氣候和高能物理數(shù)據(jù),能進(jìn)行一般性的管理操作,例如發(fā)布、搜索、檢索和訪問控制等;目錄聯(lián)盟主要是為了解決集中式目錄面臨大量查詢和發(fā)布請求時(shí)可能出現(xiàn)瓶頸,它采用ChronoSync作為同步協(xié)議[31]。Zhang等[32]提出移動分布式健康應(yīng)用NDNFit,為端用戶提供跟蹤應(yīng)用,使用NDN通信,特別關(guān)注身體活動數(shù)據(jù),用戶鍛煉時(shí)報(bào)告時(shí)間位置,識別并分類諸如步行、慢跑、跑步等活動的數(shù)據(jù),在移動站點(diǎn)上向用戶報(bào)告活動統(tǒng)計(jì),提供身份管理、數(shù)據(jù)驗(yàn)證和訪問控制功能。NDNFit使用一致的數(shù)據(jù)命名方案,直接在數(shù)據(jù)包級別實(shí)現(xiàn)對數(shù)據(jù)的認(rèn)證和訪問控制;定義了四個(gè)主要組件,分別是抓取應(yīng)用、數(shù)據(jù)存儲單元、數(shù)據(jù)處理單元和數(shù)據(jù)可視化單元,用于數(shù)據(jù)收集和發(fā)布、數(shù)據(jù)的長期存儲、數(shù)據(jù)處理以及讓用戶能看到并與他們的個(gè)人健康數(shù)據(jù)進(jìn)行交互。Gibbens等[33]在數(shù)據(jù)中心中首次應(yīng)用了NDN技術(shù),簡化了Hadoop的部分代碼,減少了Hadoop結(jié)點(diǎn)間的網(wǎng)絡(luò)流量;開發(fā)了替代TCP/IP套接字的NDNSocket和NDNServerSocket,將遠(yuǎn)程過程調(diào)用映射到Interest和Data包,改變了Hadoop中基于推的網(wǎng)絡(luò)模型而變?yōu)镹DN中基于拉的網(wǎng)絡(luò)模型,用NDN傳輸數(shù)據(jù)塊,并增加了一個(gè)簡單的傳輸層。
NDN支持?jǐn)?shù)據(jù)包級別的安全驗(yàn)證機(jī)制,人們也利用這一特點(diǎn)設(shè)計(jì)了相關(guān)應(yīng)用。Dibenedetto等[34]提出了匿名插件工具ANDaNA,借用Tor的若干特性解決NDN面臨的名字、內(nèi)容、緩存和簽名隱私等挑戰(zhàn),通過至少兩個(gè)洋蔥路由器的鏈路來傳遞消息,其中每個(gè)路由器刪除一層加密并轉(zhuǎn)發(fā)到下一跳,匿名路由器加入時(shí)公布其公鑰和其他輔助信息,消費(fèi)者檢索匿名路由器列表和相應(yīng)的公鑰。Chowdhury等[35]提出了自動駕駛汽車間的安全信息共享方案,為檢測虛假數(shù)據(jù),提出了一種四級層次化信任模型和相關(guān)的車輛數(shù)據(jù)認(rèn)證命名方案,四級分別為相關(guān)組織、制造商、汽車和數(shù)據(jù);為解決車輛跟蹤問題,使用化名方案并引入證書頒發(fā)代理以保護(hù)車輛身份。
在其他方面,Burke[36]討論了NDN用于增強(qiáng)現(xiàn)實(shí)領(lǐng)域的可能性,瀏覽器須高效地根據(jù)觀眾情境和選擇檢索內(nèi)容;提供透明的多接口接入和本地及全球網(wǎng)絡(luò)接入,容忍網(wǎng)絡(luò)服務(wù)中斷;提供多層次內(nèi)容和處理源;保證內(nèi)容發(fā)布者和信任模型的多樣性;與物聯(lián)網(wǎng)環(huán)境整合。概念性系統(tǒng)包括以下組件:可導(dǎo)航的內(nèi)容發(fā)布者、外部內(nèi)容會合點(diǎn)和增強(qiáng)現(xiàn)實(shí)瀏覽器;瀏覽器要能夠預(yù)讀取內(nèi)容,服務(wù)上下文發(fā)布者和消費(fèi)者,并進(jìn)行路徑學(xué)習(xí);還可使用移動邊緣計(jì)算加速處理。Afanasyev等[20]先后提出了SNAMP和NDNS,使用映射和封裝技術(shù)解決命名空間映射的可擴(kuò)展性問題,在NDN中開發(fā)了類似域名系統(tǒng)的服務(wù),以實(shí)現(xiàn)路由可擴(kuò)展性、移動發(fā)布和證書提供。NDNS繼承了DNS的一些基本概念和機(jī)制,是DNS從IP網(wǎng)絡(luò)到NDN的移植,但也設(shè)計(jì)了專門的命名空間,提供了網(wǎng)絡(luò)層上以數(shù)據(jù)為中心的安全性[21]。
本文介紹了NDN的基本概況和主要特點(diǎn),并介紹了基于NDN的諸多應(yīng)用,主要有語音與視頻、即時(shí)通訊與文件共享、物聯(lián)網(wǎng)、大數(shù)據(jù)和其他等類型。上述應(yīng)用充分利用了NDN去中心化、安全性、網(wǎng)內(nèi)存儲、轉(zhuǎn)發(fā)機(jī)制等特點(diǎn),取得了較好效果。
未來,我們還需進(jìn)一步考慮NDN應(yīng)用所涉及的命名空間、信任模型、網(wǎng)內(nèi)存儲、數(shù)據(jù)同步等機(jī)制,取得性能和開銷的平衡,盡量減少其復(fù)雜程度。另外,NDN的特點(diǎn)非常適合內(nèi)容分發(fā)場景,相關(guān)應(yīng)用應(yīng)當(dāng)成為探索的主要方向。