樊勇兵,馮 明,陳 楠,何曉武
(1.中國電信股份有限公司廣州研究院 廣州510630;2.中國電信集團公司 北京100032)
2006年,在斯坦福大學主導的Clean-Slate Design for the Internet項目中,Martin Casado博士及其團隊成員提出了Ethane架構,被認為是軟件定義網(wǎng)絡(software-defined networking,SDN)概念和技術的發(fā)展源頭。在此基礎上,2007年,Martin聯(lián) 合McKeown N教 授 (斯 坦 福 大 學)、Shenker教授(加州大學伯克利分校),共同創(chuàng)建了致力于網(wǎng)絡虛擬化的Nicira公司,并提出了SDN的概念。但是,也有人說,SDN的概念最早是由Greene K于2009年在Technology Review網(wǎng)站上評選年度十大前沿技術時提出的。2008年,Nick等 人 發(fā) 表 文 章“OpenFlow:Enabling Innovation in Campus Networks”[1],完整地提出了實現(xiàn)SDN的OpenFlow框 架。2011年,開 放 網(wǎng) 絡 基 金 會(Open Networking Foundation,ONF)在Nick等人的推動下成立,專門負責OpenFlow規(guī)范的維護和發(fā)展。在此過程中,隨著互聯(lián)網(wǎng)公司的介入,尤其是Google的成功實踐,OpenFlow幾乎成為SDN和下一代網(wǎng)絡的代名詞。
2012年,Nicira被VMware收購。有趣的是,被收購后的Nicira很快將其研發(fā)方向從基于OpenFlow的SDN轉(zhuǎn)向了基于Overlay的SDN。至于其原因,按Martin的說法,“前者更適合于流量工程,后者更適合于數(shù)據(jù)中心網(wǎng)絡”。筆者分析,這其中隱藏的一個重要原因也許是VMware需要構建和強化一個以服務器虛擬化為核心的、端到端的生態(tài)鏈,擺脫對傳統(tǒng)網(wǎng)絡設備廠商的依賴。
為了迎接新的技術挑戰(zhàn),代表互聯(lián)網(wǎng)設備廠商的最重要標準組織IETF也在2011年的第82次會議上設立了SDN BoF。不 過 此SDN不 是 彼SDN,這 里 的SDN是software-driven networking的縮寫。與OpenFlow強調(diào)控制與轉(zhuǎn)發(fā)物理分離不同的是,software-driven networking的目標是通過在應用與網(wǎng)絡控制層之間引入一個通信框架,使現(xiàn)有控制平面變得更靈活并且允許快速可靠的配置更改。該BoF結(jié)束后IETF于2012年5月、11月分別設立了與SDN相關的網(wǎng)絡虛擬化疊加 (network virtualization overlay,NVO3)、路由系統(tǒng)接口(interface to the routing system,I2RS)工作組。從NVO3和I2RS所面向的問題域來看,后者更像是上述BoF的繼承產(chǎn)物。同年,IRTF設立了SDN研究組(這里的SDN又恢復了software-defined networking的拼寫,但從該研究組發(fā)布的草案draft-sin-sdnrg-sdn-approach-03[2]和I2RS的已有工作看,它仍然在沿著software-driven networking所定義的目標前進)。其實,IETF歷史上的某些工作,也有與SDN在理念上有相通之處的,如早在2001年即已成立的轉(zhuǎn)發(fā)與控制元素分離 (forwarding and control element separation,F(xiàn)orCES)工作組。
作為基礎網(wǎng)絡的最大玩家,運營商也在ETSI的旗幟下聚集,成立了 “網(wǎng)絡功能虛擬化”的行業(yè)規(guī)范組(“Network Functions Virtualization”Industry Specifications Group,NFV ISG),并于2012年10月發(fā)布了NFV白皮書[3],描述了遇到的問題以及初步解決方案。NFV沒有使用SDN這個字眼,但通常被認為是運營商的SDN。NFV與OpenFlow、I2RS等有明顯不同的訴求。
綜上所述,SDN還是一個新生兒,流派眾多,流派之間差異巨大,對它進行統(tǒng)一定義很困難。這里選取幾個有代表性的定義。
ONF對SDN的定義[4]:SDN是一種網(wǎng)絡控制層與轉(zhuǎn)發(fā)層分離、并可直接編程控制的新興的網(wǎng)絡架構。這種架構將控制層從網(wǎng)絡設備轉(zhuǎn)移到了計算設備,使得底層的基礎設施對于應用和網(wǎng)絡服務而言是透明抽象的,網(wǎng)絡可被視為一個邏輯或虛擬實體。
IETF對SDN的定義[2]:SDN是一類技術的集合,這些技術以確定、動態(tài)、可擴展地方式,使得網(wǎng)絡服務的設計、交付和運行更加便利。這樣的定義假設在整體服務交付和運行過程中高層次、自動化地引入。因為網(wǎng)絡本質(zhì)上是軟件驅(qū)動(software-driven)的,此定義并不強調(diào)貼上SDN標簽的那些解決方案所宣稱的“軟件定義”(software-defined)屬性。
ETSI的NFV對SDN的定義[3]:NFV的目的是以不斷發(fā)展的標準IT虛擬化技術,將許多網(wǎng)絡設備類型(它們可能位于數(shù)據(jù)中心、網(wǎng)絡節(jié)點或最終用戶的前端)整合到工業(yè)標準的高容量服務器、交換機和存儲中,以轉(zhuǎn)換網(wǎng)絡運營商的網(wǎng)絡架構方式。它涉及網(wǎng)絡功能的軟件實現(xiàn),這些實現(xiàn)可以運行在工業(yè)標準的服務器硬件上,可以按需在不同位置間移動,或在不同位置進行實例化,而不必安裝新設備。NFV與SDN的關系是互不依賴,互為補充。
正如Nick在參考文獻[1]中所感嘆的,互聯(lián)網(wǎng)的極大成功,一方面使網(wǎng)絡研究者的工作顯得越發(fā)重要,另一方面又使這些研究者對網(wǎng)絡施加影響的機會愈加遙遠,這是因為生產(chǎn)網(wǎng)絡環(huán)境中那些商業(yè)解決方案封閉、昂貴、不靈活,整個產(chǎn)業(yè)鏈的創(chuàng)新周期漫長。因此,OpenFlow提出的初始目標是單一而單純的:作為研究者,如何在園區(qū)網(wǎng)中運行實驗?隨著OpenFlow的前期成功,4年之后,ONF在參考文獻[4]中高調(diào)地將SDN稱為“網(wǎng)絡的新范式”,并將其用例擴展到園區(qū)、數(shù)據(jù)中心、云環(huán)境、運營商和SP網(wǎng)絡,問題域也擴展到現(xiàn)行互聯(lián)網(wǎng)產(chǎn)業(yè)鏈的更多方面。
OpenFlow的思路很簡單:整個系統(tǒng)由OpenFlow交換機(OF switch)和控制器(OF controller)組成,二者通過安全通道(如SSL)以OpenFlow協(xié)議進行交互??刂破髫撠熒?、維護和下發(fā)流表(flow table),交換機接收流表并且只按照流表進行轉(zhuǎn)發(fā)。流表由匹配域(match field)、指令集和計數(shù)器3部分組成,匹配域規(guī)定匹配輸入報文的字段,指令集決定匹配后的報文如何轉(zhuǎn)發(fā),計數(shù)器管理所需。最基本的轉(zhuǎn)發(fā)行為包括轉(zhuǎn)發(fā)給交換機的某個端口、封裝改寫報文后轉(zhuǎn)發(fā)給控制器以及丟棄。OpenFlow概念架構如圖1所示。
圖1 OpenFlow概念架構
OpenFlow 1.0定義的流表,其匹配域包含了10個關鍵字(如圖2所示),并且支持通配符;OpenFlow 1.1增加了對MPLS以及UDP等協(xié)議的支持,同時引入了多級流表,并增加分組策略功能。通配符的采用使網(wǎng)絡運營商可以根據(jù)不同字段聚合不同粒度和屬性的流;多級流表有效改善了原始流表設計開銷過大的情況。隨著版本的演進,流表支持的關鍵字和功能越來越多。
圖2 OpenFlow 1.0流表結(jié)構
上述架構對于二層交換設備而言,意味著MAC地址的學習、VLAN和基本的3層路由配置都由控制器實現(xiàn)并以流表的形式下發(fā)給交換機;對于3層路由設備,各類IGP/EGP也是運行在控制器之上并以流表的形式將路由表下發(fā)給相應的路由器。簡言之,理想情況下,所有網(wǎng)絡設備都抽象成了邏輯上等價的、按流表轉(zhuǎn)發(fā)的通用交換機。
OpenFlow架構的特性可以簡單總結(jié)如下:軟件與硬件分離;控制與轉(zhuǎn)發(fā)分離;邏輯集中的控制器擁有全網(wǎng)視圖和控制;物理分布的交換機根據(jù)控制器下發(fā)的流表進行轉(zhuǎn)發(fā);理想情況下交換機是系列化、標準化的,其與控制器之間的交互協(xié)議是開放、標準的。因此,流表處理器和控制器軟件系統(tǒng)將成為該架構的兩個最核心組件,交換機不可避免地低值化。
(1)I2RS[5]
I2RS是一種機制,該機制通過一個外部控制平面,以開放接口與傳統(tǒng)路由系統(tǒng)的分布式控制平面中的單個設備進行交互,從而對分布式控制平面進行加強。這是一種介乎傳統(tǒng)方式和完全取代分布式控制平面而直接配置設備之間的折中方案。
路由系統(tǒng)包括了控制平面協(xié)議和用于為報文計算路由和路徑的進程,不管這些協(xié)議和進程在何處實現(xiàn)。
I2RS通過基于協(xié)議的控制或管理的接口集,促進與路由系統(tǒng)的實時或事件驅(qū)動的交互,這使得信息、策略和操作參數(shù)能被注入路由系統(tǒng)中,也可以從路由系統(tǒng)中讀取這些信息。I2RS接口也將支持與現(xiàn)有的配置管理系統(tǒng)及其接口共存。I2RS接口的用戶可以是管理應用程序、網(wǎng)絡控制器和在網(wǎng)絡上實現(xiàn)特定需求的用戶應用程序。
I2RS的關鍵用例包括如下幾項。
·與RIB(routing information base,路由信息數(shù)據(jù)庫)的交互。允許對RIB的讀寫訪問,但不允許直接訪問FIB(forwarding information base,轉(zhuǎn)發(fā)信息數(shù)據(jù)庫)。
·BGP操作的控制和分析,包括相關策略的設置和啟用。
·基于由動態(tài)控制平面所提供的更多信息的控制、優(yōu)化和流量出口選擇。
·針對網(wǎng)絡攻擊的分布式響應,通過快速修改控制平面行為,對流量進行重路由。
(2)VXLAN[6]
疊加(overlay)方案有多種,VXLAN是目前最新、商業(yè)支持較多、針對性較強、影響力也比較大的一種。
服務器虛擬化的出現(xiàn)對物理網(wǎng)絡提出了新的要求,原有網(wǎng)絡技術或設備出現(xiàn)了嚴重的不適應:單一管理域內(nèi)將出現(xiàn)更多的MAC地址;ToR交換機的表容量不足;多租戶場景下可能產(chǎn)生私有MAC地址、私有VLAN編址空間的沖突;傳統(tǒng)網(wǎng)絡隔離手段VLAN所支持的4 096個VLAN ID嚴重不足,實現(xiàn)無環(huán)拓撲的STP有重大缺陷;需要在3層網(wǎng)絡上維持虛擬機間的二層通信模型等。以上就是VXLAN試圖解決的問題。
VXLAN的基本原理是建立基于UDP的隧道:隧道端點稱為VTEP,源VTEP將源VM發(fā)出的原始二層以太幀以VXLAN分組頭格式封裝在UDP報文中,發(fā)送給目的VTEP,VXLAN分組頭中的24 bit VNI用于標識一個被封裝的二層網(wǎng)絡。VTEP可以位于物理服務器的VMM、物理服務器中,也可以位于物理交換機中;VTEP可以通過軟件實現(xiàn),也可以通過硬件實現(xiàn)。
控制信息(內(nèi)層源VM MAC到外層源VTEP IP的映射)的建立有3種方式:通過數(shù)據(jù)平面進行學習(類似于普通以太網(wǎng));push方式(某個中心目錄將這種映射推送到VTEP上);pull方式(每個VTEP主動到一個中心目錄上查找)。
如通過數(shù)據(jù)平面學習控制信息,VXLAN底層物理網(wǎng)絡需要支持多播,因為VXLAN網(wǎng)段內(nèi)部的廣播通過多播實現(xiàn)。每個VNI對應一個多播組,這需要一個VNI到IP多播組的映射,該映射通過管理通道提供給每個VTEP。VTEP得到該配置后通過與上游交換機(或路由器)交互IGMP成員報告消息來動態(tài)加入或離開相關的多播組。
特點:通過24 bit的VNI,極大地擴展了傳統(tǒng)VLAN的地址空間;不同VNI域的MAC地址空間可重疊;通過VNI內(nèi)部的VLAN可進一步支持同一租戶內(nèi)的隔離;外層VLAN亦可與VNI協(xié)同工作,一個用例是所有VXLAN流量都運行在底層網(wǎng)絡的同一VLAN中,以達到VXLAN流量與傳統(tǒng)流量的隔離;基于IP的封裝,使底層網(wǎng)絡可以是二層的,也可以是3層的;基于UDP的封裝,通過UDP源端口號可以實現(xiàn)更細粒度的負載均衡;VNI到其對應多播組的映射需要通過管理平面配置,如通過數(shù)據(jù)平面學習控制信息,需要底層網(wǎng)絡支持多播;如通過其他方式得到控制信息,多播、廣播只能通過源端復制實現(xiàn)。
(3)ForCES[7]
早在2001年,Intel和IBM就在IETF推動下成立了ForCES工作組。ForCES的核心理念與OpenFlow頗有相似之處,如圖3所示。整個網(wǎng)絡稱為網(wǎng)元(network element,NE),由 控 制 元 素 (control element,CE)和 轉(zhuǎn) 發(fā) 元 素(forwarding element,F(xiàn)E)組成,一個CE可以控制多個FE,一個FE可以從屬于多個CE;CE由CE管理器(CE manager)管理,F(xiàn)E由FE管理器(FE manager)管理;每個組件都是邏輯概念,物理實現(xiàn)上可以有多種形態(tài);各組件之間通過參考點連接,整個NE通過Fi/f接口與其他NE連接。
圖3 ForCES架構
圖4 NFV架構示意
參考點說明:Fp,CE-FE接口;Fi,F(xiàn)E-FE接口;Fr,CE-CE接口;Fc,CE管理器接口;Ff,F(xiàn)E管理器-FE接口;Fl,CE管理器-FE管理器接口;Fi/f,F(xiàn)E外部接口。ForCES起源很早,此后沉寂多年,并且商業(yè)上沒有成功案例。隨著SDN概念的興起,該工作組又開始活躍起來。
NFV所針對的問題域如下。
NFV的思想是基于海量的、歸一化的工業(yè)標準服務器、交換機和存儲設備,利用標準的IT虛擬化技術,通過軟件實現(xiàn)多種多樣的網(wǎng)絡功能,如虛擬的運營級NAT、虛擬的廣域網(wǎng)加速、虛擬的企業(yè)接入路由器,以此達到降低成本、加快業(yè)務成熟周期、資源彈性伸縮、構建創(chuàng)新生態(tài)鏈的目的。
如圖4所示,網(wǎng)絡功能以軟件形式實現(xiàn),并運行在符合工業(yè)標準的服務器硬件上,可以根據(jù)需要被移動到或?qū)嵗骄W(wǎng)絡中不同的位置,免除新設備安裝的工作。
NFV的典型用例如下。
·交換元件:BNG,CG-NAT,路由器;
·移 動 網(wǎng) 絡 節(jié) 點:HLR/HSS,MME,SGSN,GGSN/PDN-GW;
·隧道網(wǎng)管元件:IPSec/SSL VPN網(wǎng)關;
·流量分析:DPI,QoE測量;
·安全功能:防火墻,病毒掃描器,入侵檢測系統(tǒng)。
NFV面臨以下技術挑戰(zhàn):
對于絕大多數(shù)人來說,晚餐并不是可有可無,好好吃飯,身體才能健康。但也有這么三類人是可以不吃晚餐的。對于他們來說,不吃晚餐反而“更健康”。
·提供能夠滿足服務提供商的性能、可靠性和可用性要求的,基于標準的,高度可擴展的COTS服務器和高可用性的中間件;
·實現(xiàn)NFV與傳統(tǒng)網(wǎng)絡元素的互操作;
·NFV應用程序的管理和業(yè)務流程功能的自動化;
·確保網(wǎng)絡的安全性不受NFV技術引入的影響。
綜上所述,SDN技術流派眾多,彼此差異巨大。
基于OpenFlow的SDN是對目前TCP/IP網(wǎng)絡架構的一個顛覆:它強調(diào)網(wǎng)絡層面的控制與轉(zhuǎn)發(fā)分離,流表每跳下發(fā)。在OpenFlow的發(fā)展初期,由于其簡單、清晰而強烈的需求,加上互聯(lián)網(wǎng)巨頭(如Google等)的成功商用,在業(yè)界掀起了一股SDN熱潮??梢灶A見,OpenFlow必將朝大規(guī)模復雜應用場景前進。OpenFlow的主導者是學術界、互聯(lián)網(wǎng)界和IT業(yè)者,其出現(xiàn)的行業(yè)大背景是傳統(tǒng)網(wǎng)絡設備產(chǎn)業(yè)鏈的封閉、遲鈍已經(jīng)嚴重阻礙了互聯(lián)網(wǎng)發(fā)展。由于OpenFlow的未來發(fā)展將面臨算法、架構、轉(zhuǎn)發(fā)芯片等方面的極大挑戰(zhàn),學術界一定會在其中繼續(xù)發(fā)揮重要作用。
NFV的核心是網(wǎng)絡設備實現(xiàn)形態(tài)的標準化、虛擬化、軟件化,并不涉及網(wǎng)絡架構和控制。它反映了運營商對網(wǎng)絡設備低成本、高適應、快部署的訴求。NFV面臨多方面挑戰(zhàn)。正如曾經(jīng)提到的,NFV與SDN的關系是互不依賴、互為補充。SDN更像是人為強加給NFV的“一頂帽子”。
IETF是網(wǎng)絡設備廠商的大本營,它的SDN呈現(xiàn)出對傳統(tǒng)網(wǎng)絡更多的繼承性。
I2RS的基本思路是維持現(xiàn)有路由體系,但在單路由設備的控制平面引入一定的開放性,使用戶可以做一些設備級的局部控制。這可以視為設備廠商對用戶的某種妥協(xié)。
VXLAN是基于現(xiàn)有網(wǎng)絡架構的疊加方案,和其他VPN、隧道技術沒有本質(zhì)區(qū)別,但針對虛擬化、多租戶場景等提出了針對性解決方案,其控制信息建立的push和pull方式被廠商宣稱為SDN。當然,這與IETF關于SDN的定義是吻合的。
ForCES是IETF中的一個異類,它在理念上與OpenFlow最接近,出現(xiàn)的時間早很多,并且更為理想化——試圖改變轉(zhuǎn)發(fā)芯片而不僅僅是轉(zhuǎn)發(fā)設備。從事后的觀點看,F(xiàn)orCES當時面臨的需求動力不足非常明顯,生態(tài)環(huán)境(如芯片、軟件、最終用戶)不完善,技術目標太理想,其主導者——Intel和IBM既非網(wǎng)絡大玩家(這也許解釋了IETF中為什么會出現(xiàn)ForCES這樣的異類),也沒有持續(xù)投入。即使到了今天,如果ForCES想有進一步發(fā)展,也必須做出某些修正。
盡管存在上述巨大差異,從網(wǎng)絡總體的角度看,不同技術流派的關系卻是有跡可循的:OpenFlow和ForCES強調(diào)的是新型網(wǎng)絡架構(從而必然對網(wǎng)元產(chǎn)生重大影響);NFV強調(diào)的是新型網(wǎng)元(并且更側(cè)重于業(yè)務網(wǎng)元,如防火墻等);I2RS強調(diào)的是現(xiàn)有網(wǎng)元在設備級控制平面的開放性(明顯不同于傳統(tǒng)網(wǎng)管);疊加強調(diào)的是在現(xiàn)有基礎設施靈活的租戶網(wǎng)絡上構建。它們分別面向網(wǎng)絡的不同方面,互不依賴,互有競爭,互相補充。
運營商在不同SDN間處于相對超然的位置,基本策略應該是樂見其成,借勢借力,按需取用。尤其對于大型綜合網(wǎng)絡運營商,手中掌握骨干網(wǎng)、城域網(wǎng)、接入網(wǎng)、無線網(wǎng)、IDC,不僅提供公眾網(wǎng)絡服務,也提供企業(yè)網(wǎng)絡服務,多廠商混合環(huán)境始終是技術互操作和工程可實施的難點,基本上每個環(huán)節(jié)都可以或多或少地發(fā)現(xiàn)某種場景可以使用上述某種技術。從中短期的業(yè)務部署角度看,運營商應該更加關注Overlay和I2RS;從長期的競爭角度看,運營商應該更加關注OpenFlow和NFV。
OpenFlow中短期內(nèi)在小規(guī)模、特定場景(如流量工程)下的可行性是已經(jīng)被證明的,盡管它的商品化水平有待提高;在可見的未來,規(guī)模應用于數(shù)據(jù)中心、接入網(wǎng)、無線網(wǎng)也是可以期待的。尤其是數(shù)據(jù)中心,它已經(jīng)成為IT界和CT界應用OpenFlow技術的交集場景,運營商可以聯(lián)合IT共同推動OpenFlow與IP/MPLS骨干在云邊緣的互通,提供虛擬私有云服務;在大規(guī)模復雜場景的應用還有漫長的路要走,但這不是不可能的。一旦真的實現(xiàn)了大規(guī)模網(wǎng)絡應用,必將大大降低網(wǎng)絡建設和運營門檻,徹底顛覆網(wǎng)絡建設和運營模式——如果說互聯(lián)網(wǎng)對運營商的沖擊更多是在業(yè)務層面,未來的SDN對運營商的沖擊將在基礎設施層面。真到了那一天,能夠挽救運營商命運的除了牌照,恐怕只能自我革命了。
NFV的適用場景和挑戰(zhàn)前文已有涉及,這里不贅述。理想的NFV,結(jié)合其他技術,將極大地降低IDC運營商、云服務提供商、網(wǎng)絡增值服務提供商的門檻,而這也將對網(wǎng)絡運營商的同類業(yè)務提出更高要求。
SDN正在成為一個營銷詞匯,用于包裝各種不同技術,如果僅看名字而不了解其內(nèi)涵,將什么也得不到;SDN的每種實現(xiàn)方式都針對特定的問題域,互不依賴,互有競爭,互相補充,各有其潛在價值;目前幾乎所有實現(xiàn)方式都處在發(fā)展早期,但它們在中短期內(nèi)商品化的可能性有很大不同;類OpenFlow的技術可能會對現(xiàn)有網(wǎng)絡架構形成顛覆性的影響;眾多實現(xiàn)方式的涌現(xiàn)是產(chǎn)業(yè)鏈博弈的反映;運營商總體應對策略應該是超然、開放、為我所用的,但需要未雨綢繆,準備應對網(wǎng)絡架構的巨變。以上是本文期望傳遞給讀者的信息。
1 McKeown N,Anderson T,Balakrishnan H,et al.OpenFlow:enabling innovation in campus networks.ACM SIGCOMM Computer Communication Review,2008,38(2)
2 Boucadair M.Draft-sin-sdnrg-sdn-approach-03.Software-Defined Networking:a Service Provider’s Perspective,2013
3 Chiosi M.Network Functions Virtualization—Introductory White Paper,2012
4 ONF白 皮 書.Software-Defined Networking:the New Norm for Networks,2012
5 White R.Draft-white-i2rs-use-case-00.Use Cases for an Interface to the Routing System,2013
6 Kreeger L.Draft-mahalingam-dutt-dcops-vxlan-04.VXLAN:a Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks,2013
7 Yang L.Forwarding and Control Element Separation(ForCES)Framework,RFC 3746.2004