在文件传输协议(File Transfer Protocol,FTP)中,有两种主要的工作模式:被动模式和主动模式。这两种模式之间的差异在于客户端与服务器之间如何建立数据连接,而这种差异对网络防火墙和NAT设备的配置有着重要影响。
主动模式
主动模式是FTP最早使用的模式,在该模式下,FTP服务器会尝试直接与客户端建立一个单独的数据连接用于传输文件。当用户想要下载或上传文件时,客户端首先通过命令通道发送请求给服务器,然后服务器将尝试从其端口20(默认为FTP数据端口)向客户端指定的端口发起新的TCP连接以进行数据传输。由于现代网络安全策略通常会阻止来自外部未授权源端口的入站连接,这使得主动模式在很多情况下无法正常工作,尤其是在客户端位于防火墙或NAT之后的情况下。
被动模式
为了克服主动模式的局限性,人们引入了被动模式。在被动模式中,所有的控制和数据连接都由客户端发起。当需要建立数据连接时,服务器会告知客户端它所选择的一个临时端口号,这个端口号通常是大于1023的非特权端口。接下来,客户端将使用该端口号作为目标端口来创建一个新的TCP连接,从而实现数据传输。这种方法避免了服务器向客户端发起连接的需求,因此更加适合当今复杂的网络环境。
主动模式和被动模式的主要区别在于谁先发起数据连接。主动模式要求服务器主动向客户端发起连接,而被动模式则让客户端根据服务器提供的信息自行建立连接。随着互联网的发展以及网络安全措施的加强,被动模式已经成为更为常见和推荐的选择,因为它能够更好地适应各种网络配置,并且更易于穿越防火墙和NAT设备。在某些特定场景下,如果可以确保安全性和兼容性,主动模式仍然可能是一个可行选项。
本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/220516.html
其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。