前言:想要寫出一篇引人入勝的文章?我們特意為您整理了計(jì)算機(jī)網(wǎng)絡(luò)教學(xué)輕量級(jí)虛擬化技術(shù)應(yīng)用范文,希望能給你帶來靈感和參考,敬請(qǐng)閱讀。
[關(guān)鍵詞]計(jì)算機(jī)網(wǎng)絡(luò);網(wǎng)絡(luò)模擬;網(wǎng)絡(luò)仿真;網(wǎng)絡(luò)虛擬化
一、引言
研究生和本科階段的計(jì)算網(wǎng)絡(luò)教學(xué)離不開基于軟件的網(wǎng)絡(luò)驗(yàn)證。網(wǎng)絡(luò)驗(yàn)證主要包括以下兩大范疇:1.網(wǎng)絡(luò)仿真(Simulation):利用軟件模仿真實(shí)網(wǎng)絡(luò)的運(yùn)行過程。其優(yōu)點(diǎn)包括:執(zhí)行速度快,具備壓縮的時(shí)間軸,因而可快速得到實(shí)驗(yàn)結(jié)果;由于網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)設(shè)備均用自定義的進(jìn)程替代,因此可以方便地通過程序腳本快速部署網(wǎng)絡(luò)拓?fù)浜蛻?yīng)用。其缺點(diǎn)包括:協(xié)議實(shí)現(xiàn)與真實(shí)協(xié)議有差異,并非真正運(yùn)行協(xié)議本身,因而網(wǎng)絡(luò)運(yùn)行的還原度較低。其典型的代表包括:OMNeT++、NS3、OPNET等。2.網(wǎng)絡(luò)模擬(Emulation):利用軟件再現(xiàn)真實(shí)網(wǎng)絡(luò)的運(yùn)行過程。其優(yōu)點(diǎn)包括:在協(xié)議方面,運(yùn)行真實(shí)協(xié)議,發(fā)送標(biāo)準(zhǔn)分組,對(duì)網(wǎng)絡(luò)運(yùn)行的還原度高;在設(shè)備方面,提供接近真實(shí)網(wǎng)絡(luò)設(shè)備的配置接口、調(diào)用接口。缺點(diǎn)包括:由于運(yùn)行了基本完整的網(wǎng)絡(luò)協(xié)議棧,對(duì)運(yùn)算資源需求較大,因此部署大規(guī)模網(wǎng)絡(luò)較為困難;操作上主要依賴于人工配置和運(yùn)行;網(wǎng)絡(luò)協(xié)議棧不包含用戶流量生成模塊,因此不同流量模型下的大規(guī)模流量注入不便;需額外調(diào)用多種工具用于分析研究。其典型代表包括:Mininet[1]、GNS3、CISCOPacketTracer、PlanetLab[2]等。為克服上述局限性,本文研究將輕量級(jí)虛擬化技術(shù)如Docker[3]、SDN(Software-DefinedNetworking,軟件定義網(wǎng)絡(luò))[4]應(yīng)用在計(jì)算機(jī)網(wǎng)絡(luò)教學(xué)中,面向研究生和本科階段計(jì)算網(wǎng)絡(luò)教學(xué),搭建高保真、易編程的實(shí)驗(yàn)環(huán)境。
二、輕量級(jí)虛擬化技術(shù)的應(yīng)用
1.網(wǎng)絡(luò)拓?fù)涞脑O(shè)計(jì)部署:Docker作為本系統(tǒng)虛擬網(wǎng)絡(luò)部署的核心技術(shù),將Docker容器作為虛擬網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點(diǎn),并結(jié)合OVS(OpenvSwitch)[5]交換機(jī)提供網(wǎng)絡(luò)節(jié)點(diǎn)的網(wǎng)絡(luò)連通性。首先,Docker容器完整地封裝了網(wǎng)絡(luò)協(xié)議棧,并進(jìn)行隔離運(yùn)行,是對(duì)真實(shí)網(wǎng)絡(luò)協(xié)議的高保真再現(xiàn)。相對(duì)于傳統(tǒng)的采用虛擬機(jī)模擬網(wǎng)絡(luò)節(jié)點(diǎn)的方法,Docker容器在實(shí)現(xiàn)良好隔離的基礎(chǔ)上,對(duì)于資源要求更低,易于大規(guī)模部署和擴(kuò)展。其次,Docker具有豐富的鏡像倉庫,有助于模擬功能復(fù)雜的網(wǎng)絡(luò)(防火墻、深度包檢測(cè)等),更接近真實(shí)Internet。同時(shí),Docker本身提供豐富的網(wǎng)絡(luò)支持,包括bridge、host、none、overlay、macvlan等網(wǎng)絡(luò)驅(qū)動(dòng),Calico等第三方網(wǎng)絡(luò)解決方案,使得網(wǎng)絡(luò)部署具有良好的可編程性。前端配合利用jQuery和jsPlumb實(shí)現(xiàn)了典型拓?fù)淠0?用戶手動(dòng)拖拽的虛擬網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)設(shè)計(jì)界面,提供了教學(xué)的直觀性和操作的易用性,可方便地進(jìn)行虛擬網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的設(shè)計(jì)和部署。
2.用戶流量的靈活注入:利用Docker和OVS等技術(shù)將虛擬網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)部署到物理宿主機(jī)資源池之后,若沒有用戶流量的注入,則無法對(duì)數(shù)據(jù)平面的性能進(jìn)行有效評(píng)估。這就要求能夠在數(shù)量眾多的虛擬網(wǎng)絡(luò)端系統(tǒng)上進(jìn)行大規(guī)模的數(shù)據(jù)請(qǐng)求和響應(yīng)。在網(wǎng)絡(luò)模擬工具中(如GNS3、PacketTracer等),主要依賴人工登錄端系統(tǒng)來手動(dòng)觸發(fā)數(shù)據(jù)平面流量(例如手動(dòng)Ping操作、訪問網(wǎng)頁等)。一方面,這樣的操作所產(chǎn)生的數(shù)據(jù)量小,難以匹配實(shí)際網(wǎng)絡(luò)的流量規(guī)模,也無法長期手工執(zhí)行,造成教學(xué)過程的操作繁瑣,容易出錯(cuò);另一方面,當(dāng)虛擬網(wǎng)絡(luò)包含大量端系統(tǒng)時(shí),手工操作變得不可行。相比之下,在網(wǎng)絡(luò)仿真工具中(如OMNeT++、NS3等),雖然能以特定流量模型批量調(diào)用大量端系統(tǒng)注入用戶流量,但是,如前所述,其運(yùn)行的并非實(shí)際網(wǎng)絡(luò)協(xié)議,而是仿真進(jìn)程,因此還原度、保真度相對(duì)于網(wǎng)絡(luò)模擬工具又大打折扣。為解決這一問題,本系統(tǒng)利用Docker等輕量級(jí)虛擬化技術(shù),以Docker容器形式模擬運(yùn)行虛擬網(wǎng)絡(luò)端系統(tǒng)。Docker提供了各主流編程語言的API支持,無需人工操作容器,DockerAPI可以方便地啟停容器、調(diào)用容器內(nèi)部功能,實(shí)現(xiàn)腳本式、規(guī)?;芸兀虼?,可將注入用戶流量的邏輯腳本批量運(yùn)行在模擬端系統(tǒng)的Docker容器中,無需人工干預(yù),即可實(shí)現(xiàn)海量用戶流量的靈活注入,大大提升了流量注入的可編程性。本系統(tǒng)中,用戶流量注入工具采用了docker-py作為與虛擬網(wǎng)絡(luò)端系統(tǒng)進(jìn)行交互的編程接口,將需要運(yùn)行的容器內(nèi)部應(yīng)用程序及其所需參數(shù),通過docker-py的exec_run命令發(fā)送給Docker容器,從而根據(jù)參數(shù)執(zhí)行應(yīng)用,產(chǎn)生流量注入網(wǎng)絡(luò)。
3.網(wǎng)絡(luò)指標(biāo)的監(jiān)控統(tǒng)計(jì):Docker本身提供了命令行工具,支持Docker容器級(jí)別的監(jiān)控,同時(shí),第三方容器集群框架(如Kubernetes[3])可實(shí)現(xiàn)集中式全局監(jiān)控,從而實(shí)現(xiàn)粗、細(xì)粒度監(jiān)控的廣泛覆蓋。而OVS交換機(jī)受控于SDN控制器,利用LLDP協(xié)議進(jìn)行拓?fù)浒l(fā)現(xiàn)和心跳維護(hù),若將設(shè)備本身的帶寬、時(shí)延等網(wǎng)絡(luò)指標(biāo)封裝在可擴(kuò)展的LLDP協(xié)議分組中,則可利用LLDP協(xié)議實(shí)現(xiàn)捎帶網(wǎng)絡(luò)指標(biāo)監(jiān)控、統(tǒng)計(jì),并有效降低監(jiān)控、統(tǒng)計(jì)帶來的流量開銷。
4.在教學(xué)中的應(yīng)用:本系統(tǒng)的測(cè)試版本已在西南民族大學(xué)計(jì)算機(jī)網(wǎng)絡(luò)相關(guān)課程中投入了試點(diǎn)應(yīng)用,相關(guān)專業(yè)的研究生和本科生普遍反映本系統(tǒng)具有直觀性高、操作方便、易于理解等優(yōu)勢(shì),降低了計(jì)算機(jī)網(wǎng)絡(luò)模擬操作的門檻,相對(duì)于傳統(tǒng)網(wǎng)絡(luò)模擬/仿真工具,在實(shí)驗(yàn)過程中的出錯(cuò)概率也大大降低,取得了良好的教學(xué)效果。
三、結(jié)束語
綜上所述,本文研究將輕量級(jí)虛擬化技術(shù)如Docker、SDN等應(yīng)用于計(jì)算機(jī)網(wǎng)絡(luò)的教學(xué)當(dāng)中,可以有效地提供網(wǎng)絡(luò)拓?fù)涞脑O(shè)計(jì)部署、用戶流量的靈活注入、網(wǎng)絡(luò)指標(biāo)的監(jiān)控統(tǒng)計(jì)等功能,深入地幫助理解網(wǎng)絡(luò)協(xié)議的工作原理,有效支撐研究生和本科階段計(jì)算網(wǎng)絡(luò)教學(xué)。
作者:陳曦 吳濤 單位:西南民族大學(xué)