模拟仿真技术在《计算机网络》课程教学中的应用
2010-08-15唐凤仙汤鹏杰
唐凤仙,汤鹏杰,阮 忠
(河池学院 计信系,广西 宜州 546300)
模拟仿真技术在《计算机网络》课程教学中的应用
唐凤仙,汤鹏杰,阮 忠
(河池学院 计信系,广西 宜州 546300)
《计算机网络》课程理论性,实践和应用性都很强,课程教学及实验难度大,学生学习没有积极性,笔者根据教学经验,将模拟仿真技术应用到教学实践当中,并将模拟仿真技术进行二次开发和分类,以适应不同层次教学实验的要求。
模拟仿真技术;计算机网络;协议仿真;教学应用
《计算机网络》课程是计算机科学与技术、网络工程和其他相近专业学生的一门专业必修课。它是一门理论性、实践性和应用性都很强的课程,教学难度较大。如何上好计算机网络课,一直是困扰任课教师的一个难题。
目前,对于如何上好《计算机网络》这门课程,很多一线教师都提出了自己的见解,如提出在教学中突出系统的观点,注重理论与实践相结合,在实践中回归理论等。也有些人认为应该更改计算机网络教材,使新教材能够跟上技术的发展,多讲原理和概念,忽略细节等。根据我们的教学经验,提高该课程的教学质量,更重要的是应根据其特点,改革教学思路和模式,大胆创新。在实践中使用仿真技术,通过开发具有针对性的仿真软件来实施教学,如专门开发 TCP/IP协议的仿真器,教师可以进行演示,通过发包和对包进行捕捉分析等实验,让学生理解整个协议的工作过程和状况。
一、《计算机网络》课程教学的困难和问题
(一)课程属于交叉学科,知识点众多
计算机网络涉及计算机科学、电子技术,通信技术、人工智能、密码学等学科,而其特有的知识点也都比较抽象,如网络体系结构,在学生刚接触该课程的时候,很难理解为什么计算机网络一定要分层次,很难想通每个层次上的各种通信协议,对于很多网络参数也无法深入理解其中的含义。教师要在有限的时间内将大量的知识点向学生解释清楚,并且结合实际,提高学生的实践能力和分析问题的能力,并非易事。
在以往的教学中,教师一般都是直接讲授协议的原理及过程,对于一些网络参数并不是通过分析其实际意义让学生体会其用途,而是记一些定义及相应公式等。在这种情况下,教师所讲知识内容空洞,学生学习课程的积极性很难被调动起来,甚至导致学生产生逆反心理,觉得网络就是一些概念,毫无用处。
(二)理论知识很难和实验对应起来
计算机网络是一门实践性非常强的学科,课程需要做大量的实验,所需实验器材繁多,且都比较昂贵,一般院校很难建立起设备比较齐全的实验室。如网络拓扑结构一节,如果在实际环境中将几种拓扑结构一一实验,将会需要大量的设备,其实验准备及配置也是一项极为复杂的工作,在一般实验室中是不可能实现的。
在以往的实验教学中,教师一般都是设置一些配置服务器或路由器的实验。这些实验对学生提高动手能力有一定帮助,但从根本上来说,这种方式对学生深入理解知识点,进一步思考可能更好的方式所产生的效果却并不理想,因为学生在实验时只顾根据教师所教或实验指南列出的命令或步骤进行操作,而对其中的原理和指导思想毫不关心,对个中参数的含义也是一知半解。如在路由协议一节,不管是 Rip还是 OSPF协议,学生在实验时,只需配置一些简单的命令即可,一旦能够将所连接的主机 Ping通,就觉得是大功告成,而这些路由协议的原理及运行过程,他们根本就不关心,更谈不上理解。这就造成了本末倒置,和所学知识失去了联系,也失去了实验的意义,既浪费了时间又浪费了设备与器材,对学生综合素质的培养极为不利。
(三)难以提高学生的思考及自主动手能力
学生在课堂上被动地接受知识,在实验中做和所学知识关系不是很大的实验,造成了对网络思想理解不够深刻,对知识点记忆不够清晰。如某个协议的产生背景、状态流程及具体实现等,大部分学生都是听过就忘,做与协议相关实验时,感觉无从下手。对知识点的模糊,造成了学生创新意识的丧失,为提高其创新能力造成了障碍。
二、模拟仿真技术在课程教学中的应用
以上所述问题直接导致了学生对计算机网络课程的不信任甚至反感,也为教师如何上好该门课程设置了难题。这对提高学生的专业素质及综合能力都是一大挑战,因此,研究如何上好计算机网络课程,如何提高学生对本门课程的兴趣,是一个亟待研究解决的问题。
(一)模拟仿真技术的优势
使用模拟仿真技术,能够使学生对所学网络知识有直观的认识,对网络的结构和协议的理解更为深刻,利于知识的消化与吸收,提高动手能力,增强创新意识。如网络体系结构一节,可以在仿真软件中建立一个节点模型,在进程模型中添加协议状态及流程,为状态添加实现代码等。这一方面可以使学生对知识进行从整体到细节的把握,既理解了分层的意义,也掌握了协议内部实现的细节,为其创新意识及能力的培养奠定了基础;另一方面,教师在教授时,也能将知识点当做一个整体来看待,顺着一条主线进行细节知识的讲解,不会感到支离破碎,无从讲起。
模拟仿真技术在为学生讲解某个网络功能时也极为方便。一个功能通常可能会有多个网络协议来支持,特别是路由协议,如在无线网中为实现数据路由,可以有 DSR协议、TORA协议等。在比较协议性能的好坏时,就可以通过建立一个网络模型来进行仿真。教师可以结合所讲的协议原理,并配以得出的具体仿真数据向学生展示各种方法的不同用途及在不同场合中的优劣性。这样,学生就可以更加深入地理解为什么在实现该功能时必须使用相应的协议和规程。
学生在了解了现有的最好的技术方法后,教师便可以进一步引导他们思考实现该网络功能是不是还有更好的思路和方法,并通过动手建立模型来仿真所提出的新思路、新方法,通过对比参数数据,使他们发现其中的不足之处并鼓励其继续加以努力改进。
总之,在计算机网络的课程教学中,使用模拟仿真技术能够充分调动学生的积极性,使学生对其中的概念和原理有更好的把握,对网络中所运用的思想有更深刻的理解,也能够充分发挥学生的主观能动性,提高其动手能力和创新能力。
(二)模拟仿真技术的应用
模拟仿真技术及其相关软件其实早已出现,但这些技术和软件都有侧重点,并不能完整地反映整个计算机网络的知识脉络。因此,需要对其进行整理,甚至要根据具体需求进行二次开发。
1.设备配置教学与实验仿真
网络设备的配置是计算机网络教学中必不可少的一部分,这部分内容实践性最强,也是学生在学习过程中最感兴趣的。在很多条件好的高校,这部分实践内容并不难以实现,只要拥有几台服务器、交换机、路由器等一些网络设备即可。直接的实物实践可以让学生身临其境,对其动手能力的培养极为重要。但实物实践也有缺点。首先,耗费较大,每次实验都要耗费不少的耗材;其次,不能做到每个学生都能动手操作,由于设备数量的限制,学生在实验时必须要多人一组,这就造成了组内的每个学生不能完整地进行设备的配置;再次,实物实验不够灵活,实验时间较长。
因此,在实物实验的基础上,我们还需要进行一些仿真软件对设备的配置进行模拟仿真。这样就保证了在不消耗耗材的基础上,每个学生都能够将整个实验过程及步骤独立完成,也省去了很多不必要的操作,节省了时间。目前,设备仿真软件有很多,如思科公司为思科网络技术学院学员所开发的 Packet Tracer,该软件将思科公司的网络设备都做成了模型,其设置步骤和功能与现实中的思科设备几乎没有差别。在一些网络实验中,如子网划分,Vlan的设置等,使用该软件将取得事半功倍的效果。网络仿真软件 OpnetModule,对于网络性能的分析更是其他软件所不能代替的,在学生做网络性能参数分析的时候,极为直观,对加深学生对各参数的理解有很大帮助。
2.协议教学中的分析与仿真
设备仿真软件对学生动手能力及工程实践能力的提高有很大帮助,但只做到这一点远远不够。《计算机网络》不但要求学生能够进行简单的网络配置,还要求学生对网络过程有一个清晰的认识,能够深刻理解网络内部的运行机制。这就需要协议分析工具的支持。
协议分析工具目前有很多,比较常用的是 Ethereal、Sniffer等。这些软件都是通过在局域网中抓取数据包,然后根据软件内部的分析机制,将数据包进行分类,并对每个数据包进行解析,将数据包中每层的数据都列出来,形成一个可见的协议栈。同时,还可以对数据流进行统计分析,将整个协议的交互过程完整的呈现出来。
协议分析对学生学习网络来说是极为重要的,在一些实验中,如 TCP的三次握手,FTP的两条连接,滑动窗口机制等,是设备配置无法实现的,而通过这些协议分析软件的使用,就可以使学生对各种协议的协议栈及协议运行过程进行观察和研究,加深了他们对整个协议的理解。
3.协议的实现仿真
一般情况下,学生在学习计算机网络的时候能够做到协议分析就可以了。但如果要进一步提高他们的分析及设计能力,培养其研究及创新思维,还需要将协议内部的一些实现细节让学生们来理解。协议的实现非常复杂,需要考虑各个方面的情况,如果让学生自己编程来实现,难度极大。我们可以借助于一些已经实现好了的协议栈来进行这方面的学习和训练。
仿真软件 NS2以及 OpnetModule是当前研究计算机网络协议的重要工具。如 OpnetModule,该软件里面封装了现在绝大部分已为标准的网络协议,形成了很多节点模型和网络模型。在节点模型中,我们可以看到实现该节点的协议栈,并在协议栈的每一层上实现了状态机模型,将协议的每一状态都完整地呈现出来,学生可以打开每一个状态,里面是具体的实现代码 (一般用 C语言编写)。状态机的存在使得学生可以对整个协议有一个更加深刻的认识。通过分析状态机,学生能够明白协议为何要如此设计,并进一步思考。这种状态的转换是否必要,有没有漏洞的存在等。这对培养学生的独立思考能力以及创新能力是极为有利的。
三、小结
在《计算机网络》课程实践过程中,大量使用模拟仿真技术,能使学生对所学网络知识有直观的认识,对网络的结构和协议的理解更为深刻,利于知识的消化与吸收,激发学生学习自觉性和主动性,提高学生分析问题和解决问题能力,从而达到提高教学质量的目的。
[1]阴国富.基于 NS的计算机网络教学课件开发[J].计算技术与自动化,2010,(1).
[2]董付国,原达.NS-2仿真技术在计算机网络实验教学中的应用与研究[J].计算机教育,2005,(10).
[3]李环.计算机网络实验的项目驱动式教学应用[J].计算机教育,2010,(5).
[4]刘应成.瑞典乌普萨拉大学“计算机网络”教学的启示[J].计算机教育,2010,(1).
G642.4
A
1672-9021(2010)S-0112-03
唐凤仙 (1977-),女 (壮族),广西都安人,河池学院计信系讲师,主要研究方向:数据结构与算法,机器学习。
河池学院 2009年教改项目 (项目编号:2009E015)
2010-06-20
[责任编辑 贺卫国 ]