OpenDaylight是一種開源的SDN控制器,在2013年初由Linux協會聯合業內18家企業(包括Cisco、Juniper、Broadcom等多家傳統網絡設備商)創立,他們的共同目標是以透明、開放、公平、協作為原則建立一個供應商、客戶、合作伙伴和開發人員可以共同使用的SDN開源平臺,從而推動SDN的產品化和商業化。2018年3月,OpenDaylight與FD.io、ONAP、OPNFV、SNAS.io、PNDA.io、Tungsten Fabric等頂級網絡項目合并成立LFN(LF Networking),其目標是促進最終用戶、設備廠商及開發者的協作,促進網路轉型和開源發展進程,降低成本、推動創新和提高網絡容量,實現網絡優化管理和自動化的開源平臺。
目前,OpenDaylight已經有6年的時間,這對很多開源項目來說已經走過一個從創建發展到沒落的輪回,而對OpenDaylight來說,現在仍然保持較高的版本發布頻率來增加新的特性,以滿足商用的要求。另外,OpenDaylight的版本命名策略是按元素周期表的順序依次命名,并在前段時間OpenDaylight發布了第9個版本:氟(Flourine),該版本增強了SFC和邊緣計算特性。
一、邏輯架構
OpenDaylight的邏輯架構分為應用層、控制器層和數據轉發層。其中,應用層聚焦網絡業務邏輯開發,負責資源編排;控制器層進行全局網絡的管理;數據轉發層為各種網絡設備,負責數據的轉發。
從控制器層的角度來說,與應用層的接口被為北向接口,與數據轉發層之間的接口被定義為南向接口。通過對北向接口(REST API、NETCONF)的封裝,應用層以軟件編程的形式調用各種網絡資源和把控整個網絡的資源狀態,并對資源進行統一調度。南向接口協議包含NETCONF、OVSDB、SNMP、BGP等協議,其中OpenFlow協議用于控制器和交換機之間的通信,控制器可以通過OpenFlow下發流表控制交換機,交換機也可以反饋信息給控制器,同時,OpenFlow也規定了交換機對報文的轉發方式。
注意到這里NETCONF即是北向接口也是南向接口,可能容易產生誤解,為什么同一協議即在北向出現也在南向出現?事實上,從上面的定義來看,北向和南向只是我們一種習慣的稱法,出現在應用層與控制層之間就是北向,出現在控制層與數據轉發層之間就是南向。所以,這里不用太糾結,理解其本質就可以了。
二、項目依賴關系
OpenDaylight包含核心項目、協議項目、應用項目、服務項目與支撐項目等,其中核心項目包含AAA、Archetypes、MD-SAL、Controller、Yang Tools等;協議項目包含BGP LS、NETCONF、OpenFlow、OVSDB、P4、SNMP4SDN等;應用項目包含DluxApp、NetVirt、FaaS、NeutronNorthbound等;服務項目包含Topology Processing Framework、Unimgr等。支撐項目包含ODL Tools、Integration、Documentation等,如下圖所示:
面對OpenDaylight這樣一個龐然大物,讓人最不安的問題或許是:我該如何更快更好地了解并掌握這個快速變化的項目?或許我們認知OpenDaylight最快也是最自然的方式就是努力在腦海里形成該項目的組織形式,并不斷地細化。比如OpenDaylight作為一個SDN控制器,它包括了哪些功能分別對應哪些項目,各個項目又實現了哪些服務以及功能,這些功能又是以什么樣的方式實現的等等。對于我們感興趣的項目又可以更為細致地去研究其內部架構和流程。
三、重要概念
1.MD-SAL
SAL即為業務抽象層,將服務抽象化,實現控制器既能夠支持多種不同的南向協議,也能向北向應用提供統一的服務接口。SAL提供設備發現、數據收集等服務,負責銜接南向協議與北向應用。OpenDaylight基于MD-SAL構建項目。
2.YANG
從網絡設備配置的實踐角度來說,讓你配置一臺設備,你直接CLI敲命令就可以了,如果讓你配置10臺、100臺設備你會怎么去做,你肯定會去想有沒有這樣的方法,可以使用極少的步驟統一配置下發,甚至一鍵下發。針對網絡中的眾多問題,一群網絡工程師聚在一起,滔滔不決地討論著工作過程中的問題,同時,也期望著詩和遠方:“如果是那樣的話,就好了”,就這么著NETCONF和YANG出現了,所以,夢想還是要有的,萬一實現了呢。有關YANG的細節如下圖:
四、應用案例
-
控制器
+關注
關注
112文章
15245瀏覽量
171324 -
網絡設備
+關注
關注
0文章
266瀏覽量
29362 -
應用層
+關注
關注
0文章
43瀏覽量
11441
發布評論請先 登錄
相關推薦
評論