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