Linux服务.NO3——ftp服务器
3.FTP服务器 3.1.ftp梗概 ftp是文件传输协议,可以在网络中传输文档、图像、音频、视频和应用程序等多类型的文件。 ftp文件传输需要有两种连接,一种为控制文件传输的命令,称为控制连接,一种为实现文件传输,称为数据连接。 控制连接:客户端向服务器21端口,发起连接请求,服务器接收请求,并完成连接。 数据连接:即完成控制连接后的实际数据连接,是数据传输的过程连接。 3.2.工作方式 主动模式:FTP 客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。ftp服务器的21端口用于用户验证,20端口用于数据传输。 被动模式: 在建立控制通道的时候和主动模式类似,但建立连接后发送Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。 大多数防火墙不支持打开ftp的高位端口