,
(安徽國(guó)防科技職業(yè)學(xué)院信息技術(shù)學(xué)院,安徽 六安 237011)
當(dāng)今主流的計(jì)算機(jī)網(wǎng)絡(luò)在部署過(guò)程中,管理人員通過(guò)向設(shè)備內(nèi)輸入網(wǎng)絡(luò)命令實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)中路由器和交換機(jī)等設(shè)備的控制。這種網(wǎng)絡(luò)部署方式下,網(wǎng)絡(luò)中的設(shè)備不但要具備數(shù)據(jù)的轉(zhuǎn)發(fā)能力,還要具備網(wǎng)絡(luò)的控制能力。隨著大數(shù)據(jù)時(shí)代的來(lái)臨,云計(jì)算和大數(shù)據(jù)業(yè)務(wù)對(duì)網(wǎng)絡(luò)的智能化要求越來(lái)越高,傳統(tǒng)網(wǎng)絡(luò)架構(gòu)逐漸難以滿足相關(guān)的業(yè)務(wù)需求,網(wǎng)絡(luò)部署人員便嘗試著將傳統(tǒng)架構(gòu)進(jìn)行重新規(guī)劃和布局,將網(wǎng)絡(luò)功能模塊化,將設(shè)備的控制能力和對(duì)數(shù)據(jù)信息的轉(zhuǎn)發(fā)能力進(jìn)行分離,實(shí)現(xiàn)對(duì)功能的集中管理。新型網(wǎng)絡(luò)架構(gòu)體系中,控制層面從全局掌控網(wǎng)絡(luò),成為網(wǎng)絡(luò)的大腦與核心,轉(zhuǎn)發(fā)層面只負(fù)責(zé)數(shù)據(jù)流的轉(zhuǎn)發(fā),對(duì)整個(gè)網(wǎng)絡(luò)而言只作為透明的傳輸介質(zhì)。
SDN(軟件定義網(wǎng)絡(luò))的架構(gòu)方式能夠?qū)⒃O(shè)備的控制能力和對(duì)數(shù)據(jù)信息的轉(zhuǎn)發(fā)能力進(jìn)行有效分離,作為一種新型網(wǎng)絡(luò)架構(gòu)能夠?qū)?shù)據(jù)信息的轉(zhuǎn)發(fā)功能和設(shè)備的控制能力進(jìn)行徹底分離,該架構(gòu)為未來(lái)網(wǎng)絡(luò)技術(shù)革新指明了方向,并逐漸受到網(wǎng)絡(luò)技術(shù)研究人員的認(rèn)可[1]。積極參與SDN技術(shù)研究對(duì)增強(qiáng)我國(guó)網(wǎng)絡(luò)技術(shù)儲(chǔ)備和提高網(wǎng)絡(luò)領(lǐng)域行業(yè)競(jìng)爭(zhēng)力有著深遠(yuǎn)影響。
SDN網(wǎng)絡(luò)架構(gòu)讓軟件應(yīng)用參與網(wǎng)絡(luò)控制主導(dǎo)數(shù)據(jù)轉(zhuǎn)發(fā),而不再以協(xié)議控制的各種網(wǎng)絡(luò)設(shè)備主導(dǎo)進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)[2]。SDN顛覆了OSI的七層架構(gòu)將網(wǎng)絡(luò)劃分為以下三層:
(1)用戶的應(yīng)用接入層
(2)設(shè)備的網(wǎng)絡(luò)控制層
(3)基礎(chǔ)轉(zhuǎn)發(fā)設(shè)備層
圖1 SDN網(wǎng)絡(luò)架構(gòu)體系結(jié)構(gòu)
用戶的應(yīng)用接入層與設(shè)備的網(wǎng)絡(luò)控制層之間通過(guò)API將網(wǎng)絡(luò)應(yīng)用接入到網(wǎng)絡(luò)中;設(shè)備的網(wǎng)絡(luò)控制層中部署了對(duì)網(wǎng)絡(luò)進(jìn)行集中管控的軟件,該軟件通過(guò)相應(yīng)的接口對(duì)基礎(chǔ)轉(zhuǎn)發(fā)設(shè)備層中的轉(zhuǎn)發(fā)設(shè)備進(jìn)行統(tǒng)一的控制和管理;同時(shí),在設(shè)備的網(wǎng)絡(luò)控制層也通過(guò)橫向接口進(jìn)行安全功能的擴(kuò)展。
SDN組網(wǎng)的硬件設(shè)備主要包括交換機(jī)和控制器。
(1)交換機(jī)
基礎(chǔ)轉(zhuǎn)發(fā)設(shè)備層中的設(shè)備在SND網(wǎng)絡(luò)中已經(jīng)沒(méi)有了層次概念,統(tǒng)一被命名為交換機(jī),這些交換機(jī)只作為數(shù)據(jù)信息的傳輸介質(zhì)用來(lái)完成對(duì)數(shù)據(jù)信息的轉(zhuǎn)發(fā)。
(2)控制器
控制器作為SDN網(wǎng)絡(luò)運(yùn)行的大腦,在SDN架構(gòu)中有著重要地位,數(shù)據(jù)轉(zhuǎn)發(fā)的策略都由控制層進(jìn)行決策。
SDN作為一種全新的網(wǎng)絡(luò)架構(gòu),在具體部署的過(guò)程中也受到傳統(tǒng)網(wǎng)絡(luò)的限制。在骨干網(wǎng)絡(luò)、局域網(wǎng)、數(shù)據(jù)中心和云計(jì)算等各種網(wǎng)絡(luò)環(huán)境中傳統(tǒng)網(wǎng)絡(luò)技術(shù)已經(jīng)十分成熟,然而伴隨著網(wǎng)絡(luò)向大型化、虛擬化方向的發(fā)展趨勢(shì),為了使網(wǎng)絡(luò)性能能夠滿足實(shí)際發(fā)展,SDN技術(shù)便成為網(wǎng)絡(luò)架構(gòu)改進(jìn)的首選方案[3]。
面對(duì)這樣一種由多種技術(shù)和解決方案組合形成的一種新型網(wǎng)絡(luò)體系架構(gòu),SDN控制器、交換機(jī)、Openflow接口協(xié)議和過(guò)渡網(wǎng)絡(luò)方案成為該技術(shù)研究的關(guān)鍵問(wèn)題。
SDN最基本的原則是將用戶的應(yīng)用接入、設(shè)備的功能控制、基礎(chǔ)的信息轉(zhuǎn)發(fā)進(jìn)行功能方面的層次分離。對(duì)網(wǎng)絡(luò)的統(tǒng)一控制是SDN架構(gòu)的核心能力,對(duì)整個(gè)網(wǎng)絡(luò)系統(tǒng)的高效運(yùn)轉(zhuǎn)起著舉足輕重的作用,它作為核心功能控制著各層的正常運(yùn)轉(zhuǎn),同時(shí)負(fù)責(zé)協(xié)調(diào)層與層之間接口的維護(hù)。
對(duì)應(yīng)用層而言SDN控制器通過(guò)北向接口實(shí)現(xiàn)兩個(gè)功能:一是將SDN應(yīng)用層中用戶的請(qǐng)求轉(zhuǎn)換到核心控制器,二是為SDN應(yīng)用層提供底層網(wǎng)絡(luò)的可視化模型,對(duì)應(yīng)用層的開(kāi)發(fā)將從復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)中解脫出來(lái),成為一個(gè)獨(dú)立的模塊。對(duì)于基礎(chǔ)設(shè)施層而言,SDN控制器通過(guò)南向接口將轉(zhuǎn)發(fā)設(shè)備進(jìn)行統(tǒng)籌管理,并將數(shù)據(jù)轉(zhuǎn)發(fā)規(guī)則和數(shù)據(jù)流下發(fā)給基礎(chǔ)設(shè)施層實(shí)現(xiàn)數(shù)據(jù)傳輸。
OpenFlow交換機(jī)管理基礎(chǔ)轉(zhuǎn)發(fā)設(shè)備層的數(shù)據(jù)轉(zhuǎn)發(fā)。當(dāng)交換機(jī)接收到需要轉(zhuǎn)發(fā)的數(shù)據(jù)信息后,如果在本地的轉(zhuǎn)發(fā)表中標(biāo)識(shí)了具體的目標(biāo)出口,就按照當(dāng)前的目標(biāo)出口發(fā)出數(shù)據(jù),如果本地沒(méi)有進(jìn)行標(biāo)識(shí),設(shè)備的網(wǎng)絡(luò)控制層便會(huì)接管數(shù)據(jù),網(wǎng)絡(luò)控制層會(huì)根據(jù)數(shù)據(jù)信息的特征為該數(shù)據(jù)指定具體的轉(zhuǎn)發(fā)出口。
設(shè)備控制層和交換機(jī)通過(guò)安全通道進(jìn)行通信,所有的信息按照OpenFlow協(xié)議的定義來(lái)執(zhí)行,控制器通過(guò)安全通道管控交換機(jī),同時(shí)接收來(lái)自交換機(jī)的請(qǐng)求向交換機(jī)發(fā)送數(shù)據(jù)包[4]。
Openflow作為控制器管理交換機(jī)的接口協(xié)議,控制著交換機(jī)中的安全通道和流表,對(duì)SDN網(wǎng)絡(luò)穩(wěn)定運(yùn)行起到了關(guān)鍵作用。SDN網(wǎng)絡(luò)基于數(shù)據(jù)轉(zhuǎn)發(fā)表轉(zhuǎn)發(fā)數(shù)據(jù)信息,OpenFlow通過(guò)協(xié)議維護(hù)系統(tǒng)中的數(shù)據(jù)轉(zhuǎn)發(fā)表,數(shù)據(jù)轉(zhuǎn)發(fā)表中定義了能夠在全局使用的屬性信息和動(dòng)作信息,交換機(jī)就是按照這些屬性信息和動(dòng)作信息對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)。與路由表的工作原理相同,數(shù)據(jù)轉(zhuǎn)發(fā)表也是以具體表項(xiàng)定義轉(zhuǎn)發(fā)規(guī)則的,其中重要的一項(xiàng)就是定義了數(shù)據(jù)信息的發(fā)出端口。在數(shù)據(jù)轉(zhuǎn)發(fā)基于IP進(jìn)行的時(shí)候,關(guān)鍵字也會(huì)匹配IP字段,這時(shí)數(shù)據(jù)的轉(zhuǎn)發(fā)基于IP五元組。因此基于流表的數(shù)據(jù)兼容了傳統(tǒng)網(wǎng)絡(luò)的IP路由轉(zhuǎn)發(fā),數(shù)據(jù)轉(zhuǎn)發(fā)更靈活,轉(zhuǎn)發(fā)效率更高。
OpenFlow協(xié)議支持以下兩種信息:
(1)由設(shè)備控制層發(fā)出的到交換機(jī)的信息,該消息可以對(duì)交換機(jī)的實(shí)時(shí)運(yùn)行狀態(tài)進(jìn)行檢測(cè)。
(2)由交換機(jī)發(fā)出的同步消息和對(duì)稱消息,用來(lái)實(shí)現(xiàn)設(shè)備控制層與交換機(jī)之間的狀態(tài)的同步。
隨著虛擬化技術(shù)的不斷發(fā)展和大數(shù)據(jù)的普及,SDN網(wǎng)絡(luò)體系將對(duì)傳統(tǒng)網(wǎng)絡(luò)造成沖擊。然而現(xiàn)今網(wǎng)絡(luò)設(shè)備普遍并不支持OpenFlow功能,因此解決傳統(tǒng)網(wǎng)絡(luò)與SDN網(wǎng)絡(luò)兼容問(wèn)題將是SDN網(wǎng)絡(luò)普及的第一步[5]。
ONF于2013年發(fā)布了OpenFlow 1.4版,該版本提供了OpenFlow-hybrid機(jī)制解決網(wǎng)絡(luò)兼容問(wèn)題,在OSI七層模型定義的IP網(wǎng)絡(luò)中對(duì)網(wǎng)絡(luò)進(jìn)行SDN技術(shù)的滲透,去除路由器、交換機(jī)等設(shè)備的特性差異,基于同一個(gè)網(wǎng)絡(luò)集中管理網(wǎng)絡(luò)中的資源,以此為基礎(chǔ)為傳統(tǒng)網(wǎng)絡(luò)向SDN網(wǎng)絡(luò)過(guò)渡提供了技術(shù)支持。
SDN流表轉(zhuǎn)發(fā)控制環(huán)境基于一臺(tái)Mininet虛擬機(jī)和一臺(tái)OpenDaylight虛擬機(jī)進(jìn)行模型構(gòu)造,Mininet鏡像用來(lái)模擬基礎(chǔ)轉(zhuǎn)發(fā)層網(wǎng)絡(luò),OpenDaylight鏡像的虛擬機(jī)用來(lái)模擬SDN控制器。
創(chuàng)建拓?fù)洳?shí)現(xiàn)控制器與轉(zhuǎn)發(fā)層設(shè)備的互連。拓?fù)鋱D如下圖2所示,為兩臺(tái)虛擬機(jī)配置IP地址和網(wǎng)關(guān)地址后保障兩臺(tái)虛擬機(jī)互通。
圖2 創(chuàng)建拓?fù)洳㈡溄涌刂破?/p>
此時(shí)交換機(jī)的數(shù)據(jù)流指向控制器,由控制器下發(fā)流表,流表如下圖3。而后在Mininet中使用pingall命令完成兩臺(tái)主機(jī)的互相通信后,再查看交換機(jī)中流表會(huì)多出兩條流表,流表變化如圖4。
圖3 控制器下發(fā)流表
圖4 pingall操作后流表變化
使用#sh ovs-ofctl add-flow s1 priority=12,in_port=2,actions=drop命令修改流表,實(shí)現(xiàn)讓交換機(jī)丟棄從2號(hào)端口發(fā)來(lái)的所有數(shù)據(jù)包,如圖5。此時(shí)兩臺(tái)主機(jī)無(wú)法互通。使用# sh ovs-ofctl del-flows s1 in_port=2命令刪除對(duì)應(yīng)表項(xiàng)后,兩臺(tái)主機(jī)恢復(fù)互通。
圖5 增加流表項(xiàng)目控制網(wǎng)絡(luò)轉(zhuǎn)發(fā)
通過(guò)以上模型搭建和流表控制數(shù)據(jù)轉(zhuǎn)發(fā)實(shí)驗(yàn)可以看到,SDN網(wǎng)絡(luò)實(shí)現(xiàn)了控制器對(duì)整個(gè)網(wǎng)絡(luò)的可視化管理,數(shù)據(jù)依據(jù)下發(fā)的流表進(jìn)行轉(zhuǎn)發(fā),網(wǎng)絡(luò)管理員不需再關(guān)注每臺(tái)網(wǎng)絡(luò)設(shè)備上的數(shù)據(jù)轉(zhuǎn)發(fā)協(xié)議。
傳統(tǒng)網(wǎng)絡(luò)上的各個(gè)節(jié)點(diǎn)獨(dú)立運(yùn)行,任何一個(gè)節(jié)點(diǎn)的故障都可能導(dǎo)致網(wǎng)絡(luò)出現(xiàn)問(wèn)題,網(wǎng)絡(luò)管理人員無(wú)法從全局上直觀的掌握網(wǎng)絡(luò)運(yùn)行情況。SDN可以將網(wǎng)絡(luò)運(yùn)行狀況進(jìn)行可視化顯示,便于網(wǎng)絡(luò)管理人員根據(jù)網(wǎng)絡(luò)運(yùn)行的實(shí)時(shí)情況從全局對(duì)網(wǎng)絡(luò)做出決策[6]。
運(yùn)營(yíng)商網(wǎng)絡(luò)拓?fù)溴e(cuò)綜復(fù)雜,網(wǎng)絡(luò)雖被分為很多子區(qū)域進(jìn)行管理,但隨著網(wǎng)絡(luò)復(fù)雜度和網(wǎng)絡(luò)規(guī)模的不斷增加和擴(kuò)展,對(duì)網(wǎng)絡(luò)的全局控制和維護(hù)仍難實(shí)現(xiàn)。網(wǎng)絡(luò)的虛擬化,可以將網(wǎng)絡(luò)上的物理設(shè)備隱藏于全局管理之下,設(shè)備對(duì)于SDN網(wǎng)絡(luò)而言是完全透明的,在邏輯上將眾多復(fù)雜的設(shè)備進(jìn)行統(tǒng)一的管理,可以很大程度上簡(jiǎn)化網(wǎng)絡(luò)管理。
由于數(shù)據(jù)中心應(yīng)用領(lǐng)域具有大流量、不可預(yù)測(cè)等特性,如果能夠集中管控,將可以從全局統(tǒng)籌網(wǎng)絡(luò)資源實(shí)現(xiàn)智能化的負(fù)載分擔(dān)和網(wǎng)絡(luò)備份。SDN網(wǎng)絡(luò)可通過(guò)控制器來(lái)實(shí)現(xiàn)資源的統(tǒng)一調(diào)度和計(jì)算,實(shí)現(xiàn)了網(wǎng)絡(luò)的最優(yōu)化,極大的提高了網(wǎng)絡(luò)性能和工作效率。
SDN架構(gòu)在數(shù)據(jù)轉(zhuǎn)發(fā)過(guò)程中是基于對(duì)流表控制完成的,這種統(tǒng)一的控制方式可以為防御網(wǎng)絡(luò)攻擊和修復(fù)網(wǎng)絡(luò)故障提供很好的保障。
谷歌公司已經(jīng)將SDN網(wǎng)絡(luò)技術(shù)應(yīng)用在了自己的數(shù)據(jù)中心中,實(shí)現(xiàn)了智能化的數(shù)據(jù)中心數(shù)據(jù)信息分流,網(wǎng)絡(luò)鏈路的利用率得到了極大的提高。微軟為提升Skype用戶的視頻體驗(yàn)效果,已經(jīng)嘗試用OpenDaylight做控制器,這正是基于SDN技術(shù)的嘗試。
索尼的4k轉(zhuǎn)播車應(yīng)用OpenFlow交換機(jī)對(duì)視頻流進(jìn)行控制和切換。FOX電視臺(tái)使用SDN技術(shù)對(duì)美國(guó)超級(jí)碗進(jìn)行轉(zhuǎn)播,F(xiàn)OX將視頻流壓縮后依靠SDN控制器做流量調(diào)度并進(jìn)行精細(xì)化控制。
GAP的網(wǎng)絡(luò)架構(gòu)團(tuán)隊(duì)很早便開(kāi)始關(guān)注SDN控制層的技術(shù)研發(fā)與應(yīng)用,GAP與Viptela公司合作將SDN技術(shù)應(yīng)用于全美1350家零售商店,有了SD-WAN的保障,交易更加高效安全。
SDN網(wǎng)絡(luò)架構(gòu)目前尚未完全成熟,設(shè)備和協(xié)議的標(biāo)準(zhǔn)化程度不高。北向接口標(biāo)準(zhǔn)的定義還處于起步階段, SDN控制器的安全性和穩(wěn)定性問(wèn)題尚未完全解決,傳統(tǒng)網(wǎng)絡(luò)與SDN網(wǎng)絡(luò)的過(guò)渡等問(wèn)題都需要盡快解決。
展望未來(lái),基于SDN架構(gòu)的計(jì)算機(jī)網(wǎng)絡(luò)已經(jīng)在部分領(lǐng)域得到了應(yīng)用,SDN的應(yīng)用將會(huì)對(duì)計(jì)算機(jī)網(wǎng)絡(luò)產(chǎn)業(yè)格局造成重大影響[7~8],SDN架構(gòu)下的控制軟件可以在廉價(jià)的設(shè)備上運(yùn)行,完成復(fù)雜的網(wǎng)絡(luò)控制,此時(shí)傳統(tǒng)設(shè)備廠商將會(huì)面臨巨大挑戰(zhàn),而軟件開(kāi)發(fā)商在計(jì)算機(jī)網(wǎng)絡(luò)產(chǎn)業(yè)中將擁有更高的市場(chǎng)價(jià)值。同時(shí),在未來(lái)SDN的商業(yè)應(yīng)用中控制器設(shè)備的研發(fā)和協(xié)議標(biāo)準(zhǔn)的制定將成為各廠商競(jìng)爭(zhēng)的焦點(diǎn),目前思科、華為、銳捷等傳統(tǒng)大廠商仍然在主導(dǎo)控制器,各廠商的相互競(jìng)爭(zhēng)將推進(jìn)SDN技術(shù)的高速發(fā)展?;赟DN技術(shù)的計(jì)算機(jī)網(wǎng)絡(luò)將大幅提高整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)轉(zhuǎn)發(fā)效率,網(wǎng)絡(luò)資源將得到統(tǒng)籌管理,該技術(shù)將為網(wǎng)絡(luò)管理員提供更好的網(wǎng)絡(luò)管理手段和決策依據(jù)。
參考文獻(xiàn):
[1] 韋樂(lè)平. SDN的戰(zhàn)略性思考[J]. 電信科學(xué),2015,31(01):7-12.
[2] 張朝昆,崔勇,唐翯翯,等. 軟件定義網(wǎng)絡(luò)(SDN)研究進(jìn)展[J]. 軟件學(xué)報(bào),2015,26(01):62-81.
[3] Mark M.Clougherty,Christopher A.White,Harish Viswanathan,Colin L.Kahn. SDN在IP網(wǎng)絡(luò)演進(jìn)中的作用[J]. 電信科學(xué),2014,30(05):1-13.
[4] 鄭毅,華一強(qiáng),何曉峰. SDN的特征、發(fā)展現(xiàn)狀及趨勢(shì)[J]. 電信科學(xué),2013,29(09):102-107.
[5] 左青云,陳鳴,趙廣松,等. 基于OpenFlow的SDN技術(shù)研究[J]. 軟件學(xué)報(bào),2013,24(05):1078-1097.
[6] 王淑玲,李濟(jì)漢,張?jiān)朴?等. SDN架構(gòu)及安全性研究[J]. 電信科學(xué),2013,29(03):117-122.
[7] 趙慧玲,馮明,史凡. SDN——未來(lái)網(wǎng)絡(luò)演進(jìn)的重要趨勢(shì)[J]. 電信科學(xué),2012,28(11):1-5.
[8] Open vSwitch流表應(yīng)用實(shí)戰(zhàn)[DB/OL]. https://www.sdnlab.com/15119.html, 2015-12-01.