北京聯(lián)盟 http://www.010lm.com/
隨著互聯(lián)網(wǎng)的普及,用戶數(shù)量不斷攀升,網(wǎng)絡(luò)不堪重負(fù)。移動(dòng)終端發(fā)展勢如破竹,智能手機(jī)不斷更新?lián)Q代,各種手機(jī)軟件層出不窮,手機(jī)控隨時(shí)隨地上網(wǎng),導(dǎo)致流量需求與日俱增,負(fù)荷過度的網(wǎng)絡(luò)無法滿足用戶需求。網(wǎng)絡(luò)體系龐大,架構(gòu)臃腫,不夠靈活,不能適應(yīng)不斷涌現(xiàn)出的新業(yè)務(wù)需求,服務(wù)質(zhì)量得不到保證。網(wǎng)絡(luò)體系復(fù)雜,網(wǎng)絡(luò)操作需要與其他IT操作的集成與協(xié)作,導(dǎo)致網(wǎng)絡(luò)部署困難。網(wǎng)絡(luò)更新麻煩,動(dòng)手操作過多,網(wǎng)絡(luò)管理員分身乏術(shù)。改良已經(jīng)無法解決現(xiàn)有的網(wǎng)絡(luò)問題,網(wǎng)絡(luò)改革勢在必行,于是SDN應(yīng)運(yùn)而生。北京聯(lián)盟 http://www.010lm.com/
SDN是美國斯坦福大學(xué)clean slate研究組提出的一種新型網(wǎng)絡(luò)架構(gòu)。傳統(tǒng)網(wǎng)絡(luò)采用分布式策略工作,由設(shè)備制定轉(zhuǎn)發(fā)策略,而SDN架構(gòu)中設(shè)備不運(yùn)行任何協(xié)議,轉(zhuǎn)發(fā)表由控制器下發(fā)給設(shè)備,實(shí)現(xiàn)數(shù)據(jù)平臺(tái)與控制平臺(tái)的分離。SDN的核心思想就是控制與轉(zhuǎn)發(fā)分離,將軟件應(yīng)用到網(wǎng)絡(luò)控制中,并起到主導(dǎo)作用,而不是由固定模式的協(xié)議控制網(wǎng)絡(luò)。SDN的目的是提高網(wǎng)絡(luò)的可控性與可編程性,可以根據(jù)用戶需求靈活地提供不同質(zhì)量等級(jí)的服務(wù)。北京聯(lián)盟 http://www.010lm.com/
北京聯(lián)盟 http://www.010lm.com/
SDN的提出立刻就在業(yè)界引起了軒然大波,尤其是一直被網(wǎng)絡(luò)設(shè)備商壓制的網(wǎng)絡(luò)用戶,將其視為擺脫網(wǎng)絡(luò)設(shè)備商牽制,翻身做主人的機(jī)會(huì),于是2011年一個(gè)以網(wǎng)絡(luò)用戶為主導(dǎo)的非營利性組織ONF就此誕生了。ONF宗旨是制定SDN統(tǒng)一標(biāo)準(zhǔn),推動(dòng)SDN產(chǎn)業(yè)化。ONF的工作重點(diǎn)是制定唯一的南向接口標(biāo)準(zhǔn)openflow,制定硬件行為轉(zhuǎn)發(fā)標(biāo)準(zhǔn),并且推出了一系列openflow 協(xié)議,其中較為穩(wěn)定的是openflow1.0和openflow1.3版本。ONF從用戶的角度制定協(xié)議,必然可以維護(hù)用戶的利益,但是其間也出一些問題。北京聯(lián)盟 http://www.010lm.com/
網(wǎng)絡(luò)設(shè)備的研發(fā)十分復(fù)雜,是一個(gè)系統(tǒng)化工程,需要結(jié)合方方面面考慮,需要豐富的實(shí)戰(zhàn)經(jīng)驗(yàn),而這些正是網(wǎng)絡(luò)用戶所缺乏的,因此直接導(dǎo)致openflow協(xié)議過于理想化,只能在實(shí)驗(yàn)及簡單網(wǎng)絡(luò)環(huán)境中應(yīng)用,無法實(shí)現(xiàn)大規(guī)模商用。這種情況下ONF不得不接受網(wǎng)絡(luò)設(shè)備商的參與,2013以設(shè)備商和軟件商為主導(dǎo)的另一SDN組織ODL騰空出世,網(wǎng)絡(luò)設(shè)備商出于自身利益出發(fā),也加入到SDN大軍中。并不是網(wǎng)絡(luò)設(shè)備商都不計(jì)較利益,不計(jì)得失地貢獻(xiàn)自己的技術(shù),設(shè)備商也有自己的考量,越來越多的人看好SDN,這是一股不可逆轉(zhuǎn)的趨勢,與其坐等網(wǎng)絡(luò)用戶擺脫自己,不如化被動(dòng)為主動(dòng)積極參與其中,眾多設(shè)備商聯(lián)手研發(fā)出統(tǒng)一的控制框架,其中可以嵌入一些服務(wù)與應(yīng)用模塊,各大設(shè)備商都爭相在大框架中融入更多的自己的技術(shù),因?yàn)樨暙I(xiàn)越多意味著影響越大,在ODL中爭得一席之地,才能為以后的發(fā)展留下生機(jī)。換句話說,置之死地而后生,貢獻(xiàn)出自己的核心技術(shù),這些技術(shù)隨著SDN的推廣被推向世界,說不定柳暗花明又一村呢!無論各自的目的是什么,ODL與ONF有共同的目的,推動(dòng)SDN和網(wǎng)絡(luò)功能虛擬化發(fā)展,打造統(tǒng)一開放的SDN平臺(tái),推動(dòng)SDN產(chǎn)業(yè)化。北京聯(lián)盟 http://www.010lm.com/
由此看來,ODL是SDN大環(huán)境下的必然產(chǎn)物,不僅僅得到網(wǎng)絡(luò)用戶的認(rèn)可,還受到網(wǎng)絡(luò)設(shè)備商的鼎力支持,注定在SDN發(fā)展中脫穎而出,成為SDN的靈魂產(chǎn)物之一。北京聯(lián)盟 http://www.010lm.com/
北京聯(lián)盟 http://www.010lm.com/
ODL是由Linux基金會(huì)推出的一個(gè)開源項(xiàng)目,集聚了行業(yè)中領(lǐng)先的供應(yīng)商和Linux基金會(huì)的一些成員。其目的在于通過開源的方式創(chuàng)建共同的供應(yīng)商支持框架,不依賴于某一個(gè)供應(yīng)商,竭力創(chuàng)造一個(gè)供應(yīng)商中立的開放環(huán)境,每個(gè)人都可以貢獻(xiàn)自己的力量,從而不斷推動(dòng)SDN的部署和創(chuàng)新。打造一個(gè)共同開放的SDN平臺(tái),在這個(gè)平臺(tái)上進(jìn)行SDN普及與創(chuàng)新,供開發(fā)者來利用、貢獻(xiàn)和構(gòu)建商業(yè)產(chǎn)品及技術(shù)。ODL的終極目標(biāo)是建立一套標(biāo)準(zhǔn)化軟件,幫助用戶以此為基礎(chǔ)開發(fā)出具有附加值的應(yīng)用程序。北京聯(lián)盟 http://www.010lm.com/
為了促進(jìn)SDN發(fā)展,讓更多的人認(rèn)可SDN思想,開源社區(qū)開發(fā)者、開源代碼、以及項(xiàng)目管理者組成了ODL開源社區(qū),無論是有進(jìn)取心的IT人士,網(wǎng)絡(luò)服務(wù)供應(yīng)商還是云服務(wù)供應(yīng)商都可以加入ODL社區(qū),ODL社區(qū)采用開放的管理模式,無論什么人都可以貢獻(xiàn)代碼,參選加入技術(shù)指導(dǎo)委員會(huì),以多種途徑參與項(xiàng)目方向走勢討論。北京聯(lián)盟 http://www.010lm.com/
社區(qū)領(lǐng)導(dǎo)層主要包括董事會(huì)和TSC,董事會(huì)和TSC在不違反社區(qū)規(guī)章制度的條件下有權(quán)逐漸改變管理方式。董事會(huì)負(fù)責(zé)項(xiàng)目管理、運(yùn)行以及市場相關(guān)決策。TSC主要負(fù)責(zé)項(xiàng)目選擇、技術(shù)決定,保證項(xiàng)目透明度,以及項(xiàng)目生命周期管理。ODL廠商成員分別分為鉑金成員、黃金成員、白銀成員,會(huì)員等級(jí)越高會(huì)費(fèi)也就越高。其中鉑金會(huì)員有Brocade、Cisco、Citrix、Dell、Ericsson、HPE、Intel、Red Hat,黃金會(huì)員有NEC,白銀會(huì)員有6WIND、A10networks、ADVA、Arista Networks等。下圖羅列出了會(huì)員的圖標(biāo):北京聯(lián)盟 http://www.010lm.com/
北京聯(lián)盟 http://www.010lm.com/北京聯(lián)盟 http://www.010lm.com/北京聯(lián)盟 http://www.010lm.com/北京聯(lián)盟 http://www.010lm.com/
大型社區(qū)通常有兩類管理模式:業(yè)務(wù)管理和技術(shù)管理,ODP也不例外,其技術(shù)指導(dǎo)包含技術(shù)指導(dǎo)委員會(huì)和主要組件的項(xiàng)目管理者,而業(yè)務(wù)領(lǐng)導(dǎo)實(shí)例化為董事會(huì)。北京聯(lián)盟 http://www.010lm.com/
OpenDaylight社區(qū)通過“技術(shù)指導(dǎo)委員會(huì)章程”規(guī)定兩者的職責(zé)和權(quán)限,董事會(huì)主要負(fù)責(zé)設(shè)定ODP的策略方向(包括ODP的范圍、技術(shù)愿景、方向),并對(duì)TSC提出的項(xiàng)目發(fā)布計(jì)劃進(jìn)行指導(dǎo)。而TSC則在董事會(huì)設(shè)定的策略方向內(nèi)提供技術(shù)指導(dǎo),制定發(fā)布規(guī)劃、確立發(fā)布質(zhì)量標(biāo)準(zhǔn)、挑選最佳的開發(fā)程序、監(jiān)控技術(shù)進(jìn)程,如果提交者和項(xiàng)目負(fù)責(zé)人之間出現(xiàn)技術(shù)沖突,TSC還需要負(fù)責(zé)調(diào)停。不僅如此,TSC還是ODP與其他聯(lián)盟和組織之間的接口人。北京聯(lián)盟 http://www.010lm.com/
任何組織和個(gè)人都有可能成為TSC成員。TSC最初有白金會(huì)員分別指定一個(gè)代表組成,TSC組織成立后,將會(huì)通過投票的方式將一些活躍的代碼提交者選舉為TSC成員。為了保證ODP的公平性和中立性,任何廠商都不可以控制投票權(quán),如果發(fā)現(xiàn)與白金會(huì)員有關(guān)的非指定TSC成員(新選舉出的TSC成員),該白金會(huì)員指定的TSC會(huì)員代表必須馬上辭職。對(duì)于TSC成員(包括主席)的選舉辦法,董事會(huì)每年都會(huì)重新評(píng)估。北京聯(lián)盟 http://www.010lm.com/
ODP包括多個(gè)小項(xiàng)目,每個(gè)項(xiàng)目的運(yùn)營都離不開以下幾類角色:貢獻(xiàn)者(Contributor)、提交者(committer)和項(xiàng)目管理者(project leader)北京聯(lián)盟 http://www.010lm.com/
北京聯(lián)盟 http://www.010lm.com/
ODL社區(qū)的運(yùn)行模式自主、開放,奉行協(xié)作原則,只要你有能力就能參與其中。這是一個(gè)開源組織,并不是只有會(huì)員才能使用里面的代碼,每個(gè)人都可以使用ODL的代碼,為它做出貢獻(xiàn)。這種運(yùn)行方式激勵(lì)了更多人參與ODL代碼編寫,ODL為大家合作、探究、討論提供了良好的平臺(tái)。雖然代碼本身非常重要,但人們創(chuàng)建這些代碼的方式、彼此協(xié)作的途徑以及代碼部署的操作機(jī)制同樣不容忽視。北京聯(lián)盟 http://www.010lm.com/
ODL的項(xiàng)目并不是一成不變的,而是不斷地提出新項(xiàng)目,待項(xiàng)目成熟后即可加入ODL核心項(xiàng)目。項(xiàng)目提出后進(jìn)入生命周期,做出相對(duì)應(yīng)的模型,解釋每個(gè)部分實(shí)現(xiàn)什么功能,根據(jù)模型寫代碼,用這種方式將項(xiàng)目模塊化,大家協(xié)同合作,查缺補(bǔ)漏。每個(gè)項(xiàng)目需要包括貢獻(xiàn)者、社區(qū)成員以及一個(gè)共同推選出的項(xiàng)目負(fù)責(zé)人,規(guī)定項(xiàng)目負(fù)責(zé)人是ODL項(xiàng)目的創(chuàng)始成員,這些最熟悉源代碼的專家可以給其他項(xiàng)目參與者更好的引導(dǎo)。一個(gè)新項(xiàng)目不僅僅需要資深成員,還需要新成員的加入,資深成員需要在項(xiàng)目啟動(dòng)三個(gè)月內(nèi)選拔新成員參與項(xiàng)目,項(xiàng)目才能獲得TSC的批準(zhǔn)。采取這種方式不但鼓勵(lì)新成員更加深入地參與進(jìn)社區(qū)項(xiàng)目,同時(shí)為社區(qū)注入源源不斷的新生力量。核心項(xiàng)目的負(fù)責(zé)人不僅是項(xiàng)目的領(lǐng)導(dǎo)者,也是TSC的組成成員,在TSC中代表自己的項(xiàng)目團(tuán)隊(duì)。 ODL董事會(huì)與TSC都采用投票制度,無論什么等級(jí)的成員最多只有投一票的權(quán)利,并且在董事會(huì)中任何一個(gè)供應(yīng)商都不可以掌握控制性投票權(quán),沒有一家公司可以擁有2個(gè)及以上的董事會(huì)席位。公開、透明、開放的運(yùn)行模式保證ODL項(xiàng)目一直沿著SDN的方向發(fā)展,而不是取決于某個(gè)供應(yīng)商。北京聯(lián)盟 http://www.010lm.com/
SDN成為網(wǎng)絡(luò)改革的焦點(diǎn)。與此同時(shí),ODL開源社區(qū)愈加受到行業(yè)內(nèi)人士的青睞,ODL集聚了最好的文化資源和最好的人力資源,為社區(qū)獲得可持續(xù)優(yōu)勢提供了有利條件。ODL社區(qū)以開源形式推出ODL控制器,具有風(fēng)險(xiǎn)低、產(chǎn)品透明、行業(yè)適應(yīng)能力強(qiáng)等特點(diǎn),人們可以根據(jù)自己的意愿決定是否配置這個(gè)框架,以此減小接受新技術(shù)的風(fēng)險(xiǎn),同時(shí),人們可以利用已有的基礎(chǔ)設(shè)備,實(shí)現(xiàn)新的SDN功能。ODL社區(qū)的開放性促進(jìn)了SDN的廣泛傳播,讓更多的人有機(jī)會(huì)接觸到SDN,見證SDN的發(fā)展。北京聯(lián)盟 http://www.010lm.com/
北京聯(lián)盟 http://www.010lm.com/
ODL擁有一套模塊化、可插拔靈活地控制平臺(tái)作為核心,這個(gè)控制平臺(tái)基于Java開發(fā),理論上可以運(yùn)行在任何支持Java的平臺(tái)上,其官方文檔推薦的最佳運(yùn)行環(huán)境是最新的Linux(Ubuntu 12.04+)及JVM1.7+。北京聯(lián)盟 http://www.010lm.com/
ODL控制器采用OSGI框架,SGI框架是面向Java的動(dòng)態(tài)模型系統(tǒng),它實(shí)現(xiàn)了一個(gè)優(yōu)雅、完整和動(dòng)態(tài)的組件模型,應(yīng)用程序(Bundle)無需重新引導(dǎo)可以被遠(yuǎn)程安裝、啟動(dòng)、升級(jí)和卸載,通過OSGI捆綁可以靈活地加載代碼與功能,實(shí)現(xiàn)功能隔離,解決了功能模塊可擴(kuò)展問題,同時(shí)方便功能模塊的加載與協(xié)同工作。北京聯(lián)盟 http://www.010lm.com/
ODL控制平臺(tái)引入了SAL,SAL北向連接功能模塊,以插件的形式為之提供底層設(shè)備服務(wù),南向連接多種協(xié)議,屏蔽不同協(xié)議的差異性,為上層功能模塊提供一致性服務(wù),使得上層模塊與下層模塊之間的調(diào)用相互隔離。SAL可自動(dòng)適配底層不同設(shè)備,使開發(fā)者專注于業(yè)務(wù)應(yīng)用的開發(fā)。北京聯(lián)盟 http://www.010lm.com/
此外,ODL控制平臺(tái)采用了Infinispan技術(shù),In?nispan是一個(gè)高擴(kuò)展性、高可靠性、鍵值存儲(chǔ)的分布式數(shù)據(jù)網(wǎng)格平臺(tái),選用Infinispan來實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)、查找及監(jiān)聽,用開源網(wǎng)格平臺(tái)實(shí)現(xiàn)controller的集群。北京聯(lián)盟 http://www.010lm.com/
北京聯(lián)盟 http://www.010lm.com/
ODL在設(shè)計(jì)的時(shí)候遵循了六個(gè)基本的架構(gòu)原則(以下來自opendaylight官方文檔):北京聯(lián)盟 http://www.010lm.com/
1、運(yùn)行時(shí)模塊化和擴(kuò)展化(Runtime Modularity and Extensibility):支持在控制器運(yùn)行時(shí)進(jìn)行服務(wù)的安裝、刪除和更新。北京聯(lián)盟 http://www.010lm.com/
2、多協(xié)議的南向支持(Multiprotocol Southbound):南向支持多種協(xié)議。北京聯(lián)盟 http://www.010lm.com/
3、服務(wù)抽象層(Service Abstraction Layer):南向多種協(xié)議對(duì)上提供統(tǒng)一的北向服務(wù)接口。MD-SAL(Model Driven Service Abstraction Layer)是opendaylight 的一個(gè)主要feature。北京聯(lián)盟 http://www.010lm.com/
4、開放的可擴(kuò)展北向API(Open Extensible Northbound API):提供可擴(kuò)展的應(yīng)用API,通過REST或者函數(shù)調(diào)用方式。兩者提供的功能要一致。北京聯(lián)盟 http://www.010lm.com/
5、支持多租戶、切片(Support for Multitenancy/Slicing):允許網(wǎng)絡(luò)在邏輯上(或物理上)劃分成不同的切片或租戶。控制器的部分功能和模塊可以管理指定切片。控制器根據(jù)所管理的分片來呈現(xiàn)不同的控制觀測面。北京聯(lián)盟 http://www.010lm.com/
6、一致性聚合(Consistent Clustering):提供細(xì)粒度復(fù)制的聚合和確保網(wǎng)絡(luò)一致性的橫向擴(kuò)展(scale-out)。北京聯(lián)盟 http://www.010lm.com/
北京聯(lián)盟 http://www.010lm.com/
如圖1.2所示,ODL控制器主要包括開放的北向API,控制器平面,以及南向接口和協(xié)議插件。北向API有OSGI和REST兩類,同一地址空間應(yīng)用使用OSGI類,而不同地址空間的應(yīng)用則使用REST類。OSGI是有狀態(tài)的連接,有注冊(cè)機(jī)制,而rest是無狀態(tài)鏈接。上層應(yīng)用程序利用這些北向API獲得網(wǎng)絡(luò)智能信息、運(yùn)行算法進(jìn)行分析并且設(shè)計(jì)部署新的網(wǎng)絡(luò)策略。北京聯(lián)盟 http://www.010lm.com/
北京聯(lián)盟 http://www.010lm.com/控制器平臺(tái)包括一系列功能模塊,可動(dòng)態(tài)組合提供不同服務(wù)。其中主要包括拓?fù)涔芾?、轉(zhuǎn)發(fā)管理、主機(jī)監(jiān)測、交換機(jī)管理等模塊。服務(wù)抽象層SAL是控制器模塊化的核心,自動(dòng)適配底層不同的設(shè)備,使開發(fā)者專注于業(yè)務(wù)應(yīng)用的開發(fā)。SAL北向連接功能模塊,以插件的形式為之提供底層設(shè)備服務(wù)。南向連接多種協(xié)議插件,屏蔽不同協(xié)議的差異性,為北向功能模塊提供一致性服務(wù),SAL起到中間調(diào)度作用。北京聯(lián)盟 http://www.010lm.com/
南向接口支持多種不同協(xié)議,如openflow1.0、openflow1.3、BEG-LS等。底層支持混合模式交換機(jī)和經(jīng)典openflow交換機(jī)。北京聯(lián)盟 http://www.010lm.com/
北京聯(lián)盟 http://www.010lm.com/
ODL成立不到一年就推出了首個(gè)開源版本氫(hydrogen),氫計(jì)劃中有多個(gè)項(xiàng)目,大概有五、六個(gè)項(xiàng)目里程碑,發(fā)布了基本版,虛擬化版和服務(wù)提供商版。基本版有一個(gè)標(biāo)準(zhǔn)的控制平臺(tái),包括Open Flow的設(shè)備,插件覆蓋范圍很廣,有一些可選的設(shè)備可以加入進(jìn)去,可以做交換機(jī)的管理,還有其他的功能都能夠覆蓋到。北京聯(lián)盟 http://www.010lm.com/
虛擬化版增加了一些服務(wù),主要運(yùn)用了虛擬化技術(shù),主要添加了VTN和open DOVE的相關(guān)模塊。最大化利用物理設(shè)備資源的同時(shí),提高服務(wù)人性化程度,用戶可以部署自己的虛擬網(wǎng)絡(luò)而無需了解底層復(fù)雜的物理拓?fù)洹?font color='#fff'>北京聯(lián)盟 http://www.010lm.com/
服務(wù)提供商版在基本的版本上面增加了一些功能,增加了SNMP、PCEP的協(xié)議,在控制器平臺(tái)里面還加入了一些其他的功能。北京聯(lián)盟 http://www.010lm.com/
2014年9月29日發(fā)布了Helium版本,這里面不再需要三層代理,而是OpenDaylight處理三層的路由功能,Lithium版本在2015年發(fā)行,2016年2月也發(fā)布了Be版本的OpenDaylight。北京聯(lián)盟 http://www.010lm.com/
聯(lián)系客服