FTP服务器是指实现文件双向传输功能的服务器,使用FTP(File Transfer Protocol)作为文件传输协议。FTP不仅是用于控制文件双向传输的Internet协议,同时也是一个应用程序,允许用户通过连接到运行FTP协议的服务器来访问大量程序和信息。在TCP/IP协议中,FTP标准命令的TCP端口号为21,数据端口为20。FTP的任务是在两台计算机之间传输文件,与计算机位置、连接方式或操作系统无关。用户可以通过FTP命令传输文件,不同操作系统的细微差别在于,FTP基本的命令结构保持一致。
FTP传输支持两种方式:ASCII传输模式和二进制数据传输模式。在ASCII传输方式下,适用于简单的ASCII码文本文件,FTP会尝试调整文件内容以适应另一台计算机的文本文件格式。对于包含程序、数据库、字处理文件或压缩文件等非文本文件,应使用二进制传输模式,确保逐字传输避免数据损坏。二进制传输模式保存文件的位序,适用于所有位都重要的情况,如传输二进制文件。
FTP支持两种工作模式:Standard(主动方式)和Passive(被动方式)。在Standard模式下,客户端通过TCP端口21与服务器建立连接,并通过PORT命令指定接收数据的端口;服务器则通过TCP端口20连接客户端的指定端口发送数据。而在Passive模式下,客户端发送PASV命令给FTP服务器,服务器随机开辟一个高端端口通知客户端用于数据传送,客户端连接至此端口完成数据传输,无需再建立新的连接。
由于防火墙设置限制,许多FTP服务器在防火墙后或内网无法支持Passive模式,因为客户端无法连接FTP服务器的高端端口;同时,内网客户端也可能无法使用Standard模式登录FTP服务器,因为服务器端无法建立新连接。因此,在实际应用中需要根据具体情况选择适当的FTP工作模式以确保正常传输。