File Transfer Protocol

FTPFTP serverFTP clientanonymous FTPFTP serversSimple File Transfer ProtocolFTP over SSHSFTPFile Transfer Protocol (FTP)FTP protocol
The File Transfer Protocol (FTP) is a standard network protocol used for the transfer of computer files between a client and server on a computer network.wikipedia
915 Related Articles

FTPS

FTPESFirewall IncompatibilitiesFTP over SSL (FTPS)
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).
FTPS (also known as FTPES, FTP-SSL, and FTP Secure) is an extension to the commonly used File Transfer Protocol (FTP) that adds support for the Transport Layer Security (TLS) and, formerly, the Secure Sockets Layer (SSL, which is now prohibited by RFC7568) cryptographic protocols.

Command-line interface

command linecommand-linecommand line interface
The first FTP client applications were command-line programs developed before operating systems had graphical user interfaces, and are still shipped with most Windows, Unix, and Linux operating systems.
This includes programming languages, such as Tcl/Tk, and PHP, as well as many utility programs, such as the compression utility WinZip, and File Transfer Protocol (FTP) and SSH/Telnet clients.

Linux

GNU/LinuxLinux on the desktopLin
The first FTP client applications were command-line programs developed before operating systems had graphical user interfaces, and are still shipped with most Windows, Unix, and Linux operating systems.
In order to facilitate development, the files were uploaded to the FTP server of FUNET in September 1991.

HTML editor

Web design programweb editorHTML editors
Many FTP clients and automation utilities have since been developed for desktops, servers, mobile devices, and hardware, and FTP has been incorporated into productivity applications, such as HTML editors.
In some cases they also manage communication with remote web servers via FTP and WebDAV, and version control systems such as Subversion or Git.

Transport Layer Security

SSLTLSSSL/TLS
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). This problem is common to many of the Internet Protocol specifications (such as SMTP, Telnet, POP and IMAP) that were designed prior to the creation of encryption mechanisms such as TLS or SSL.
In applications design, TLS is usually implemented on top of Transport Layer protocols, encrypting all of the protocol-related data of protocols such as HTTP, FTP, SMTP, NNTP and XMPP.

Abhay Bhushan

The original specification for the File Transfer Protocol was written by Abhay Bhushan and published as on 16 April 1971.
Abhay K. Bhushan (born 23 November 1944, in Allahabad, India) has been a major contributor to the development of the Internet TCP/IP architecture, and is the author of the File Transfer Protocol (which he started working on while he was a student at IIT-Kanpur) and the early versions of email protocols.

List of FTP server return codes

200three-digit status codes
The server responds over the control connection with three-digit status codes in ASCII with an optional text message.
FTP server return codes always have three digits, and each digit has a special meaning.

IPv6

Internet Protocol version 6dual-stackstateless address autoconfiguration
Several proposed standards amend, for example (February 1994) enables Firewall-Friendly FTP (passive mode), (June 1997) proposes security extensions, (September 1998) adds support for IPv6 and defines a new type of passive mode.
However, most transport and application-layer protocols need little or no change to operate over IPv6; exceptions are application protocols that embed Internet-layer addresses, such as File Transfer Protocol (FTP) and Network Time Protocol (NTP), where the new address format may cause conflicts with existing protocol syntax.

SSH File Transfer Protocol

SFTPSSHSecure File Transfer
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).
SFTP is not FTP run over SSH, but rather a new protocol designed from the ground up by the IETF SECSH working group.

Firewall (computing)

firewallfirewallspacket filter
The key benefit of application layer filtering is that it can understand certain applications and protocols (such as File Transfer Protocol (FTP), Domain Name System (DNS), or Hypertext Transfer Protocol (HTTP)).

Unix

UNIX operating systemAT&T UnixUnix-like
The first FTP client applications were command-line programs developed before operating systems had graphical user interfaces, and are still shipped with most Windows, Unix, and Linux operating systems.
Over time, text-based applications have also proven popular in application areas, such as printing languages (PostScript, ODF), and at the application layer of the Internet protocols, e.g., FTP, SMTP, HTTP, SOAP, and SIP.

Transmission Control Protocol

TCPTCP/IPACK
Because FTP uses multiple TCP connections (unusual for a TCP/IP protocol that is still in use), it is particularly difficult to tunnel over SSH.
TCP is used extensively by many internet applications, including the World Wide Web (WWW), email, File Transfer Protocol, Secure Shell, peer-to-peer file sharing, and streaming media.

