(發(fā)明人Van L.Jacobson和Diana K.Smetters于2008年12月18日提交的名稱為“CONTROLLING THE SPREAD OF INTERESTS AND CONTENT IN A CONTENT CENTRIC NETWORK”的)美國(guó)專利申請(qǐng)?zhí)?2/338,175中描述。
[0029]圖1根據(jù)實(shí)施例圖解說明便于阻止惡意內(nèi)容對(duì)象通過命名數(shù)據(jù)網(wǎng)絡(luò)插入到興趣的反向路徑中的計(jì)算環(huán)境100。計(jì)算環(huán)境100可以包括命名數(shù)據(jù)網(wǎng)絡(luò)102 (或現(xiàn)在已知或以后開發(fā)的任何信息中心網(wǎng)絡(luò)),命名數(shù)據(jù)網(wǎng)絡(luò)102可以包括多個(gè)路由節(jié)點(diǎn)或網(wǎng)絡(luò)節(jié)點(diǎn),這些節(jié)點(diǎn)能夠基于被興趣包請(qǐng)求的內(nèi)容的名稱朝能夠滿足此興趣的內(nèi)容生產(chǎn)者轉(zhuǎn)發(fā)興趣包。
[0030]NDN 102可以包括一個(gè)或多個(gè)轉(zhuǎn)發(fā)器104,轉(zhuǎn)發(fā)器能夠朝與興趣的名稱前綴關(guān)聯(lián)的內(nèi)容生產(chǎn)者轉(zhuǎn)發(fā)興趣,并且能夠沿興趣的反向路徑從內(nèi)容生產(chǎn)者返回內(nèi)容對(duì)象。例如,相應(yīng)的轉(zhuǎn)發(fā)器可以是路由器、對(duì)等網(wǎng)絡(luò)裝置(例如客戶端裝置)或NDN 102中的任何網(wǎng)絡(luò)裝置。轉(zhuǎn)發(fā)器可以包括用于確定興趣的出接口的轉(zhuǎn)發(fā)信息庫(FIB),并且可以包括用于緩存內(nèi)容對(duì)象的內(nèi)容存儲(chǔ)(CS)。轉(zhuǎn)發(fā)器還可以包括用于確定沿其相應(yīng)的興趣的反向路徑返回內(nèi)容對(duì)象的返回接口的未決興趣表(PIT)。
[0031 ] PIT還可以存儲(chǔ)興趣的出接口,轉(zhuǎn)發(fā)器可以使用出接口對(duì)內(nèi)容對(duì)象是否可能是有效的執(zhí)行快速檢查。許多轉(zhuǎn)發(fā)器104可能不能夠在其不具有必需的密鑰時(shí)適當(dāng)?shù)卣J(rèn)證內(nèi)容對(duì)象或其發(fā)送者。同樣,一些轉(zhuǎn)發(fā)器104可以被配置成不對(duì)這些內(nèi)容對(duì)象執(zhí)行密碼認(rèn)證,以避免招致與認(rèn)證有關(guān)的延遲。因此,為了執(zhí)行快速檢查,轉(zhuǎn)發(fā)器可以使用來自興趣的PIT表項(xiàng)的出接口來驗(yàn)證通過曾用來轉(zhuǎn)發(fā)興趣的相同的接口到達(dá)的內(nèi)容對(duì)象。
[0032]例如,計(jì)算環(huán)境100可以包括客戶端裝置106,客戶端裝置106可以包括智能手機(jī)、平板計(jì)算機(jī)、個(gè)人計(jì)算裝置(例如膝上型計(jì)算機(jī))或能夠通過NDN 102傳播興趣并接收內(nèi)容對(duì)象的任何計(jì)算裝置。在客戶端裝置106傳播興趣之后,轉(zhuǎn)發(fā)器104.1,104.2和104.4能夠朝可以返回滿足此興趣的內(nèi)容對(duì)象的內(nèi)容生產(chǎn)者108轉(zhuǎn)發(fā)興趣。這些轉(zhuǎn)發(fā)器更新其PIT以包括興趣的反向路徑的接口以及沿興趣的如向路徑的出接口。
[0033]舉另一個(gè)例子,計(jì)算環(huán)境100還可以包括惡意實(shí)體110,惡意實(shí)體110試圖將惡意內(nèi)容對(duì)象112插入到在轉(zhuǎn)發(fā)器104.2處的興趣的反向路徑中。轉(zhuǎn)發(fā)器104.2可以使用來自相應(yīng)的PIT表項(xiàng)的出接口,以確定沒有通過轉(zhuǎn)發(fā)器104.2曾用來轉(zhuǎn)發(fā)興趣的相同的接口接收內(nèi)容對(duì)象112 (例如與內(nèi)容生產(chǎn)者108的接口不同)。
[0034]因此,NDN 102中的轉(zhuǎn)發(fā)器可以執(zhí)行快速的基于接口的檢查以阻止已經(jīng)被惡意地插入到興趣的反向路徑中的內(nèi)容。如果惡意內(nèi)容對(duì)象恰巧通過這些快速檢查并到達(dá)裝置106,則裝置106仍可以執(zhí)行確定性認(rèn)證操作以認(rèn)證內(nèi)容對(duì)象或其發(fā)送者。例如,裝置106可以對(duì)惡意的內(nèi)容對(duì)象112執(zhí)行認(rèn)證操作,在確定惡意實(shí)體110沒有被批證提供興趣的名稱前綴的數(shù)據(jù)之后拒絕內(nèi)容對(duì)象112。
[0035]圖2根據(jù)實(shí)施例圖解說明阻止惡意內(nèi)容對(duì)象插入到興趣的反向路徑中的轉(zhuǎn)發(fā)器的示例性通信。在操作中,客戶端裝置202能夠通過NDN傳播興趣210。興趣210可以到達(dá)轉(zhuǎn)發(fā)器204(例如路由器),轉(zhuǎn)發(fā)器204將興趣210轉(zhuǎn)發(fā)到裝置206。在轉(zhuǎn)發(fā)興趣210之后,轉(zhuǎn)發(fā)器204能夠在本地PIT中創(chuàng)建表項(xiàng)以存儲(chǔ)與興趣的名稱關(guān)聯(lián)的興趣的入接口和出接口。
[0036]在一些實(shí)施例中,惡意裝置208可能通過將其名稱與興趣210的名稱匹配的內(nèi)容對(duì)象208發(fā)送到轉(zhuǎn)發(fā)器204,嘗試將惡意數(shù)據(jù)插入到興趣210的反向路徑中。此時(shí),轉(zhuǎn)發(fā)器204能夠在PIT中執(zhí)行查詢操作以確定是否收到匹配的興趣。查詢操作可以返回興趣210的PIT表項(xiàng),轉(zhuǎn)發(fā)器204用此表項(xiàng)來確定興趣210的入接口和出接口。然而,一旦確定轉(zhuǎn)發(fā)器204接收內(nèi)容對(duì)象212的接口與興趣210的出接口不匹配(例如,裝置206的出接口),轉(zhuǎn)發(fā)器能夠阻止內(nèi)容對(duì)象212,并在本地PIT中保持匹配的PIT表項(xiàng)。
[0037]在稍后時(shí)間,裝置206能夠?qū)M足興趣210的內(nèi)容對(duì)象206返回轉(zhuǎn)發(fā)器204。例如,裝置206可以是本地生成內(nèi)容對(duì)象206或者從本地庫中獲得內(nèi)容對(duì)象206的內(nèi)容生產(chǎn)者。替代性地,裝置206可以包括從另一轉(zhuǎn)發(fā)器或內(nèi)容生產(chǎn)者或者從內(nèi)容存儲(chǔ)(例如本地緩存)獲得內(nèi)容對(duì)象206的路由器或轉(zhuǎn)發(fā)器。在接收內(nèi)容對(duì)象214之后,轉(zhuǎn)發(fā)器204可以在本地PIT中再次執(zhí)行查詢操作以獲得興趣210的PIT表項(xiàng)。這次,一旦確定與內(nèi)容對(duì)象214關(guān)聯(lián)的接口與興趣210的出接口匹配,轉(zhuǎn)發(fā)器204繼續(xù)向裝置202轉(zhuǎn)發(fā)內(nèi)容對(duì)象214,并去掉本地PIT中的匹配的PIT表項(xiàng)。
[0038]圖3根據(jù)實(shí)施例呈現(xiàn)圖解說明在未決興趣表中創(chuàng)建表項(xiàng)以將興趣的名稱映射到興趣的入接口和出接口的方法300的流程圖。在操作中,路由器可以接收興趣(操作302),并確定路由器從其接收興趣的出接口(操作304)。
[0039]路由器然后使用興趣的名稱在轉(zhuǎn)發(fā)信息庫(FIB)中執(zhí)行查詢操作,以確定用于轉(zhuǎn)發(fā)興趣的出接口(操作306)。例如,F(xiàn)IB可以包括多個(gè)表項(xiàng),每個(gè)表項(xiàng)與HSVLI名稱或名稱如綴或基于散列的名稱關(guān)聯(lián)。路由器能夠執(zhí)彳丁最長(zhǎng)如綴匹配查詢,以選擇名稱提供與興趣的名稱最長(zhǎng)匹配的FIB表項(xiàng)。此FIB表項(xiàng)將名稱前綴映射到朝能夠提供滿足興趣的數(shù)據(jù)的內(nèi)容生產(chǎn)者的物理或虛擬接口。
[0040]路由器然后使用出接口轉(zhuǎn)發(fā)興趣(操作308),并在興趣的本地未決興趣表(PIT)中創(chuàng)建新的表項(xiàng)(操作310)。此新的PIT表項(xiàng)將興趣的名稱映射到興趣的入接口和出接口(操作312)。路由器能夠使用此PIT表項(xiàng)的出接口來阻止具有通過不同接口到達(dá)的興趣的名稱的惡意內(nèi)容對(duì)象。
[0041 ] 在一些實(shí)施例中,新的PIT表項(xiàng)的接口可以包括物理接口,或者可以包括與描述一組接口的邏輯關(guān)系的合取范式(CNF)表達(dá)式關(guān)聯(lián)的虛擬接口。例如,如果路由器通過多個(gè)物理接口轉(zhuǎn)發(fā)興趣,則路由器能夠?qū)⑦@多個(gè)接口與一個(gè)邏輯接口關(guān)聯(lián),并將此邏輯接口作為出接口添加到PIT表項(xiàng)。這樣,當(dāng)路由器接收名稱與PIT表項(xiàng)的名稱匹配的相應(yīng)的內(nèi)容對(duì)象時(shí),路由器能夠檢查內(nèi)容對(duì)象從其到達(dá)的物理接口是否滿足PIT表項(xiàng)的邏輯出接口的CNF表達(dá)式。
[0042]圖4根據(jù)實(shí)施例呈現(xiàn)圖解說明示例性未決興趣表400。具體地,PIT 400可以包括多個(gè)行,每個(gè)行對(duì)應(yīng)于一個(gè)PIT表項(xiàng),并且可以包括名稱列402、入接口列404和出接口列406。名稱列402可以包括一組未決興趣的名稱,諸如HSVLI或基于散列的名稱。入接口列404包括從其接收興趣的接口,出接口列406包括通過其轉(zhuǎn)發(fā)興趣的接口。因此,相應(yīng)的PIT表項(xiàng)將未決興趣的名稱映射到未決興趣的入接口和出接口。
[0043]在一些實(shí)施例中,PIT表項(xiàng)可以包括表達(dá)式標(biāo)題散列(express header hashes)。例如,PIT表項(xiàng)的名稱列402可以存儲(chǔ)興趣的相似性散列,來代替興趣的全名,PIT表項(xiàng)的出接口列406可以存儲(chǔ)曾用來轉(zhuǎn)發(fā)興趣的接口的一個(gè)或多個(gè)轉(zhuǎn)發(fā)散列。注意,在名稱列402中存儲(chǔ)相似性散列時(shí),兩個(gè)未決興趣可以映射到相同的相似性散列。典型地,在此情形中,路由器可以使用匹配相似性散列的第一 PIT表項(xiàng)以返回內(nèi)容對(duì)象。然而,在一些實(shí)施例中,當(dāng)內(nèi)容對(duì)象的名稱和接口與PIT表項(xiàng)的相似性散列和轉(zhuǎn)發(fā)散列匹配時(shí),路由器通過只使用PIT表項(xiàng)來確定內(nèi)容對(duì)象的返回接口,來提高表達(dá)式標(biāo)題散列的PIT查詢操作的準(zhǔn)確性。
[0044]圖5根據(jù)實(shí)施例呈現(xiàn)圖解說明基于相應(yīng)的PIT表項(xiàng)確定是否阻止或轉(zhuǎn)發(fā)內(nèi)容對(duì)象的方法400的流程圖。在操作中,路由器可以接收內(nèi)容對(duì)象(操作502),并確定路由器從其接收內(nèi)容對(duì)象的入接口(操作504)。
[0045]路由器然后在本地PIT中執(zhí)行查詢操作以識(shí)別與內(nèi)容對(duì)象的名稱關(guān)聯(lián)的PIT表項(xiàng)(操作506)。例如,內(nèi)容對(duì)象的名稱可以包括HSVLI或基于散列的名稱。在執(zhí)行查詢操作的同時(shí),路由器搜索名稱精確地匹配內(nèi)容對(duì)象的名稱的PIT表項(xiàng)。路由器然后通過PIT表項(xiàng)確定曾用來轉(zhuǎn)發(fā)與PIT表項(xiàng)關(guān)聯(lián)的興趣的出接口(操作508)。
[0046