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