概述
FTP服务一般运行在20和21两个端口,端口20用于在客户端和服务器之间传输数据流,端口21用于传输控制流,并且是命令通向ftp服务器的进口,当数据通过数据流传输时,控制流处于空闲状态,而当控制流空闲很长时间后,客户端的防火墙会将会话设置为超时,这样当大量数据通过防火墙时,会产生一些问题。
登陆和匿名
使用FTP时,必须首先登陆,但不是每个ftp客户端都有账号,所以使用匿名ftp机制,系统管理员可以建立一个特殊的用户ID,名为anonymous。
工作原理
ftp服务是一种有连接的文件传输服务,采用的传输层协议是tcp协议,ftp服务的基本过程是:建立连接,传输数据,释放连接,用于通信的tcp连接分成2个类型——控制连接和数据连接,控制连接用于在通信双方之间传输ftp命令与相应信息,身份认证,异常处理等控制操作,数据连接用于双方之间传输文件或目录信息。
控制连接要在数据连接建立之前建立,在数据连接释放之后释放。
使用模式
ftp有两种模式,分别是主动模式和被动模式,主动模式要求客户端和服务器同时打开并且监听一个端口以创建连接,被动模式只要求服务器产生一个监听相应端口的进程。
ftp命令
ftp命令由两部分组成: 命令名与参数,命令名由3或4个字母组成的字符串
ftp响应
ftp相应由两部分组成:响应码与描述信息