NDN網路學習筆記(一) NDN基礎

2021-10-04 21:28:12 字數 2317 閱讀 8147

ndn(named data networking)是用來取代當前tcp/ip架構的新的網際網路架構,在2023年被提出。

ndn 的網路架構如下右圖,它繼承了 ip 架構的沙漏型瘦腰結構:

存在哪些問題呢:

可擴充套件性差。不斷打補丁,網路設計管理越來越複雜。ip位址也不夠用了。

安全性弱。重視管道保護,但不能保證資料本身的可靠性。比如建立乙個信任連線後,對方發的惡意**也會照收無誤。

當前網路的功能(建立管道)和目的(獲取資料)不匹配。ndn網路企圖用資料內容取代管道的核心地位。

核心思想是:

使用者程式只提供資料的名字,無需目的位址;

資料可以來自任何節點;(不用都從伺服器拿資料,可以從就近的快取獲取)

每個資料報必須有數字簽名;(保證安全可靠)

優勢有:

高效。(多源多路徑,組播發送,有快取)

適合現代場景如移動網際網路、物聯網、災害救援、時延容忍網路(dtn)等。(無需建立管道連線)

安全。(資料有簽名,需要時可加密;應用程式開發時就考慮資料安全,而非事後彌補)

ip資料報:核心欄位是位址。

ndn資料報:分為興趣包和資料報兩種型別,不包含位址,核心是名字。

名字由程式應用生產,對網路層透明。它包括:

資料報大小。(廢話)

多層級。(就像資料夾分層一樣,方便匹配字首)

簽名。(和名字、秘鑰緊密關聯,保證安全可靠)

服務端註冊名字。資料發布者需要註冊乙個名字字首(name prefix),比如youtube註冊了乙個youtube/……

路由器根據名字建表。路由器能計算出到達每個名字字首的路徑,建立起路由表。

使用者端拿名字請求資料。資料消費者傳送興趣包來請求資料,路由器根據名字和路由表匹配**。

每個節點都可以快取資料,可以被反覆請求使用。

使用者的請求的資料報是沒有收貨位址的,那快遞回來後給誰呢?是這麼解決的:每個路由器都維護乙個興趣包快取表(pit, pending interest table),就像是**訂單,誰請求過什麼資料都記錄在案!路由器能根據興趣包快取表,將資料反向傳輸給請求者。

先看反面典型,ip資料報路由**。缺點有:

單向的。(請求可能有去無回)

路由器是無狀態的。(太笨)

不會快取任何資料。(太慢)

再看ndn興趣包和資料報的**。優勢是:

雙向的。(有請求才有資料,二者一一對應)

有狀態的。(路由器記錄多種狀態,資訊量大)

有快取。

下面是興趣包和資料報各自的路由機制。

興趣包結構如下,查詢步驟是:

cs:是否已經有快取了;

pit:是否已經有其他人請求過了,那就不用再重**請求了,只需記錄一下,在包回來時給所有請求都分乙份就行;

fib:查詢哪條路徑能滿足請求,把興趣包**下去。

資料報結構如下,查詢步驟是:

pit:若有該資料的請求,發給所有請求列表;若無則直接丟棄。

cs:留乙份快取後,繼續**。

ndn可能取代ip嗎?

新型網路體系提出多年,為啥現在仍是老一套呢?不禁想到了鍵盤布局的例子,當初鍵盤布局被特意打亂來減低機器打字的效率,防止太快機器出故障,結果這種「亂序」布局竟然流傳至今,原因就是人們習慣了。

那麼會不會因為習慣的力量,而同樣使人們放棄更先進的ndn,繼續使用ip呢?

這倒不會。因為網路結構作為底層實現,是不影響人們正常使用的。不論用ndn還是ip,使用者使用習慣絲毫不受影響。ndn由於更靈活、高效、安全,能帶來更好的使用者體驗,還是很有希望取得革命性發展的,就像汽車取代馬車一樣。

現在的ip網路實在太老舊,在飛速發展的時代面前顯得越來越力不從心。相信不久的將來,新一代網路體系必將嶄露頭角。

張北川 命名資料網路(NDN)

蘭巨龍 下面有請亞利桑那大學副教授張北川做報告。張北川 我今天講的是可重疊,是我們最近過去幾年很大的專案,一直在做關於未來網際網路架構的工作。這個ndn是美國nsf在過去五六年支援未來網際網路架構的專案之一。時間有限,技術上的問題很難講清楚,我主要是講一下大概的ndn的最基本的概念,為什麼要做這個事...

Tony網路基礎學習筆記

1.iso osi iso 國際標準化組織 osi 7層模型互聯 ios 是網際網路作業系統,是思科為其網路裝置開發的操作維護系統 傳送時上層傳到下層 接收時候是下層傳到上層 bit為物理層傳輸單位 資料層以幀為單位 網絡卡的mac位址 負責內網 ip位址負責外網 傳輸層 tpdu 傳輸協議資料單元...

學習筆記 網路基礎2

c s構架中其實客戶端用python來實現簡單的摳腳 客戶端需要進行向服務端進行傳送訊息,客戶端需要進行接收訊息,此時客戶端就模擬出了乙個服務端,所以這裡進行客戶端的演示 from socket import 建立客戶端物件,並傳入引數第乙個是指的ipv4協議,第二個是指的udp協議 client ...