APP下载

计算机网络原理实验课教学体系的设计与实践

2022-05-30尉哲明常新功王开选梁敏

电脑知识与技术 2022年29期
关键词:实验教学体系教学实施设计方法

尉哲明 常新功 王开选 梁敏

摘要:针对地方普通高校计算机类专业特点,在分析了设计计算机网络原理实验课程教学体系的基础条件和研究目标基础上,提出设计网络原理实验课程教学内容的方法;根据方法设计了具体实验项目,包括基础实验、拓展实验、综合课程设计、综合验证实验等;阐述上述实践教学实施过程中取得的教学效果。

关键词:计算机网络原理;实验教学体系;设计方法;实验项目;教学实施;教学效果

中图分类号:TP393        文献标识码:A

文章编号:1009-3044(2022)29-0143-04

计算机网络是高校计算机类专业必修的核心专业课程,计算机网络课的教学体系一般都围绕计算机网络的原理来设计和实施,教学内容的大体框架包括:计算机网络的基本概念、数据通信的基本原理、底层物理网络、Internet各层协议[3]。其中底层物理网络的教学内容需要根据网络技术的发展、教学计划分配的教学时数做出不断地调整、取舍。

在网络原理课程的教学中,实验教学的作用和地位举足轻重。因为原理课程的教学重点是理解协议,相比其他课程,较为枯燥难懂,单靠课堂教学是难以学会的,必须配合与理论教学相匹配的实验课程。对实验课教学体系的研究,多年来一直是重要的课题。

1研究的基础条件与研究目标

1)网络实验室只具备最基本的软硬件环境。

地方普通高校网络实验室可能只具备一些基础网络硬件设备(交换机、路由器、PC)和通用软件,不具备良好的网络硬件和完善的网络管理软件和虚拟仿真环境[7]。

2)专业教学计划中开设网络类课程只有一门“计算机网络原理”。

3)实验课程要与理论课程的教学内容相匹配。

计算机网络原理实验教学需要强化原理类实验,让学生通过实验理解具体的网络协议,而不是将重点放在网络技术的应用与实践上[1]。

通过完成实验项目,促使学生去验证、理解课堂上所学到的“数据通信”“网络体系结构”“分层”“协议”内容,看到实实在在的“帧”“分组”“段”“报文”“请求”“响应”,进而能设计出特定网络应用程序的专用“协议包”。

4)遇到疫情等突发情况时,实验教学需要保证。

5)培养学生具有较高专业技能的同时,具有较高的道德素养。

挖掘实验教学中蕴含的思政元素[4],以润物细无声的方式将思政教育贯穿于教学过程。

基于以上条件与目标,网络实验课程该如何设计能良好实施的教学体系和实验项目?

2计算机网络原理实验课程教学体系的设计方法

2.1从解决问题的角度出发,使学生有效理解协议

通过两个例子说明:

⑴ 数据通信过程中可能受到噪声干扰,导致所传输的二进制数据发生错误。为了使发送数据能被接收端正确接收,实现可靠传输,需要进行差错控制。

如何进行差错控制?通过发送端与接收端之间的差错控制协议,而差错控制需要先进行差错检测,看是否发生了数据传输错误。

设计的实验项目,可以让学生编写程序实现对传输数据进行错误检测[2],模拟发送端与接收端的操作;进一步拓展实现差错控制。

⑵ 为了测试网络节点之间是否互通,需要运行Ping程序。而Ping程序的工作原理运用了ICMP协议,同时涉及ARP协议。如果通过Internet去Ping一个用域名表示的主机,还涉及DNS协议。此外可以考虑协议包的封装,就此理解分层、接口、服务的概念。

设计的实验项目,可以让学生使用抓包程序,捕获运行Ping程序涉及的协议包并进行分析验证。

2.2从实验中验证、理解分层与协议(抓包与分析)

计算机网络原理课程的教学重点是“协议”。

网络的分层体系结构中存在大量的“协议包”[1],这些协议包的结构中包含着实现协议所完成功能的有效信息,只有充分理解了协议包中每一个字段的含义、协议的通信过程,才能掌握计算机网络的原理。要实现此教学目标,光靠理论课的讲解和学习是远远不够的,需要通过实验去验证、联系和巩固。

