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