TFTP:简单文件传送协议
1、协议
开始工作时,TFTP的客户域服务器交换信息,客户发送一个读请求或写请求给服务器。在一个无盘系统进行系统引导的正常情况下,第一个请求时读请求(RRQ)。 TFTP报文格式如下:(5种)
IP首部 |
UDP首部 |
操作码1或2 |
文件名 |
0 |
模式 |
0 |
TFTP报文的头两个字节表示操作码。对于读请求和写请求(WRQ),文件名字段说明客户要读写的位于服务器上的文件,这个文件字段以0字节作为结束。模式字段是一个ASCII码串netascii或octet,同样以0字节结束。Netascii表示数据以成行的ASCII码字符组成,以两个字节回车换行作为结束符。这两个行结束字符在这种格式和本地主机使用的行定界符之间进行转换。Octet则将数据看作8位一组的字节六而不作任何解释。 每个数据分组包含一个块编号字段,它以后要在确认分组中使用。以读一个文件为例,TFTP客户需要发送一个读请求说明要读的文件名和文件模式。如果这个能被这个客户读取,TFTP服务器就返回一个块编号为1的数据分组,TFTP服务器又发送一个块编号为1的ACK。如此重复知道这个文件传送完。除了最后一个数据分组可含有不足512字节的数据,其他每个数据分组均含有512个字节的数据。当TFTP客户收到一个不足512字节的数据分组,就知道它收到了最后一个数据分组。 在写请求的情况下,TFTP客户发送WRQ指明文件名和模式。如果该文件能被该客户写,TFTP服务器就返回块编号为0的ACK包,该客户就将文件的头512字节以块编号为1发出。服务器则返回块编号为1的ACK。 这种协议的数据传输称为停止等待协议。 最后一种TFTP报文类型是差错报文。它用于服务器不能处理读请求或写请求的情况。在文件传输过程中的读或写差错也会导致传送这种报文,接着停止传输。 既TFTP使用不可靠的UDP,TFTP就必须处理分组丢失和分组重复。
2、 安全性 由于TFTP设计用于系统引导过程,它不可能提供用户名和口令。
|