中國地質大學(武漢)信息工程學院 陳占龍 黃 鷹
隨著互聯網在社會生活各個領域的廣泛應用,現有的基礎網絡已難以滿足大規模網絡服務和應用在可擴展性、安全性、服務質量和移動性等方面的需求。當前,在三網融合、物聯網、云計算以及 IPv6 過渡等新型技術逐漸改變互聯網的同時,互聯網基礎體系結構也正醞釀著巨大變革,世界各國不約而同的開展了對下一代互聯網體系結構和網絡技術的研究。同時,信息網絡技術的人才需求也在日益加大,為了能夠滿足社會的要求,我校在“信息網絡”方面也開設了相應的課程。“信息網絡”方面的課程作為工程性、實踐性很強的課程,單純的、傳統的課堂教學模式遠遠不能達到教學目的。要使實驗人員掌握和理解網絡基本原理、網絡協議、網絡拓撲結構等理論知識,真正學會網絡的規劃、設計、開發、應用、管理和維護,就需要有專門的信息網絡系統實驗室,并且為實驗人員提供更完善、更高端的網絡應用環境,提供具備一定的規模可擴展性和技術可擴展性的網絡開發平臺,繼而提高實驗人員的積極性,培養實驗人員綜合應用網絡技術能力和網絡程序的開發能力。
現階段我校使用硬件實驗室進行信息網絡方面的實驗。硬件實驗室必須滿足至少四個特點,一是占用面積足夠大;二是網絡設備齊全,包括多臺交換機、多臺服務器、多臺路由器等;三是實驗室環境開放;四是配置投影儀,方便教師教學指導。例如我校的通信工程專業的通信網絡綜合試驗平臺,就是基于市場上現有硬件設備而搭建的,它可以使實驗人員對硬件進行物理連接,完成組網實驗,使實驗人員對網絡實物有真實的感受,并有利于培養實驗人員的實際動手操作能力、熟悉網絡命令。然而不得不說硬件實驗室的搭建是一項高投入的項目,對網絡設備要求數量多且完備,網絡設備自身價值不菲。隨著IT 產品的快速更新換代,一方面,購入的網絡設備短時間即會落伍;另一方面,硬件實驗設備難以實現網絡協議的具體工作原理的演示和分析。
我系的課程“信息網絡開發綜合實習”的要求是在計算機網絡基礎之上的綜合網絡技術開發應用,可以滿足學生對了解和掌握最新網絡技術以及新的網絡綜合應用的需求,并且學生可以進行網絡創新實驗以及網絡編程開發實習。這些新的要求目前市場上尚沒有同類產品能夠滿足,而使用硬件實驗室又存在上述的問題。為了能夠滿足這個實習的要求,本項目專門研發了教學輔助軟件“信息網絡綜合實習平臺”。(下面簡稱“本平臺”)。本平臺不僅能夠彌補目前學校網絡實驗體系的不足,同時還能夠創新性地為學生提供了自主開發的平臺,對于提高學生的創新能力、實踐動手能力和工程能力有很大的幫助,對培養學生的綜合素質有著至關重要的作用,并對實際應用有更好的開拓意義。
我們把“信息網絡開發綜合實習”的內容分為三個層次:
1.設計型項目。單人一組,針對每個學生基本要求。在實習過程中,將會以科學技術含量高、簡便操作、經典的實驗例題為主,培養學生的動手能力,讓學生能夠開發基本的網絡協議,明白其實用性和利用價值等;
2.綜合型項目。以多人為小組進行開發,滿足學習能力較強的學生的發展空間,目的是提升學生運用所學到的知識能夠進行復雜編程,解決實際問題的能力,加強團隊合作的精神。首先,培養對有線網絡性能解析能力,掌握其經常出現的問題以及產生的結果,使同學們掌握對問題進行測試和解決的能力,以達到網絡優化的目的。其次,對于無線網絡的協議、性能參數、最大連接數據等都要經過實驗測試后進行牢記并達到熟練使用的程度。
3.應用性項目。利用我們信息工程專業學生在軟件開發上的強項,使學生掌握應用層程序的開發技術,要求學生按照自己的設計創意開發設計具有網絡功能的應用程序。
整個網絡仿真開發平臺由一個仿真主界面和四大板塊組成:
1.傳輸層。針對系統間高層資源共享上不可靠數據傳輸問題,本平臺可以實現網絡拓撲結構的搭建,構建FTP 等大數據量傳輸的業務環境,并提供端到端的序號顯示、流量控制、差錯糾正和數據恢復等功能。可以使實習學生在虛擬網絡中比較傳輸層中TCP 和UDP 協議傳輸機制的差別,進而了解數據在傳輸過程中的丟包以及擁塞行為,提高網絡搭建在傳輸平臺上的數據傳輸效率。
2.鏈路層。針對網絡鏈路層的數據丟失、被干擾、順序倒置等鏈路層數據傳輸問題,本平臺給實驗人員提供了網絡鏈路層解決方案的數據參考,包括媒質接入控制參數、該層的流量監控數據、同步性時間差以及數據傳輸糾錯率等。并提供TCL仿真代碼以及網絡性能評價等指標,幫助實驗人員熟悉及認識以太網絡(CSMA/CD)的工作過程,讓實驗人員全面認知以太網工作原理,提高其編程能力和科研能力。
3.網絡層。在網絡層實習平臺中,主要以IPv4 為基礎,提供路由選擇算法、阻塞控制方法。模擬IP 層轉發分組的流程并實現單播路由方式中的距離矢量路由算法的網絡仿真實驗。另外,在該基礎上進行拓展,實現組播通信協議以及IPv6 協議。
組網實驗有以下內容:
(1)主機直連:使用兩個主機直接連接在一起。通過配置兩個主機的IP 地址等參數,現實它們之間互發數據包。
(2)多交換機連接:使用多個交換機將大量的主機連接組成局域網。同時,可以通過配置交換機來劃分虛擬局域網(VLAN)。
(3)路由器直連:使用一個路由器兩個不同網段的局域網連接在一起,通過配置路由器、主機來實現跨網段發送數據包。
(4)靜態路由:使用路由器將多個網段連接在一起。其中,路由表通過靜態路由配置的方式得到。配置路由器的靜態路由實現跨網段發送數據包。
(5)RIP 動態路由:使用路由器將多個網段連接在一起。其中,路由表通過RIP 動態路由配置的方式得到。配置路由器的RIP 動態路由實現跨網段發送數據包。
(6)混合路由:使用路由器將多個網段連接在一起。其中,一部分路由器使用靜態路由的方式配置,另一部分路由器使用RIP 動態路由的方式配置。通過這種方式現實路由的混合配置,并能夠跨網段發送數據包。
4.無線網絡。此外,對于固定接入點的無線網絡和無固定接入點的無線網絡,網絡仿真平臺給出了從OSI 模型的角度分層次技術的特征數據以及構成網絡的各種技術標準(如無線網絡傳輸中隱藏與暴露結點數、無線網絡路由協議相關數據特征值、組網生存時間值、網絡控制點、安全性數據指標等),便于實驗人員在學習過程中掌握實際搭建穩定安全的無線網絡環境要素。
同時可通過平臺的擴展功能,讓實驗人員在驗證性實驗的基礎上自主開發基本的網絡協議,或自主設計網絡構架等,并通過實驗分析驗證自主設計的協議或網絡架構的性能或可行性等。提供VPN 虛擬專用網絡以及RTP/RTCP 多媒體傳輸應用層協議的開發實現方案。
主要特色性能表現為:用戶界面友好,開放式源碼,組建模塊豐富,功能可添加,拓撲結構可靈活配置和新型網絡可擴展,執行效率高。
“平臺”是基于OMNet++網絡仿真軟件開發的信息網絡開發平臺,使用OMNet++作為底層仿真器,并加入大量的C++語言編寫的網絡節點模塊。老師和學生可以針對自己的需要,對已經提供的節點模塊進行連接、配置以及仿真實驗;同時,他們還可以繼承系統提供的節點模塊,按照自己的意愿擴展出新的模塊。
OMNet++作為整個系統的底層核心,對整個系統有著至關重要的作用。 OMNet++提供了底層驅動器以及部分網絡模塊,使用者可以使用這些網絡模塊編寫和組成仿真網絡,也可以使用OMNet++的接口自己編寫模塊。待仿真網絡配置完成后,將仿真網絡交付底層驅動器進行仿真實驗,從而得到仿真過程和仿真結果。其中,模塊使用C++語言編寫,仿真網絡使用NED語言編寫。
作為開放式的系統,本平臺可以接受老師和學生的再次功能的擴展,他們可以利用NED 語言和C++語言,設計新的模塊或者網絡節點。同時也可以為本系統平臺添加新的功能,添加新的網絡節點模塊,比如防火墻、負載均衡、DNS 服務器以及邊界路由器等。
本平臺在OMNet++的基礎上完成了常規軟件所具備的非功能性特性,這些特性表明了本平臺的優秀能力。
(1)安全性:本平臺擁有較好的安全性。由于本平臺是離線運行在單機上的軟件,實驗的代碼和數據不會通過互聯網泄露。
(2)可靠性:本平臺擁有較好的可靠性,能夠長時間穩定的運行,罕見運行異常和不可恢復的錯誤。
(3)易使用性:本平臺擁有較好的易使用性。由于本平臺基于OMNet++開源項目研發,所以繼承了類似eclipse 的編輯使用界面。這種界面對于經常使用eclipse 的本系的學生來說,是十分熟悉的。
(4)可擴展性:本平臺擁有較好的可擴展性。老師和學生可以輕易擴展本平臺的模塊和功能。
(5)可維護性:本平臺擁有較好的可維護性。由于框架設計合理,使得本平臺后期維護十分便利。
本平臺的測試分為兩個階段,第一個階段為自查階段,第二個階段為實測階段。在第一個階段,所有的平臺功能和特性都由自己來測試和查找。這個階段主要修復影響正常使用的異常和錯誤。通過標準軟件測試方法,保證了平臺的穩定性和功效。在第二個階段,本平臺被部署在我系課程“信息網絡開發綜合實習”中進行實際綜合測試以及評估。這階段的測試與真實的使用差別不大,其結果具有相當高的預測性。
本項目研發的本平臺不僅可以鞏固學生的信息網絡理論知識,而且可以提高學生的動手能力和創造性。在以前的我系課程“信息網絡開發綜合實習”中,使用的是老師講解信息網絡基礎理論知識和硬件動手實驗的方式。這種方式時間效率低、成本高、操作復雜以及學生理解困難等問題。同時,硬件實驗室的建設和維護需要投入大量資金和人力,在實驗室中被學生誤操作而損壞的可能性也很高。本平臺將硬件環境轉移至軟件模擬環境,通過可視化的方式向學生展示信息網絡中數據傳輸的過程,使得學生可以更加直觀的理解信息網絡的實際過程,并與書本上學習的知識相對照,提高學習的效果。實驗室建設和維護也很簡單,只需要使用常規機房便能完成實驗。
本平臺是開放式開發平臺,老師和學生都可以繼續向其中添加新的模塊和功能。這樣使得本平臺的擴展性良好,能夠在幾乎不添加任何成本的基礎上擴展實驗的內容,而硬件實驗室則需要添加或更換新的硬件設備來完成擴展實驗的可能。
本項目研發的本平臺能夠取代原來使用硬件完成的實驗,具有良好的使用效益。學生使用本平臺的“使用手冊”可以很容易的使用本平臺的全部功能,學習成本較低。學生通過本平臺的實驗,不僅能夠鞏固基礎理論知識,還可以加強對信息網絡方面的深入理解,提高學生的動手能力,提升學生的學習效率。通過階段性測試,發現本平臺較硬件實驗更加的高效,實驗周期更短,學生學習效益更好。
在實驗室建設和維護方面,使用本平臺可以節省經費和人力資源。由于本平臺是計算機軟件,所以本平臺只需要部署在常規的實驗機房即可。所有的維護工作按照機房維護標準來執行,沒有單獨的維護工作需要完成。