命名資料網路(named-data networking)
當你想看一支影片時,你真正在乎的是那支影片本身——而不是恰好放著它的哪一台機器。可是今天的網際網路逼你說出從哪裡拿:你連到某個特定 IP 位址的特定主機,再從那裡把位元組拉下來。命名資料網路把這件事反過來。你不是向某台主機要資料,而是直接向網路要一段命名的內容——例如 /jovana/lecture3/segment42——而網路的工作就是找到並送來那段內容,不管哪台機器有副本。這就像「打電話給某個特定的人」相對於「喊出你要的東西的名字、由最近的人遞給你」之間的差別。
在命名資料網路裡,封包攜帶的是內容名稱,而不是主機位址。消費者送出一個興趣封包(Interest),指名它想要的資料;路由器把這個興趣封包朝著擁有該內容的人轉送,而一個相符的資料封包(Data)會沿著同一條路徑流回來。關鍵在於:沿途每一台路由器都能快取這個資料封包,所以下一個要同一個名字的人,就能由附近的快取供應,而不必去遠方的源頭。安全性附著在資料本身上:每個資料封包都由它的生產者以密碼學方式簽章,所以無論副本來自哪裡,你都能驗證內容是真的——你信任的是資料,而不是通道或伺服器。
為什麼重要:這是一種從頭設計(clean-slate)的研究架構,是資訊中心網路的一個例子。它貼合我們今天實際使用網路的方式(大多是抓取命名內容,如網頁、影片和軟體更新),並讓快取與多路徑傳遞變得自然。誠實的現況:它是一個研究方向,不是已部署、能取代 IP 的東西。它面對著難解的開放問題——如何在一個無上限的名稱空間上高效率地路由、當名稱洩漏你在抓什麼時如何保護隱私、以及既有以 IP 為基礎的網際網路那股龐大的實務慣性——所以如今它主要活在測試平台和特定場景裡,而非公開的網際網路上。
一間教室裡的二十名學生,全都串流同一段、名為 /jovana/lecture3/segment42 的講課片段。第一個興趣封包從源頭抓回它;校園路由器快取了那個資料封包。其餘十九個興趣封包就直接由那個本地快取回應——源頭伺服器只送了一次。
為內容命名,讓任何路由器都能從快取供應它。
命名資料網路不等於在今天網際網路上栓一個 CDN。CDN 會快取內容,但底下的網路仍然是依主機 IP 位址路由;NDN 則讓內容名稱成為網路轉送所依據的根本對象——這是一個深得多、且仍在實驗階段的改變。