楊茂云,王改革
(江蘇師范大學 智慧教育學院,江蘇 徐州221116)
大數據、云計算、物聯網、人工智能、虛擬現實、基因工程等新技術和生物醫藥、新材料、新能源等新興產業需要大量的具有創意、創新、創業的信息技術人才[1-2]。教育部正在實施的“新工科研究與實踐項目”目標就是為了培養大量的創新型人才,其項目指南包括面向人工智能、大數據、云計算、物聯網等新技術的課程體系建設,探索創新型工程人才的培養模式等選題[3]。一些教師探討了多種培養創新型人才的教學模式[4-9],但是大多不符合新工科的要求。網絡是物聯網、大數據、人工智能、智能制造的基石,是一門理論與應用相結合的專業基礎課程。結合計算機網絡課程特點,對照新工科建設指南,借鑒探究教學模式,提出了問題導向的在線課堂學習、大學課堂教學、項目實踐的三位一體的探究式教學模式,并在“協議可靠傳輸機理”的教學中進行了實踐。
計算機網絡涉及計算機組成原理、信號與系統、操作系統、算法與數據結構、軟件、通信原理、電子電路、信息安全等諸多學科,主要涉及計算機網絡技術和網絡工程兩門課程。計算機網絡技術采用分層的方式建立計算機網絡的知識體系,然后自下而上依次講述各個協議;網絡工程主要介紹網絡規劃與設計以及網絡設備的配置,這兩門課程很少涉及網絡協議分析與設計的內容。實際上,物聯網、大數據、人工智能、智能制造的工程場景千差萬別,需要針對具體的工程場景設計專用的網絡通信協議,另外網絡空間安全要通過分析大量的網絡數據來發現安全威脅,因而社會需要大量的具有協議設計和分析網絡的工程思維和創新思維的人才。目前大學工科課程教學仍然采用教師教室講授知識、學生課后做作業、實驗室實驗的傳統教學模式,已經不能適應新工科的目標要求。
把教師和學生禁錮一處進行知識傳授和學習,已經不適應教育的需求。隨著網絡技術的發展,MOOC、學堂在線等在線課堂層出不窮,但是大多數在線課堂只是把線下教學遷移到線上,通過客觀測驗題驗證學生的學習效果,這樣的在線課堂既沒有吸引力也不能培養學生的創新思維。在線課堂可以通過一個個問題組織教學內容從而激發學生的好奇心和課堂黏度,可以通過探究性問題培養學生創新思維。在線課堂應該能夠采集學生的學習過程數據,以便老師獲知學生的認知過程和水平。
學生基本能自主完成簡單問題的探究,但是如果沒有教師的參與引導,往往不能持續有效地進行復雜問題的探究。在線課堂雖然有討論區,但是一方面文字描述往往詞不達意,另一方面老師也不能夠實時在線參與討論,因而并不完全適合探究性教學。大學課堂提供了師生面對面的實時互動的場所,通過分析在線課堂的學生反饋,教師可以有針對性地設計課堂教學內容,重點講授學生不懂的知識,可以有針對性地參與、引導學生進行問題探究,進一步培養學生的創新思維。
僅僅學習網絡協議的原理性,不探究實現細節,學生既不可能真正領會原理性的知識,更不能設計滿足需求的具體協議。由于網絡協議比較復雜且具體實現時要考慮很多因素,大多數教材很少涉及協議實現這一環節。紙上得來終覺淺,項目實踐不僅可以檢驗理論學習的不足,促使學生自我完善,也可以培養學生的工程思維能力。
計算機網絡采用分組交換技術,分組在傳輸時可能丟失、失序、出錯,因而本質上網絡只能提供不可靠的數據傳輸服務。在不可靠網絡上實現可靠通信,必須實施保障可靠通信的機制。可靠通信機理是TCP協議和協議設計的基礎,基于此提出的教學模式,在“協議可靠傳輸機理”的教學中進行了實踐。
雨課堂是學堂在線和清華大學共同研發的基于PPT與微信的在線智慧教學工具,教師在雨課堂上發布教學內容和測試題目,學生借助它可以自主探索課程內容,能及時反饋學習難點和疑問,教師借助它可以分析學生的認知水平、學習難點,有針對性地設計課堂教學[10]。這里只闡述教學思路,具體的教學內容可以通過雨課堂微信公眾號查閱。
3.1.1 停止等待協議
計算機網絡采用分組交換技術,分組的首部攜帶源地址、目的地址、控制、校驗和等信息,分組傳輸前不需要建立連接,每個分組可以自適應地獨立選擇路由,因而計算機網絡的冗余性高。分組需要在路由節點存儲轉發,緩存耗盡必然產生分組丟失,分組獨立選擇路由可能會引起分組錯序,分組在傳輸過程中也可能產生比特差錯,因而計算機網絡本質上是不可靠的,只能提供盡最大努力的數據傳輸服務。為了提供可靠的數據傳輸服務,必須采用保證可靠傳輸的機制,例如,停止等待(也叫ARQ)協議、連續ARQ協議。ARQ協議比較抽象,如果只采用知識講授的教學方法,學生往往只是死記硬背,不能真正掌握ARQ協議的機理,因而不能在具體的工程應用中針對需求靈活應用ARQ協議的機理設計相應的協議。
(1)分組失序問題。提出網絡發生分組失序問題,分析產生分組失序的內在原因。介紹保證分組有序的方案——停止等待協議。“停止等待”就是指發送端發送完一個分組就停止,等待對方的確認信息,只有對方確認正確,才能發送下一個分組,要求學生探究停止等待協議保證分組有序的機理。
(2)分組出錯問題。提出網絡發生分組出錯的問題,剖析產生分組出錯的內在原因。提出接收方為了向發送端確認消息,需要判斷接收的分組是否正確。介紹判斷分組是否正確的解決方案:發送方可以在分組中攜帶一個校驗和信息,接收方接收分組時通過校驗和就能驗證接收的分組是否出錯。進一步提出即使接收方驗證分組出錯,發送方也沒有辦法知道這個信息。教師啟發解決這個問題可以有兩個辦法:第一種方法,發送方詢問接收方分組是否正確;第二種方法,接收方向發送方通告分組出錯的信息,要求學生通過比較探究哪種方法更好。再次提出問題,分組出錯以后,接收方如何得到正確的分組,要求學生探究解決方案。
(3)分組丟失問題。提出網絡產生分組丟失問題,剖析分組丟失的內在原因,引導學生探究發送分組丟失會產生什么結果?確認丟失會產生什么結果?啟發學生回顧停止等待協議,探究得到分組丟失,發送端得不到確認消息就一直停止等待,產生協議死鎖。教師啟發學生在發送端設置超時計時器,要求學生探究超時計時器如何解決協議死鎖。
3.1.2 連續ARQ協議
引導計算ARQ協議的利用率,啟發學生分析ARQ利用率低的原因是停止等待。通過CPU的流水線技術,引入連續ARQ協議以及累積確認機制。介紹連續ARQ協議的接收方可以有3種不同的接收策略:①1≤接收緩存數<發送緩存數,采用累積確認;②接收緩存數=發送緩存數,采用累積確認;③接收緩存數=發送緩存數,采用選擇性確認。要求學生從分組丟失的角度,探究3種接收策略的特點。
3.1.3 連續ARQ的實現機制
介紹滑動窗口機制和窗口滑動規律,演示連續ARQ基于策略2的滑動窗口實現,要求學生探究為什么發與接雙方在發送數據前窗口的開始序號以及窗口長度必須一致。
雨課堂可以采集學生學習了哪些知識點及其學習時長、探究完成情況、不懂的知識點等數據。通過分析這些數據,發現80%的學生反映分組丟失、連續ARQ、連續ARQ接收策略這3部分內容難度較大。借助雨課堂的互動功能,在課堂重點講解、探究這3部分內容。
3.2.1 探究分組丟失
分組丟失或者確認丟失都會出現發送方死等接收方的確認信息的情況,發送方不會發送下一個分組—產生協議死鎖。引入超時計時器后,發送方發送分組時啟動超時計時器,當超時計時器超時,就重傳分組,這樣就可以解決協議死鎖問題。教師引導學生進一步探究:①超時計時器設置過大;②超時計時器設置過小;③分組或者確認延遲到達3種情形下引發的問題。學生探究超時計時器設置過大造成網絡利用率不高,超時計時器設置過小發送方會頻繁超時重傳會浪費網絡帶寬;分組或者確認延遲到達,發送方超時重傳會產生分組重復的問題。匯總學生探究的結果得到:超時計時器應該比往返時延大一些,分組要通過序號機制解決重復問題。教師提出序號空間問題:由于序號空間有限,肯定會出現序號輪回,此時若出現序號一樣的分組接收方無法判斷是否是重復分組。學生探究序號空間問題得出結論:只要保證在分組傳輸的最大時延內不產生序號輪回就不會產生序號輪回問題。
3.2.2 探究連續ARQ接收策略
啟發學生策略1的發送緩存大于接收緩存,接收方必須快速上交分組,否則會造成分組丟失,策略1在工程上很難實現。啟發學生策略2的發送緩存等于接收緩存,工程上非常容易實現雙方速率匹配,不會出現因為速率不匹配造成的分組丟失,當出現分組或確認丟失時,策略1、2都會產生go-back-n問題,策略3不會出現goback-n問題,但是實現比較麻煩。
為了檢驗學生掌握所學知識的程度以及培養學生的工程思維和創新思維,目前,設計了網絡數據分析和網絡協議設計兩個實踐項目,這兩個項目都需要學生掌握網絡協議的相關機理。
(1)網絡數據分析實踐。項目描述:隨著網絡的普及,網絡空間面臨的安全威脅與日俱增,社會需要大量的網絡空間安全管理與維護專業人才,分析網絡數據、挖掘面臨的安全隱患是維護網絡空間安全的主要手段之一。TCP通過實現連續ARQ協議實現了在不可靠網絡實現可靠通信,用網絡分析軟件WireShark捕獲TCP流數據,結合連續ARQ協議和TCP連接管理對TCP流數據進行分析。
項目要求:找出TCP建立連接的3個報文段,找出TCP釋放連接的4個報文段,分析這些報文段的序號、確認號、6個控制比特以及窗口值的變化規律,分析TCP流中傳輸的數據的內容,通過分析掌握連續ARQ網絡協議的機理和TCP實現技巧。
(2)網絡協議設計實踐。項目描述:隨著移動設備的普及各種網絡應用層出不窮,相當多的應用需要設計專用的通信協議,例如網絡支付類應用需要設計安全性高的協議,音樂播放器需要設計數據高速、有序、等時到達的協議等。企業為了保證設備能夠正常運行,需要對設備進行維護管理。如果采用定期檢修的維護辦法,有可能到達檢修期時,設備還完全正常;也有可能未到檢修期,設備已經發生故障。設備狀態健康管理系統通過網絡把采集的振動、溫度、壓力、張力等設備運行狀態數據傳輸到云平臺,借助人工智能進行分析可以及時發出設備故障預警。
項目要求:企業的生產環境的差異、網絡性能的差異,需要針對具體情況設計專用的網絡協議。假定網絡性能很好不會產生數據丟失,因而為了提高數據傳輸效率運輸層可以采用UDP,UDP不能保障數據有序到達,基于數據可靠傳輸的機理設計一個保證監測數據有序傳輸的網絡協議。
我們在兩個班級進行了教學實踐,有以下體會:
(1)在實施過程中發現有20%左右的學生不能及時完成在線課堂的學習,有6%左右的學生不進行學習,通過調研發現這些學生的自主學習意識和自我約束能力較弱,如何促使這些學生完成在線學習,還有待探討。
(2)在項目實踐環節,如果只對學生提交的項目實踐報告進行評價,學生往往會應付了事。我們分兩次實施項目實踐,完成第一次項目實踐后,學生要進行答辯,在答辯過程中,通過橫向比較,會發現自己的不足和別人的優點,然后進行自我完善,進行第二次項目實踐,最終的項目實踐成績要根據第二次的項目實踐以及自我完善程度進行綜合評價。