SDN的典型架構(gòu)可分為三層,最上層為應(yīng)用層,包括各種不同的業(yè)務(wù)和應(yīng)用;中間的控制層主要負(fù)責(zé)處理數(shù)據(jù)平面資源的編排、維護(hù)網(wǎng)絡(luò)拓?fù)浜蜖顟B(tài)信息等;最下層的基礎(chǔ)設(shè)施層負(fù)責(zé)數(shù)據(jù)處理、轉(zhuǎn)發(fā)和狀態(tài)收集。除上述三個層次外,控制層與基礎(chǔ)層之間的接口和應(yīng)用層與控制層之間的接口也是SDN架構(gòu)中的兩個重要組成部分。按照接口與控制層的位置關(guān)系,前者通常被稱為南向接口,后者則被稱為北向接口。其中ONF在南向接口上定義了開放的OpenFlow標(biāo)準(zhǔn)4,而在北向接口上還沒有統(tǒng)一要求。因此,ONF SDN架構(gòu)更多的是從網(wǎng)絡(luò)資源用戶的角度出發(fā),希望通過對網(wǎng)絡(luò)的抽象推動跟快速的業(yè)務(wù)創(chuàng)新。 OpenFlow標(biāo)準(zhǔn)OpenFlow標(biāo)準(zhǔn)描述了OpenFlow交換機(jī)的需求,涵蓋了OpenFlow交換機(jī)的所有組件和基本功能,并且對遠(yuǎn)程控制器管理OpenFlow交換機(jī)采用的OpenFlow協(xié)議進(jìn)行描述,即OpenFlow協(xié)議用來描述控制器和交換機(jī)之間交互所用的信息的標(biāo)準(zhǔn),以及控制器和交換機(jī)的接口標(biāo)準(zhǔn)。 OpenFlow交換機(jī)包括用于查找和轉(zhuǎn)發(fā)數(shù)據(jù)部分組成的一個或多個流表,以及與外部控制器進(jìn)行通信的OpenFlow信道,交換機(jī)與控制器進(jìn)行通信以及控制器管理交換機(jī)均采用OpenFlow協(xié)議。 OpenFlow交換機(jī)的主要組件: 2012年6月發(fā)布了OpenFlow1.3,主要針對SDN的基礎(chǔ)設(shè)施層的轉(zhuǎn)發(fā)面抽象模型進(jìn)行了定義,將網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)面設(shè)備抽象為一個由多級流表驅(qū)動的轉(zhuǎn)發(fā)模型。OpenFlow多級流表轉(zhuǎn)發(fā)模型如下圖: OpenDaylightOpenDaylight開源聯(lián)盟隸屬于Linux基金會,旨在提供一個支持SDN的網(wǎng)絡(luò)編程平臺,并且為NFV及更多的不同大小共和規(guī)模的網(wǎng)絡(luò)創(chuàng)建一個可靠的基礎(chǔ)平臺。 OpenDaylight最新平臺總體架構(gòu): SDN 的三個特征。
SDN 網(wǎng)絡(luò)應(yīng)用層實現(xiàn)了對應(yīng)的網(wǎng)絡(luò)功能應(yīng)用。這些應(yīng)用程序通過調(diào)用SDN 控制器的北向接口,實現(xiàn)對網(wǎng)絡(luò)數(shù)據(jù)平面設(shè)備的配置、管理和控制。 在SDN 架構(gòu)中,網(wǎng)絡(luò)的控制平面與數(shù)據(jù)平面相分離,數(shù)據(jù)平面將變得更加通用化,變得與計算機(jī)通用硬件底層類似,不再需要具體實現(xiàn)各種網(wǎng)絡(luò)協(xié)議的控制邏輯,而只需要接收控制平面的操作指令并執(zhí)行即可。網(wǎng)絡(luò)設(shè)備的控制邏輯轉(zhuǎn)而由軟件實現(xiàn)的SDN 控制器和SDN 應(yīng)用來定義,從而實現(xiàn)網(wǎng)絡(luò)功能的軟件定義化。隨著開源SDN 控制器和開源SDN 開放接口的出現(xiàn),網(wǎng)絡(luò)體系結(jié)構(gòu)也擁有了通用底層硬件、支持軟件定義和開源模式三個要素。從傳統(tǒng)網(wǎng)絡(luò)體系結(jié)構(gòu)到SDN 網(wǎng)絡(luò)體系結(jié)構(gòu)的演進(jìn)關(guān)系如圖所示。 傳統(tǒng)網(wǎng)絡(luò)設(shè)備 控制平面與數(shù)據(jù)平面的分離 網(wǎng)絡(luò)可編程發(fā)展史SDN前期標(biāo)志性事件
SDN 發(fā)展大事件SDN架構(gòu)總覽根據(jù)ONF的定義,SDN的架構(gòu)可自下而上劃分為三個層面,如下圖所示,分別是基礎(chǔ)設(shè)施層、控制層和應(yīng)用層。最上層為應(yīng)用層,包括各種不同的業(yè)務(wù)和應(yīng)用,網(wǎng)絡(luò)運營者可以設(shè)計各種面向業(yè)務(wù)的應(yīng)用,來對網(wǎng)絡(luò)進(jìn)行有針對性的運維和管理;中間的控制層需集成網(wǎng)絡(luò)操作系統(tǒng),主要負(fù)責(zé)處理數(shù)據(jù)平面資源的編排、維護(hù)網(wǎng)絡(luò)拓?fù)浜蜖顟B(tài)信息等;最下層的基礎(chǔ)設(shè)施層只需關(guān)注設(shè)備的硬件性能,負(fù)責(zé)數(shù)據(jù)處理、轉(zhuǎn)發(fā)和狀態(tài)收集??刂茖雍突A(chǔ)設(shè)施層之間一般通過OpenFlow或者其他南向接口協(xié)議進(jìn)行通信,該協(xié)議規(guī)定了設(shè)備按照流表轉(zhuǎn)發(fā)的多種匹配規(guī)則,致力于滿足網(wǎng)絡(luò)各個方面的功能需要。 除上述的功能模塊以外,控制器通過北向接口,以API的形式連接上層應(yīng)用,北向接口是各種網(wǎng)絡(luò)應(yīng)用和控制器交互的接口。同時,基于網(wǎng)絡(luò)虛擬化層功能,SDN轉(zhuǎn)發(fā)設(shè)備提供網(wǎng)絡(luò)資源服務(wù),能夠通過北向接口開放不同權(quán)限,客戶可以進(jìn)行端到端的全網(wǎng)業(yè)務(wù)監(jiān)控、流量分析和端口監(jiān)控。 基礎(chǔ)設(shè)備層在SDN架構(gòu)中,轉(zhuǎn)發(fā)節(jié)點負(fù)責(zé)數(shù)據(jù)流的轉(zhuǎn)發(fā),一般由數(shù)據(jù)平面模塊、控制代理模塊、管理代理模塊組成,如圖所示。 在該架構(gòu)中,轉(zhuǎn)發(fā)節(jié)點的控制面上已經(jīng)上移到控制器。管理代理接收來自網(wǎng)管的配置信息,提供面向網(wǎng)管的設(shè)備端口、電源/電壓和環(huán)境監(jiān)控等信息;控制代理負(fù)責(zé)接受從控制器下發(fā)的外部信令信息和轉(zhuǎn)發(fā)信息,經(jīng)過控制器的信令和轉(zhuǎn)發(fā)設(shè)配等模塊處理后,結(jié)合自身的信令和轉(zhuǎn)發(fā)信息,將必要的轉(zhuǎn)發(fā)信息下發(fā)給數(shù)據(jù)平面,實現(xiàn)控制代理對數(shù)據(jù)平面的控制。數(shù)據(jù)平面完成數(shù)據(jù)的轉(zhuǎn)發(fā),同時具備發(fā)送轉(zhuǎn)發(fā)狀態(tài)信息到控制代理,實現(xiàn)對控制代理相應(yīng)模塊的查詢、響應(yīng)和反饋能力。控制代理將需要傳送到外部的轉(zhuǎn)發(fā)狀態(tài)信息通過信令通信接口發(fā)給控制器。 控制層控制層有多種實現(xiàn),主要有NOX、Floodlight、Open Daylight和ONOS(開放網(wǎng)絡(luò)操作系統(tǒng))。 NOX是針對軟件定義網(wǎng)絡(luò)架構(gòu)下網(wǎng)絡(luò)控制器的一種開源實現(xiàn),支持C /Python,主要由Nicira公司支持。 Floodlight是由BigSwitch公司贊助支持的一個開源OpenFlow控制器實現(xiàn),主要支持通過Java語言進(jìn)行功能擴(kuò)展,其架構(gòu)如圖所示。 Open Daylight是一套以社區(qū)為主導(dǎo)的開源架構(gòu),旨在推動創(chuàng)新實施以及軟件定義網(wǎng)絡(luò)的透明化。Open Daylight擁有一套模塊化、可插拔且極為靈活的控制器,這使其能夠被部署在任何支持Java的平臺上。 ONOS的設(shè)計理念是能在任何硬件上靈活地創(chuàng)建服務(wù)并大規(guī)模部署,實現(xiàn)降低運營開支、加快服務(wù)加速和收入,以及提供在運營商看來具有核心價值地白盒硬件等。 ONOS定義地SDN網(wǎng)絡(luò)架構(gòu): 協(xié)同平臺和應(yīng)用層業(yè)務(wù)協(xié)同平臺從網(wǎng)絡(luò)運營者地視角來看,由于網(wǎng)絡(luò)組成的復(fù)雜性,目前很難采用單一類型的SDN控制器實現(xiàn)對全網(wǎng)的控制。同時,在運營商的大網(wǎng)中往往都存在多廠家的情形。因此,SDN的引入也有兩種方式,第一種方式是參照OpenFlow協(xié)議,采用標(biāo)準(zhǔn)的南向接口,實現(xiàn)控制器和各廠家轉(zhuǎn)發(fā)設(shè)備之間的完全解耦,同時運營商需要具備對SDN控制器的絕對控制權(quán)。第二種方式是暫時不開放南向接口,采用各個設(shè)備廠商控制器搭配轉(zhuǎn)發(fā)設(shè)備,南向接口可以采用私有協(xié)議或者公有協(xié)議的擴(kuò)展實現(xiàn),但是運營商在各廠家控制器之上搭建統(tǒng)一的協(xié)同層,實現(xiàn)對跨廠家域業(yè)務(wù)的管理和調(diào)度。目前來看,第二種方式是運營商近期引入SDN的主要選擇。 業(yè)務(wù)協(xié)同平臺總體架構(gòu): APP應(yīng)用層應(yīng)用層位于SDN架構(gòu)最上層,它基于控制器提供的API接口,實現(xiàn)和網(wǎng)絡(luò)業(yè)務(wù)相關(guān)的管理、安全等應(yīng)用,還能根據(jù)用戶需求定制其他網(wǎng)絡(luò)業(yè)務(wù)。目前SDN應(yīng)用主要包括三種類型:
NFV網(wǎng)絡(luò)功能虛擬化NFV,是指借助于標(biāo)準(zhǔn)的IT虛擬化技術(shù)、傳統(tǒng)的專有硬件(如路由器、防火墻、DPI、CDN、NAT等),通過采用工業(yè)標(biāo)準(zhǔn)大容量服務(wù)器、存儲器和交換機(jī)承載各種各樣軟件化的網(wǎng)絡(luò)功能(Network Function)的技術(shù)。 NFV適用場景: SDN與NFV的關(guān)系狹義SDN特指基于ONF組織發(fā)布的OpenFlow標(biāo)準(zhǔn)協(xié)議構(gòu)建的SDN。它由軟件Controller、OpenFlow交換機(jī)組成,通過將網(wǎng)絡(luò)設(shè)備控制面和數(shù)據(jù)面分離來實現(xiàn)網(wǎng)絡(luò)流量的靈活控制。狹義SDN設(shè)備形態(tài)主要是交換機(jī),在運營商網(wǎng)絡(luò)中主要應(yīng)用在數(shù)據(jù)中心等場景。 狹義的SDN的目的是通過控制轉(zhuǎn)發(fā)分離生成網(wǎng)絡(luò)的抽象,能夠快速創(chuàng)新,體現(xiàn)在集中控制、開放協(xié)同的網(wǎng)絡(luò)可編程。NFV的目的是通過軟硬件解耦實現(xiàn)網(wǎng)絡(luò)功能虛擬化,能夠?qū)崿F(xiàn)自動化管理和運維,體現(xiàn)在工業(yè)服務(wù)器硬件標(biāo)準(zhǔn)化和網(wǎng)絡(luò)功能軟件化。SDN與NFV關(guān)注網(wǎng)絡(luò)角度不同,兩者之間是互補的關(guān)系,但兩者相互獨立,并無直接依賴關(guān)系。NFV技術(shù)可以在沒有SDN的前提下部署,反之亦然。
廣義SDN泛指基于開放接口實現(xiàn)軟件可編程的各種網(wǎng)絡(luò)架構(gòu)。只要網(wǎng)絡(luò)架構(gòu)滿足三個特征,即控制轉(zhuǎn)發(fā)分離、邏輯集中控制、開放API,我們就稱其為廣義SDN。廣義的SDN除了包括狹義SDN外,還包括NFV技術(shù)。廣義SDN的設(shè)備可以是無線接入網(wǎng)、有線接入網(wǎng)、核心網(wǎng)、傳送網(wǎng)、承載網(wǎng)、云計算和IDC等各個專業(yè)領(lǐng)域的架構(gòu)符合三個特征的設(shè)備,可以應(yīng)用在運營商的整個網(wǎng)絡(luò)的各個方面。
|
|