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