整個網絡業界正癡迷于軟件定義網絡概念作出的種種美好承諾,但人們卻忘記了OpenFlow以及VXLAN這類需要權衡的技術元素。
作為思科公司CEO,John Chambers曾在上一次思科Live大會的主題演講當中放出明確的信號:“顛覆或者被顛覆,”這意味著如果我們的企業無法順應這股發展潮流,則必然被其無情吞沒。而在網絡行業當中,這股以顛覆為核心的發展態勢則緊緊圍繞著軟件定義網絡(簡稱SDN)拓展開來。
然而由于通過軟件定義網絡實現顛覆的意愿太過強烈,人們往往忘記提出正確的問題。如果大家已經對這一議題進行過較長時間的關注,就會發現推進的重心一直在中央集權與權力下放兩種傾向之間游移不定。以Russ White以及Ivan Pepelnjak為代表的眾多網絡技術大師也在向軟件定義網絡提出質疑,而非一股腦接受其宣揚的理論。
作為一名網絡架構師,我將在接下來的內容中為大家提供一些規則或者指南,幫助各位掌握來自《最優路由設計》以及《網絡架構的藝術》等網絡設計論著當中的經驗及結論。我還將提到其中部分重要準則,希望大家能在著手進行軟件定義網絡應用以及相關新技術的部署之前作為參考:
· 將復雜性從復雜性當中剝離出來
· 不要重新發明輪子
· 狀態是要花錢的
· 在網絡邊緣位置保持智能元素
· 始終保有權衡空間
· 管理故障域的大小
讓我們先從OpenFlow著眼。這是一套協議,旨在將控制層與數據層加以分離,并利用一套控制器以程序化方式引導交換機推動或者卸下流量。OpenFlow在一年之前曾經風靡一時,但如今其發展腳步似乎開始放慢。為什么會這樣?就我個人來看,這是因為過去流交換領域所犯下的諸多錯誤如今仍在不斷重演。
狀態是要花錢的。狀態化方案在擴展能力方面仍然無法與非狀態方案相比肩。出于這項原因,只有在轉發行為不能遵循普通轉發規則的情況下,我們才應該安裝狀態。Segment Routing(簡稱SR)在這方面作出了頗具吸引力的承諾。OpenFlow也能夠在非MPLS網絡當中實現同樣的功能,但我仍然不太信任這種以純控制器形式實現的轉發機制。
根據同樣的思路,人們是否會尋求與軟件定義網絡相關的權衡性技術方案?如果大家還沒有找到任何可以作為權衡空間的元素,那一定是搜尋的目光還不夠犀利。人們希望擁有智能化水平、出色的速度表現以及低廉的使用成本——但我們往往只能從中選擇兩者。沒錯,網絡硬件的價格確實越來越低,而且白盒交換機的出現也讓我們多了一種廉價方案選擇,但有取必有舍——這始終是一條顛撲不破的真理。
在我看來,網絡行業對于隧道技術也抱有一種不切實際的自信。VXLAN曾經被譽為自切片面包以來最出色的發明,但它只是一項隧道技術——或者說封閉手段。除了能讓我們比VLAN——其規模化能力極差,特別是在多租戶網絡環境之下——獲得更多識別機制之外,它并沒有帶來更多令人興奮的亮點。事實上,我們完全可以利用隧道技術拿出更多振奮人心的成果。大家如何管理自己的隧道并實現隧道當中的信息可視化目標?您的底層設計方案是否恰當?其核心實質僅僅是IP,對吧?這就像是平地起樓,如果大家在地基層面偷工減料,那么最終成果再漂亮也只能成為遇風即倒的豆腐渣。
我發現業界對于fabric同樣給予了高度關注。沒錯,fabric確實非常出色,但一旦出了問題、其結果卻往往令人難以承受。如果大家把一切都塞進fabric,建立起一套龐大的故障域,那么相當于在本質上將所有雞蛋都放進同一個籃子里。需要再次強調的是,您是否從權衡角度考量過這樣的方案?我并不是在否認fabric的實用性,只是想提醒大家,它并不是我們能夠選擇的惟一解決方案。
那么我的觀點到底是什么?
我的觀點在于,目前網絡行業實在是把太多精力放在了顛覆身上、甚至將其作為首要訴求,但人們卻往往沒能提出正確的問題并對權衡空間作出考量。我發現人們仍在不斷犯下過去早已出現過的錯誤,甚至為了顛覆而重新發明輪子。
我個人認為,利用BGP、EVPN、SR以及MPLS等協議以更為漸進的方式向軟件定義網絡過渡才是最理想的方式。我們的主要注意力應該集中在利用現有而且經過時間考驗的協議方面,而后再嘗試發明用于支撐技術顛覆的新型協議。目前很多創新項目正在不斷推進,最終我們也必將從中獲得堪稱偉大的實際產品——不過在此之前,眼前的道路仍然漫長而且坎坷。