谷歌WAN鏈路利用率100%背后技術
作為軟件定義網絡和OpenFlow早期支持者,谷歌在近日舉行的開放網絡峰會(Open Networking Summit)上分享了他們如何使用這種技術通過10G網絡鏈接分布在全球各地的12個數據中心。記者采訪了谷歌首席工程師Amin Vahdat來了解更多信息。
谷歌首席工程師Amin Vahdat
為什么你們會選擇OpenFlow?你們試圖解決什么問題呢?
我們對我們的廣域網進行了大量投資,而且我們想要更有效地運行廣域網。這里的效率也意味著提高可用性和容錯能力,提高效率的最大的好處是能夠更好地利用我們現有的線路。這個行業的最好水平就是線路實現30%-40%的利用率,而我們能夠以接近100%的利用率來運行我們的廣域線路,通過周密的流量工程和優先次序工作。換句話說,當出現故障時,我們可以通過沒有嚴格傳輸時間限制的彈性流量來保護高優先級流量。我們還可以使用非最短路徑轉發來路由繞過故障鏈路,也是通過全球范圍的網絡拓撲和動態地改變通信特征。
標準網絡協議試圖根據本地通信來理解全球網絡情況。換句話說,每個人將他們對本地網絡狀態的觀點廣播給其他人。這意味著如果你想要使用標準協議來影響任何全球政策,根本不可能。沒有什么中央控制計劃可供你使用。而OpenFlow為我們提供了一個邏輯中央控制計劃,對整個網絡架構擁有全球視野,并且可以根據全球網絡狀態來進行計算和確定。
100%的利用率簡直令人難以置信,你們會擔心災難的發生嗎?
是的,因為我們可以區分流量。換句話說,我們可以很仔細地確保,當發生災難時,受到影響的是相對不太重要的流量。
對網絡的控制完全從路由硬件刪除,并轉移到服務器嗎?
你用了一個很有趣的詞:完全。我們會有一些控制留在主設備上,但是為了更簡單化,我們會將其完全清除。我們將網絡控制從單個交換機中的嵌入處理器(這些嵌入處理器通常比較舊)轉移到服務器(可能是最新版本,例如多核處理器)。所以提高十倍性能是很容易的事情,十倍以上的性能提升也不是難事。
我知道你們為了這個網絡制造了自己的設備?
我們制造了自己的網絡設備,因為當我們在兩年前開始這個項目時,市面上并沒有支持OpenFlow的設備。
你取代了現有的設備嗎?
當時,我們建立的是一個新網絡,所以我們沒有移除任何設備,只是隨著時間的推移,我們意識到現在有必要更換設備了。
你們會繼續使用自己制造的設備還是選擇其他公司推出的OpenFlow工具?
我們的立場是這樣的:如果市面上出現的交換機產品能夠提供我們需要的功能,我們會很樂意選擇這樣的產品。
交換機和服務器存在很明顯的差異嗎?
除了接口外,交換機和服務器之間存在很明顯的差異嗎?
這是個很好的問題。我認為從指令集和靈活性角度來看,這兩者存在相當大的差別,不過,這兩者的相似性越來越多。其中,我認為交換領域能夠受益的事情就是可編程性的增加。另外,更多的靈活性能夠讓你使用數據包中不同的bit來進行不同的工作。目前,有很多初創公司正在這個方向探索。
我知道軟件定義網絡/OpenFlow的另一個關鍵好處就是能夠發展很多“如果”的方案,讓你能夠在真正實現之前對網絡進行微調。
沒錯。我們擁有的主要優勢之一就是一個很好的仿真和模擬環境,在這個環境中,與真實環境完全相同的控制軟件將在同時控制真實交換設備和模擬交換設備的服務器上運行。并且,我們可以模仿很多故障情況,來加快我們的測試工作。
你們會真的注入假的流量?
是的,我們注入了一些假流量。顯然,我們不一定能夠模擬完整的流量規模。如果你從數據中心可能擁有的總體流量的角度來看,可能會比整個WAN流量還要大,我們的WAN流量很大,LAN流量更多。
你們接入這個新網絡,而同時沒有移除舊網絡。從總數據中心內負載的角度來看,你們估計這種新的網絡會占多少比例?
在我們逐漸轉移到新網絡的兩年多的時間內,可以說,絕大部分流量現在已經在新網絡中了。
在你們部署時,OpenFlow完全符合你們的要求,還是你們需要進行很多臨時調整?
我們需要進行很多臨時調整。OpenFlow標準化了接口,我認為這對于整個行業都是很重要的。OpenFlow和軟件定義網絡能夠讓我們分隔硬件和軟件的發展路徑。換句話說,你可以獲取滿足你需要的硬件,然后將其與滿足需求的軟件相分隔以用于特定部署。硬件和軟件歷來都緊緊地綁定在一起。
所以從OpenFlow標準化的角度來看,硬件可以與各種軟件控制器進行互操作是非常非常重要的事情。從我們的角度來看,因為我們自己制造了硬件,所以并不是那么重要。但是我們必須進行適當調整,當然,隨著OpenFlow標準的演化,我們也需要靈活應變。
你們受到什么阻礙嗎?
我認為Urs H?lzle(技術基礎設施高級副總裁兼谷歌研究員)說得很好,他說OpenFlow部署工作實際上比他預期的更順利,沒有太多停機時間。從OpenFlow的角度來看,我們遇到的主要問題是第一個版本不能完全讓你以簡單的方式來利用現代交換機中的全部硬件功能。這并不是說這不可能,而是說不容易。所以我們需要做一些工作來繞過這些問題。但目前從OpenFlow標準角度來看,這個問題已經得到了很大的提高。
OpenFlow完全部署還需要多久時間?
我認為還需要幾年時間,我們想要傳達的信息是OpenFlow非常實用,能夠在各種設置中提供實實在在的好處。
鑒于OpenFlow有這么多好處,你認為會有很多服務供應商轉移到OpenFlow嗎?
我們當然希望如此。我們從大型服務供應商那里聽到的說法是,他們認為OpenFlow很難擴展和賺錢。我們已經向大家展示了OpenFlow如何讓你的網絡變得更加更加有效。
谷歌網絡接下來的計劃是什么
你們已經花了幾年時間在這上面,你們接下來的計劃是什么?
整個行業才剛剛起步。我認為從現在開始的五年時間內,我們將會取得一些成就。我們現在可以比以前更迅速地添加新功能,例如,我們最開始為管理流量加入了優化算法,而現在我們可以部署整個系列的新的更高級的優化技術。但在技術層面,我們需要加強控制回路。目前,測量、反應和重新編程的時間是軟件定義網絡面臨的主要挑戰,因為很多這些軟件和硬件組件并不是為了一個嚴格控制回路而設計的。所以我們需要解決這個問題。
你們的網絡是從單個NOC來控制的嗎?
沒有,為了容錯目的,網絡控制進行了復制和分布。從社區的角度以及我們自己的角度來看,在軟件定義網絡樣板中提供合適的軟件架構,復制的分布式控制是根本要素。在未來幾年內,以可重復的方式進行網絡控制是一個非常重要的挑戰。
那么,還有什么我們沒有問道而你認為重要的事情?
我想說的重點是互聯網已經非常成功,如果沒有充分的分散控制和操作,互聯網無法取得今天的成功,為了發展到下一個新水平,互聯網需要邏輯中央控制。換句話說,邏輯中央控制將從根本上提高互聯網的效率。