FTP(文件传输协议)是一种多通道协议,意为FTP协议有多个端口与外界进行通信,工作模式有“FTP服务器和FTP客户端”。默认使用TCP端口的20和21端口,20端口用于数据传输,21端口用于控制连接。
主要作用是为了用户上传和下载文件
工作方式
1.控制连接
客户端与FTP服务器建立文件上传下载连接时,它首先向服务器的TCP 21端口发起一个建立连接的请求,FTP服务器接收来自客户端的请求,完成连接的建立
2.数据连接
客户端与ftp服务器建立连接之后,就可以进行数据传输了,传输文件的过程教书ftp数据连接
ftp数据连接又分为两种传输模式:主动传输和被动传输,主动和被动都是以服务器进行参照的。
- 主动传输:
客户端通过任意端口N(N>1024)向服务器的ftp端口(默认是21)发送连接请求,服务器接收连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器客户端生成的端口是N+1。于是服务器从20端口向客户端N+1端口发送连接请求,建立一条数据传输链路路,用来文件的上传和下载
在这里要说明一下为什么客户端端口是N+1,因为客户端在与服务器建立控制连接服务时,与服务器的21端口连接的是N端口,N端口被占用,所以用N+1端口与服务器的20端口建立数据连接服务
- 被动传输
客户端通过任意端口N(N>1024)向服务器的ftp端口(默认是21)发送连接请求并监听N