公务员期刊网 论文中心 正文

计算机网络教材试验设计探究

计算机网络教材试验设计探究

本文作者:付雪峰 刘有珠 徐文飞 邓少波 单位:南昌工程学院计算机科学与技术系

随着Internet的迅猛发展,计算机网络极大的影响人们的生产、生活和学习,5计算机网络6已经成为高等学校计算机专业普遍开设的核心专业课程,是计算机专业学生技术基础的主干理论课程之一,计算机网络技术已成为计算机学科中一个相当重要的研究领域和发展方向,然而计算机网络课程中涉及了大量的概念、定义和协议等,这些内容抽象、空洞,仅仅通过理论教学很难让学生理解和掌握。网络实验是掌握这些理论的最好方法,但由于计算机网络原理本身的复杂性等原因,目前高校大多数的网络实验都偏向于网络操作系统应用方面的实验,缺乏完全覆盖计算机网络技术主要层次的网络实验体系和网络课程设计[1],特别是在协议理解与设计方面。同时国家网络管理员、网络工程师考试逐年加重实践环节的考查,学生就业更强调实践动手的能力,因而借助于一定的软、硬件手段来完善现有的计算机网络实验课程迫在眉睫。

一实验教学的现状

计算机网络实验室的建设困难,计算机网络实验所需的软件和硬件短缺,主要的硬件设备只有电脑,据统计,直到2000年左右,国内大多数学校没有专用的计算机网络实验环境和实验室[2]。由于实验条件的制约,使计算机网络的教学长期徘徊在课堂讲授和书本上,学生很少有实际动手实验的机会。他们只能从书本上了解计算机网络,因此动手能力差,不能适应社会对计算机网络人才的需求。而实验条件差的主要原因在于:一是由于计算机网络实验相关的设备比较昂贵,如交换机、路由器等,而且计算机硬件的更新换代的速度太快,高校很难跟上设备的发展速度;二是缺乏适应各自学校特点的计算机网络实验环境建设方案,缺乏综合性、设计性的实验。这样学生缺乏能动性,对网络的认识和理解仅限于PC机,个别基础比较差的学生甚至把计算机网络等同于一些通讯软件,如QQ等。在考虑这两方面原因的基础上,应把教学探讨的主要着重点放在实验设计这部分。

二实验内容

由于各高校的实验室设备不同,配置的软件不同,师资力量不同,学科研究方向不同,使得各高校所开设的网络实验内容不尽相同。但大体上,针对本科生开设的网络实验内容可分为以下几个方面的实验:验证性实验、综合性实验和设计性实验[3]。

1.验证性实验

验证性实验主要用于验证网络的各种协议,开设目的是让学生更形象地理解理论知识。主要实验有:以太网帧的构成、IP地址分类与数据包组成、IP地址转换协议、ARP和IP控制管理协议、ICMP和UDP数据报的传送、TCP数据通信、SNMP协议与网络管理和应用层协议、HTTP协议、WINDOWS网络应用、应用层协议、TELNET、SNMP及其他。

2.综合性实验

综合性实验目的是为了让学生更好地应用网络知识,提高实践能力。综合性实验又可分为基础实验和高级实验两大类。主要实验有:(1)基础实验。包括双机互连、以太网组网实验、常用网络服务的配置及操作、交换机和路由器的了解,TCP/IP诊断实用程序、流媒体的认识与应用,SSL实现安全数据传输的利用。(2)高级实验。包括虚拟局域网的配置、路由器的使用、网络数据包的监听和分析,网络故障仿真及分析,管理TCP/IP网络互联环境、配置IP路由协议和广域网络、IP流量管理和安全控制配置,IPX网络互联配置,PPP串行连接,配置帧中继网络。

3.设计性实验

主要是用SOCKET套接字进行网络程序设计。目的是让学生进一步掌握UDP及TCP协议的工作原理;掌握SOCKET编程的基本方法;学习应用Ja-va、C#进行简单的面向连接的网络程序设计,实现网络数据传输。主要实验包括异步串行通信编程实验、实现利用停等协议传输数据文件、编写简单的C/S程序、编写简单的SMTP邮件服务器并观察其通信过程,建立一个网络API函数库、编制一个多服务的服务器、设计一个时钟同步协议和一个滑动窗口协议[4]。现在,越来越多高校把网络实验从理论课程中抽离出来,独立开设课程,以便传授尽可能多的网络实验内容,让学生更好地掌握网络知识。

三搭建实验平台与设计实验项目

计算机专业的网络课程隶属于计算机网络教研室,计算机网络教研室搭配有计算机网络实验室与一个学生创新实验室。计算机网络实验室主要有计算机、华为路由器、交换机、双绞线、压线钳、网络测试器等计算机网络实验相关的主干设备。由于计算机网络课程学生人数比较多,路由器与交换机的数量不足,因而在实验项目的设计上,使用真实的机器做实验的讲解、分析,采用软件模拟器的方式完成网络实验的实践。根据上面的分析以及参照计算机网络实验室的实际情况和参考其他成熟的院校计算机网络实验设计的基础上,将计算机网络实验作如下安排。

