TFTP协议在嵌入式系统中的实现
本文基于ARM核处理器的多嵌入式应用综合开发平台,对嵌入式设备联网的TCP/IP协议进行了讨论研究。
1.引言
嵌入式系统是继IT网络技术之后,又一个新的技术发展方向。由于嵌入式系统具有体积小、性能强、功耗低、可靠性高以及面向行业应用的突出特征,目前己经广泛地应用于军事国防、消费电子、网络通信、工业控制等各个领域。随着计算机技术与通信技术的发展,嵌入式系统的研究与开发也有着越来越重要的实际意义。而ARM是业界领先的32位嵌入式RISC处理器技术提供商,占领了大约75%的市场。它可为一个完整系统的开发提供全面的技术支持,技术具有性能高、成本低和能耗省的特点。ARM的微处理器核心正迅速地成为便携式通信设备、手持计算、多媒体数字消费和嵌入式解决方案市场中MSC批量生产的标准。
在本项目中利用SAMSUNG公司的S3C44B0X与网络控制芯片的结合实现了系统通过TFTP协议从PC机下载资源的功能。
2.TFTP协议介绍
a.TFTP与各种协议关系
TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。TFTP承载在UDP上,提供不可靠的数据流传输服务,不提供存取授权与认证机制,使用超时重传方式来保证数据的到达。与FTP相比,TFTP协议要简单得多。现在最普遍使用的是第二版TFTP(TFTP Version 2,RFC1350)使用UDP 的67端口。
图1 TFTP协议包头次序
因为TFTP使用UDP,而UDP又使用IP,IP可以还使用其它本地通信方法(一般为以太网)。因此一个TFTP包中会有以下几段:本地媒介头,IP头,数据报头,TFTP头,剩下的就是TFTP数据了,具体见图(1)。TFTP在IP头中不指定任何数据,但是它使用UDP中的源和目标端口以及包长度域。由TFTP使用的包标记(TID)在这里被用做端口,因此TID必须介于0到65,535之间。TFTP头中包括两字节的操作码,这个码指出了包的类型下面我们看看大体上的TFTP包格式。
b. TFTP包介绍
TFTP支持五种类型的包,分别如下:
1 .Read request (RRQ)
2 .Write request (WRQ)
3 .Data (DATA)
4 .Acknowledgment (ACK)
5 .Error (ERROR)
图(2)显示了TFTP各种包在IP包中的位置:
图2 TFTP协议数据包格式
评论