SDN控制器OpenDaylight簡介—Vecloud

Vecloud發表於2020-11-16

2013 年, Linux Foundation 聯合思科、 Juniper Broadcom 等多家網路裝置商創立了開源專案 Open
Daylight,
它的發起者和贊助商多為裝置廠商而非運營商等網路裝置消費者。 Open
Daylight
專案的發展目標在於推出一個通用的 SDN 控制平臺、網路作業系統 , 從而管理不同的網路裝置 , 正如 Linux
Windows
等作業系統可以在不同的底層裝置上執行一樣。 Open Daylight 支援多種南向協議 , 包括 Open I.0 13 版本 NETCONF
OVSDB
, 是一個廣義的 SDN 控制平臺 , 而不是僅支援 Open Flow 的狹義 SDN 控制器。
Open Daylight
以元素週期表中的元素名稱作為版本號 , 並每 6 個月更新一個版本。從第一個版本 : (
Hydrogen)
釋出至今 , 已經發布了 5 個版本 , 當前版本為硼 ( Boron)"”2014 2 4 , Open Daylight 釋出第一個版本
Hydrogen,
得到了行業的聚焦 , 引起了一番轟動。第一版釋出之後 , Open
Daylight
發展迅速 , 很快就成為最具有潛力的 SDN 控制器。而相比之下 , Ryu Floodlight 為代表的功能單一的 SDN 控制器的關注度大大降低 ,
OpenDaylight
成為當時 SDN 界最受人矚目的開源控制器。
Open Daylight
與其他控制器架構的明顯差別是 Open Daylight 架構中有服務抽象後 SAL( Service Abstraction
Layer)
SAL 主要完成外掛的管理 , 包括註冊、登出和能力的抽象等功能。不過 , Hydrogen 版本不夠成熟 , 程式碼中出現了兩種實現方式 : 一種是已被棄用的
AD-SAL( Application- Driver SAL),
另一種是目前正在使用的 MD-SAL(Model-Driver SAL)
2014
9 29 , OpenDaylight Heim 版釋出。在 11 月和 12 , 官方還連續釋出了 Helium 版的兩個子版本 SR1 SRl. I.
Open Daylight
Helium 版增加了與 Open Stack 的整合外掛 , 還提供了一個體驗更好的互動介面 , 效能也比
Hydrogen
版本提升了許多。在此版本的實現中 , Open Daylight 拋棄了 AD-SAL, 轉而全面使用
MD-SAL
此外 , 新版本還增加了 NFV 相關的模組。
2015
6 29 , Open Daylight ithium 版釋出。 Lithiun 版增加了對 Open
Stack
的支援 , 並針對之前的安全漏洞 , 加強了安全方面的工作 , 可擴充性和效能也得到了提升。此外 , 該版本加大了對 NFV 方面的開發投入。相比 Helium ,
Lithiun
版的穩定性等得到了大大的提高 ,GU 也得到了進一步美化 , 總體而言 , 相比 Helium 版本增強了許多。
2016
2 , Open Daylight
Beryllium
版釋出。新版本進一步提升了效能和可擴充性 , 也提供了更加豐富的應用案例。相比上一個版本 , 此版本沒有太大的改變。
2016
9 , Open Daylight 的新版本 Boron( ) 終於釋出。
Boron
版繼續對效能進行提升 , 也在使用者體驗方面下了功夫。此外 , 該版本在雲和 NFV 方面增加了若干新模組 , 進一步支援雲和 NFV 。值得注意的是 , 這些新增的模組中 , 有大約一半是由 Open
Daylight
的使用者提出的 , 其中就有 AT&T 主導的 YANG IDE 模組。從 Boron 版開始 Open
Dayligh
開始提倡由使用者來引領創新 , 鼓勵更多的社群使用者參與到 Open Daylight , 一起推動 Open Daylight 的發展。
Open Daylight
是一個很龐大的開源專案 , 它的社群成員包括許多組織和企業 , 包括 AT&T 、思科和騰訊等。然而由於組織本身的利益不同 , 加入
Open Daylight
專案的目的也各不相同。而出於企業戰略考慮 , 社群中的贊助成員的策略各不相同 , 比如 Big Switch 離開了專案 ,
VMware
減少了投資 , HP 卻增加了贊助 , 升級為 OpenDaylight 社群的鉑金會員。
Open Daylight
的架構可分為南向介面層、控制平面層、北向介面層和網路應用層。南向介面層中包含了如 Open Flow
NET-CONF
SNMP 等多種南向協議的實現。控制平面層是 Open Daylight 的核心 , 包括
MD-SALI
、基礎的網路功能模組、網路服務和網路抽象等模組 , 其中 MD-SAL Open Daylight 最具特色的設計 , 也是 Open
Daylight
架構中最重要的核心模組。無論是南向模組還是北向模組 , 或者其他模組 , 都需要在 MD-SAL 中註冊才能正常工作。
MD-SAL
也是邏輯上的資訊容器 , OpenDaylight 控制器的管理中心 , 負責資料儲存、請求路由、訊息的訂閱和釋出等內容北向介面層包含了開放的 REST
API
介面及 AAA 認證部分。應用層是基於 Open Daylight 北向介面層的介面所開發出的應用集合。
OpenDaylight
基於 Java 語言編寫 , 採用 Maven( Maven 是一個優秀的跨平臺構建工具 , Apache 的一個專案 ) 來構建模組專案程式碼。
Maven
構建工程有許多好處 , 可以允許 Open Daylight 對某些模組進行單獨編譯 , 使得在只修改某些模組程式碼時快速完成編譯。為了實現 Open
Daylight
良好的擴充性 , Open Daylight 基於 OsGi( Open ServiceGateway
Initiative)
框架執行 , 所有的模組均作為 oSGi 框架的 bundle 執行。 OSGi 是一個 Java 框架 , 其中定義了應用程式即
bundle
的生命週期模式和服務註冊等規範。 OsGi 的優點是支援模組動態載入、解除安裝、啟動和停止等行為 , 尤其適合需要熱插拔的模組化大型專案。 Open
Daylight
作為一個網路作業系統平臺 , 基於 OSGi 框架開發可以實現靈活的模組載入和解除安裝等操作 , 而無須在對模組進行操作時重啟整個控制器 , 在新版本中 , 其使用了 Kaf 容器來執行專案。 Kaaf Apache 旗下的一個開源專案 , 是一個基於 osGi 的執行環境 , 提供了一個輕量級的 oSGi 容器。基於 Open
Daylight
控制器開發模組時 , 還需要使用 YANG 語言來建模 , 然後使用 YANG Tools 生成對應的 Java API, 並與其他
Maven
構建的外掛程式碼共同完成服務實現。
特性方面 , Open Daylight 支援豐富的特性 , 而且在目前版本迭代中依然不斷增加特性。南向協議支援方面 , Open Daylight 支援 Open
Flow
NET-CONF SNMP PCEP 等多種南向協議 , 所以 Open Daylight 可以管理使用不同南向協議的網路。核心功能部分 ,Open
Daylight
除了支援如拓撲發現等基礎的控制器的功能以外 , 還支援許多新的服務 ,San VTN(Virtual Tenant Network )
ALTO(Application Layer Traffic Optimization ), DDoS
防禦及 SDNi
Wrapper
等服務和應用。值得一提的 ,SDNi 是華為開發並提交給 IETF SDN 域間通訊的協議草案 , 目的是實現 SDN 控制器例項之間的資訊互動。
此外 , Open Daylight 還正在大力開展 NFV 的研發。正如之前提到的 , Open Daylight 不僅僅是一個 SDN 控制器 , Open
Daylight
是一個網路作業系統。除了 SDN 控制器的基礎功能以外 , 還包括 NFV 等其他應用服務 , 可見其旨在打造一個通用的 SDN 作業系統。

Vecloud是一家面向企業提供雲交換網路服務為核心業務的技術創新企業,公司有24*7專業運維團隊支撐,可以快速定位客戶使用中遇到的問題,最快解決問題。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69984354/viewspace-2734413/,如需轉載,請註明出處,否則將追究法律責任。

相關文章