張 斌,羅東森
(中國電子科技集團公司第30研究所,四川成都610041)
云計算數據中心SDN部署研究*
張 斌,羅東森
(中國電子科技集團公司第30研究所,四川成都610041)
SDN是時下一種新興的網絡設計架構,其數據交換與網絡控制物理分離的架構很好的滿足了網絡簡單化、智能化的需求,使得網絡易于進行功能、性能擴展,并降低設備成本和運維開銷;云計算的基本目的是將資源(計算資源、網絡資源、存儲資源)動態靈活部署,優化配置。SDN在網絡資源虛擬化、智能化上有著天然優勢。所以在云計算環境中部署SDN,使網絡能夠更好的支持云計算就成為一項熱門研究。文中在對SDN及云計算進行介紹的基礎上,給出一種SDN如何在云計算環境中進行部署實現的方案
云計算 軟件定義網絡 數據中心 虛擬化
云計算是一種新興的計算模型,是并行計算、分布式計算與網絡計算等技術混合演變的結果,是通過網絡按需獲取服務。云計算是一種服務,也是一種技術,或者商業模式[1]。而提供服務的網絡、存儲設備及計算資源,即是云。
云計算的典型特征是將信息技術服務化,即將傳統IT設備提供的能力以網絡服務的形式提供給用戶。其中,網絡將分散的計算資源集中起來形成資源池,通過管理組件,將資源靈活重組,以各種形式向用戶提供服務。網絡是云計算不可或缺的組件,用戶接入、云計算數據中心節點互聯,都需要通過高速網絡實現。本文主要對云計算環境下數據中心網絡部署技術進行研究。
傳統網絡數據轉發與控制緊耦合,在應對網絡應用需求方面需要經過制定協議與標準化、設備研發、測試并應用的超長路徑,在創新性和可編程方面存在不足,已經無法滿足云計算環境對網絡高QoS、網絡虛擬化、網絡資源動態靈活調度重組以及管理簡單化的靈活需求。而SDN的出現,在很大程度上
可以解決上述應用需求。SDN最核心的設計思想就是將數據轉發與控制分離,使得網絡配置靈活、功能可編程。實現SDN功能特性的基礎就是網絡設備虛擬化、資源池化。這些特性剛好滿足了云環境下對網絡的需求。通過SDN實現虛擬機隔離、高效的虛擬機遷移、流量監控、VEPA等,也變得更簡單高效。所以利用SDN構建云計算網絡,是對云計算的一個有力支撐,彌補了當前云計算環境下數據中心網絡實施方面的不足。
云計算數據中心的計算服務器部署著大量虛擬節點,為了維持這些虛擬節點的高可用性,其支撐平臺需要維護大量的關鍵信息。同步這些信息時必須保證數據中心網絡的傳輸性能最優、延遲最少,數據通道多路徑、路由信息快速收斂。這些特性也是數據中心網絡設計的出發點。
傳統的數據中心網絡設計如圖1所示,分接入層、匯聚層和骨干層。虛擬交換機負責服務器內虛擬機間數據交換及入出服務器的數據處理。接入層負責將流量引入網絡。接入層與匯聚層、匯聚層與核心層之間運行三層路由協議,對數據進行轉發。

圖1 傳統三層數據中心網絡架構Fig.1 Network architecture of traditional data center with three layers
隨著云計算數據中心對網絡帶寬、轉發時延無止境的需求,這種網絡部署架構層次多、故障點多、延遲高的缺陷已逐漸不能滿足數據中心網絡中東西向數據劇增、虛擬機遷移頻繁等業務需求,新的網絡架構也順勢而出[2]。如圖2所示,新的數據中心網絡架構以網絡性能為出發點,因此僅維護MAC映射表為特征的大二層以太網占據了主導地位,復雜的路由器被三層交換機替代。從網絡結構上,去掉了匯聚層,取而代之的是接入-核心的網絡結構。但是此網絡架構也存在一定問題,例如,由于STP等各類生成樹協議對帶寬的浪費,大量數據仍采用三層轉發的方式進行交換機間數據交換。

圖2 二層數據中心網絡架構Fig.2 Network architecture of data center with two layers
隨著新的二層多路徑技術發展,引入了TRILL或者SPB協議,進行交換機間轉發表的同步。與用戶等域外節點通信,通過與骨干層網絡設備運行三層路由協議實現數據轉發。網絡架構如圖3所示。