抓包程序是完成网络原理实验的重要而有效的工具。通过分析“抓”到的协议包,可以验证理论课堂学习到的协议内容,有效理解协议。如此可真正使实验教学与理论教学内容相匹配。

使用这种方法,可以设计出很多具体的实验项目。

2.3设计专用协议

在学习和实验了各层的多种多个协议、完全理解了“协议”概念的基础上,可以根据网络应用程序的需要,设计出专用的应用层协议。

通过编程,实现设计好的专用应用层协议:“请求”和“响应”;进而实现具体的C/S或P2P网络应用程序,有效提升学生的计算机专业素质。

2.4体会组网以及划分“虚拟组”的乐趣

在专业教学计划中开设网络课程只有一门“计算机网络原理”情况下,该门课程的实验教学需要兼顾组网。组网实验也是学生学习网络课所感兴趣的实验内容,只是由于计算机网络原理实验课的实验内容繁多,教学负担重,所以不能覆盖较多的组网实验项目。

结合理论课的局域网教学内容中有关交换机、VLAN的原理学习,可以精选一两个组网实验。通过实验,学生自行组建以太网,设计VLAN逻辑组并在交换机上完成配置。

2.5综合性、创新性课程设计[5]或验证实验

學生设计出网络应用中专用的应用协议,通过编程实现协议,进而设计并实现网络应用程序[3]。这些实验都是综合性课程设计,能有效提高专业素质。

也可以设计出综合性验证实验,让学生全面理解和掌握计算机网络的概念和原理。例如,捕获和分析Windows下的Tracert命令程序、ping命令程序涉及的各协议包结构、通信过程以及封装关系。

3计算机网络原理实验项目设计举例

3.1差错检测与差错控制

3.1.1 基础实验:差错检测

在Internet各层协议中,都需要进行差错检测,而完成差错检测需要发送端和接收端配合、共同遵守协议规则,利用相同的差错检测算法计算校验码,以此判断出接收的数据与发送的数据是否一致。若接收的数据与发送的数据不一致,说明接收的数据在传输过程中出现了差错,接收端会丢弃该数据包。

选择一种差错检测算法[2],编写程序,对模拟发送的数据计算出校验码,将校验码与数据一起发送;接收端对接收内容使用同一算法程序计算。在算法实现正确的基础上,分别模拟发送端和接收端的行为,以此实现差错检测功能,进而理解差错检测协议。

3.1.2 拓展实验:差错控制

在正确实现差错检测算法程序的基础上,进一步编写发送端和接收端程序,实现差错控制协议,完成消除差错功能,保证可靠性传输。

需要可靠性保证的协议,如无线局域网的MAC协议802.11、Internet的TCP传输协议、一些专用设计的应用层协议(选用了UDP不可靠的传输协议,自身又需要可靠性保障),使用定时器控制发送端在一定时间内未收到接收端发送的确认情况下,重新发送缓存的协议数据包,在差错检测基础上进行差错控制。

接收端收到无差错数据后,发送确认信息给发送端;发送端则需模拟未收到确认情况下重发数据包的情形。

3.2协议验证实验

使用抓包程序,捕获、分析协议数据单元的结构和通信过程[1],验证和理解、掌握理论课堂学到的协议知识;综合的协议验证实验可以实现对网络的分层体系结构、各层协议内容融会贯通。

常用的可免费下载使用的抓包分析软件有Ethereal、Wireshark、Microsoft Network Monitor。

3.2.1 基礎实验设计举例:TCP协议验证

运行抓包程序,记录上网或者运行专用的C/S网络应用程序时抓取的TCP协议包。

⑴ 分析TCP协议包的数据结构

用抓取的TCP包,对照图1进行分析验证和理解。

⑵ 分析TCP协议的通信过程。

① 建立连接

通过抓包,学生可清晰地看到建立TCP连接时的三次握手机制[1],如图2所示。

② 全双工可靠传输数据、确认,如图3所示.

③ 断开连接

全双工的任何一端数据先发送完毕,即可向对方发送断开连接请求(FIN标记为1),对方收到断连请求后回送确认,这一方向的连接断开,反方向可以继续传输数据;反方向的断开连接过程相同。如图4所示。

⑶ 分析TCP的上下层协议

理解TCP协议是为上层协议提供服务的;同时理解TCP协议包需要传递给下层协议,后者为其完成发送。

如图5所示,TCP协议包中封装的上层协议是HTTP;而TCP协议包被封装在下层IP协议包中发送。

