简单文件传输协议(TrivialFileTransferProtocol,TFTP)是TCP/IP协议族中一种简单的文件传输协议,用来在客户端与服务器之间进行文件传输。
TFTP基于UDP协议进行文件传输。与FTP协议不同的是,TFTP传输文件时不需要用户进行登录。它只能从文件服务器上下载或上传文件,不能列出目录。下面介绍TFTP协议的工作方式。
TFTP协议模式类似于客户端发送请求,服务器进行响应。由于TFTP是基于UDP协议的,而UDP数据包本身就不是很安全,即发送端发送的数据是否能成功到达接收端是不能确定的。因此,为了能够让发送端知道接收端已经接收到了发送端发来的数据包,接收端对接收到的每一个数据包都进行确认。
ReadRequest(RRQ):请求读取报文,表示客户端向TFTP服务器发送读取请求,希望从TFTP服务器上读取文件,即下载文件。
WriteRequest(WRQ):请求写入报文,表示客户端向TFTP服务器发送写入请求,希望向TFTP服务器写入文件,即上传文件。
Data(DATA):传输数据包报文,表示客户端与TFTP服务器之间进行文件的数据传输。
Acknowledgment(ACK):确认报文,表示对请求读取、请求写入和传输数据包进行确认。
Error(ERROR):差错报文,在文件传输过程中,如果出现读取和写入错误,将会产生这种数据包。
为了能够验证TFTP协议工作机制,需要构建一个TFTP服务器