FTP allows users to transfer files between systems reliably and efficiently through a single protocol using two channels - the command channel on port 21 handles authentication and commands while the data channel on a temporary high port handles the transfer of files and directory listings; however, FTP transmits all data like usernames, passwords and file contents in plain text, making it insecure over public networks. Firewalls must allow outbound connections from clients on port 21 and the server's defined passive port range, along with inbound connections to the server on its passive ports.