開源SDN平臺的可擴展性與部署要點 丨FNDC演講實錄

將來網絡是什麼樣的?html

在剛剛結束的「第四屆將來網絡發展大會」上,多位專家就將來網絡的架構、生態、創新與發展等話題,進行了富有前瞻性的高峯對話,不只是5G、雲網融合、工業互聯網等看得見的網絡形態,更有充滿想象力的創新構想。安全

【直播視頻回放】
https://v.qq.com/x/page/k3138tyukxl.html
網絡

【pdf文檔下載】
https://tungstenfabric.org.cn/assets/uploads/files/tungstenfabric-for-scalabiilty-deployment.pdf
架構

有專家認爲,在萬物互聯的將來網絡世界,網絡架構將發生進一步演化,如何解決可擴展性、移動性、安全性等挑戰,考驗着人們的智慧。ide

對此,Tungsten Fabric開源社區技術專家Tatsuya Naganawa就「開源SDN平臺的可擴展性」問題進行了探討。優化

Tatsuya多年來一直參與瞻博網絡Contrail產品的研發,同時支持客戶開展IaaS、NFVI、5G等方面的項目部署,具備豐富的實踐經驗。url

社區連載文章「Tungsten Fabric入門寶典
和「Tungsten Fabric知識庫」 即由Tatsuya Naganawa編寫。
開源SDN平臺的可擴展性與部署要點 丨FNDC演講實錄
回顧Tungsten Fabric的技術發展,Tatsuya提到,最初Tungsten Fabric只是一個支持MPLS over IP的軟件路由器,隨着協議標準和數據平面技術的發展,Tungsten Fabric可以支持L2/L3 VXLAN,並可做爲具備EV P N/VXLAN的VTEP軟件來使用,帶來了更多的可擴展性。


spa

經過核心組件vRouter,Tungsten Fabric實際具備不少增長可擴展性的功能,Tatsuya主要介紹了其中三個關鍵功能:.net

一、控制器之間的兩個XMPP鏈接和iBGP

當vRouter首先啓動時,將基於XMPP鏈接從控制器接收來往其它虛擬機的路由。scala

在有多個控制器可用時,控制器將基於它們之間的iBGP鏈接交換到其它虛擬機的路由,以同步它們之間的全部路由,從vRouter的視角可看做是active/active的高可用模式。
開源SDN平臺的可擴展性與部署要點 丨FNDC演講實錄
所以對於vRouters,不須要鏈接到全部控制器節點,而且就其性質而言,即便有更多的控制器節點可用,vRouter也會僅創建兩個XMPP鏈接。

XMPP的keepalive數據包會消耗大量的CPU週期,若是隻使用1個控制器,將16個CPU節點用做控制器節點,則它能夠服務有限數量的vRouter,例如500個。若是再添加更多的控制節點(例如15個),CPU使用率將大大下降。

二、路由目標過濾

因爲控制進程之間具備iBGP,乍一看,好像每一個控制進程在內部具備相同的前綴。實際狀況並不是如此,每一個控制進程的前綴都略有不一樣,而且它們的路由表彼此不匹配。

爲了理解這種行爲,路由目標是一個關鍵概念,它在內部用virtual-network號標記每一個前綴,以造成每一個虛擬網絡中每一個前綴的完整表集,也就是V P NV4表。
開源SDN平臺的可擴展性與部署要點 丨FNDC演講實錄

當在它們之間創建iBGP時,控制進程首先協商它們當前具備的路由目標,而後請求其它控制進程僅發送V P NV4表。

所以,即便集羣自己具備大量控件和vRouter,每一個控件和vRouter也只須要知道該表的一部分,這樣可減小RIB表的大小和所需的物理內存。

此外,此iBGP行爲還容許將流量直接聯合到其它的Tungsten Fabric集羣,由於若是它具備相同的路由目標,則是否在相同的集羣這一點並無關係。

路由目標過濾功能容許在多個Tungsten Fabric集羣之間造成更大的V P N V4表,並導入和導出前綴,這是本地vRouter和控制進程所須要的。

三、ERM-V P N

ERM-V P N是Tungsten Fabric的一個獨特功能,主要是爲了面向大量vRouter優化BUM複製。

因爲BUM須要複製到許多節點,所以即便須要從一個vRouter發送少許流量,最終也多是很大的流量,若是有1000個節點,那麼它就須要發送1000次。
開源SDN平臺的可擴展性與部署要點 丨FNDC演講實錄
從EV P N標準來看,一種選擇是使用入口複製(ingress-replication),這基本上意味着狀況沒變化,vRouter須要將BUM流量發送到其它節點1000次,這可能致使一個特定vRouter上的CPU峯值。

爲了克服此問題,Tungsten Fabric使用了ERM-V P N功能。ERM-V P N的一個要點是首先在一個控制進程中造成BUM樹,而後在控制進程之間經過iBGP來縫合一些邊緣vRouter節點,以造成更大的BUM樹,其中包括全部vRouter。

因爲每一個vRouter都包含在該BUM樹中,所以當它們須要轉發BUM數據包時,將僅發送BUM數據包到該BUM樹直接鏈接的vRouter。接收到BUM數據包的vRouters會將該數據包發送到BUM樹中的其它節點,最終將發送到全部vRouter,以知足BUM複製要求。

有了ERM-V P N,即便須要大量的BUM複製也不是太大的問題,所以vRouter能夠做爲VTEP控制器的良好來源,尤爲是須要支持大量的vRouter和租戶組合的時候。
開源SDN平臺的可擴展性與部署要點 丨FNDC演講實錄

做爲說明,上圖描述了將3個vRouter鏈接到control1和control3時將造成的BUM樹。

它首先在一個特定的控制器中造成樹,建立了兩組3個節點的樹,一個是vRouter十一、vRouter十二、vRouter13,另外一個是vRouter2一、vRouter2二、vRouter23。

以後,ERM-V P N識別該樹中的最後一個路由器ID,並經過鏈接它們造成更大的BUM樹。

圖中vRouter13和vRouter23已鏈接,同時造成了一個更大的BUM樹,包括了全部vRouter。

針對上述三個功能,Tatsuya嘗試了幾種設置進行測驗,包括具備15個控制節點的1000個vRouter節點,以及具備5個控制節點的2000個vRouter節點,都證實了Tungsten Fabric具備實現大規模軟件VTEP集羣的良好特性。
開源SDN平臺的可擴展性與部署要點 丨FNDC演講實錄

Tatsuya在「控制平面可擴展性」及「ERM-V P N」方面的更多討論,歡迎關注「Tungsten Fabric入門寶典
和「Tungsten Fabric知識庫」兩個社區連載系列文章。

開源是通向將來網絡的一把鑰匙。Tungsten Fabric做爲開源SDN的表明,正積極依靠社區的力量,以「雲原生」爲技術方向,探索將來網絡的邊界和解決方法。

歡迎你們加入TF中文社區,瞭解開源SDN最新信息,參與「將來網絡」超級工程的建設。

開源SDN平臺的可擴展性與部署要點 丨FNDC演講實錄
開源SDN平臺的可擴展性與部署要點 丨FNDC演講實錄

相關文章
相關標籤/搜索