命名資料網路

命名資料網路，靈感來自多年在網路使用上的實證研究，導致人們逐漸意識到，現今的網際網路架構中在舊有的 IP 協定上懸而未決的問題 。NDN根源於一個Van Jacobson在2006年首次公開展示的專案計畫「」(CCN)。NDN的目標在於檢視如何依據Jacobson的提議，從現今以主機為中心的網路架構IP演進到以資料為中心的網路架構NDN。一般相信這項概念上的簡單轉變，將對人們如何設計、開發、部署和使用網路以及應用程式產生深遠的影響網際網路目前主要用作資訊散佈的平臺，但這並非 IP 的強項。因此，未來網際網路的“瘦腰”的網路使用方式都是由單一播到多個使用者, 命名資料網路的許多機制均具有廣泛的優勢潛力，例如內容快取，以減少擁塞並提高傳遞速度，簡化網路裝置配置，以及在資料層級就直接內建網路安全性。背景.現今的網際網路沙漏架構為中心，也就是 IP。在 1970 年代設計 IP 時的基本概念，是要能允許分散在各個不同地理區域的使用者都能順利存取少數巨大而不會移動的電腦，因此當代的網際網路架構也都是圍繞著這種以主機對主機的會話模式而設計。 IP 中實作了要達成全球互聯所需的最少功能，這種細腰架構促成了網際網路爆炸性的成長，使得下層與上層的技術可以獨立發展與創新。然而，IP 當初只是設計來建立一個通訊網路，因此它的封包是以通訊的端點來進行命名。隨著電子商務、數位媒體、社交網路、智慧手機等應用逐步地成長，網際網路不再只是一個。散佈網路比起通訊網路在功能上更加地一般化，因此藉由傳統點對點對點的通訊協定來試圖解決散佈的問題，不但複雜而且容易出錯。命名資料網路這個專案計畫試圖改進 IP 架構，讓細腰角色更加一般化，讓它在處理封包是依據資料而非通訊端點來命名。更明確地說，之前的 IP 網路提供的服務是將封包遞送到指定的位址，而命名資料網路所提供的網路服務，是依據所指定的名稱來獲取資料。命名資料網路中的「名稱」可以是任何東西 －－ 一個端點、一部電影或一本書中的一段資料內容、一個開啟燈光的指令等等。期望這個概念上的簡單改變的可以讓網際網路除了現有點對點的通訊外，更佳地應用在更廣泛的應用上。 命名資料網路的設計中，融合了過去三十年在網路工程上所習得的經驗，在一開始就將許多重要的功能整合到協定中，像是利用興趣封包的流量平衡來進行網路流量的自我調控，並對所有網路上傳送的資料進行數位簽章以確保安全性。歷史.先期研究.命名資料網路的哲學始於1979年由 Ted Nelson 率先提出，其後 Brent Baccala 在 2002 年持續發揚光大。在 1999 年時，史丹佛在TRIAD 計畫在2012年成立了研究 ICN 的工作小組。現狀.命名資料網路包含國家科學基本所贊助的16個計畫主持人，涵蓋12個校園，以及來自學術界與產業界研究社群與日漸增的興趣 。 目前有許多關於命名資料網路的 研究成果 被貢獻至相關社群。架構概述.封包型別：.在NDN的通訊中是由接收端(例如：資料消費者)透過兩種不同型別的封包來溝通，分別是興趣封包和資料封包。更完整的NDN封包格式請看： NDN Packet Format Specification.路由器架構.為了實現興趣封包和資料封包的轉發功能，每個NDN路由器有三個資料結構和一個轉發策略。當興趣封包到達時，NDN路由器會先查詢內容暫存中是否有符合的資料，如果有相符的資料的話，路由器會直接透過興趣封包傳來的介面回傳資料封包，否則路由器會在PIT中查詢興趣封包的名字，如果有相同的條目在PIT中的話，路由器會在該PIT的條目中簡單記錄興趣封包的面，但如果在PIT中沒有相同的條目的話，路由器將會基於FIB中的訊息和路由器的轉發策略向資料生產者轉發興趣封包，當路由器收到很多來自下游節點中相同名字的興趣封包時，它只會向上遊的資料生產者轉發第一個興趣封包。當資料封包到達時，NDN路由器會先查詢相符的PIT條目並向列在PIT條目所有的下游介面轉發資料，然後在PIT中移除該條目並將此資料暫存在內容暫存中，資料封包總是沿著興趣封包的相反路徑回傳，而且不會遺失封包。在每條連結中，一個興趣封包會返回一個資料封包，提供了流平衡的機制。為了取得包含多個封包的大物件，興趣封包提供了一個類似TCP ACKs用來控制流量的角色：被資料消費者控制的細粒度的反饋迴路。興趣封包和資料封包都不攜帶任何主機或介面位置，路由器是基於封包中攜帶的名字來轉發興趣封包給資料生產者，並基於興趣包在每個節點所建立的PIT狀態訊息向消費者轉發資料封包。興趣封包與資料封包交換的對稱性減少了hop-by-hop的控制迴路，並消除了在資料傳輸中任何需要目的節點的概念，不像IP的端到端的封包傳送方式。.名字.設計原理.NDN的名字在網路中是不透明的，這可以讓每個應用程式去選擇適合的命名方式。因此，命名能夠隨網路獨立地演進。結構.NDN的設計假設為有層次化的結構命名，例如，由UCLA生產的影片可能被命名為 /ucla/videos/demo.mpg，其中「/」以文字表示法描繪了名字的構件，與URL相似，這種層次化的結構有很多的潛在好處：指定名字.為了得到動態產生的資料，消費者必須能夠為想要的資料建構名字，而不是用先前看過的名字或資料。方法有以下兩種：目前研究正在探索如何讓應用程式去選擇名字，讓這個名字可以促進應用程式的開發和網路的傳遞。研究的目標是去發展和精進目前存在的原理及命名的指導方針，在系統庫中將其加入命名的方式，用來實行簡化未來應用程式的開發。名稱空間.可以被全球得到的資料一定有全球唯一的名字，但用於當地通訊的名字只需要當地路由(或當地廣播)來尋找符合的資料。單獨的資料名稱在很多範圍和上下文中是有意義的，範圍從「房間裡的電燈開關」到「世界上所有的國家名字」。名稱空間的管理不是NDN架構中的一部分，就像位址空間的管理也不是IP架構中的一部分。然而，命名則是NDN應用程式設計中最重要的部分，讓應用程式開發者和使用者去設計他們自己的名稱空間作為資料交換有幾項好處：路由.解決IP問題的方法.NDN路由器和轉發封包都是以名字為基礎運作，也因此而解決了三個由IP架構中位址所產生的問題：協定.NDN網路可以使用傳統的路由演演算法，例如：鏈狀路由演演算法和距離向量演演算法。代替宣告IP的字首中，NDN路由器宣告名字的字首讓他可以覆蓋路由器願意服務的資料。傳統的路由協定，比如OSPF和BGP，都可以適用於將名字視為不透明的序列元件來對名字字首進行路由，並對興趣封包中的名字針對FIB表做出基於元件的最長字首匹配。PIT狀態.每個路由器的PIT表支援跨越NDN資料面的轉發，記錄了每個待定的興趣封包和面，並在收到相符的資料或超時發生後移除興趣封包。這種每跳每個封包狀態與IP的無狀態資料面不同，基於FIB中的訊息和效能測量，在每個路由器中的轉發策略模組會做出以下正確的決定：興趣封包.如果路由器決定興趣封包不能被滿足，例如：上游連結是關閉的，FIB表中也沒有轉發的條目或極端的塞車情況發生，路由器會傳送一個NACK給傳送興趣封包的下游鄰居。這樣的NACK可能觸發接收路由器去轉發興趣封包到其它介面來尋找替代的路徑。PIT狀態使路由器可以去辨認和丟棄迴圈的封包，允許他們自由地向相同資料產生者使用多樣的路徑。封包不能在NDN中迴圈，代表不需要在IP中有生存時間或其它措施和位址的相關協定來解決這些問題。安全.概述.相對於TCP/IP將安全的責任交給端節點，NDN本身就可以透過資料生產者對每個資料封包簽名來確保資料的安全，資料生產者的簽名能確保資料的完整性，並可以知道資料讓消費者可以藉由如何得到資料及哪裡得到資料來提高對資料的信任度。NDN網路也支援細粒度(fine-grained)的信任，允許消費者推測關於公鑰的擁有者是否是在特定環境中特定資料的一個可接受的釋出者。第二個主要的研究是設計和開發可用的機制來管理使用者的信任，這裡有兩個不同型別的信任機制：應用層的安全.NDN的資料中心安全有固定的應用程在內容訪問控制及其礎建設的安全方面，應用程可以加密資料和分配金鑰當命名封包使用相同命名架構去分配金鑰時，有效的限制資料安全周長在單個應用程式中。為了驗證資料封包的簽名，應用程式可以取得適當的金鑰，確認封包中金鑰的位置區域，就像任何其它的內容。但信任管理，例如，如何確認在應用程式中特定的封包所提供的金鑰的真實性，是一個主要的研究挑戰。 一致的實驗方法，NDN的信任管理研究由應用層的開發和使用來驅動：先解決特定問題，然後定義出共同模式。例如，NLSR的安任需求需要開發一個簡單的層次化信任模組，利用最低層級的金鑰(接近root)，金鑰用名字發布來當作最高層級中的金鑰，該名字反應了他們之間的關係。在這個信任模組中，名稱空間與層次結構的信任代表的相配，例如，/root/site/operator/router/process。在分層架構中特定命名發布的金鑰，授權他們可以簽名特定的資料封包並限制他們的範圍。這個範例可以簡單地延伸到其它真實世界信任趨向於層次化模式的應用程式，像我們建構的管理系統(BMS)中。因為NDN在控制應用程式中留下了信任模組，更有彈性和表現力的信任關係，比如ChronoChat，激發了信任網路模組實驗的積極性，這個安全模組是在目前的聊天室中參與者可以透過新的簽名來介紹新的參與。未來的應用程式將實現一個交叉驗證模組(SDSI)，這個模組將提供更多的驗證，讓資料和金鑰名字可以是獨立的，這將更簡單地適應各種真實世界的信任關係。路由安全.此外，NDN處理網路路由和控制訊息，比如所有NDN的資料或要求簽名，這些為安全路由協定抵抗攻擊提供了堅固的基礎，例如，欺騙和篡改。NDN使用多路徑的轉發和自適轉發策略模組，減緩了字首被劫持的攻擊，因為路由可以偵測到劫持後的異常現象，並透過替代路徑來取得資料，由於NDN封包引用的是內容而不是裝置，所以惡意地指向特定裝置變得更加棘手，雖然減緩機制可以針對其他NDN的特定攻擊，例如，興趣封包泛洪的DoS攻擊。此外，待定興趣表中關於先前的要求封包，可以為如何處理興趣封包做出明智的決定，有以下幾個安全的優點：