劉新 葉德建 姜秀艷
摘要:針對計算機網(wǎng)絡(luò)課程內(nèi)容零散的特點,提出將啟發(fā)式教學(xué)模式應(yīng)用在計算機網(wǎng)絡(luò)教學(xué)過程中,通過不斷提問和啟發(fā)并結(jié)合身邊的事例,引導(dǎo)學(xué)生不斷思考,對學(xué)生的回答情況予以點評,最后分析啟發(fā)式教學(xué)在計算機網(wǎng)絡(luò)課程中的作用。
關(guān)鍵詞:啟發(fā)式;教學(xué)模式;計算機網(wǎng)絡(luò)課程;協(xié)議
隨著知識的飛速發(fā)展和社會競爭程度的加劇,教師在教學(xué)方面只傳授學(xué)生知識是遠遠不夠的,應(yīng)該適應(yīng)社會形勢的變化,著重培養(yǎng)學(xué)生自我學(xué)習(xí)的能力。特別是計算機網(wǎng)絡(luò)這門學(xué)科,誕生于20世紀70年代,在近十幾年發(fā)展迅速。即便是今天,各種網(wǎng)絡(luò)技術(shù)仍在不斷地發(fā)展變化,且涵蓋的內(nèi)容非常廣泛。學(xué)生從學(xué)校教育中獲得的計算機網(wǎng)絡(luò)知識,遠遠滿足不了將來工作和學(xué)習(xí)的需要。因此,教師在教學(xué)中必須重視學(xué)生能力的培養(yǎng),尤其是自學(xué)能力和創(chuàng)造能力的培養(yǎng),而現(xiàn)代教育中的啟發(fā)式教學(xué)法就是一種比較有效的教學(xué)手段。
在啟發(fā)式教學(xué)中,教師只起到啟發(fā)和誘導(dǎo)學(xué)生的作用,指導(dǎo)學(xué)生自己思考問題和發(fā)現(xiàn)規(guī)律,從而解決問題并獲取知識,充分體現(xiàn)學(xué)生的主體作用。從學(xué)生的反應(yīng)看,由于課堂教學(xué)充分調(diào)動了學(xué)生的積極性,使得學(xué)生的參與熱情高漲,啟發(fā)式教學(xué)的受歡迎程度遠遠勝于傳統(tǒng)的填鴨式教學(xué)方式。不斷地提問激發(fā)了學(xué)生的學(xué)習(xí)興趣和動機,學(xué)生開始積極思考,并逐漸把這種獨立思考與開放性的思維模式應(yīng)用在計算機科學(xué)相關(guān)領(lǐng)域和日常生活中,提高了解決實際問題的能力。
1、啟發(fā)式教學(xué)在基礎(chǔ)知識方面的應(yīng)用
目前計算機網(wǎng)絡(luò)教材多以講述ISO/OSI和TCP/IP 2種網(wǎng)絡(luò)模型為人手點,但其中的內(nèi)容零散、理論抽象,我們就從Intemet的最初設(shè)計目標講起。雖然文獻是一篇很早的論文,但文章里提到的網(wǎng)絡(luò)協(xié)議設(shè)計思路、歷史回溯和對未來的展望,可以加深學(xué)生對當前網(wǎng)絡(luò)結(jié)構(gòu)的理解。Intemet在訂立合同時的設(shè)計目標包括:①首要目標,DARPAIntemet體系結(jié)構(gòu)的首要目標是找到合適的技術(shù),使現(xiàn)有的網(wǎng)絡(luò)互連,最初的目標就是使ARPAnet互連;②其次目標,按照重要性,要實現(xiàn)的具體目標包括當部分網(wǎng)絡(luò)或者網(wǎng)關(guān)損壞時,Intemet連接必須能夠繼續(xù),能夠支持多種類型的通信服務(wù),能夠互連不同種類的網(wǎng)絡(luò);③其他目標,包括分布式的資源管理、資源有效、連網(wǎng)方法簡單及資源可統(tǒng)計等。在課程講述的整個過程中,我們始終以此為綱,牢牢把握這些設(shè)計目標的優(yōu)先級,更深層次地了解網(wǎng)絡(luò)現(xiàn)狀。
在網(wǎng)絡(luò)的架構(gòu)搭建方面,網(wǎng)絡(luò)發(fā)展了幾十年的時間,盡管應(yīng)用范圍和物理環(huán)境等與設(shè)計之初已是天壤之別,但計算機網(wǎng)絡(luò)一直都在使用,且擴展性極強,這與網(wǎng)絡(luò)最初的設(shè)計目標息息相關(guān)。設(shè)計的其次目標中最重要的一點就是“當部分網(wǎng)絡(luò)或者網(wǎng)關(guān)損壞時,Internet連接必須能夠繼續(xù)”。當前的網(wǎng)絡(luò)現(xiàn)狀是包的可靠傳輸、排序、資源分配等很多復(fù)雜的功能都由終端實現(xiàn),而中間層的功能則比較簡單,也只有這樣設(shè)計才能確保當初設(shè)計目標的實現(xiàn)。網(wǎng)絡(luò)的分組方式為什么選擇分組交換而非電話網(wǎng)的電路交換方式?原因之一就是計算機網(wǎng)絡(luò)為魯棒性而設(shè)計,通信雙方是否成功僅取決于雙方的狀況,至于中間的鏈路則可以選擇不同的路徑,這正是分組交換方式的特性,電路交換則要求采用固定的一條物理鏈路。另外,教師還可以啟發(fā)學(xué)生從應(yīng)用層的業(yè)務(wù)特性回答這個問題。電話中的業(yè)務(wù)——語音占用的帶寬是穩(wěn)定的,事先建立好的物理鏈路比較合適,而人們在上網(wǎng)時傳輸?shù)臉I(yè)務(wù)——數(shù)據(jù)是突發(fā)的,帶寬波動較大,有時需要占有某一條鏈路。
在網(wǎng)絡(luò)的連通層面,網(wǎng)絡(luò)層的尋址方式中有哪些方法可供選擇?而Intemet最終選擇了哪種尋址方式?我們可以提示學(xué)生根據(jù)生活中尋找某個地址的思路設(shè)計Intemet,將十字路口想象成路由器,而馬路就是網(wǎng)絡(luò)中的鏈路,并且馬路偶爾會發(fā)生修路封閉的狀況。依據(jù)我們的生活經(jīng)驗,人們可以有以下幾種方式:通過尋找地圖的方式,自己全部掌握從出發(fā)到目的地的路線(源路由方式);只知道大概方向,到了一個地方就向別人打聽接下來的部分路線,直至最后找到目的地(全局IP地址方式);“打的”只需要告訴出租車司機最終的目的地,司機要掌握整條路線的狀況(虛電路方式)。
教師給學(xué)生提供基于身邊的生活事例,讓學(xué)生有了感性認識后,再讓學(xué)生將感性認識上升到理性高度,講解每種找路方式的具體情況,既便于學(xué)生理解,又拓寬了他們的思路。然后再從路由表頭部的大小、路由表的大小、轉(zhuǎn)發(fā)的開銷、建立連接的開銷、錯誤恢復(fù)的開銷等多個角度啟發(fā)學(xué)生,讓學(xué)生比較各種路由方式的優(yōu)缺點,從而明確選擇全局IP地址方式的主要原因就是中間的路由器應(yīng)該是無狀態(tài)的,這樣才能在差錯恢復(fù)時進行相對簡單的處理,保證網(wǎng)絡(luò)的魯棒性。經(jīng)過幾次類似的啟發(fā)訓(xùn)練,學(xué)生了解了學(xué)術(shù)科研的基本過程并確定最終解決方案的思路。
接下來的2個設(shè)計目標是網(wǎng)絡(luò)向上提供多種類型的服務(wù),向下互連多種不同類型的網(wǎng)絡(luò),形成漏斗形狀,網(wǎng)絡(luò)的沙漏模型如圖1所示。那么,這在Internet中是如何實現(xiàn)的呢?采用的方法是將IP層做得“很薄”,在相對低的IP層提供功能盡可能簡單的服務(wù),才能使得高層方便根據(jù)需要訂制各種不同目標和不同類型的服務(wù)。如果用“小蠻腰”進行比喻,那么學(xué)生就很容易記住和掌握網(wǎng)絡(luò)設(shè)計的這2個目的。
當前的網(wǎng)絡(luò)有哪些不足呢?最大的問題莫過于計費和安全。由于網(wǎng)絡(luò)在設(shè)計之初就是為了魯棒性,把計費的優(yōu)先級排在最后,而對于安全問題則根本沒有考慮。最合理的計費方式是根據(jù)流量計費,因為實際的流量在某種程度上反映對網(wǎng)絡(luò)資源的占用量,但目前的技術(shù)條件很難把某個用戶所用的實際流量計算出來,因為目前的流量還包括廣播重傳等多項流量。Internet的開放性和可擴展性也導(dǎo)致諸多安全隱患,如為了方便主機接入網(wǎng)絡(luò),IP頭部信息不需確認、IP源地址可以偽造等。
對于某些安全隱患問題,我們則需要將Intemet多個設(shè)計目標相結(jié)合才能回答。例如,有了以太網(wǎng)的MAC地址,為什么還需要設(shè)置IP地址?我們可以先了解當時網(wǎng)絡(luò)設(shè)計的首要目標,即要把不同的底層網(wǎng)絡(luò)互連,特別是在以前,以太網(wǎng)沒有今天這么普及,還有ATM和幀中繼網(wǎng)絡(luò)等,即便是現(xiàn)在,也還有FDDI、無線局域網(wǎng)等多種局域網(wǎng)技術(shù),僅有以太網(wǎng)的MAC地址無法實現(xiàn)網(wǎng)絡(luò)互連。另外,Intemet設(shè)計還要求連網(wǎng)簡單,用附加的IP地址更易于設(shè)備的移動和維修,如一臺主機從一個網(wǎng)絡(luò)移動到另一個網(wǎng)絡(luò)無需更換網(wǎng)卡,只需重新設(shè)定IP地址。最后,IP地址與實際網(wǎng)絡(luò)拓撲相關(guān),是有層次的,可以高效路由,而MAC地址則是廠家在出廠時設(shè)定,與實際網(wǎng)絡(luò)拓撲無關(guān),在查找路由時擴展性較差。
還有一些內(nèi)容,教師在講述時不僅要關(guān)注知識點本身,還應(yīng)該通過啟發(fā)的方式把知識點蘊含的本質(zhì)展現(xiàn)給學(xué)生。例如,講完局域網(wǎng)的拓撲結(jié)構(gòu)后,學(xué)生一般都會記住以太網(wǎng)是總線型結(jié)構(gòu),可是學(xué)生發(fā)現(xiàn)多臺主機通過網(wǎng)線接入集線器/交換機,從物理外觀上看是星型結(jié)構(gòu)。這里教師就要讓學(xué)生明白總線型網(wǎng)絡(luò)的本質(zhì)是數(shù)據(jù)幀可以在總線上廣播,總線上的所有終端都可以接收到數(shù)據(jù)幀,而星型網(wǎng)絡(luò)的本質(zhì)是數(shù)據(jù)幀需要通過中心設(shè)備轉(zhuǎn)發(fā),因此通過集線器互連的多臺機器與傳統(tǒng)的同軸電纜以太網(wǎng)都是總線型結(jié)構(gòu),而通過具有自動尋址功能(轉(zhuǎn)發(fā)到指定端口)的交換機互連的雙絞線以太網(wǎng)則是星型結(jié)構(gòu)。
學(xué)生容易區(qū)分TCP與UDP,前者是可靠面向連接的,而后者不可靠無連接的。然而,同是不可靠無連接的協(xié)議,還有必要在IP層之上構(gòu)建UDP協(xié)議么?二者的本質(zhì)區(qū)別在哪里呢?教師可以通過學(xué)生的日常計算機應(yīng)用解釋這個問題:相同的收發(fā)端,它們的IP相同,但可能運行多個進程,不同的進程需要不同的端口號,因此需要在IP之上構(gòu)造UDP以表示不同的進程,這是網(wǎng)絡(luò)層與傳輸層的本質(zhì)區(qū)別。
2、啟發(fā)式教學(xué)在研究領(lǐng)域的應(yīng)用
計算機網(wǎng)絡(luò)本身也在時刻發(fā)生變化,教師在講課時必須融入一些新的研究成果和方向,才能激發(fā)學(xué)生的學(xué)習(xí)興趣,使學(xué)生對網(wǎng)絡(luò)的應(yīng)用和發(fā)展有更清楚的了解。例如,教師在講述TCP的擁塞控制算法時,往往會提到慢啟動、擁塞避免、快速重傳與快速恢復(fù)4個步驟,并指出其中的慢啟動并非真正意義的慢啟動,在RTT時間內(nèi),擁塞窗口是以指數(shù)規(guī)模增加的。然而,擁塞算法是在80年代提出的,那時網(wǎng)絡(luò)帶寬都很窄,即便是指數(shù)級的擁塞窗口快速增長,在今天網(wǎng)絡(luò)帶寬很大的情況下也并不適合。
教師可以通過計算讓學(xué)生認識到這一點,對于1Mbps的帶寬,假設(shè)RTT=200ms,慢啟動方式下,每個分組1KB字節(jié),需要多少時間才能達到1Mbps的帶寬?結(jié)果是慢啟動方式要花費2秒才能使實際流量接近網(wǎng)絡(luò)提供的帶寬。學(xué)生通過計算結(jié)果明確在延遲帶寬積較大的情況下,慢啟動算法導(dǎo)致帶寬的利用率很低,從而意識到不必“神化”已有的算法,任何問題的解決方案都不是完美的,都有一定的時代背景與前提,而研究的切入點也往往在此。
教師在講課時可以穿插一些對流行軟件的分析,以提高學(xué)生的學(xué)習(xí)興趣。例如,學(xué)生或多或少都會用到QQ或MSN等即時通信軟件,傳文件時普遍感覺MSN要慢于QQ,那么這是什么原因呢?教師在提示學(xué)生QQ大多數(shù)采用UDP傳輸文件,而MSN采用TCP傳輸文件后,有的學(xué)生提出TCP實現(xiàn)可靠傳輸需有3次握手以建立連接,導(dǎo)致MSN速度較慢。在學(xué)生給出并非準確的答案之后,教師不能立即否定學(xué)生的答案,否則會打消學(xué)生的積極性,而是要在鼓勵學(xué)生和肯定答案正確的一面后,再指出答案的不足之處:商業(yè)化的產(chǎn)品不可能不考慮文件傳輸?shù)目煽啃裕@種可靠性在應(yīng)用層實現(xiàn),這樣可以減小完全用TCP帶來的傳輸開銷,3次握手只是開始建立連接時需要,并非貫穿整個傳輸過程,所以不是主要原因。根本原因是一方面UDP容易穿越NAT,收發(fā)雙方直接傳送文件,不像MSN需要服務(wù)器的中轉(zhuǎn);另一方面,網(wǎng)絡(luò)擁塞時TCP會減小擁塞窗口,而UDP則不會,這就引出擁塞控制的公平性問題。
又例如,在應(yīng)用層如何實現(xiàn)高速下載?有多個TCP流的方法,如以前的網(wǎng)絡(luò)螞蟻,也有P2P的方式,如BT與電驢。另外,還可以就P2P的傳輸原理、P2P與ISP之間的矛盾設(shè)置等問題繼續(xù)啟發(fā)學(xué)生。這樣,在一問一答中不僅拓展學(xué)生的發(fā)散性思維,而且鍛煉學(xué)生分析問題的能力。
3、結(jié)語
計算機網(wǎng)絡(luò)是計算機發(fā)展和通信技術(shù)緊密結(jié)合并不斷發(fā)展的一門學(xué)科。從科研角度看,一般研究問題都分為提出問題、選擇解決問題的方法、給出最終的解決思路這幾部分內(nèi)容,而目前計算機網(wǎng)絡(luò)的相關(guān)教科書幾乎都只涉及最后一部分內(nèi)容,即計算機網(wǎng)絡(luò)研究的最終成果,對于形成原因及發(fā)展過程并沒有涉及。掌握計算機網(wǎng)絡(luò)發(fā)展的歷史,可以令我們更深層次地了解如今網(wǎng)絡(luò)現(xiàn)狀產(chǎn)生的原因,還能幫助我們推測未來網(wǎng)絡(luò)的發(fā)展方向,對當前的網(wǎng)絡(luò)與協(xié)議優(yōu)化也有一定指導(dǎo)作用。
我們把課程的重點放在“為什么這樣設(shè)計網(wǎng)絡(luò)”,將網(wǎng)絡(luò)看成是交互式的復(fù)雜系統(tǒng),在每個話題開始前都向?qū)W生提出一些啟發(fā)式問題,引導(dǎo)學(xué)生用學(xué)到的知識解決實際問題,最后再由因及果地講述當今網(wǎng)絡(luò)系統(tǒng)的現(xiàn)狀;啟發(fā)學(xué)生自主思考,同時生動地再現(xiàn)計算機網(wǎng)絡(luò)技術(shù)的發(fā)展過程,使學(xué)生不僅知其然還知其所以然。這樣,學(xué)生才不會因為時間流逝而忘掉學(xué)到的網(wǎng)絡(luò)技術(shù)知識,同時也提高了實際應(yīng)用能力和獨立解決問題的能力。