美章网 资料文库 数据通信实验平台的教材革新范文

数据通信实验平台的教材革新范文

本站小编为你精心准备了数据通信实验平台的教材革新参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。

数据通信实验平台的教材革新

作者:文展文斌张家波单位:成都信息工程学院通信工程学院四川成都重庆邮电大学移通学院

计算机网络是一门应用性、实践性很强的专业课程,其实验教学环节不仅是理论教学的深化和补充,而且对培养学生综合运用所学知识,解决实际问题的能力,也起着非常重要的作用[1-2]。虽然目前各大高校工科专业均开设了网络类课程,但是由于该类课程着重于网络体系结构及相关理论的讲授[3],大多数学生在学完本课程之后,甚至到毕业为止,不具备应用层网络编程能力,更不具备网络通信设备开发所要求的底层协议编程和分析能力。究其原因,除了传统的“自底向上”课程组织方法外,缺乏合适的实验平台供学生进行从应用层、传输层到网络层和数据链路层逐层的网络编程训练,也是造成目前学生编程能力不强的重要因素。

近年来,国内外一些大学已经开始采用反传统的课程组织“自顶向下”的方法,在这样的组织中,编程在课程中的比重被强化。但遗憾的是,目前的课程仅涉及应用层编程。因此,在对课程大组织结构进行调整的同时,必须引入一个相应的实验平台,适应“自顶向下”的教学模式,为学生提供从应用层、传输层到网络层和数据链路层逐层编程的训练。数据通信实验板是可以满足以上要求的实验平台。该实验板是一个嵌入式TCP/IP协议栈的单片机,由于嵌入了uIP协议栈,可以基于此实验板研究TCP/IP各层协议的原理和功能,实现从应用层、传输层到网络层和数据链路层的网络编程。

一、数据通信实验板的原理

数据通信实验板的硬件部分主要由STC89C58RD+单片机、RTL8019AS网卡芯片、MAX485、SJA1000等构成,其原理框图如图1所示。该实验板软件核心采用uIP019版本。通过该实验板除了可完成RS485总线、CAN总线相关的实现项目,加深学生对网络类课程相关知识的理解与认识,同时还将开源的uIP移植到STC89C58RD+单片机内,学生可以轻松完成与网络课程相关的实验项目,从而很好掌握TCP0IP各层协议的实现方法与技巧。下面主要说明基于此实验板的网络实验原理和方法。

二、基于数据通信实验板的实验设计

考虑到TCP0IP体系结构中,越到顶层越简单、越到底层越复杂的规律,结合网络类课程大结构从“自底向上”到“自顶向下”的改革需求,在基于数据通信实验板的计算机网络实验内容设计上,也采用“自顶向下”的顺序,先从应用层文件传输协议(FTP)编程实现入手,依次到传输层TCP协议、网络层地址解析协议(ARP)、数据链路层协议的编程实现,如图2所示。通过本系列实验,力求强化学生网络编程能力,使其对TCP/IP体系结构设计方法有更深入的认识。

1.应用层——FTP的设计与实现FTP是一个最基本的应用层协议。通过本实验能使学生掌握应用层协议的编程方法和FTP的具体实现细节。学生利用uIP019提供的Socket接口编写FTP客户端和服务器程序,并导入实验板运行,要求既能实现客户端程序到服务器的连接,又能在客户端通过命令对服务器进行操作,实现FTP协议的功能。

此实验可在一块或多块实验板上进行。在一块实验板上调试时,先运行FTP服务器程序,再运行客户端程序,并输入本机IP,连接之前运行的服务器即可。在多块实验板上调试时,实验板之间通过以太网口相连,在一块实验板运行FTP服务器程序,在其他实验板运行客户端程序,并输入服务器IP连接服务器即可。

由于FTP服务器功能比较复杂,可根据学生的实际情况对本实验进行简化,如只要求学生编写FTP客户端程序,与现成的FTP服务器程序进行连接和交互。尽管只编写FTP客户端程序,仍然需要学生仔细查阅RFC959文档,对FTP协议的框架和内容有深入的研究;同时,学生必须掌握uIP019所提供的Socket接口,完成通信过程。

