已經(jīng)有不少的技術(shù)采用開源技術(shù),這促進了整個行業(yè)的蓬勃發(fā)展。使用開源技術(shù),可以避免廠商鎖定,并在市場上贏得一席之地,可互操作性和集成,并且能大幅降低使用成本。最成功的要屬Linux、Android這些開源操作系統(tǒng),由于是開源的,獲得了最廣泛的用戶使用,軟件成熟得也最快。網(wǎng)絡(luò)技術(shù)實際上有很多開放的標準,絕大多數(shù)的廠商還是能夠遵守的,這些開放的標準有效地定義了互連接口,對具體實現(xiàn)并沒有說明,這樣各個網(wǎng)絡(luò)廠商實現(xiàn)上就有所差異,最終實現(xiàn)上的差異導致互通上的困難,而作為網(wǎng)絡(luò)設(shè)備如果不能與其它設(shè)備互聯(lián)互通的話,也就失去了網(wǎng)絡(luò)設(shè)備的最根本屬性。顯然僅是有開放的標準還是不行,還是需要有開源的代碼,這些開源代碼可以定義行為,確??蓽y試并且易于理解,可快速移動和修改,提供一些公共開放的接口?,F(xiàn)有的網(wǎng)絡(luò)設(shè)備是將軟件和硬件結(jié)合到一起的,這樣軟件與硬件是緊耦合的,軟件上的修改很大地方都做了修改去適配獨有的硬件設(shè)備。比如現(xiàn)在市面上的思科的IOS網(wǎng)絡(luò)操作系統(tǒng),華為的Qudiway網(wǎng)絡(luò)操作系統(tǒng)以及華三的Comware網(wǎng)絡(luò)操作系統(tǒng),這些操作系統(tǒng)均與自己的硬件設(shè)備緊密結(jié)合,但都有其私有屬性,無法用于其它廠商的設(shè)備上。SDN技術(shù)的出現(xiàn)打破了這種封閉,要將網(wǎng)絡(luò)設(shè)備軟件從硬件設(shè)備中脫離出來,這樣不僅使用通用的軟件就可以管理和控制網(wǎng)絡(luò)設(shè)備,還可能便于網(wǎng)絡(luò)管理,縮短業(yè)務(wù)部署的時間。這對傳統(tǒng)的網(wǎng)絡(luò)廠商不是什么好消息,本來傳統(tǒng)網(wǎng)絡(luò)廠商靠賣網(wǎng)絡(luò)硬件設(shè)備也是夠吃上幾年,現(xiàn)在不得不做出改變了。
現(xiàn)在開源的網(wǎng)絡(luò)項目可不少,這里挑主要的說:OpenStack是對整個IT行業(yè)的編排,比如提供網(wǎng)絡(luò)服務(wù)的Neutron組件;OpenDaylight是全網(wǎng)絡(luò)行業(yè)范圍的SDN控制器;Open vSwitch是Linux內(nèi)核中的可編程軟件,可以通過Linux服務(wù)器實現(xiàn)虛擬交換的功能;其它的還有Open Network Linux、ONOS、CloudRouter、Quagga、OVN、ONIE、Open Compute等等,現(xiàn)在OpenDaylight發(fā)展走在了最前面,幾乎成為了開源網(wǎng)絡(luò)技術(shù)的排頭兵。OpenDaylight是Linux Foundation組織實施的一個開源軟件(Open Source Software)項目,旨在通過創(chuàng)建一個全行業(yè)支持的通用平臺來進一步推動SDN的普及和創(chuàng)新。OpenDaylight有自己的社區(qū),里面有大量愿意腳踏實地做出共享的人員組成,平均每月有近千項提交,并具有強大的集成和測試社區(qū),這使得SDN理論和實踐都發(fā)展很快,很快出現(xiàn)了較為成熟的開源軟件版本。最新的軟件版本已基本具備了實際應用的水平。
當然,OpenDaylight仍在不斷進步完善當中,當在實際網(wǎng)絡(luò)環(huán)境中部署時總會遇到這樣那樣的問題。當前的網(wǎng)絡(luò)是利用四十年前的代碼和經(jīng)驗構(gòu)建的,正所謂“冰凍三尺,非一日之寒”,網(wǎng)絡(luò)技術(shù)發(fā)展到今天,這么多年早已形成固有模式,改革起來難度阻力很大。首先,不同網(wǎng)絡(luò)不同設(shè)備對SDN的支持程度不同,這種混合網(wǎng)絡(luò)很難通過一個統(tǒng)一的網(wǎng)絡(luò)軟件控制器來控制。實際上,到目前為止,所有網(wǎng)絡(luò)廠商提供的控制器也僅僅是能對自己的硬件設(shè)備可以控制,對別的設(shè)備還無法實現(xiàn)互通。這大大限制了SDN技術(shù)的普及,而那些單純做SDN軟件的創(chuàng)新軟件企業(yè),根本得不到網(wǎng)絡(luò)硬件廠商的強有力支持,使得這些軟件就是空中樓閣,什么網(wǎng)絡(luò)設(shè)備也管理不了,控制不了。其次,SDN希望提供一個邏輯上集中的控制平面,而實際上我們需要的不僅僅是一臺控制器,還可以容忍故障、擴展性能,提供多個控制器分區(qū)控制等,實際網(wǎng)絡(luò)應用對SDN提出了更多的實際要求,這些要求一時間SDN很難都滿足。第三,開源意味著對所有人都可見,很多人都可以提交修改CASE,不同的人理解不同或者水平上的差異,導致SDN代碼上會有很多問題,不能做拿來主義直接使用,甚至直接拿來根本不能用,必須要對開源代碼非常熟悉做二次修改,才能使用。Linux也一樣,雖然發(fā)展得很成熟,但在具體應用環(huán)境中,還是需要做一些調(diào)整和修改才行,有不少Linux的商用軟件其實也是收費的,這些商用軟件就是將開源的Linux做了再次修改,使其更加接近實際的應用環(huán)境,通過售賣這些二次開發(fā)的Linux系統(tǒng)賺錢。最后,開源也帶來了信息安全上的風險,因為這無異于將網(wǎng)絡(luò)實現(xiàn)向所有人敞開,萬一在開源的代碼里實現(xiàn)上有漏洞,就容易被人攻擊,給數(shù)據(jù)中心安全帶來隱患,這是很多人最為擔心的一點。操作系統(tǒng)和很多通用軟件均容易成為攻擊的對象,就是因為這些實現(xiàn)代碼黑客們也能看到,通過研究系統(tǒng)存在的漏洞,攻破軟件防御系統(tǒng),達到不可告人的目的。如果將網(wǎng)絡(luò)部分也做成開源,那隨時都有被攻破的風險,只要是人寫的代碼不可能都天衣無縫,都有可能存在漏洞。
雖然開源網(wǎng)絡(luò)仍存在不少問題,并不妨礙其成為業(yè)內(nèi)發(fā)展的共識,這也是數(shù)據(jù)中心網(wǎng)絡(luò)的首次重大技術(shù)變革,孕育著巨大的市場機會,只有走向開放,數(shù)據(jù)中心網(wǎng)絡(luò)才會擁有更好的明天。