According to AbbreviationFinder.org, FTP is the abbreviation for File Transfer Protocol. Protocol used to access a host on the Internet, and subsequently to transfer files between that host and the computer you are using. Ftp is also the name of the program used to handle this protocol. The file transfer protocol or ftp is based on the client / server architecture; therefore, you run an ftp client program [ftp client program] on your computer and connect to an ftp server [ftp server] (or program) running on the Internet host (or main) computer [Internet host ].
In computing, it is a network protocol for the transfer of files between systems connected to a TCP (Transmission Control Protocol) network, based on the client-server architecture. From a client computer, you can connect to a server to download files from it or to send files to it, regardless of the operating system used on each computer.
The FTP Service is offered by the Application layer of the TCP / IP network layer model to the user, normally using network ports 20 and 21. A basic problem with FTP is that it is designed to offer the maximum speed in the connection., but not the maximum security, since all the information exchange, from the user’s login and password on the server to the transfer of any file, is done in plain text without any type of encryption, with which a possible attacker can capture this traffic, access the server, or appropriate the transferred files.
The ftp program [ftp program] originated as a UNIX utility [utility], but today versions are available for almost all popular operating systems. The traditional UNIX ftp program [UNIX ftp program] starts a text-based command processor; however, more modern versions use a graphical user interface with pull-down menus or pull-down menus. The general consensus seems to indicate that the graphical versions are easier to use; however, once you get the hang of things, the command processor-based versions, while not as fancy, are generally faster.
To solve this problem, applications such as scp and sftp are very useful, included in the SSH (Secure Host Protocol) package, which allow transferring files but encrypting all traffic.
In 1968, ARPANET was born as a small network of a few computers that transmitted information from one to another through switched packets (which would be the Internet in the future), and three years later a group of researchers from MIT presented the proposal for the first “Protocol for the transmission of files on the Internet “(RFC 114). It was a very simple protocol based on the email system but it laid the foundation for the future File Transmission Protocol (FTP).
In 1985, fifteen years after the first proposal, the development of the still current protocol for the transmission of files on the Internet (FTP), based on the client-server philosophy, was completed.
The great Internet boom occurred in 1995. This year can be considered as the birth of the commercial Internet. Since then its growth has exceeded all expectations. In this year the World Wide Web surpasses FTP becoming the preferred service of the network, after the previous year surpassing Telnet in popularity.
With the arrival of the World Wide Web, and browsers, it is no longer necessary to know the complex FTP commands, this protocol can be used by writing the URL of the server to which we want to connect in the web browser, indicating with ftp: // that we are going to contact an ftp server and not a web server (which would be http: //).
The original version of FTP was published as RFC 114 on April 16, 1971, and later superseded by RFC 765 (June 1980) and RFC 959 (October 1985), the version in use today. Many have proposed alternatives to the 1985 version, such as RFC 2228 (June 1997) that proposes security extensions and RFC 2428 (September 1998) that adds support for IPv6 and defines a new type of passive mode.
The FTP Model
In the model, the user protocol interpreter (PI) initiates the control connection on port 21. Standard FTP commands are generated by the user PI and transmitted to the server process through the control connection. Standard responses are sent from the server PI to the user PI over the control connection in response to commands.
These FTP commands specify parameters for the data connection (data port, transfer mode, type of representation and structure) and the nature of the operation on the file system (store, retrieve, add, delete, etc.). The user data transfer (DTP) process or another process instead, it should wait for the server to initiate the connection to the specified data port (port 20 in active or standard mode) and transfer the data based on the parameters that have been specified.
We also see in the diagram that the communication between client and server is independent of the file system used on each computer, so that it does not matter that their operating systems are different, because the entities that communicate with each other are PIs and DTPs. They use the same standardized protocol: FTP.
It should also be noted that the data connection is bi-directional, that is, it can be used simultaneously to send and receive, and it does not have to exist the entire time that the FTP connection lasts.