Partov仿真引擎在《計算機網(wǎng)絡(luò )》課程教學(xué)中的應用論文
在《計算機網(wǎng)絡(luò )》課程教學(xué)中,讓學(xué)生理解基本理論的重要性以及如何應用到現實(shí)中是一項難題。當前有兩種方法可以緩解這個(gè)問(wèn)題,并幫助學(xué)生更進(jìn)一步的了解網(wǎng)絡(luò )概念。一種極端情況即純硬件方案:給學(xué)生提供實(shí)際的網(wǎng)絡(luò )設備(例如,路由器,交換機等)并要求他們在不同的網(wǎng)絡(luò )布局中運用這些設備做實(shí)驗。這種情況下,每個(gè)學(xué)生或每組學(xué)生必須有專(zhuān)門(mén)的設備,這就需要裝載硬件的實(shí)驗室。雖然這對于絡(luò )管理課程的學(xué)生是一個(gè)理想的方案,但它并沒(méi)有為學(xué)生提供所需的更深入的網(wǎng)絡(luò )概念知識。例如,在實(shí)驗室中學(xué)生可以學(xué)習如何在網(wǎng)絡(luò )中的交換機之間配置生成樹(shù)協(xié)議(STP),或是由硬件廠(chǎng)商接口偏向交換機之間部署STP協(xié)議,但他們對STP的操作知識將保持抽象且只在一個(gè)算法的水平。

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