Many of you might be too young to remember, but using FTP was a common way to download files back in the 90s. FTP servers were data sources, and you could download files with an FTP client application. Yes, the FTP protocol is “ancient”, but it is still around. Do you want to learn more about it?
What is FTP?
FTP (File Transfer Protocol) is one of the standard communication protocols that have the purpose of transferring files from a server (FTP server) to a client (FTP client). As you can see, it uses a client-server model of communication. The client needs permission to establish a connection. That could be a login (user name and password), or the FTP server could be public and open for everybody without authentication.
There are improved versions of the File Transfer Protocol for additional security called FTPS and SFTP.
- FTPS (File Transfer Protocol Secure). This one uses TLS/SSL for data encryption and boosts security. It uses two channels of communication – control and data.
- SFTP (SSH File Transfer Protocol). It uses SSH for encryption and needs just a single connection. The typical FTP uses one for control and a second for data.
There are active and passive modes:
- Active. The client uses TCP to establish a connection with the server’s port 21 (FTP). In this case, the client will be waiting (listening) for signals from the FTP server. It will send messages to the PORT M of that server to indicate it is pending. The server will establish a connection on port 20 (data).
- Passive. The client uses TCP to establish a connection with the server’s port 21 (FTP). In this case, the client sends the control message PASV. The server responds with its IP address and port for the connection. Then the client will start the connection.
As I mention, it is old. It was published in 1971! With time, the protocol has been updated many times, and now it can work with TCP/IP tool.
Today, many new browsers like Google Chrome, Safari, Firefox, and more are already removing the support of this protocol, but you can still use it with some of this software.
- For servers – FileZilla Server, SolarWinds, Serv-U.
- For clients – FileZilla, WinSCP, SmartFTP.
What is it used for?
- FTP is used for transferring files. It is useful for transferring large files because it can be interrupted and still recover the transfer process. For example, imagine if the Internet stops, you can still press the resume button and continue from where you left when the Internet gets back.
- A good feature that it has is that you can send not one but multiple directories with different files at the same time. That way, you can boost the speed of the transfer compared to file-by-file sending.
- The File Transfer Protocol is also used for backing up. Why? Because you can schedule transfers. You can set a script to create a single large file and schedule a transfer to your backup location. The automation really helps!
- Uploading large files is also possible with FTP. Do you know how emails let you upload just a few MB files? With the File Transfer Protocol, you can send 4k videos without problems.
Suggested article: How does UDP work?
Now it is clear for you what FTP is and what its purpose is. The modern versions FTPS and SFTP are still used to transfer files between a server and a client. The original FTP might not be supported on most modern computers, but the SFTP could still live for some years.