?

基于SDN的虛擬私有云研究

2015-05-13 23:30楊紹光房秉毅
信息通信技術 2015年2期
關鍵詞:網絡設備路由器交換機

楊紹光 房秉毅 毋 濤

中國聯通研究院 北京 100032

引言

云計算的大規模運營給傳統網絡架構和應用部署帶來挑戰[1-2],新一代網絡支撐這種巨型的計算服務,不論是技術革新還是架構變化,都需要服務于云計算的核心要求,即動態、彈性、靈活,并實現網絡部署的簡捷化。具體來說傳統網絡面臨的挑戰主要4點。1)服務器的利用率從20%提高到80%,服務器端口流量大幅提升,對數據中心網絡承載性能提出巨大挑戰,對網絡可靠性要求也更高;2)多種應用部署在同一臺物理服務器上運行,使網絡流量在同一臺物理服務器上產生疊加,流量模型更加不可控;3)服務器虛擬化技術的應用必然伴隨著虛擬機的遷移,這種遷移需要一個苛刻的網絡環境來保障;4)虛擬機的部署和遷移,使得安全策略的部署變得復雜和無助,需要一個動態的機制來對數據中心進行防護[3]。

云計算平臺中,虛擬機在物理服務器之間進行遷移,為避免虛擬機遷移后路由的震蕩和修改網絡規劃,遷移通常只在在二層域進行,因此,云計算平臺需要具備一個性能更高、二層域更大的網絡環境為遷移提供保障。在傳統的數據中心網絡中,都是通過STP+VRRP的方式進行網絡拓撲設計,但由于STP+VRRP的設計和維護都比較復雜,其在很大程度上阻礙了二層域的擴大,隨著服務器的數量和網絡設備的增多,這種網絡設計方式將會變得無法實施。同時,虛擬機的遷移對網絡的可用性要求也非常高,在STP+VRRP的組網中,如果鏈路出現故障,其收斂時間都在秒級,這就增加了應用系統遷移的限制。

通過分析云計算對傳統網絡基礎架構帶來的挑戰,我們可以從兩個方面來應對。一是通過構建高性能、高可靠的網絡,以應對云計算給網絡帶來的壓力;二是通過構建虛擬化網絡來滿足云計算中由于虛擬機部署、遷移以及安全策略實施對網絡提出的靈活性、安全性的要求。

以亞馬遜為首的公有云運營商提出VPC(Virtual Private Cloud)的概念[3]。其主要思想是把原有的物理網絡作為底層的網絡通路,在此之上構建一層虛擬的網絡,用來承載用戶的業務數據。從而解決用戶之間的隔離問題以及用戶業務對底層承載網絡的相互影響問題[4]。

1 虛擬私有云系統功能分析

VPC的架構圖如圖1所示。通過Overlay技術,把云計算資源池的網絡分為底層的物理承載網絡和上層的虛擬Overlay網絡。底層的物理網絡即原有的由虛擬交換機、物理交換機、路由器等組成的云數據中心網絡,用于提供基本的網絡連通性。上層的Overlay網絡用于用戶的業務承載網絡[5-6]。

通過這種Overlay的網絡架構,在物理承載網絡之上虛擬出多個邏輯上隔離的VPC,用戶的私有數據被限制在VPC內部,以保證VPC之間的隔離性。同時,用戶的VPC無論怎么規劃,都不會影響到物理網絡,也不會影響其他用戶的網絡規劃,這樣就可以做到用戶對自己網絡的獨立規劃,解除了物理網絡和用戶網絡的耦合性。

VPC的功能需求主要有以下幾點。1)用戶網絡隔離。不同用戶的VPC網絡之間相互隔離,以保證用戶的安全性。2)用戶的主機資源在同一個VPC內。用戶的主機包括虛擬機和物理機資源,這些主機資源在一個VPC內,以保證用戶資源的互通性。3)同一個VPC內可劃分子網。VPC內部,用戶可以根據自己的使用需要劃分不同的子網,并可以對IP地址進行自由規劃。4)為用戶提供Internet訪問功能。用戶可以通過地址綁定或者NAT方式訪問Internet。5)為用戶提供DHCP服務。支持DHCP server功能,用戶主機自動獲取IP地址。6)防火墻服務。提供虛擬或者物理防火墻,用戶可以選擇是否使用防火墻。7)QoS服務。根據用戶業務流量優先級進行流量調度處理,對用戶主機進行限速。8)提供統計服務。對用戶主機的網絡流量進行統計,提供統計數據以及相關的數據分析功能。9)提供網絡冗余功能。提供端口冗余、網關冗余、路由冗余、VPN冗余等高可用性功能。10)允許虛擬機遷移。用戶虛擬機可以自由遷移,并且遷移后網絡策略自動跟隨。11)提供遠程VPN接入功能。允許用戶的私有網絡和VPC網絡互通,形成統一的網絡資源池。

