張 萍
(廣東工貿(mào)職業(yè)技術(shù)學(xué)院 計(jì)算機(jī)與信息工程學(xué)院,廣東 廣州 510510)
物聯(lián)網(wǎng)應(yīng)用技術(shù)主要研究信息采集、無線傳輸、信息處理等方面基本知識(shí)和技能,進(jìn)行物聯(lián)網(wǎng)系統(tǒng)設(shè)計(jì)、項(xiàng)目管理、終端節(jié)點(diǎn)的安裝與調(diào)試、系統(tǒng)集成、施工等,學(xué)生未來主要從事物聯(lián)網(wǎng)設(shè)備的生產(chǎn)、應(yīng)用和維護(hù),嵌入式系統(tǒng)的開發(fā)和維護(hù),物聯(lián)網(wǎng)系統(tǒng)產(chǎn)品銷售與推廣等方面的工作。物聯(lián)網(wǎng)應(yīng)用技術(shù)專業(yè)的課程一般是按照物聯(lián)網(wǎng)體系結(jié)構(gòu)感知層、傳輸層、應(yīng)用層進(jìn)行設(shè)計(jì)安排?!坝?jì)算機(jī)網(wǎng)絡(luò)與通信”屬于傳輸層的基礎(chǔ)課程,為學(xué)生理解萬物互聯(lián)互通提供理論依據(jù),為學(xué)生在未來工作中調(diào)試系統(tǒng)的通信功能提供技能支持,同時(shí)為學(xué)生學(xué)習(xí)“無線傳感網(wǎng)絡(luò)”等專業(yè)課程提供知識(shí)基礎(chǔ)。針對(duì)“計(jì)算機(jī)網(wǎng)絡(luò)與通信”課程原理部分概念抽象、較難理解和實(shí)操部分靈活多變等問題,結(jié)合專業(yè)背景,在教學(xué)設(shè)計(jì)和教學(xué)模式上做出探索和改進(jìn),以期提高學(xué)生滿意度。
“計(jì)算機(jī)網(wǎng)絡(luò)與通信”主要包含了TCP/IP屬性配置、路由器基本配置、IP地址規(guī)劃、協(xié)議報(bào)文分析、VLAN配置、VLAN間路由和無線局域網(wǎng)等內(nèi)容,既包含了基本的計(jì)算機(jī)網(wǎng)絡(luò)原理,又包含了較多的網(wǎng)絡(luò)基本操作技術(shù)[1]。在課程教學(xué)中,以O(shè)SI五層模型為線索串聯(lián)教學(xué)內(nèi)容,按照物理層、鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層的順序組織教學(xué)內(nèi)容,有助于學(xué)生從整體掌握網(wǎng)絡(luò)通信的原理及網(wǎng)絡(luò)的使用。結(jié)合物聯(lián)網(wǎng)應(yīng)用技術(shù)專業(yè)特性及后續(xù)的課程教學(xué)需要,對(duì)于網(wǎng)絡(luò)設(shè)備的地址規(guī)劃、尋址、協(xié)議報(bào)文分析等內(nèi)容進(jìn)行重點(diǎn)講解并進(jìn)行必要拓展。見表1所列,以ZigBee無線傳感網(wǎng)絡(luò)為例,比較其和計(jì)算機(jī)通信網(wǎng)絡(luò)的異同,凸顯“計(jì)算機(jī)網(wǎng)絡(luò)與通信”這門課程的基礎(chǔ)性。
表1 ZigBee網(wǎng)絡(luò)與計(jì)算機(jī)通信網(wǎng)絡(luò)
“計(jì)算機(jī)網(wǎng)絡(luò)與通信”的教學(xué)內(nèi)容可以分為兩大類:一部分內(nèi)容偏理論,包括網(wǎng)絡(luò)分層模型,TCP/UDP、IP、ARP、DNS等網(wǎng)絡(luò)通信協(xié)議,這部分內(nèi)容概念抽象,原理復(fù)雜,較難理解;另一部分偏應(yīng)用,包括IP地址的規(guī)劃、路由器基本配置、VLAN配置等,這部分內(nèi)容實(shí)踐性強(qiáng),需學(xué)生靈活使用。針對(duì)不同類型的教學(xué)內(nèi)容,采用了不同的教學(xué)方法。
對(duì)于偏理論的內(nèi)容,將抽象的概念實(shí)例化,在模擬網(wǎng)絡(luò)通信的過程中去理解原理。下面以網(wǎng)絡(luò)分層模型和TCP/UDP協(xié)議為例進(jìn)行說明。
2.1.1 網(wǎng)絡(luò)分層模型
網(wǎng)絡(luò)分層模型是理解網(wǎng)絡(luò)通信的基石,也是學(xué)習(xí)的重難點(diǎn)。整個(gè)通信過程是分層的,通信協(xié)議是對(duì)應(yīng)層之間的協(xié)議,層與層之間只存在簡(jiǎn)單的接口關(guān)系,學(xué)生對(duì)于分層、通信協(xié)議、接口、對(duì)等實(shí)體等概念難以理解。教材通常以郵政信函的通信過程為例,幫助學(xué)生理解分層模型,但是這與實(shí)際的網(wǎng)絡(luò)通信過程存在差距。下面用具體情境結(jié)合Wireshark網(wǎng)絡(luò)[2]抓包工具來闡述分層模型的實(shí)現(xiàn)。
本文模擬了服務(wù)器和客戶端的通信過程,在Ubuntu虛擬機(jī)(192.168.80.128)上運(yùn)行服務(wù)器程序??蛻舳撕头?wù)器通信示意圖如圖1所示,效果如圖2所示。
圖1 客戶端和服務(wù)器通信示意圖
圖2 服務(wù)器程序運(yùn)行效果
在另一臺(tái)IP是192.168.80.130的電腦上輸入如下命令“telnet 192.168.80.128 2323”;再輸入測(cè)試數(shù)據(jù),比如“123456”。效果如圖3所示。圖4是服務(wù)端接收到的數(shù)據(jù)截圖。
圖3 客戶端運(yùn)行效果
圖4 服務(wù)端接收數(shù)據(jù)截圖
使用Wireshark工具捕獲的通信過程如圖5所示。
圖5 Wireshark工具捕獲的客戶端和服務(wù)端通信過程
通信過程包括了完整的TCP建鏈過程、數(shù)據(jù)傳輸過程、斷鏈過程。選中客戶端往服務(wù)端發(fā)送“123456”這一次的數(shù)據(jù)傳輸過程,從分層模型的角度進(jìn)行詳細(xì)分析。
客戶端向服務(wù)端發(fā)送的信息僅僅只是“123456”,但是抓包工具抓到的內(nèi)容遠(yuǎn)不止這些,那么這些被添加的內(nèi)容及其作用是什么值得思考。日常生活中寄信時(shí)需要將信紙裝進(jìn)信封,信封上寫上發(fā)件人、收件人等額外信息,信件到了郵局,還會(huì)進(jìn)行分揀,蓋上郵戳等信息,最后收件人收到的是帶有中間傳輸信息的信封,但是他關(guān)注的僅僅只是信紙寫的內(nèi)容。同樣,在網(wǎng)絡(luò)的世界里,如果只發(fā)“123456”,計(jì)算機(jī)、網(wǎng)絡(luò)設(shè)備是不知道如何發(fā)送數(shù)據(jù)的,應(yīng)該有類似于發(fā)件人、收件人、郵戳等信息。從圖6可以看出,“123456”是應(yīng)用層數(shù)據(jù),服務(wù)器程序在調(diào)用Socket 函數(shù)接口時(shí),會(huì)添加上端口、IP等信息;在經(jīng)過網(wǎng)卡處理后,會(huì)添加上MAC地址等信息,最后變成數(shù)字信號(hào)通過網(wǎng)線傳輸。
圖6 客戶端向服務(wù)端發(fā)送數(shù)據(jù)的分層解析
從圖7可以看出,用戶提供的只是“123456”應(yīng)用程序數(shù)據(jù),但是最后傳輸?shù)膬?nèi)容附加了很多信息。表2具體列出了各層增加的關(guān)鍵項(xiàng)以及在實(shí)際通信過程中負(fù)責(zé)添加、處理關(guān)鍵項(xiàng)的模塊實(shí)例。
表2 網(wǎng)絡(luò)層次與模塊實(shí)例的對(duì)應(yīng)關(guān)系
圖7 應(yīng)用數(shù)據(jù)的封裝過程
2.1.2 TCP/UDP協(xié)議
TCP/UDP是傳輸層的兩個(gè)重要協(xié)議。TCP是面向連接的協(xié)議,服務(wù)質(zhì)量有保證;UDP是無連接協(xié)議,服務(wù)質(zhì)量沒有保證[3]。在進(jìn)行網(wǎng)絡(luò)編程時(shí),協(xié)議類型是重要的函數(shù)參數(shù),體現(xiàn)了不同的傳輸特性。TCP/UDP的不同特性是由其協(xié)議報(bào)文決定的,圖8和圖9分別是TCP和UDP協(xié)議的報(bào)文格式。
圖8 TCP協(xié)議報(bào)文
圖9 UDP協(xié)議報(bào)文
從協(xié)議報(bào)文可以看出,TCP協(xié)議報(bào)文比UDP協(xié)議報(bào)文復(fù)雜,包含了較多的字段。正是這些字段,支持了TCP的各種特性。而UDP的協(xié)議報(bào)文非常簡(jiǎn)單,因此它是無連接的、無流量控制機(jī)制、不保證可靠傳輸?shù)?。TCP協(xié)議報(bào)文字段與TCP特性對(duì)應(yīng)關(guān)系見表3所列。
表3 TCP協(xié)議報(bào)文字段與TCP特性對(duì)應(yīng)關(guān)系
偏應(yīng)用的內(nèi)容重點(diǎn)在于訓(xùn)練學(xué)生能針對(duì)不同場(chǎng)景熟練使用所需技能[4]。設(shè)計(jì)了一系列的實(shí)驗(yàn),從簡(jiǎn)單到復(fù)雜,循序漸進(jìn),先是針對(duì)各個(gè)獨(dú)立知識(shí)點(diǎn)訓(xùn)練,再是知識(shí)的綜合使用,使學(xué)生能熟練掌握網(wǎng)絡(luò)通信的基本技能并靈活使用。實(shí)驗(yàn)項(xiàng)目與相關(guān)技能對(duì)應(yīng)關(guān)系見表4所列。
表4 實(shí)驗(yàn)項(xiàng)目與相關(guān)技能對(duì)應(yīng)關(guān)系
“計(jì)算機(jī)網(wǎng)絡(luò)與通信”是實(shí)踐性很強(qiáng)的課程,課堂上教師也需要進(jìn)行較多的實(shí)驗(yàn)操作,但學(xué)生往往看過之后容易忘記,等到自己做實(shí)驗(yàn)時(shí),不知如何動(dòng)手,或者只能完成部分。針對(duì)這種情況,采用線上線下相結(jié)合的教學(xué)模式能取得較好的教學(xué)效果[5],在優(yōu)慕課上建立網(wǎng)絡(luò)課程,提供實(shí)驗(yàn)操作文檔、實(shí)驗(yàn)演示視頻,不同層次的學(xué)生按需使用[6]。理解能力好、接受能力強(qiáng)的學(xué)生可以按照實(shí)驗(yàn)文檔操作完成實(shí)驗(yàn);而能力弱一些的學(xué)生可以先按實(shí)驗(yàn)文檔操作,遇到困難再去觀看實(shí)驗(yàn)演示視頻,不建議直接跟著實(shí)驗(yàn)演示視頻做實(shí)驗(yàn),避免失去碰到問題、解決問題的機(jī)會(huì),鼓勵(lì)學(xué)生不要害怕問題、在解決問題的過程中成長(zhǎng)。
“計(jì)算機(jī)網(wǎng)絡(luò)與通信”是高職物聯(lián)網(wǎng)應(yīng)用技術(shù)專業(yè)的一門基礎(chǔ)課,有助于學(xué)生理解網(wǎng)絡(luò)通信原理,理解物物互聯(lián)。本文將教學(xué)內(nèi)容分為理論和實(shí)踐兩類[7],分別采用了不同的教學(xué)設(shè)計(jì)。對(duì)于偏理論的內(nèi)容,從網(wǎng)絡(luò)分層模型的角度出發(fā),將抽象的理論實(shí)例化[8],在具體的網(wǎng)絡(luò)通信場(chǎng)景中解釋理論,降低學(xué)習(xí)的門檻;對(duì)于偏實(shí)踐的內(nèi)容,設(shè)計(jì)了一系列的實(shí)驗(yàn),學(xué)生在反復(fù)實(shí)踐中掌握技能,學(xué)會(huì)靈活使用。采用線上和線下相結(jié)合的教學(xué)模式[9],突破傳統(tǒng)課堂時(shí)間和空間的限制,學(xué)生可以根據(jù)自身能力情況選擇合適的學(xué)習(xí)模式[10],做到因材施教。這些措施在實(shí)際教學(xué)中起到了較好效果,學(xué)生學(xué)習(xí)效果較好,滿意度得到提高。