面對當今的互聯網需求,TCP/IP有些不堪重負,研究人員想要用新的互聯網協議棧取代它,這個新協議被稱為“命名數據網絡(Named Data Networking)”。
互聯網并沒有被構建為支持Netflix,并且在過去相當長的時間內,這是完全沒問題的。
當互聯網的架構師開始互連通信網絡時,從現在的標準來看,他們當時需要支持的應用類型很簡單:遠程登錄、電子郵件、文件傳輸,以及后來的Web訪問。而互聯網協議組TCP/IP非常適合完成這些任務。
在20世紀80年代初公共互聯網誕生的不久后,業界就開發了域名系統(DNS)來將端點的數字IP地址轉換成域名,例如acme.com。這樣做的目的是更便于人們和應用的理解來交換數據。但對TCP/IP和DNS的依賴導致創建了兩個單獨的命名空間,一個用于數字,一個用于名字,研究人員稱這個系統已經變得越來越復雜和麻煩。這是因為現在的互聯網已經非常不同,它包括流媒體、點播視頻內容、電子商務交易、數字和社交媒體、智能手機應用和云計算軟件等。
加州大學洛杉磯分校(UCLA)計算機科學系教授Lixia Zhang表示:“你傳輸數據包到數據包中指定的目標IP地址,而你使用的應用則是采用域名地址。”Zhang同時也是命名數據網絡(NDN)項目的首席研究員,她帶領著一組研究人員致力于構建新的互聯網架構來取代TCP/IP。他們的目標是創建可支持單個命名空間且消除數字IP地址的協議,使消費者和應用只能使用名稱來訪問這些數據。
這是一個大膽的舉動,但這可以顯著改進IP流量的處理方式。Frost &Sullivan新興電信研究主管Ronald Gruia表示,對于運營商來說,通過更好的安全性和更智能的路由及數據包轉發,NDN可以為互聯網增加靈活性。對于企業來說,這可能意味著,他們可以不必確定地址,而是簡單地指向某個話題,移動大量數據,這可以加速信息流動。
然而,實驗室是遠離生產環境的世界,NDN仍然處于實驗室階段。他們真的可以做到嗎?NDN可以淘汰互聯網的基礎TCP/IP嗎?更重要的是,IT行業是否會認真對待NDN?
從大學到生態系統
命名數據網絡項目在2010年推出,作為美國國家科學基金會(NSF)資助的未來互聯網架構(Future Internet Architecture)研究項目,該項目最初完全由美國10家機構的計算機科學家帶領。它脫胎于一個更早期的項目—內容數據網絡(Content-Data Networking),這是由TCP/IP主要貢獻者之一Van Jacobson架構的網絡。
該項目已經獲得大約1500萬美元的NSF資助。在去年秋天,隨著全球各地其他研究機構以及整個行業對NDN的興趣增加,該項目已經擴展為命名數據網絡聯盟。該項目已經向美國以外的一些學術研究人員敞開了大門,還有MITRE Corporation等組織和一些IT供應商,包括阿爾卡特朗訊、思科、華為、松下、VeriSign以及戴爾等。以營利為目的的公司必須貢獻2.5萬美元以加入該聯盟,并獲得投票權。然而,該聯盟開發的任何協議和架構都將作為開放標準來公布。
“思科很擅長應對技術過渡,以及保持其在網絡領域的整體行業領先地位,”Gruia表示,“從他們通過加入NDN聯盟,我們看到了這一點。顯然,他們的主要動機是在下一次升級周期到來時,他們可以保持其地位。”
該項目的創始人認為,隨著互聯網流量的增長,一臺服務器和IP地址無法應對人們和應用制造的數千到數百萬信息請求。該行業正在試圖通過任播(anycast)和內容分發網絡(CDN)來解決這一挑戰,任播即發送請求數據的數據包到很多機器中的一臺,而CDN則在靠近網絡邊緣的多個位置復制數據。不過,CDN仍然要求DNS服務器查找和提供所需的信息。
根據NDN支持者表示,目前我們需要使用這些方法來解決TCP/IP的局限性,但隨著命名數據和內容的發展,這些做法會讓TCP/IP變得更加復雜。
參與該項目的思科工作人員David Oran表示:“現在的問題是,是否有更好的協議架構考慮了互聯網中應用不斷變化的性質?”
NDN聯盟正在努力回答這個問題,其目標是構建一個架構,可以消除對DNS的需要,并基于其名字來傳輸內容。
Oran稱:“對于互聯網,這是全新的3層網絡,而且它將取代TCP。”
多路徑路由
在基于NDN的網絡中,數據本身可以有多個位置。NDN協議將通過結合NDN路由和被稱為轉發策略(forwarding strategy)的機制來決定使用哪個位置以滿足數據請求。NDN轉發被設計為可以使用多路徑路由,即在NDN路由器中,路由表條目可以制定多個輸出接口。轉發策略決定使用哪個輸出接口。
華盛頓大學計算機科學與工程副教授兼NDN研究人員Patrick Crowley解釋說:“現在NDN測試平臺最常見的默認轉發策略會跟蹤每個接口的性能,并選擇最佳性能接口,同時偶爾循環其他替代接口。”
當為數據轉發NDN請求時,路由器會考慮其數據包緩沖是否已經包含所請求的數據,它最近是否轉發過此數據的請求,以及它應該使用什么輸出接口來轉發這個請求。如果路由器的內容存儲(網絡內緩存)已經包含該數據,則NDN路由器可以立即發送該數據。如果所請求的數據已經在傳輸過程中—NDN路由器可以使用待定請求表(Pending Interest Table)來確定這一點,該路由器可以聚集對相同數據的進一步請求,并減少上游流量。
Crowley表示:“對于廣播和多播,這是非常有效和自然的機制。”NDN路由器可以基于路由表來確定將所請求的數據轉發到哪里,路由表這非常類似于IP路由表,不過它包含名稱前綴而不是IP地址前綴。
UCLA的Zhang表示,該請求只需檢索所需的數據—實際的來源并不重要,只要數據包是由原始制造者簽名,這可以允許消費者確定他們得到其所請求的東西。
“該請求并不一定會發送到數據制造者,數據可以來自端點、緩存或制造者。網絡會將所請求的數據從最近的位置帶回來,”她解釋說,“NDN可以做IP所做的一切事情,并且可以比IP做更多事情,而不需要額外的調整,例如組播交付或網絡內緩存。NDN內置了這些功能,而IP需要多次跳轉來支持它們。”
設計用于視頻和安全
思科的Oran表示,基于NDN的網絡中的路由器將有“相當大”的存儲容量來支持緩存,它們將執行數據緩存,在網絡中中間根據需要自動優化。
這個功能存在兩個動機。其一是電影和視頻在互聯網內容的比重越來越大,并且它們具有海量數據。與CDN的原則類似,基于NDN的網絡可以緩存更接近用戶的數據,以減少中央服務器的負載,并減少等待時間。但在NDN中緩存還有另一個目的。
Oran稱:“在電源和電池有限的傳感器網絡,你不需要總是‘喚醒’傳感器。你想要傳感器緩存其在網絡中的讀取內容,這樣當有人需要這些內容時,你不需要再回到設備并再次喚醒它,耗盡電池壽命。”在網絡中緩存數據,而不是在設備緩存數據,這可以有利于物聯網,其中包括這樣的傳感器網絡。
NDN支持者表示,他們的架構還可以比IP更好地保護流量,因為攻擊者很容易欺騙IP地址。對于NDN,當設備接收到對命名數據請求的答復時,數據包中的數據會包含數據發布服務器的加密簽名。
Crowley稱:“這讓接收者可以獨立地核實所請求名字和所接受數據之間的關系。”
NDN真的可以取代TCP/IP嗎?
然而,在學術界之外,有些網絡工程師并不那么確信NDN可以取代TCP/IP。
IT咨詢公司Xi Group的Ivo Vachov是具有網絡背景的軟件工程師,他表示:“在我看來,另一個協議棧需要很長的時間才能實現TCP/IP目前的成熟度、部署率和部署質量。”
“我不相信新的協議棧會迅速席卷整個世界,”他補充說,“人們已經投入的精力和金錢不會允許迅速采用一項新技術。底層技術棧,數據鏈路層技術(以太網、移動和DSL)更難以改變。這將需要一段時間我們才可以從TCP/IP轉移。”
該聯盟的成員承認,NDN仍然處于研究的早期階段,現在尚不清楚它是否會取代TCP/IP。如果NDN確實會取代IP,這個過程將非常緩慢,因為對大規模互聯網進行淘汰并取代的工作根本無法很快完成。
“新架構的部署模式是開始作為IP之上的覆蓋網絡,然后隨著時間的推移,隨著流量轉變和經濟驅動這種變化,我們會淘汰IP,并運行NDN,”思科的Oran表示,“大多數這么大的變動需要花20到30年時間。在接下來的20年,我們仍將看到IP作為互聯網的主要協議之一,但如果當這個新的NDN架構受到擁護時,IP可能會作為新架構的一種傳輸工具。”
作為新的3層網絡協議,NDN將基于數據包請求數據,這類似于HTTP協議請求URL。
華盛頓大學的Crowley表示:“HTTP已被證明非常有效,但存在大量浪費的基礎設施被用于映射HTTP流量到端到端IP信道。”NDN最終可能移除對這些浪費基礎設施和額外映射的需要,從而加快數據請求。
然而,新互聯網協議的存在(更不用說完成)并不能保證它的成功。Vachkov指出,已經存在的其他替代選擇還沒有流行開來,Vachkov同時也是新保加利亞大學網絡領域講師。
他說道:“即使是像谷歌這樣的公司試圖推廣的新互聯網協議SPDY也沒有成功,SPDY位于TCP/IP之上,它試圖通過使用HTTP來解決問題。”