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