域網(wǎng)大約1500字節(jié),對于局域網(wǎng)為8000字節(jié)并具有碎片),而內(nèi)容組件是用來指任何類型的文件的通用詞語,它可以是嵌入的網(wǎng)頁對象。例如,網(wǎng)頁可以包括許多個嵌入對象,諸如圖像、視頻文件或交互式組件。每個嵌入對象是一個內(nèi)容組件,可以跨越多個內(nèi)容對象。
[0028]如之前提到的,HSVLI指示一項內(nèi)容,是分層結(jié)構(gòu)的,包括從最概括級到最具體級排序的連續(xù)組件。相應(yīng)的HSVLI的長度是不固定的。在內(nèi)容中心網(wǎng)絡(luò)中,與傳統(tǒng)的IP網(wǎng)絡(luò)不同,包可以由HSVLI標(biāo)識。例如,“abcd/bob/papers/ccn/news”可以是內(nèi)容的名稱,標(biāo)識相應(yīng)的(若干)包,即,來自名稱為“ABCD”的機(jī)構(gòu)的名字為“Bob”的用戶的報紙“ccn”集的“news”文章。為了請求一項內(nèi)容,節(jié)點(diǎn)通過內(nèi)容的名稱表達(dá)(例如廣播)對該內(nèi)容的興趣。對一項內(nèi)容的興趣可以是根據(jù)內(nèi)容的名稱或標(biāo)識符對內(nèi)容集的查詢。內(nèi)容如果在網(wǎng)絡(luò)上可用,貝從存儲該內(nèi)容的任何節(jié)點(diǎn)發(fā)送回請求節(jié)點(diǎn)。路由架構(gòu)智能地將興趣傳播到可能具有信息的潛在節(jié)點(diǎn),然后攜帶可用內(nèi)容沿與興趣消息行進(jìn)的路徑相反的路徑返回?;旧希瑑?nèi)容對象遵循興趣消息留下的碎肩痕跡,因此到達(dá)請求節(jié)點(diǎn)。
[0029]圖1圖解說明根據(jù)本發(fā)明的實施例的網(wǎng)絡(luò)的示例性架構(gòu)。在此示例中,網(wǎng)絡(luò)180包括節(jié)點(diǎn)100-145。網(wǎng)絡(luò)中的每個節(jié)點(diǎn)耦連到一個或多個其它節(jié)點(diǎn)。網(wǎng)絡(luò)連接185是這種連接的一個示例。網(wǎng)絡(luò)連接顯示為實線,但每條線還代表可以將一個節(jié)點(diǎn)耦連到另一節(jié)點(diǎn)的子網(wǎng)絡(luò)或超級網(wǎng)絡(luò)。網(wǎng)絡(luò)180可以是內(nèi)容中心的局域網(wǎng)、超級網(wǎng)絡(luò)或子網(wǎng)絡(luò)。這些網(wǎng)絡(luò)中的每個網(wǎng)絡(luò)可以互聯(lián),使得一個網(wǎng)絡(luò)中的節(jié)點(diǎn)可以到達(dá)其它網(wǎng)絡(luò)中的節(jié)點(diǎn)。網(wǎng)絡(luò)連接可以是寬帶、無線、電話、衛(wèi)星或任何類型的網(wǎng)絡(luò)連接。節(jié)點(diǎn)可以是計算機(jī)系統(tǒng)、代表用戶的端點(diǎn)和/或可以生成興趣或發(fā)起內(nèi)容的裝置。
[0030]根據(jù)本發(fā)明的實施例,消費(fèi)者可以生成對一項內(nèi)容的興趣,并將該興趣轉(zhuǎn)發(fā)到網(wǎng)絡(luò)180中的節(jié)點(diǎn)。一項內(nèi)容可以通過發(fā)布者或內(nèi)容提供者存儲在網(wǎng)絡(luò)180中的節(jié)點(diǎn)上,發(fā)布者或內(nèi)容提供者可以位于網(wǎng)絡(luò)內(nèi)部或外部。例如,在圖1中,對一項內(nèi)容的興趣源于節(jié)點(diǎn)105。如果在該節(jié)點(diǎn)上內(nèi)容不可用,則興趣流向親連到第一節(jié)點(diǎn)的一個或多個節(jié)點(diǎn)。例如,在圖1中,興趣流向(興趣流150)節(jié)點(diǎn)115,節(jié)點(diǎn)115并不具有可用的內(nèi)容。接著,興趣從節(jié)點(diǎn)115流向節(jié)點(diǎn)125 (興趣流155),節(jié)點(diǎn)125也不具有該內(nèi)容。興趣然后流向(興趣流160)節(jié)點(diǎn)130,節(jié)點(diǎn)130具有可用的內(nèi)容。內(nèi)容對象的流動則以相反路徑折回(內(nèi)容流165、170和175),直到它到達(dá)節(jié)點(diǎn)105,內(nèi)容在節(jié)點(diǎn)105被傳送。可能在內(nèi)容流中,涉及諸如鑒別的其它過程。
[0031]在網(wǎng)絡(luò)180中,在內(nèi)容持有者(節(jié)點(diǎn)130)和興趣生成節(jié)點(diǎn)(節(jié)點(diǎn)105)之間的路徑中的任何數(shù)目的中間節(jié)點(diǎn)(節(jié)點(diǎn)100-145)可以在內(nèi)容行進(jìn)通過網(wǎng)絡(luò)時參與緩存內(nèi)容的本地副本。通過隱式共享對本地緩存內(nèi)容的訪問,緩存降低了對位于其它訂閱者附近的第二訂閱者的網(wǎng)絡(luò)負(fù)載。
[0032]在CCN中,清單(也稱作目錄)用來代表數(shù)據(jù)集。例如,CCN節(jié)點(diǎn)可以包含視頻集,視頻集包括大量的視頻文件,視頻集的清單可以是標(biāo)識與視頻文件對應(yīng)的內(nèi)容對象的排序列表。注意,由于內(nèi)容對象的大小限制,視頻文件可以跨越多個內(nèi)容對象。而且,CCN節(jié)點(diǎn)可以存儲網(wǎng)頁內(nèi)容,網(wǎng)頁的清單標(biāo)識網(wǎng)頁的不同組件,諸如標(biāo)記文檔和嵌入對象(包括Java腳本、圖像文件、音頻文件、視頻文件等)。
[0033]在清單中,每個內(nèi)容對象由其名稱和相應(yīng)的摘要標(biāo)識,其中,摘要是內(nèi)容對象的散列值(通常使用加密散列函數(shù)計算,諸如散列函數(shù)SHA-256)。在一些實施例中,每個內(nèi)容對象還由指示內(nèi)容被修改的時間的修改時間標(biāo)識。圖2呈現(xiàn)一個圖形,該圖形圖解說明根據(jù)本發(fā)明的實施例的清單格式。
[0034]在圖2中,清單200包括由集合名稱204標(biāo)識的內(nèi)容對象的排序列表和以下的一個或多個:內(nèi)容對象名稱230.1-230.η ;摘要232.1-232.η ;以及修改時間234.1-234.η。摘要232.1-232.η包括分別由名稱230.1-230.η標(biāo)識的內(nèi)容對象的散列值。清單200還包括根散列202,根散列202是基于集合中的個別內(nèi)容對象的散列值232.1-232.η的附加散列值。清單200的根散列202是清單200的唯一標(biāo)識符。
[0035]如圖2中所示,清單200可以指示集合中表示的每個內(nèi)容對象的名稱和相應(yīng)摘要??蛇x地,清單200還可以包括集合中表示的每個內(nèi)容對象的修改時間。修改時間字段的使用取決于底層應(yīng)用或所執(zhí)行的服務(wù)。除了排序列表之外,清單還可以構(gòu)造為同步樹,同步樹包含內(nèi)容對象以及內(nèi)容對象的嵌套集。
[0036]在一些實施例中,為了下載文件集,請求者可能需要首先下載清單。在某些情況下,清單本身受保護(hù),在閱讀清單之前,請求者或內(nèi)容消費(fèi)者需要鑒別清單,可能還需要解密清單。
[0037]在CCN中,每個內(nèi)容對象被簽名并可能被加密。圖3呈現(xiàn)一個圖形,該圖形圖解說明內(nèi)容中心網(wǎng)絡(luò)中的示例性內(nèi)容對象。在圖3中,內(nèi)容對象300包括名稱組件302、密鑰-1D組件304、可選的密鑰組件306、載荷組件308和簽名組件312。名稱組件302是非加密的用戶分配的字符串,非加密的用戶分配的字符串可以是人可讀形式或扁平名稱的HSVLI。密鑰-1D組件304標(biāo)識用來對內(nèi)容對象300簽名的公鑰。公鑰可以可選地作為密鑰組件306包括于內(nèi)容對象300中。有效載荷組件308包括用戶數(shù)據(jù)。簽名組件310是將名稱組件302綁定到有效載荷組件308的加密簽名。簽名可以使用RSA方案生成。例如,內(nèi)容的發(fā)布者可以使用其私鑰生成簽名,私鑰可使用公鑰306驗證。注意,代替對所有的字節(jié)簽名,簽名通常由對名稱組件302、密鑰-1D組件304、密鑰組件306和有效載荷組件308的散列(顯示為簽名散列310)簽名生成。
[0038]在一些實施例中,內(nèi)容對象300可以被加密,內(nèi)容對象300可以包括規(guī)定解密密鑰的附加組件。在又一些實施例中,整個內(nèi)容組件可以是任何類型的文件,諸如音頻、視頻、Java腳本文件等,整個內(nèi)容文件可以作為整體被加密、簽名。例如,大的視頻文件可能跨越許多內(nèi)容對象,為了確保文件的內(nèi)容是秘密的,整個視頻文件,以及許多內(nèi)容對象被加密。為了保證文件的每個分塊(或每個內(nèi)容對象)的真實性,發(fā)布者可以對每個內(nèi)容對象簽名。而且,為了將所有的分塊(內(nèi)容對象)綁定到一起,發(fā)布者還可以整體地對內(nèi)容組件的所有分塊簽名。加密密鑰的標(biāo)識符和整個組件的簽名可以插入到最后的分塊(內(nèi)容對象)中,或者包括于單獨(dú)的內(nèi)容對象中。
[0039]一旦接收內(nèi)容對象,為了鑒別所接收的內(nèi)容對象,請求者需要驗證簽名密鑰。在一些實施例中,密鑰驗證過程涉及聯(lián)系委托方以驗證密鑰(由所接收的內(nèi)容對象中包括的密鑰信息規(guī)定)是否實際上被授權(quán)對內(nèi)容簽名,并涉及計算以及驗證所接收的內(nèi)容對象中包括的簽名。此外,為了訪問加密內(nèi)容,請求者需要獲得解密密鑰。在某些情況下,解密內(nèi)容(諸如電影)所需的密鑰是基于試圖消費(fèi)內(nèi)容的用戶(諸如看電影的用戶)生成的。例如,當(dāng)用戶下載電影時,可能針對該用戶生成會話密鑰。用戶需要獲得這些會話密鑰。而且,在清單被加密的情況下,請求者還需要獲得該清單的解密密鑰。在傳統(tǒng)的系統(tǒng)中,請求者通常需要按順序次序下載清單、內(nèi)容、清單和內(nèi)容的鑒別信息、清單和內(nèi)容的解密信息(以便獲得解密密鑰),以及用于鑒別的任何可能的撤銷信息。這意味著在請求者獲得消費(fèi)內(nèi)容所需的所有信息之前,需要許多往返行程。
[0040]圖4提供圖解說明傳統(tǒng)的內(nèi)容下載過程的圖形。在圖4中,請求者402正在從一個或多個響應(yīng)者404上下載內(nèi)容集。操作中,請求者402通過向(若干)響應(yīng)者4