论文部分内容阅读
摘要:针对计算机网络课程的特点及教学开展中面临的问题,探索了“可视化”教学方法的改革。引入网络分析工具Wireshark,实现了网络协议语义语法分析及工作机理的直观展现,降低学生认知网络理论原理和协议内容的难度,有效提升了课程教学效果,促进了学生实践能力和创新能力的培养。
关键词:计算机网络;网络协议;可视化分析;Wireshark
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2013)01-0242-02
《计算机网络》课程是目前高校电子信息类本科专业的核心课程,课程既具有较强的理论性又具有较强的实践性,在教学中是一门相对抽象、不易学好的课程[1,2]。在《计算机网络》课程的教学实践中,针对课程以网络协议体系为主线的特点,引入网络协议分析软件,精心设计教学环节,通过教学手段和方法的改进实现网络协议教学的可视化,激发了学生的学习积极性,强化了学生对知识的理解,有效提升了学生的实践能力和创新能力培养。
一、计算机网络课程教学中面临的挑战
《计算机网络》因其自身的课程特点,在教授这门课程时,学生和教师都面临很大的挑战。分析其原因,主要表现在以下几个方面。
首先,《计算机网络》课程知识结构庞杂,涉及通信、计算机软件及硬件等专业知识,又涉及协议设计方法、解决通信中容错、拥塞控制、资源标识、地址解析、路由等复杂的机制与算法,很多计算机及相关专业学生认为学习起来有一定困难。
其次,课程以TCP/IP体系结构为主线,各层的协议数据单元格式和字段语义、协议交互语法抽象,同步控制复杂,使得协议定义及实现成为课程的教学重点和难点。在传统教学中,教师通常只是使用自然语言解释协议工作机理,即使引入一些图表,但图表也很难将抽象的定义直观地呈现给学生,学生只能通过抽象思维想象计算机处理的数据形式,教师试图传递的网络工作“视图”与学生头脑中形成的“视图”不统一,难以达到良好的课堂教学效果。
最后,课程具有较强的实践性特点。实验是使学生得以深入理解课堂讲授内容直接和有效的手段,也是培养学生动手能力、创新意识和能力的重要途径。但实际教学中,受教师教学思路、实验设备环境等因素限制,实验效果不佳,不能很好地与理论教学相辅相成,相互促进。
为改变《计算机网络》课程难学、难教的局面,许多教师也尝试引入一些实验方法或工具,以提高教学实验效果,提升学生实践能力。例如,为使学生理解协议的工作原理,有些学校教师使用一些简单协议工作原理仿真原件,或让同学编写实现简单通信或协议的主要功能,学生通过操作简单交互界面,体验网络协议工作机理。但这种在应用层通过软件模拟如丢包、检错、寻址等功能更使学生感到虚幻,不能直观体验到真正协议的工作过程。我们之前也曾使用NS-2网络仿真器验证基本协议,但掌握NS-2的OTCL语言对学生来说是入门的一大屏障,此外,基于NS-2所开展的仿真实验,需要实验者具备丰富的网络协议理论基础和经验积累,因此将NS-2平台应用于本科课程学习,在实践中发现有较大难度[3]。《计算机网络》课程教学目标和课程学习能力培养要求,学生需要理解数据通信及网络的基本概念、基本原理和基本设计方法,重点理解和掌握计算机网络体系结构中不同层协议的工作原理和过程,以及不同实体之间层协议交互的过程。作为一门理论与实践并重的课程,通过课程学习和实验,可以提高学生的动手能力和实践能力。
经过多年对《计算机网络》课程教学手段、方法的探索和总结,引入有效工具提高抽象知识的表现、强化实践环节等可以有效提高课程教学效果。我们在课程教学中引入Wireshark网络分析软件,精心设计教学内容,教师由单纯的知识传授者向教学的设计者转化,实现对协议结构的可视化分析。同时将部分教学内容直接搬进实验室讲授,实现“做中学”,从而提高了学生的学习兴趣,有效提升了学生的实践能力。
二、基于Wireshark网络协议可视化分析
Wireshark是一款支持Windows、Linux的免费开源网络协议分析软件,软件可以实时捕捉网络中的各种数据包,进行协议分析,软件操作界面友好,通过图表显示功能直观反映协议数据结构和工作机理[4]。常规计算机网络课程中,尽管引入了多媒体教学,但图片加文字的形式,不能动态、实时地表现网络实体间协议交互的状态,理论知识难以有效展现,教学手段不够丰富。即使制作动画演示,但是互动性不足,不能随着参数和场景的变化而调整结果,虽然逼真但并不真实。使用Wireshark软件工具捕捉并分析各种数据包结构,学生能够直观地看到MAC帧、IP数据报、TCP报文段等各种协议数据单元的结构和内容。可视化的图形本身就是降低理论抽象程度的最直接方法,通过观察网络协议实体间交换的报文顺序,可以大大提高学生对协议的理解,提高其网络分析设计能力。通过分析具体报文和相应字段,学生可以发现网络中的故障所在,可培养其解决问题的能力和创新能力。
(一)教学设计
在课程教学中,引入Wireshark工具分析各层网络协议的数据单元结构和内容,教学内容设计如表1(见下页)所示。
(二)Ethernet帧格式和ARP协议分析
分析相应层的协议内容时,预先充分地设计教学过程是關键。以数据链路层的内容为例,通过教学案例说明基于Wireshark协议分析教学方法。
经过网络体系结构中第二层“数据链路层”的学习,学生具备的知识基础包括:(1)以太网的MAC帧结构格式;(2)以太网的MAC层硬件地址的概念;(3)地址解析协议APR的作用。另外,要求学生自己查阅并熟练学习使用ARP命令。
教学过程设计:通过“arp-d”命令清空ARP表的内容;启动Wireshark捕捉数据;向其他主机(如:河南工业大学的万维网服务器“www.haut.edu.cn”)发送Ping数据包;分析ARP协议执行的全过程。 为了便于将注意力锁定在Ethernet和ARP协议上,将IP层及更高层协议屏蔽后,捕捉的结果如图1所示。
课堂上,通过工具捕捉,设定若干问题,引导学生了解和熟悉可视化界面中记录的数据帧内容,并通过回答这些基本问题来深化对协议和原理的认识。例如对捕捉的ARP request报文,问题设计如下。
1.包含ARP请求报文的以太帧中,源端MAC地址的16进制表示是什么?
2.目的端的MAC地址是什么?是www.haut.edu.cn所在主机的MAC地址吗?(提示学生:不是)这个目的地址对应某一具体设备吗?为什么?
3.Ethernet帧结构中,幀首部的类型字段内容对应的十六进制数值是什么?
通过这些简单问题的引导,学生直观地看到了以太网中帧结构的形式,同时他们也总结说:发现帧结构没有想象中那么复杂,字段精简且作用明确;看到捕捉的ARP数据包中目的地址“Broadcast”的表示,及其对应的MAC地址数据为“ff:ff:ff:ff:ff:ff”,对理解ARP协议的工作原理有种豁然开朗的感觉。
通过上述基本问题的回答,学生理解了网络协议ARP的格式构成以及网络命令“apr”的使用。然后,把问题进一步深入,邀请学生思考并分析:问题1:如果允许手动添加一条ARP缓存的项目,如何解决IP地址和MAC地址的对应。假设,手动添加的条目中IP地址是正确的,而MAC地址的信息是错误的,会有什么样的结果?问题2:如果一个局域网观察到一台主机提示“IP地址,如192.168.17.201冲突”,如何解决?针对问题,学生一方面分组热烈讨论,一方面动手验证自己的结论,在实践中训练和培养分析问题、解决问题的能力。教学环节结束后,教师要求学生课余下载、阅读ARP的请求评论(RFC 826)。另外,有同学提出疑问:“所学的ARP协议与听到的名词“ARP欺骗”有什么关系?并自行查阅资料研究。学生展开的这些课外学习环节,进一步促进其自主学习能力的培养。
三、小结
本文是2010年度河南省高等学校精品课程“计算机网络技术”建设中的一项教改成果。借助Wireshark实现对各层协议透视和工作机理研究,学生通过这种“可见的网络”、“可视的协议”,直观地观察到协议实体间信息交换的序列和协议工作细节,深化了对基本概念和基本原理的认识和理解。我校2008级学生受益本课程改革与建设,3名同学共同设计的“物联网无线结点网络通信协议软件”在参加河南省青年创新软件设计大赛中获奖。
经过两年的教学实践,遵循以上教学思路,笔者进行了课程教学手段及方法的改革尝试。实践证明,可视化分析在计算机网络课程的教学中发挥了重要作用,分解了教学难度,提高了教学效果,实现了课程建设的目标,为今后的教学改进提供了参考。
参考文献:
[1]James F.Kurose,Keith W.Ross.计算机网络:自顶向下方法[M].陈鸣,译.北京:机械工业出版社,2009.
[2]谢希仁.计算机网络[M].北京:电子工业出版社,2008.
[3]程立,张浩军,王珂.NS2在计算机网络课程实验教学中的应用研究[J].网络与信息,2009,(10):22-23.
[4]Wireshark User’s Guidefor Wireshark1.9[EB/OL].
http://www.wireshark.org/docs/wsug_html_chunked/.2011.
基金项目:河南工业大学2012年重点教研项目(“卓越”软件人才培养模式创新研究与实践);河南工业大学2010年教研项目(2010GJYJ-B13,2010GJYJ-B39);河南省教育科学“十一五”规划2010年课题(面向新兴产业工程化网络专业人才培养研究);河南省精品课程建设立项(“计算机网络技术”);河南工业大学“计算机科学与技术”优培工程项目
作者简介:程立,女,讲师,研究方向为信息安全;张浩军,男,教授,研究方向为网络与信息安全;吴勇,男,讲师,研究方向为信息安全。
关键词:计算机网络;网络协议;可视化分析;Wireshark
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2013)01-0242-02
《计算机网络》课程是目前高校电子信息类本科专业的核心课程,课程既具有较强的理论性又具有较强的实践性,在教学中是一门相对抽象、不易学好的课程[1,2]。在《计算机网络》课程的教学实践中,针对课程以网络协议体系为主线的特点,引入网络协议分析软件,精心设计教学环节,通过教学手段和方法的改进实现网络协议教学的可视化,激发了学生的学习积极性,强化了学生对知识的理解,有效提升了学生的实践能力和创新能力培养。
一、计算机网络课程教学中面临的挑战
《计算机网络》因其自身的课程特点,在教授这门课程时,学生和教师都面临很大的挑战。分析其原因,主要表现在以下几个方面。
首先,《计算机网络》课程知识结构庞杂,涉及通信、计算机软件及硬件等专业知识,又涉及协议设计方法、解决通信中容错、拥塞控制、资源标识、地址解析、路由等复杂的机制与算法,很多计算机及相关专业学生认为学习起来有一定困难。
其次,课程以TCP/IP体系结构为主线,各层的协议数据单元格式和字段语义、协议交互语法抽象,同步控制复杂,使得协议定义及实现成为课程的教学重点和难点。在传统教学中,教师通常只是使用自然语言解释协议工作机理,即使引入一些图表,但图表也很难将抽象的定义直观地呈现给学生,学生只能通过抽象思维想象计算机处理的数据形式,教师试图传递的网络工作“视图”与学生头脑中形成的“视图”不统一,难以达到良好的课堂教学效果。
最后,课程具有较强的实践性特点。实验是使学生得以深入理解课堂讲授内容直接和有效的手段,也是培养学生动手能力、创新意识和能力的重要途径。但实际教学中,受教师教学思路、实验设备环境等因素限制,实验效果不佳,不能很好地与理论教学相辅相成,相互促进。
为改变《计算机网络》课程难学、难教的局面,许多教师也尝试引入一些实验方法或工具,以提高教学实验效果,提升学生实践能力。例如,为使学生理解协议的工作原理,有些学校教师使用一些简单协议工作原理仿真原件,或让同学编写实现简单通信或协议的主要功能,学生通过操作简单交互界面,体验网络协议工作机理。但这种在应用层通过软件模拟如丢包、检错、寻址等功能更使学生感到虚幻,不能直观体验到真正协议的工作过程。我们之前也曾使用NS-2网络仿真器验证基本协议,但掌握NS-2的OTCL语言对学生来说是入门的一大屏障,此外,基于NS-2所开展的仿真实验,需要实验者具备丰富的网络协议理论基础和经验积累,因此将NS-2平台应用于本科课程学习,在实践中发现有较大难度[3]。《计算机网络》课程教学目标和课程学习能力培养要求,学生需要理解数据通信及网络的基本概念、基本原理和基本设计方法,重点理解和掌握计算机网络体系结构中不同层协议的工作原理和过程,以及不同实体之间层协议交互的过程。作为一门理论与实践并重的课程,通过课程学习和实验,可以提高学生的动手能力和实践能力。
经过多年对《计算机网络》课程教学手段、方法的探索和总结,引入有效工具提高抽象知识的表现、强化实践环节等可以有效提高课程教学效果。我们在课程教学中引入Wireshark网络分析软件,精心设计教学内容,教师由单纯的知识传授者向教学的设计者转化,实现对协议结构的可视化分析。同时将部分教学内容直接搬进实验室讲授,实现“做中学”,从而提高了学生的学习兴趣,有效提升了学生的实践能力。
二、基于Wireshark网络协议可视化分析
Wireshark是一款支持Windows、Linux的免费开源网络协议分析软件,软件可以实时捕捉网络中的各种数据包,进行协议分析,软件操作界面友好,通过图表显示功能直观反映协议数据结构和工作机理[4]。常规计算机网络课程中,尽管引入了多媒体教学,但图片加文字的形式,不能动态、实时地表现网络实体间协议交互的状态,理论知识难以有效展现,教学手段不够丰富。即使制作动画演示,但是互动性不足,不能随着参数和场景的变化而调整结果,虽然逼真但并不真实。使用Wireshark软件工具捕捉并分析各种数据包结构,学生能够直观地看到MAC帧、IP数据报、TCP报文段等各种协议数据单元的结构和内容。可视化的图形本身就是降低理论抽象程度的最直接方法,通过观察网络协议实体间交换的报文顺序,可以大大提高学生对协议的理解,提高其网络分析设计能力。通过分析具体报文和相应字段,学生可以发现网络中的故障所在,可培养其解决问题的能力和创新能力。
(一)教学设计
在课程教学中,引入Wireshark工具分析各层网络协议的数据单元结构和内容,教学内容设计如表1(见下页)所示。
(二)Ethernet帧格式和ARP协议分析
分析相应层的协议内容时,预先充分地设计教学过程是關键。以数据链路层的内容为例,通过教学案例说明基于Wireshark协议分析教学方法。
经过网络体系结构中第二层“数据链路层”的学习,学生具备的知识基础包括:(1)以太网的MAC帧结构格式;(2)以太网的MAC层硬件地址的概念;(3)地址解析协议APR的作用。另外,要求学生自己查阅并熟练学习使用ARP命令。
教学过程设计:通过“arp-d”命令清空ARP表的内容;启动Wireshark捕捉数据;向其他主机(如:河南工业大学的万维网服务器“www.haut.edu.cn”)发送Ping数据包;分析ARP协议执行的全过程。 为了便于将注意力锁定在Ethernet和ARP协议上,将IP层及更高层协议屏蔽后,捕捉的结果如图1所示。
课堂上,通过工具捕捉,设定若干问题,引导学生了解和熟悉可视化界面中记录的数据帧内容,并通过回答这些基本问题来深化对协议和原理的认识。例如对捕捉的ARP request报文,问题设计如下。
1.包含ARP请求报文的以太帧中,源端MAC地址的16进制表示是什么?
2.目的端的MAC地址是什么?是www.haut.edu.cn所在主机的MAC地址吗?(提示学生:不是)这个目的地址对应某一具体设备吗?为什么?
3.Ethernet帧结构中,幀首部的类型字段内容对应的十六进制数值是什么?
通过这些简单问题的引导,学生直观地看到了以太网中帧结构的形式,同时他们也总结说:发现帧结构没有想象中那么复杂,字段精简且作用明确;看到捕捉的ARP数据包中目的地址“Broadcast”的表示,及其对应的MAC地址数据为“ff:ff:ff:ff:ff:ff”,对理解ARP协议的工作原理有种豁然开朗的感觉。
通过上述基本问题的回答,学生理解了网络协议ARP的格式构成以及网络命令“apr”的使用。然后,把问题进一步深入,邀请学生思考并分析:问题1:如果允许手动添加一条ARP缓存的项目,如何解决IP地址和MAC地址的对应。假设,手动添加的条目中IP地址是正确的,而MAC地址的信息是错误的,会有什么样的结果?问题2:如果一个局域网观察到一台主机提示“IP地址,如192.168.17.201冲突”,如何解决?针对问题,学生一方面分组热烈讨论,一方面动手验证自己的结论,在实践中训练和培养分析问题、解决问题的能力。教学环节结束后,教师要求学生课余下载、阅读ARP的请求评论(RFC 826)。另外,有同学提出疑问:“所学的ARP协议与听到的名词“ARP欺骗”有什么关系?并自行查阅资料研究。学生展开的这些课外学习环节,进一步促进其自主学习能力的培养。
三、小结
本文是2010年度河南省高等学校精品课程“计算机网络技术”建设中的一项教改成果。借助Wireshark实现对各层协议透视和工作机理研究,学生通过这种“可见的网络”、“可视的协议”,直观地观察到协议实体间信息交换的序列和协议工作细节,深化了对基本概念和基本原理的认识和理解。我校2008级学生受益本课程改革与建设,3名同学共同设计的“物联网无线结点网络通信协议软件”在参加河南省青年创新软件设计大赛中获奖。
经过两年的教学实践,遵循以上教学思路,笔者进行了课程教学手段及方法的改革尝试。实践证明,可视化分析在计算机网络课程的教学中发挥了重要作用,分解了教学难度,提高了教学效果,实现了课程建设的目标,为今后的教学改进提供了参考。
参考文献:
[1]James F.Kurose,Keith W.Ross.计算机网络:自顶向下方法[M].陈鸣,译.北京:机械工业出版社,2009.
[2]谢希仁.计算机网络[M].北京:电子工业出版社,2008.
[3]程立,张浩军,王珂.NS2在计算机网络课程实验教学中的应用研究[J].网络与信息,2009,(10):22-23.
[4]Wireshark User’s Guidefor Wireshark1.9[EB/OL].
http://www.wireshark.org/docs/wsug_html_chunked/.2011.
基金项目:河南工业大学2012年重点教研项目(“卓越”软件人才培养模式创新研究与实践);河南工业大学2010年教研项目(2010GJYJ-B13,2010GJYJ-B39);河南省教育科学“十一五”规划2010年课题(面向新兴产业工程化网络专业人才培养研究);河南省精品课程建设立项(“计算机网络技术”);河南工业大学“计算机科学与技术”优培工程项目
作者简介:程立,女,讲师,研究方向为信息安全;张浩军,男,教授,研究方向为网络与信息安全;吴勇,男,讲师,研究方向为信息安全。