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專業運維團隊支撐,可以快速定位客戶使用中遇到的問題,最快解決問題。http://www.vecloud.com/products/msp.html
總結
以上是生活随笔為你收集整理的SDN控制器OpenDaylight简介—VeCloud的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SDN控制器ONOS架构—Vecloud
- 下一篇: SDN控制器策略制定和表项下发—Vecl