SDN控制器OpenDaylight簡介—Vecloud
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SDN控制器ONOS架構—Vecloud架構Cloud
- SDN網路控制器安全認證方法-VeCloudCloud
- SDN控制器策略制定和表項下發—VecloudCloud
- SDN控制器關鍵效能指標及測試方法—Vecloud指標Cloud
- SDN控制器技術綜述:SDN交換機配置技術與控制技術的關係—VecloudCloud
- SDN有哪些技術特徵?-VeCloud特徵Cloud
- SDN南北向介面協議-VeCloud協議Cloud
- SDN平臺架構是什麼樣的?-VeCloud架構Cloud
- sdn專線架構是怎樣的?如何工作?——Vecloud架構Cloud
- ASP.NET MVC – 控制器簡介ASP.NETMVC
- 華存自主控制器大容量EMMC簡介
- 1.OpenDaylight基本架構架構
- JMeter邏輯控制器完整介紹JMeter
- 7.4、精簡分欄控制器
- 簡介
- SDN是什麼
- Jira使用簡介 HP ALM使用簡介
- BookKeeper 介紹(1)--簡介
- loadsh簡介
- Knative 簡介
- Javascript 簡介JavaScript
- JanusGraph -- 簡介
- Linux簡介Linux
- CSS 簡介CSS
- 反射簡介反射
- CSS簡介CSS
- JUC簡介
- sass簡介
- APIGateway 簡介APIGateway
- Feign簡介
- Django簡介Django
- Virgilio 簡介
- 簡介JSXJS
- LVM : 簡介LVM
- Linux——簡介Linux
- Apache簡介Apache
- JAVA簡介Java
- NATS簡介