Operating system

operating systemsOScomputer operating system
The first FTP client applications were command-line programs developed before operating systems had graphical user interfaces, and are still shipped with most Windows, Unix, and Linux operating systems.
Network services include offerings such as file sharing, print services, email, web sites, and file transfer protocols (FTP), most of which can have compromised security.

ASCII

US-ASCIIAmerican Standard Code for Information InterchangeASCII code
It has a command set of 11 commands and support three types of data transmission: ASCII, binary and continuous.
The File Transfer Protocol adopted the Telnet protocol, including use of the Network Virtual Terminal, for use when transmitting commands and transferring data in the default ASCII mode.

Internet protocol suite

TCP/IPIP networkTCP/IP stack
Until 1980, FTP ran on NCP, the predecessor of TCP/IP.
Examples of application layer protocols include the Hypertext Transfer Protocol (HTTP), the File Transfer Protocol (FTP), the Simple Mail Transfer Protocol (SMTP), and the Dynamic Host Configuration Protocol (DHCP).

URL

URLsUniform Resource Locatorweb address
When an FTP—rather than an HTTP—URL is supplied, the accessible contents on the remote server are presented in a manner that is similar to that used for other web content.
URLs occur most commonly to reference web pages (http), but are also used for file transfer (ftp), email (mailto), database access (JDBC), and many other applications.

Application-level gateway

Application Layer GatewayALGALGs
Another approach is for the NAT to alter the values of the PORT command, using an application-level gateway for this purpose.
It allows customized NAT traversal filters to be plugged into the gateway to support address and port translation for certain application layer "control/data" protocols such as FTP, BitTorrent, SIP, RTSP, file transfer in IM applications, etc. In order for these protocols to work through NAT or a firewall, either the application has to know about an address/port number combination that allows incoming packets, or the NAT has to monitor the control traffic and open up port mappings (firewall pinhole) dynamically as required.

FireFTP

A full-featured FTP client can be run within Firefox in the form of an extension called FireFTP.
FireFTP is a free, open-source, cross-platform FTP client for Mozilla Firefox in the form of an add-on.

Network Control Program

NCPInitial Connection Protocol
Until 1980, FTP ran on NCP, the predecessor of TCP/IP.
Application protocols (e.g., FTP) accessed network services through an interface to the top layer of the NCP, a forerunner to the Berkeley sockets interface.

Telnet

telnetdteleportingTELNET client
These features were designed to facilitate files containing Telnet or ASA. This problem is common to many of the Internet Protocol specifications (such as SMTP, Telnet, POP and IMAP) that were designed prior to the creation of encryption mechanisms such as TLS or SSL.
Nevertheless, Telnet may still be used in debugging network services such as SMTP, IRC, HTTP, FTP or POP3, to issue commands to a server and examine the responses.

Network address translation

NATnetwork address translatorPAT
This is problematic for both NATs and firewalls, which do not allow connections from the Internet towards internal hosts.
Some protocols can accommodate one instance of NAT between participating hosts ("passive mode" FTP, for example), sometimes with the assistance of an application-level gateway (see below), but fail when both systems are separated from the Internet by NAT.

Simple Mail Transfer Protocol

SMTP8BITMIMEemail protocol
This problem is common to many of the Internet Protocol specifications (such as SMTP, Telnet, POP and IMAP) that were designed prior to the creation of encryption mechanisms such as TLS or SSL.
Jon Postel then proposed a Mail Transfer Protocol in 1980 that began to remove the mail's reliance on FTP.

FTP bounce attack

FTP bounce
FTP bounce attack is an exploit of the FTP protocol whereby an attacker is able to use the PORT command to request access to ports indirectly through the use of the victim machine, which serves as a proxy for the request, similar to an Open mail relay using SMTP.

Internet

onlinethe Internetweb
It was never widely accepted on the Internet, and is now assigned Historic status by the IETF.
By Christmas 1990, Berners-Lee had built all the tools necessary for a working Web: the HyperText Transfer Protocol (HTTP) 0.9, the HyperText Markup Language (HTML), the first Web browser (which was also a HTML editor and could access Usenet newsgroups and FTP files), the first HTTP server software (later known as CERN httpd), the first web server, and the first Web pages that described the project itself.