深度解析華云數據高速虛擬路由器解決方案
網絡是云平臺建設與運行中最為關鍵的基礎架構資源,業務穩定與高效運行離不開高速穩定的網絡數據包處理能力,因此作為網絡中的核心組件,路由器的設計方案至關重要。
華云數據作為國內領先的云計算服務提供商,自研了華云高速虛擬路由器,其是業界***個基于fd.io/VPP技術的虛擬路由解決方案。在相同的硬件條件下,能夠提供比普通虛擬路由方案高八倍的性能。華云高速虛擬路由器還支持集群方式工作,集群中多個服務器可以同時對外提供服務。比原有的主備方式不僅提高了性能,也增加了整體的可靠性。這個技術幫助華云的公有云平臺打造了一個大容量,低延遲的基礎網絡,也給了需要高質量網絡的私有云客戶一個好的方案選擇。
VPP技術是思科和英特爾等公司共同推出的一個通信程序開發平臺,是思科的路由技術和英特爾的DPDK用戶空間網絡技術的一次***結合。

圖一:vpp在網絡應用中的位置
近年來,隨著半導體和多核計算機體系架構技術的不斷創新和市場的發展,越來越多的網絡設備基礎架構開始向基于通用處理器平臺的架構方向融合,期望用更低的成本和更短的產品開發周期來提供多樣的網絡單元和豐富的功能,如應用處理、控制處理、包處理、信號處理等。為了適應這一新的產業趨勢,英特爾公司聯合第三方軟件開發公司及時推出了基于Intel?x86架構DPDK (Data Plane Development Kit,數據平面開發套件) 實現了高效靈活的包處理解決方案。
在專業的通信網絡系統中,高速數據進出速率是衡量系統性能的關鍵指標之一。大多通信系統是基于Linux的定制系統,在保證實時性的嵌入式開發環境中開發出用戶態下的程序完成系統功能。利用DPDK的高速報文吞吐優勢,對接運行在Linux用戶態的程序,對成本降低,和硬件通用化有很大的好處,使得以軟件為主體的網絡設備成為可能。這些基于DPDK的以軟件為主體的網絡應用中,VPP是***的,也是目前看來最有潛力。
VPP的全稱是向量包處理引擎(Vector Packet Processing)。思科公司從2002年就開始積極研發這個技術,并且已經使用到他們的商業虛擬路由器產品中。從2016年起,思科公司將這個技術和英特爾的DPDK技術相結合,一起開源在fd.io基金會的名義下。基于思科成熟的路由技術,VPP平臺比其他的同樣基于DPDK技術的其它方案能有更高的性能,更靈活的機制。

圖二:vpp 與 OVSDPDK性能對比
圖三是一個典型的云環境的示意圖,分為控制,計算和網絡三種服務節點。在傳統的網絡構架中,普通數據中心使用的還是Linux內核態技術。而內核態網絡技術由于自身定位原因有著根本性的性能問題。結合在計算節點上使用ovs-dpdk,華云將大部分網絡功能從kernel空間移到了高速的用戶空間。這樣,用戶的數據從虛擬機出來后直接通過用戶態的ovs-dpdk直接傳輸到網卡,到網絡節點后則從網卡直接到高速虛擬路由器。整個過程中都不會經過低速的內核,提高了吞吐率的同時,也極大的減少了網絡延時。這種性能的提高,不管是在華云的公有云或私有云方案實踐中,都對客戶的業務產生了良好的效果。

圖三:網絡功能從kernel空間移到高速的用戶空間
在實際路由測試中,單節點模式下使用4個cpu線程就能達到10Gbps的小包線速,而多節點集群下則能提供更高的性能,具體測試環境和數據如圖四所示。

圖四:測試環境和性能對比
基于華云在云計算方面的豐富經驗和強大的技術開發能力,在VPP推出后半年左右便成功地應用在華云公有云平臺及私有云產品中,與典型的虛擬網絡相比,數據包處理能力有了質的飛躍,極大的提升了網絡性能,讓平臺中業務運行表現更為高效,以實現華云用戶更好的使用體驗。