FTP is built on a client-server model architecture using separate control and data connections between the client and the server. FTP users may authenticate themselves with a clear-text sign-in protocol, normally in the form of a username and password, but can connect anonymously if the server is configured to allow it. For secure transmission that protects the username and password, and encrypts the content, FTP is often secured with SSL/TLS (FTPS) or replaced with SSH File Transfer Protocol (SFTP).
The original specification for the File Transfer Protocol was written by Abhay Bhushan and published as 114 on 16 April 1971. Until 1980, FTP ran on NCP, the predecessor of TCP/IP. The protocol was later replaced by a TCP/IP version, 765 (June 1980) and 959 (October 1985), the current specification. Several proposed standards amend 959, for example 1579 (February 1994) enables Firewall-Friendly FTP (passive mode), 2228 (June 1997) proposes security extensions, 2428 (September 1998) adds support for IPv6 and defines a new type of passive mode.