由于在计算机专业,或者工学专业的网络课程教学中,网络协议教学是其教学重点和难点,就目前而言,很多高校都在采用课堂多媒体的形式来辅助理论进行教学。当然,还有的学校也包括了网络编程模拟仿真的形式。所提到的多媒体辅助教学[2]是指运用计算机将文字、声音、图形、图像、视频、动画等多种媒体信息,添加进课堂教学活动的一种教学方式,鉴于网络协议知识虚拟化的特点,利用多媒体教学辅助理论教学可以加深学生对抽象的网络协议知识的理解,能够让学生更加直观的,对抽象的模型有一个清晰的认识。当然,多媒体辅助理论教学也不是完善的,相对于理论知识直接传授的方式,多媒体方式只是改变了表达方式,从根本上学生还是不能真实地体验网络协议环境,多媒体课件只是突出了概念模型的某个方面,而不是网络协议复杂模型的全面描述,因此难以真实地反应网络协议的本质。
网络编程模拟仿真[3]也是目前较为普遍的网络协议教学方式,为了让学生体会和理解真实网络协议环境和运行情况,结合学生在编程方面的知识,让学生自己编程来实现简单的网络协议,但是鉴于编程水平有限,这种方式仍然不利于学生对网络协议知识的全面学习,因为学生只能对几个其中简单的协议编程模拟仿真,而不能真实地应用所有的网络常用协议。
网络协议分析是指通过程序分析网络数据包的协议头和协议尾,从而了解信息和相关的数据包在产生和传输过程中的行为。在典型的网络结构中,网络协议和通信采用的是分层式设计方案,在当前最流行的,是OSI网络结构参考模型,其同一层的协议之间能相互通信。协议分析器的主要功能之一就是逐层分析各协议的头部以及数据信息,通过分析检测到的相关信息,来识别网络通信过程中出现的问题。如Windows平台上的sniffer、sniffer pro,Linux中强大的网络数据采集分析工具-tcpdump,以及etheral,以及后来出现的强大的wireshark。它们都可以监视网络的装填和数据流动情况以及对网络上传输信息实施攻击,并广泛地应用于网络故障诊断、协议分析、应用性能分析和网络安全保障等各个领域。然而,在功能、操作性和易用性等方面,这些软件关注的重点不同,往往比较复杂,因此,要实现一款真正适合教学的网络协议学习与实验系统很有必要[4]。
1.2 研究目的和意义
在计算机网络课程的教学过程中,网络协议这一内容贯穿始终、至关重要,此外,我们日常用到的内网、外网的通信,互联网各项应用等等都离不开网络协议这一内容。因此,无论是网络专业的学生,还是非专业的人士理解计算机的网络体系结构,掌握数据通信过程,学习理解网络协议都是非常有必要的。
在网络通信中广泛使用的TCP/IP协议族[5],是目前网络互连通信的标准协议,同时在网络课程教学中也是重点内容。但是一般教材中只是从理论上介绍了TCP/IP协议族,缺乏实验辅助,学生难以理解。本文设计的网络协议学习与实验系统,实现了数据包的捕获、分析以及协议学习的功能,目的是让学生可以通过本系统,了解网络协议的理论知识,以及网络数据包的捕获与分析过程,帮助学生理解网络数据包捕获、分析的通信过程,理解网络中接收端层层解包的数据传递过程。并能够对各层的主要协议格式、内容有更清晰与直观的认识,建立一个清晰的网络体系模型。
综上,网络协议学习与实验系统的实现,将辅助广大网络协议学习者熟悉网络各层主要协议的格式、内容,并能够从理论和实践两个方面,提高网络知识水平和动手能力。从而培养高水平的网络专业人才,熟练掌握网络编程等。 VC++《网络协议分析》学习与实验系统设计及实现(3):http://www.751com.cn/jisuanji/lunwen_12338.html