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