摘要:本文針對當(dāng)前大學(xué)計(jì)算機(jī)網(wǎng)絡(luò)課程教學(xué)中實(shí)驗(yàn)設(shè)備更新跟不上技術(shù)發(fā)展和理論講解抽象的問題,提出了利用Sniffer、OPNET、Netsim軟件構(gòu)建虛擬實(shí)驗(yàn)室輔助教學(xué)和實(shí)驗(yàn)的方案,并介紹了三個(gè)教學(xué)實(shí)例。實(shí)踐證明,虛擬實(shí)驗(yàn)室具有克服時(shí)空限制、緊跟技術(shù)前沿等優(yōu)點(diǎn),教學(xué)效果明顯改善。
關(guān)鍵詞:虛擬實(shí)驗(yàn)室;Sniffer;OPNET;Netsim;計(jì)算機(jī)網(wǎng)絡(luò)
中圖分類號:G642文獻(xiàn)標(biāo)識碼:A
文章編號:1672-5913(2007)08-0072-05
Design of the Virtual Laboratory of Computer Network in Teaching
LIU Waixi GAO Ying HU Xiao
(College of Information and electromechanical Engineering,
Guangzhou university,Guangdong Guangzhou 510006)
Abstract: To solve this problem of computer network in teaching, such as slow updating of experiment instrument, abstract teaching, the solution based on virtual lab consisting of Sniffer, OPNET, Netsim is proposed. Three examples are introduced. The propose has been proved to be effective in teaching, and show some virtues such as overcoming the impediment of time and space, fast technology updating.
Keywords: Virtual Laboratory;Sniffer;OPNET;Netsim;computer network
1 引言
目前在大學(xué)中,計(jì)算機(jī)網(wǎng)絡(luò)課程已經(jīng)成為大部分理工科專業(yè)的必修課以及其他專業(yè)的選修課。同時(shí),這門課程也是大學(xué)中最受歡迎的課程之一。
計(jì)算機(jī)網(wǎng)絡(luò)既是一門理論抽象又是一門實(shí)踐性強(qiáng)的課程,理論抽象主要體現(xiàn)在課程中概念繁多,并且都是建立在抽象的理論模型基礎(chǔ)上。實(shí)踐性強(qiáng)主要體現(xiàn)在課程學(xué)習(xí)的對象是不斷更新的實(shí)際設(shè)備。
為了提高教學(xué)效果,教師們采用了很多方法,加強(qiáng)實(shí)驗(yàn)環(huán)節(jié)就是方法之一。這一方法有助于學(xué)生理解、驗(yàn)證和鞏固所學(xué)的理論知識,把抽象的內(nèi)容形象化,作用巨大。計(jì)算機(jī)網(wǎng)絡(luò)是一種高速發(fā)展的技術(shù),要取得好的實(shí)驗(yàn)效果,就需要為學(xué)生提供充分的新技術(shù)實(shí)驗(yàn)機(jī)會,當(dāng)前網(wǎng)絡(luò)實(shí)驗(yàn)室普遍是利用路由器、交換機(jī)、PC機(jī)組成實(shí)際的網(wǎng)絡(luò)實(shí)驗(yàn)室。這種方法由于經(jīng)費(fèi)的限制,只能提供有限數(shù)量和型號的設(shè)備,種類較少,設(shè)備更新慢,學(xué)生實(shí)驗(yàn)機(jī)會少,并無法掌握最新技術(shù),實(shí)驗(yàn)效果無法保證。
Sniffer、OPNET、Netsim分別是網(wǎng)絡(luò)數(shù)據(jù)包分析、網(wǎng)絡(luò)仿真、網(wǎng)絡(luò)設(shè)備模擬軟件,日益成為世界上越來越多的科研和工程技術(shù)人員進(jìn)行科學(xué)研究的必備工具。在擔(dān)當(dāng)我?!坝?jì)算機(jī)網(wǎng)絡(luò)”課程的教學(xué)中,經(jīng)過探索與實(shí)踐,使用Sniffer、OPNET、Netsim軟件構(gòu)建虛擬網(wǎng)絡(luò)實(shí)驗(yàn)室,可充分拓展實(shí)際網(wǎng)絡(luò)實(shí)驗(yàn)室的內(nèi)涵和外延,虛擬實(shí)驗(yàn)室與實(shí)際實(shí)驗(yàn)室相比主要有以下優(yōu)勢:
(1)充分發(fā)揮軟件強(qiáng)大的分析、模擬、仿真功能,使學(xué)生深刻理解抽象的理論知識。
(2)克服時(shí)間和空間的限制,學(xué)生在任何有計(jì)算機(jī)的地方隨時(shí)都可以做實(shí)驗(yàn),并且可以構(gòu)建任何規(guī)模和類型的網(wǎng)絡(luò)來滿足實(shí)驗(yàn)的需要。
(3)設(shè)備選擇多,軟件中幾乎包括所有型號的設(shè)備。
(4)節(jié)省投資,升級方便,使學(xué)生能夠跟上網(wǎng)絡(luò)設(shè)備更新?lián)Q代的速度,掌握最新的技術(shù)。
(5)讓學(xué)生真正體會工具軟件的熟練掌握在科研和實(shí)際工作中的重要作用。
經(jīng)過實(shí)踐探索發(fā)現(xiàn),在教學(xué)過程的各階段分別使用不同的軟件平臺輔助教學(xué)和實(shí)驗(yàn)會取得較好的效果[1,2]。
2 虛擬實(shí)驗(yàn)室的構(gòu)建
實(shí)驗(yàn)平臺要求:一個(gè)內(nèi)部聯(lián)網(wǎng)的計(jì)算機(jī)機(jī)房,PC機(jī)使用Windows XP操作系統(tǒng),在PC中安裝Sniffer、OPNET、Netsim軟件,其中OPNET只需安裝modeler模塊,并安裝為客戶端/服務(wù)器(C/S)模式。在教學(xué)的不同階段使用不同的軟件平臺進(jìn)行輔助教學(xué)和實(shí)驗(yàn),下面分別以一個(gè)實(shí)例介紹三個(gè)平臺。
3 課程教學(xué)實(shí)驗(yàn)設(shè)計(jì)
3.1協(xié)議分析平臺
Sniffer是一個(gè)獲取網(wǎng)絡(luò)包、分析包、產(chǎn)生包的軟件,Sniffer可以在全部7層協(xié)議上進(jìn)行解碼。Sniffer采用類似剝洋蔥的方式從最低層開始,一直到第7層,每一層使用不同的顏色加以區(qū)別[3]。
在計(jì)算機(jī)網(wǎng)絡(luò)課程中,分層和協(xié)議簇是兩個(gè)非常重要的概念,同時(shí)也非常抽象,傳統(tǒng)的方法是利用實(shí)際的事例進(jìn)行類比再配合使用多媒體的動畫演示幫助學(xué)生理解,如分析郵寄包裹的過程,但實(shí)際效果不是特別好。我們在教學(xué)過程中充分利用Sniffer對數(shù)據(jù)包的分析解碼功能,來幫助學(xué)生理解。如圖1所示,通過設(shè)置抓取一個(gè)訪問www.sina.com網(wǎng)站的HTTP數(shù)據(jù)報(bào)文,從中可以清楚地看到一個(gè)應(yīng)用報(bào)文是如何從應(yīng)用層到傳輸層再到網(wǎng)絡(luò)層接著到鏈路層逐層進(jìn)行封裝,并且可以看到各層中相應(yīng)協(xié)議規(guī)定結(jié)構(gòu)的具體內(nèi)容,通過這樣的演示和實(shí)驗(yàn),使學(xué)生可以建立清晰的分層結(jié)構(gòu)模型以及理解各層是如何協(xié)同工作的。同時(shí)利用Sniffer軟件構(gòu)建用戶自定義結(jié)構(gòu)和內(nèi)容的數(shù)據(jù)報(bào)文將加深理解這兩個(gè)概念。
3.2 網(wǎng)絡(luò)仿真平臺
近年來發(fā)展的網(wǎng)絡(luò)仿真是一種利用數(shù)學(xué)建模和統(tǒng)計(jì)分析的方法模擬網(wǎng)絡(luò)行為,從而獲取支持特定的網(wǎng)絡(luò)特性參數(shù)的技術(shù),能夠迅速地建立起網(wǎng)絡(luò)的模型,為網(wǎng)絡(luò)的規(guī)劃設(shè)計(jì)提供可靠的定量依據(jù),非常適合于預(yù)測網(wǎng)絡(luò)的性能,同時(shí)可以方便地修改模型并進(jìn)行仿真,比較各種網(wǎng)絡(luò)設(shè)計(jì)方案的優(yōu)劣。
在計(jì)算機(jī)網(wǎng)絡(luò)課程中需要講解和比較分析大量的設(shè)備和協(xié)議,在實(shí)際的教學(xué)中不可能為學(xué)生提供所有種類的設(shè)備,在比較講解同一類型協(xié)議性能的優(yōu)劣時(shí),通過多媒體很難使學(xué)生完全理解它們的本質(zhì)區(qū)別。我們在教學(xué)和實(shí)驗(yàn)中結(jié)合使用OPNET網(wǎng)絡(luò)仿真軟件,使學(xué)生不僅可以做各種類型設(shè)備在各種網(wǎng)絡(luò)環(huán)境下的實(shí)驗(yàn),同時(shí)可親自比較相關(guān)協(xié)議、設(shè)備、網(wǎng)絡(luò)設(shè)計(jì)方案的性能區(qū)別,取得較好的效果。
OPNET是一種優(yōu)秀的通信協(xié)議建模和仿真工具,具有先進(jìn)的建模機(jī)制、完備的模型庫、完善的外部接口等優(yōu)點(diǎn)。OPNET將通信網(wǎng)絡(luò)仿真的各個(gè)階段集成在一起,包括模型的設(shè)計(jì)、仿真、數(shù)據(jù)的收集和分析等階段,采用基于離散事件驅(qū)動的仿真機(jī)制,仿真中各個(gè)模塊之間通過事件中斷方式傳遞事件信息;基于包的通信機(jī)制,通過仿真包在仿真模型中的傳遞來模擬實(shí)際物理網(wǎng)絡(luò)中數(shù)據(jù)包的流動和節(jié)點(diǎn)設(shè)備內(nèi)部的處理過程;采用三層建模機(jī)制,最低層為進(jìn)程層模型,以有限狀態(tài)機(jī)來描述協(xié)議,其上是節(jié)點(diǎn)模型,由相應(yīng)的協(xié)議模型構(gòu)成,反應(yīng)設(shè)備特性,最上面為網(wǎng)絡(luò)拓?fù)淠P?,三層模型和?shí)際的網(wǎng)絡(luò)、設(shè)備、協(xié)議層次完全對應(yīng),具有很好的繼承性和可重用性[4]。
在本課程的教學(xué)過程中,在講到介質(zhì)訪問控制子層時(shí)需要介紹幾種多路訪問協(xié)議的性能區(qū)別,傳統(tǒng)的教學(xué)方法只能通過多媒體做一點(diǎn)結(jié)論性的介紹。我們利用OPNET軟件的仿真功能實(shí)現(xiàn)各協(xié)議多參數(shù)、多層面的比較。下面以ALOHA與CSMA/CD協(xié)議的比較為例進(jìn)行介紹。
(1)建立模型
OPNET采用的是三層建模機(jī)制,分別是進(jìn)程、節(jié)點(diǎn)、網(wǎng)絡(luò)模型。在進(jìn)程模型中是通過有限狀態(tài)機(jī)來描述協(xié)議,其中ALOHA通用收信機(jī)的數(shù)據(jù)處理機(jī)進(jìn)程模型如圖2所示。
同時(shí)需要編寫收信機(jī)進(jìn)程模塊的函數(shù)塊,如下所示:
void proc_pkt ()
{Packet* in_pkt;
in_pkt = op_pk_get (IN_STRM);
op_pk_destroy (in_pkt);
++rcvd_pkts;}
void record_stats ()
{op_stat_scalar_write (\"Channel Traffic G\",
(double) subm_pkts/op_sim_time ());
op_stat_scalar_write (\"ChannelThroughput S\",
(double) rcvd_pkts/op_sim_time ()); }
建立好進(jìn)程模型后再建立節(jié)點(diǎn)模型。如圖3所示。建立好節(jié)點(diǎn)模型后再建立網(wǎng)絡(luò)模型,如圖4所示。
以上介紹了ALOHA協(xié)議的三種模型,CSMA/CD協(xié)議是在ALOHA隨機(jī)信道訪問的基礎(chǔ)上增加了載波監(jiān)聽的功能,在CSMA/CD協(xié)議中,源節(jié)點(diǎn)在發(fā)送數(shù)據(jù)包之前先監(jiān)聽信道,只有當(dāng)信道空閑時(shí)才發(fā)送,否則采取一定的策略延遲發(fā)送數(shù)據(jù)包。所以需要對ALOHA協(xié)議模型稍做修改。CSMA/CD的發(fā)送進(jìn)程模型如圖5所示。
(2)建立仿真
我們的教學(xué)目的是為了比較兩種協(xié)議的性能,我們選取信道吞吐量這一網(wǎng)絡(luò)中典型反映性能的參數(shù)作為比較的對象。
(3)分析仿真結(jié)果
最后我們得到如圖6所示的信道吞吐量隨信道流量變化的情況,從圖中可以清楚地看到,在任意信道流量下,CSMA/CD協(xié)議都表現(xiàn)出比ALOHA協(xié)議更加優(yōu)越的性能,這一結(jié)論也是與理論分析結(jié)果完全吻合,仿真結(jié)果也可以通過動畫來演示。通過這樣的演示和實(shí)驗(yàn),使學(xué)生可更加清晰地理解各協(xié)議的性能差別[5,6]。
3.3網(wǎng)絡(luò)設(shè)備模擬平臺
本課程的教學(xué)目標(biāo)不僅要掌握原理,更加需要掌握實(shí)際設(shè)備的配置使用方法,能夠管理使用網(wǎng)絡(luò)設(shè)備。在當(dāng)前的教學(xué)中,不僅實(shí)際設(shè)備數(shù)量和型號有限,而且有些需要大型網(wǎng)絡(luò)環(huán)境支持的實(shí)驗(yàn)無法完成,如多區(qū)域的OSPF、BGP協(xié)議實(shí)驗(yàn)等。在實(shí)驗(yàn)中充分利用Netsim軟件的網(wǎng)絡(luò)模擬功能,不僅增加學(xué)生的實(shí)驗(yàn)機(jī)會,而且可以提供所有教學(xué)內(nèi)容相對應(yīng)的實(shí)驗(yàn)。
Netsim是Boson公司推出的一款Cisco路由器、交換機(jī)模擬軟件,軟件中內(nèi)置了一些定制的實(shí)驗(yàn)包,同時(shí)也支持自定義網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)及連接。通過Netsim,我們可以隨意構(gòu)建網(wǎng)絡(luò),為路由器、交換機(jī)等設(shè)備的教學(xué)提供了很大的靈活性。下面以配置多區(qū)域OSPF的實(shí)驗(yàn)為例進(jìn)行介紹[7]。
(1)構(gòu)建網(wǎng)絡(luò)拓?fù)?/p>
如圖7所示,通過Netsim自帶的另一個(gè)組件Network Designer按照要求繪制網(wǎng)絡(luò)拓?fù)鋱D,也可以通過Netsim的Lab Navigator導(dǎo)入定制的拓?fù)鋱D。
(2)配置數(shù)據(jù)
Netsim軟件最大的優(yōu)點(diǎn)是可以非常逼真地模擬實(shí)際路由器、交換機(jī)的配置環(huán)境。圖8是區(qū)域1和區(qū)域0交界的路由器1(P1R1)的部分配置數(shù)據(jù)。
(3)顯示結(jié)果
經(jīng)過一系列的數(shù)據(jù)配置后,如圖9所示,在R2路由器上通過show ip route命令可以看到匯聚后的OSPF路由表。
這種基于復(fù)雜網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)并需要大量路由器、交換機(jī)的實(shí)驗(yàn)在實(shí)際的網(wǎng)絡(luò)實(shí)驗(yàn)室是無法完成的,利用Netsim的網(wǎng)絡(luò)模擬功能,我們?yōu)閷W(xué)生開設(shè)了所有與教學(xué)內(nèi)容相對應(yīng)的實(shí)驗(yàn)。
4 結(jié)束語
使用Sniffer、OPNET、Netsim軟件構(gòu)建虛擬網(wǎng)絡(luò)實(shí)驗(yàn)室,可充分拓展實(shí)際網(wǎng)絡(luò)實(shí)驗(yàn)室的內(nèi)涵和外延。在計(jì)算機(jī)網(wǎng)絡(luò)課程教學(xué)的不同階段分別使用Sniffer、OPNET、Netsim軟件輔助教學(xué)和實(shí)驗(yàn),不僅可以加深對理論知識的理解和對設(shè)備的熟練使用,而且也使學(xué)生掌握了當(dāng)前的主流網(wǎng)絡(luò)應(yīng)用工具,為其今后的科研和實(shí)際工作打下良好的基礎(chǔ)。本文只是分別介紹了三個(gè)平臺中的三個(gè)典型應(yīng)用,實(shí)踐證明,在教學(xué)中通過虛擬實(shí)驗(yàn)平臺針對不同的專業(yè)設(shè)置不同的教學(xué)和實(shí)驗(yàn)內(nèi)容,教學(xué)效果有較大的改善。
參考文獻(xiàn):
[1] (美) Andrew S.Tanenbaum著, 潘愛民譯.計(jì)算機(jī)網(wǎng)絡(luò).第四版[M].北京:清華大學(xué)出版社.2004.
[2] (美) W.Richard Stevens著, 范建華等譯.TCP/IP詳解卷1:實(shí)現(xiàn)[M].北京:機(jī)械工業(yè)出版社,2000.
[3] 李朝海, 習(xí)友寶.基于Sniffer的”計(jì)算機(jī)網(wǎng)絡(luò)”課程的實(shí)驗(yàn)設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索.2006, 25(6): 642-644.
[4] 李笑歌,宇偉,高尚偉.基于OPNET 軟件的數(shù)據(jù)網(wǎng)絡(luò)建模與仿真研究[J].系統(tǒng)仿真學(xué)報(bào).2006,18(9):2653-2656.
[5] 王文博, 張金文等. OPNET Modeler與網(wǎng)絡(luò)仿真[M].北京: 人民郵電出版社,2003.
[6] OPNET Technologies, Inc.[EB/OL].http://www.opnet.com/.
[7] Boson Netsim6.0 online documentation.http://www.boson.com/.
基金項(xiàng)目:廣東省自然科學(xué)基金項(xiàng)目(04300015)。
作者簡介:劉外喜,(1976-),男,碩士,講師,研究方向:寬帶網(wǎng)絡(luò)技術(shù),計(jì)算機(jī)網(wǎng)絡(luò)協(xié)議。E_mail:liuwaixi@sina.com。手機(jī):13642634204。
高鷹(1963- ), 男, 教授, 碩導(dǎo), 副院長, 研究方向?yàn)橥ㄐ啪W(wǎng)絡(luò)。
胡曉,(1969-),男,博士,講師。
通信地址:廣州市大學(xué)城外環(huán)西路230號廣州大學(xué)信息與機(jī)電學(xué)院,郵編:510006。