投稿问答最小化  关闭

万维书刊APP下载

计算机网络实验课在线教学探索

2023/6/12 15:55:23  阅读:80 发布者:

0 引言

目前,计算机网络已经成为众多高校计算机与通信专业的核心专业基础课程,它涉及众多理论、技术和方法,内容抽象难以掌握,与之配套的计算机网络实验课使学生可以接触并体验到理论课中的网络通信协议、网络连接方法以及数据传输原理,增强对网络理论的理解,也是锻炼和培养学生网络应用能力和实践能力的重要手段。

随着疫情对传统教学带来的冲击,实践经验表明理论课可以通过线上方式取得和线下授课相似的效果,但是以实际操作为主的实验课却难以通过在线授课平台进行,这使得众多不可或缺的实验课面临新的挑战,计算机网络实验是其中的一个典型例子。

1 计算机网络实验的现状分析

1.1 实验环境

目前,各大高校实施计算机网络实验课的环境主要包括两类:基于线下实体实验室的现场实验以及基于模拟器的仿真实验。

现场实验需要有固定的场地,并配备一定规模的网络设备,包括路由器、交换机、主机等各种硬件,以及 FTP 客户端/服务器端、IIS/Apache 网页服务器、浏览器、wireshark 等软件工具。利用真实的网络设备,学生可以根据实验要求搭建小规模的网络实验场景,在此基础上进一步通过相应的软件实现指定的网络功能。多年的教学实践表明,大部分学生对于现场实验普遍具有非常高涨的热情,并愿意投入时间与精力,部分学生在完成指定内容之余还提出许多拓展想法并利用实验设备进行验证。现场实验方式仍存在一些难以解决的问题和局限性,主要包括以下几个方面:①实体实验室的建设成本非常昂贵。计算机网络实验一般会涉及路由转发、组网通信等内容,这要求实体实验室必须具备一定规模的专业网络设备以及备用的冗余设备,对于许多中小型院校而言,这是一笔不小的开支。②维护技术和维护成本的要求都非常高。实体实验室需要专业技术人员进行长期的维护、检修以及实时技术支持。另外,技术的不断发展要求硬件设备不断更新[1],这导致设备的后期维护与升级也将面临巨大的资金需求。③学生的实验操作受到时空因素的严格制约。为保障安全,现场实验环境一般独立于校园网。因此,学生必须要到实验室才能进行实验,而且只能在指定的实验课时间内完成实验内容。然而,实际的教学经验表明由于各种不可预测的原因,导致学生在实验中可能面临大量难以排除的问题,这会耽误大量的课堂时间。如果学生无法在指定时间内完成,只能和实验室另外约时间,由于已完成的部分不会被保存,将导致同一个实验内容必须从头开始,这将极大影响学生的积极性。

仿真实验一般利用运行在计算机的模拟软件来完成实验,如思科的 Packet Tracer。相对于现场实验,仿真实验的优点有两方面:①成本要求低,它不需要购置专业设备,因此不需要后期维护,既节省了开课和维护成本,也不需要专业的实验室维护;②它仅依赖运行在计算机上的仿真软件,因此无需专门的场地,可以和其他实验课共用场地,如程序设计,因此,学生不用受到实验室的时空约束,可以在课后通过自己的计算机进行实验内容。仿真实验的局限性也是非常显著的,主要包括以下几方面:①模拟器无法提供和现场实验一样的感受及认知,即使学生能够通过模拟器完成实验内容,依然对实际网络设备缺乏必要的认识[2];②模拟器一般为网络设备产商所开发,通常仅支持该设备产商的产品,而无法引入其他网络设备产商的产品,即使是该产商的产品,模拟器所能支持的设备型号通常比较有限、陈旧,而且在实际使用中,模拟器中的命令也存在和实际设备不同的现象,会误导学生;③模拟软件采用黑盒子封装方式并以独立软件的方式运行,学生进行实验时既无法对设备的内部构造和网络协议的具体工作过程有清晰的理解,也无法通过协作的方式完成实验,难以掌握计算机网络理论知识,而且数据通信过程是非真实的,难以激发学生的参与感、积极性和成就感。

除了这些固有的局限性,从线上教学的角度看,上述方式都难以实现有效的支持,这导致计算机网络实验的教学面临新的挑战,迫切需要一种新的思路和方法进行改革。

1.2 教学效果

目前大部分计算机网络实验课教材都是采用“任务驱动型”的内容设计,如 VLAN 实验、生成树实验、路由实验等。这些任务的实现依赖对相应网元的正确配置。在实施过程中,学生往往陷于繁杂且难以理解的配置命令中。我们观察到 95%以上的实验课时间被用于查阅配置命令、核对纠正配置命令的输入以及纠结配置命令的使用方法。在这种情况下,网络实验往往退化成单纯的网络配置任务,失去其自身的意义和价值。最终导致学生无暇通过实验任务关联到相应的网络理论知识,更加无法思考网络理论知识在实际通信任务中的作用和意义。即使学生顺利完成配置,也难以搞清楚这些配置命令的目的、作用及工作原理。