2 基于SDN的虛擬私有云實現方式

2.1 概述

Software Defined Network(軟件定義網絡,SDN)由美國斯坦福大學提出,它是指將網絡設備的控制平面(control plane)從數據平面(data plane)中分離出來,并讓控制邏輯以軟件方式運行于邏輯上獨立的控制環境。這個架構可以讓網絡管理員在不改動硬件設備的前提下,以中央控制方式,用程序重新規劃網絡,為控制網絡流量提供新的方法,也提供核心網絡及應用創新的良好平臺。

SDN架構圖如圖2所示。數據層由只具有數據轉發功能的設備組成,它負責數據的轉發、設備信息的上報等;控制層又稱為網絡操作系統層,是SDN架構中的大腦,其抽取了原網絡設備中的控制功能,負責制定流轉發規則、狀態信息收集、網絡配置等控制功能;應用層通過調用控制層開放的API接口,編程實現各種網絡功能,如網絡監控、防火墻、流量過濾等。

圖2 SDN架構圖

SDN技術分離數據和控制平面,通過部署標準化網絡硬件平臺,使得許多網絡設備中的軟件可以按需安裝、修改、卸載而變身為運營商需要的設備,實現業務擴展。SDN的本質是邏輯集中控制層的可編程化。

VPC應用于云計算數據中心,云計算資源池由云平臺統一管理,實現對底層計算、存儲、網絡等物理資源的云化處理,并把相關資源作為服務提供給用戶使用。目前,Openstack是最炙手可熱的云管理平臺,其提供開放的模塊架構,以組件的方式對計算、存儲、網絡統一調度管理。其核心組件架構如圖3所示。本文以Openstack作為云平臺為例來對VPC的實現方式進行分析。

圖3 Openstack架構圖

云計算網絡相對于傳統網絡有較大改變。云計算資源池中不但有傳統的硬件網絡設備,還增加了虛擬的軟件網絡設備(如:虛擬交換機、虛擬路由器),也因此增加了網絡的復雜性。同時,云計算的靈活性(比如:多租戶共享資源、業務頻繁啟停等)要求對網絡設備更加智能、快速地進行管理,網絡必須適應業務的復雜性。這些都是傳統網絡捉襟見肘的地方。

實現Overlay的虛擬私有云,關鍵在于Overlay的網絡節點,其負責網絡流量的封裝、解封裝,是Overlay網絡的核心部件。Overlay網絡節點可以部署在物理網絡設備處,也可以部署在虛擬網絡設備處。部署位置的不同也就衍生出兩種不同的Overlay實現方案。一種是軟件方案,Overlay節點部署在軟件交換機處;另一種是硬件方案,Overlay節點部署在硬件交換機處。

2.2 軟件實現方式

軟件實現方式下,Overlay網絡由部署在云計算節點hypervisor處的軟件路由器(交換機)實現。SDN方案中數據轉發平面基于Overlay 網絡,使用通用標準成熟協議實現,不依賴特定廠商硬件。

SDN軟件方案主要由分布式控制器和分布式虛擬路由器組成,其系統架構圖如圖4所示。

系統提供基于REST API的北向接口給上層的應用程序使用。這些API可以被用來和云管理平臺進行集成,通過Neutron的插件方式和OpenStack的集成也可以用來開發管理這個虛擬化系統的WEB UI。

圖4 軟件實現方式架構圖

控制層使用XMPP、BGP、netconf等協議作為南向的接口,通過BGP、netconf和物理設備交互,通過XMPP協議和虛擬路由器進行通信,例如同步路由信息。東西向的接口主要還是BGP協議,通過BGP協議,各個控制程序同步信息,形成一個邏輯上中心化的控制層,不同的控制程序之間相當于熱互備。

在數據轉發層面,虛擬路由器之間支持多種Tunnel的方式,有VxLAN、MPLSoverGRE、MPLSoverUDP等。虛擬網絡的路由信息通過XMPP同步到各個虛擬路由器,不存在一個中心“路由器”。

