局域網SDN技術硬核內幕 二 從局域網到互聯網

局域網SDN技術硬核內幕 二 從局域網到互聯網

前面提到,在數據中心內部,通過層次化端口綁定和EVPN,雲平臺得以教會了讓虛擬機通過硬件交換機封裝VXLAN,實現同網段和不同網段的互聯互通
但是,無論是服務器,還是虛擬機,最終是要向數據中心外部提供服務的。讓我們回顧開篇時見到的這張圖——
在這裏插入圖片描述
在圖中,每個VPC需要通過vLB對外提供負載均衡,通過vFW進行內外網的互訪策略控制。對於Neutron原生的實現而言,vFW使用Linux的iptables,vLB使用開源的nginx或haproxy。正如OVS的轉發效率受x86體系結構的限制一樣,iptables,nginx和haproxy的吞吐量、新建連接速率等關鍵指標,也在大規模部署中容易成爲瓶頸。
在大規模VPC的場景下,專用硬件防火牆和LB設備的優勢就體現出來了。一般而言,它們是使用專用的FPGA,或帶有網絡與安全加速硬件的多核處理器實現的,單臺設備的吞吐量最高可達到2TB以上,支持2億以上的併發連接。

那麼如何用專用硬件防火牆和LB設備,代替Neutron中原生的vFW和vLB,實現VPC對外提供服務呢?
Neutron爲了使用其他軟硬件防火牆和LB設備,提供了FWaaS和LBaaS這兩個特性。它們分別是Firewall-as-a-Service和LoadBalance-as-a-Service的縮寫,也就是將防火牆和LB特性以服務的形式提供給各個租戶(VPC)。
FWaaS是在Neutron的Router中實現的,默認使用的driver爲iptables。防火牆廠商將這個driver替換爲自身的插件,就可以實現用硬件防火牆爲Neutron提供FWaaS服務了。
類似地,LBaaS也可以通過硬件設備實現。

一個問題出現了:
我們知道,在雲平臺中,可能會有多個租戶,每個租戶理論上都需要調用FWaaS和LBaaS實現防火牆和負載均衡。那麼,顯然雲平臺投資方不可能爲每個租戶購買一套硬件防火牆和負載均衡設備。是不是有辦法把一臺防火牆/LB設備給多個租戶使用呢?
我們管這種方式叫設備虛擬化。

虛擬化有兩種實現,一種叫做VS(Virtual System),在管理上,將一臺防火牆/LB虛擬爲多臺,各VS只能看見屬於自身的網絡接口等物理資源,以及享用分配給自身的吞吐帶寬、併發連接等性能資源。這對於防火牆/LB的主控CPU要求較高,因此一般能虛擬化的數量有限。
另一種虛擬化實現叫做VRF(Virtual Routing & Forwarding)。對,和路由器的VRF一樣。防火牆/LB在邏輯上依然是一個設備,只是爲每個VRF實例維護一張路由轉發表,各個VRF實例可以使用重疊的IP地址。這種方式能實現的虛擬化數量較多,一般的設備都能支持1K到4K個。

有了FWaaS和LBaaS驅動,就可以通過硬件實現VPC網絡邊緣的處理了,實現從局域網到互聯網的業務對外發布。

在後面的內容中,我們還將有更多的精彩呈現,揭示更多的SDN技術內幕!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章