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