裴志
【摘要】SDN的引入不僅是為了克服OpenStack Neutron的不足,還為了支持多種網(wǎng)絡(luò)虛擬化技術(shù)和方法。由于在SDN上集成,Neutron有望支持大規(guī)模、高密度的多租戶云環(huán)境具有的動態(tài)性。
【關(guān)鍵詞】SDN;網(wǎng)絡(luò)控制器;OpenStack;Neutron
1.OpenStack簡介
2010年7月,Rackspace和NASA啟動開源的云管理軟件OpenStack。這是創(chuàng)新軟件項目的集合,為快速供應(yīng)、創(chuàng)造和管理公有云和私有云中的虛擬設(shè)備提供了一個架構(gòu),本質(zhì)上是作為基礎(chǔ)設(shè)施即服務(wù)(IaaS)。所有服務(wù)協(xié)同使用API來提供靈活和可擴展的云解決方案。OpenStack由多個組件分別實現(xiàn)計算(Nova)、存儲(Cinder/Swift)、監(jiān)控(Ceilometer)和網(wǎng)絡(luò)(Neutron)等服務(wù)。
2.Neutron的功能
Neutron添加了一層虛擬的網(wǎng)絡(luò)服務(wù)讓租戶(用戶)構(gòu)建自己的虛擬網(wǎng)絡(luò)。Neutron是對網(wǎng)絡(luò)的虛擬化,該網(wǎng)絡(luò)可以從一個地方移動到另一個地方,而不會影響現(xiàn)有的連接。它可以進(jìn)一步解釋為一個網(wǎng)絡(luò)管理服務(wù),為創(chuàng)建和管理虛擬網(wǎng)絡(luò)公開了一組可擴展的API(通過創(chuàng)建虛擬網(wǎng)絡(luò)為OpenStack Compute節(jié)點上的虛擬機提供網(wǎng)絡(luò)服務(wù))。Neutron的插件架構(gòu)為開源社區(qū)或第三方服務(wù)提供API。Neutron還允許供應(yīng)商研究和添加新的插件,提供先進(jìn)的網(wǎng)絡(luò)功能。隨著Neutron逐漸成熟,越來越多的云計算廠家開始選用Neutron組件,并且有大量網(wǎng)絡(luò)設(shè)備商和云計算方案廠商為 Neutron提供硬件設(shè)備和網(wǎng)絡(luò)方案,使得Neutron的發(fā)展倍受關(guān)注。
Neutron中提供了使用虛擬路由器實現(xiàn)租戶網(wǎng)絡(luò)的互通和隔離、安全組(Security Group)、防火墻(FWaas)、負(fù)載均衡(LBaas)和虛擬專用網(wǎng)(VPNaas)等服務(wù)。在Neutron網(wǎng)絡(luò)中還可以采用VMaas(VM as a Service)的方式提供一些極易創(chuàng)新的網(wǎng)絡(luò)服務(wù),包括Neutron中不支持的接入VPN等功能。雖然Neutron 的功能已經(jīng)相對比較完備,但還存在一些不足之處,在大規(guī)模、高密度、多租戶云環(huán)境中,Neutron的性能會下降,這也是為何Neutron需要SDN架構(gòu)的部分原因。
3.SDN控制器對Neutron的擴展
SDN的名稱Software Defined Network,典型的SDN控制器的核心是實現(xiàn)集中控制平面和數(shù)據(jù)轉(zhuǎn)發(fā)平面的相分離。這里強調(diào)兩個,控制器和交換機的接口——我們叫做南向接口;另一個是往上的北向接口。SDN的核心理念有三個,第一個控制和轉(zhuǎn)發(fā)分離,第二個集中控制,第三個開放的API——網(wǎng)絡(luò)可編程。基于Neutron的SDN技術(shù),OpenStack網(wǎng)絡(luò)實現(xiàn)了一個可擴展的框架,并能部署和管理多種網(wǎng)絡(luò)服務(wù),如入侵檢測系統(tǒng)(IDS),負(fù)載均衡,防火墻和虛擬專用網(wǎng)絡(luò)(VPN)等。所以SDN控制器虛擬化的好處包括,能夠更有效地向上擴展和向外擴展――為現(xiàn)有的SDN控制器動態(tài)添加更多的資源(比如存儲資源)。在虛擬化分布式部署環(huán)境中――SDN控制器被實施成一組協(xié)同工作的虛擬機,面對增加的工作負(fù)載,可以添加額外的虛擬機實例。
OpenStack平臺中應(yīng)用的SDN技術(shù)已經(jīng)成為了云環(huán)境中的網(wǎng)絡(luò)支柱,OpenStack的Neutron本身作為一個SDN網(wǎng)絡(luò)控制系統(tǒng),在網(wǎng)絡(luò)配置方面提供了一種自服務(wù)能力,用戶可以創(chuàng)建自己的網(wǎng)絡(luò)并控制流量,實現(xiàn)連接服務(wù)器和設(shè)備到一個或多個網(wǎng)絡(luò)。與openstack Neutron相關(guān)聯(lián)的開源控制器來。主要有:OpenContrail、ONOS、Floodlight、Ryu 、OpenDaylight項目等。
4.OpenStack和SDN控制器的全局
OpenStack Neutron及其插件架構(gòu)提供了將SDN控制器集成到OpenStack的功能。使用插件將SDN控制器集成到Neutron的這種做法提供了集中式管理,還為使用API對OpenStack網(wǎng)絡(luò)實現(xiàn)網(wǎng)絡(luò)可編程性提供了方便。
OpenDaylight、Ryu和Floodlight等SDN控制器使用特定的插件或擁有相應(yīng)機制驅(qū)動的ML2插件,允許Neutron和SDN控制器之間進(jìn)行通信。下圖顯示的全局表明了OpenStack與SDN控制器集成。
1)OpenStack儀表板(Horizon)上的用戶操作將被轉(zhuǎn)換成相應(yīng)的網(wǎng)絡(luò)API,并發(fā)送到Neutron服務(wù)器。
2)Neutron服務(wù)器收到請求后,將同一請求傳遞給已配置的插件(假設(shè)ML2已配置好了ODL機制驅(qū)動和VXLAN類型驅(qū)動)。
3)Neutron服務(wù)器/插件會對數(shù)據(jù)庫做適應(yīng)的變動。
4)插件會調(diào)用與SDN控制器對應(yīng)的REST API。
5)一收到請求,ODL會使用任何南向插件/協(xié)議,比如OpenFlow、OVSDB或OF-Config,對網(wǎng)絡(luò)元素做必要的變化。
5.小結(jié)
SDN給OpenStack帶來了一些特性,如網(wǎng)絡(luò)可視性、無縫的網(wǎng)絡(luò)和網(wǎng)絡(luò)可擴展性,SDN控制器集成OpenStack還不成熟,在測試階段驗證了這個結(jié)果。從商業(yè)調(diào)查的結(jié)果顯示在未來幾年,受訪者有意愿改變他們的生產(chǎn)網(wǎng)絡(luò)并分配大部分的預(yù)算支持SDN。從商業(yè)調(diào)查結(jié)果顯示參與者對SDN集成OpenStack有很高的接受度。
參考文獻(xiàn)
[1]任晶晶.《基于OpenStack的SDN相關(guān)技術(shù)研究》[J].光通信研究,2016(1) .
[2]張朝昆.《軟件定義網(wǎng)絡(luò)(SDN)研究進(jìn)展》[J].軟件學(xué)報,2015(26) .
[3]李知杰.《OpenStack開源云計算平臺》[J].軟件導(dǎo)刊,2012(12) .