当前位置:首页 > 知识百科

tftp与ftp的主要区别(tftp软件配置命令上传文件到指定目录)

2022-11-10 15:51:18

  FTP(File Transfer Protocol,文件传输协议)用于在远端服务器和本地主机之间传输文件,是IP网络上传输文件的通用协议。在万维网(WWW,World Wide Web)出现以前,用户使用命令行方式传输文件,最通用的应用程序就是FTP。虽然目前大多数用户在通常情况下选择使用Email和Web传输文件,但是FTP仍然有着比较广泛的应用。

  FTP协议在TCP/IP协议族中属于应用层协议,用于在远端服务器和本地客户端之间传输文件,使用TCP端口20和21进行传输。端口20用于传输数据,端口21用于传输控制消息。FTP协议基本操作在RFC959中进行了描述。

  FTP支持两种模式,一种方式叫做Standard(也就是PORT方式,主动方式),一种是Passive(也就是PASV,被动方式)。Standard模式FTP的客户端发送PORT命令到FTP服务器。Passive模式FTP的客户端发送PASV命令到FTP Server。

  下面介绍一下这两种方式的工作原理:

  Port

  FTP客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。FTP server必须和客户端建立一个新的连接用来传送数据。

  Passive

  在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,通过三次握手建立通道,然后FTP服务器将通过这个端口进行数据的传送。

  很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。

  主动方式和被动方式建立控制链路的方法是相同的,但建立数据链路的方法完全不同,因此两种方式在实际使用中也各有利弊,请根据实际组网环境选择。

  TFTP(Trivial File Transfer Protocol,简单文件传输协议)也是用于在远端服务器和本地主机之间传输文件的,相对于FTP,TFTP没有复杂的交互存取接口和认证控制,适用于客户端和服务器之间不需要复杂交互的环境。TFTP协议的运行基于UDP协议,使用UDP端口69进行数据传输。TFTP协议基本操作在RFC1986中进行了描述。

  目前,设备只能作为TFTP客户端,不支持作为TFTP服务器。

  TFTP传输请求是由客户端发起的:

  当TFTP客户端需要从服务器下载文件时,由客户端向TFTP服务器发送读请求包,然后从服务器接收数据,并向服务器发送确认;

  当TFTP客户端需要向服务器上传文件时,由客户端向TFTP服务器发送写请求包,然后向服务器发送数据,并接收服务器的确认。

  FTP和TFTP的区别:

  1、FTP支持登录安全,具有适当的身份验证和加密协议,在建立连接期间需要与FTP身份验证通信。TFTP是一种开放协议,缺乏安全性,没有到位的加密机制,与TFTP通信时不需要认证,这意味着通过互联网在开放服务器上传输文件非常危险,且数据包有可能会丢失。

  2、FTP使用TCP作为传输层协议,通过单独的TCP连接从控制命令发送数据。TFTP使用UDP作为传输层协议,因为UDP是无连接协议,所以TFTP不使用连接。

  3、FTP使用2个端口:TCP端口21,是个侦听端口;TCP端口20或更高TCP端口1024以上用于源连接。TFTP仅使用一个具有停止和等待模式的端口:端口69。

免责声明:本文由用户上传,如有侵权请联系删除!