陳 凱, 王漢兵, 劉輝宇, 徐友青
(1. 華中科技大學 計算機科學與技術學院, 湖北 武漢 430074;2. 武漢軍械士官學校, 湖北 武漢 430075)
計算機網絡理論教學支撐平臺設計與實現
陳 凱1, 王漢兵2, 劉輝宇1, 徐友青1
(1. 華中科技大學 計算機科學與技術學院, 湖北 武漢 430074;2. 武漢軍械士官學校, 湖北 武漢 430075)
當前的計算機網絡課程教學中,用以支撐理論知識教學的方式和平臺缺乏,使得學生難以深入理解。本文提出一種計算機網絡理論教學支撐平臺,并構建與理論知識緊密相關的實驗方案,以充分有效的支持計算機網絡課程理論知識教學,有利于提高學生的學習效果。
計算機網絡課程;教學支撐平臺;教學輔助
“計算機網絡”課程作為計算機學科的通識基礎類專業(yè)課程,其教學目的是:使學生既能牢固地掌握計算機網絡的基礎理論知識,又具有相應的知識運用能力,同時還具有新知識的快速學習與更新的能力。然而,這些教學目的因為計算機網絡知識的復雜性、網絡實體的多樣性等原因往往難以達到。其中,網絡知識的復雜性在于計算機網絡知識既包含了理論知識:陳述性知識、概念性知識、原理性知識和策略性知識(如網絡系統(tǒng)的構成、網絡協(xié)議原理)等,又包含了實踐知識:程序性知識、現象性知識、事實性知識和技能性知識(如網絡編程、網絡組建)等。因此,計算機網絡課程教學通常分為兩部分:理論知識教學和實踐知識教學。
在理論知識教學這部分,僅通過單純的文字和語言的講解,學生對網絡中的理論知識是難以產生清晰的認知和理解的。學生在感性認知不足、理解程度不夠的情況下而僅憑在記憶去學習的方式,難以培養(yǎng)消化吸收新知識的能力。同時,在培養(yǎng)學生創(chuàng)新創(chuàng)業(yè)實踐能力時,也會因理論知識理解不足而導致“知其然不知其所以然”,因此用以理論教學演示和知識驗證的理論教學支撐平臺建設就非常必要了。而現在主流的一些教學方法,如“MOOC”、“微課”、“三明治”和“PBL”教學法,都是建立在學生的自主學習基礎之上,在學生自主學習時,輔助理解和驗證反思的理論教學支撐平臺及環(huán)境能發(fā)揮重要作用。
因此“計算機網絡”課程教學中,不僅僅需要技能實踐訓練的實驗平臺,也需要支撐理論知識學習的平臺,這兩種平臺發(fā)揮的作用應貫穿整個“計算機網絡”課程的教學中,如圖1所示。
圖1 計算機網絡課程的教學結構
就“計算機網絡”課程的教學結構而言,通過調查發(fā)現,目前,國內高校大多是使用基于實際網絡元件的網絡實驗室和基于網絡實驗模擬器的虛擬網絡實驗平臺,而國外的一些高校則主要使用遠程網絡實驗平臺和虛擬網絡實驗平臺[4]。
基于實際網絡元件的網絡實驗室指的是具有普通計算機、路由器、交換機和防火墻等網絡元件構成的物理封閉空間。這種網絡實驗室能夠讓學生面向真實的網絡元件,有效培養(yǎng)學生的網絡應用技能,然而對網絡協(xié)議和策略的工作原理及過程等原理性知識無法涉及,同時網絡元件不易更新,不易管理,擴展性弱,并且對實驗的時間、空間和地點的約束太大。而基于網絡元件構建并通過網絡遠程操作的開放式遠程網絡實驗平臺和基于仿真設備的虛擬網絡實驗平臺降低了實驗環(huán)境的構建成本,提高了實驗的并發(fā)性,降低了時間空間的約束,同時能夠支持更多的實驗方案,但仍然存在以下幾個方面的不足:
(1)基于實際網絡元件或仿真設備的實驗平臺,主要專注于網絡工程實踐訓練,缺乏對原理性知識的支撐,不太適應理論教學需求。
(2)開放式遠程網絡實驗平臺往往使用有限數量的真實網絡元件,在多用戶同時使用時,還需要分時和排隊,并發(fā)能力差,且實驗內容依賴于平臺架構中的網絡元件,難以擴展。
(3)部分虛擬網絡實驗平臺(如基于Opnet、NS2的虛擬網絡實驗平臺),能夠支撐理論知識教學,但Opnet作為商業(yè)軟件費用不菲,且開源程度差,難以根據課程需要進行二次開發(fā),而NS2安裝和使用困難,跨操作系統(tǒng)性弱,學習障礙高[5,6]。
上述分析說明,有效支撐理論知識學習的平臺建設的缺乏,使得現有的教學方式難以滿足當前和未來計算機網絡課程理論教學的要求,因此,在“計算機網絡”課程教學中亟需一種低費用,具有高并發(fā)性、可重用性,學習障礙低,能夠充分支撐理論知識教學的平臺出現,以滿足當前和未來理論教學的需要。
計算機網絡是一個復雜的系統(tǒng),因此“計算機網絡”課程教學中重要的是對理論知識的學習和驗證,以培養(yǎng)學生對網絡原理的了解,學習網絡協(xié)議的構建,拓展對網絡技術的應用,這是“計算機網絡”課程理論基礎教學的首要任務。
因此一個支持和輔助“計算機網絡”理論知識學習的教學平臺需要具備以下幾個特點:
(1)能夠支持網絡協(xié)議和策略相關的實驗,能夠驗證“計算機網絡”課程中的大多數理論知識,并能夠適應未來知識、技術與教學的發(fā)展。
(2)具有教學方案發(fā)生功能,提供友好的人機交互界面,方便手工設計或根據用戶提供的參數自動生成合適的教學方案。具有充足的開放式模型庫,提供網絡拓撲架構、各種網絡協(xié)議模型等,方便用戶從模型庫中取用所需的模型,并能夠有效分享教學內容。
(3)能夠提供視覺實時反饋,包括網絡元件的相關信息可見、教學過程的動態(tài)展示和結果分析的圖形化顯示等。
(4)具有開放式的體系結構,方便用戶擴展,如替代過時的模塊或添加新的功能模塊,同時支持現有協(xié)議的修改和新協(xié)議的增加,有利于對網絡協(xié)議的深入學習和理解。
(5)支撐平臺能夠通過互聯(lián)網或者局域網遠程使用,使得教師可在任何能夠聯(lián)網的課堂上進行演示,無需搭建新的環(huán)境。
(6)具有系統(tǒng)和環(huán)境的無關性,即無需特定的操作系統(tǒng)和特定的硬件環(huán)境。
基于這些特點,我們著手設計和實現了一種遠程網絡理論教學支撐平臺,該平臺具有造價低、能夠遠程和分布使用、與理論教學緊密相關、可視化操作、易用性強、能夠共享教學資源、具有可擴展性和系統(tǒng)無關性等特征。
教學平臺采用典型的C/S三層架構,教師在教學課堂中使用客戶端設計并提交教學方案,由服務器上的中間層調用網絡模擬器命令執(zhí)行教學方案,再將結果返回到客戶端,如圖2所示。
圖2 遠程虛擬網絡教學平臺實現方式
服務器端僅需一臺安裝Unix操作系統(tǒng)的高性能計算機以運行網絡實驗模擬器NS2。NS2是一種主要由C++語言編寫,針對網絡技術的源代碼公開的、免費的模擬軟件,NS2所包含的模塊幾乎涉及到了網絡技術的所有方面,同時具有高擴展性,相對于其它模擬軟件更適用于教學方面,能夠滿足大部分計算機網絡理論知識的學習和驗證。但NS2是一個僅能夠在Unix系統(tǒng)環(huán)境下運行的“本地”網絡模擬器,無法通過網絡聯(lián)機使用,NS2能夠運行的實驗方案的設計需要基于一種稱為OTcl的腳本語言,實驗結果的輸出為特定格式的文本文件。因此對NS2的使用需要熟練掌握OTcl的腳本語言,而對實驗結果的分析則需要借助其它工具(如Matlab、MiniTable等)。同時NS2中的協(xié)議擴展包括多個協(xié)議相關文件的編寫、內核文件的修改和對NS2的重編譯。其安裝、調試、實驗設計、實驗結果分析以及模塊的擴展都比較復雜。
為讓用戶(學生和教師)“透明”地使用NS2,無需深入掌握模擬器細節(jié),使用戶更專注于實驗內容,提高實驗效率,降低使用代價,遠程虛擬網絡實驗平臺在客戶端上提供了直觀簡單的可視化的設計、分析、演示和模塊擴充等接口界面,而由服務器上的中間層來調用NS2的命令運行實驗方案和添加協(xié)議。同時基于Java語言編寫的客戶端即能夠運行于Unix操作系統(tǒng)也可運行于Windows操作系統(tǒng)。遠程虛擬網絡實驗平臺系統(tǒng)架構如圖3所示。
遠程虛擬網絡實驗平臺的工作流程如圖4所示。
圖3 遠程虛擬網絡實驗平臺系統(tǒng)架構
圖4 遠程虛擬網絡實驗平臺的工作流程
對于實驗方案的生成,遠程虛擬網絡實驗平臺提供了兩種方式,既可加載現有的實驗方案,也可設計新的實驗方案。設計或修改實驗方案可通過拖曳客戶端上提供的網絡元件(路由器、交換機、PC機、無線AP和鏈路等)圖標來構建網絡拓撲,并設置相應的參數,實驗方案可保存為XML文件以便修改或共享,如圖5(a)所示。實驗方案生成為OTcl腳本文件并上傳到服務器。腳本文件執(zhí)行完畢后,客戶端再將結果文件(tr文件)和動畫文件(nam文件)下載到本地以進行分析和演示,如圖5(b)和圖5(c)所示。客戶端包含了網絡吞吐量分析、終端節(jié)點的擁塞窗口分析、中間節(jié)點的隊列變化分析等分析模塊,并可使用nam文件播放器(windows版本和Linux版本)播放動畫文件,動畫文件可以演示實驗方案中數據包的動作、節(jié)點的運動、節(jié)點的緩存隊列的變化等,如圖5(d)所示。
遠程網絡虛擬實驗平臺同時還具有協(xié)議擴展功能,可用于協(xié)議原理的學習、性能的研究和新協(xié)議的開發(fā)等,有利于對網絡協(xié)議內容的分析和講解。NS2的開源特性使協(xié)議的擴展具有可行性,但協(xié)議的擴展涉及到協(xié)議類的編輯、NS2內核文件的修改和NS2的重編譯等多個步驟。為簡化協(xié)議擴展的操作,遠程網絡虛擬實驗平臺提供了具有模板功能的協(xié)議編輯器,用戶既可加載NS2中已有的協(xié)議文
(a)實驗方案生成 (b)實驗結果分析設置
(c)實驗結果分析圖示
(d) 實驗動畫演示圖5 實驗方案生成和實驗結果分析
件來進行修改,也可通過提供的框架和模板來編寫新的協(xié)議。協(xié)議文件上傳到服務器后,由中間層來完成NS2內核的修改和重編譯。協(xié)議編輯器如圖6所示。
圖6 協(xié)議編輯器
遠程網絡虛擬教學實驗平臺能夠支撐的計算機網絡理論知識教學內容的實驗方案,主要包括三大類:驗證性實驗、設計性實驗和綜合性實驗。
驗證性實驗主要是與協(xié)議及網絡性能分析相關的實驗,包括以下三個方面的內容:
(1)基本協(xié)議驗證與分析。如滑動窗口協(xié)議、停等協(xié)議和路由協(xié)議等。
(2)基本策略和機制的驗證與分析。如端到端的擁塞控制策略、中間節(jié)點排隊策略、TCP可靠性傳輸機制等。
(3)網絡性能分析。如網絡吞吐量分析、網絡丟包率分析、網絡中的時延分析等。
設計性實驗主要是與協(xié)議內容及網絡元件屬性配置相關的實驗,包括以下三個方面的內容:
(1)協(xié)議與策略的修改。如對TCP協(xié)議中的擁塞控制方法的修改、對TCP握手策略中的握手次數的修改等。
(2)協(xié)議的增加。主要是增加NS2中未實現的標準協(xié)議,如Ad hoc網絡中的單播路由協(xié)議ABR,也可增加用戶自定義的協(xié)議,如新的MAC協(xié)議、新的路由協(xié)議等。
(3)網絡參數的分析。通過對網絡元件的各種屬性參數的修改,設計相應的網絡拓撲,構建相應的網絡環(huán)境來測試與分析網絡參數對網絡性能的影響。
綜合性實驗主要是與網絡安全相關的實驗,包括以下兩個方面的內容:
(1)網絡攻擊模擬。在遠程虛擬網絡平臺上可通過設定數據的發(fā)送模式以及增加網絡協(xié)議等方式來模擬如分布式拒絕服務攻擊、慢速拒絕服務攻擊、遠程登錄攻擊、蟲洞攻擊等有線網絡和無線網絡中存在的多種攻擊方式。
(2)攻擊檢測防范方法的模擬與驗證。可通過分析模擬網絡攻擊時的數據流量、網絡數據包動作等方式來研究攻擊檢測和防范方法,或通過修改及增加網絡功能模塊和網絡協(xié)議等方式來測試用戶所研究的攻擊檢測防范方法的可行性。
目前基于該教學實驗平臺的部分教學演示實驗方案如表1所示。
計算機網絡理論知識的學習是計算機專業(yè)學習中的重要部分,然而計算機網絡理論知識抽象、且包含內容繁多,僅通過文字和語言的描述難以讓學生對理論知識透徹理解,無法達到理想的教學效果,因此需要在理論知識教學的過程中使用相關的實驗來輔助和支撐。然而目前計算機網絡課程的實驗平臺主要提供實踐類實驗,而難以支撐理論知識教學。
支撐理論知識學習的教學實驗平臺的缺乏,使得現有的教學方式難以滿足當前和未來計算機網絡課程教學的要求,因此本文提出一種遠程網絡虛擬教學實驗平臺,該平臺支持的實驗方案能夠與計算機網絡課程理論知識緊密相關,從而有效的支撐計算機網絡課程理論教學,同時具有低成本、能夠遠程特性分布操作、具有易用的可視化界面、能夠運行于多種操作系統(tǒng)等特性。但由于使用的是NS2內核文件,與實際的協(xié)議存在一定的差異,同時缺少網絡工程方面的實驗模塊,因此下一步工作則考慮使用更符合實際網絡協(xié)議內容的模擬軟件和加入能夠支持網絡工程的仿真系統(tǒng)。
[1] ACM Two-Year College Education Committee. Guidelines for Associate-Degree Programs To Support Computing In A Networked Environment [J]. Rockford, Illinois, 2000.
[2] Impagliazzo J. Computing curricula 2005[J]. ACM SIGCSE Bulletin, 2006, 38(3): 311-311.
[3] Kurose J, Liebeherr J, Ostermann S, et al. ACM SIGCOMM Workshop on Computer Networking: Curriculum Designs and Educational Challenges[J]. ACM SIGCOMM Computer Communications Review, 2002, 32(5).
[4] Wiseman C, Turner J, Becchi M, et al. A remotely accessible network processor-based router for network experimentation [A]. Proceedings of the 4th ACM/IEEE Symposium on Architectures for Networking and Communications Systems. ACM, 2008: 20-29.
[5] 林瑜華, 莫家慶. 基于 OPNET 的網絡仿真實驗教學研究[J]. 成都:實驗科學與技術, 2011, 9(4): 39-42.
[6] 王慶鳳, 陳虹, 王萍. 基于 NS2 的網絡控制系統(tǒng)仿真平臺的設計與實現[J]. 北京:系統(tǒng)仿真學報, 2011, 23(2): 270-274.
Design and Implementation of Teaching Support Platform for Computer Network Course
CHEN Kai1, WANG Han-bing2, LIU Hui-yu1, XU You-qing1
(1.SchoolofComputerScience&Technology,HuazhongUniversityofScience&Technology,Wuhan430074,China; 2.WuhanMechanicalTechnologyCollege,Wuhan430075,China)
Currently in computer network course, mainly due to the limited of existing education method and platform which can support the theory teaching, students get in-depth understanding of the speculative knowledge of the network difficultly. Therefore, this paper presents an education method support platform, which can build the experimental related to the theory of computer networks closely to support the computer network course fully and effectively, and help to improve teaching quality.
computer network course; teaching support platform; teaching aids
2016-02-04;
2017-03- 05
陳 凱(1977-),博士,講師,主要從事計算機網絡應用、計算機網絡安全的教學和科研,E-mail:kchen@hust.edu.cn
G642.0
A
1008-0686(2017)03-0105-05