PORT模式 与 PASV模式的区别

      FTP协议有两种工作方式:PORT模式(主动模式)和PASV模式(被动模式)。 两种模式的主要区别是由谁发起数据传输的连接。一些FTP服务器可以设置只接受某种连接模式,设置前请确认服务器端的设置。

      PORT模式(主动模式)的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你可以连接了”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。

      PASV模式(被动模式)的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你可以连接了”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。

      从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立是有方向性的。

      在使用飞速文件安全同步软件进行文件同步或文件备份时,如果是局域网内的文件同步或文件备份,则只需要考虑防火墙的设置问题;否则还需要考虑公网IP地址的问题。

      1)服务器端是公网IP,客户端只有内网IP

      如果用PORT方式,因为客户端没有公网IP,FTP服务器将无法连接客户端建立数据链路。因此,在这种情况下,客户端必须要用PASV方式,才能连接FTP服务器。

      2)服务器端是公网IP,客户端也有公网IP,但安装了防火墙

      如果用PASV方式登录FTP服务器,因为建立数据链路的时候,是由客户端向服务器发送连接请求,没有问题。反过来,如果用PORT方式登录FTP服务器,因为建立数据链路的时候,是由服务器向客户端发送连接请求,此时连接请求会被防火墙拦截。如果要用PORT方式登录FTP服务器,请在防火墙上打开相应的端口。如果服务器端没有设置PASV的端口范围,则需要打开1024以上的全部端口;如果设置了PSAV端口范围,则只需要打开该范围的端口即可。

      3)服务器端是内网IP,客户端也是内网IP,但安装了防火墙     此情况的处理方式同2)。