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