SDN是一種新型網(wǎng)絡(luò)創(chuàng)新架構(gòu),通過將網(wǎng)絡(luò)設(shè)備控制面與數(shù)據(jù)面分離開來(lái),從而實(shí)現(xiàn)了網(wǎng)絡(luò)流量的靈活控制,讓網(wǎng)絡(luò)成為一種可靈活調(diào)配的資源。隨著云計(jì)算的興起,SDN的重點(diǎn)轉(zhuǎn)移到對(duì)各種業(yè)務(wù)和應(yīng)用負(fù)載提供靈活的網(wǎng)絡(luò)支撐。本期智慧華云,為大家?guī)?lái)ArSDN之多集群簡(jiǎn)介,助力用戶網(wǎng)絡(luò)更強(qiáng)大。
軟件定義網(wǎng)絡(luò)(SDN)是在2006年,由美國(guó)斯坦福大學(xué)Clean State課題研究組提出的一種新型網(wǎng)絡(luò)創(chuàng)新架構(gòu),是網(wǎng)絡(luò)虛擬化的一種實(shí)現(xiàn)方式。
SDN將網(wǎng)絡(luò)設(shè)備上的控制權(quán)分離出來(lái),由集中的控制器管理,無(wú)須依賴底層網(wǎng)絡(luò)設(shè)備(路由器、交換機(jī)、防火墻),屏蔽了來(lái)自底層網(wǎng)絡(luò)設(shè)備的差異。而控制權(quán)是完全開放的,用戶可以自定義任何想實(shí)現(xiàn)的網(wǎng)絡(luò)路由和傳輸規(guī)則策略,從而更加靈活和智能。
目前SDN的幾種實(shí)現(xiàn)方式:
我們選用的是Overlay的架構(gòu),和VMware的NSX是同一種架構(gòu)。
控制面上提供了REST API供不同的云平臺(tái)進(jìn)行調(diào)用,同時(shí)支持了OpenStack和VMware獨(dú)立集群已經(jīng)混合集群,以滿足用戶的不同需求。控制器之間通過BGP協(xié)議交互來(lái)保證控制器高可用性。
在同數(shù)據(jù)面的交互上采用了XMPP的可靠雙向?qū)崟r(shí)通信協(xié)議,確保消息的及時(shí)性與可靠性。
數(shù)據(jù)面本身支持了多種Overlay的封裝格式,同時(shí)提供SDN軟件網(wǎng)關(guān)的功能,解耦了對(duì)物理設(shè)備的依賴。
數(shù)據(jù)面的實(shí)現(xiàn)是在通過在kernel層面實(shí)現(xiàn)轉(zhuǎn)發(fā)表來(lái)實(shí)現(xiàn),里面包含了FIB和flow表,既可以處理二層流也可以處理三層流。同時(shí)為了對(duì)流表編程,在用戶態(tài)實(shí)現(xiàn)了agent的功能來(lái)同控制器進(jìn)行配置和控制層面的交互。
以上簡(jiǎn)單介紹了SDN的基本框架,下面我們來(lái)看一下對(duì)多集群的支持。
以O(shè)penStack為基礎(chǔ)架構(gòu)的安超OS
對(duì)集群納管平臺(tái)CS
從以上兩圖可以看出,不論是云平臺(tái)是基于OpenStack還是基于VMware,對(duì)于SDN來(lái)說可以直接無(wú)縫集成。對(duì)于VMware只需要微小的變化(增加兩個(gè)微服務(wù))就可以進(jìn)行接入。
因此,OpenStack集群可以和VMware集群共用同一個(gè)控制器,這樣就可以網(wǎng)絡(luò)共享。在OpenStack側(cè)創(chuàng)建的網(wǎng)絡(luò)在VMware上面也可以使用,讓VMware集群也可以具有網(wǎng)絡(luò)的一些高級(jí)功能。
對(duì)于OpenStack,通過neutron plugin的方式來(lái)對(duì)接其相關(guān)的網(wǎng)絡(luò)功能,同時(shí)nova在創(chuàng)建接口的時(shí)候,會(huì)通知vrouter來(lái)創(chuàng)建相關(guān)的接口,以實(shí)現(xiàn)轉(zhuǎn)發(fā)面。
對(duì)于VMware,SDN的網(wǎng)絡(luò)對(duì)應(yīng)了VCenter上的portgoup。虛機(jī)創(chuàng)建流程還是依賴原來(lái)VMWare的流程,SDN會(huì)在相關(guān)EXSI后上啟動(dòng)對(duì)應(yīng)服務(wù)來(lái)監(jiān)控VMWare相關(guān)的事件,用以維護(hù)轉(zhuǎn)發(fā)面agent上的端口,來(lái)保證轉(zhuǎn)發(fā)面的正常功能。
綜上所述,在有SDN的多集群情況下,其它集群以類似計(jì)算節(jié)點(diǎn)的方式加入到有SDN控制器的集群中,從而實(shí)現(xiàn)網(wǎng)絡(luò)的互連互通。
那引入SDN后會(huì)有哪些功能呢?
如上圖所示,通過SDN打通的多集群,賦能了網(wǎng)絡(luò)更多的功能。并且還可以不斷豐富,持續(xù)改進(jìn)。
路由:IP子網(wǎng)之間的路由,可以在邏輯網(wǎng)絡(luò)中完成,不需要有流量出到物理路由器或三層交換機(jī)。
防火墻:采用分布式實(shí)現(xiàn),安全防護(hù)在每個(gè)節(jié)點(diǎn)的vRouter層面執(zhí)行,只產(chǎn)生極少的CPU開銷,并且能夠線速執(zhí)行。不會(huì)對(duì)物理防火墻設(shè)備上造成瓶頸。
邏輯負(fù)載平衡:支持四到七層的負(fù)載平衡,并且能夠執(zhí)行SSL端接。
VPN服務(wù):提供了IPSec VPN。
浮動(dòng)IP:不需要邏輯路由器,直接可達(dá)虛機(jī)。
Rest API:可編程接口/監(jiān)控分析API
由于SDN的賦能,更多的功能即將到來(lái),讓網(wǎng)絡(luò)更加強(qiáng)大。