FTP – File Transfer Protocol
Posted on July 30, 2008 by Jared
Just a few months ago, I was taking a short vacation down in Florida with my wife’s family. It was the first time our little nieces had ever been to the ocean, so I was sure to take lots and lots of pictures. Every evening, after we had gone out to one of the many great places to eat, I would dump all of my pictures from my compact flash card onto my laptop.
A lot of people would stop there, but I like to have several copies of all my important files. So, before turning in for the night, I would open up my favorite FTP program, connect to the FTP server running on my computer at home (600 miles away!), and transfer all of the precious photos I had taken that day. Indeed, FTP is a great tool that anyone with a broadband connection should use.
FTP Software: Clients and Severs
There are two sides to FTP: a FTP Client and a FTP Server. One isn’t much use without the other, so let’s take a closer look at each.
The FTP Client is the software that you would use to connect to the server. For example, when I was in Florida, I was using the FTP client software to connect to my home computer.
Before you can connect to a FTP server, you must have a few critical pieces of information:
- Server Hostname or IP address – You have to tell the FTP client software which computer to connect to. This can be a hostname (such as ftp.yourwebsite.com) or an IP address (such as 123.456.78.90).
- Username and Password (sometimes this is optional) – You will need a username and password if the server you’re trying to connect is private… and this is most likely to be the case. Sometimes, though, you might come across a public FTP server. If you’re setting up your own FTP, always, always password protect it!
Most FTP clients will let you store the information needed to connect to many different FTP servers. For example, I have several web servers that I connect to one a daily basis, in addition to my personal FTP server, and a few of my friends’ servers as well.
The FTP Server is the software that allows incoming connections from a client. Often times, people confuse the term “server” with hardware, but a server is really just specialized software that manages a certain function. In this case, the FTP server runs on a computer waiting (listening) for a client to connect. When a client attempts a connect, the server will verify that the person trying to connect is authorized. If the username and password checks out, the server allows the connection and waits for instructions from the client.
If you think you would like to set up your own FTP server, there are a few things you need to consider. First, you’re going to need a broadband connection and, hopefully, your service provider assigns you an IP address that is somewhat static (that is, it doesn’t change very often… my IP address hasn’t changed in years!). Second, if the computer you’re installing the server onto is behind a router, you’ll need to need log into the router and forward port 21 to your server’s internal IP address. Third, if you have Windows Firewall running, you’ll probably have to configure it to allow FTP connections.
I hope you’re not discouraged by that last paragraph. If you wonder what your public IP address is, go to WhatIsMYIP.com to find it (if you don’t know if your address is static, just check it a few times a day and see if it changes.. if you’re a DSL subscriber, your address probably isn’t static. Sorry.) To learn about forwarding ports in your router, read the documentation for your particular model. Windows help and support can help you out if you need assistance with Windows Firewall.
Uploading and Downloading with FTP
Two terms that I often hear getting mixed up are “upload” and “download.” If you’re confused with when which term should be applied to which action, just think about the destination. If a file’s destination is a server, it is typically said that the file was uploaded. If the file’s destination is a client, then it is said that the file is being downloaded.
Also, don’t substitute the term “download” for “install,” or the other way around. Indeed, programs can be downloaded from the web (or via FTP!), but they must be installed before they can be used. And while I’m being nit picky: programs, files, and folders aren’t “downloaded” onto a CD or Flash Drive, they are moved or copied. Thanks for letting me get that off my chest.
Useful FTP Applications
You might be wondering if setting up an FTP connection is worth the hassle. Well, if you’ve ever been in one place and wished you had a file that was in another, I’d say it is well worth the hassle.
As I mentioned earlier, I’ve used FTP to send family photos across several states, but FTP has its place in the working world to. Just about every webmaster uses FTP to transfer web pages, web application files, and images to their web server. Corporations use FTP servers to provide common files to their clients and branch offices. Friends use a collection of FTP servers to share photos, programs, and (Gasp!) the occasional mp3. I like to keep my favorite freeware accessible on my FTP so that I can use them no matter which computer I’m on (as long as there is an internet connection). This is really handy when a friend or family member asks me to troubleshoot their computer.
One huge advantage to using FTP is that file sizes simply do not matter. In my opening example, I was uploading gigabytes of photos to my home computer. Try doing that with email… go on, I dare you.
One small drawback of FTP, however, is that a FTP connection is not secure (information being sent to and from the server is unencrypted). That means a dirty hacker could potentially see the username and password being passed to the server as well as take a peek at the files you’re transferring. However, this is nothing new and in spite of this vulnerability, FTP is still the Internet standard for transferring files.
I hope you have a better understanding of what FTP is and how it can be used. If you’re looking for quality client or server software to download, check out Filezilla. It’s totally free and works great. I’ve been running both the client and server for a few years now and really like it!