A feature implemented by some FTP servers which adhere to the RFC959 standard. Essentially it allows FTP clients 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.