《TCP/IP协议详解 卷1》--- TFTP:简单文件传送协议

TFTP ( Trivial File Transfer Protocol)即简单文件传送协议,最初打算用于引导无盘系统(通常是工作站或X终端)。为了
保持简单和短小,TFTP将使用UDP。TFTP的代码(和它所需要的UDP、IP和设备驱动程序)都能适合只读存储器。

协议
这里写图片描述
在开始工作时,TFTP的客户与服务器交换信息,客户发送一个读请求或写请求给服务器。

每个数据分组包含一个块编号字段,它以后要在确认分组中使用。除了最后一个数据分组可含有不足512字节的数据,其他每个数据分组均含有512字节的数据。

在写请求的情况下,TFTP客户发送WRQ指明文件名和模式。如果该文件能被该客户写,TFTP服务器就返回块编号为0的ACK包。该客户就将文件的头512字节以块编号为1发出。服务器则返回块编号为1的ACK。这种类型的数据传输称为停止等待协议。TFTP的优点在于实现的简单而不是高的系统吞吐量。

最后一种TFTP报文类型是差错报文,它的操作码为5。它用于服务器不能处理读请求或写请求的情况。

既然TFTP使用不可靠的UDP,TFTP就必须处理分组丢失和分组重复。和许多UDP应用程序一样,TFTP报文中没有检验和,它假定任何数据差错都将被UDP的检验和检测到。

TFTP服务器通过为每个客户提供一个新的UDP端口来提供并发。

安全性
注意在TFTP分组中并不提供用户名和口令。这是TFTP的一个特征(即“安全漏洞”)。由于TFTP是设计用于系统引导进程,它不可能提供用户名和口令。

目前大多数TFTP服务器提供了一个选项来限制只能访问特定目录下的文件(Unix系统中通常是/tftpboot)。这个目录中只包含无盘系统进行系统引导时所需的文件。

对其他的安全性,Unix系统下的TFTP服务器通常将它的用户ID和组ID设置为不会赋给任何真正用户的值。这只允许访问具有读或写属性的文件。

猜你喜欢

转载自blog.csdn.net/u012319493/article/details/80956097
今日推荐