FTP协议详解

FTPFile Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。

默认情况下FTP协议使用TCP端口中的 2021这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。

主动模式工作过程

1.客户端从自己的一个任意端口(N > 1024)和FTP服务器的21端口建立控制链路

2.然后客户端发出Port指令告诉服务器连接自己的N+1端口来建立一条数据通道

3.FTP服务器接到这一指令时,会使用20端口连接用户在Port指令中指定的端口号N+1来发送数据

被动模式工作过程

1.客户端从自己的一个任意端口(N > 1024)和FTP服务器的21端口建立控制链路

2.然后客户端发送Pasv指令,告诉服务器自己要连接服务器的某一个端口

3.如果服务器上的这个端口是空闲可用的,那么服务器会返回确认信息,之后数据传输通道被建立;但如果服务器上的这个端口被另一个资源所使用,那么服务器返回不确认的信息,那么这是客户端会再次发送Pasv命令。

注意

扫描二维码关注公众号,回复: 680022 查看本文章

FTP客户连接服务器的整个过程中,控制信道是一直保持连接的,而数据传输通道是临时建立的;

主动模式建立数据传输通道是由服务器端发起的,服务器使用20端口连接客户端某一个大于1024的端口;

被动模式中建立数据传输通道是由客户端发起的,它使用一个大于1024的端口连接服务器的1024端口以上的某一个端口。

FTPTCP/IP网络上两台计算机传送文件的协议,使得主机间可以共享文件。

传输方式ASCII传输模式和二进制数据传输模式

拓展:FXP说简单点就是一个FTP客户端控制两个FTP服务器,在两个FTP服务器之间传送文件。FXP的全称为FileExchangeProtocol――文件交换协议,可以认为FXP本身其实就是FTP的一个子集,因为FXP方式实际上就是利用了FTP服务器的Proxy命令,不过它的前提条件是FTP服务器要支持PASV,且支持FXP方式。FXP传送时,文件并不下载至本地,本地只是发送命令,故FXP的发送速度只与两个FTP服务器之间的速度有关,而与本地速度无关

参考资料:https://blog.csdn.net/xu735456/article/details/54846239

猜你喜欢

转载自blog.csdn.net/century_sunshine/article/details/79882019
今日推荐