圖3 二層數據中心網絡交換機多路徑架構Fig.3 MP architecture of data center network with two layers
同時,為了更好對服務器內虛擬機的流量進行監控,并提高虛擬交換機的效率,出現了VEPA/SCHANNEL和VN-TAG技術[3]。
上述網絡架構的演進雖然解決了一些問題,但是,大型云計算數據中心普遍具有數萬臺物理服務器,數量更多的虛擬機,如百度云數據中心南京機房,部署了5000余臺TOR萬兆集群。如此大規模的服務器群需要數千臺的物理網絡設備,需要大量交換機進行連接和承載。而現有的交換設備都是在其內部運行控制協議,導致設備運行場景復雜,網絡路由收斂慢;并且單臺設備無法了解整個網絡資源,不能合理迅速調配網絡資源、迅速修復網絡故障。同時傳統的數據中心網絡是分布式的,需要部署大
量人力去實施網管操作,對資源調整、故障修復效率較低。由此不難看出,針對數據中心網絡的特點,需要一種能對網絡網絡、計算、存儲資源統一調度,具有全網視圖,結構簡單的網絡架構,來更好的為數據中心網絡服務。SDN技術能很好契合數據中心網絡的集中網絡管理、靈活組網多路徑轉發、虛擬機部署和智能遷移等方面的需求,適合在數據中心網絡中應用。
SDN(Software Defined Network)軟件定義網絡,就是將網絡設備的控制平面從網絡設備中獨立出來,運行在一個獨立的中央控制設備上,由該設備驅動網絡運行,主要目的是用軟件模式替代傳統的基于嵌入式的、復雜的控制平面。其核心特征是控制與轉發物理分離,具有開放的編程接口,網絡集中控制[4]。其設計架構如圖4所示。

圖4 SDN網絡架構Fig.4 Network architecture of SDN
在這種網絡架構下,交換設備僅僅作為一個轉發部件,只運行數據交換功能和控制器代理功能;而控制平面運行在高性能服務器上(簡稱控制器),控制器和交換設備通過高速網絡連接,通過標準化的南向接口進行通信。控制器上運行路由協議、訪問控制部署策略、鏡像管理等控制功能,將網絡的運行策略下發到交換機,控制網絡運行模式。SDN的控制模式是典型的集中控制。在實際的網絡部署中,也會出現分布式控制器,但所謂的分布式控制也是以集中控制為基礎,控制器分布在不同的網絡域中,對各自的域進行管理,并且這些分布式控制器上層也需要有一個全局控制器對各個分布式控制器進行協調。
將云計算數據中心網絡采用SDN架設,核心思想是用控制器控制網絡運行模式,網絡中交換機、虛擬交換機對數據的轉發行為,完全由控制器中的應用程序決定。除此之外,控制器還需充當VM的管理代理,負責代理云管理平臺,部署虛擬機的創建、刪除、遷移、安全策略管理等。
3.1 部署模型
本設計方案中,采用兩層的數據中心網絡架構。其中接入層網絡采用SDN架構,按照大二層網絡部署。接入層與核心層仍然進行三層數據轉發。網絡設計架構如圖5所示。

圖5 SDN架構的數據中心網絡Fig.5 Data-center network with SDN architecture
圖5中,接入層交換機定義為三層交換機,與核心網間運行傳統的三層路由協議。網絡啟動時,接入層的物理交換機和虛擬交換機運行openflow協議,通過feature消息,將自身能力通報給控制器。控制器根據交換機的端口特征,生成LLDP協議報文,以PACKET_OUT的方式,指令各交換機在相應端口上發送。交換機收到其它交換機發來的LLDP協議報文后,通過控制代理上報控制器。控制機通過分析這些LLDP報文,可以生成所連交換機的全局拓撲。各交換機運行sFlow協議,將本地狀態上
報給控制器。通過這種機制,控制器實時掌握了全局網絡狀態信息。當有業務數據需要網絡提供傳輸服務時,控制器根據拓撲信息,生成符合業務數據特征的最佳轉發策略,下發給數據流經的交換機,交換機根據這些轉發策略,對數據采取相應的動作。
除了動態的轉發表外,控制器還可以通過北向,接受云管理平臺指令,將特定的數據轉發策略、防火墻運行策略、虛擬搬移策略等,簡單有效的影響交換機及服務器的行為。
3.2 數據轉發流程
基于SDN的網絡數據轉發流程主要思想為:當交換機中存在轉發表時,交換機按照轉發表進行處理;否則將數據發給控制器,由控制器根據業務特征生成轉發表,并下發給交換機,以后的數據,交換機根據此轉發表轉發。下面分幾種場景進行描述。
3.2.1服務器到核心網的流量
此場景下,數據源是虛擬機。由于數據目的地址為不同網段,所以數據的目的MAC地址為網關。其流程如下:
1)虛擬機ARP請求發給虛擬交換機,虛擬交換機沒有網關設備的MAC地址,將ARP請求發給控制器。
2)控制器收到ARP請求后,模擬網關,生成一個ARP應答,網關的MAC地址為服務器的接入交換機MAC地址。
3)該ARP應答通過VM的虛擬交換機,發給虛擬機,虛擬機獲取到網關的MAC地址。
4)虛擬機的業務數據此后沿著虛擬交換機、接入交換機的路徑,流入核心網。
3.2.2服務器間的虛擬機流量
此場景下,數據在大二層網絡中流轉,流程如下:
1)虛擬機向直連虛擬交換機發出目標ARP請求,虛擬交換機無目標設備的MAC信息,將ARP請轉發給控制器;
2)控制器收到ARP請求消息后,以PACKET_ OUT的形式,指令域內所有交換機進行廣播。
3)目標設備收到ARP請求后,給接入交換機返回ARP應答。接入交換機再將此應答發送給控制器。控制器通過源主機相鄰的接入交換機,將ARP應答發送至源設備。同時,控制器根據全局拓撲結構以及目標節點的接入交換機信息,計算出業務數據路徑,生成轉發表,發送至沿途各交換機。
如果虛擬交換機與接入交換機運行VEPA或者S-CHANNEL,SDN也非常適合。在此場景下,可以取消虛擬交換機與控制器之間的連接,控制器充當VIF管理服務器的角色[3]。
3.3 虛擬機遷移流程
采用SDN架構,虛擬機遷移指令由控制器控制,使遷移流程變得更加簡潔高效,并且可以大大簡化批量遷移流程,遷移機制如圖6所示。

