邢如意
(江蘇聯(lián)合職業(yè)技術(shù)學(xué)院 徐州財(cái)經(jīng)分院,江蘇 徐州 221000)
軟件定義網(wǎng)絡(luò)(Software Defined Networking,簡(jiǎn)稱SDN)在近幾年來(lái)逐漸成為網(wǎng)絡(luò)技術(shù)領(lǐng)域的熱門(mén)。運(yùn)用軟件定義網(wǎng)絡(luò)技術(shù)對(duì)網(wǎng)絡(luò)進(jìn)行改造或設(shè)計(jì),可實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)流量的靈活控制,實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)的智能化控制,為核心網(wǎng)絡(luò)管理及應(yīng)用創(chuàng)新提供了新平臺(tái)。SDN技術(shù)還能有效降低設(shè)備負(fù)載和運(yùn)營(yíng)成本,極大推動(dòng)下一代互聯(lián)網(wǎng)發(fā)展。對(duì)于高校計(jì)算機(jī)網(wǎng)絡(luò)工程技術(shù)專業(yè)而言,將SDN技術(shù)引入課程教學(xué)是必然趨勢(shì)[1],結(jié)合已有計(jì)算機(jī)網(wǎng)絡(luò)教學(xué)經(jīng)驗(yàn),研究軟件定義網(wǎng)絡(luò)實(shí)驗(yàn)課程建設(shè)和虛擬仿真平臺(tái)建設(shè),培養(yǎng)面向未來(lái)網(wǎng)絡(luò)熱點(diǎn)產(chǎn)業(yè)技術(shù)領(lǐng)域的創(chuàng)新型優(yōu)秀人才具有重要現(xiàn)實(shí)意義。
軟件定義網(wǎng)絡(luò)虛擬仿真實(shí)驗(yàn)平臺(tái)是軟件定義網(wǎng)絡(luò)技術(shù)與網(wǎng)絡(luò)功能虛擬化(Network Function Virtualization,簡(jiǎn)稱NFV)技術(shù)的綜合運(yùn)用。網(wǎng)絡(luò)功能虛擬化技術(shù)能夠?qū)崿F(xiàn)分離專用硬件、在標(biāo)準(zhǔn)設(shè)備上通過(guò)軟件方式模擬網(wǎng)絡(luò)功能。NFV技術(shù)本質(zhì)為虛擬化,在此之上開(kāi)發(fā)具有特定功能的軟件功,如NAT、負(fù)載均衡、路由等,實(shí)現(xiàn)硬軟件功能解耦。SDN與NFV技術(shù)兩者實(shí)現(xiàn)互相彌補(bǔ)、互相促進(jìn)。
本文提出以云計(jì)算平臺(tái)OpenStack作為底層基礎(chǔ)設(shè)施,在其之上搭建以O(shè)penDayLight、OVS等SDN軟件為組合的在線實(shí)驗(yàn)平臺(tái),并對(duì)平臺(tái)的技術(shù)架構(gòu)和實(shí)現(xiàn)進(jìn)行了闡述。
由于軟件定義網(wǎng)絡(luò)專用交換機(jī)設(shè)備昂貴,難以大規(guī)模部署用于實(shí)驗(yàn)教學(xué),因此在實(shí)驗(yàn)教學(xué)時(shí)采用模擬仿真方式進(jìn)行。當(dāng)前業(yè)界已經(jīng)分別有面向軟件定義網(wǎng)絡(luò)架構(gòu)中控制平面和數(shù)據(jù)平面的多個(gè)開(kāi)源項(xiàng)目,例如開(kāi)源控制器軟件有OpenDayLight、Ryu、Floodlight,開(kāi)源虛擬交換機(jī)軟件有OpenVSwitch、Linux Bridge,開(kāi)源路由軟件有Quagga,BIRD。另外還有輕量級(jí)仿真平臺(tái)―Mininet、面向運(yùn)營(yíng)商的軟件定義網(wǎng)絡(luò)操作系統(tǒng)―ONOS。
在已有面向仿真平臺(tái)建設(shè)方案研究中,WANG S Y等[2]提出了基于EstiNet構(gòu)建仿真平臺(tái),何榮希等[3]、黃家瑋等[4]、李月溶等[5]提出了在VMWare虛擬機(jī)上搭建基于Mininet的仿真實(shí)驗(yàn)教學(xué)方案,魏亮等[6]提出了在利用SDN技術(shù)的基礎(chǔ)上引入了NFV、網(wǎng)絡(luò)服務(wù)編排等創(chuàng)新技術(shù),自主設(shè)計(jì)開(kāi)發(fā)了基于SDN/NFV的未來(lái)網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái)。申海杰等[7]提出了基于Mininet為仿真平臺(tái)、Floodlight為控制器、OpenVirteX為網(wǎng)絡(luò)虛擬化層設(shè)計(jì)多租戶的實(shí)驗(yàn)教學(xué)方案。張棟等[8]提出了基于Mininet+OVS+OpenDayLight組合開(kāi)展實(shí)驗(yàn),并自行設(shè)計(jì)開(kāi)發(fā)了可自動(dòng)化評(píng)測(cè)的SDN仿真平臺(tái)。綜上研究可以看出,SDN實(shí)驗(yàn)環(huán)境基本上以Mininet為基礎(chǔ),結(jié)合開(kāi)源控制器OpenDayLight等進(jìn)行搭建,實(shí)驗(yàn)中使用Wireshark進(jìn)行抓包分析OpenFlow協(xié)議,底層虛擬化環(huán)境使用VMWare虛擬機(jī)。
本文提出以云計(jì)算平臺(tái)為底層基礎(chǔ)構(gòu)建軟件定義網(wǎng)絡(luò)虛擬實(shí)驗(yàn)平臺(tái),底層采用OpenStack作為基礎(chǔ)設(shè)施,采用Mininet、OpenDayLight、Open vSwitch等開(kāi)源框架搭建實(shí)驗(yàn)服務(wù)層,使用Spring開(kāi)源框架和Beetl模板技術(shù)開(kāi)發(fā)web層。平臺(tái)基于B/S架構(gòu),教師和學(xué)生通過(guò)瀏覽器可直接使用,平臺(tái)實(shí)現(xiàn)了實(shí)驗(yàn)環(huán)境的云端存儲(chǔ)、使用YAML描述實(shí)驗(yàn)環(huán)境模板、支持同一實(shí)驗(yàn)包含多臺(tái)虛擬機(jī)、學(xué)生之生實(shí)驗(yàn)環(huán)境隔離等功能。平臺(tái)支持多用戶同時(shí)訪問(wèn),教師可靈活定制實(shí)驗(yàn)?zāi)0澹梢詫?duì)SDN控制器與交換機(jī)的靈活組合。
面向SDN的控制層已經(jīng)有較為成熟的開(kāi)源框架,如OpenDayLight,Ryu等,在數(shù)據(jù)平面有Open vSwitch。當(dāng)前面向SDN的實(shí)驗(yàn)仿真中絕大多數(shù)場(chǎng)景都采用以上開(kāi)源框架。
本文所述基于云計(jì)算的SDN實(shí)驗(yàn)平臺(tái)采用B/S架構(gòu),選擇OpenStack作為底層基礎(chǔ)設(shè)施,在OpenStack平臺(tái)上使用開(kāi)源SDN框架等搭建實(shí)驗(yàn)環(huán)境,使用Java Spring技術(shù)開(kāi)發(fā)面向?qū)W生和教師的在線實(shí)驗(yàn)?zāi)K中間件,使用Beetl模板開(kāi)發(fā)操作界面,使用noVNC/webssh技術(shù)實(shí)現(xiàn)對(duì)遠(yuǎn)程虛擬機(jī)在線操作。平臺(tái)架構(gòu)如圖1所示。
圖1 平臺(tái)架構(gòu)
平臺(tái)在架構(gòu)上可以分為三層:基礎(chǔ)設(shè)施層、服務(wù)層和應(yīng)用層。
基礎(chǔ)設(shè)施層以云計(jì)算平臺(tái)OpenStack為支撐,進(jìn)行底層網(wǎng)絡(luò)資源、存儲(chǔ)資源、計(jì)算資源調(diào)度和管理。
中間服務(wù)層則是在OpenStack基礎(chǔ)上搭建以Mininet、OpenDayLight、Open vSwitch為組合的實(shí)驗(yàn)服務(wù)環(huán)境。這些服務(wù)環(huán)境可以采用Qemu虛擬機(jī)或Docker容器方式運(yùn)行。
應(yīng)用層是面向?qū)W生和教師提供統(tǒng)實(shí)驗(yàn)操作和管理入口,具體功能為面向教師提供實(shí)驗(yàn)?zāi)0骞芾?、面向?qū)W生提供實(shí)驗(yàn)環(huán)境操作界面。
平臺(tái)使用時(shí)首先由教師創(chuàng)建實(shí)驗(yàn)?zāi)0澹瑢?shí)驗(yàn)?zāi)0逯邪▽?shí)驗(yàn)用到的硬軟件配置和連接拓?fù)?。硬件包括要使用的虛擬機(jī)數(shù)量及配置,軟件包括使用的SDN控制器和交換機(jī)開(kāi)源軟件。連接拓?fù)鋭t是PC與交換機(jī)、交換機(jī)與控制器之間的連接狀態(tài)。圖2展示了YAML格式描述的實(shí)驗(yàn)?zāi)0迮渲梦募?/p>
圖2 實(shí)驗(yàn)?zāi)0錣AML 配置文件
學(xué)生登錄實(shí)驗(yàn)平臺(tái)后,可以看到實(shí)驗(yàn)列表,點(diǎn)擊某個(gè)實(shí)驗(yàn)標(biāo)題后可看到實(shí)驗(yàn)文檔、實(shí)驗(yàn)虛擬主機(jī)列表及主機(jī)下的相關(guān)SDN開(kāi)源軟件,點(diǎn)擊虛擬機(jī)圖標(biāo)或SDN軟件圖標(biāo)后將彈出新窗口顯示目標(biāo)主機(jī)SSH界面。圖3展示了學(xué)生進(jìn)入的主界面及虛擬機(jī)操作界面。
圖3 學(xué)生操作界面
平臺(tái)在測(cè)試應(yīng)用中使用單臺(tái)物理機(jī)部署,硬件配置如表1所示。實(shí)驗(yàn)內(nèi)容包括Mininet基礎(chǔ)實(shí)驗(yàn)、Open vSwitch實(shí)驗(yàn)、OpenDayLight實(shí)驗(yàn),實(shí)驗(yàn)中使用的虛擬機(jī)包括3到6臺(tái),以30人班級(jí)進(jìn)行開(kāi)展教學(xué),依靠OpenStack強(qiáng)大的底層支持,測(cè)試硬件能夠支撐實(shí)驗(yàn)教學(xué)應(yīng)用,保障實(shí)驗(yàn)順利進(jìn)行。平臺(tái)使用用過(guò)程中在易用性、實(shí)用性、便捷性和性能上獲得了教師和學(xué)生的一致好評(píng)。
表1 服務(wù)器配置
隨著OpenStack的版本更新迭代,OpenStack已成為構(gòu)建私有云的首選。本文所述平臺(tái)是基于OpenStack搭建軟件定義網(wǎng)絡(luò)虛擬仿真平臺(tái),為軟件定義網(wǎng)絡(luò)實(shí)驗(yàn)環(huán)境搭建提出了新思路。隨著容器技術(shù)應(yīng)用越來(lái)越廣泛,未來(lái)可以研究以容器為底層架構(gòu)的軟件定義網(wǎng)絡(luò)實(shí)驗(yàn)環(huán)境,從而構(gòu)建輕量化的軟件定義網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái)。