相對于傳統的VLAN來隔離網絡的方式, SDN系統則是通過ARP代理的方式來避免二層廣播的影響,每一個Hpyervisor上的虛擬路由器都可以響應虛擬機的ARP請求,而不再將ARP請求發到交換機上去。

在DHCP方面,SDN也實現了DHCP服務的代理,可以自動響應虛擬機的DHCP請求,不需要第三方的DHCP服務。

網絡虛擬化軟件平臺系統使用特定的高層級服務數據模型和特定的低層級技術數據模型,通過轉換引擎實現前后者的映射,此外,網絡虛擬化軟件平臺系統還附帶了一組特定的南向協議。

網絡虛擬化軟件平臺系統中的模型化服務包括租戶、虛擬網絡、連接策略和安全策略。通過這些服務模型組件可以實現的基本業務主要有云計算網絡和NFV(適用環境:云計算網絡、多租戶網絡)。

低層級服務數據模型在網絡虛擬化軟件平臺系統中主要使用Overlay Networking(網絡構建模型:Overlay)實現服務模型。

配置節點的轉換引擎通過“編譯器”實現高層級服務數據模型到低層級數據模型的轉換映射。

控制節點使用的南向協議包括XMPP、BGP、Netconf。

網絡虛擬化軟件平臺系統是一個擴展平臺,意味著我們可以通過組件擴展的方式去支持更多的用戶部署環境,增加新的網絡技術。

1) 高級服務數據模型可以擴展新的組件去支持新的服務,例如運營商核心網絡的流量工程和流量日歷(根據日期進行流量管理)。

2) 低層次的服務數據模型也可以進行擴展。數據模型使用不同的技術來實現,例如多租戶可以使用VLAN實現,而不是Overlay。

新的南向協議可以引入到控制節點中,這主要用于支持網絡中使用不同協議的新類型的物理或者虛擬設備。例如,可以引入特定廠商的網絡設備中使用的CLI命令行接口,或者可能因為需要部署新的協議,新的組件需要引入到低層級技術數據層面中。

SDN系統由多個節點組成,即配置節點、控制節點、計算節點、分析節點、OpenStack Neutron插件(如圖5所示)。

配置節點主要負責通過Rest API來接受配置,并通過IFMAP協議將信息同步給控制節點。

控制節點主要負責接收通過IFMAP傳輸過來的信息,保存這些信息,并和計算節點通過XMPP協議同步信息,同時,控制節點還監聽179端口,和其他的控制節點形成BGP PEER,同步路由信息。

計算節點主要由一個Agent和虛擬路由器內核模塊組成,負責數據面的轉發。

圖5 SDN與OpenStack集成

OpenStack插件主要有Neutron插件和Libvrit的VIF插件,前者主要負責和SDN系統同步網絡信息,利用SDN系統管理網絡,后者主要負責將虛擬機的網卡插入到虛擬路由器中,并將網卡信息同步給虛擬路由器的Agent。

分析節點主要負責收集各個節點的工作狀態、log和系統信息,并提供類似SQL式的查詢。系統組成以數據為中心,數據的存儲有Cassandra、ZooKeeper、Redis等,Cassandra存儲具體的網絡配置信息,Zookeeper存儲服務信息,提供服務發現功能,這兩個都支持集群模式,因此,系統組成中的配置節點、控制節點、分析節點都可以支持多個同事部署,以達到HA的效果,如果一個單一的組件重啟,重啟后信息會從其他的節點同步,可提高系統的可靠性。

虛擬路由器是一個用戶空間進程,在Linux中運行,是一個本地的輕量級控制平面,它主要有七個功能。1)使用XMPP實現和控制節點,例如路由的控制狀態交換。2)使用XMPP從控制節點上接收低層級配置狀態,例如路由進程和轉發策略。3)向分析節點匯報信息,例如日志,匯總事件的分析狀態。4)向轉發平面傳遞轉發狀態(下發轉發表)。5)查找VM的狀態和屬性,和Nova代理進行交互。6)為每個新流的首包應用轉發策略,在轉發平面的流表中新增流表項。7)為DHCP、ARP和MDNS提供代理,其他代理會在未來版本中添加。

