How Does an FTP Work?by Keith Evans
FTP Moves Files
File Transfer Protocol (FTP) is the protocol used to transfer files between devices on the Internet. Particularly useful for larger files, FTP is a more robust and more capable protocol than the Hypertext Transfer Protocol (HTTP) used to deliver web pages and smaller files from a server to a client by way of a web browser. Since no special browser is required, FTP is also more universal. All major operating systems, including Mac OS, Windows and Linux allow FTP file transfers directly from the command line. Graphical FTP programs do exist though, and help organize and facilitate bulk file transfers that would otherwise require considerable manual input. By using FTP to transfer files between clients and servers, or between network servers, FTP helps webmasters publish the files that drive the Internet.
FTP Transfers Work in Sessions
In order to transfer a file from a client to a server, or to download a file from a server to a computer, a user must authenticate, or identify himself, when logging on to an FTP server. By authenticating, the user creates a session on the server during which he can transfer or modify as many files as necessary. The authentication process also allows remote hosts to set proper file permissions, keeping users from viewing files or directories to which they do not have access, and allowing an individual user to set read, write, and execute permissions on his own files or subdirectories. When the user session is complete, the user simply disconnects from the server and the session is closed. Some FTP servers also allow "anonymous" connections, where members of the public can connect anonymously to the FTP server and initiate file transfers; these settings are generally used when publicly available information--like program files released for free--needs to be available for download by knowledgeable users.
FTP Uses Multiple Ports
The File Transfer Protocol is unique among protocols used on the Internet in that it actually works across two ports: one port for issuing commands and conveying other administrative information between the client and server, and a separate port for actually transferring files. Users can also transfer files in either an "active" or a "passive" mode, allowing flexibility for file transfers from behind a network firewall or other situation that may present difficulty in transferring files.