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

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

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

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

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