FTP File Transfer

This brief introduction was designed to help Internet users understand the principles of FTP file transfers.

What is FTP good for?

The file transfer protocol (FTP) is one of the oldest communication protocols the Internet community has been dealing with.
It has been designed to allow platform independent data exchange over a network.
Regardless, if you are using Windows, Mac or Unix, FTP allows you to transfer your movies, photos and audio files from one computer to another exactly the same way you can copy them from one folder to another.
Do you want to share the photographs of your kids with their grandma?
Are you about to publish your very first web page on the Internet?
Do you need to backup your files or would you like to download software from the Web?
FTP is the way to go when dealing with all of the above.

Actors in an FTP communication

There are always two actors participiating in an FTP session - the client and the server.
Though FTP file transfers can run in both directions, they are always initiated by the client.
The server role is covered by a software module, which is installed on one of the computers.
The FTP server just waits (listens) for incoming connections and handles requests sent by the clients.
Another piece of software - the FTP client - has to be installed on all computers that want to communicate with the server.

Single FTP file transfer - multiple connections!?

Whenever you transfer a file via FTP protocol, at least two network connections are established between the client and the server.
The first connection - so called "control connection" - is established at the time when the client connects to the server.
The control connection is used to exchange FTP commands and corresponding command responses between the client and the server.
The client sends FTP commands to the server to request a particular operation.
An example of such request is the "CWD" command which instructs the server to change the current working directory.
The server processes the request and returns a status code indicating whether the operation has been performed successfully or not.
Requests which carry additional data (like file and directory contents) always open additional connection - so called "data connection".
An example of such request is an upload of a movie to a remote server.
The client uses the control connection to instruct server to store a file.
Then, both client and the server establish a data connection over which the file data will be transferred.
Furthermore, the best FTP clients available today improve the performance by using multiple data connections to transfer a single file.

How secure are FTP file transfers?

Well, the short answer is: not much.
During the authorization process, the FTP client sends your login name and password over the control connection to the server in clear text.
An experienced hacker can simply capture this unencrypted piece of information to obtain a full access to your user account.
To minimize this vulnerability of the FTP protocol an additional protocol layer is used - SSL (Secure Sockets Layer).
In such configuration your FTP traffic is secured by the underlying SSL level first.
The encrypted information is then sent over an ordinary (unsecured) TCP/IP network.
Exactly the same mechanism is used when you use your online banking system or when you buy a book on the Internet, except that not the FTP but the HTTP traffic is secured by SSL.

Which FTP client to use?

There are dozens of FTP programs out there you can use to handle your FTP file transfers.
Most of them usually handle the basic tasks just fine.
However, if your time is valuable and your data important, you should consider a professional product.
One of the most versatile and powerful FTP clients available today is BitKinex.
Review the top reasons why Bitkinex is the way to go or, better yet, download BitKinex right away.