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