每個虛擬路由器都會連接至少兩個控制節點,在active-active冗余模型中提供冗余。虛擬路由器轉發平面運行在Linux的kernel中,主要負責如下功能。1)封裝數據包到Overlay網絡中,從Overlay網絡中解封裝數據包。2)分配數據包到路由實例中。①從Overlay網絡中接受數據包,并基于MPLS標簽或者虛擬網絡標識(VNI)分配到路由實例中。②為虛擬機提供虛擬接口,并綁定在路由實例中。③在轉發信息表中查詢目的地址,并將數據包發送到正確的目的地址,路由可以基于三層IP前綴或者二層MAC地址。④根據情況使用流表應用轉發策略。如匹配流表中的數據包,并應用流表操作;根據情況,當轉發規則在虛擬路由器中沒有找到流規則時則掛起數據包,然后在流表中應用一條規則;掛起一些數據包,如DHCP、ARP、MDNS等用于虛擬路由器中的代理。

2.3 硬件實現方式

硬件實現方式下,Overlay網絡硬件交換機處實現用戶數據的封裝、解封裝,一般在TOR(Top of Rack)交換機處。

SDN硬件方案主要由分布式控制器和硬件交換機組成,其系統架構圖如圖6所示。

圖6 硬件實現方式架構圖

需要說明的一點,硬件方案也需要虛擬交換機配合,對用戶數據進行基本的VLAN封裝和解封。在此結構下,虛擬交換機把虛擬機發送的報文打上VLAN tag后發送到接入交換機,接入交換機通過分層的方式,把租戶的虛擬網絡和底層用于隧道傳輸的物理網絡進行分離,同時,通過給每個租戶分配一個虛擬網絡實現租戶隔離。

以VxLAN封裝來實現Overlay為例,用戶數據的轉發流程如圖7所示。

圖7 硬件實現用戶數據處理流程

網絡報文從虛擬機發出后,虛擬交換機在原始報文打上VLAN tag標簽后發送到接入交換機,接入交換機根據VLAN tag在報文外層封裝VxLAN報文頭以及轉發到對端接入交換機所需的路由信息,然后,把此報文發送到物理網絡。對端接入交換機收到此報文后把外層報文頭剝離后發送到虛擬交換機,虛擬交換機根據內層報文信息把此報文轉發到相應的虛擬機。整個報文轉發流程完成。

硬件實現方案原理與軟件方案類似,區別是把實現Overlay封裝和解封裝的工作放在了硬件交換機上來做。其好處是減輕軟件處理Overlay的壓力,釋放了此部分計算資源,保證了系統性能。其缺點也很明顯,需要專門支持Overlay功能的硬件設備,導致系統靈活性降低。

3 總結

基于SDN的虛擬私有云通過構建Overlay網絡的方式解決了云計算系統中多租戶網絡的隔離問題,屏蔽了租戶業務網絡對底層物理網絡的影響,使得用戶可以自由規劃自己的網絡,在大規模云計算系統中得到越來越多的應用。目前,虛擬私有云的實現方式主要有軟件方式和硬件方式,各有其優缺點,適用于不同的場景。軟件方案靈活性較高,對硬件網絡設備沒有依賴,適用于對原有系統的升級改造;硬件方案性能較好,不占用服務器的資源,但是需要專門的硬件網絡設備,硬件成本比軟件方案高。

參考文獻

[1]Michael stephens ten trends & Technologies for 2009[EB/OL].(2009-12-12)[2015-01-20].http://tametheweb.com/2009/01/12/ten-trendstechnologies-for-2009

[2]劉鵬.云計算[M].北京:電子工業出版杜,2010

[3]孫鑫.面向云環境數據中心的高效資源調度機制研究[D/OL].[2015-01-20].http://cdmd.cnki.com.cn/Article/CDMD-10013-1012499167.htm

[4]Amazon Elastic Compute Cloud[EB/OL].(2014-02-01)[2015-01-20].http://awsdocs.s3.amazonaws.com/EC2/latest/ec2-ug-zh_cn.pdf

[5]薛淼,符剛,朱斌,等.基于SDN-NFV的核心網演進關鍵技術研究[J].郵電設計技術,2014(3):16-22

[6]李素粉,董暉,房秉毅,等.面向云化EPC資源的移動CDN融合架構研究[J].電信科學,2014(11):27-32

猜你喜歡
網絡設備路由器交換機
買千兆路由器看接口參數
網絡設備的安裝與調試課程思政整體設計
維持生命
路由器每天都要關
路由器每天都要關
一種基于C# 的網絡設備自動化登錄工具的研制
更換匯聚交換機遇到的問題
基于地鐵交換機電源設計思考
締造工業級的強悍——評測三旺通信IPS7110-2GC-8PoE工業交換機
羅克韋爾自動化交換機Allen-Bradley ArmorStratix 5700
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合