吳 強,徐 鑫,劉國燕
(1.中興通訊股份有限公司中心研究院 南京 210012;2.北京郵電大學網(wǎng)絡技術研究院 北京 100876)
隨著終端計算處理能力的提高、網(wǎng)絡傳輸能力的擴大,Web技術的出現(xiàn)和發(fā)展,網(wǎng)絡所承載的信息急劇膨脹,互聯(lián)網(wǎng)不再是單純以通信為目的的網(wǎng)絡,而是更多地朝著滿足人們獲取信息需求的方向發(fā)展,成為一個信息承載和分發(fā)的平臺。由于人們對信息獲取方式(有線、移動)、信息類型(數(shù)據(jù)、話音、視頻)、信息質(zhì)量、信息安全等呈現(xiàn)多元化的需求,所以互聯(lián)網(wǎng)為了適應和滿足各類需求不斷地引入大量的控制協(xié)議,形成了一個龐大的控制平面。這些控制協(xié)議從設計上依附于特定的轉(zhuǎn)發(fā)協(xié)議,而且從實現(xiàn)上看,控制平面與轉(zhuǎn)發(fā)平面都運行在網(wǎng)絡設備中,給網(wǎng)絡功能的擴展和網(wǎng)絡的管理帶來了巨大的挑戰(zhàn)。
隨著云計算的興起,利用虛擬化和面向服務技術,能夠為智能輕便設備提供類型廣泛的業(yè)務服務。在這種計算模式下,計算和存儲能力向網(wǎng)絡中心遷移,形成數(shù)據(jù)中心,大量的計算請求、信息請求依托網(wǎng)絡向數(shù)據(jù)中心發(fā)送,網(wǎng)絡成為數(shù)據(jù)中心和用戶的紐帶。傳統(tǒng)的計算、存儲一體的個人計算機轉(zhuǎn)變成計算、存儲功能分離的集群系統(tǒng),網(wǎng)絡不僅要實現(xiàn)不同接入方式的融合、不同信息類型的傳輸、不同等級服務質(zhì)量的保證、不同安全方法的應用,而且要實現(xiàn)用戶的透明接入和以應用為中心的網(wǎng)絡適配,這就要求對網(wǎng)絡的控制更加功能靈活,接口開放和性能強大,能夠像軟件系統(tǒng)一樣模塊化、可定制、易擴展。馮·諾依曼采用功能抽象模型,把計算機抽象為一系列功能模塊,計算機由運算器、控制器、存儲器、輸入設備、輸出設備等功能模塊組成。馮·諾依曼模型的著眼點是計算機體系結構,計算系統(tǒng)經(jīng)歷了從封閉系統(tǒng)到水平擴展再到垂直分層的演化過程。當前的互聯(lián)網(wǎng)也處在封閉系統(tǒng)的階段,對其進行抽象、分化、垂直分層的工作,有利于互聯(lián)網(wǎng)向高級靈活網(wǎng)絡的演進。
軟件定義網(wǎng)絡(SDN)是一種新型的網(wǎng)絡技術,其最本質(zhì)的特征就是網(wǎng)絡控制與轉(zhuǎn)發(fā)分離,轉(zhuǎn)發(fā)行為可編程。通過控制功能的遷移、對應用和網(wǎng)絡的抽象、將轉(zhuǎn)發(fā)平面與控制平面分離,能夠把網(wǎng)絡看成一個邏輯或虛擬實體,成為類似計算機的基礎架構,將轉(zhuǎn)發(fā)行為抽象,提供標準化的、開放的控制接口,控制平面可以運行在外部調(diào)用控制接口,并根據(jù)全局的網(wǎng)絡視圖,實現(xiàn)更加靈活的控制能力。所以網(wǎng)絡的垂直分層,為實現(xiàn)軟件定義網(wǎng)絡提供了可能,更為網(wǎng)絡與計算、存儲等功能結合,形成網(wǎng)絡、計算和存儲融合的服務環(huán)境提供了可能。
公有云數(shù)據(jù)中心以資源出租為核心業(yè)務,因此資源的有效管理和交付是云計算數(shù)據(jù)中心運營者時刻關注的重點。數(shù)據(jù)中心規(guī)?;瘞砹速Y本的集約化,同時也帶來了一系列規(guī)模問題。
·大型網(wǎng)絡的管理問題。大型數(shù)據(jù)中心中包括數(shù)千臺物理交換機、數(shù)萬臺的虛擬交換機,一個簡單的故障,如如何進行端到端的定位都變成了一件非常困難的任務。據(jù)統(tǒng)計,大型數(shù)據(jù)中心50%~80%的出錯都是由于人的誤操作導致,如何強化數(shù)據(jù)中心自主配置與管理是亟待解決的最現(xiàn)實需求。
·服務器與物理資源綁定,帶寬/機架等租賃業(yè)務開
展受硬件資源限制,維護管理復雜。引入服務器虛擬化后,業(yè)務部署以虛擬機(VM)為單位,其部署的位置是可以浮動的,同時虛擬機也可以在運行時遷移,因此也超出4 096個VLAN ID范圍的海量多租戶需求。
·資源利用率低,難以實現(xiàn)網(wǎng)絡與虛擬機間的快速協(xié)同。現(xiàn)有網(wǎng)絡無法支持虛擬私有云的客戶訂制化網(wǎng)絡配置實時生效,不能實現(xiàn)多層網(wǎng)絡間協(xié)同,難以按需調(diào)整帶寬。
基于軟件定義網(wǎng)絡的多租戶數(shù)據(jù)中心解決方案將軟件定義網(wǎng)絡技術運用到數(shù)據(jù)中心,彌補了云計算在網(wǎng)絡虛擬化方面的短板,使計算、存儲和網(wǎng)絡進一步整合,實現(xiàn)真正意義上的資源完全自動化部署、實時資源調(diào)度和快速網(wǎng)絡故障排除,并具有隨時增加新業(yè)務的潛力,為云計算中心運營者降低維護成本,提高用戶體驗提供了新的選擇。
云計算的特點之一就是將資源進行集中分配調(diào)度,計算資源和網(wǎng)絡資源由不同的平臺提供,要求更有效的計算/網(wǎng)絡/存儲資源整合能力,關鍵是形成云計算數(shù)據(jù)中心統(tǒng)一的資源調(diào)度組。
虛擬化使物理設備轉(zhuǎn)化為資源池,具有按需分配和互相隔離的特征,虛擬化是資源能夠靈活分配調(diào)度的必要條件。服務器虛擬化和存儲虛擬化都有了較成熟的解決方案,并且都有成熟的軟件平臺提供資源部署和調(diào)度。但是數(shù)據(jù)中心的業(yè)務是離不開網(wǎng)絡的,每個租戶都需要通過網(wǎng)絡連接自己的虛擬機,并且不能與其他租戶的網(wǎng)絡互相干擾。因此,網(wǎng)絡作為資源的一部分同樣向著虛擬網(wǎng)絡發(fā)展。數(shù)據(jù)中心的網(wǎng)絡必須隔離成多個虛擬網(wǎng)絡,分配給各個租戶,使每個租戶都感覺在獨立使用網(wǎng)絡,可以分配自己的IP地址,設置自己的網(wǎng)絡安全策略。
按目前的網(wǎng)絡技術,租戶網(wǎng)絡的隔離可以采用VLAN技術,安全策略可以在交換機上進行配置。但這種方式存在很大的問題,如VLAN的個數(shù)限制,VLAN ID的長度限制VLAN個數(shù)不能超過4 096個,因此租戶數(shù)目受到限制。另外,虛擬機的申請、釋放和遷移都具有動態(tài)性,這使得與虛擬機相關的網(wǎng)絡配置也必須具有動態(tài)性,頻繁修改網(wǎng)絡配置使網(wǎng)絡管理非常復雜。因此,從整個數(shù)據(jù)中心的管理層面講,希望虛擬機、存儲系統(tǒng)和網(wǎng)絡能夠無縫集成,虛擬機部署時自動化部署網(wǎng)絡配置,虛擬機遷移時網(wǎng)絡配置跟隨遷移。進一步,理想的數(shù)據(jù)中心網(wǎng)絡應能夠根據(jù)網(wǎng)絡拓撲優(yōu)化網(wǎng)絡流量,使網(wǎng)絡容量得到高效率的利用。
圖1 SDN基本原理
面對數(shù)據(jù)中心網(wǎng)絡的需求,軟件定義網(wǎng)絡提供了解決方案,將網(wǎng)絡資源虛擬化,使得計算調(diào)度可以擺脫網(wǎng)絡的束縛。圖1是SDN基本原理的說明,SDN采用數(shù)據(jù)抽象轉(zhuǎn)發(fā)模型,把交換機的轉(zhuǎn)發(fā)過程抽象為一系列 “流表(flow table)”??刂泼嬖O備為NOS(網(wǎng)絡操作系統(tǒng)),它通過OpenFlow或其他協(xié)議控制轉(zhuǎn)發(fā)面的SDN轉(zhuǎn)發(fā)設備。SDN關注的焦點不是交換機體系結構或ASIC實現(xiàn)的標準化,而是網(wǎng)絡控制器。有了集中式的網(wǎng)絡控制器,就有了全局網(wǎng)絡視圖或更多的網(wǎng)絡狀態(tài)信息,視野更開闊,信息更豐富,可以實現(xiàn)數(shù)據(jù)中心場景下原來分布式網(wǎng)絡控制模式下難以實現(xiàn)的網(wǎng)絡新功能。
從網(wǎng)絡控制器的角度看,它對交換機轉(zhuǎn)發(fā)行為的控制,具體體現(xiàn)為控制器可以直接讀寫交換機的轉(zhuǎn)發(fā)表??刂破魍ㄟ^操縱流表,而不是操縱SDN轉(zhuǎn)發(fā)設備上的功能模塊來“指揮”交換機。也就是說,從控制器看交換機,看到的部件是流表,而不是硬件功能模塊,SDN的控制器不關心流表硬件實現(xiàn)。這就是SDN采用數(shù)據(jù)抽象的原因。
SDN轉(zhuǎn)發(fā)設備本身沒有智能,它完全按照NOS下載的流表進行流量轉(zhuǎn)發(fā)。流表包含匹配規(guī)則和行為,指示符合這種規(guī)則的數(shù)據(jù)流如何轉(zhuǎn)發(fā)。另外,SDN轉(zhuǎn)發(fā)設備能夠?qū)⒕W(wǎng)絡事件,如未匹配的數(shù)據(jù)分組、端口中斷和激活等,轉(zhuǎn)發(fā)給NOS,供NOS做決策。
SDN的引入,使數(shù)據(jù)中心網(wǎng)絡具有了可編程性,使數(shù)據(jù)中心網(wǎng)絡支持多租戶、流量優(yōu)化、虛擬機遷移等成為可能。
將SDN技術應用到數(shù)據(jù)中心網(wǎng)絡中,使網(wǎng)絡資源能夠與計算資源和存儲資源一起進行統(tǒng)一調(diào)度,并提供開放接口給上層應用,進一步提供新業(yè)務開發(fā)能力。
以SDN技術構建的數(shù)據(jù)中心系統(tǒng)架構如圖2所示。系統(tǒng)分為3部分。
(1)VDC Manager
即虛擬數(shù)據(jù)中心管理器,負責實現(xiàn)整個多租戶數(shù)據(jù)中心業(yè)務邏輯,它同時與VM Manager和SDN NOS接口統(tǒng)一控制計算、存儲和網(wǎng)絡資源,保證計算資源和網(wǎng)絡資源同步調(diào)度。VDC Manager內(nèi)部保存每個租戶虛擬機和網(wǎng)絡配置信息的對應關系,給用戶提供一個邏輯視圖,使每個用戶能夠看到自己的虛擬網(wǎng)絡,并按照自己的策略進行管理,同時又不會干擾其他租戶的網(wǎng)絡。用戶對虛擬機和虛擬網(wǎng)絡的操作被轉(zhuǎn)化為對SDN NOS和VM Manager的調(diào)用。
圖2 SDN技術構建數(shù)據(jù)中心系統(tǒng)架構
(2)SDN NOS
即SDN控制面實體,建立全網(wǎng)視圖,負責全面管理網(wǎng)絡資源,通過OpenFlow協(xié)議控制數(shù)據(jù)中心的SDN轉(zhuǎn)發(fā)設備。SDN NOS軟件部分包含NOS核心,即網(wǎng)絡操作系統(tǒng)核心,為上層應用提供運行環(huán)境和系統(tǒng)服務。NOS之上可以運行各種應用模塊。SDN NOS提供開放API給VDC Manager。
(3)VM Manager
即虛擬機管理器,負責管理計算資源和存儲資源,上報虛擬機創(chuàng)建、遷移等事件,內(nèi)部包含虛擬機遷移、高可用性(HA)、資源調(diào)度等模塊。它提供接口給VDC Manager。
由于SDN技術的引入,使數(shù)據(jù)中心網(wǎng)絡成為開放的網(wǎng)絡,并提供開放接口,為上層應用調(diào)度網(wǎng)絡資源提供了可能,它為整個解決方案帶來了如下優(yōu)勢。
(1)網(wǎng)絡自動化部署、網(wǎng)絡故障的自動探測和恢復
VDC Manager將計算資源和網(wǎng)絡資源進行綁定,當用戶部署虛擬機時,VDC Manager能夠自動獲取虛擬機的位置,查詢虛擬機相關網(wǎng)絡特性,在其相連的交換機上部署網(wǎng)絡特性。這樣,無需人工干預即可部署整個虛擬網(wǎng)絡。
控制面、轉(zhuǎn)發(fā)面分別演進。轉(zhuǎn)發(fā)面不感知任何業(yè)務邏輯,只是機械地按照流表中的指令集進行轉(zhuǎn)發(fā),從而實現(xiàn)數(shù)通設備轉(zhuǎn)發(fā)面與控制面的解耦,使數(shù)據(jù)中心網(wǎng)絡擺脫網(wǎng)絡硬件的束縛,只關注對網(wǎng)絡的功能需求,徹底解放軟件的創(chuàng)造力。原有系統(tǒng)的功能升級在多個設備上分散進行,現(xiàn)有系統(tǒng)中在集中式的網(wǎng)絡控制器一個點上運行即可,功能升級點減少。
由于SDN NOS能夠?qū)崟r探測網(wǎng)絡拓撲的變化,當某兩臺SDN轉(zhuǎn)發(fā)設備之間的鏈路中斷時,或者某臺交換機失效時,SDN NOS能夠很快探測出來,為維護人員發(fā)生告警信息,同時還能夠重新計算出新的路徑,繞過失效的節(jié)點,使網(wǎng)絡業(yè)務保持正常。
通過集中統(tǒng)一的調(diào)度管理實現(xiàn)業(yè)務的靈活部署,為數(shù)據(jù)中心多租戶提供可靠保障,統(tǒng)一高效運維網(wǎng)絡能夠極大降低云計算數(shù)據(jù)中心的運維成本。
(2)支持虛擬機遷移
當虛擬機遷移時,VM Manager會通過接口通知VDC Manager發(fā)生了遷移事件,VDC Manager調(diào)用SDN NOS的API,將虛擬機關聯(lián)的網(wǎng)絡特性同時遷移,保證虛擬機遷移完成時網(wǎng)絡同步可用。整個過程也是自動化執(zhí)行的。
(3)支持多租戶
由于SDN具有可編程能力,SDN NOS可以加載應用模塊,識別不同租戶的網(wǎng)絡流量,通過流表的控制,使數(shù)據(jù)流只能在同一租戶的虛擬機間轉(zhuǎn)發(fā)。突破VLAN 4 096的個數(shù)限制,支持大量相互隔離的租戶網(wǎng)絡。租戶通過自服務門戶分配虛擬數(shù)據(jù)中心,資源按需分配;租戶資源隔離,獨立分配IP、MAC地址和網(wǎng)絡策略。
(4)網(wǎng)絡流量優(yōu)化
SDN NOS通過OpenFlow協(xié)議能夠探測網(wǎng)絡拓撲,感知底層網(wǎng)絡拓撲變化,在控制面維護一個整網(wǎng)的拓撲視圖。根據(jù)每個虛擬機所在的位置,SDN NOS就能夠計算出每兩個虛擬機之間的最佳路徑,使流量按最佳路徑轉(zhuǎn)發(fā)。而且,SDN NOS還能夠支持等價多路徑轉(zhuǎn)發(fā)、基于約束條件的最短路徑轉(zhuǎn)發(fā)以及感知網(wǎng)絡、服務器負載的流量工程調(diào)度,實現(xiàn)廣播抑制,通過支持ARP代答減少帶寬浪費。SDN架構能靈活修改設備流表,改變數(shù)據(jù)報文的轉(zhuǎn)發(fā)路徑,可用于開發(fā)IDC節(jié)能減排應用。
SDN將網(wǎng)絡的智能剝離出來,交給集中的網(wǎng)絡操作系統(tǒng),通過智能軟件對硬件資源抽象,將資源聚合成能力池,使得網(wǎng)絡更加軟件化、敏捷化,為滿足云計算數(shù)據(jù)中心動態(tài)、彈性、有效使用網(wǎng)絡的應用需求,提供自動、安全、靈活有效調(diào)度資源的能力,結果可能將使得網(wǎng)絡的創(chuàng)新節(jié)奏加快一個數(shù)量級。SDN的架構符合IT數(shù)十年來的發(fā)展大趨勢:把性能和穩(wěn)定性交給硬件,功能和多變性交給軟件。同時SDN是一種IT技術對網(wǎng)絡的滲透,結果必將是開啟網(wǎng)絡的IT化進程。
SDN已經(jīng)在離計算最近、IT密度最高的地方——數(shù)據(jù)中心中引入,賦予了數(shù)據(jù)中心網(wǎng)絡更靈活的能力,以降低網(wǎng)絡開發(fā)維護成本,有利于推動設備側/網(wǎng)絡層新協(xié)議、新功能、新業(yè)務在網(wǎng)絡上快速實現(xiàn)和部署。而離計算相對較遠、計算稀疏的互聯(lián)網(wǎng)網(wǎng)絡中,同樣需要提供可修改、可擴展、可按需求重構的能力,以支持設計出各種可能的未來互聯(lián)網(wǎng)形態(tài)。開放網(wǎng)絡設備和開放網(wǎng)絡,將是未來網(wǎng)絡體系結構研究中的有價值、有意義的重要研究方向。
1 McKeown N,Anderson T,Balakrishnan H,et al.OpenFlow:enabling innovation in campus networks.SIGCOMM Comput Commun Rev,2008,38(2):69~74
2 Software-Defined Networking:the New Norm for Networks.ONF White Paper,2012
3 Mosharaf Kabir Chowdhury N M,Boutaba R.A survey of network virtualization. Journal Computer Networks: the International Journal of Computer and Telecommunications Networking,2010,54(5)
4 Gude N,Koponen T,Pettit J,et al.NOX:towards an operating system for networks.Proceedings of ACM SIGCOMM CCR,Seattle,WA,USA,2008
5 Heller B,Seetharaman S,Mahadevan P,et al.ElasticTree:saving energy in data center networks.Proceedings of the 7th USENIX Conference on Networked Systems Design and Implementation,San Jose,CA,USA,2010