FTP (File Transfer Protocol) is a network protocol for transmitting files between computers over Transmission Control Protocol/Internet Protocol (TCP/IP) connections.

Within the TCP/IP suite, FTP is considered an application layer protocol. It is unsecure, and uses UDP port 21.

The end user’s computer is typically called the local host in an FTP transaction. The second computer involved in FTP is a remote host, which is usually a server. Both computers must be connected via a network and configured correctly to transfer files via FTP. Servers must be set up to run FTP services, and the client must have FTP software installed to access these services.

Although many file transfers can be conducted using Hypertext Transfer Protocol (HTTP) — another TCP/IP suite protocol — FTP is still commonly used to transfer files behind the scenes for other applications, such as banking services. It is also sometimes used to download new applications via web browsers.

How does FTP work?

FTP is a client-server protocol that relies on two communication channels between the client and server: a command channel for controlling the conversation and a data channel for transmitting file content.

Here is how a typical FTP transfer works:

  1. A user typically needs to log on to the FTP server, although some servers make some or all of their content available without a login, a model known as anonymous FTP.
  2. The client initiates a conversation with the server when the user requests to download a file.
  3. Using FTP, a client can upload, download, delete, rename, move, and copy files on a server.

FTP sessions work in active or passive modes:

  • Active mode. After a client initiates a session via a command channel request, the server returns a data connection to the client and begins transferring data.
  • Passive mode. The server uses the command channel to send the client the information it needs to open a data channel. Because passive mode allows the client to initiate all connections, it works well across firewalls and network address translation gateways.

FTP security

FTP was initially defined in 1971, predating TCP and IP, and it has been redefined several times since then to accommodate new technologies, including the use of TCP/IP, or Request for Comments 765 and RFC 959, and IPv6, or RFC 2428.

FTP has also undergone several updates to enhance FTP security. These include versions that encrypt via an implicit TLS connection (FTPS) or explicit TLS connection (FTPES) or that work with SFTP.

By default, FTP does not encrypt traffic, and individuals can capture packets to read usernames, passwords, and other data. By encrypting FTP with FTPS or FTPES, data is protected, limiting the ability of an attacker to eavesdrop on a connection and steal data.

FTP may still be vulnerable to brute-force attacks against user/password authentication spoofing, an FTP bounce attack, or a distributed denial-of-service attack.

History of FTP

The first specification for FTP was published as RFC 114 on April 16, 1971, and was written by Abhay Bhushan, then a student at the Massachusetts Institute of Technology. The original idea behind FTP was to enable the transfer of files over ARPANET, the precursor to the internet.

As the modern internet began to take shape, the FTP specification underwent several revisions to align with networking standards, including TCP/IP. In 1980, a new version of FTP was defined in RFC 765 by Jon Postel, a research scientist at the Information Sciences Institute at the University of Southern California at the time. Five years later, FTP was redefined with RFC 959, which introduced new management capabilities for the protocol, including making and removing a file directory. Prior iterations of FTP were limited primarily to transferring files to and from existing file directory structures.

In 1997, RFC 959 was updated with new security capabilities defined in RFC 2228. FTP was updated with RFC 2428 two years later to support the IPv6 protocol.

FTP clients

FTP clients upload, download, and manage files on a server. FTP clients include the following:

  • FileZilla. This free FTP client for Windows, macOS, and Linux supports FTP, FTPS, and SFTP.
  • Transmit. This is an FTP client for macOS that supports FTP and SSH.
  • WinSCP. This Windows FTP client supports FTP, SSH, and SFTP.
  • WS_FTP. This is another Windows FTP client that supports SSH.

Nord VPN
60% off Nord VPN
Coinbase - Getty Images - 1234552839
Coinbase – Crypto Currency – Sign up with this link and get $10 free?! Buy/sell/exchange crypto, and use their ATM card to access your cash easily!
Chase Sapphire Preferred - Travel Points
NordPass - Password Manager - CJ Banner
https://www.dpbolvw.net/click-100604079-15345170
Binance Cryptowallet - Buy/Sell
Binance Blockchain
Amazon - Daily Deals
Amazon’s Daily Deals!
Your favorite restaurants are delivered to your front door! Grubhub!
Game Fly
Game Fly Video Game Rentals!