導(dǎo)讀
隨著5G、云計(jì)算、千兆寬帶等技術(shù)的普及,傳統(tǒng)網(wǎng)絡(luò)架構(gòu)也面臨著嚴(yán)峻的考驗(yàn)。隨著大規(guī)模數(shù)據(jù)中心的發(fā)展,其所提供的云計(jì)算技術(shù)對網(wǎng)絡(luò)的虛擬化以及資源管理有了更高的要求。SDN以其簡潔的策略規(guī)則、可編程的網(wǎng)絡(luò)架構(gòu)、高度的網(wǎng)絡(luò)可見性以及網(wǎng)絡(luò)虛擬化等特點(diǎn)成為了解決傳統(tǒng)網(wǎng)絡(luò)痛點(diǎn),賦能大規(guī)模數(shù)據(jù)中心的關(guān)鍵技術(shù)。作為SDN網(wǎng)絡(luò)的核心大腦,SDN控制器管理了整個(gè)網(wǎng)絡(luò)的策略和流量,保證了SDN網(wǎng)絡(luò)平穩(wěn)有序的運(yùn)行。
作者:馬肖男
單位:中國移動智慧家庭運(yùn)營中心
1SDN以及控制器簡介
SDN(Softeware Defined Network)是由美國斯坦福大學(xué)Clean-Slate課題研究組提出的一種新型網(wǎng)絡(luò)創(chuàng)新架構(gòu),是網(wǎng)絡(luò)虛擬化的一種實(shí)現(xiàn)方式。其核心技術(shù)是通過將網(wǎng)絡(luò)設(shè)備的控制面與數(shù)據(jù)面分離,實(shí)現(xiàn)網(wǎng)絡(luò)流量的靈活控制,使網(wǎng)絡(luò)更智能。SDN嘗試擺脫網(wǎng)絡(luò)對硬件設(shè)備的依賴,通過直接的編程方式,實(shí)現(xiàn)網(wǎng)絡(luò)的管控、配置、升級等功能。
Fig1.典型SDN架構(gòu)圖
SDN控制器是SDN控制面的代表,是SDN的大腦。作為SDN架構(gòu)中的核心部件,SDN控制器以集中式管控方式管理整個(gè)網(wǎng)絡(luò)的策略和流量。SDN控制器能夠明顯提高網(wǎng)絡(luò)資源的利用率,縮短業(yè)務(wù)上線周期,較大提升運(yùn)維效率。與此同時(shí),SDN控制器可以提供統(tǒng)一的安全策略,為網(wǎng)絡(luò)提供自上而下的安全防護(hù)。
2SDN控制器發(fā)展歷史
SDN控制器從早期的NOX控制器一直到如今的企業(yè)級控制器,經(jīng)過了多個(gè)發(fā)展歷程。功能逐漸完善、強(qiáng)大。按照其發(fā)展路線可以分為:以O(shè)DL、ONOS為代表的開源路線以及以O(shè)rion為代表的商業(yè)控制器路線。
第一代控制器:NOX是第一款OpenFlow控制器,采用OpenFlow協(xié)議進(jìn)行管控,由Nicira Networks公司研發(fā),并于2008年開源發(fā)布。作為最早的控制器,NOX為后面的控制器提供了很好的范例。不過由于其使用C++語言編寫,SDN應(yīng)用的開發(fā)成本較高,逐漸在控制器競爭中失去優(yōu)勢。其后續(xù)版本改為Python開發(fā),名為POX,但POX在架構(gòu)和性能上存在一定的缺陷,逐漸被新興控制器取代。
通用SDN控制平臺:隨著設(shè)備廠商加入SDN控制器市場競爭,對SDN控制器提出更高的要求,由多家設(shè)備廠商聯(lián)合而非運(yùn)營商主導(dǎo)的開源SDN控制器OpenDaylight應(yīng)運(yùn)而生。ODL支持多種南向協(xié)議,不僅限于OpenFlow、Netconf、OVSDB等。ODL的誕生意味著SDN進(jìn)入了一個(gè)嶄新的時(shí)期??刂破鲗?shí)現(xiàn)從僅支持單一協(xié)議向支持多種南向協(xié)議演進(jìn)。在這一時(shí)期,控制器的部署形式也由單體應(yīng)用轉(zhuǎn)化為分布式平臺部署。
經(jīng)過幾年的發(fā)展,SDN控制器之間相互競爭越來越激烈。ODL社區(qū)憑借設(shè)備廠商的大力支持,處于開源控制器的領(lǐng)導(dǎo)者地位。而定位運(yùn)營商市場,同樣采用OSGI架構(gòu)的ONOS以更優(yōu)秀的性能在市場上取得了相當(dāng)不錯(cuò)的占有份額。同期,多種閉源框架也在相互競爭,2013年,Google推出的ONIX控制器更是將寬帶利用率提升到接近100%的地步。
云原生SDN控制器:隨著越來越多的業(yè)務(wù)上云,尤其是大規(guī)模數(shù)據(jù)中心的發(fā)展,對控制器的要求也越來越高。SDN控制器也越來越多的與云管平臺進(jìn)行整合運(yùn)行。SDN控制器結(jié)合AI技術(shù)、意圖網(wǎng)絡(luò)等內(nèi)容,向著更智能、更方便的方向發(fā)展。ODL、ONOS等開源平臺逐漸聚焦智能化運(yùn)維,Google的新一代控制器Orion更是全面應(yīng)用微服務(wù)架構(gòu)以及調(diào)和理念,采用大規(guī)模分布式部署方案,實(shí)現(xiàn)大規(guī)模生產(chǎn)網(wǎng)絡(luò)的控制與管理。
3主流控制器介紹
當(dāng)前開源社區(qū)活躍的控制器主要包括:OpenDayLight、ONOS、Ryu、POX等。閉源控制器以O(shè)rion為代表,另外還有HP的VAN、Cisco的DNA Center等。
每種控制器都具有各自的特點(diǎn)以及長處,下面就以幾種主流的控制器為大家介紹控制器的相關(guān)技術(shù)和功能:
3.1 ODL控制器
OpenDayLight(ODL)控制器是由Linux基金會管理和維護(hù)的開源SDN控制器,于2013年推出。采用社區(qū)驅(qū)動的開發(fā)模式,主要貢獻(xiàn)者為各大設(shè)備廠商,如華為、中興等。旨在提供一個(gè)通用、可編程的SDN控制器。能夠支持多種硬件和軟件平臺,實(shí)現(xiàn)靈活、可擴(kuò)展的網(wǎng)絡(luò)管理和控制。
3.1.1 架構(gòu)方案
ODL采用OSGi框架進(jìn)行開發(fā),通過MD-SAL模型架構(gòu)對南向協(xié)議進(jìn)行抽象化建模以及管理,實(shí)現(xiàn)與設(shè)備以及協(xié)議的解耦,能夠支持多種南向傳輸協(xié)議??刂破髦泻诵牟寮峁┝藬?shù)據(jù)存儲、配置管理、網(wǎng)絡(luò)流量管理、服務(wù)質(zhì)量管理、網(wǎng)絡(luò)監(jiān)控和調(diào)試等功能,并通過RESTful API等北向協(xié)議提供對接三方應(yīng)用,為第三方業(yè)務(wù)提供設(shè)備的數(shù)據(jù)支持。
如圖為一種典型的ODL架構(gòu)設(shè)計(jì)方案:
圖片來源 OpenDayLight官網(wǎng)
3.1.2 核心概念
模型驅(qū)動:ODL的模型驅(qū)動指將網(wǎng)絡(luò)設(shè)備的配置和狀態(tài)信息表示為YANG數(shù)據(jù)模型,統(tǒng)一描述網(wǎng)絡(luò)設(shè)備的屬性、配置和狀態(tài)信息,并基于YANG模型定義一組標(biāo)準(zhǔn)的RESTful API,用于控制器和設(shè)備之間的通信。ODL通過YANG模型實(shí)現(xiàn)了多協(xié)議支持、插件化和可編程化等功能。
OSGi:ODL基于OSGi框架進(jìn)行功能開發(fā),天生支持模塊化的設(shè)計(jì),使用戶能夠輕松的實(shí)現(xiàn)功能的添加和刪除。同時(shí)Karaf框架提供了良好的運(yùn)行底座,能夠輕松實(shí)現(xiàn)業(yè)務(wù)的高可用,減少了開發(fā)難度。
Yang:一種輕量化的數(shù)據(jù)建模語言。YANG模型定義了數(shù)據(jù)的層次化結(jié)構(gòu)。ODL采用YANG來定義網(wǎng)絡(luò)配置,能夠輕松區(qū)分配置和狀態(tài),具有很強(qiáng)的擴(kuò)展性。隨著標(biāo)準(zhǔn)化的推行,YANG正逐漸成為業(yè)界主流的數(shù)據(jù)描述規(guī)范,標(biāo)準(zhǔn)組織、廠商、運(yùn)營商、OTT紛紛定義各自的YANG模型。
3.1.3 典型模塊
AAA:AAA為Authentication, Authorization and Accounting ,為控制器提供了鑒權(quán)、認(rèn)證和計(jì)費(fèi)的功能。該模塊用于控制對資源的訪問,強(qiáng)制執(zhí)行使用資源的策略,并審核統(tǒng)計(jì)資源的使用狀況,為控制器提供了有效的網(wǎng)絡(luò)管理和基本的安全架構(gòu)。
BGPCEP:該模塊為典型應(yīng)用模塊,主要有BGP插件以及PCEP插件構(gòu)成。BGP插件為用戶提供BGP協(xié)議的實(shí)現(xiàn)以及基于BGP協(xié)議的業(yè)務(wù)實(shí)現(xiàn)。PCEP為路徑計(jì)算通訊協(xié)議,用于在MPLS和GMPLS標(biāo)簽交換路徑的上下文中在PCC和PCE之間進(jìn)行通訊。PCEP插件提供構(gòu)建基于 PCE 的控制器所需的所有基本服務(wù)單元。此外,它還為 Active Stateful PCE 提供 LSP 管理功能——這是大多數(shù)支持 PCE 的 SDN 解決方案的基石。
下圖為基于PCE的路徑計(jì)算架構(gòu):
圖片來源 OpenDayLight官網(wǎng)
Controller:控制器模塊是基于 Java 的模型驅(qū)動控制器,使用 YANG 作為系統(tǒng)和應(yīng)用程序各個(gè)方面的建模語言,為其他 OpenDaylight 應(yīng)用程序的提供基礎(chǔ)平臺。其依賴于MD-SAL、Netconf、RestConf等模塊。
MD-SAL:模型驅(qū)動服務(wù)適配層 (MD-SAL) 是受消息總線啟發(fā)的可擴(kuò)展中間件組件,它根據(jù)應(yīng)用程序開發(fā)人員定義的數(shù)據(jù)和接口模型(即用戶定義的模型)提供消息傳遞和數(shù)據(jù)存儲功能。該模塊定義了公共層、概念、數(shù)據(jù)模型構(gòu)建塊和消息傳遞模式,并為應(yīng)用程序和應(yīng)用程序間通信提供基礎(chǔ)設(shè)施/框架。
Netconf模塊:NETCONF本身是一種基于XML的傳輸協(xié)議,用于配置和監(jiān)控網(wǎng)絡(luò)中的設(shè)備。ODL中的Netconf模塊支持NETCONF協(xié)議作為北向服務(wù)器和南向插件,同時(shí)提供了一組用于模擬NETCONF設(shè)備和客戶端測試的工具。
3.2 ONOS控制器
ONOS是首款開源的SDN網(wǎng)絡(luò)操作系統(tǒng),主要面向服務(wù)提供商和企業(yè)骨干網(wǎng)。ONOS社區(qū)聚集了知名的服務(wù)提供商(如AT&T、NTT通信)、高標(biāo)準(zhǔn)的網(wǎng)絡(luò)供應(yīng)商(如Ciena、Ericsson、Fujitsu、Huawei、Intel、NEC)、網(wǎng)絡(luò)運(yùn)營商(如Internet2、CNIT、CREATE-NET),以及其他合作伙伴(如SRI、Infoblox),并且獲得ONF的鼎力支持。
3.2.1 架構(gòu)方案
ODL是一個(gè)典型的分布式架構(gòu)系統(tǒng),自上而下可分為:APP層、北向接口API、分布式核心層、南向接口層。其中,分布式核心平臺保證了控制器能夠以高可靠、易擴(kuò)展以及高穩(wěn)定性進(jìn)行運(yùn)行。北向接口抽象為圖像化界面以及更友好的管控配置服務(wù)提供了重要支撐。可插拔式的南向接口抽象層,使ONOS控制器能夠支持OpenFlow設(shè)備和傳統(tǒng)設(shè)備。南向接口的抽象屏蔽了底層設(shè)備和協(xié)議的差異性,能夠同時(shí)支持多種設(shè)備的管控。其架構(gòu)圖如下:
圖片來源 ONOS官網(wǎng)
3.2.2 核心概念
SDN操作系統(tǒng):一個(gè)操作系統(tǒng)需要具備以下基本特征:
(1)用戶資源管理;
(2)用戶隔離;
(3)服務(wù)和資源的抽象化管理;
(4)用戶安全機(jī)制;
(5)高效的服務(wù)使用。
ONOS具備一個(gè)操作系統(tǒng)的基本功能,因而不僅僅是一個(gè)SDN控制器,而是一個(gè)SDN操作系統(tǒng)。
軟件模塊化:ONOS可以像軟件操作系統(tǒng)一樣,為開發(fā)者以及服務(wù)提供商更塊、更便捷的開發(fā)、調(diào)試、維護(hù)和升級服務(wù)。ONOS本身是由一系列功能模塊組成,每個(gè)功能模塊由一個(gè)或者多個(gè)組件組成,對外提供一種特定服務(wù),這種基于SOA的框架同時(shí)支持對組件的全生命周期管理,支持動態(tài)加載、卸載組件。
統(tǒng)一的網(wǎng)絡(luò)模型:ONOS 抽象出了統(tǒng)一的網(wǎng)絡(luò)資源和網(wǎng)元模型,奠定了第三方SDN應(yīng)用程序互通的基礎(chǔ),使得運(yùn)營商可以做靈活的業(yè)務(wù)協(xié)同和低成本業(yè)務(wù)創(chuàng)新。
3.2.3 典型組件
REST API:提供開放的北向抽象接口,方便運(yùn)營商以及用戶基于ONOS開發(fā)應(yīng)用以及插件。
功能組件:ONOS提供統(tǒng)一的網(wǎng)絡(luò)資源和網(wǎng)元模型,更有利于運(yùn)營商進(jìn)行業(yè)務(wù)開發(fā)。統(tǒng)一的組件和模型結(jié)構(gòu)如下圖:
[引用feiskyer中ONOS組件和服務(wù)章節(jié)]
圖片來源 gitbook-SDN指南
Cluster:ONOS集群間通信支持Gossip以及Raft兩種算法。Cluster提供了較好的分區(qū)容錯(cuò)性以及彈性擴(kuò)展機(jī)制。Cluster能夠保障節(jié)點(diǎn)失效對業(yè)務(wù)無影響,當(dāng)ONOS節(jié)點(diǎn)宕機(jī)時(shí),其他節(jié)點(diǎn)會接管該節(jié)點(diǎn)對網(wǎng)元的控制權(quán),當(dāng)節(jié)點(diǎn)恢復(fù)后,通過loadbalance命令恢復(fù)節(jié)點(diǎn)對網(wǎng)元的控制并使整體的控制達(dá)到負(fù)載均衡。ONOS屏蔽了負(fù)責(zé)的分布式機(jī)制,只對外暴露業(yè)務(wù)接口,使應(yīng)用開發(fā)更加簡單。集群機(jī)制如下:
[引用feiskyer中ONOS集群原理章節(jié)]
圖片來源 gitbook-SDN指南
3.3 Orion分布式控制器
Orion控制器是Google獨(dú)立開發(fā)的第二代控制器。Google于2021年NSDI會議上發(fā)表Orion相關(guān)論文,論文詳細(xì)闡述了Orion的設(shè)計(jì)原則、整體架構(gòu)以及在網(wǎng)絡(luò)中的應(yīng)用情況。論文發(fā)布時(shí),Orion已經(jīng)在現(xiàn)網(wǎng)中穩(wěn)定運(yùn)行了四年。相比Google第一代控制器Onix,Orion具有以下特征:
(1)完全獨(dú)立開發(fā)。
(2)微服務(wù)架構(gòu),分布式程序,具有更高的穩(wěn)定性。
(3)基于敏捷的開發(fā),更快的迭代速度。
3.3.1 架構(gòu)方案
Orion是一個(gè)典型的微服務(wù)應(yīng)用。其本身的工作模式是基于協(xié)調(diào)(reconciliation)的模式。從設(shè)計(jì)的根本原理上看,Orion和Kubernetes的原理幾乎一致。
整體框架如下:
圖片來源論文:《Orion:Google`s Software-Defined Networking Control Plane》
從架構(gòu)上看,最上層是各種具體的網(wǎng)絡(luò)應(yīng)用,如負(fù)責(zé)域內(nèi)算路的Routing Engine。
中間的核心層實(shí)現(xiàn)了控制器的通用功能,包括了NIB數(shù)據(jù)庫,配置模塊,拓?fù)淠K以及流管理模塊。中間層的每個(gè)模塊都是微服務(wù)應(yīng)用。
下層則是OpenFlow協(xié)議棧,Orion控制的所有路由器均只有OpenFlow協(xié)議棧,沒有傳統(tǒng)協(xié)議棧,傳統(tǒng)協(xié)議都是在控制器上完成,可以說是徹底實(shí)現(xiàn)了SDN化。
3.3.2 核心概念
意圖驅(qū)動:Orion面向大規(guī)模生產(chǎn)網(wǎng)絡(luò),在大規(guī)模生產(chǎn)網(wǎng)絡(luò)中,宏觀的意圖遠(yuǎn)比細(xì)瑣的過程更穩(wěn)定,更不容易出錯(cuò),因而意圖驅(qū)動(intent-based)成為了必然選擇。Orion本身就被設(shè)計(jì)成一個(gè)翻譯和細(xì)化意圖的控制器。而控制器最終會將管理人員的意圖轉(zhuǎn)化為設(shè)備可識別的Openflow原語。Intent鏈?zhǔn)椒磻?yīng)圖如下:
圖片來源論文:《Orion:Google`s Software-Defined Networking Control Plane》
分布式控制器:傳統(tǒng)控制器多為集中式控制器,控制器單元由一個(gè)中心多個(gè)分中心的方式進(jìn)行管理,而Orion采用的是邏輯上的集中。在論文中提到:控制器為邏輯集中控制器,為了實(shí)現(xiàn)高性能,控制器需要具有基于內(nèi)存的狀態(tài)表示以及在松散協(xié)調(diào)的微服務(wù)SDN應(yīng)用程序之間使用適當(dāng)?shù)囊恢滦约墑e[ 引用《Orion: Google's Software-Defined Networking Control Plane》第一章描述]。
3.3.3 典型設(shè)計(jì)
微服務(wù)框架:Orion徹底擺脫了傳統(tǒng)控制器的集中式管控制約,采用和K8S類似的架構(gòu)進(jìn)行設(shè)計(jì),將網(wǎng)絡(luò)業(yè)務(wù)抽象為獨(dú)立的服務(wù),方便了業(yè)務(wù)的開發(fā)、部署以及維護(hù)。在萬物上云時(shí)代,基于微服務(wù)架構(gòu)的設(shè)計(jì)思路更貼合業(yè)務(wù)的實(shí)現(xiàn)與部署方案。
微服務(wù)框架是未來SDN控制器中重要的發(fā)展方向。中國移動智慧家庭運(yùn)營中心自研的SDN控制器就是基于微服務(wù)架構(gòu)對網(wǎng)絡(luò)業(yè)務(wù)進(jìn)行劃分,采用協(xié)調(diào)機(jī)制實(shí)現(xiàn)高效的業(yè)務(wù)配置與調(diào)度。
Intent和Ground Truth的鏈?zhǔn)椒?/strong>應(yīng):如上圖意圖網(wǎng)絡(luò)所示,Intent有多種來源,通過控制器一級一級的協(xié)調(diào),最終將配置轉(zhuǎn)化為機(jī)器原語。在意圖網(wǎng)絡(luò)中,最終還是要從人的意圖出發(fā)。
正如論文中寫到的:“Intentbased networks specify management or design changes by describing the new intended end-state of the network (the“what”) rather than prescribing the sequence of modifications to bring the network to that end-state (the “how”)[ 引用論文《Orion: Google's Software-Defined Networking Control Plane》3.1中意圖網(wǎng)絡(luò)原理的描述]”。
4總結(jié)
通過前面大概的介紹,我們了解了控制器的發(fā)展歷史和方向。這為我們自研控制器提供了很好參考和范例。
目前,中國移動智慧家庭運(yùn)營中心在自研控制器領(lǐng)域尤其是面向SDWAN自研控制器領(lǐng)域已具備一定的技術(shù)積累,基于ODL的開源控制器已在公司部分業(yè)務(wù)上面進(jìn)行了試商用,并取得了良好的成效。中國移動智慧家庭運(yùn)營中心正在將自研控制器向微服務(wù)化的分布式控制器演進(jìn)。在未來,基于微服務(wù)架構(gòu)的控制器將以更快的迭代速度,更穩(wěn)定的性能,更高的服務(wù)效率為移動網(wǎng)絡(luò)云時(shí)代發(fā)展提供支撐。
審核編輯:湯梓紅
-
控制器
+關(guān)注
關(guān)注
112文章
16464瀏覽量
179603 -
云計(jì)算
+關(guān)注
關(guān)注
39文章
7853瀏覽量
137931 -
5G
+關(guān)注
關(guān)注
1356文章
48510瀏覽量
566198 -
sdn
+關(guān)注
關(guān)注
3文章
254瀏覽量
44880
原文標(biāo)題:SDN控制器
文章出處:【微信號:5G通信,微信公眾號:5G通信】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
![](https://file1.elecfans.com/web2/M00/EE/3C/wKgaomZqtZyAU9VMAAHe9U_zjLI026.png)
微控制器的發(fā)展怎么樣
AVR單片機(jī)的全功能工業(yè)控制器設(shè)計(jì)
![AVR單片機(jī)的全<b class='flag-5'>功能</b>工業(yè)<b class='flag-5'>控制器</b>設(shè)計(jì)](https://file.elecfans.com/web2/M00/49/2F/pYYBAGKhtD2AFb26AAATJoEpLJw654.jpg)
基于SDN控制器性能評估研究
![基于<b class='flag-5'>SDN</b><b class='flag-5'>控制器</b>性能評估研究](https://file.elecfans.com/web2/M00/49/65/poYBAGKhwKyAG4WhAAAOzStX7uo004.jpg)
基于圖非均衡劃分的SDN異構(gòu)控制器負(fù)載優(yōu)化部署方法
![基于圖非均衡劃分的<b class='flag-5'>SDN</b>異構(gòu)<b class='flag-5'>控制器</b>負(fù)載優(yōu)化部署方法](https://file.elecfans.com/web2/M00/49/81/poYBAGKhwL-AaIEGAAAa1dUKvgg127.jpg)
基于SDN的入侵容忍控制器架構(gòu)設(shè)計(jì)
![基于<b class='flag-5'>SDN</b>的入侵容忍<b class='flag-5'>控制器</b>架構(gòu)設(shè)計(jì)](https://file.elecfans.com/web2/M00/49/85/poYBAGKhwMGAe4-qAAAX-3FFLUo982.jpg)
多控制器條件下區(qū)分QoS的虛擬SDN映射方法
![多<b class='flag-5'>控制器</b>條件下區(qū)分QoS的虛擬<b class='flag-5'>SDN</b>映射方法](https://file.elecfans.com/web2/M00/49/8D/poYBAGKhwMeAaWVmAAAf98kdVH4222.jpg)
評論