当使用 FTP 时,需要考虑两件事情。首先连接模式是被动的还是主动的;其次数据传输模式是流式、块式,还是压缩形式。
基于 IIS 的 FTP 服务即支持主动模式连接同时也支持被动模式连接,这依赖于客户指定的方法。IIS 不支持禁用主动或被动连接模式。
基于 IIS 的 FTP 默认数据传输模式是流式传输。IIS 目前不支持块式或压缩形式的数据传输模式。
与 HTTP 以及其他 Internet 上使用的协议不同,FTP 协议在会话期间只使用两个连接:一个用于控制的半双工连接,另一个用于数据传输的全双工连接。默认情况下,TCP 端口 21 用于服务器上的控制连接,而数据连接由客户端连接到服务器所使用的方法来决定,详细说明如下。
FTP 在 Internet 上遇到的最常见问题包括如何通过代理服务器、防火墙,或网络地址转换 (NAT) 设备进行数据传输。多数情况下,这些网络安全设备允许在 TCP 端口 21 上建立控制连接(即用户可以成功地登录到 FTP 服务器),但是当用户试图进行诸如 DIR、LS、GET 或 PUT 之类的数据传输时,由于网络安全设备阻塞了客户端指定的数据连接端口,因此 FTP 客户端似乎停止了响应。如果网络安全设备支持日志记录,则您可以通过查阅网络安全设备上的拒绝日志来验证端口是否阻塞。
下表包括了由 Microsoft 提供的 FTP 客户端,以及每个客户端支持的连接模式。
FTP 客户端 | 传输模式 |
---|---|
命令行 | 主动 |
Internet Explorer 5.1 版本及更早版本 | 被动 |
Internet Explorer 5.5 及更新版本 | 主动和被动 |
FrontPage 1.1 到 FrontPage 2002 | 主动 |