摘要:本文介紹了我系設(shè)計(jì)開(kāi)發(fā)的計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng)NetRiver,該系統(tǒng)拓寬了計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)的內(nèi)容,豐富了實(shí)驗(yàn)手段,提高了實(shí)驗(yàn)效率。
關(guān)鍵詞:計(jì)算機(jī)網(wǎng)絡(luò);實(shí)驗(yàn)教學(xué);NetRiver實(shí)驗(yàn)系統(tǒng)
中圖分類(lèi)號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
1引言
清華大學(xué)計(jì)算機(jī)系從1985年起開(kāi)設(shè)“計(jì)算機(jī)網(wǎng)絡(luò)原理”課程,開(kāi)設(shè)了滑動(dòng)窗口協(xié)議和應(yīng)用層協(xié)議等網(wǎng)絡(luò)實(shí)驗(yàn)內(nèi)容。之后陸續(xù)開(kāi)設(shè)了“計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)”、“無(wú)線網(wǎng)絡(luò)和移動(dòng)計(jì)算”和“計(jì)算機(jī)網(wǎng)絡(luò)前沿研究”等研究生課程。2006年開(kāi)設(shè)了強(qiáng)化實(shí)驗(yàn)課程“計(jì)算機(jī)網(wǎng)絡(luò)專(zhuān)題訓(xùn)練”。在教學(xué)實(shí)踐中,我們提出了“本科打基礎(chǔ)、碩士重能力、博士出創(chuàng)新、科研促教學(xué)、實(shí)踐貫始終”的教學(xué)理念,強(qiáng)化了計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)教學(xué)。針對(duì)不同階段的學(xué)生,設(shè)置了不同的實(shí)驗(yàn)內(nèi)容。本科生的網(wǎng)絡(luò)課程重點(diǎn)在于基礎(chǔ)網(wǎng)絡(luò)協(xié)議和原理的掌握,通過(guò)配置觀察實(shí)驗(yàn)和基本協(xié)議實(shí)驗(yàn),加強(qiáng)感性認(rèn)識(shí),提高動(dòng)手能力;碩士生的網(wǎng)絡(luò)課程注重綜合能力和對(duì)網(wǎng)絡(luò)體系結(jié)構(gòu)的整體把握,通過(guò)復(fù)雜協(xié)議編程實(shí)驗(yàn),提高包括分析、設(shè)計(jì)和實(shí)現(xiàn)等在內(nèi)的綜合能力;博士生的課程則注重研究和創(chuàng)新,利用實(shí)驗(yàn)系統(tǒng)的可擴(kuò)展性設(shè)計(jì)新實(shí)驗(yàn)、驗(yàn)證新算法。圖1給出了計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)教學(xué)內(nèi)容、課程體系和人才培養(yǎng)目標(biāo)之間的關(guān)系。
計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)教學(xué)設(shè)計(jì)存在很多難點(diǎn)。網(wǎng)絡(luò)協(xié)議數(shù)量巨大,TCP/IP協(xié)議棧的常用協(xié)議有數(shù)百個(gè),主機(jī)、路由器等網(wǎng)絡(luò)結(jié)點(diǎn)的協(xié)議棧實(shí)現(xiàn)有很大區(qū)別,各個(gè)協(xié)議的原理、功能和實(shí)現(xiàn)均不相同;協(xié)議描述文本難于理解、協(xié)議實(shí)現(xiàn)復(fù)雜,例如RFC 793(TCP)有85頁(yè),代碼長(zhǎng)度近一萬(wàn)行,RFC 2328(OSPF)有244頁(yè),代碼長(zhǎng)度超過(guò)三萬(wàn)行;課程實(shí)驗(yàn)依賴(lài)具體的操作系統(tǒng),常用的操作系統(tǒng)包括Windows、Linux、BSD、Solaris等;網(wǎng)上存在大量開(kāi)源代碼供學(xué)生參考使用,難以公平評(píng)價(jià)學(xué)生的實(shí)驗(yàn)結(jié)果;網(wǎng)絡(luò)協(xié)議棧復(fù)雜,難以有效檢查;學(xué)生多,實(shí)驗(yàn)多,難以管理。
總結(jié)國(guó)內(nèi)外以往的計(jì)算機(jī)網(wǎng)絡(luò)原理實(shí)驗(yàn)教學(xué),主要存在以下幾個(gè)不足:
#61548;由于缺乏軟硬件支撐環(huán)境,通常會(huì)設(shè)計(jì)一些模擬實(shí)驗(yàn)來(lái)代替實(shí)際的網(wǎng)絡(luò)實(shí)驗(yàn)。這樣做的缺點(diǎn)是學(xué)生缺乏對(duì)真實(shí)網(wǎng)絡(luò)環(huán)境的感性認(rèn)識(shí)和理解。
#61548;由于常用的操作系統(tǒng)只提供應(yīng)用層的網(wǎng)絡(luò)編程接口,學(xué)生只能做網(wǎng)絡(luò)應(yīng)用實(shí)驗(yàn)。應(yīng)用層實(shí)驗(yàn)雖然能夠鍛煉學(xué)生網(wǎng)絡(luò)編程的能力,但卻不容易幫助學(xué)生理解底層協(xié)議的原理和工作流程,進(jìn)而忽視“計(jì)算機(jī)網(wǎng)絡(luò)原理”課程的核心內(nèi)容和教學(xué)目標(biāo)。
#61548;缺乏網(wǎng)絡(luò)核心協(xié)議的實(shí)驗(yàn),例如BGP和OSPF。
#61548;網(wǎng)絡(luò)實(shí)驗(yàn)的管理和維護(hù)非常困難。做網(wǎng)絡(luò)實(shí)驗(yàn)的學(xué)生多、實(shí)驗(yàn)項(xiàng)目多。在每次實(shí)驗(yàn)之前,實(shí)驗(yàn)管理人員和助教需要花費(fèi)大量的時(shí)間調(diào)整網(wǎng)絡(luò)來(lái)滿足實(shí)驗(yàn)要求。
我們?cè)陂L(zhǎng)期從事計(jì)算機(jī)網(wǎng)絡(luò)教學(xué)的基礎(chǔ)上,利用科研成果,研制開(kāi)發(fā)了NetRiver計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng)。NetRiver系統(tǒng)包括客戶(hù)端、測(cè)試服務(wù)器和管理服務(wù)器三個(gè)組成部分,具有以下特點(diǎn):可控真實(shí)的全協(xié)議棧網(wǎng)絡(luò)實(shí)驗(yàn)環(huán)境,支持實(shí)驗(yàn)代碼編輯、編譯和調(diào)試的集成編譯環(huán)境,可視化的協(xié)議報(bào)文捕捉與行為分析,多層次實(shí)驗(yàn)手段,基于腳本語(yǔ)言的可擴(kuò)展實(shí)驗(yàn)描述和執(zhí)行,基于協(xié)調(diào)測(cè)試法的自動(dòng)實(shí)驗(yàn)測(cè)試和功能豐富的實(shí)驗(yàn)管理平臺(tái)。NetRiver實(shí)驗(yàn)系統(tǒng)拓寬了計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)內(nèi)容,豐富了實(shí)驗(yàn)手段,提高了實(shí)驗(yàn)效率。
2相關(guān)工作
北京航空航天大學(xué)在2004年啟動(dòng)“先進(jìn)計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)基地建設(shè)”項(xiàng)目,建立了北京市重點(diǎn)實(shí)驗(yàn)室——網(wǎng)絡(luò)技術(shù)實(shí)驗(yàn)室。該網(wǎng)絡(luò)實(shí)驗(yàn)室基本上采用全套的華為網(wǎng)絡(luò)路由器和交換機(jī)設(shè)備,從低端到高端,建立了一個(gè)小型的互聯(lián)網(wǎng)模擬實(shí)驗(yàn)室。該實(shí)驗(yàn)室構(gòu)建了國(guó)內(nèi)一流的計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)教學(xué)實(shí)驗(yàn)環(huán)境,但其存在一個(gè)很大的問(wèn)題就是硬件投資過(guò)大,并且在IT技術(shù)發(fā)展迅猛的今天,這些硬件設(shè)施存在生命期短的問(wèn)題。
Stanford大學(xué)本科計(jì)算機(jī)網(wǎng)絡(luò)課程“Introduction to Computer Networks”為學(xué)生的實(shí)驗(yàn)提供了一個(gè)Linux操作系統(tǒng)下的集群作為中央服務(wù)器,學(xué)生可以遠(yuǎn)程登錄,在集群環(huán)境中對(duì)自己的代碼進(jìn)行編譯及調(diào)試。但由于沒(méi)有便捷的一體化集成環(huán)境,在Linux操作系統(tǒng)中所有編譯和調(diào)試的工作都需要學(xué)生手工進(jìn)行,要求比較高,可能造成學(xué)生精力分散,無(wú)法集中于網(wǎng)絡(luò)協(xié)議的設(shè)計(jì)和實(shí)現(xiàn),并且這也需要Linux下編程的相關(guān)先修課支持。
MIT大學(xué)的本科生網(wǎng)絡(luò)教學(xué)是放到課程“Computer Systems Engineering”中進(jìn)行的,主要的動(dòng)手環(huán)節(jié)是學(xué)生自己做Project的全套工作。雖然這樣比較鍛煉學(xué)生的動(dòng)手能力,但跟Stanford大學(xué)的實(shí)驗(yàn)類(lèi)似,對(duì)學(xué)生Linux下編程能力要求比較高,對(duì)于沒(méi)有修過(guò)相關(guān)課程的學(xué)生來(lái)說(shuō),精力過(guò)多消耗在Linux編程上,而淡化了網(wǎng)絡(luò)協(xié)議的理解。
3計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng)NetRiver
計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng)NetRiver是為計(jì)算機(jī)網(wǎng)絡(luò)教學(xué)開(kāi)發(fā)的一套網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái)系統(tǒng)。目前的網(wǎng)絡(luò)實(shí)驗(yàn)大多以配置觀察實(shí)驗(yàn)為主,無(wú)法使學(xué)生深入了解網(wǎng)絡(luò)協(xié)議運(yùn)行機(jī)制。由于網(wǎng)絡(luò)實(shí)驗(yàn)本身往往涉及到系統(tǒng)底層實(shí)現(xiàn),在真實(shí)環(huán)境中進(jìn)行模擬實(shí)驗(yàn)一般會(huì)比較困難。比如進(jìn)行TCP實(shí)驗(yàn)時(shí),由于操作系統(tǒng)內(nèi)核對(duì)TCP協(xié)議棧已經(jīng)有了實(shí)現(xiàn),因此學(xué)生所寫(xiě)測(cè)試程序發(fā)出的數(shù)據(jù)包往往會(huì)被操作系統(tǒng)處理或丟棄,導(dǎo)致無(wú)法進(jìn)行TCP處理過(guò)程的模擬。針對(duì)上述問(wèn)題,本系統(tǒng)為學(xué)生提供了進(jìn)行網(wǎng)絡(luò)協(xié)議編程、調(diào)試、可視化執(zhí)行和自動(dòng)測(cè)試的實(shí)驗(yàn)平臺(tái)。在此平臺(tái)上,學(xué)生無(wú)需關(guān)心系統(tǒng)對(duì)實(shí)驗(yàn)的影響,能夠直接編寫(xiě)和測(cè)試協(xié)議相關(guān)的核心內(nèi)容。
圖2為實(shí)驗(yàn)系統(tǒng)常用的連接拓?fù)涫疽鈭D。NetRiver系統(tǒng)由一臺(tái)或多臺(tái)測(cè)試服務(wù)器、一套客戶(hù)端軟件和一套實(shí)驗(yàn)管理軟件構(gòu)成。測(cè)試服務(wù)器通過(guò)與客戶(hù)端交互協(xié)議包,實(shí)現(xiàn)實(shí)驗(yàn)功能,并提供自動(dòng)測(cè)試和實(shí)驗(yàn)結(jié)果評(píng)分??蛻?hù)端軟件運(yùn)行于多臺(tái)PC機(jī)上,為用戶(hù)提供基于Windows的集成實(shí)驗(yàn)環(huán)境,學(xué)生編寫(xiě)實(shí)驗(yàn)代碼、調(diào)試和運(yùn)行實(shí)驗(yàn)程序均在客戶(hù)端軟件上執(zhí)行。管理服務(wù)器保存用戶(hù)信息、測(cè)試?yán)?、?shí)驗(yàn)代碼和測(cè)試結(jié)果,管理客戶(hù)端和測(cè)試服務(wù)器,實(shí)現(xiàn)基于Web的實(shí)驗(yàn)管理功能。
3.1NetRiver客戶(hù)端
NetRiver客戶(hù)端提供了界面友好的編程開(kāi)發(fā)、調(diào)式和測(cè)試環(huán)境,同時(shí)還可以動(dòng)態(tài)捕捉和分析實(shí)驗(yàn)過(guò)程中收發(fā)的數(shù)據(jù)報(bào)文,方便學(xué)生檢查程序錯(cuò)誤和進(jìn)行調(diào)試。
圖3所示是代碼編寫(xiě)界面,學(xué)生在此界面中可以編寫(xiě)代碼,并使用系統(tǒng)自帶的編譯工具進(jìn)行編譯和調(diào)試。
圖4是報(bào)文分析界面,提供可視化的報(bào)文分析功能,可清楚的看到發(fā)出和收到的數(shù)據(jù)包,同時(shí)對(duì)數(shù)據(jù)包中的字段進(jìn)行解析并顯示,幫助學(xué)生分析程序中可能存在的問(wèn)題。
3.2NetRiver測(cè)試服務(wù)器
學(xué)生完成實(shí)驗(yàn)之后,可選擇相應(yīng)測(cè)試?yán)㈤_(kāi)始對(duì)自己所做實(shí)驗(yàn)進(jìn)行測(cè)試。測(cè)試過(guò)程是在客戶(hù)端和測(cè)試服務(wù)器之間自動(dòng)完成的,包含一系列的發(fā)包、收包過(guò)程。整個(gè)過(guò)程由事先編寫(xiě)好的腳本系統(tǒng)控制。根據(jù)實(shí)驗(yàn)內(nèi)容和所選測(cè)試?yán)?,測(cè)試服務(wù)器會(huì)向客戶(hù)端發(fā)出包含一定內(nèi)容的數(shù)據(jù)報(bào)文,由學(xué)生所編寫(xiě)的程序?qū)υ搱?bào)文進(jìn)行處理,并得出一定結(jié)果(如回復(fù)、轉(zhuǎn)發(fā)、丟棄或接受等),經(jīng)過(guò)一系列的收發(fā)包過(guò)程,測(cè)試服務(wù)器會(huì)對(duì)實(shí)驗(yàn)完成情況做出相應(yīng)評(píng)測(cè),并將結(jié)果提交到管理服務(wù)器。
整個(gè)測(cè)試過(guò)程可描述如下:測(cè)試服務(wù)器打開(kāi)腳本配置文件script,并將腳本裝載到內(nèi)存。客戶(hù)端根據(jù)主界面?zhèn)魅氲拿钚袇?shù)獲得需要測(cè)試服務(wù)器IP、測(cè)試?yán)?hào)和測(cè)試項(xiàng)目號(hào)??蛻?hù)端和測(cè)試服務(wù)器建立socket連接。測(cè)試服務(wù)器收到建連請(qǐng)求后創(chuàng)建一個(gè)腳本解析器。客戶(hù)端建立一個(gè)解析器。客戶(hù)端向測(cè)試服務(wù)器發(fā)送下載腳本的請(qǐng)求。測(cè)試服務(wù)器收到請(qǐng)求后,找到對(duì)應(yīng)地腳本解析器,并在腳本解析器中完成初始化,步驟包括以下兩個(gè)部分。根據(jù)請(qǐng)求中包含地測(cè)試項(xiàng)目號(hào)和測(cè)試?yán)?hào)組裝包含客戶(hù)端腳本內(nèi)容的分組,并發(fā)送給客戶(hù)端。根據(jù)請(qǐng)求中包含地測(cè)試項(xiàng)目號(hào)和測(cè)試?yán)?hào)下載服務(wù)器端的腳本內(nèi)容到本解析器,初始化相關(guān)變量??蛻?hù)端收到包括腳本的分組后,填充到解析器中,并完成初始化操作??蛻?hù)端和測(cè)試服務(wù)器端的解析器根據(jù)腳本的內(nèi)容逐行解釋執(zhí)行,并調(diào)用相應(yīng)的回調(diào)函數(shù)完成測(cè)試過(guò)程。測(cè)試服務(wù)器判定測(cè)試結(jié)果是否正確。測(cè)試服務(wù)器將結(jié)果發(fā)送到客戶(hù)端。客戶(hù)端將結(jié)果發(fā)送到主界面。
3.3NetRiver管理服務(wù)器
管理服務(wù)器用于對(duì)學(xué)生和實(shí)驗(yàn)信息進(jìn)行管理,包括學(xué)生帳號(hào)和基本信息、實(shí)驗(yàn)內(nèi)容及測(cè)試?yán)⒚總€(gè)學(xué)生的試驗(yàn)完成情況等。由于整個(gè)實(shí)驗(yàn)是一個(gè)基于腳本控制的自動(dòng)完成的過(guò)程,學(xué)生在對(duì)自己的實(shí)驗(yàn)進(jìn)行測(cè)試之后,成績(jī)會(huì)自動(dòng)提交到管理服務(wù)器進(jìn)行登記。教師或者助教可方便的在管理服務(wù)器提供的Web界面上查看所有學(xué)生的實(shí)驗(yàn)完成情況并進(jìn)行匯總統(tǒng)計(jì),學(xué)生也可通過(guò)該界面查看自己的實(shí)驗(yàn)結(jié)果。
3.4目前支持的網(wǎng)絡(luò)實(shí)驗(yàn)
NetRiver實(shí)驗(yàn)系統(tǒng)目前所支持的實(shí)驗(yàn)如表1所示。由于系統(tǒng)使用了可擴(kuò)展的腳本描述方法來(lái)定義實(shí)驗(yàn)和測(cè)試?yán)?,因此教師可根?jù)需要方便的增加所需實(shí)驗(yàn)內(nèi)容,實(shí)現(xiàn)擴(kuò)展實(shí)驗(yàn)。NetRiver系統(tǒng)為每個(gè)實(shí)驗(yàn)都提供配置實(shí)驗(yàn)和編程實(shí)驗(yàn)兩種實(shí)驗(yàn)方式,適應(yīng)不同的實(shí)驗(yàn)要求。
4NetRiver實(shí)驗(yàn)系統(tǒng)的特色和創(chuàng)新點(diǎn)
可控真實(shí)的全協(xié)議棧網(wǎng)絡(luò)實(shí)驗(yàn)環(huán)境
本實(shí)驗(yàn)系統(tǒng)提供了一個(gè)IPv4/IPv6全協(xié)議棧的網(wǎng)絡(luò)實(shí)驗(yàn)環(huán)境,并且該環(huán)境建立在可控真實(shí)網(wǎng)絡(luò)基礎(chǔ)上。學(xué)生在一個(gè)真實(shí)網(wǎng)絡(luò)環(huán)境中做實(shí)驗(yàn),但是實(shí)驗(yàn)過(guò)程中不會(huì)受到雜亂數(shù)據(jù)的影響,可集中關(guān)注與實(shí)驗(yàn)相關(guān)的數(shù)據(jù)包收發(fā)。同時(shí),學(xué)生實(shí)驗(yàn)可涉及到完整協(xié)議棧,無(wú)論是數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層還是傳輸層和應(yīng)用層,都可以通過(guò)編程開(kāi)發(fā)或者交互式配置觀察來(lái)深入理解相應(yīng)網(wǎng)絡(luò)協(xié)議機(jī)制。
#61548;支持實(shí)驗(yàn)代碼編輯、編譯和調(diào)試的集成編譯環(huán)境
實(shí)驗(yàn)系統(tǒng)面向?qū)W生的客戶(hù)端提供了一整套開(kāi)發(fā)調(diào)試解決方案。學(xué)生可在客戶(hù)端上完成包括登錄、實(shí)驗(yàn)選擇、測(cè)試?yán)x擇、代碼編寫(xiě)、編譯、調(diào)試和測(cè)試在內(nèi)的完整過(guò)程。界面設(shè)計(jì)友好,可讓學(xué)生迅速進(jìn)入實(shí)驗(yàn)狀態(tài)。
#61548;可視化的協(xié)議報(bào)文捕捉與行為分析
為了便于學(xué)生觀察報(bào)文和調(diào)試程序,本實(shí)驗(yàn)系統(tǒng)還提供了可視化報(bào)文分析功能。系統(tǒng)可在學(xué)生程序運(yùn)行過(guò)程中實(shí)時(shí)捕捉實(shí)驗(yàn)相關(guān)報(bào)文,并且按照其時(shí)間順序和發(fā)送方向以可視化的方式在界面上描繪出來(lái),并且學(xué)生也可具體查看每個(gè)分組解析之后各域的內(nèi)容,從而判斷自己的程序潛在的錯(cuò)誤。
#61548;面向因材施教的多層次實(shí)驗(yàn)手段
實(shí)驗(yàn)系統(tǒng)不但提供了全協(xié)議棧的實(shí)驗(yàn)支持,而且對(duì)學(xué)生也提供了多種可選的實(shí)驗(yàn)手段。除了編程開(kāi)發(fā)實(shí)驗(yàn)之外,也可進(jìn)行交互式配置觀察實(shí)驗(yàn)。即,學(xué)生可在圖形化界面上根據(jù)當(dāng)前實(shí)驗(yàn)要求通過(guò)手動(dòng)填寫(xiě)分組各個(gè)域的值來(lái)完成實(shí)驗(yàn)。這樣既可以讓學(xué)生掌握分組組成和協(xié)議運(yùn)行過(guò)程,同時(shí)也不要求學(xué)生掌握編程技術(shù),可適合于文科類(lèi)學(xué)生使用。
#61548;基于腳本語(yǔ)言的、可擴(kuò)展的實(shí)驗(yàn)描述和執(zhí)行
實(shí)驗(yàn)系統(tǒng)所支持的實(shí)驗(yàn)是基于腳本語(yǔ)言編寫(xiě)的,具有良好的可擴(kuò)展性。即,當(dāng)實(shí)驗(yàn)內(nèi)容發(fā)生變化,或者需要增刪實(shí)驗(yàn)時(shí),只需要修改或編寫(xiě)相應(yīng)的腳本,而無(wú)需對(duì)系統(tǒng)本身進(jìn)行修改,極大地簡(jiǎn)化了實(shí)驗(yàn)系統(tǒng)的更新和維護(hù)工作,同時(shí)使其具有非常靈活的可定制性。
#61548;基于協(xié)調(diào)測(cè)試法的自動(dòng)實(shí)驗(yàn)測(cè)試
完成某個(gè)實(shí)驗(yàn)之后,實(shí)驗(yàn)平臺(tái)可按照學(xué)生選擇的測(cè)試?yán)詣?dòng)對(duì)該學(xué)生所做的配置或者編寫(xiě)的代碼進(jìn)行測(cè)試,同
時(shí)返回測(cè)試通過(guò)的數(shù)量和失敗的數(shù)量。學(xué)生可在此基礎(chǔ)上進(jìn)行檢查和調(diào)試,整個(gè)過(guò)程無(wú)需教師或助教的參與。
#61548;功能豐富的實(shí)驗(yàn)管理平臺(tái)
實(shí)驗(yàn)系統(tǒng)針對(duì)學(xué)生和實(shí)驗(yàn)管理提供了一個(gè)功能豐富的B/S結(jié)構(gòu)管理平臺(tái)。學(xué)生可登錄到該Web界面查看自己做過(guò)哪些實(shí)驗(yàn)以及實(shí)驗(yàn)的通過(guò)情況;助教可通過(guò)該平臺(tái)查看所有學(xué)生的實(shí)驗(yàn)情況,并可進(jìn)行匯總分析;教師除了可看到所有學(xué)生的情況之外,還可對(duì)學(xué)生和實(shí)驗(yàn)進(jìn)行增刪等管理操作。該平臺(tái)避免了手工管理大量學(xué)生實(shí)驗(yàn)成績(jī)的繁瑣,可十分高效、方便而又準(zhǔn)確的對(duì)學(xué)生實(shí)驗(yàn)情況進(jìn)行管理。
5總結(jié)
NetRiver實(shí)驗(yàn)系統(tǒng)從2006年開(kāi)始在 “計(jì)算機(jī)網(wǎng)絡(luò)原理”課程中使用,取得了很好的效果。到目前為止,共有約兩千多人次使用本系統(tǒng)完成教學(xué)實(shí)驗(yàn)。通過(guò)便捷、系統(tǒng)的實(shí)驗(yàn)以及與原理課程的緊密結(jié)合,極大促進(jìn)了學(xué)生對(duì)網(wǎng)絡(luò)體系結(jié)構(gòu)的認(rèn)識(shí)和對(duì)網(wǎng)絡(luò)協(xié)議及相關(guān)原理的掌握。另外,由于實(shí)驗(yàn)系統(tǒng)的使用,打破了傳統(tǒng)教學(xué)中需要學(xué)生學(xué)習(xí)復(fù)雜的系統(tǒng)接口、無(wú)法深入編寫(xiě)協(xié)議相關(guān)代碼、無(wú)法清晰的觀察協(xié)議運(yùn)行機(jī)理的局面,贏得了學(xué)生的高度評(píng)價(jià)。
目前NetRiver系統(tǒng)已經(jīng)在以下幾個(gè)單位得到了部署和應(yīng)用:清華大學(xué)計(jì)算機(jī)系、清華大學(xué)軟件學(xué)院、清華大學(xué)網(wǎng)絡(luò)中心dragonlab實(shí)驗(yàn)室、北京大學(xué)、解放軍信息工程大學(xué)。另外,黑龍江大學(xué)和浙江工商大學(xué)等院校正在遠(yuǎn)程試用。
參考文獻(xiàn)
[1] Andrew S Tanenbaum. 計(jì)算機(jī)網(wǎng)絡(luò)(第4版)[M]. 北京:清華大學(xué)出版社,2004.
[2] 陳鳴,常強(qiáng)林,岳振軍. 計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)教程:從原理到實(shí)踐[M]. 北京:機(jī)械工業(yè)出版社,2007.
[3] 徐恪,吳建平,徐明偉. 高等計(jì)算機(jī)網(wǎng)絡(luò)—體系結(jié)構(gòu)、協(xié)議機(jī)制、算法設(shè)計(jì)與路由器技術(shù)[M]. 北京:機(jī)械工業(yè)出版社,2003.