孫文柱 王志樂 孫忠云 胡文婷
(海軍航空大學青島校區 山東·青島 266041)
計算機網絡原理是一門理論性很強的課程,該課程具有理論深,專有名詞多、易混淆概念多、環節復雜等特點。在教學時容易讓一些學生尤其是理解能力稍差的學生產生畏懼厭學心理,而在課堂上引入角色扮演的方式可以讓學員置于特定的教學情境之中,引起學員的情感體驗,激活思維,使其積極參與教學活動,提高教學實效[1-5]。
本文使用角色扮演的方法講解計算機網絡理論,通過學生扮演網絡設備,模擬網絡工作過程讓學生實際操作并參與信息的發出、轉發、接收過程,將原理形象化、具體化展示給學生,同時又讓學生具體參與到信息傳遞過程,加深了印象,可產生較好的教學效果。
本課程的教學對象為士官學員,士官學員大多來自基層部隊,多數學員在文化基礎薄弱,尤其是初等數學、初等物理等基礎學科偏弱。對待學習求知欲不強,看到復雜的公式圖表就產生畏難情緒。講述理論過多過深的內容時,學員容易打瞌睡。另外,學員習慣被動、機械地接受知識,自主學習能力較差。實踐教學過程中學員往往只是機械重復教員的動作,不能深入分析系統運行機理。
角色扮演的教學方法安排在計算機網絡原理教學之后,整個教學過程分為課程設計、課程實施、總結講評3個階段。
課程以一個由2臺路由器、2臺交換機、4臺主機組成的局域網為例,模擬計算機網絡的運行過程。局域網結構如圖1所示。

圖1:局域網結構圖
根據網絡結構,設計學員站位如圖2所示,2名學員分別扮演路由器0和路由器1,2名學員扮演交換機,4名學員扮演主機。網絡中每種角色執行自己的任務流程。

圖2:設計學員站位圖
主機端的任務流程為:
Step1:判斷是否接受到發送任務(循環執行)。
Step2:判斷目標機是否在同一子網,如果是則繼續執行Step3,否則跳轉到Step5。
Step3:在自身ARP表中查找網關MAC地址。
Step4:判斷是否找到網關MAC地址?如果是則執行Step7,否則發送ARP請求,查找網關MAC地址,找到后更新ARP表,繼續執行Step7。
Step5:在ARP表中查找目標機MAC地址。
Step6:判斷是否找到目標機MAC地址?如果是則執行Step7,否則發送ARP請求,查找目標機MAC地址,找到后更新ARP表,繼續執行Step7。
Step7:填寫數據包。
Step8:將數據包發送給交換機。
交換機端的任務流程為:
Step1:判斷是否接受到發送任務(循環執行)。
Step2:在MAC表中查找目標MAC地址對應端口號。
Step3:判斷是否找到MAC地址,如果是則執行Step4,否則丟棄數據包,結束任務。
Step4:將數據包發送給對應端口。
路由器端的任務流程為:
Step1:判斷是否接受到發送任務(循環執行)。
Step2:在路由表中查找目標地址下一跳。
Step3:判斷是否找到下一跳?如果是則繼續執行Step4,否則丟棄數據包,結束任務。
Step4:在ARP表中查找下一跳端口MAC地址。
Step5:判斷是否找到下一跳端口MAC地址?如果是則繼續執行Step6,否則發送ARP請求,查找下一跳MAC地址,找到后更新ARP表,繼續執行Step6。
Step6:重寫數據包MAC地址。
Step7:將數據包發送給下一跳。
課程實施過程以執行一條消息發送任務為主線,任務設定為執行一條主機B發送“Hello World!”字符串到主機C。
任務共分為三個步驟。
步驟一:字符串編碼。
主機 B首先將“Hello World!”轉換成 ASCII碼“48656C6C6F20576F726C64”。
步驟二:查詢網關MAC地址。
主機B首先判斷192.168.3.2這個IP地址與自己不是同一子網,所以發送消息要通過網關發給其他子網。因此主機B查看自己的ARP地址表中是否有網關的MAC地址,如果有則發送數據包,沒有則使用ARP請求獲取網關MAC地址。圖3為主機B查詢IP為“192.168.1.1”的網關MAC地址時使用的ARP請求卡。

圖3:ARP請求卡樣式
主機B將ARP請求卡發給交換機,交換機收到ARP請求后分發到所有終端,終端收到ARP請求后如果發現詢問IP是自己的IP則將自己的MAC地址填入表格并發回給交換機,如果詢問IP不是自己的IP則丟棄。此例中路由器0的端口0為詢問的對象,所以路由器0接收到ARP查詢后填寫ARP回應卡(如圖4所示),發送給交換機,交換機將ARP回應卡發回發起端主機B,主機B更新自己的ARP地址表(如圖5所示)。

圖4:ARP回應卡樣式

圖5:ARP地址表
步驟三:發送數據包。
主機B將要發送的信息填寫成數據包發送給交換機0,網絡層中目標IP地址填寫最終目標的IP地址,而數據鏈路層中目標MAC地址填寫網關的MAC地址,數據包如圖6所示。

圖6:數據包
交換機0收到數據包后將目標 MAC地址與自己的MAC地址表(如圖7所示)匹配,根據匹配結果將數據包發送給對應端口。

圖7:MAC地址表
此例中數據包的目標MAC地址對應端口號為2,而交換機端口2與路由器0的端口0相連。路由器0的端口0收到數據包后,根據目標IP地址,查詢路由表(如圖8所示)和ARP表,將數據包重寫后從對應端口發出,重寫內容主要是收發方的MAC地址。

圖8:靜態路由表
此例中數據包會發給路由器1的端口0,路由器1的端口0收到數據包后,查看目標IP地址網段可知目標在本路由器端口1所處網段,根據ARP表查到接收端MAC地址,重寫數據包中MAC地址后從端口1發送給交換機1,交換機1根據MAC地址表將數據從端口1發送給主機C,主機C接收到后根據ASCII碼將內容解譯出來,至此數據傳送完成。
教學實施完成后,教師對教學過程進行總結,同時針對教學實施中容易出錯的點再次結合原理進行講解,使學員對原理的理解更加深刻。
(1)學員對網絡設備作業流程不熟,導致執行過程出錯。由于每個學員的知識掌握程度有深有淺,并不是每一個學員都能迅速準確的執行信息流轉過程。這就需要讓學員利用課下時間進一步熟悉計算機網絡原理,認真準備。
(2)通過競爭的方式提高參與人員積極性。盡量讓每名學員都參與扮演,為了防止一些學員出工不出力,可以引入監督機制,將所有學員分為兩組或多組,一組學員作業時,另一組學員進行打分,對流程出錯的扣分,同時對信息發送效率進行橫向比較,提高參與人員積極性。
本文針對目前計算機網絡教學中存在的問題及學員的特點,提出將角色扮演方法用于計算機網絡教學。在課前設計好網絡結構、角色和流程;教學過程中,通過讓學員扮演一個網絡設備使學員更加深入了解網絡設備運行機理和網絡原理,做到理論和實踐有機融合,課堂注重學員維修思路和操作技能的培養,并利用總結環節對學員進行客觀評價。角色扮演的教學方法使學生學習興趣大大增強,教師授課熱情提高,課堂教學效果得到了進一步優化。