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