圖6 虛擬機遷移機制Fig.6 Mechanism of VM transfer
虛擬機遷移分冷遷移和熱遷移。冷遷移的主要特征是關閉原VM后,進行VM遷移,遷移完成并部署安全策略后,新VM提供外部訪問。熱遷移的主要特征是在進行VM遷移的同時,原VM繼續對外界提供服務。待遷移完成,狀態同步完畢,關閉原虛擬機,啟動新虛擬機,部署安全策略,最后新VM提供訪問服務[5]。
虛擬機遷移主要流程為:VM首先在控制器上進行注冊。當服務環境發生改變,需要進行虛擬機遷移時,云管理平臺生成虛擬機管理遷移策略,通過控制器對物理服務器、及物理服務器之間的互操作,完成虛擬機遷;遷移完成后,控制器推送云管理平臺對虛擬機安全策略、運行策略。冷啟動流程較為簡單,在此不贅述,熱遷移過程中,云管理平臺、控制器、交換機以及源、目的宿主機交互過程流程如圖7所示。

圖7 虛擬機熱遷移流程Fig.7 VM hot transfer process
SDN是典型的集中控制方式,其對網絡的虛擬化能力,網絡功能、性能的自動處置能力,高效網絡管理能力,大大簡化了虛擬機部署復雜性,提高密集交換設備環境下智能化適配性能,很適合在云計算環境中部署。SDN控制器很容易集成到openstack等云管理平臺中,網絡管理員可以方便的通過云管理平臺控制網絡運行,使用網絡服務。目前,一些大型信息服務提供商,例如谷歌、亞馬遜,都進行了一定程度上的數據中心SDN化改造,并取得很好的成果。隨著SDN體系架構的進一步完善,必將在日益壯大的云計算環境中得到廣泛應用。
[1] 中國電信網絡安全實驗室.云計算安全-技術與應用[M].北京:電子工業出版社,2012:2-71.
Security Lab of Telecommunication Network of China.Security of Cloud Computing-Techology and application [M].Beijing:Publishing House of Electronics Industry, 2012:2-7
[2] 馮志新.電信行業智能數據中心的研究與應用[J].通信技術,2012,45(01):69-70.
FENG Zhi-xin.Research and Application of Smart Data Center For Telecommunication Industry[J].Communication Technology,2012,45(1):69-70
[3] Sponsor.IEEESTD802.1QY-2012,Media Access Control (MAC)Bridges and Virtual Bridged Local Area Networks [S].New York,NY 1007,USA:Institute of Electrical and Electronics Engineers,Inc.1162-1182,2014.
[4] 張衛峰.深度解析SDN[M].北京:電子工業出版社, 2014:66-77.
ZHANGWei-feng.Depth resolution of SDN[M].Beijing: Publishing House of Electronics Industry,2014:66-77
[5] 陳伯龍,程志鵬,張杰.云計算與openstack[M].北京:電子工業出版社,2013:98-99.
CHEN Bo-long,CHENG Zheng-peng,ZHANG Jie.Cloud computing and openstack[M].Beijing:Publishing House of Electronics Industry,2013:98-99.

張 斌(1977—),男,工程師,碩士,主要研究方向為寬帶網絡;
ZHANG Bin(1977-),male,engineer,M. Sci.,mainly engaged in wideband network.
羅東森(1978—),男,工程師,學士,主要研究方向計算機應用。
LUO Dong-sen(1978-),male,engineer,B.Sci.,majoring in computer application.
SDN Dep loyment in Cloud-Com puting Data Center
ZHANG Bin1,LUO Dong-sen2
(No.30 Institute of CETC,Chengdu Sichuan 610041,China)
SDN is an emerging network design architecture,and its design concept for physical separation of data exchange and network control could fairlymeet the need of network simplification and intelligence. thusmaking it easy for SDN to extend network function and performancewhile reducing the equipment,operation andmaintanence costs.Cloud computing aims to realize dynamic and flexible deployment of computing,network and storage resource and further the optimized configuration.SDN enjoys born advantages in virtulization and intelligence of network resource.Thus,the deployment of SDN in cloud-computing data center environment is a hotspot research for better supporting of cloud computing.Based on the introduction of SDN and cloud computing,an implementation shceme of how to deploy SDN in cloud computing environment is also given in this article.
cloud computing;SDN;data center;virtualization
TN915.41
A
002-0802(2014)12-1424-05
10.3969/j.issn.1002-0802.2014.12.016
2014-06-25;
2014-10-28 Received date:2014-06-25;Revised date:2014-10-28