(1)物理层实验:双绞线的制作;实验设备(双绞线、制线钳、网线测试器)。

(2)以太网链路层帧格式分析;实验相关软件(Ethereal分析协议数据包、Snifer抓包软件)。

(3)网络层:ARP协议分析;实验相关软件(Ethereal分析协议数据包、Snifer抓包软件)。

(4)IP协议分析。

(5)IP组网实验。

(6)TCP协议分析及基于TCP的通讯程序设计,简单的通讯程序设计不再使用基于C++的套接字的方式,采用对Sockeet封装得更好的Java或者C#的编程方式。

(7)DNS协议分析与设置。

(8)DHCP协议分析与设置。

(9)局域网工作原理与实验。

(10)虚拟局域网Vlan的划分。采用相关的路由器仿真软件来实现,这类软件有很多,如专用于华为产品的华为点点通、Cisco路由器、交换机模拟程序BosonNetsim等。

对网络实验教学的进一步完善是加强计算机网络实训环节,网络实训作为对课程整体的考查在整个实验课程体系中占有非常重要的地位,它能够全方位的考查学生对整个知识体系的掌握程度[5]。实训环节应安排到课程末或学期末,用专门的时间由专门教师指导完成计算机网络课程的专项技能训练。实训题目的设计应该多样化,网络实训的题库正在设计中,主要设计一套能够综合运用网络知识体系的方案,如构建一个局域网络,在这个网络中有各种网络的硬件设备,如交换机、路由器等。有各种不同的服务器,如HTTP,EMAIL和FTP等。实验的目的就是将以前学过的知识运用到实际工作中去,这个实验需要以组为单位大家共同完成[6]。这个实验的另一个目的就是要求同学通过以前学过的知识,利用任务驱动把它连接起来。让学生完成网络的拓扑图,管理好网络的运行、维护和安全等,从实践应用的角度培养学生的工程意识,发挥教师实践经验丰富的优势,让学生动手解决从实践应用抽象出的题目,更好地理解网络理论知识。在实际应用方面,依托于学生创新实验室,采用/网络小组0校内的横向联合。像现在高校内部都建设有校园网,这是一个现成的,不需要任何再投入的“网络实验室”。网络专业的教学完全可以和校园网的建设、管理结合起来,充分利用现有资源。在网络管理员和老师的指导下,让学生参与校园网的建设,既让学生增加了实践机会,增强了动手能力,又可以为学校节约人工成本。例如,现在很多办公室的计算机管理存在很大的漏洞,安全性不高,出了问题只能找网络管理中心解决,不仅效率低,也加大了网络管理中心的工作量,把大量时间消耗在简单重复的劳动上。如果可以挑选部分计算机专业高年级的优秀学生,分配到各个相关部门,在课余或实习时间,帮助管理计算机,维护系统安全,无疑能够提高他们的网络技能掌握水平。

四教学效果与总结

计算机网络课程是计算机专业的基础课程,更是计算机网络专业的重点课程,在计算机网络的理论教学过程中配合网络实验教学,强化实验在网络课程中的地位,以网络工程师、网络管理员为一个测试点,经过几个学期的教学,学生在深入理解协议工作原理的基础上,其创造性思维也得到提高,能够将所学的理论知识联系实际,独立完成网络的协议分析与设计。同时网络工程师与网络管理员的通过率也有了明显的提高。将实验教学依托于华为网络学院,近年来学校华为3Com的网络工程师的认证通过率一直在80%以上。著名的建构主义专家DavidH.Jonassen认为:学习者建造自己的现实,至少是基于以往的经验来解释现实的。因此,一个人的知识是在个人经验、思维结构以及对事物的不断摸索的基础上形成的,鼓励学生自己动手做实验就是这样一种集三者于一体的有效的探究方式。实验教学的初步实践表明,在网络技术飞速发展的今天,理论联系实际显得很重要。目前的实验是考虑到学生的平均水平而单独设立各实验,将来可尝试结合所学的网络知识进一步安排综合性实验。爱因斯坦曾说过:“发展独立思考和独立判断能力,应当始终放在首位”,综合性实验和设计性实验是培养学生独立工作能力的重要途径,并能为学生主动学习、独立研究和全面发展提供空间。中国有句古话:“授人以鱼,不如授人以渔”,计算机专业的飞速发展导致课堂的教学与学校教学的实验设备跟不上它的更新速度,因而锻炼学生自主的学习能力在大学教育特别是计算机专业的教育中尤为重要。另外,应鼓励学生积极参与一些应用课题和研究项目的调研及开发工作,使学生形成合理的专业知识结构,提高他们的综合实践能力。当然教学过程中教师的言传身教、穿针引线以及在学生的学习方法、思维方式、科学观念的培养上也是至关重要的。