羅艷碧,趙文昌,孫秀桂
(大理學(xué)院工程學(xué)院,云南大理 671003)
互聯(lián)網(wǎng)的概念自上世紀(jì)60年代提出,發(fā)展至今規(guī)模日益擴(kuò)大。尤其近十年來,互聯(lián)網(wǎng)用戶數(shù)量經(jīng)歷了爆炸性的增長(zhǎng)。隨著互聯(lián)網(wǎng)的膨脹和應(yīng)用類型的不斷豐富,互聯(lián)網(wǎng)的缺陷不斷顯現(xiàn)出來。作為互聯(lián)網(wǎng)核心設(shè)備的路由器最初的設(shè)計(jì)只是進(jìn)行數(shù)據(jù)分組的控制和轉(zhuǎn)發(fā)。但隨著互聯(lián)網(wǎng)的發(fā)展,其承載的業(yè)務(wù)不斷增加,如分組過濾、QoS、流量控制、區(qū)分服務(wù)、多播等,造成現(xiàn)今其控制功能高度復(fù)雜,不堪重負(fù)。路由器的廠商出于自身考慮,對(duì)外開放的路由器控制功能較少,對(duì)新型網(wǎng)絡(luò)及網(wǎng)絡(luò)技術(shù)的研究造成了一定的局限,使網(wǎng)絡(luò)應(yīng)用的靈活性和功能的擴(kuò)展性受到很大的限制。針對(duì)現(xiàn)有互聯(lián)網(wǎng)的弊端,世界各國都在積極研究下一代互聯(lián)網(wǎng)技術(shù)。軟定義網(wǎng)絡(luò)(software-defined networking,SDN)是一種將網(wǎng)絡(luò)控制平臺(tái)和數(shù)據(jù)轉(zhuǎn)發(fā)平臺(tái)分離的一種新型互聯(lián)網(wǎng)技術(shù)。SDN 的核心技術(shù)OpenFlow 是由斯坦福大學(xué)的Nick McKeown 教授提出的一個(gè)開放式協(xié)議標(biāo)準(zhǔn),是美國的GENI〔1〕計(jì)劃資助的子項(xiàng)目。目前,基于OpenFlow的SDN網(wǎng)絡(luò)已經(jīng)成為下一代互聯(lián)網(wǎng)的研究熱點(diǎn),全世界各國的各大研究機(jī)構(gòu)和企業(yè)都加入到SDN 網(wǎng)絡(luò)的研究之中。為了跟上網(wǎng)絡(luò)發(fā)展的腳步,本文應(yīng)用SDN的主要技術(shù)對(duì)大理學(xué)院的校園網(wǎng)進(jìn)行設(shè)計(jì)研究。
SDN 網(wǎng)絡(luò)的工作原理是將數(shù)據(jù)轉(zhuǎn)發(fā)的控制功能從傳統(tǒng)的網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備中分離出來,使用可編程的控制器(Controller)實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)的轉(zhuǎn)發(fā)控制。網(wǎng)絡(luò)設(shè)計(jì)人員可以根據(jù)不同網(wǎng)絡(luò)的功能和特性,自行編程設(shè)計(jì)網(wǎng)絡(luò)的控制策略以及不同的APP,實(shí)現(xiàn)網(wǎng)絡(luò)的靈活控制,增加了網(wǎng)絡(luò)功能的可擴(kuò)展性。SDN 網(wǎng)絡(luò)打破原有TCP/IP 的4 層體系結(jié)構(gòu),將網(wǎng)絡(luò)體系結(jié)構(gòu)劃分為3 層:基礎(chǔ)設(shè)施層、控制層和應(yīng)用層,見圖1。圖中的控制和數(shù)據(jù)平面接口用于轉(zhuǎn)發(fā)控制層中的控制軟件和基礎(chǔ)設(shè)施層中的網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備間的數(shù)據(jù),也稱為南向接口。而控制層軟件與應(yīng)用層的各個(gè)應(yīng)用之間的數(shù)據(jù)由開放的API接口進(jìn)行信息交互,此接口也稱為北向接口〔2〕。
圖1 SDN網(wǎng)絡(luò)體系結(jié)構(gòu)
SDN的核心技術(shù)是OpenFlow〔3〕?;贠penFlow的SDN 網(wǎng)絡(luò)主要由OpenFlow 交換機(jī)和控制器組成。OpenFLow 的基本組網(wǎng)如圖2 所示。OpenFlow交換機(jī)由流表(flow table)、安全通道(secure channel)和OpenFlow 協(xié)議組成,完成基礎(chǔ)設(shè)施層的功能。它取代了傳統(tǒng)網(wǎng)絡(luò)中的交換機(jī)和路由器,負(fù)責(zé)數(shù)據(jù)的轉(zhuǎn)發(fā)。OpenFlow 交換機(jī)根據(jù)流表的表項(xiàng)交換數(shù)據(jù)。流表由多個(gè)表項(xiàng)組成,主要的表項(xiàng)有匹配字段、計(jì)數(shù)器和操作。流表定義了多個(gè)轉(zhuǎn)發(fā)規(guī)則。進(jìn)入交換機(jī)的數(shù)據(jù)分組首先查找流表,找到與分組相對(duì)應(yīng)的表項(xiàng),執(zhí)行相應(yīng)的操作。如果找不到相應(yīng)的表項(xiàng),則將分組轉(zhuǎn)發(fā)給控制器,由控制器決定下一步的數(shù)據(jù)操作。OpenFlow 交換機(jī)中的匹配字段包括了傳統(tǒng)網(wǎng)絡(luò)的各層中的大部分標(biāo)識(shí),如MAC 地址、IP 地址、TCP 端口號(hào)等,且支持 VLAN、MPLS 和IPv6 等技術(shù)。安全通道用于連接OpenFlow 交換機(jī)和控制器??刂破魍ㄟ^安全通道,使用OpenFlow協(xié)議控制和更新OpenFlow 交換機(jī)的流表??刂破魍ㄟ^南向接口與網(wǎng)絡(luò)中的OpenFlow交換機(jī)交換信息,并且形成完整的網(wǎng)絡(luò)視圖,實(shí)時(shí)維護(hù)更新網(wǎng)絡(luò)視圖,集中控制整個(gè)網(wǎng)絡(luò)。同時(shí),控制層將整個(gè)網(wǎng)絡(luò)的網(wǎng)絡(luò)視圖通過北向接口提供給應(yīng)用層,應(yīng)用層根據(jù)不同的網(wǎng)絡(luò)應(yīng)用調(diào)用不同的API,實(shí)現(xiàn)不同的功能。網(wǎng)絡(luò)的管理者可以通過這種軟件控制模式,動(dòng)態(tài)、靈活的管理整個(gè)網(wǎng)絡(luò),打破現(xiàn)有網(wǎng)絡(luò)相對(duì)封閉的管理模式,實(shí)現(xiàn)網(wǎng)絡(luò)管理的開放性和可編程性。
圖2 OpenFlow基本組網(wǎng)
2.1 大理學(xué)院SDN 校園網(wǎng)拓?fù)湓O(shè)計(jì)基于Open-Flow技術(shù)的大理學(xué)院SDN網(wǎng)絡(luò)的整體架構(gòu)如圖3所示。校園網(wǎng)以多域、多控制器的結(jié)構(gòu)進(jìn)行設(shè)計(jì)。整個(gè)網(wǎng)絡(luò)分為4 個(gè)域,區(qū)域1 為辦公域,區(qū)域2 為教學(xué)實(shí)驗(yàn)域,區(qū)域3 為學(xué)生宿舍域,區(qū)域4 為教師公寓域。4 個(gè)域覆蓋校園網(wǎng)的所有用戶,提供基礎(chǔ)性網(wǎng)絡(luò)服務(wù)。每個(gè)域有一臺(tái)控制器,控制該域中的所有OpenFlow 交換機(jī)。4 個(gè)控制器組成控制平臺(tái),組成一個(gè)分布式的控制平臺(tái)〔4〕,便于網(wǎng)絡(luò)建設(shè)和管理人員管理整個(gè)校園網(wǎng)。
圖3 大理學(xué)院SDN校園網(wǎng)架構(gòu)
圖4 大理學(xué)院SDN校園網(wǎng)拓?fù)鋱D
根據(jù)圖3 所示的網(wǎng)絡(luò)架構(gòu),大理學(xué)院SDN 校園網(wǎng)的網(wǎng)絡(luò)拓?fù)鋱D如圖4 所示。整個(gè)校園網(wǎng)實(shí)現(xiàn)有線和無線全覆蓋,無線接入可采用普通AP 或可編程AP。校園網(wǎng)骨干網(wǎng)由光鏈路構(gòu)成,采用星型和環(huán)形混合拓?fù)?,?dāng)網(wǎng)絡(luò)鏈路出現(xiàn)故障時(shí)可以有多條迂回線路連接數(shù)據(jù)傳輸,提高網(wǎng)絡(luò)安全性。核心OpenFlow 交換機(jī)采用主、備熱備份方式,主用機(jī)和備用機(jī)擁有相同的數(shù)據(jù)配置和線路連接,且主用機(jī)上的數(shù)據(jù)每隔一定的周期自動(dòng)向備用機(jī)上備份。當(dāng)主用交換機(jī)出現(xiàn)故障時(shí),備用交換機(jī)立即啟動(dòng),保證網(wǎng)絡(luò)的連續(xù)工作。同時(shí),為使校園網(wǎng)和Internet 更好的連接,本網(wǎng)采用雙出口的方式連接外網(wǎng),網(wǎng)絡(luò)出口正常時(shí)兩個(gè)出口可以分擔(dān)網(wǎng)絡(luò)流量,當(dāng)一個(gè)出口出現(xiàn)故障,由另外一個(gè)出口負(fù)責(zé)全網(wǎng)的對(duì)外數(shù)據(jù)交換。核心OpenFlow 交換機(jī)上連接的網(wǎng)管控制平臺(tái)可讓網(wǎng)絡(luò)管理員實(shí)時(shí)監(jiān)控整個(gè)網(wǎng)絡(luò)的運(yùn)行情況,該平臺(tái)還可控制網(wǎng)絡(luò)中的其他控制器〔5〕。網(wǎng)絡(luò)拓?fù)渲校溌吩O(shè)計(jì)將用戶數(shù)據(jù)鏈路和管理數(shù)據(jù)鏈路從物理上分開,提高了數(shù)據(jù)的傳輸效率,減少了由于大量的網(wǎng)絡(luò)管理信息阻塞信道所帶來的數(shù)據(jù)傳輸延時(shí)。
2.2 數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)計(jì)本網(wǎng)絡(luò)的數(shù)據(jù)轉(zhuǎn)發(fā)由Open-Flow 交換機(jī)完成,而轉(zhuǎn)發(fā)策略由控制器實(shí)現(xiàn)。OpenFlow 交換機(jī)實(shí)現(xiàn)的是SDN 網(wǎng)絡(luò)架構(gòu)南向接口的功能。支持南向接口的主流網(wǎng)絡(luò)協(xié)議有Open-Flow1.0、OpenFLow1.3 版和 OneOK 等。OpenFLow分為硬件交換機(jī)和軟件交換機(jī)。本網(wǎng)絡(luò)中所示的OpenFlow 交換機(jī)選用華為的S12700 系列硬件交換機(jī)。該交換機(jī)支持OpenFlow1.0 和1.3 版本協(xié)議。在學(xué)校機(jī)房、實(shí)驗(yàn)室還可采用虛擬交換機(jī)Open vSwitch〔6〕。Open vSwitch是在開源的Apache2.0許可下的產(chǎn)品級(jí)質(zhì)量的多層虛擬交換標(biāo)準(zhǔn),支持Open-Flow 1.0/1.3 協(xié)議。它基于C 語言編程,有很好的可移植性,安裝在Linux 服務(wù)器上,通過編程擴(kuò)展,使網(wǎng)絡(luò)自動(dòng)化配置、管理、維護(hù)。Open vSwitch可以在一臺(tái)服務(wù)器上虛擬出幾十臺(tái)甚至上百臺(tái)的虛擬服務(wù)器,每臺(tái)虛擬交換機(jī)的端口數(shù)量可以靈活選擇。這樣就可以較低廉的價(jià)格構(gòu)建SDN 實(shí)驗(yàn)網(wǎng)絡(luò),在SDN 實(shí)驗(yàn)網(wǎng)上可以進(jìn)行大數(shù)據(jù)、云計(jì)算、物聯(lián)網(wǎng)等新型互聯(lián)網(wǎng)服務(wù)的實(shí)驗(yàn)。
2.3 控制管理設(shè)計(jì)拓?fù)湓O(shè)計(jì)中的網(wǎng)管控制平臺(tái)的主要作用是統(tǒng)一配置和管理整個(gè)網(wǎng)絡(luò)的資源。為網(wǎng)絡(luò)管理者提供一個(gè)直接的管理平臺(tái)。它可以根據(jù)需要,動(dòng)態(tài)的創(chuàng)建、維護(hù)和管理網(wǎng)絡(luò)的全局視圖〔6〕。網(wǎng)絡(luò)管理平臺(tái)的架構(gòu)設(shè)計(jì),見圖5。
圖5 網(wǎng)管控制平臺(tái)架構(gòu)圖
拓?fù)鋱D中的控制器主要控制各個(gè)域中的Open-Flow交換機(jī),核心OpenFlow 交換機(jī)受到4個(gè)控制器的共同管理,以協(xié)調(diào)各域間的數(shù)據(jù)傳輸和內(nèi)外網(wǎng)絡(luò)間的數(shù)據(jù)交換。本文選用Floodlight 作為網(wǎng)絡(luò)的控制器。Floodlight 控制器是由Big switch 基于Beacon開發(fā)的跨平臺(tái)控制軟件,它可以運(yùn)行在Window、Mac 和 Linux 操作系統(tǒng)下。Floodlight 是由 ONF(Open Networking Foundation)管理的開放標(biāo)準(zhǔn)。由Big Switch 的工程師進(jìn)行社區(qū)維護(hù),遵循Apache 開源規(guī)范。由于它擁有豐富的API 和較高的穩(wěn)定性,F(xiàn)loodlight得到了較廣泛的推廣。
2.4 校園網(wǎng)應(yīng)用設(shè)計(jì)校園網(wǎng)主要提供的網(wǎng)絡(luò)應(yīng)用有學(xué)校管理應(yīng)用、教學(xué)服務(wù)應(yīng)用、學(xué)生學(xué)習(xí)應(yīng)用和信息交流應(yīng)用。不同網(wǎng)絡(luò)應(yīng)用的數(shù)據(jù)隔離采用OpenFlow虛擬網(wǎng)絡(luò)切分技術(shù),將校園網(wǎng)分為多個(gè)虛網(wǎng)〔7〕?;贠penFlow技術(shù)的虛擬網(wǎng)絡(luò)組網(wǎng)圖如圖6所示。OpenFlow 虛擬網(wǎng)絡(luò)使用 FlowVisor〔8〕控制器透明的代理OpenFlow 交換機(jī)和Floodlight 控制器的數(shù)據(jù)傳輸和網(wǎng)絡(luò)管理,構(gòu)建校園網(wǎng)的虛擬化平臺(tái)〔9〕?;赟DN技術(shù)的大理學(xué)院校園網(wǎng)的虛擬化控制平臺(tái)架構(gòu)如圖7所示。本平臺(tái)通過對(duì)物理網(wǎng)絡(luò)設(shè)施的切片管理技術(shù),將物理網(wǎng)絡(luò)化分為不同的虛擬網(wǎng)絡(luò),任何一個(gè)OpenFlow交換機(jī)都可以屬于一個(gè)或多個(gè)虛擬網(wǎng)。FlowVisor 為虛擬網(wǎng)絡(luò)指定一個(gè)或多個(gè)控制器〔10-13〕。
圖6 OpenFlow虛擬網(wǎng)絡(luò)組網(wǎng)圖
圖7 虛擬化控制平臺(tái)架構(gòu)圖
相對(duì)于傳統(tǒng)校園網(wǎng),基于SDN的下一代校園網(wǎng)的優(yōu)勢(shì)在于網(wǎng)絡(luò)控制平面和數(shù)據(jù)平面分離,使用控制器通過軟件編程的形式,根據(jù)網(wǎng)絡(luò)的具體需求制定轉(zhuǎn)發(fā)策略,增加了網(wǎng)絡(luò)管理的靈活性,實(shí)現(xiàn)了數(shù)據(jù)分類和精細(xì)化管理〔14〕;網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備功能設(shè)計(jì)更簡(jiǎn)單,數(shù)據(jù)轉(zhuǎn)發(fā)效率更高〔15〕;可編程的控制方式使得網(wǎng)絡(luò)功能的擴(kuò)展性更強(qiáng),能更好的適應(yīng)云計(jì)算、大數(shù)據(jù)等新型網(wǎng)絡(luò)應(yīng)用。本網(wǎng)絡(luò)在設(shè)計(jì)時(shí)從物理鏈路上將控制數(shù)據(jù)和用戶數(shù)據(jù)分開,可以避免大量的管理數(shù)據(jù)的傳輸所引起的網(wǎng)絡(luò)用戶數(shù)據(jù)轉(zhuǎn)發(fā)的排隊(duì)時(shí)延。同時(shí),應(yīng)用SDN虛擬網(wǎng)絡(luò)技術(shù)搭建的虛擬化控制平臺(tái),通過FlowVisor從邏輯上隔離不同虛擬網(wǎng)絡(luò)的流量,實(shí)現(xiàn)不同應(yīng)用數(shù)據(jù)的有效隔離,流表資源隔離和帶寬隔離。而傳統(tǒng)網(wǎng)絡(luò)只能通過在交換機(jī)上劃分Vlan實(shí)現(xiàn)數(shù)據(jù)的二層隔離,通過路由器的訪問控制技術(shù)實(shí)現(xiàn)數(shù)據(jù)的邏輯控制,功能簡(jiǎn)單,難以滿足未來網(wǎng)絡(luò)的需求。
本文在SDN 技術(shù)原理基礎(chǔ)之上構(gòu)建了大理學(xué)院校園網(wǎng),設(shè)計(jì)了網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和網(wǎng)絡(luò)管理平臺(tái)。并且根據(jù)校園網(wǎng)的應(yīng)用使用FlowVisor 劃分了虛擬網(wǎng)絡(luò),隔離不同校園網(wǎng)應(yīng)用的數(shù)據(jù),更好的支持了校園網(wǎng)的網(wǎng)絡(luò)應(yīng)用。對(duì)于傳統(tǒng)的校園網(wǎng),SDN校園網(wǎng)網(wǎng)絡(luò)管理更加靈活,數(shù)據(jù)轉(zhuǎn)發(fā)效率更高,對(duì)新型網(wǎng)絡(luò)應(yīng)用的支持更好。本網(wǎng)絡(luò)設(shè)計(jì)時(shí)只針對(duì)Open-Flow 相關(guān)設(shè)備,在下一步的研究中將著重于Open-Flow設(shè)備和現(xiàn)有網(wǎng)絡(luò)設(shè)備混合組網(wǎng),減小網(wǎng)絡(luò)升級(jí)的代價(jià)。
〔1〕ELLIOTT C.GENI:Opening up new classes of experiments in global networking〔J〕. IEEE Internet Computing,2010,14(1):39-42.
〔2〕左青云,陳鳴,趙廣松,等.基于OpenFlow 的SDN技術(shù)研究〔J〕.軟件學(xué)報(bào),2013,24(5):1078-1097.
〔3〕MCKEOWN N,ANDERSON T,BALAKRISHNAN H,et al.OpenFLow: Enabling innovation in campus network〔J〕.ACM SIGCOMM Computer Communication Review,2008,38(2):69-74.
〔4〕SIMEONIDOU D,NEJABATI R,AZODOLMOLKY S.Enabling the future optical Internet with OpenFlow: a paradigm shift in providing intelligent optical network services〔C〕//Proc of the 13th IEEE International Conference on Transparent Optical Networks.2011:1-4.
〔5〕CAI Z,COX A L,EUGENE T S.Maestro:a system for scalable OpenFlow control,Technical Report TR10-08〔D〕.Houston:Rice University,2010.
〔6〕俞淑妍,丁健,劉江,等.校園級(jí)SDN 創(chuàng)新實(shí)驗(yàn)平臺(tái)的研究與實(shí)踐〔J〕.信息通信技術(shù),2014(1):30-35.
〔7〕SHERWOOD R,GIBB G,YAP K,et al.FlowVisor:a network virtualization layer〔R〕.2009.
〔8〕FARIAS F N ,SALVATTI J,CERQUEIRA E C,et al. A proposal management of the legacy network environment using OpenFlow control plane〔C〕// Proc of NetWork Operations and Management Symposium.2012:1143-1150.
〔9〕MIN S,KIM S,LEE J,et al. Implementation of an Open-Flow network virtualization for multi-controller environment〔C〕//Proc of the 14th International Conference on Advanced Communication Technology.2012:589-592.
〔10〕楊明華,陳聰,鄭建群,等. 安全可靠的SDN 技術(shù)研究〔J〕.信息安全與技術(shù),2014(8):51-54.
〔11〕劉江,趙欽,黃韜,等.北京郵電大學(xué):構(gòu)建SDN 校園網(wǎng)絡(luò)創(chuàng)新環(huán)境〔J〕.中國教育網(wǎng)絡(luò),2013(8):28-30.
〔12〕畢軍.域間SDN互聯(lián)網(wǎng)技術(shù)WE-Bridge及其實(shí)驗(yàn)床的研究進(jìn)展〔J〕.電信科學(xué),2014(8):28-32.
〔13〕朱明明,夏寅賁,徐小飛.基于SDN 的數(shù)據(jù)中心網(wǎng)絡(luò)研究〔J〕.郵電設(shè)計(jì)技術(shù),2014(3):23-29.
〔14〕王麗君,劉永強(qiáng).基于OpenFlow的未來互聯(lián)網(wǎng)實(shí)驗(yàn)技術(shù)研究〔J〕.電信網(wǎng)技術(shù),2011(6):1-4.
〔15〕蔣培成,陳鳴,李兵. OpenFlow 軟交換機(jī)的性能測(cè)量〔J〕.重慶郵電大學(xué)學(xué)報(bào),2013,25(1):24-29.