2.传输层——TCP的简单实现应用层的FTP协议是基于传输层的TCP协议实现的。TCP协议为两个任意处理速率的、使用不可靠IP连接机制的机器之间的通信,提供可靠的、具有流量控制的、端到端的数据流服务,在整个网络体系结构中占有非常重要的地位。本实验要求学生编写TCP测试程序,这是一个标准的面向连接的通信过程,涉及了TCP的主动打开、被动打开、连接的建立、数据的传输、连接的关闭等内容。目的是让学生了解TCP协议的机制及其实现结构,加深对TCP中“三次握手”“滑动窗口”、时钟等概念的理解。TCP测试程序之间可以采用C/S模式,也可以采用对等模式。注意,为减少储存器的使用,uIP里TCP没有实现发送窗口和接收窗口的实时调整,而是固定大小的。输入的TCP段不会通过uIP缓存,必须立即由应用程序处理。输出数据时,uIP不能在每个连接有超过一个未解决的TCP段。

3.网络层——ARP的简单实现ARP协议是把目标IP地址解析为以太网MAC地址,当一个IP包要在以太网上发送时,先查询ARP表,找出要发送的MAC地址。如果在表里找不到对应的IP地址,就会广播ARP请求包,以获取给出IP地址所对应的MAC地址。目的主机收到请求包后,发出一个ARP回应包,给出自己的MAC地址和IP地址。ARP表每10秒更新一次。ARP协议对于构建在以太网上的TCP/IP是必须的,但对于构建与其他网络接口(例如串行链路)上的TCP/IP则不是必需的。为了结构化的目的,uIP将ARP协议作为一个可添加的模块单独实现。在进行ARP协议实现的实验时,可将数据通信实验板中uIP中相关的文件删除,由学生自己编程实现一个简单的ARP协议;再将编写的相关文件导入实验板中,进行调试。编程过程中,可以调用uIP的相关接口。

4.数据链路层——一个简单的数据链路层协议的实现数据链路层协议是计算机网络各层协议中通信控制功能最典型的一层协议。首先,它保证通信双方在有差错的通信线路上进行无差错的数据传输;其次,它需要使用“滑动窗口”等数据传输关键技术。在实验过程中,只需用C语言将相应的代码写好,编译为Hex文件后,下载到实验板的单片机中运行。编程过程中,需要调用uIP019的函数接口时,必须遵循相关的规定,尤其是参数的数目和类型。本实验板支持TCP/IP体系结构中所有协议的编程实现,以上四个实验只是选取了各层比较有代表性协议的简单实现作为实验内容,在实验教学过程中,也可以根据需要进行扩充,比如增加各层的协议实现,或者增加网络包的截获、过滤、发送、解析等操作的实现。该实验平台同时也支持物理层的实验,数据通信本身集成了串行接口,可以开展串口通信实验。如果有需要,也可以对数据通信实验板进行改进,增加无线接口;相应地,无线网络的编程实验也可在此实验板上进行。

三、结语

本数据通信实验板为通信终端程序开发量身定做,学生可在其上进行灵活有效的程序开发;同时还可以让学生了解最新的常用器件,贴近实际使用研发环境。实验系统简单明了,硬件系统及软件完全对学生透明开放。通过基于数据通信实验板的编程实验,可以使学生深入了解通信软件设计以及TCP/IP体系结构中各层协议的设计和实现方法,加深学生对教材中知识的理解,提高学生编程能力,从而提高教学质量和教学效果。

本实验板及相应实验在成都信息工程学院通信、电子、控制专业2006级本科“计算机网络”课程中试行,学生问卷反馈结果显示:82%的学生了解了TCP/IP体系结构原理和设计方法;77%的学生掌握了网络编程方法,其中19%的学生熟练掌握。与前几届问卷调查比较,学生对TCP/IP体系结构的了解和对网络编程方法的掌握都有了大幅度提高。由此可见,本实验改革是有效果的,值得进一步推广。