- 相關(guān)推薦
Partov仿真引擎在《計(jì)算機(jī)網(wǎng)絡(luò)》課程教學(xué)中的應(yīng)用論文
在《計(jì)算機(jī)網(wǎng)絡(luò)》課程教學(xué)中,讓學(xué)生理解基本理論的重要性以及如何應(yīng)用到現(xiàn)實(shí)中是一項(xiàng)難題。當(dāng)前有兩種方法可以緩解這個(gè)問題,并幫助學(xué)生更進(jìn)一步的了解網(wǎng)絡(luò)概念。一種極端情況即純硬件方案:給學(xué)生提供實(shí)際的網(wǎng)絡(luò)設(shè)備(例如,路由器,交換機(jī)等)并要求他們?cè)诓煌木W(wǎng)絡(luò)布局中運(yùn)用這些設(shè)備做實(shí)驗(yàn)。這種情況下,每個(gè)學(xué)生或每組學(xué)生必須有專門的設(shè)備,這就需要裝載硬件的實(shí)驗(yàn)室。雖然這對(duì)于絡(luò)管理課程的學(xué)生是一個(gè)理想的方案,但它并沒有為學(xué)生提供所需的更深入的網(wǎng)絡(luò)概念知識(shí)。例如,在實(shí)驗(yàn)室中學(xué)生可以學(xué)習(xí)如何在網(wǎng)絡(luò)中的交換機(jī)之間配置生成樹協(xié)議(STP),或是由硬件廠商接口偏向交換機(jī)之間部署STP協(xié)議,但他們對(duì)STP的操作知識(shí)將保持抽象且只在一個(gè)算法的水平。
另一種極端情況是純軟件模擬:學(xué)生用仿真軟件來模擬不同的場景[1-3],不同于基于硬件的方法,它不要求專用的網(wǎng)絡(luò)設(shè)備,并且允許學(xué)生在課余時(shí)間在他們的個(gè)人計(jì)算機(jī)上通過運(yùn)行模擬器來做他們的任務(wù)。仿真軟件能促進(jìn)對(duì)協(xié)議的分析,并且它對(duì)網(wǎng)絡(luò)研究者在推進(jìn)實(shí)驗(yàn)之前驗(yàn)證提出的想法的正確性也是很有用的。但是,這種方法不能讓學(xué)生超越仿真軟件預(yù)測的場景和功能,限制他們獲得從編程到現(xiàn)實(shí)世界的設(shè)備體驗(yàn),缺乏一種固有的真實(shí)性。
可見,在《計(jì)算機(jī)網(wǎng)絡(luò)》課程實(shí)踐教學(xué)中,純硬件和純軟件方式均有其弊端和優(yōu)勢,本文提供了將虛擬化工具Partov的作為一種新的混合型教育工具的應(yīng)用在《計(jì)算機(jī)網(wǎng)絡(luò)》課程教學(xué)中,以改善教學(xué)效果。引入Partov后,仿真器連接到物理網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)中,允許學(xué)生在一個(gè)虛擬節(jié)點(diǎn)上設(shè)計(jì),實(shí)施和執(zhí)行他們的代碼,同時(shí)允許該節(jié)點(diǎn)在真實(shí)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中進(jìn)行交互。例如,學(xué)生可以實(shí)現(xiàn)一個(gè)虛擬節(jié)點(diǎn)上的路由器,然后觀察他們的路由器是怎樣和與它直接指向的互聯(lián)網(wǎng)進(jìn)行交互的。
1 Partov簡介
Partov提供了一組仿真模型和建立模擬拓?fù)涞?語 言。Partov系 統(tǒng) 是 由 網(wǎng) 絡(luò) 仿 真 服 務(wù) 器(NSS)和 客 戶 端 框 架 (CF)兩 個(gè) 主 要 部 分 組成[4-7].NSS是Partov系統(tǒng)的中心組成部分,它包含創(chuàng)建虛擬拓?fù)浣Y(jié)構(gòu)及進(jìn)行仿真的Partov內(nèi)核,以及擴(kuò)展內(nèi)核功能的插件基礎(chǔ)設(shè)施。NSS負(fù)責(zé)通過libpcap[4]與外網(wǎng)進(jìn)行所有的互動(dòng),并與CF合作。NSS依次由三部分組成:模擬服務(wù)器,虛擬化引擎以及插件基礎(chǔ)設(shè)施。這些組件及它們之間的關(guān)系如圖1所示。模擬服務(wù)器組件負(fù)責(zé)將虛擬化框架連接到由CF所提供的分布式框架。每當(dāng)CF實(shí)例請(qǐng)求與Partov服務(wù)器進(jìn)行連接時(shí),模擬服務(wù)器組件將通過用戶名/密碼進(jìn)行身份驗(yàn)證,然后列舉一個(gè)新的拓?fù)鋱D或找到先前實(shí)例拓?fù)鋱D,并將其分配給CF.CF允許學(xué)生在他們的個(gè)人計(jì)算機(jī)上執(zhí)行程序來連接到Partov中央服務(wù)器并參與計(jì)劃模擬。
CF可以在連接的虛擬節(jié)點(diǎn)上發(fā)送/接收數(shù)據(jù)包。每當(dāng)連接的虛擬節(jié)點(diǎn)接收到數(shù)據(jù)包,它會(huì)通過模擬服務(wù)器決定該數(shù)據(jù)包是否要被轉(zhuǎn)發(fā)到另一個(gè)NSS組件或轉(zhuǎn)發(fā)到CF,進(jìn)而對(duì)學(xué)生的程序進(jìn)行檢查。例如,學(xué)生可以實(shí)現(xiàn)網(wǎng)橋,路由器或網(wǎng)絡(luò)地址轉(zhuǎn)化(NAT)功能。這個(gè)邏輯可以檢查數(shù)據(jù)包,并決定是應(yīng)該忽略他們,還是發(fā)送回復(fù)或發(fā)送另一組所需的數(shù)據(jù)包到網(wǎng)絡(luò)。這讓學(xué)生實(shí)現(xiàn)了與真實(shí)的網(wǎng)絡(luò)環(huán)境進(jìn)行交互的算法。Partov拓?fù)湔Z言 (PTL)是基于XML的語言,它對(duì)Partov拓?fù)浣Y(jié)構(gòu)進(jìn)行聲明。每種拓?fù)涫且浴癕AP”為后綴定義的單獨(dú)的文件,由三部分組成,用于定義節(jié)點(diǎn),列表(用于資源分配到節(jié)點(diǎn))和鏈接。
插件基礎(chǔ)設(shè)施提供了實(shí)現(xiàn)插件的基礎(chǔ)設(shè)施。每個(gè)插件可以使用所有由Partov提供的用于處理數(shù)據(jù)包的實(shí)用程序,并且可進(jìn)行配置。目前,已有四種插件。模擬節(jié)點(diǎn)是一個(gè)重要的插件,通過它的數(shù)據(jù)包被轉(zhuǎn)發(fā)到CF(即學(xué)生的程序),數(shù)據(jù)包從CF恢復(fù)被重新注入了虛擬環(huán)境。IPv4路由器接受靜態(tài)路由表。它可使拓?fù)淇蓴U(kuò)展(通過創(chuàng)建分離的網(wǎng)絡(luò)的廣播域)和可擴(kuò)展(通過分層的網(wǎng)絡(luò)拓?fù)洌R蛱鼐W(wǎng)網(wǎng)關(guān)節(jié)點(diǎn)是用于將虛擬映射連接到可以用來無縫集成虛擬映射和互聯(lián)網(wǎng)的真實(shí)網(wǎng)絡(luò)的專用路由器。通用的傳輸控制協(xié)議(TCP)反向代理服務(wù)器通過提供所有的TCP數(shù)據(jù)包及其響應(yīng)給/從網(wǎng)絡(luò)中運(yùn)行的真實(shí)服務(wù)器,來模擬虛擬網(wǎng)絡(luò)中沒有服務(wù)器時(shí)的一種手段。
2 課程任務(wù)和所含知識(shí)點(diǎn)
《計(jì)算機(jī)網(wǎng)絡(luò)》課程的教學(xué)內(nèi)容具有概念繁多、原理復(fù)雜、協(xié)議與技術(shù)交疊的特點(diǎn)。它涉及眾多的概念、原理、協(xié)議和技術(shù),這些內(nèi)容以錯(cuò)綜復(fù)雜的形式交織在一起,既有原理的復(fù)雜性,又有技術(shù)的時(shí)效性。所以,在該課程的教學(xué)過程中,學(xué)生普遍反映無法深入理解網(wǎng)絡(luò)的原理與技術(shù),知識(shí)點(diǎn)的銜接也無法形成整體。在實(shí)驗(yàn)過程中,知識(shí)的應(yīng)用又具有盲目性。現(xiàn)有的課堂教學(xué)模式無法很好地實(shí)現(xiàn)理論與實(shí)踐相結(jié)合、提升學(xué)生網(wǎng)絡(luò)技術(shù)能力的教學(xué)目的。
Partov的出現(xiàn)為在《計(jì)算機(jī)網(wǎng)絡(luò)》課程教學(xué)中開展任務(wù)驅(qū)動(dòng)模式教學(xué)提供了很好的條件,一方面便于理論和實(shí)踐相結(jié)合,一方面便于實(shí)施和考核。在任務(wù)設(shè)計(jì)方面,本文以綜合性強(qiáng),TCP/IP為主線,同時(shí)兼顧適用性、緊扣網(wǎng)絡(luò)技術(shù)發(fā)展為輔。目前已開展的任務(wù)和其覆蓋的ISO層次關(guān)系如表1所示!队(jì)算機(jī)網(wǎng)絡(luò)》課程中,移動(dòng)IP是重點(diǎn)教學(xué)內(nèi)容。本文以“基于以太網(wǎng)的移動(dòng)IP(MIPoE)”課程教學(xué)任務(wù)進(jìn)行詳細(xì)討論。
移動(dòng)IP協(xié)議的作用是在保留它們的IP地址的同時(shí)讓節(jié)點(diǎn)在不同的網(wǎng)絡(luò)中移動(dòng),并因此與這些地址相連接。學(xué)生必須實(shí)現(xiàn)節(jié)點(diǎn)能從無線接入點(diǎn)(AP)獲得一個(gè)IP地址,并在加入/離開每個(gè)無線領(lǐng)域時(shí)告知它們,同時(shí)實(shí)現(xiàn)節(jié)點(diǎn)移動(dòng),即無線移動(dòng)節(jié)點(diǎn)在從一個(gè)AP區(qū)域移動(dòng)到另一個(gè)時(shí)可以保持自己的IP地址。
在分配中,每個(gè)學(xué)生被分給一個(gè)由圖2所示的三個(gè)局域網(wǎng)組成的虛擬拓?fù)浣Y(jié)構(gòu)。每個(gè)拓?fù)浣Y(jié)構(gòu)包括若干節(jié)點(diǎn)及三個(gè)無線接入點(diǎn)。每個(gè)無線接入點(diǎn)有一個(gè)覆蓋區(qū)域并可以接收其節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包。由AP發(fā)送的數(shù)據(jù)包可到達(dá)其覆蓋區(qū)域內(nèi)的所有節(jié)點(diǎn)。不同無線接入點(diǎn)的覆蓋區(qū)域可重疊。這種重疊區(qū)域發(fā)送的數(shù)據(jù)包將被所有相關(guān)的AP接收。
使用有限狀態(tài)機(jī)可能改變一個(gè)節(jié)點(diǎn)的位置(從鏈路斷開它,并將其連接到另一鏈路)。另一方面,每個(gè)AP連接到網(wǎng)關(guān)節(jié)點(diǎn),并因此通過第二個(gè)網(wǎng)絡(luò)接口連接到因特網(wǎng)[8].學(xué)生被要求使用CF準(zhǔn)備兩種方案。節(jié)點(diǎn)程序應(yīng)該以從一個(gè)無線接入點(diǎn)申請(qǐng)一個(gè)IP地址開始。然后節(jié)點(diǎn)將會(huì)移動(dòng)到另一個(gè)無線接入點(diǎn),在這一過程中,它可能會(huì)從一個(gè)AP的覆蓋區(qū)域進(jìn)入另一個(gè)AP的覆蓋區(qū)域。它也可以是進(jìn)入到多個(gè)AP之間的重疊區(qū)域。節(jié)點(diǎn)程序期望與相應(yīng)地AP程序進(jìn)行通信來找到其當(dāng)前位置。
AP程序期望檢測節(jié)點(diǎn)位置并通過IP隧道將家庭網(wǎng)絡(luò)的數(shù)據(jù)包重定向到訪問網(wǎng)絡(luò)。學(xué)生們也被要求為在節(jié)點(diǎn)程序中收到的IP地址設(shè)計(jì)它們的協(xié)議以及無線接入節(jié)點(diǎn)通信的協(xié)議,使AP可以在任何時(shí)候通過跟蹤節(jié)點(diǎn)來訪問網(wǎng)絡(luò)。在完成這個(gè)任務(wù)后,學(xué)生會(huì)對(duì)覆蓋及基于IP隧道和移動(dòng)性IP這樣概念的網(wǎng)絡(luò)協(xié)議的設(shè)計(jì)有一個(gè)詳細(xì)深入的了解。除了任務(wù)MIPoE,還有大量其他任務(wù):下面做簡要說明。
帶寬節(jié)流器:這個(gè)任務(wù)要求要善于洞察第三和第四個(gè)網(wǎng)絡(luò)層,要求學(xué)生完成一個(gè)工作在第四層的帶寬節(jié)流器調(diào)節(jié)TCP和UDP流量。在這個(gè)任務(wù)中,學(xué)生可以學(xué)習(xí)如何通過檢查IP,TCP和UDP的報(bào)頭來檢測不同的TCP/UDP流量,如何確定流量的速率,以及如何限制流量的速率。
通過UDP簡化的FTP:在此任務(wù)中,學(xué)生們被要求使用傳輸層的UDP協(xié)議來完成一個(gè)簡化的文件傳輸協(xié)議[9].這種任務(wù)可以幫助學(xué)生了解終端到終端的可靠性,分組的重新排序,分組錯(cuò)誤及分組丟失/超時(shí)。在這個(gè)任務(wù)中要避免使 用TFTP,因?yàn)門FTP包括的細(xì)節(jié)和要求與它的關(guān)鍵的網(wǎng)絡(luò)概念無關(guān)。
DHCP和ARP:在這個(gè)任務(wù)中,學(xué)生要同時(shí)實(shí)現(xiàn)服務(wù)器和客戶端的動(dòng)態(tài)主機(jī)配置協(xié)議(DH-CP)[10],及地址解析協(xié)議(ARP),主要是在數(shù)據(jù)鏈路層,網(wǎng)絡(luò)層及應(yīng)用層。這教會(huì)學(xué)生通過ARP解析地址,通過DHCP獲取IP和其他網(wǎng)絡(luò)的信息(如網(wǎng)關(guān)地址),以及更多的網(wǎng)絡(luò)分層的概念。
簡化的STP:在這里,首先要求學(xué)生們實(shí)現(xiàn)一個(gè)學(xué)習(xí)的橋梁來連接拓?fù)浣Y(jié)構(gòu)中的節(jié)點(diǎn)。然后,要求他們加強(qiáng)自己的學(xué)習(xí)橋梁來完成STP協(xié)議的簡化版本。這教導(dǎo)學(xué)生了解網(wǎng)絡(luò)節(jié)點(diǎn)是怎樣通過本地決策和互動(dòng)來參與分布式算法的。
網(wǎng)絡(luò)地址轉(zhuǎn)換:這個(gè)任務(wù)遠(yuǎn)遠(yuǎn)超過了NAT的需求。它要求學(xué)生實(shí)現(xiàn)一個(gè)基于UDP協(xié)議的客戶端,并從定位服務(wù)器查詢文件的位置,他們完成這些要求必須是在位于NAT服務(wù)器后面的服務(wù)器的邊緣。根據(jù)查詢,本地服務(wù)器應(yīng)設(shè)置適當(dāng)?shù)腘AT規(guī)則,使客戶端可以連接到正確的服務(wù)器并下載所需的文件。這使學(xué)生了解有關(guān)公共的和私有的IP地址,UDP和TCP端口,以及在實(shí)踐中動(dòng)態(tài)NAT和靜態(tài)NAT的工作機(jī)制。
傳輸控制協(xié)議:它是在現(xiàn)今計(jì)算機(jī)網(wǎng)絡(luò)中最重要的協(xié)議之一,要求學(xué)生實(shí)現(xiàn)一個(gè)最小的TCP并用它從一個(gè)插座式的Web服務(wù)器下載文件。
通過讓學(xué)生只實(shí)現(xiàn)連接TCP的一側(cè),并用完整的和標(biāo)準(zhǔn)的實(shí)現(xiàn)另一端(即,插座式Web服務(wù)器)證明了用實(shí)際的TCP堆棧實(shí)現(xiàn)兼容性是正確的。
這個(gè)任務(wù)使學(xué)生了解了TCP的內(nèi)部結(jié)構(gòu)包括TCP窗口管理,流量控制,內(nèi)碼,序列號(hào)和確認(rèn)號(hào),以及TCP標(biāo)志。
內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN):CDN[11]是一個(gè)可以快速響應(yīng)大量內(nèi)容請(qǐng)求的網(wǎng)絡(luò)。學(xué)生被分配了一個(gè)由幾個(gè)在地理上分散的服務(wù)器群組成的拓?fù),并要求在服?wù)器群上建立一個(gè)覆蓋網(wǎng)絡(luò),根據(jù)它們的負(fù)載和路徑延遲重定向到適當(dāng)?shù)姆⻊?wù)器群,完成這個(gè)任務(wù)之后,學(xué)生應(yīng)了解了覆蓋網(wǎng)絡(luò)和負(fù)載均衡,并有能力為特殊用途設(shè)計(jì)一個(gè)通信協(xié)議,如在CDN服務(wù)器群之間。
分布式哈希表與和弦協(xié)議:分布式哈希表(DHT)允許信息在對(duì)等體之間被分發(fā)和存儲(chǔ)。
在這個(gè)任務(wù)中,學(xué)生的方案將被部署在不同的虛擬節(jié)點(diǎn)上。這些節(jié)點(diǎn)必須建立一個(gè)DHT來存儲(chǔ)一些檔案托管服務(wù)器位置的信息,并回復(fù)位置查詢。
DHT應(yīng)該抵制隨機(jī)節(jié)點(diǎn)通過在其他節(jié)點(diǎn)上適當(dāng)?shù)卮鎯?chǔ)信息來離開。并且它應(yīng)該使用新加入的節(jié)點(diǎn)并在它們之間高效地分配信息。通過這個(gè)任務(wù),學(xué)生會(huì)了解分布式協(xié)議,分布式哈希表以及和弦協(xié)議的有關(guān)知識(shí)。
Partov系統(tǒng)在2011年秋季開始用于黃岡師范學(xué)院《計(jì)算機(jī)網(wǎng)絡(luò)》課程教學(xué)。任務(wù)被設(shè)計(jì)為加強(qiáng)課堂上所教的ISO的OSI模型各層的概念。
對(duì)三屆共115名學(xué)生就行問卷調(diào)查的結(jié)果表明:84%的學(xué)生認(rèn)為Partov任務(wù)在學(xué)習(xí)協(xié)議和概念方面比在課堂上分發(fā)的Socket編程任務(wù)更有幫助。82%的學(xué)生認(rèn)為基于Partov任務(wù)驅(qū)動(dòng)的學(xué)習(xí)方法能夠有效的激發(fā)學(xué)習(xí)興趣。93%的學(xué)生認(rèn)為盡管編程作業(yè)一般都較為困難而且比用紙筆回答理論問題更耗費(fèi)時(shí)間,但這個(gè)任務(wù)幫助他們比在課堂上講授的更深入的理解網(wǎng)絡(luò)概念。同時(shí),筆者在與完成任務(wù)的學(xué)生討論問題時(shí)看出這些學(xué)生對(duì)概念有了更深刻的理解。
【Partov仿真引擎在《計(jì)算機(jī)網(wǎng)絡(luò)》課程教學(xué)中的應(yīng)用論文】相關(guān)文章:
仿真軟件在計(jì)算機(jī)網(wǎng)絡(luò)教學(xué)中的應(yīng)用論文10-09
計(jì)算機(jī)仿真技術(shù)課程教學(xué)中的應(yīng)用論文10-09
數(shù)控仿真軟件在教學(xué)中的應(yīng)用論文10-12
數(shù)控加工仿真系統(tǒng)在數(shù)控教學(xué)中的應(yīng)用論文10-12
計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)課程仿真教學(xué)的論文10-10
探析中職學(xué)校數(shù)控實(shí)習(xí)教學(xué)中仿真軟件的應(yīng)用論文10-12
高仿真情景模擬教學(xué)中護(hù)理教育的應(yīng)用論文10-09
項(xiàng)目教學(xué)法在計(jì)算機(jī)網(wǎng)絡(luò)課程的應(yīng)用論文10-09