# 浅谈Ftp中的两种传输模式

- Link: https://www.xuepaijie.com/html/skill/coup/600.html
- Published: 2016-05-06T13:26:42+08:00
- Author: Admin

FTP是有两种传输的模式的，主动模式和被动模式，很多的朋友可能比较陌生或是多数是不清楚
之间的差异。

一个完整的FTP文件传输需要建立两种类型的连接，一种为文件传输下命令，称为控制连接，
另一种实现真正的文件传输，称为数据连接。

1)      控制连接
 客户端希望与FTP服务器建立上传下载的数据传输时，它首先向服务器的
TCP 21端口发起一个建立连接的请求，FTP服务器接受来自客户端的请求，完成连接的建立过程，
这样的连接就称为FTP控制连接。

2)      数据连接
 FTP控制连接建立之后，即可开始传输文件，传输文件的连接称为FTP数据
连接。FTP数据连接就是FTP传输数据的过程，它有两种传输模式：

PORT（主动）方式的连接过程是：客户端向服务器的FTP端口（默认是21）发送连接请求，服务
器接受连接，建立一条命令链路。当需要传送数据时，客户端在命令链路上用PORT命令告诉
服务器：“我打开了XX端口，你过来连接我”。于是服务器从20端口向客户端的XX端口发送连接
请求，建立一条数据链路来传送数据。

PASV（被动）方式的连接过程是：客户端向服务器的FTP端口（默认是21）发送连接请求，服务
器接受连接，建立一条命令链路。当需要传送数据时，服务器在命令链路上用PASV命令告诉
客户端：“我打开了XX端口，你过来连接我”。于是客户端向服务器的XX端口发送连接请求，
建立一条数据链路来传送数据。
