金可仲, 劉 軍, 陳勝凱
(溫州大學(xué) 數(shù)理與電子信息工程學(xué)院, 浙江 溫州 325035)
地方本科院校網(wǎng)絡(luò)工程專業(yè)課程的教學(xué),強(qiáng)調(diào)對(duì)學(xué)生解決復(fù)雜網(wǎng)絡(luò)系統(tǒng)工程能力的培養(yǎng)[1],因而需要實(shí)驗(yàn)環(huán)節(jié)的有效支撐。以網(wǎng)絡(luò)測試課程為例,要求學(xué)生“能夠基于網(wǎng)絡(luò)系統(tǒng)工作原理,就復(fù)雜工程系統(tǒng)中涉及的局部性功能或性能問題進(jìn)行研究,設(shè)計(jì)相關(guān)的測試方案,并對(duì)測試結(jié)果或數(shù)據(jù)進(jìn)行分析和解釋?!比欢?原有的實(shí)驗(yàn)資源面臨容量不足的壓力,制約了實(shí)踐教學(xué)活動(dòng)的開展,主要表現(xiàn)在以下3方面:
(1) 受實(shí)驗(yàn)室容量限制,學(xué)生使用實(shí)驗(yàn)資源的時(shí)長受限,實(shí)驗(yàn)環(huán)節(jié)不易做到有效覆蓋;
(2) 受設(shè)備數(shù)量限制,復(fù)雜網(wǎng)絡(luò)測試拓?fù)浯罱ㄅc復(fù)雜網(wǎng)絡(luò)測試實(shí)驗(yàn)周期拉長,測試分析與探究性實(shí)驗(yàn)受到制約;
(3) 實(shí)驗(yàn)資源不足與使用上的不便抑制了學(xué)生課外學(xué)習(xí)的積極性,而課外投入的不足使實(shí)驗(yàn)教學(xué)效果受到影響。
虛擬仿真實(shí)驗(yàn)教學(xué)平臺(tái)的建設(shè)無疑為實(shí)驗(yàn)教學(xué)環(huán)境和條件的改善、實(shí)驗(yàn)教學(xué)方法和手段的改革提供了有力的支撐[2-7],使用高度仿真的虛擬實(shí)驗(yàn)不僅節(jié)約實(shí)體實(shí)驗(yàn)室的建設(shè)投入與管理成本,其擴(kuò)展性強(qiáng)的特點(diǎn)還非常有利于開發(fā)出新的實(shí)驗(yàn)項(xiàng)目來支持學(xué)生工程實(shí)踐能力培養(yǎng)[8]。
筆者依托溫州大學(xué)網(wǎng)絡(luò)工程國家級(jí)虛擬仿真實(shí)驗(yàn)教學(xué)中心[9],構(gòu)建了基于網(wǎng)絡(luò)功能虛擬化、可擴(kuò)展的網(wǎng)絡(luò)測試虛擬仿真實(shí)驗(yàn)平臺(tái),可以快速響應(yīng)教學(xué)需求,支持復(fù)雜網(wǎng)絡(luò)的測試拓?fù)鋭?chuàng)建與下發(fā),為學(xué)生實(shí)踐能力的培養(yǎng)提供了充足的虛擬仿真實(shí)驗(yàn)資源?;赪eb的訪問入口、拖拽式的測試拓?fù)浯罱ń缑婧蜏y試管理功能,方便學(xué)生彈性安排時(shí)間創(chuàng)建測試場景、執(zhí)行測試方案,有利于測試實(shí)踐能力訓(xùn)練與探索分析能力的提高。
測試平臺(tái)的建設(shè)目標(biāo)是將測試課程實(shí)踐教學(xué)環(huán)節(jié)所需的資源,包括測試儀表、測試設(shè)備等虛擬化,同時(shí)提供便捷的訪問入口和使用模式,構(gòu)建平臺(tái)相關(guān)的技術(shù),包括NFV、OpenStack、Velocity等。
(1) 網(wǎng)絡(luò)功能虛擬化。網(wǎng)絡(luò)功能虛擬化(network function virtualization,NFV)是歐洲電信標(biāo)準(zhǔn)組織(ETSI)提出的一種軟件和硬件分離的架構(gòu)[10-11],將網(wǎng)絡(luò)功能從硬件設(shè)備中剝離出來,使其不依賴于專用硬件資源,方便用戶根據(jù)需要實(shí)現(xiàn)虛擬網(wǎng)絡(luò)功能并能靈活、動(dòng)態(tài)地部署。NFV減少了采購專用網(wǎng)絡(luò)設(shè)備的費(fèi)用,以自動(dòng)化方式部署測試拓?fù)?因而大幅度降低了對(duì)實(shí)驗(yàn)場地的占用。這些特點(diǎn)使其非常適合作為構(gòu)建網(wǎng)絡(luò)測試虛擬仿真實(shí)驗(yàn)平臺(tái)的支撐技術(shù)[12]。
(2) OpenStack。OpenStack是目前開源云計(jì)算架構(gòu)中的主流選擇,廣泛應(yīng)用于高??蒲薪虒W(xué)云計(jì)算平臺(tái)部署[13]。OpenStack包含核心組件和可選組件兩部分,其核心組件可以提供身份認(rèn)證、虛擬機(jī)生命周期管理、網(wǎng)絡(luò)與地址管理、虛擬機(jī)鏡像管理及UI界面等。OpenStack的這些功能非常適合于網(wǎng)絡(luò)測試虛擬仿真實(shí)驗(yàn)平臺(tái)的計(jì)算資源管理,可根據(jù)用戶的資源編排需求來創(chuàng)建NFV網(wǎng)元,構(gòu)建出虛擬仿真的測試拓?fù)渑c測試環(huán)境。
(3) Velocity。Velocity是專門用于虛擬-物理混合式實(shí)驗(yàn)室環(huán)境的管理協(xié)調(diào)器(orchestrator),作為一個(gè)LaaS(lab as a service)平臺(tái)[14]。Velocity可以管理物理層光纖和RF交換機(jī)、虛擬網(wǎng)元、虛擬測試儀表等資源,具有預(yù)訂資源、創(chuàng)建測試拓?fù)?、激活測試拓?fù)浜凸芾頊y試環(huán)境功能,還可以實(shí)現(xiàn)用戶的資源共享,例如將同一個(gè)測試拓?fù)湎掳l(fā)到不同的計(jì)算節(jié)點(diǎn)上分別執(zhí)行測試。Velocity還集成了場景式的訪問界面,允許用戶以拖拽的方式搭建測試拓?fù)?、編排測試任務(wù),可以為測試平臺(tái)提供管理功能與用戶入口。
在邏輯上,網(wǎng)絡(luò)測試虛擬仿真實(shí)驗(yàn)平臺(tái)架構(gòu)分為3層,從下至上分別是物理資源池層、云服務(wù)平臺(tái)層和虛擬網(wǎng)元層。物理資源池由虛擬仿真實(shí)驗(yàn)教學(xué)中心統(tǒng)一分配,作為平臺(tái)的基礎(chǔ)計(jì)算資源;云服務(wù)平臺(tái)負(fù)責(zé)計(jì)算資源的管理,并根據(jù)用戶需求創(chuàng)建測試所需的虛擬網(wǎng)元和虛擬網(wǎng)絡(luò)環(huán)境;虛擬網(wǎng)元是由云服務(wù)平臺(tái)創(chuàng)建的、面向用戶的虛擬實(shí)驗(yàn)資源,包括虛擬主機(jī)、虛擬路由器、虛擬交換機(jī)、虛擬防火墻、虛擬測試儀表等。
Velocity是實(shí)驗(yàn)管理協(xié)調(diào)器和LaaS平臺(tái),負(fù)責(zé)連接云服務(wù)平臺(tái)層與虛擬網(wǎng)元層,向用戶提供圖形化的操作界面,進(jìn)行測試拓?fù)浯罱?、測試任務(wù)編排和虛擬測試環(huán)境管理。測試平臺(tái)框架結(jié)構(gòu)如圖1所示。
圖1 網(wǎng)絡(luò)測試虛擬仿真實(shí)驗(yàn)平臺(tái)框架結(jié)構(gòu)
云服務(wù)平臺(tái)以O(shè)penStackJuno為基礎(chǔ)構(gòu)建,負(fù)責(zé)管理物理計(jì)算資源,依據(jù)用戶需求實(shí)現(xiàn)NFV網(wǎng)元?jiǎng)?chuàng)建、虛擬網(wǎng)絡(luò)連接、地址映射等服務(wù),并向Velocity提供可調(diào)用的API,創(chuàng)建其編排的測試任務(wù)所需的虛擬化測試環(huán)境。
在測試實(shí)驗(yàn)中,性能測試、壓力測試等場景具有潛在的破壞風(fēng)險(xiǎn)。為確保平臺(tái)的整體安全,設(shè)計(jì)了分離式的云服務(wù)平臺(tái)部署模式。將OpenStack組件裁剪定制,創(chuàng)建了適用于單節(jié)點(diǎn)部署的All-in-One鏡像,并安裝到刀片服務(wù)器上,負(fù)責(zé)管理該物理節(jié)點(diǎn)上的計(jì)算資源,形成獨(dú)立的云計(jì)算節(jié)點(diǎn)。若干云計(jì)算節(jié)點(diǎn)組成計(jì)算資源集群,為上層用戶提供服務(wù)。
分離式結(jié)構(gòu)雖然會(huì)降低資源調(diào)度的效率,但可以預(yù)防高負(fù)載測試場景的潛在風(fēng)險(xiǎn)。此外,云計(jì)算節(jié)點(diǎn)的單點(diǎn)部署模式還具有維護(hù)簡單、易于擴(kuò)展的優(yōu)點(diǎn),在需求發(fā)生變化時(shí),通過部署服務(wù)器即可快速實(shí)現(xiàn)節(jié)點(diǎn)數(shù)量的伸縮,調(diào)節(jié)資源集群大小。
測試平臺(tái)整體采用“1+n”的部署模式,即在1個(gè)物理節(jié)點(diǎn)上創(chuàng)建出多個(gè)虛擬機(jī)用于部署管理服務(wù),形成管理集群,包括部署服務(wù)器、NFS服務(wù)器、Velocity服務(wù)器和ITE服務(wù)器。部署服務(wù)器與提供鏡像存儲(chǔ)服務(wù)的NFS服務(wù)器構(gòu)成PXE網(wǎng)絡(luò),用于將All-in-One鏡像安裝到物理裸機(jī)上,形成云計(jì)算節(jié)點(diǎn),以自動(dòng)化模式提高部署效率。Velocity服務(wù)器提供測試資源管理服務(wù)和用戶訪問入口,ITE服務(wù)器提供認(rèn)證、數(shù)據(jù)庫、日志等服務(wù)。在N個(gè)物理節(jié)點(diǎn)上部署云計(jì)算節(jié)點(diǎn),組成計(jì)算資源集群,其規(guī)??梢酝ㄟ^部署服務(wù)管理實(shí)現(xiàn)彈性伸縮。平臺(tái)業(yè)務(wù)部署結(jié)構(gòu)如圖2所示。
圖2 網(wǎng)絡(luò)測試虛擬仿真平臺(tái)業(yè)務(wù)的部署結(jié)構(gòu)
測試平臺(tái)上集成了包括2層交換機(jī)、3層路由器、防火墻、Windows7、Centos、Ubuntu等NFV網(wǎng)元鏡像。為驗(yàn)證網(wǎng)元的功能是否可以滿足測試實(shí)驗(yàn)項(xiàng)目需求,以測試課程實(shí)驗(yàn)項(xiàng)目所需設(shè)備的功能點(diǎn)為依據(jù),對(duì)其進(jìn)行了功能驗(yàn)證測試。測試結(jié)果表明:NFV網(wǎng)元具備測試實(shí)驗(yàn)項(xiàng)目所需的設(shè)備功能,可以滿足測試課程教學(xué)與實(shí)踐訓(xùn)練需求(見表1)。
表1 NFV網(wǎng)元功能所覆蓋的測試實(shí)驗(yàn)項(xiàng)目列表
為驗(yàn)證平臺(tái)對(duì)常規(guī)實(shí)驗(yàn)組數(shù)容量的支持,進(jìn)行了單計(jì)算節(jié)點(diǎn)拓?fù)渲貜?fù)下發(fā)測試。創(chuàng)建在測試實(shí)驗(yàn)場景中常見的4網(wǎng)元拓?fù)渲貜?fù)下發(fā)到同一計(jì)算節(jié)點(diǎn)。當(dāng)拓?fù)湎掳l(fā)數(shù)量達(dá)到8時(shí),系統(tǒng)提示資源不足。在不同的計(jì)算節(jié)點(diǎn)上執(zhí)行該項(xiàng)測試操作,結(jié)果一致。據(jù)此測試結(jié)果可知,在“1+N”部署模式下,測試平臺(tái)最多能提供8×N組常規(guī)實(shí)驗(yàn)容量,可滿足日常教學(xué)與課外實(shí)訓(xùn)要求。在當(dāng)前的測試教學(xué)實(shí)踐中,平臺(tái)的資源部署采用“1+6”模式,以每個(gè)計(jì)算節(jié)點(diǎn)下發(fā)3~4個(gè)測試拓?fù)鋪碛?jì),可以提供18~24組實(shí)踐教學(xué)分組使用量,為測試課程教學(xué)提供了充足的虛擬仿真實(shí)驗(yàn)資源。
在測試課程實(shí)踐教學(xué)中,首先對(duì)測試目標(biāo)進(jìn)行分析,設(shè)計(jì)相應(yīng)的測試拓?fù)渑c測試用例。完成測試用例設(shè)計(jì)后,進(jìn)入網(wǎng)絡(luò)測試實(shí)驗(yàn)平臺(tái)創(chuàng)建測試拓?fù)?執(zhí)行測試操作,獲取測試結(jié)果數(shù)據(jù)并進(jìn)行分析。以網(wǎng)絡(luò)測試課程中典型的IP吞吐量測試為例,該項(xiàng)目的目標(biāo)是對(duì)路由設(shè)備的IP吞吐量進(jìn)行性能測試,需要占用測試儀表的2個(gè)端口連接被測路由器,進(jìn)行測試流的收發(fā),其測試物理拓?fù)淙鐖D3所示。
圖3 IP吞吐量測試拓?fù)鋱D
在網(wǎng)絡(luò)測試實(shí)驗(yàn)平臺(tái)上,首先通過Web方式登錄Velocity,進(jìn)入拖拽式操作界面,選擇所需的NFV網(wǎng)元搭建測試拓?fù)洹M負(fù)浯罱ㄍ瓿珊髮⑵湎掳l(fā)到指定的計(jì)算節(jié)點(diǎn)上,如圖4所示。
圖4 測試拓?fù)鋭?chuàng)建下發(fā)示意圖
拓?fù)湎鲁晒?測試儀表虛擬網(wǎng)元STCv將獲得平臺(tái)分配的管理IP,用于連接虛擬儀表,進(jìn)行測試所需的端口占用和測試管理配置。而被測路由器的配置,則以所在計(jì)算節(jié)點(diǎn)的IP地址加上分配給被測路由器虛擬網(wǎng)元的端口號(hào),通過telnet方式進(jìn)行測試前的配置。完成測試儀表管理配置和被測設(shè)備配置后,即可使用測試功能軟件,按照測試用例中規(guī)劃的步驟對(duì)被測路由器進(jìn)行IP吞吐量測試操作。
構(gòu)建的基于網(wǎng)絡(luò)功能虛擬化的網(wǎng)絡(luò)測試虛擬仿真實(shí)驗(yàn)平臺(tái),為網(wǎng)絡(luò)測試課程的實(shí)驗(yàn)教學(xué)與實(shí)踐訓(xùn)練提供充足的虛擬仿真實(shí)驗(yàn)資源。平臺(tái)集成的NFV網(wǎng)元所具有的功能可以覆蓋實(shí)驗(yàn)項(xiàng)目需求。平臺(tái)提供的Web入口和拖拽式使用場景方便用戶操作,為培養(yǎng)學(xué)生的網(wǎng)絡(luò)測試分析綜合能力、實(shí)踐與創(chuàng)新能力提供了支撐。