張淑玲
(寧夏建設(shè)職業(yè)技術(shù)學(xué)院,寧夏 銀川 750021)
互聯(lián)網(wǎng)發(fā)展至今已深入到社會各個領(lǐng)域,隨著網(wǎng)絡(luò)用戶規(guī)模和數(shù)據(jù)流量應(yīng)用需求的急速增長,現(xiàn)有的網(wǎng)絡(luò)還面臨著嚴(yán)峻挑戰(zhàn),因此,探索者們積極投入到未來互聯(lián)網(wǎng)的一系列研究工作,不斷探索著新的網(wǎng)絡(luò)架構(gòu)。
未來互聯(lián)網(wǎng)新型結(jié)構(gòu)體系大致可以有兩種方案來實(shí)現(xiàn):第一種方案在原有的IP網(wǎng)絡(luò)架構(gòu)基礎(chǔ)上進(jìn)行修補(bǔ)、升級,稱之為演進(jìn)型技術(shù)路線,第二種方案是推翻以前的思路,不受IP地址限制,構(gòu)建全新的網(wǎng)絡(luò)體系結(jié)構(gòu),稱之為可編程網(wǎng)絡(luò)的革命型技術(shù)路線。
軟件定義網(wǎng)絡(luò)SDN則是能夠?qū)崿F(xiàn)網(wǎng)絡(luò)可編程的新型網(wǎng)絡(luò)架構(gòu)。
現(xiàn)有網(wǎng)絡(luò)還面臨著如下嚴(yán)峻挑戰(zhàn):
挑戰(zhàn)1:不斷涌現(xiàn)的新業(yè)務(wù)、新需求使得結(jié)構(gòu)死板的傳統(tǒng)網(wǎng)絡(luò)越來越不能夠適應(yīng)了。
挑戰(zhàn)2:現(xiàn)有網(wǎng)絡(luò)信息傳輸冗余非常嚴(yán)重,已經(jīng)不能適應(yīng)未來互聯(lián)網(wǎng)流量極速增長的需求。圖片、微博、視頻等大部分內(nèi)容分發(fā)型應(yīng)用存在大量重復(fù)傳輸問題,如優(yōu)酷2011年播放量過億次電視劇有30部。Cisco預(yù)計在線視頻流量將會占據(jù)互聯(lián)網(wǎng)90%流量。
挑戰(zhàn)3:現(xiàn)有網(wǎng)絡(luò)在實(shí)時性、安全性等方面阻礙了信息技術(shù)與傳統(tǒng)行業(yè)深度結(jié)合的發(fā)展空間,逐步滿足不了社會應(yīng)用的需求。移動互聯(lián)網(wǎng)的快速發(fā)展使全球IP流量高速增長,給通信運(yùn)營商在網(wǎng)絡(luò)基礎(chǔ)設(shè)施管理、維護(hù)方面帶來巨大挑戰(zhàn)及壓力[1]。
挑戰(zhàn)4:由于互聯(lián)網(wǎng)與實(shí)體經(jīng)濟(jì)越來越深度融合,它們發(fā)展必然趨勢就是出現(xiàn)第二經(jīng)濟(jì)(依賴于處理器、傳感器、執(zhí)行器等組合體運(yùn)行的一系列智能化經(jīng)濟(jì))和互聯(lián)網(wǎng)+的深入開展。
針對上述情況,軟件定義網(wǎng)絡(luò)SDN提出了全新的探索思路:將控制功能從網(wǎng)絡(luò)節(jié)點(diǎn)中分離出來,以可編程的方式控制流量,構(gòu)建動態(tài)、開放、可控的網(wǎng)絡(luò)環(huán)境[2]。
軟件定義網(wǎng)絡(luò)英文名為Software Defined Network,簡稱SDN。在2006年,由美國斯坦福大學(xué)Ethane項(xiàng)目研究組首次提出的SDN技術(shù)的雛形,經(jīng)過多年眾多研究者的努力構(gòu)建的一種創(chuàng)新型網(wǎng)絡(luò)架構(gòu),為了對網(wǎng)絡(luò)流量進(jìn)行靈活控制,把網(wǎng)絡(luò)設(shè)備控制面與數(shù)據(jù)面相分離,構(gòu)建的一個開放、可控、安全的新時代網(wǎng)絡(luò)模型,SDN的核心技術(shù)是OpenFlow[3-4]。
2.2.1 OpenFlow簡介
最早由斯坦福大學(xué)研究人員提出把控制和轉(zhuǎn)發(fā)操作進(jìn)行相互分離形成一種新型的網(wǎng)絡(luò)架構(gòu),網(wǎng)絡(luò)工程師不需要改動網(wǎng)絡(luò)設(shè)備本身,直接進(jìn)行任意的編程,從而實(shí)現(xiàn)新型的網(wǎng)絡(luò)協(xié)議、網(wǎng)絡(luò)拓?fù)浼軜?gòu)。
OpenFlow技術(shù)主要作用是將以前傳統(tǒng)的由交換機(jī)/路由器單獨(dú)控制的報文轉(zhuǎn)發(fā)過程,轉(zhuǎn)換為由控制器和交換機(jī)共同完成,從而實(shí)現(xiàn)路由控制和數(shù)據(jù)轉(zhuǎn)發(fā)的分離。網(wǎng)絡(luò)管理者可以通過自己編程的方式修改路由器自身內(nèi)置協(xié)議,通過自定義方案,達(dá)到控制網(wǎng)絡(luò)中數(shù)據(jù)流的走向及行為的目的,更好的實(shí)現(xiàn)數(shù)據(jù)交換性能,為網(wǎng)絡(luò)帶來了更大的靈活性、可控性。
OpenFlow最突出的優(yōu)點(diǎn)是減少硬件交換機(jī)的成本。由網(wǎng)絡(luò)工程師控制和管理網(wǎng)絡(luò),從而增加了網(wǎng)絡(luò)功能同時又降低運(yùn)營網(wǎng)絡(luò)的成本。
2.2.2 OpenFlow模型
由控制器、OpenFlow 協(xié)議和OpenFlow交換機(jī)三個主要部分組成OpenFlow模型,如圖1所示[5]:
圖1 OpenFlow模型Fig.1 Openflow Model
(1)控制器:負(fù)責(zé)指揮設(shè)備如何工作。它借助于開放的OpenFlow協(xié)議,通過事先規(guī)定好的接口操作,對不同交換機(jī)和路由器中的數(shù)據(jù)流表進(jìn)行編程,然后決定每一個數(shù)據(jù)包的流向,從而達(dá)到控制數(shù)據(jù)轉(zhuǎn)發(fā)的目的,實(shí)現(xiàn)防火墻、負(fù)載均衡器等一些特殊網(wǎng)絡(luò)設(shè)備才具有的功能[6]。
(2)OpenFlow 協(xié)議:OpenFlow 協(xié)議為交換機(jī)和控制器之間的通信提供標(biāo)準(zhǔn)化開放的接口。借助于事先定義好的API,控制器就可以接受交換機(jī)的請求,發(fā)送指令,修改交換機(jī)中的流表,進(jìn)而控制數(shù)據(jù)流的走向。SDN的網(wǎng)絡(luò)設(shè)備與控制器之間通過OpenFlow協(xié)議來互相通信。
(3)OpenFlow交換機(jī):安全通道和流表組成OpenFlow交換機(jī)。交換機(jī)主要管理數(shù)據(jù)層的轉(zhuǎn)發(fā),是核心部件。OpenFlow對網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)轉(zhuǎn)發(fā)按流表進(jìn)行轉(zhuǎn)發(fā),多個表項(xiàng)(Flow Entry)組成流表,每個流表項(xiàng)就是一個轉(zhuǎn)發(fā)規(guī)則,每個表項(xiàng)中包含包頭域,計數(shù)器和動作這三個字段組成[7],如表1所示。
安全通道是連接控制器與交換機(jī)的接口,控制器通過這個接口控制和管理交換機(jī)。
表1 Flow Entry 組成Table 1 Composition of Flow Entry
①主機(jī)向網(wǎng)絡(luò)發(fā)送數(shù)據(jù)包,如圖2所示。
② IF 交換機(jī)流表無匹配項(xiàng),通過Packet-in 事件(交換機(jī)接收數(shù)據(jù)包)將數(shù)據(jù)包上報給控制器
③控制器下發(fā)流表(或Packe-tOut 交換機(jī)轉(zhuǎn)發(fā)數(shù)據(jù)包)
④數(shù)據(jù)包轉(zhuǎn)發(fā)
⑤同②
⑥同③
⑦數(shù)據(jù)包轉(zhuǎn)發(fā)
圖 2 基于openFlow的SDN工作流程Fig.2 SDN workflow based on openflow
SDN實(shí)現(xiàn)的目標(biāo)一是數(shù)據(jù)平面和控制平面的分離,二是實(shí)現(xiàn)網(wǎng)絡(luò)可編程。從而使SDN帶來了三大優(yōu)勢,使復(fù)雜的網(wǎng)絡(luò)變簡單化了,增加了網(wǎng)絡(luò)部署的靈活性,增加了網(wǎng)絡(luò)的可靠性及穩(wěn)定性。因此,使用SDN技術(shù)能夠讓運(yùn)營商虛擬化管理各種網(wǎng)絡(luò)資源,由于采用通用的硬件設(shè)備,使設(shè)備的負(fù)載有效降低,減少消耗,縮短新網(wǎng)絡(luò)部署開發(fā)周期,更好的協(xié)助網(wǎng)絡(luò)運(yùn)營商降低整體運(yùn)營成本。SDN現(xiàn)今成為全球最有發(fā)展前景、最熱門的創(chuàng)新型網(wǎng)絡(luò)技術(shù)之一。[8]
(1)集中控制:在控制層,控制器掌握全局網(wǎng)絡(luò)信息,集中控制可以實(shí)現(xiàn)網(wǎng)絡(luò)全局優(yōu)化,整個網(wǎng)絡(luò)相當(dāng)于一臺設(shè)備進(jìn)行維護(hù),設(shè)備零配置即插即用,大大降低運(yùn)維成本。
(2)開放接口:交互協(xié)議OpenFlow是一個開放的統(tǒng)一協(xié)議。應(yīng)用和網(wǎng)絡(luò)的無縫集成,用戶可以自行開發(fā)網(wǎng)絡(luò)新功能,加快新功能面世周期。
(3)網(wǎng)絡(luò)虛擬化:邏輯網(wǎng)絡(luò)和物理網(wǎng)絡(luò)的分離,邏輯網(wǎng)絡(luò)可以根據(jù)業(yè)務(wù)需要進(jìn)行配置、遷移,不受物理位置的限制。[9]
(4)多租戶支持,每個租戶可以自己定義帶寬需求和私有編址。
在ONS2012會議上,各大廠商和開發(fā)商就未來SDN架構(gòu)的三層模型統(tǒng)一認(rèn)識。SDN的網(wǎng)絡(luò)結(jié)構(gòu)主要由應(yīng)用層、控制層、基礎(chǔ)設(shè)施層三層組成,如圖3所示:[10]
(1)基礎(chǔ)設(shè)施層:由轉(zhuǎn)發(fā)設(shè)備組成,用來實(shí)現(xiàn)基礎(chǔ)功能。
(2)控制層:由SDN控制軟件組成,與下層可用OpenFlow協(xié)議通信。負(fù)責(zé)控制并操作流量。
(3)應(yīng)用層:位于最上層,是一些API,基于標(biāo)準(zhǔn)接口、實(shí)現(xiàn)各種特殊功能的應(yīng)用程序。
圖3 SDN三層架構(gòu)示意圖Fig.3 Schematic diagram of SDN three-tier architecture
由于控制層與OpenFlow 協(xié)議比較復(fù)雜,專業(yè)性也比較強(qiáng),SDN不讓開發(fā)者自己去寫控制層,而是利用SDN標(biāo)準(zhǔn),在已有控制層的基礎(chǔ)上構(gòu)建自己的APP,借助于APP去管理網(wǎng)絡(luò),就類似于在最上層設(shè)置了一個開放平臺,以開放的思路促進(jìn)其發(fā)展,讓未來SDN真正普及使用。
在SDN網(wǎng)絡(luò)構(gòu)建的框架模式下,從局部小型的企業(yè)網(wǎng)、校園網(wǎng)到大型數(shù)據(jù)中心、云端服務(wù)、廣域網(wǎng)、無線網(wǎng),SDN已經(jīng)快速發(fā)展應(yīng)用到各個網(wǎng)絡(luò)場景當(dāng)中。
目前,許多制造商、運(yùn)營商都已積極加入到OpenFlow的陣營,如HP、IBM、Ericsson、Cisco、NEC等國際知名品牌以及國內(nèi)的中興、華為和烽火等。
在2011年舉辦的Interop展會上就有許多廠商在大力推廣自己的控制器和OpenFlow交換機(jī),場面相當(dāng)火爆。例如 NEC 公司演示了生產(chǎn)的OpenFlow控制器,并且已經(jīng)在美國市場開始銷售了;IBM 展示了可以在OpenFlow模式下工作的10Gb以太網(wǎng)交換機(jī);HP已經(jīng)在OpenFlow上投入了大量的資源,并且公司也為控制器平臺制定了詳細(xì)全面的軟件計劃。
2013年8月的SIGCOMM會議上,谷歌首次將其如何利用SDN技術(shù)解決數(shù)據(jù)中心之間流量問題的方案通過論文公之于眾。2014年為了滿足業(yè)務(wù)的需求,Google投入92億美元,利用網(wǎng)絡(luò)最新技術(shù),建設(shè)SDN骨干網(wǎng),標(biāo)志著SDN進(jìn)入到商用化階段。數(shù)百名工程師已經(jīng)投入到相關(guān)方面的研發(fā)之中,世界上最大的網(wǎng)絡(luò)之一——Google的Inter-DC正在完全基于OpenFlow的網(wǎng)絡(luò)上運(yùn)行。
盛科網(wǎng)絡(luò)已經(jīng)推出中國第一個支持 OpenFlow 的芯片作為參考設(shè)計,并在ONS上做了演示。單芯片支持4K流表和最新的網(wǎng)絡(luò)虛擬化隧道封裝技術(shù),以支持更開放的網(wǎng)絡(luò)環(huán)境。
清華則在數(shù)據(jù)中心上部署基于OpenFlow的liveCloud平臺,用于滿足虛擬化的云計算服務(wù),用戶可以通過云網(wǎng)絡(luò)方便進(jìn)行網(wǎng)絡(luò)管理。
綜上所述,SDN將網(wǎng)絡(luò)的管理從硬件轉(zhuǎn)移到軟件,用戶為網(wǎng)絡(luò)增加新功能時不用更新原有硬件設(shè)備,只需編程即可。在對 OpenFlow技術(shù)完善的過程中,構(gòu)建開放的SDN應(yīng)用平臺,徹底打破原有網(wǎng)絡(luò)架構(gòu)的理念,SDN會逐步應(yīng)用于各種網(wǎng)絡(luò)體系結(jié)構(gòu)的構(gòu)建,用于提高網(wǎng)絡(luò)管理效率,降低維護(hù)成本提高運(yùn)營效率。但同時,我們也要看到SDN面臨的挑戰(zhàn)。例如SDN面向大網(wǎng)的性能擴(kuò)展問題、SDN的芯片包括流表容量、流表轉(zhuǎn)發(fā)速率、轉(zhuǎn)發(fā)時延等問題。
本文在現(xiàn)有網(wǎng)絡(luò)分析的基礎(chǔ)上提出軟件定義網(wǎng)絡(luò)的概念,重點(diǎn)論述了SDN的關(guān)鍵技術(shù)——OpenFlow,并對SDN的優(yōu)勢和特征兩方面做了闡述,最后探討了SDN的網(wǎng)絡(luò)構(gòu)建及行業(yè)應(yīng)用。隨著未來互聯(lián)網(wǎng)+研究的不斷深入,大規(guī)模的SDN產(chǎn)業(yè)鏈結(jié)構(gòu)及商業(yè)部署必將會蓬勃發(fā)展。