張宏莉 史建燾 翟健宏
摘 要:通過對傳統實驗教學環境弊端的分析,搭建了基于SDN和虛擬化技術的云環境下計算機實驗教學平臺。平臺通過XEN及Cloudstack提供基礎的云服務,通過API調用方式實現了后端業務流和前端交互環境。并以信息安全概論的Snort防火墻實驗為例介紹了平臺的使用過程。最后指出了與傳統實驗平臺相比所具有的優勢和廣闊的應用前景。
關鍵詞:云環境;計算機教學;實驗平臺
中圖分類號:TP391 文獻標識碼:A 文章編號:2095-2163(2015)03-
Computer experimental and teaching platform based on Cloud computing environment
ZHANG Hongli, SHI Jiantao, ZHAI Jianhong
(School of Computer and Science Technology, Harbin Institute of Technology, Harbin 150001, China)
Abstract: Through the analysis of the disadvantages of the traditional experimental teaching environment, the paper uses SDN and virtualization technology to construct the cloud based computer experimental teaching platform. The basic cloud services are provided by XEN and Cloudstack technologies. The back-end business and front-end interactive environment call API to provide real services. Then, the paper introduces the process of the platform with an example of snort firewall experiment. In the end, it points out the advantages and wide application prospect of the platform.
Keywords: Cloud Environment; Computer Teaching; Experimental Platform
0 引 言
隨著國家對高等教育投入的增加,高校本科教育改革也隨之推進,時下更多關注于課堂教學與實踐教學相結合,也就是在注重理論知識的課堂教學的基礎上,實驗課程的教學受到了日漸頻密的矚目和重視。特別地,對于很多的工科課程,實踐內容尤顯重要。在此背景需求下,傳統的計算機實驗教學平臺所暴露出的諸多滯后問題亟待迫切解決,具體論述如下:
(1) 軟硬件資源管理方式落后。伴隨著高校教學科研條件的顯著改善,很多高校更新、添置了更多性能優越的計算機,傳統軟硬件資源管理方式的弊端更加突顯。主要體現在:首先,由于高校每學期課程組成的調整,課程所需實驗內容都會有所變化,反復安裝和更新軟件則加重了實驗室人員的工作負擔。其次,為了保證實驗機房軟件環境安全,實驗室計算機普遍采用了硬盤保護和系統自動還原設計,造成了學生實驗資料的保存,以及實驗環境的恢復更加不便。此外,傳統實驗室建設成本高,使用周期短,設備利用率相對不高,存在嚴重的資源浪費問題[1]。
(2) 實驗時間地點固定。由于傳統的計算機實驗環境需要專門的實驗機房,學生要在規定的課程時間到機房上機實驗。但隨著高校學生人數的增加,實驗機房數量有限,實驗場地少的問題已經成為了限制學生動手能力拓展的主要問題之一。學生一般只能在學校安排的實驗時間到實驗室上課,其他時間沒有辦法、更沒有空間進入實驗室來增加自己的動手機會。
(3) 特殊的實驗要求。隨著高校課程改革的深入,部分上機實驗需要較為特殊的實驗環境。以信息安全類實驗為例,不同于常規信息技術的運用,實驗系統應該盡可能接近真實網絡環境,甚至依賴于特殊網絡場景的設計實踐。場景搭建復雜,實際網絡設備昂貴等因素均將限制網絡場景的規模,這就使得基于傳統實驗平臺則難以構造接近真實情況的實驗場景。另外,有些實驗,比如網絡攻防實驗等,可能會具有一定的破壞性,則無法讓學生在機房環境下進行實驗。
鑒于傳統計算機實驗環境的如上弊端,構建基于虛擬化和SDN[2]技術的云環境下計算機實驗教學平臺即具有重大現實意義。具體來說,有如下幾點:
(1) 可提供大規模、且資源充足的實驗、設備空間;
(2) 實驗設置能夠合理模擬真實網絡和復雜網絡;
(3) 實驗過程可以多人并行、相互隔離,使得實驗環境更趨開放、共享、低成本和高效率;
(4) 可以減少實驗教師重復性勞動,能夠對實驗過程實施有效監督,能夠充分調動學生興趣和參與度。
1實驗平臺的建設及技術架構
綜上所述,本文即以云端實驗教學平臺為基礎,搭建了基于SDN和虛擬化技術的計算機實驗教學平臺。平臺借鑒了先進的軟件定義網絡與共享硬件資源思想,面向高校計算機類教學課程與實驗,研發實現了復雜度高、隔離性強的各種網絡與實驗環境的快速構建,具體能夠支持多組、多人、并行的實驗或網絡攻防對抗演練。平臺還將支持對實驗過程的監控,并且支持實驗后的過程回放和分析評估。平臺的整體拓撲架構如圖1所示。
圖1 計算機云實驗平臺的拓撲結構
Fig.1 Topological structure of computer cloud experimental platform
通過實驗室內部網絡與外部相隔離的方式,在物理層保證了網絡安全性;同時,又通過專門設計的網絡安全管理平臺,對虛擬仿真實驗教學平臺提供了包括學生、老師、管理員等在內的各類不同權限級別的用戶,每一權限級別的用戶須均需通過認證后方可以進行登陸及實驗操作,并在記錄登陸用戶信息的基礎上,還具有計費管理等功能。針對非正常訪問或未通過認證的用戶則需進行來源信息記錄,以確保平臺的正常訪問。每個學生的實驗過程都在一個沙盒內完成,各組實驗之間,實驗環境和物理宿主設備之間安全隔離,實驗結束后沙盒自動銷毀,保證了平臺數據不具篡改的可能。
虛擬仿真實驗教學平臺所承載的學院網絡為學校內網,通過校網中心連接到ISP,既保障外部訪問平臺的使用需求,又可防止外部網絡的攻擊威脅,學院、校網中心兩級網絡安全防護,設置IDS和防火墻等設備,確保網絡安全,及時預防、進而實時發現存在網絡安全問題。具有網絡防病毒、信息過濾和入侵檢測功能。網絡由實驗管理部門專人核查與維護,保障網絡的安全,確保平臺的正常穩定運行。
平臺包括基礎設施的搭建,后端服務的設計以及前端應用,整體系統架構如圖2所示。
圖2 系統架構
Fig.2 System architecture
其中,基礎設施包括一組高性能服務器集群,通過XEN[3]虛擬化技術構成一個主從模式的主機池,集群由XenCenter負責管理,作為實驗虛擬機的宿主節點池。云服務通過搭建CloudStack[4]架構設計并實現,具體功能包括:
(1)賬戶模塊。負責系統賬戶的管理,對賬戶設置了虛擬機和存儲設備的訪問權限,保證了云服務的安全可靠。
(2)虛擬機管理模塊。負責虛擬機的生成,運行調度,銷毀以及遷移等功能,是整個云服務的核心功能模塊。
(3)存儲模塊。通過設置二級存儲結構提供云服務的存儲管理。其中,一級存儲負責系統主機模板的存儲,二級存儲負責生成的鏡像文件的存儲,保證了云服務的運行效率。
(4)網絡管理模塊。負責提供特定的實驗環境網絡,通過虛擬Vlan的方式保證不同用戶的虛擬機節點物理上的隔離,同時通過Nat和源Nat保證虛擬機網絡和實際校園網的銜接。
此外,Cloudstack平臺提供了一組可供外部調用的API,用于上層云服務進行二次開發。
實驗平臺系統在后端通過調用Cloudstack API為前端應用提供接口服務。系統的主要業務流則由前端提供,具體功能如圖3所示。
圖3 前端功能結構圖
Fig.3 Front-end function structure chart
云實驗平臺與傳統的實驗室相比,對物理設備以外,包括操作系統和網絡架構采用完全虛擬化的方式,保證實驗可定制,實驗網絡環境可定制,并且支持復雜的實驗演練。實驗準備工作簡單,教師可以一鍵式初始化實驗環境。同時,通過隔離模式使實驗環境各自獨立,保證了實驗的高度并行性。支持實驗過程可視化,數據可回放,實驗可恢復。通過實驗環境統一管理的方式,保證實驗可以集中式恢復,實驗結束后教師可以對實驗環境一鍵銷毀。實驗平臺還具有支持復雜多層次大型網絡的優勢,同時充分保證了資源的復用性,建設成本投入小,可擴展性強。該平臺的各主要業務模塊實現功能如下。
(1)針對學生的主要業務模塊
學習課程:選課中心,自主選課(必修/選修課),課程學習檔案。
信息管理:系統公告,課程公告消息,個人信息及設置,登陸密碼修改,學習檔案和日志。
實驗、考核、互動:課程實驗,實驗操作,實驗提交,實驗幫助,課程考試,實驗社區。
(2)針對教師的主要業務模塊
課程管理:選課管理,課程設置,課程考核管理。
實驗管理:實驗設置,實驗定制,實驗監控,實驗結果考評,資料工具管理,成績管理。
查詢統計:實驗情況查詢,考試查詢。
實驗社區:實驗問答,實驗筆記,課程動態。
(3)針對管理員業務模塊
實驗管理:實驗分類管理,實驗模板管理,實驗調度管理。
用戶管理:組織架構管理,用戶管理。
系統管理:系統信息,系統設置,系統公告,系統日志。
查詢統計:實驗情況查詢,在線用戶查詢。
實驗具體流程為,管理員設置教師用戶和學生用戶權限,教師登陸后進行課程設置,從實驗庫中選擇適合的實驗或者增加實驗和實驗指導書,配置實驗環境模板和虛擬實驗環境設置。從選課學生中選擇上課學生。實驗前根據選課學生數創建配套實驗環境。學生在線選擇對應課程進入實驗,選擇自己的實驗環境,獲得實驗用的配套虛擬機登陸IP和動態登陸密碼。實驗過程中,教師還可以查看學生實驗情況。
在大量學生進行相同或不同實驗操作的需求下,平臺能夠快速準確地提供大量的實驗環境,能夠保證這些實驗環境對每個學生來說是相互獨立的,這就表明了在實驗過程中不同的操作人員所進行的實驗將是相互隔離,互不干擾的。在實驗完成后,為保證實驗資源的利用率,平臺能夠快速釋放各類資源。同時,對不同學校、不同學習目的、不同專業興趣方向、每個學生對不同實驗的操作過程和響應結果進行了有效的存儲與管理。
2實驗案例
以信息安全概論課程中的“Snort與單臺防火墻聯動構建輕量級IPS”實驗為例,實驗開始前,教師可以登錄實驗平臺為所有學生構建實驗環境,環境搭建成功后,教師可以開放實驗。學生登錄后可以看到為自己搭建的實驗主機的遠程登錄IP及端口,學生可以遠程登錄虛擬機進行實驗,平臺界面如圖4所示。
圖4 實驗案例界面
Fig.4 Experiment case interface
從后端維護界面可以看到該實驗的主機構成及網絡設置,如圖5所示。
圖5 實驗主機及網絡配置
Fig.5 Experiment host and network configuration
該實驗包括3臺主機,主機Snort-host對外不可見,為Linux Centos6.5操作系統,IP地址為固定的10.1.1.1。其他兩臺主機對外可見,可以通過遠程桌面連接登錄,其中Host主機為學生實驗操作主機,用來遠程登錄Snort主機,安裝和配置Snort系統,并可和Snort主機聯動,使用本地防火墻和Snort防火墻。Test主機則作為掃描探測 ,通過配置好的Xscan工具對Host主機和Snort主機進行探測。在Snort主機上可以觀察到有報警日志產生。
通過此實驗,學生可以全面地了解Snort這一個強大的輕量級網絡入侵檢測系統。并且由于實驗環境可以反復還原,學生可以最大便利地糾正錯誤的配置和操作。同時,由于攻擊流量通過vlan在每套實驗環境之間提供了隔離,不同學生的實驗可以互不影響。
3 結束語
基于云環境的計算機實驗教學平臺,通過虛擬化與SDN等技術,使用先進的軟件定義網絡與共享硬件資源思想,不僅解決了傳統實驗室在時間、空間與實驗內容的限制,能夠快速構建復雜度高,隔離性強的各種實驗環境。此外,打破了IP地址數量限制,學生地理位置限制,使得學生可以隨時隨地訪問實驗教學環境,不受學時場地限制,滿足了不同專業學生對計算機實驗教學環境的需求。此外,實驗平臺支持教師對實驗課程的補充,通過課程與實驗定制,將優秀實驗課程在線共享。學生和老師還可以通過在線互動模塊,互相交流,實現實時互動的教學,充分利用了教學資源,調動了學生對網絡與信息安全課程的學習興趣,取得了良好的實踐效果。
云實驗平臺不僅為學生提供了開放式全天候的實驗環境,同時也突破了大學實驗室的有形制約,為實現校際之間、社會與大學之間的師資互動創造了最大可能。讓封閉在傳統實驗室內的精品課程、重點實驗室、教學名師資源成為網絡實驗教學的典型共享資源。平臺具有廣闊的發展及應用前景。
參考文獻:
[1] 王峰, 黃剛. 基于云平臺的計算機實驗教學中心建設[J].實驗技術與管理,2014(12):121-123+143.
[2] 張朝昆, 崔勇, 唐翯祎, 吳建平. 軟件定義網絡(SDN)研究進展[J].軟件學報,2015, 26(1): 62-81.
[3] 薛海峰, 卿斯漢, 張煥國. XEN虛擬機分析[J]. 系統仿真學報, 2007, 19(23):5556-5559.
[4] 鄭楠, 陳立南, 鄭禮雄, 馬嚴. 基于CloudStack和OpenStack的KVM虛擬機跨平臺遷移方法[J].通信學報,2014,35(Z1):72-75.