另一方面,不同设备产商、不同版本的系统软件在配置命令上存在巨大差异。由于命令本身不具通用性,在实际的应用场合中不一定再次有用,其教学效果是令学生失望的,既无法促进理论知识的理解,又令学生错误地认为网络通信等同于配置命令,不但磨灭了学习计算机网络的兴趣,而且误导了学生对计算机网络的认识。在智能化日趋普及的今天,网络配置已经日益可视化、自动化和智能化,让学生花费大量时间与精力在濒于淘汰的命令行配置技术上是舍本逐末的做法,不利于学生正确掌握计算机网络通信的基础知识,也不符合现代人才培养的需要。

2 计算机网络实验课在线教学思路

为了使计算机网络实验课的改革能够切实解决存在的问题,并能够适应新的线上教学需要,需要重新梳理计算机网络实验课的培养目标,并用于指导后续的改革方案设计。

根据计算机网络理论及实验课的长期教学实践,总结网络实验课的根本目的有两方面:①了解实物形态下计算机网络的组成、连接及通信方法;②通过实验促进对计算机网络理论的理解。计算机网络实验课的改革需要围绕上述目标,尽量避免繁琐、低效甚至无效的内容,让学生能集中精力通过实验深入了解网络通信体系的设计思想、理论依据以及工作原理,并且必须突破实验时间和实验空间所造成的局限性。

3 计算机网络实验课在线教学实践

3.1 实验环境改造

实验环境是计算机网络实验的基础和依托,从根本上决定网络实验教学的质量。对计算机网络实验环境的改造需要从根本上解决以下 3 方面的问题:①突破现场实验以及仿真实验对场地和时间的限制;②减少对网络专业硬件设备以及专业维护人员的依赖;③支持低成本的实验内容动态调整。

目前,国内大部分大专院校都拥有自己的校园网,这为我们进行计算机网络实验环境改造提供了必要的通信基础设施。另外,网络虚拟化以及网络功能虚拟化技术日趋成熟并得到了广泛的应用,这为构建灵活、动态的网络实验课环境提供了不可或缺的手段。基于这两方面的条件,我们提出一种全新的计算机网络实验环境改造思路。

1 所示是 5 位学生为一个实验组的改进后网络实验方案示意图,它包括两个层面:底层的物理校园网以及上层的虚拟实验拓扑。校园网中设立一个可公开访问的服务器(S),它可以由校园网中的私有云或独立计算机构成。服务器运行一个专用的服务程序(service routine, SR)用于动态组建实验环境并协调运行。一方面它存储各种与实验及通信相关的信息,包括实验小组的人员和物理计算机地址信息、虚拟拓扑中网元与链路信息、虚拟拓扑中的路由转发信息等;另一方面它用于解决物理计算机位于私有路由器后部时的无缝数据中转。其余位于校园网内的计算机(15)可以是参与实验的学生个人设备,或者是校园内公共实验室/机房的普通计算机。当参与实验的学生不在校园网内时,可以通过 VPN 方式登录校园网,从而在逻辑上可以视为是校园网内的一台设备,并可以访问服务器 S。上层虚拟实验拓扑的虚拟网元包括虚拟路由器、虚拟交换机以及虚拟 PC,由计算机基于网络功能虚拟化的方式生成,如计算机1虚拟出一个 PCA)以及交换机(B)、计算机2则虚拟出路由器(C)。虚拟网元的类型与数量、网元间的拓扑结构由实验内容决定,如图1中的虚拟实验拓扑是一个典型的多路由组网实验,它由3个互联的(虚拟)路由器(CDF)、两个(虚拟)交换机(B G)以及4个(虚拟)终端(AEHI)构成。为使虚拟网元之间通过校园网进行数据通信,每一个参与实验的物理计算机需要运行一个客户程序(client application, CA)。当虚拟网元发出数据时,CA 负责接收并把数据传递给下一跳虚拟网元所在的物理计算机或转发给服务器;当 CA 从外部收到数据时,负责转发给自己相应的虚拟网元。

基于虚拟化网络实验环境为实施新型的计算机网络实验提供基本的通信架构,具有以下的优点:①开展网络实验不再局限于特定的实验室或模拟器,也不再受制于有限的实验课时间,任何时候只要能够登录实验服务器就可以构建出自己需要的虚拟实验拓扑,而且通过 VPN 技术,位于互联网的任意位置都可以随时接入校园网,解决了线上实验课或远程实验课教学中关键的接入问题。②由于上述改进方案的基础设施是校园网,因此除了服务器外,不需要为网络实验购置其他专业设备,也不需要为实验设备配备专门的运维人员。由于是基于虚拟化技术,实验内容可以根据需要通过核心软件模块“服务程序”和“客户程序”实现积木式的动态调整与拓展,从而节省大量费用,如三层交换机、软件定义网络交换机与控制器等。③与传统的仿真模拟不同,虚拟化实验拓扑上传输的数据是真实的,而且最终在校园网中进行转发,并会按实验内容规划流经(或到达)指定虚拟网元所在的物理计算机,这些数据可以通过抓包以及可视化方式进行显示,学生可以观测到数据所经过的物理路径以及虚拟路径。这将极大增强学生的参与感和成就感,提高开展实验的兴趣,也可以进一步激发学生进行相应的思考与拓展。

