A feature implemented by some FTP servers
which adhere to the RFC959
standard. Essentially it allows FTP client
s to specify the way the data is going to be transfered.
Normally, the data connection
is initiated by the FTP server to the client. However in cases when the client is behind a firewall1
for instance, this is impractical. In this case the client2
may issue a PASV
command. If the server supports it, it will return the port number where it expects the client to connect to. After the client opens the connection to aforementioned port
the data flows as usual.
PS: If your transfers seem to be messing up, try switching your ftp client to passive mode.
1 In general firewalls allow incoming traffic as a response to outgoing traffic. That is, if the FTP will want to send me a file on data port 8983 the firewall will simply not let it through. Read up on how firewalls work.
2Interestingly, web browsers (IE and Netscape) use passive mode. I don't really know why.