What is FTP and how does it work?
If you’ve ever downloaded files from a web page, used cloud storage or requested information from your web hosting server to edit your website, you’ve used a process called file transfer protocol (FTP). This process allows you to transfer files between devices over the internet.
Without FTP and the developments stemming from it, we wouldn’t be able to share files, use cloud storage, play web-based online games, start video calls, and much more. But what exactly is FTP, how does it work, and how do you use FTP? In this in-depth guide, we’ll cover all you need to know about FTP.
What is FTP?
FTP is a process used to transfer files between devices over Transmission Control Protocol/Internet Protocol (TCP/IP) connections. FTP is a network protocol, which is a set of rules outlining how devices should communicate and exchange information securely across a network.
FTP was originally designed as a way for two physical devices to communicate and exchange files over the internet, typically a server (such as a dedicated server or cloud server) and the end user’s computer. The latter device is referred to as the local host, while the server is called the remote host.
Nowadays, FTP is often used to transfer and store files in the cloud rather than between two physical devices. Cloud storage is secure and can be accessed remotely as long as you have an internet connection, which means that files can be shared with many authorised users to allow 24/7 collaboration.
History of FTP
FTP actually predates the internet. The first specification for this network protocol was written by MIT student Abhay Bhushan in 1971, and it was designed to enable the transfer of files over ARPANET.
The U.S. Advanced Research Projects Agency Network (ARPANET) was the first wide-area packet-switched computer network, and it was used for research purposes. The technologies developed on ARPANET became the foundations of the internet as we know it today – they’ve been improved since the 1970s and 1980s to enhance the security and speed of processes like FTP.
How does FTP work?
An FTP connection needs to be established between two parties (such as a server and a computer) for communication and file transfer to begin. This can be done with a dedicated FTP client (such as FileZilla), a command-line interface or a web browser. Typically, you’ll need to provide credentials to access the FTP server, but some public FTP servers may allow you to establish a connection without credentials. This is called anonymous FTP, and we’ll discuss it in more detail later in this article.
Both devices will need to be connected to the internet for the FTP process to take place. Plus, the devices will need to be configured properly to transfer files using FTP – the server has to be able to run FTP services, and to access these services, the local host (end user’s computer) needs to have FTP software installed.
Once a connection has been established, two communication channels will open up. The first one is the command channel, which is where the conversation is controlled. The second is the data channel, which is where data distribution happens.
FTP process
The overall FTP process involves a few simple steps after a connection is made. Here’s a breakdown of this process:
- The user logs into an FTP server (although a login may not be required if you’re using anonymous FTP).
- The user requests to download a file, which prompts the FTP client to interact with the FTP server.
- The client can then download, move, copy, upload, delete and rename files on the server using FTP.
FTP modes
The above process can be initiated in two different modes: active mode and passive mode.
In active mode, the FTP server creates a connection back to the client after the client sends a command channel request to the server to initiate a session. Once this two-way connection is established, file transfer can begin.
However, if there’s a firewall protecting the user’s device, this can prevent active connection mode. In this case, passive mode is used instead. This is where the client initiates all connections, and passive mode asks the server to listen rather than creating a connection back to the user.
Types of FTP
The file transfer process isn’t always the same. Depending on the sensitivity of your data and the level of cyber security needed, there are multiple types of FTP to choose from, including:
1. Anonymous FTP
As mentioned earlier, anonymous FTP can be accessed without login credentials. This is the most basic form of FTP, with no data encryption involved. As such, anonymous FTP isn’t as secure as other types of FTP, but it’s useful due to its ease of access. Anonymous FTP is usually used for the transfer of files with unrestricted distribution.
2. Password-protected FTP
This is also a basic form of FTP, but unlike anonymous FTP, the user needs login credentials to initiate the transfer process.
3. FTP Secure (FTPS)
This type of FTP offers more security than the basic password-protected FTP and anonymous FTP. When a connection is established with FTPS, implicit Transport Layer Security (TLS) support is enabled to create a more secure data transfer. FTPS is sometimes also called FTP Secure Sockets Layer (FTP-SSL).
4. FTP over explicit SSL/TLS (FTPES)
With FTPES, explicit TLS support is enabled to encrypt the connection between the FTP server and client. File sharing services often use FTPES to allow for the secure transfer of files for customers.
5. Secure FTP (SFTP)
SFTP technically isn’t a type of FTP, but it functions very similarly. It's actually a subset of the Secure Shell Protocol (SSH), which is a network protocol used to securely access remote systems. SFTP provides secure file transfer within the SSH process.
What is FTP used for?
FTP isn’t the only way to transfer files. Data can be transferred using other protocols like Hypertext Transfer Protocol (HTTP) and Internet Message Access Protocol (IMAP), but FTP provides greater control and security.
Without the file sharing permitted by FTP technologies, we wouldn’t have access to our current cloud storage, web-based online gaming (including game servers), video conferencing and online download capabilities. Everyone has used FTP at some point, whether this was to edit a website by downloading data from a server or to download files from the internet. Individuals and businesses typically use FTP for data backup (either to a dedicated backup server or cloud backup), data replication, file sharing across devices on the same network, and accessing shared web hosting services (by loading data onto a remote system).
How to use FTP
There are three ways to establish an FTP connection:
- You can use a command-line interface to connect to an FTP server, such as a terminal window in macOS, Linux or Windows.
- You can use a web browser to communicate with the FTP server, which is more convenient when accessing large directories but slower than using a dedicated program or client.
- You can use an FTP client, such as FileZilla, Transmit and WinSCP.
As dedicated FTP programs, FTP clients offer more power and control over file transfers. Plus, they also offer extra features like the ability to set bandwidth limits, the ability to control upload and download speeds, public-key authentication and the ability to set file compression levels, which can improve the speed of data transfer. To learn more about file compression on Linux systems, read our helpful guide on Linux compression methods and compression software.
To begin the FTP process, you should be able to find your FTP details in your web hosting control panel. You can then use your favourite FTP client to establish a connection with the FTP server and make a transfer request.
Our Web Hosting service enables you to quickly and easily find your FTP details, allowing you to establish an FTP connection and transfer files. Get in touch with our team of experts if you'd like to learn more.