简单文件传输协议(Trivial File Transfer Protocol,TFTP)是TCP/IP协议族中一种简单的文件传输协议,用来在客户端与服务器之间进行文件传输。
TFTP基于UDP协议进行文件传输。与FTP协议不同的是,TFTP传输文件时不需要用户进行登录。它只能从文件服务器上下载或上传文件,不能列出目录。下面介绍TFTP协议的工作方式。
1、协议模式
TFTP协议模式类似于客户端发送请求,服务器进行响应。由于TFTP是基于UDP协议的,而UDP数据包本身就不是很安全,即发送端发送的数据是否能成功到达接收端是不能确定的。因此,为了能够让发送端知道接收端已经接收到了发送端发来的数据包,接收端对接收到的每一个数据包都进行确认。
2、报文类型
TFTP客户端与服务器进行信息交互的过程中有5种报文类型。每种报文类型及含义如下:
Read Request(RRQ):请求读取报文,表示客户端向TFTP服务器发送读取请求,希望从TFTP服务器上读取文件,即下载文件。
Write Request(WRQ):请求写入报文,表示客户端向TFTP服务器发送写入请求,希望向TFTP服务器写入文件,即上传文件。
Data(DATA):传输数据包报文,表示客户端与TFTP服务器之间进行文件的数据传输。
Acknowledgment(ACK):确认报文,表示对请求读取、请求写入和传输数据包进行确认。
Error(ERROR):差错报文,在文件传输过程中,如果出现读取和写入错误,将会产生这种数据包。
3、构建TFTP服务器
为了能够验证TFTP协议工作机制,需要构建一个TFTP服务器。netwox工具提供了编号为167的模块,它可以构建TFTP服务器,允许用户完成简单的文件传输任务。其语法格式如下:
netwox 167