王勇+薛靜鋒+李鵬+劉振巖+張繼+單純


(北京理工大學 軟件學院,北京 100081)
摘 要:針對面向碩士研究生的高級計算機網絡課程教學中存在的教學內容沒有反映發展前沿、缺乏針對解決計算機網絡設計與高級應用等實際問題的內容、教學方法缺乏系統性和整體觀、考核方法只注重基礎理論知識的記憶等問題,提出以創新能力培養為導向設計系統化教學體系,包括非嚴格分層的系統化理論教學內容、遵循科學發現過程的層次化實驗教學內容、激發創新興趣的二維系統化教學方法和強調創新能力的綜合考核方法。
關鍵詞:高級計算機網絡;教學體系;實驗;創新能力
0 引 言
計算機網絡是計算機科學與技術學科、軟件工程學科、網絡空間安全學科的核心基礎課程,貫穿于本科階段、碩士階段和博士階段。高級計算機網絡課程主要面向碩士階段,在本科階段掌握了計算機網絡體系結構、網絡基礎協議分析等基本理論的基礎上,深入探究計算機網絡協議的技術原理,學習網絡設計方法,理解計算機網絡技術的發展前沿,為博士階段的創新性研究打下堅實的基礎。可見,高級計算機網絡課程處于承上啟下的核心位置,對于培養學生的科研創新能力具有關鍵作用。但目前高級計算機網絡課程在教學中存在系統性不強、學生實踐能力弱、前沿知識匱乏等問題[1],因此有必要針對這些問題提出相應的教學改革方案。
1 高級計算機網絡課程在教學中存在的問題
目前高級計算機網絡課程在教學中存在的主要問題包括:理論教學內容更新速度慢,無法反應計算機網絡技術發展前沿;教學內容按照計算機網絡體系結構以嚴格分層方式進行組織,方便學生掌握局部知識點,但缺乏對網絡總體構成和工作原理的系統化理解;實踐教學內容以網絡基本配置等基礎實踐技能為主,缺乏對面向解決實際問題的綜合實踐能力的訓練;理論教學和實踐教學中都缺乏對科研方法和能力培養的內容;考核機制仍然以對客觀知識的記憶為重點,沒有突出對實踐能力和創新能力的單獨考核。
計算機網絡技術作為推動國家發展的重要基礎設施,近年來發展迅速,云計算、物聯網、軟件定義網絡等新理論和新技術不斷涌現,但現行的計算機網絡課程教材沒有涉及這些內容,甚至出現原有的一些原理與實際不符的情況,這使得學生只能機械地記憶抽象的知識而無法解釋和解決新出現的網絡技術問題。
教學內容嚴格按照物理層、數據鏈路層、網絡層、傳輸層和應用層5個層次進行組織,根據講授的順序可分成“自底向上”[2]和“自頂向下”[3]兩種方法,分別從基礎知識和應用需求兩個角度組織教學內容,但都存在知識點分散、缺少整體觀的問題,不利于培養系統化思維習慣和能力。另外,很多碩士網絡課程是在復習本科階段所講述的網絡5層基本知識的基礎上,增加無線網絡和多媒體網絡等內容,使得高級計算機網絡成為計算機網絡的簡單擴充,這對于培養學生的科研創新能力毫無益處,甚至在加強學生的網絡基礎知識方面的作用也微乎其微。
碩士課程普遍存在“重理論、輕實踐”的問題,高級計算機網絡課程實踐課時較少,而且實踐教學內容仍然以網絡基本配置等基礎實踐技能為主,對于如何將教學內容應用到實際研究工作中的關注度不夠,缺乏解決實際問題的綜合實踐能力訓練。
2 以創新能力培養為導向的高級計算機網絡課程系統化教學體系
基于上文對目前高級計算機網絡課程在教學中存在問題的分析,我們認為高級計算機網絡課程的教學必須以培養科研創新能力為導向,以系統化的方法組織教學內容和教學方法,并根據學生的實際情況進行微調,在研究方法和網絡相關知識方面為后續課題的研究奠定扎實的基礎。
2.1 非嚴格分層的系統化理論教學內容
針對嚴格分層模型在描述可靠性、流量控制、安全等跨越多個分層的概念時容易產生混亂的問題,總體上以一種松散分層模型組織理論教學內容,將涉及多個層的主題放在一起討論。以網絡應用及其需求為出發點,從主機的互聯問題開始,逐層向上討論,在不同網絡主題間建立聯系,逐步形成端到端的網絡系統概念。理論教學內容在Peterson L L的教材[4]基礎上增加對發展前沿的專題研究,具體設置見表1。
理論教學內容從計算機網絡應用的具體需求出發,分解成構建計算機網絡的不同任務,從簡單的單個計算機相連到復雜的大規模網絡互聯,最終實現安全、高性能的端到端通信,環環相扣,逐步實現應用需求。對于每一個主題,都按照“提出問題——分析并分解問題——解決問題”的過程進行教授,鼓勵學生脫離教材,利用互聯網資源自己尋求解決方案,這有助于培養學生的創新型思維和獨立解決問題的能力。
碩士生應盡早了解計算機網絡技術的發展方向,特別是近幾年出現的云計算數據中心網絡、軟件定義網絡等新技術,它們采用了與傳統網絡不同的體系結構,反映了新型網絡應用的新需求,與前面學習的“傳統”網絡基礎理論知識進行對比,不但能加深對所學知識的理解,而且能夠幫助學生學習如何擴展思路,對同一問題提出不同的解決方案。這些教學內容不僅是知識的傳授,也是對課題研究方法的講解,能夠幫助學生提高科研創新能力。
2.2 遵循科學發現過程的層次化實驗教學內容
為了滿足高級計算機網絡課程對實踐的要求,有必要設計合理的實驗教學內容來幫助學生更好地理解和運用理論教學內容。我們設計了不同類型的實驗內容,并充分利用各種硬件和軟件工具設計了多樣的實驗方法。實驗的難度和深度是逐漸遞進的,既能保證學生掌握基礎理論,又能讓他們學習研究方法,還能使他們深入了解發展前沿。
針對夯實理論基礎、增強操作能力、培養創新意識3個層次的培養目標,設計了4類實驗教學內容,包括分析驗證型實驗、綜合設計型實驗、研究型實驗和前沿探索型實驗,每一類實驗的內容和方法見表2。
分析驗證型實驗是對理論教學內容的具體化和印證,面向碩士生的實驗應該更強調系統性,不是孤立地分析單個協議的行為,而是針對端到端通信整個過程中所涉及的各個網絡層次的協議,分析它們如何協作來共同完成網絡應用的通信需求。另外,對在本科階段只是簡略介紹的RIP和BGP等路由協議、多媒體數據傳輸協議以及無線網絡通信協議的實現細節進行分析。
綜合設計型實驗將理論學習內容轉換為網絡設計實踐能力,包括硬件和軟件兩個方面。硬件相關的實驗是針對交換機和路由器的虛擬局域網、動態路由、NAT等高級功能進行配置和測試,在此基礎上利用Packet Tracer仿真軟件根據常見工作場景的需要進行網絡設計和部署。軟件相關的實驗是在Linux環境下使用C語言開發代理等計算機網絡高級應用,掌握操作系統中所提供的訪問各種網絡協議的接口。
研究型實驗的重點是網絡理論的高級應用,包括對網絡的運行狀態進行深入分析,并在此基礎上實現在網絡安全領域的應用。先基于NetFlow進行網絡流量的采集和分析,然后使用Snort對采集到的網絡流量進行入侵檢測分析。
前沿探索型實驗是針對當前計算機網絡的發展前沿,對新理論、新協議進行深入研究,因此每一年都會有不同的實驗內容。2015年的實驗圍繞軟件定義網絡的構建和分析展開,使用最新開源工具Mininet、POX配置和分析SDN,然后與傳統交換網絡結構進行比較,并通過文獻形成分析報告。這種類型的實驗對于學生的自主研究、探索及創新能力的培養有明顯效果。
2.3 激發創新興趣的二維系統化教學方法
如果沒有實驗驗證和在解決實際科學問題方面的應用,對該課程的學習只能停留于枯燥的知識記憶階段,對于實踐能力和創新能力的培養更無從談起。因此,所采用的教學方法必須能充分調動學生的主動性和激發學生的科研創新興趣。經過多年探索,我們提出了一種二維系統化教學方法。在縱向維度上,以構建滿足應用通信需求的、完善的計算機網絡系統為目標,突出各主題間的關聯關系,最終形成關于各組成要素如何協作實現復雜網絡通信的完整而深入的系統框架。在橫向維度上,針對每一個主題,首先通過教師講授和學生研討,將基礎理論與新理論、新方法進行理論對比分析,然后通過實驗內容進行驗證比較,最終對網絡原理、應用和發展有深入理解,并能提出可能的改進方案。
在橫向和縱向兩個維度的教學中,要始終把如何引導學生自主分析和解決網絡通信的核心問題作為重點,這對于培養學生的創新意識和創新能力至關重要。在講解計算機網絡每一層的通信功能時,都緊緊圍繞交換/路由(控制平面)、報文轉發(數據平面)和管理(管理面)3類核心問題。其中,控制平面包括在鏈路層通過主動學習更新MAC地址表、在網絡層使用IP路由協議更新路由表、在網絡層及高層根據用戶配置生成訪問控制列表。數據平面根據控制平面生成的轉發表進行報文解析、查表、過濾匹配和端口映射等報文轉發功能。管理平面支持用戶對網絡設備的配置管理,如實現命令行接口和簡單網絡管理協議等。然后,通過分析驗證型實驗和綜合設計型實驗掌握這3類問題的現有解決方法,并且理解為什么這種將數據平面和控制平面集成在一起的緊耦合設計結構存在復雜性高和配置不靈活等問題,無法對網絡設備進行自動化配置和對流量進行實時控制,因此制約了IP網絡創新技術的發展。針對這個問題,近幾年提出了軟件定義網絡SDN的設計思想,將復雜的控制平面從路由器和交換機等網絡設備的硬件中分離出來,由可以在PC或服務器上自由編程的軟件實現,而網絡設備成為可被編程控制的交換設備。學生先通過文獻閱讀了解SDN的設計思想,然后通過前沿探索型實驗掌握SDN的構建和工作方法,最后通過研究型實驗對SDN的流量進行分析,進而比較與傳統網絡的區別。
雖然我們強調實驗的重要性,但它必須與理論緊密結合才能系統性地提高學生的科研水平,因此在理論教學部分需要學生通過自主研究來大幅提高他們的參與比重。具體來講,針對每一個主題,教師首先提出一個核心問題,然后給出綜述性分析,列出相關的經典論文和重要前沿論文,每一位學生需要研讀經典論文和兩篇前沿論文,并完成關于前沿論文所提出方案的優缺點的分析及改進方法的報告,最后在課堂上進行匯報和討論,從而形成完整的科學問題研究路徑,從方法上為后續課題的研究奠定基礎。
2.4 強調創新能力的綜合考核方法
對碩士生的考核不應該只是考核對基礎理論知識的記憶,而應以創新能力為核心,采用多種形式全面考核他們的理論知識和實踐能力。考核形式有3種,包括試卷、研究報告和實驗報告,分別在課程結束后、學生完成文獻的自主研究后和完成每次實驗后進行評價。這3種考核形式占有相同的分值比重,總成績能夠很好地反映學生的綜合水平和能力。
3 結 語
我們在近幾年的高級計算機網絡課程的教學實踐中不斷完善系統化教學體系,取得了較好的教學效果,達到了預期教學目標。本課程得到學校教學專家的認可,2015年被我校研究生院評為研究生精品課程。更重要的是,學生普遍認為本課程質量高,容量大,在評教中指出了本課程的幾個特點:
(1)本課程幫助他們把本科期間所學的離散的計算機網絡知識點關聯起來,形成了清晰完整的計算機網絡系統觀。
(2)實踐操作環節的比重大大增加,而且實驗形式和實驗內容都非常豐富,與理論學習交叉進行,全面掌握了計算機網絡的應用、設計和測量方法,實現了理論的“落地”。
(3)通過對發展前沿文獻的研讀,不但理解了計算機網絡體系結構為適應新應用需求而產生的變化,而且對科學研究的方法有了非常深刻的認識。
為了不斷完善本課程體系,我們對學生在評教中指出的不足逐一進行分析,并給出了解決方案。問題主要集中在實踐環節,一些同學認為研究型實驗和前沿探索型實驗難度較大,很難在一次實驗課內完成。產生這個問題的主要原因在于實驗所涉及到的背景知識較多,教師無法在課堂中一一講述,而學生在實驗前沒有做好充分的準備工作,沒有自學相關背景知識,導致完成實驗所需要的時間較長。為了解決這個問題,我們設計了實驗預習手冊,將學生需要掌握的背景知識以及在實驗過程中需要解決的關鍵問題列出,要求學生在實驗前提交對手冊所列問題解決方案的書面報告。經過調整,學生的實驗質量得到明顯提升,增強了對實踐能力的培養力度。
我們設計的高級計算機網絡課程系統化教學體系,圍繞計算機網絡系統的構建、應用和改進,包含理論教學和實踐教學內容,并將網絡發展前沿融入其中,通過以授課老師為主導、學生為主體的啟發式教學,能夠很好地提升學生的科研創新能力和解決實際問題的能力。
基金項目:北京理工大學學術型研究生精品課程(YJPKC-2015-B01)。
第一作者簡介:王勇,女,副教授,研究方向為軟件安全、數據挖掘,wangyong@bit.edu.cn。
參考文獻:
[1]王慧強, 馮光升, 郭方方, 等. 結合科研, 打造計算機網絡教學新模式[J].計算機教育, 2014(11): 22-25.
[2]Tanenbaum A S, Etherall D J. 計算機網絡[M]. Boston: Pearson Education, 2011: 23-24.
[3]Kurose J F, Rose K W. 計算機網絡: 自頂向下方法[M]. 陳鳴, 譯. 北京: 機械工業出版社, 2015: 46.
[4]Peterson L L, Davis B S. 計算機網絡: 系統方法[M]. 王勇, 張龍飛, 李明, 等譯. 北京: 機械工業出版社, 2015.
(見習編輯:張勛)