面向创新的高级计算机网络课程系统化教学

计算机教育 / 2018年08月10日 16:41

互联网+

王勇+薛静锋+李鹏+刘振岩+张继+单纯

(北京理工大学 软件学院,北京 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.

(见习编辑:张勋)

1.环球科技网遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.环球科技网的原创文章,请转载时务必注明文章作者和"来源:环球科技网",不尊重原创的行为环球科技网或将追究责任;3.作者投稿可能会经环球科技网编辑修改或补充。