3.2 实验内容优化

常见的计算机网络实验在内容设计上侧重于通过网元配置实现相应的任务,如 FTP 服务、DNS 服务、VLAN、静态路由及OSPFNAT [3]。由于网元配置方法与配置命令缺乏统一标准与定义,繁琐的配置不利于提高学生对计算机网络通信机制的理解,而且考虑到网络配置任务目前正朝着可视化、自动化以及智能化的方向发展,因此在这个方案中,我们从两个方面进行内容优化:①尽可能减少实验中涉及的配置操作,重点关注与数据通信及转发相关的网络实验内容;②对于不可避免的配置操作,把它们转化为直观易用的方式,使学生能够集中精力关注数据通信过程。

1 列出拟在虚拟化实验环境中开展的计算机网络实验项目,其中,基础分析部分与传统实验类似,它仅需要一台联网计算机以及抓包工具,不涉及其他网元设备。

其余的链路层、网络层、应用实例以及综合应用则根据图 2 所示的方案实现支持,通过调整“客户程序”和“服务程序”的功能模块,可以删除不需要的实验内容、动态扩展新实验内容,实现按需配置,具有成本低、扩展性好的特点。

3.3 RIP 实验案例

以图 1 中的虚拟实验拓扑作为 RIP 路由的例子,假设虚拟计算机 A 拟发送数据给虚拟计算机 I,表 2 列出其主要工作流程。

实现相邻两个虚拟网元之间的数据通信是关键环节。我们采用图 3 所示的方式,以上述 RIP 路由实例过程中虚拟网元 B D 转发数据为例:如果 B 所在的物理计算机 1 和(或)D 所在的物理计算机 3 因为位于私有路由器后部无法直连,则如图 3a)所示,B 首先把数据传递给物理计算机 1;计算机 1 通过 Websocket  把数据发给服务器SS 判断其下一个接收虚拟网元 D 所在宿主为计算机 3,从而把数据通过 Websocket 转给计算机 3;计算机 3 收到后转发给本地相应的虚拟网元 D。如果计算机 1 3 可以通过 Websocket 建立连接,则如图 3b)所示,无需通过服务器 S 转接。

另外,根据 RIP 协议中路由信息交换策略,我们令虚拟拓扑中的虚拟路由器周期性和邻接路由器交换自己的路由表,虚拟网络数据交换方法采用图 3 的方式进行,而且虚拟交换机也通过流经自己的数据学习交换信息。

4 结语

在技术迅猛发展与教育保障加重的趋势下,教育模式从线下到“线下+互联网”转变,同时新冠肺炎疫情这一背景要求院校面向线上教学,而计算机网络课程作为计算机课程的重要组成部分,探索和建设适合线上教学的实验平台是大家需要共同面对和解决的问题。在这项工作中,我们基于虚拟化思想初步探索了一种可选的方案,它不但有效解决了传统计算机网络现场实验与仿真实验的局限性,而且支持线上远程教学。目前,方案中的部分功能已经通过实践的测试和验证。由于这是首次基于虚拟化技术探索线上开展计算机网络实验课的工作,还有大量内容需要进一步完善,包括覆盖内容有限、人机交互及定制化不够成熟、核心技术细节需要优化等。这些内容将在后续工作中继续探讨。希望这项工作能起到抛砖引玉的作用,为新环境、新人才培养需求下的计算机网络实验教学改革提供一些有益的参考。

参考文献:

[1] 文华. 基于虚拟仿真技术的计算机网络实验室的构建[J]. 科学技术创新, 2019(7): 79-80.

[2] 李巍. 仿真软件在计算机网络教学中的应用[J]. 无线互联科技, 2019, 16(22): 41-46.

[3] 李楠, 李玉龙, 张华卫. CDIO 教育理念引领下的计算机网络实验教学体系[J]. 计算机教育, 2019(9): 30-33.

基金项目:中山大学教学质量与教学改革工程项目(2022)。

第一作者简介:谢逸,男,中山大学副教授,研究方向为计算机网络与通信 xieyi5@mail.sysu.edu.cn

引文格式:谢逸, 张又方. 计算机网络实验课在线教学探索[J]. 计算机教育, 2023(5):  35-39.

转自:“计算机教育”微信公众号

如有侵权,请联系本站删除!


  • 万维QQ投稿交流群    招募志愿者

    版权所有 Copyright@2009-2015豫ICP证合字09037080号

     纯自助论文投稿平台    E-mail:eshukan@163.com