FTP (File Transfer Protocol)

botond published 2023. 03. 20., h - 10:10 time

Content

 

Overview

A File Transfer Protocol (FTP) is a standard network protocol on TCP/IP networks used to transfer computer files between a client and a server. The FTP protocol was originally developed for file sharing on the Internet and plays a very important role in data transfer services to this day.

FTP is an old, traditional protocol used by the Internet Engineering Task Force (IETF) standardized. FTP allows users to freely transfer files between server and client computers. The FTP standard also defines data transmission and control communication channels. The data transmission channel is used to transfer the file, while the control communication channel is used to communicate between the user and the server.

FTP is based on a client-server model architecture, using a separate control and data connection between the client and the server. FTP users can authenticate themselves using a plain text login protocol, usually in the form of a username and password, but can also connect anonymously if the server is configured to do so. For secure transmission that protects username and password and encrypts content, FTP often SSL / TLSis protected with (FTPS), or SSH It is replaced by File Transfer Protocol (SFTP). Using FTPS or SFTP is important if the data being transferred is particularly sensitive or confidential. In today's modern world, encryption of data transmission is expected by default, so the use of the early, unencrypted FTP protocol is being replaced, because the transmission of data in plain text form is a security risk.

To use FTP, you must run an FTP client program that allows users to access servers and transfer files. Most modern operating systems include an FTP client program by default, but many third-party client programs are also available to use the FTP protocol.

The first FTP client applications were command-line programs that were developed when operating systems did not yet have a graphical user interface and are still shipped with most Windows, Unix, and Linux operating systems. Since then, many FTP clients and automation utilities have been developed for desktops, servers, mobile devices and hardware, and FTP has been integrated into many applications such as HTML editors, file managers, etc.

In November 2020, the FTP protocol was no longer supported in Google Chrome (source).

 

 

History of FTP servers

The original File Transfer Protocol specification was written by Abhay Bhushan and published on April 1971, 16 RFC 114 named, which was created primarily for ARPANET (Advanced Research Projects Agency Network). Until 1980, FTP ran on NCP, the predecessor of TCP/IP. The protocol was later replaced by a TCP/IP version, that is RFC 765 (June 1980) and was superseded by RFC 959 (October 1985), which is the current specification. Many proposed standards are modified by RFC 959, such as RFC 1579 (February 1994) enables firewall-friendly FTP (passive mode), the RFC 2228 (June 1997) suggests security extensions that RFC 2428 (September 1998) supports IPv6 and also defines a new type of passive mode.

 

Modes of operation

FTP can work in two modes. These are it active and passive ways.

Of the two connection modes, the active mode is the older one. Active FTP was introduced in the early days of computing when mainframe computers were more common and attacks on information security were not as common. In a simplified way, the active mode works like this:

The user connects to FTP port 21 of the server from a random port on the FTP client computer. Sends the PORT command, specifying which client-side port the server should connect to. This port is used later by the data channel and is different from the port used for the command channel in this step. The server connects to the client port assigned to the data channel from port 20. After the data connection is established, the file transfer takes place through these client and server ports.

In passive mode, the client continues to initiate a command channel (control connection) with the server. However, instead of sending the PORT command, it sends the PASV command, which is basically a request for a server port to connect to for data transfer. When the FTP server responds, it indicates what data port it has opened for the next data transfer. Simply put, passive mode works like this:

The client connects to the server's port 21 from a random port and issues the PASV command. The server responds by indicating which (random) port it has opened for data transfer. The client connects from another random port to the random port specified in the server's response. After the connection is established, the data transfer takes place through these client and server ports.

 

Areas of application

The FTP protocol has many uses, including:

  • online file sharing
  • updating websites
  • download software
  • storing files in data centers
  • other data transmission services

 

Resources, Related Content: