控制连接与数据连接
FTP在工作时使用两个并行的TCP连接,一个是控制连接(端口号21),一个是数据连接(端口号20)。使用两个不同的端口号可使协议更加简单和更容易实现。
1、 控制连接:
服务器监听在21号端口,等待客户连接,建立在这个端口上的连接称为控制连接,控制连接用来传输和控制信息(如连接请求、传送请求等)。并且控制信息都是7位ASCII格式传送的。FTP客户发出的传送请求,通过控制连接发送给服务器的控制进程,但控制连接并不用来传送文件。在传输文件时还可以使用控制连接(例如,客户在传输途中终止传输的命令),因此控制连接在整个绘画期间一直保持打开状态。
2、 数据连接
服务器端的控制进程在接收到FTP客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”。数据连接用来连接客户端和服务器端的数据传送进程,数据传送进程实际完成文件的传输,在传送完毕后关闭“数据传送连接“,并结束运行。