File Transfer Protolcol (FTP) is client-server protocol for file transfer over TCP/IP. FTP operates over two well-known ports: TCP 21 for management commands and TCP 20 for data transfer. In active FTP, the client initiates the management TCP session and the server responds by initiating the data transfer session. In passive FTP, the client initiates both sessions. This may be needed to circumvent firewall rules preventing the initiation of TCP sessions from outside the local network.
In contrast to Trivial File Transfer Protocol (TFTP), FTP normally features authentication with username and password. However, many FTP servers are set up for anonymous FTP, which dispenses with the authentication requirement.
See: RFC 959.
References:
http://www.windowsnetworking.com/articles_tutorials/understanding-ftp-protocol.html