3.2.2 综合验证实验设计举例

ping命令运行时使用与涉及的协议分析

⑴ 实验目的:理解计算机网络体系结构中层与层之间的封装;掌握局域网的MAC协议,掌握ARP协议的工作机制,掌握ping命令使用的ICMP报文类型和发送方法;掌握对协议数据单元的分析方法。

⑵ 实验步骤:

① 利用实验室中现有以太网络(疫情期间可使用家中的Wi-Fi代替以太网完成实验),分别利用IPConfig命令查阅两台PC机的IP地址。

② 使用Wireshark(疫情期间家中可配合使用Microsoft Network Monitor)开始捕获。

③ 在一台PC机上,对另一台PC机执行ping命令。

④ 记录Wireshark(或Microsoft Network Monitor)捕获到的数据包,并加以分析。

⑤ 再次执行ping命令(配合使用arp -a命令)。

⑥ 再次记录Wireshark(或Microsoft Network Monitor)捕获到的数据包,并加以分析。

⑦ 完成实验报告。

⑶ 实验记录内容设计举例:

① 实验环境概述:以太网还是Wi-Fi无线局域网?使用了几台计算机?各自的IP地址?如果是WiFi,无线路由器的IP地址?使用的抓包软件?抓包软件在哪台计算机运行?

② 两次运行ping命令涉及到的协议数据内容捕获记录

⑷ 回答问题内容设计举例:

① 根据捕获到的记录,分析ping命令执行时,网络传送的各种协议包的类型和时序。

② 为什么会运行ARP协议?分析ARP请求包与应答包中各主要字段的含义,ARP协议包是被封装在什么协议中发送的?

③ 两次执行ping命令后,网络中传送的数据包有无区别?如有,说出是何区别?

④ 总结ARP协议的工作原理

⑤ 试说出ping命令执行时,发送的echo请求和echo应答的报文类型。解析报文中各字段的含义。回答报文发送时的底层封装协议各是什么。

⑥ 根据捕获到的记录,说明底层物理网络的类型和帧格式,以及在各条记录中底层网络的帧里所封装的上层协议类型。

⑸ 实验扩展:通过校园网(疫情期间通过Wi-Fi)测试本主机与因特网上知名服务器(ping参数为服务器域名)的连通性,说说捕获到的协议包与上述实验有何不同?解释其原因。

3.3专用协议设计

网络应用程序的设计与实现[3],此实验完成一个综合课程设计。

通过实验,学会设计和实现应用层协议;学会正确选择使用传输层的TCP或UDP协议为应用层提供服务;学会C/S与P2P网络应用程序编写方法。

操作步骤参考设计:

⑴ 问题描述(程序要完成的工作)

⑵ 需求分析

⑶ 程序设计:数据库设计(说明需要定义的数据库表结构)、程序功能设计、应用协议(请求包、响应包)设计

⑷ 程序实现:建立数据库表(如有需要)、应用协议实现、类的设计(可画出UML图)与代码实现

⑸ 程序调试:编译程序、程序运行(可给出测试数据,运行结果)

⑹ 结果分析

4网络原理实验教学的实施

学院计算机类专业教学计划中开设的网络及通信课程只有一门“计算机网络原理”、没有开设任何其他网络相关课程,网络实验室配备一些基础网络硬件设备(交换机、路由器、PC)和通用软件、不具备专用网络管理软件和虚拟仿真环境。

围绕计算机网络原理课程所讲授的教学内容,研究了上述网络实验教学体系的设计方法,设计了与理论课程相匹配的实验教学体系和具体实验项目。

经过多年的网络实验教学实践,取得了一定的成效。

4.1增强了学生对课程学习的兴趣和满意度

计算机网络原理的教学内容较为抽象枯燥,学生学习“协议”时比较吃力难懂。实验教学中让学生抓包和分析协议,查看、验证协议的结构与分层关系,使学生对所学的协议有了新的认识,加深对协议的理解,从而也让学生感觉到能够“学得会”,提高學生的自信心和对课程教学的认可度、满意度[1]。

4.2规范了计算机网络原理实验课的教学体系与内容

通过实施与理论教学内容匹配的实验教学,学生的专业素质得到真正的提升,学生后续的就业能力、深造能力得到提高[8]。

4.3增加了疫情等突发情况下的应对能力

