TFTP是什么

小嘿 2020-07-29 11:03:12
问答

TFTP(简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是 TCP/IP 协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为 69。

FTP

TFTP 是一个传输文件的简单协议,它基于 UDP 协议而实现,但是我们也不能确定有些 TFTP 协议是基于其它传输协议完成的。此协议设计的时候是进行小文件传输的。因此它不具备通常的 FTP 的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证,它传输 8 位数据。传输中有三种模式:netascii,这是 8 位的 ASCII 码形式,另一种是 octet,这是 8 位源数据类型;最后一种 mail 已经不再支持,它将返回的数据直接返回给用户而不是保存为文件。

概况

任何传输起自一个读取或写入文件的请求,这个请求也是连接请求。如果服务器批准此请求,则服务器打开连接,数据以定长 512 字节传输。每个数据包包括一块数据,服务器发出下一个数据包以前必须得到客户对上一个数据包的确认。如果一个数据包的大小小于 512 字节,则表示传输结束。如果数据包在传输过程中丢失,发出方会在超时后重新传输最后一个未被确认的数据包。通信的双方都是数据的发出者与接收者,一方传输数据接收应答,另一方发出应答接收数据。

大部分的错误会导致连接中断,错误由一个错误的数据包引起。这个包不会被确认,也不会被重新发送,因此另一方无法接收到。如果错误包丢失,则使用超时机制。错误主要是由下面三种情况引起的:不能满足请求,收到的数据包内容错误,而这种错误不能由延时或重发解释,对需要资源的访问丢失(如硬盘满)。TFTP 只在一种情况下不中断连接,这种情况是源端口不正确,在这种情况下,指示错误的包会被发送到源机。这个协议限制很多,这些都是为了实现起来比较方便而进行的。

初始连接

初始连接时候需要发出 WRQ(请求写入远程系统)或 RRQ(请求读取远程系统),收到一个确定应答,一个确定可以写出的包或应该读取的第一块数据。通常确认包包括要确认的包的包号,每个数据包都与一个块号相对应,块号从 1 开始而且是连续的。因此对于写入请求的确定是一个比较特殊的情况,因此它的包的包号是 0。如果收到的包是一个错误的包,则这个请求被拒绝。

创建连接时,通信双方随机选择一个 TID,因为是随机选择的,因此两次选择同一个 ID 的可能性就很小了。每个包包括两个 TID,发送者 ID 和接收者 ID。这些 ID 用于在 UDP 通信时选择端口,请求主机选择 ID 的方法上面已经说过了,在第一次请求的时候它会将请求发到 TID 69,也就是服务器的 69 端口上。应答时,服务器使用一个选择好的 TID 作为源 TID,并用上一个包中的 TID 作为目的 ID 进行发送。这两个被选择的 ID 在随后的通信中会被一直使用。下例是一个写入的例子,其中 WRQ,ACK 和 DATA 代表写入请求,确认和数据。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • OpenWrt

    如何卸载OpenWrt固件

    卸载OpenWrt固件重要的是在操作之前备份配置文件和重要数据,并确保使用正确的原厂固件版本。使用TFTP工具进行固件恢复,并在成功后恢复路由器的出厂设置,以确保路由器回到初始状态。
  • TrueNAS

    TrueNAS支持哪些存储协议和文件系统

    TrueNAS支持的存储协议包括CIFS/SMB、NFS、AFP、FTP、iSCSI、RSYNC等,可以满足不同用户的存储需求。此外,TrueNAS还支持多种文件系统,包括ZFS、UFS、FAT32、NTFS等,可根据用户的需求选择最适合的文件系统,提供高效的文件存储和管理。
  • NanoPi R6S 软路由主板

    软路由怎么远程访问

    软路由要实现远程访问,需要安装和配置相应的软件,确认路由器和远程设备之间的连接,并且需要定期检查和维护。只有这样,才能保证远程访问的稳定性和安全性。
  • R86S router 软路由

    搭建软路由需要哪些

    搭建软路由需要准备软路由硬件、软路由系统。软路由硬件设备一般要求至少512MB内存和4GB存储空间,以保证系统的运行和安装软件的空间。软路由系统比较常用的有OpenWrt、DD-WRT、LEDE等系统。
  • DNS 服务器

    有哪些软件能够搭建DNS服务器

    常用的DNS服务器软件包括:BIND、PowerDNS、MaraDNS和Dnsmasq。这些软件都有各自的优点和适用范围,管理员可以根据自己的需求和技能水平选择适合自己的软件。无论选择哪种软件,都应该注意安全性和性能,并且遵循最佳实践来配置和管理DNS服务器。
  • DNS 服务器

    搭建DNS服务器的软件有哪些

    搭建DNS服务器需要根据实际情况选择合适的软件。对于初学者来说,建议选择MaraDNS或者Dnsmasq这样易于配置和使用的软件。对于需要高性能、高可靠性的企业或者组织,可以选择BIND、PowerDNS或者Unbound这样的大型DNS服务器软件。