正如前文所說,一個人即需要聰明的大腦也需要健碩的身體和四肢,這也就是我們一直強(qiáng)調(diào)的軟件和硬件的關(guān)系。當(dāng)人與人之間進(jìn)行溝通時,首先需要合適的語言和知道與誰溝通才有價值。
再思考一個問題,比如有幾個城市,他們互相不連通,如果想要實(shí)現(xiàn)這幾個城市之間的交流我們需要做哪些事情?首先要建設(shè)公路、鐵路等交通路網(wǎng),以保證城市之間的物理連通。但只建立起物理連通就萬事OK了嗎?當(dāng)然不是,更重要的是要添加交通標(biāo)識以指明目的地的正確方向,并要建立道路信息維護(hù)系統(tǒng),確保公路網(wǎng)絡(luò)在發(fā)生事故或特殊情況時保障交通能力的有效性。
回到計算機(jī)通信領(lǐng)域,其中的道理就和連通各個城市一樣,只不過這些對道路的維護(hù)工作變成了對網(wǎng)絡(luò)的維護(hù)工作。由于傳統(tǒng)網(wǎng)絡(luò)設(shè)備的工作機(jī)制是分布式策略,換句話說就是策略的制定者為設(shè)備本身。不過這時的網(wǎng)絡(luò)對用戶和應(yīng)用而言是不能感知的。網(wǎng)絡(luò)使用報文頭來讓主機(jī)與網(wǎng)絡(luò)通信,或者利用報文與路由器或交換機(jī)通信,在收到這些報文后,交換機(jī)首先會提問:主機(jī)需要把這條報文發(fā)到哪里?之后,各個交換機(jī)回復(fù):根據(jù)上個問題的答案來查找下一轉(zhuǎn)發(fā)站,并決定下發(fā)路徑。這大致就是傳統(tǒng)網(wǎng)絡(luò)信息在轉(zhuǎn)發(fā)時的基本狀態(tài)。
然而,業(yè)界開始提出分離網(wǎng)絡(luò)邊界和網(wǎng)絡(luò)核心的問題,目的是讓網(wǎng)絡(luò)核心能夠更專注于報文發(fā)送的工作,而訪問控制和隔離功能則由網(wǎng)絡(luò)邊界來完成。這就是軟件定義網(wǎng)絡(luò)(Software Defined Network, SDN )概念產(chǎn)生的原始動機(jī)。最終在SDN環(huán)境下,網(wǎng)絡(luò)設(shè)備之間不再運(yùn)行任何網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)表和相關(guān)的網(wǎng)絡(luò)協(xié)議全部由控制器來配置生成,即將網(wǎng)絡(luò)控制層面與網(wǎng)絡(luò)轉(zhuǎn)發(fā)層面進(jìn)行分離。
SDN緣起
從2006年以斯坦福大學(xué)Nick McKeown教授為首的研究團(tuán)隊最先提出Openflow概念開始,到Openflow給網(wǎng)絡(luò)帶來了可編程性,再到今天所涌現(xiàn)出的各類軟件定義的網(wǎng)絡(luò)(SDN)標(biāo)準(zhǔn),讓我們意識到SDN 的發(fā)展儼然成為當(dāng)今網(wǎng)絡(luò)領(lǐng)域最熱門的技術(shù)趨勢,同時也是最有可能顛覆傳統(tǒng)網(wǎng)絡(luò)架構(gòu)的全新理念。在2012年,包括Google在內(nèi)的幾家大型互聯(lián)網(wǎng)企業(yè)開始在其IDC中部署SDN技術(shù),乃至后來VMware看到網(wǎng)絡(luò)虛擬化的重要性,通過收購虛擬網(wǎng)絡(luò)平臺供應(yīng)商N(yùn)icira提出相應(yīng)解決方案。之后像思科、華為等IT設(shè)備廠商也開始在SDN 領(lǐng)域投入大量研發(fā)力量。這一系列事件,讓我們看到SDN這股“勁風(fēng)”開始從軟件廠商刮向硬件設(shè)備廠商。
但無論是硬件廠商還是軟件廠商,他們所采取的產(chǎn)品解決方案或許各有不同,但其所遵循的SDN原理卻沒有什么本質(zhì)上的區(qū)別。從狹義的SDN概念來講,通過將網(wǎng)絡(luò)控制層面與網(wǎng)絡(luò)轉(zhuǎn)發(fā)層面進(jìn)行分離,從而可以更加靈活高效的對網(wǎng)絡(luò)進(jìn)行配置與管理。而廣義的SDN概念則是指通過類似方式降低網(wǎng)絡(luò)復(fù)雜性,并提高其性能的任何網(wǎng)絡(luò)形態(tài)。我們今天所看到的很多開放式的網(wǎng)絡(luò)接口和支持各種新型網(wǎng)絡(luò)結(jié)構(gòu)的產(chǎn)品,如VMware的VSX、思科的ACI、以及英特爾提出的軟件定義基礎(chǔ)設(shè)施(software-defined infrastructure,SDI)?;旧隙际腔谶@種SDN概念衍生出來的。
目前,幾乎所有的網(wǎng)絡(luò)設(shè)備廠商(例如:NEC、HP、DELL、IBM、CISCO、Juniper、ERICSSON、HUAWEI),網(wǎng)絡(luò)業(yè)的新興公司(BigSwitch),和IT巨頭(例如:Google、Facebook、Microsoft、Intel)都投身其中, 并且形成了各種聯(lián)盟或組織。
從SDN到SDDC,再到SDI
從SDN到軟件定義數(shù)據(jù)中心(SDDC),可以說是從最初的網(wǎng)絡(luò)領(lǐng)域進(jìn)入到了實(shí)際業(yè)務(wù)應(yīng)用領(lǐng)域。從SDN概念來看,SDN最終是要向上觸及到實(shí)際業(yè)務(wù)(用戶需求),向下則是要對接到底層物理設(shè)備,但從SDN發(fā)展初期看到,和硬件之間進(jìn)行“交互”并不容易,畢竟SDN的提出就是從上到下、從軟件到硬件的一個過程,所以也才會以軟件定義硬件的方式被最先提出來。但問題是為什么SDN從提出到發(fā)展在經(jīng)歷了一段很長的炒作期后,并沒有得到十分廣泛的應(yīng)用,這也許就是軟件“一廂情愿”的想要定義硬件,而硬件反過來卻對軟件“不理不睬”的原因。這就好比我們之前用的尋呼機(jī)一樣,服務(wù)臺發(fā)出的指令和信息只能單向傳達(dá)到尋呼機(jī)上顯示,但卻不能從尋呼機(jī)本身獲得更多的信息反饋。而我們今天使用的手機(jī)則可以實(shí)現(xiàn)雙向交互,比如可以通過手機(jī)上的GPS功能對其進(jìn)行實(shí)時定位,而這些功能都是通過終端設(shè)備(硬件)和應(yīng)用(軟件)之間進(jìn)行的有效交互所完成的。
因此,要想最終推動SDN的迅速發(fā)展,單靠軟件層面的努力是遠(yuǎn)遠(yuǎn)不夠的,那樣只會出現(xiàn)“剃頭挑子一頭熱“的現(xiàn)象。硬件方面必須要與軟件齊頭并進(jìn)才能最終達(dá)到我們所期待的目標(biāo)。所以我們也看到了一些傳統(tǒng)網(wǎng)絡(luò)硬件廠商開始推出相關(guān)產(chǎn)品來解決軟件與硬件之間的關(guān)聯(lián)問題。比如華為此前推出的FusionCube融合一體機(jī),集存儲、網(wǎng)絡(luò)、計算于一身,這無疑是一個數(shù)據(jù)中心的微縮版本,華為稱其可以通過自主芯片技術(shù)和管理軟件很好的實(shí)現(xiàn)對系統(tǒng)擴(kuò)容和業(yè)務(wù)變更的簡單高效管理。
而SDI軟件定義基礎(chǔ)設(shè)施(software-defined infrastructure)概念最初是由英特爾提出,SDI概念的提出進(jìn)一步把SDN理念延伸到了服務(wù)器、存儲、網(wǎng)絡(luò)這三大基礎(chǔ)設(shè)施領(lǐng)域,更加強(qiáng)調(diào)了硬件基礎(chǔ)設(shè)施在SDN領(lǐng)域中的重要性。因此,從SDN到SDDC,再到SDI的過程其實(shí)是一個順理成章的發(fā)展過程,這個過程就是從軟件到軟硬件再到硬件的演進(jìn)過程。其涵蓋的三個主要方面:SDN(軟件定位網(wǎng)絡(luò))+ NFV(網(wǎng)絡(luò)功能虛擬化)+ SDS(軟件定義存儲)為SDN實(shí)現(xiàn)對基礎(chǔ)網(wǎng)絡(luò)設(shè)施管理提供了技術(shù)保障。
SDN標(biāo)準(zhǔn)化從硬件開始
對于SDN的標(biāo)準(zhǔn)化而言眾說紛紜,各種組織也層出不窮,但就是沒有一個可以一統(tǒng)天下的標(biāo)準(zhǔn)出現(xiàn),而SDN的目標(biāo)只有一個,就是要通過這些特性降低企業(yè)基礎(chǔ)設(shè)施建設(shè)和運(yùn)維成本,加快基礎(chǔ)設(shè)施建設(shè)周期,為企業(yè)開辟新的商業(yè)機(jī)會和創(chuàng)新業(yè)務(wù)模式提供有力保障。這些特性其實(shí)就是SDN所應(yīng)該具備的基本特性和優(yōu)勢,但由于企業(yè)IT結(jié)構(gòu)及設(shè)備的復(fù)雜性,要想真正達(dá)成這樣的效果其實(shí)并不簡單。我們看到,往往在高昂的改造升級費(fèi)用和過長的改造周期下,大部分企業(yè)只有選擇觀望,并期待SDN技術(shù)的進(jìn)一步成熟。這些問題從根本上制約了SDN的發(fā)展速度。這也是目前SDN標(biāo)準(zhǔn)眾多的一個原因,因?yàn)橹挥性谀稠椉夹g(shù)形成規(guī)模后,才會有所謂主流標(biāo)準(zhǔn)的出臺。所以快速且經(jīng)濟(jì)的部署SDN,并有效發(fā)揮其特性是目前SDN發(fā)展階段的重視方向。
英特爾圍繞標(biāo)準(zhǔn)x86服務(wù)器和可編程交換機(jī)構(gòu)建了三個用于SDN和NFV開發(fā)與部署的參考設(shè)計,包括Open Networking Platform Switch Reference Design(開放網(wǎng)絡(luò)平臺交換機(jī)參考設(shè)計)和Server Reference Design(服務(wù)器參考設(shè)計),還有DPDK Accelerated Open vSwitch。所有這些都已經(jīng)提供給系統(tǒng)制造商,制造商們可根據(jù)英特爾的客戶需求對這些設(shè)計進(jìn)行修改。
而在物理交換機(jī)設(shè)計中,基于開放網(wǎng)絡(luò)平臺方式來降低企業(yè)升級成本和提高設(shè)備兼容性已經(jīng)成為目前的主流做法,英特爾采用旗艦產(chǎn)品(酷睿和至強(qiáng)CPU),結(jié)合加速的89xx系列芯片組和FM6700交換機(jī)進(jìn)行原生加密和壓縮。并支持開源的Linux操作系統(tǒng),以及開放可擴(kuò)展的管理應(yīng)用程序界面(API)、OpenFlow和Open vSwitch。這些技術(shù)不光是為網(wǎng)絡(luò)設(shè)備制造商及開發(fā)者提供對SDN產(chǎn)品開發(fā)的可能,更重要的是通過在底層硬件的核心,如交換機(jī)芯片與軟件層之間形成了類似中間件的技術(shù),以此為進(jìn)一步優(yōu)化軟硬件之間的“互聯(lián)互通”提供了“芯片級”保障。
SDN的目的是將網(wǎng)絡(luò)控制功能從轉(zhuǎn)發(fā)數(shù)據(jù)包的網(wǎng)絡(luò)設(shè)備中分離出來,并將控制功能植入在標(biāo)準(zhǔn)計算平臺運(yùn)行的軟件中。如果按照這么發(fā)展,那么,計算機(jī)能力制造商將挖掘一個全新的市場,而英特爾將提供更為有力的支持。
通過上文了解到OpenFlow是最早也是較重要的實(shí)現(xiàn)SDN的方式,但由于存量設(shè)備不支持OpenFlow協(xié)議,因此其如何與現(xiàn)網(wǎng)融合是一個很大的挑戰(zhàn)。而對現(xiàn)有網(wǎng)絡(luò)改動小是Overlay方案的優(yōu)勢,但純軟件的解決方案可能存在性能上的問題。很多人對vSwitch(虛擬交換機(jī))的性能提出懷疑,但是自從Intel推出DPDK(Data Plane Development Kit,數(shù)據(jù)平面開發(fā)套件)后,對這個問題的質(zhì)疑聲音要少一些了。
DPDK可以讓利用它接口的虛擬交換機(jī)跑得更快,就像VT讓PC虛擬化跑得更快一樣。這樣虛擬交換機(jī)就不會過渡消耗CPU資源并且性能更高。而基于英特爾x86的開放網(wǎng)絡(luò)平臺服務(wù)器架構(gòu)、以太網(wǎng)芯片、網(wǎng)卡以及成熟的軟件平臺,都為原始設(shè)備制造商(OEM)將數(shù)據(jù)平面的工作負(fù)荷轉(zhuǎn)移到非定制服務(wù)器的英特爾架構(gòu)上運(yùn)行提供了可能,這就意味著企業(yè)在部署SDN時有了更多靈活選擇的余地。
同樣,英特爾的目標(biāo)也是讓各種規(guī)模的網(wǎng)絡(luò)供應(yīng)商基于其參考設(shè)計來部署系統(tǒng)。當(dāng)競爭對手試圖進(jìn)入服務(wù)供應(yīng)商網(wǎng)絡(luò)領(lǐng)域時,英特爾將會最具影響力,哪怕是面臨現(xiàn)在由思科和瞻博網(wǎng)絡(luò)占主導(dǎo)地位的狀況。這些新的供應(yīng)商包括初創(chuàng)公司,以及老牌廠商(例如Brocade或者Extreme Networks),在將SDN產(chǎn)品推入市場方面,英特爾將幫助他們節(jié)省時間和金錢。
綜上所述,無論是目前全部采用開放式的標(biāo)準(zhǔn)化SDN網(wǎng)絡(luò),還是兼顧開放與私有標(biāo)準(zhǔn)的SDN網(wǎng)絡(luò),歸根到底都離不開硬件的有力支撐,而這種硬件的支持必須建立在對所有主流SDN技術(shù)及標(biāo)準(zhǔn)的基礎(chǔ)上,才能為更多的企業(yè)在未來部署SDN奠定通用性基礎(chǔ),這樣做的好處也是顯而易見的,不光是對于設(shè)備兼容性,還有后期維護(hù)及二次開發(fā)中提供盡可能大的便捷和成本優(yōu)化。更重要的是其可以在現(xiàn)有數(shù)據(jù)中心的通用架構(gòu)上輕松實(shí)現(xiàn)部署應(yīng)用??紤]到X86占據(jù)了數(shù)據(jù)中心市場80%左右的份額( IDC:2013年Q4全球服務(wù)器市場營收報告),因此基于X86平臺優(yōu)化的SDN底層基礎(chǔ)設(shè)施將更容易被企業(yè)所接受,也將進(jìn)一步降低技術(shù)層面的復(fù)雜性,為企業(yè)簡單快速部署SDN提供有力保障。更值得一提的是,在未來的X86市場中對SDN功能的支持甚至將成為一種默認(rèn)方式,而在幾乎沒有技術(shù)成本的前提下,企業(yè)大規(guī)模部署SDN勢必會成為現(xiàn)實(shí)。