抓包、协议分析验证实验是计算机网络原理实验教学中主要的实验项目,疫情期间学生不能去实验室,在家里一般没有以太网环境,为了保证此实验项目的完成效果,教师在家里利用Wi-Fi,下载了能方便捕获802.11 MAC协议包的抓包软件Microsoft Network Monitor,与Wireshark配合完成实验。用录屏软件录制实验讲课视频上传至超星课程平台,学生视频学习后,在家里无线局域网环境下完成实验,提交实验报告。

组网是学生感兴趣的实验项目,同时也是在专业教学计划只开设一门计算机网络原理课情况下,有效锻炼学生动手能力的重要实验;VLAN划分及跨VLAN间通信这个组网实验又和学生对交换式局域网、VLAN原理的理解息息相关。疫情发生时,学生无法去实验室配置,想出的解决办法是:教师一个人去实验室模拟学生在实验室的场景:用手机录制实验设备与实验环境的讲解视频,录屏软件录制交换机的配置过程视频(仿真终端的PC太旧,没有麦克风,则用手机同步录制音频后,再与无声的配置视频合成);将视频上传至学习通上建设的“计算机网络”课程云平台上[6];学生通过反复地“看实验”,顺利完成并提交了实验报告。这个实验在特殊条件下的完成效果是令人惊讶和意外的,其经验非常值得借鉴。

4.4将课程思政工作渗透到每一个教学环节

日常教学中,教师注重言传身教,做到尽职尽责、保质保量完成教学环节,对学生严格要求,潜移默化影响学生的言行[4]。

在遇到疫情、学生不能去网络实验室时,依然想方设法给出突发情形下的特殊解决办法。教师不能用“眼”但用“心”去辅导学生做实验,使这届学生在这门课上没有留下缺憾。学生感受到教师强烈的责任心,将对他们的学习态度以及以后的人生产生积极的影响。

4.5适合只具备最基本实验条件的地方普通高校

以上实验教学体系和实验项目的设计,都是基于网络实验室只具备一些基础网络硬件设备(交换机、路由器、PC)和通用软件。

通过实践验证,在不具备良好的网络硬件和完善的网络管理软件和虚拟仿真环境[7]条件下,通过设计,还是能够较好、甚至足够好地实现良好的教学效果。

5结语

论文以地方高校计算机类专业为背景,讨论了计算机网络原理实验课程教学体系的设计,并以多年教学总结为实践例证,着重阐述了计算机网络原理实验课程教学的设计方法和实验项目,最后介绍了实践过程中取得的教学研究成果。

参考文献:

[1] 阮晓龙,许成刚,贺路路.计算机网络原理课程实验教学体系的改革[J].中国现代教育装备,2018(19):22-24.

[2] 吴功宜,吴英.计算机网络课程设计[M].2版.北京:机械工业出版社,2012.

[3] 尉哲明,马尚才.《计算机网络》课程教学改革的研究与实践[J].中国教育信息化,2008(9):71-73.

4] 魏艳娜,朱蓬华,邹澎涛,等.计算机网络原理课程思政教学改革与实践[J].北华航天工业学院学报,2021,31(5):33-35.

[5] 白英,陈颖,张少仲.面向工程教育认证的计算机网络实验教学改革实践[J].计算机时代,2021(9):74-76,81.

[6] 唐淑兰.基于OBE的“计算机网络与应用”云实验教学探究[J].江苏科技信息,2021,38(30):66-68.

[7] 鲁晓帆.虚拟仿真实验教学在计算机网络课程中的应用研究[J].软件,2021,42(9):46-48.

[8] 黄伟,顾大刚,邹茜.地方性高校计算机网络课程教学与实验过程改革研究[J].文化创新比较研究,2021,5(29):55-57,63.

【通联编辑:王力】

猜你喜欢

实验教学体系教学实施设计方法
组织行为学实验教学体系建设研究
财经类院校艺术设计专业实验教学体系构建的探索
校本特色课程的教学实施与评价
小组合作探究模式在初中英语课堂教学中的实施
信息工程专业实验教学体系的建设与实践
任务驱动教学法在成人教育中的运用分析
建设省级实验示范中心 培养创新型医疗人才
话剧舞台服装设计方法探究
浅析旅游景区公共设施的设计
公路桥梁结构桥梁抗疲劳设计方法应用