一、在进行文件传输时,FTP客户所发出的传送请求通过控制连接发送给服务器端的控制进程,并在整个会话期间一直保持打开,但控制连接不用来传送文件。服务器端的控制进程在接受到FTP客户发送来的文件传输请求后,就会创建数据传送进程和数据连接,数据连接用来连接客户端和服务器端的数据传输进程,数据传送进程实际完成对文件的传送,在传送完毕后关闭数据传送连接,并结束数据传送进程。
FTP的服务器进程由两大部分组成:①主进程:负责接收新的请求;②从属进程:负责处理单个请求。
二、为什么FTP要使用两个独立的连接,控制连接和数据连接?
在FTP的实现中,客户与服务器之间采用了两条传输连接,其中控制连接用于传输各种FTP命令,而数据连接用于文件的传送。这样做的目的是使用两条独立的连接可使FTP变得更加简单、更容易实现、传输效率更高。同时在文件传输过程中,还可以利用控制连接控制传输过程(如客户可以请求终止、暂停传输等)。