FTP - File Transfer Protocol Explained

File Transfer Protocol (FTP) is a protocol that is part of the TCP/IP suite. It is the standard for transferring large amounts of data from server to server and from servers to clients. There is a very good chance that you have downloaded files from FTP sites many times, though it may have seemed you were only downloading from a website. FTP allows you to transfer files over a variety of hosts with different operating systems and file systems. There are so many FTP servers on the Internet, some are private with secure logon names, other ones are public with anonymous logins.

This paper will give a very brief outline of how the FTP Protocol functions and give the basic commands used during an FTP session. Keep in mind that these commands are generally automatic and are executed by either an FTP Client application, or done via your web browser. Though these methods are generally quicker than manually connecting to an FTP, it doesn't mean we should ignore the background behind how the technology works.

The FTP Protocol uses two connections to transfer a file. Each of these connections is quite a bit different, but work in conjunction with each other. The first connection is the Control Connection, which as the name implies controls the connection in regards to initiating the data streams and executing the commands. The second type of connection is the Data Connection, this connection is the actual connection that passes the files back and forth between the client and server.

Control Connection:
The control connection starts in a normal client / server manner. The client does an active open connection to port 21 of the FTP server to establish the control connection. The server is listening on port 21 for any active queries. Please keep in mind that though the primary FTP port is designated as porn 21, many servers, especially private ones are running on non-standard ports. The control connection as I mentioned early is the connection that allows you to pass commands between the client and server. Commands that must be sent are ones like LIST, STOR, and RETR. Once you enter a command on the control connection, you initiate the data connection.

Data Connection:
The data connection is spawned each time a file is moved between the client and server. The Control connection initiates the transfer with the PORT command, this tells the server to open an active connection to the clients passive port. The port command is typically the IP address followed by a 16 bit port number. The PORT command is issued in the following fashion:

PORT 24,82,116,92,4,150

That command should spawn a response of: 200 PORT Command Successful

After the PORT command has been initiated and is successful the next command in the data connection will be issued from the control connection. As I mentioned before this is typically a LIST, RERT or STOR. I will outline the basic FTP commands below for reference.

FTP Commands (Basic):
ABOR - Abort command and any data transfers
LIST - List the directory contents
PASS password - Used during authentication of login
USER username - Used during authentication of login
QUIT - Logoff / Quit session
RETR filename - Retrieve file from server STOR filename - Send a file to the server
SYST - Show System information
TYPE - Set the type of data, for instance ASCII
PORT - n1,n2,n3,n4,n5,n6 ( 1-4 = ip address, 5-6 port data)
HELP - Will give you additional available commands and more information

Reply Codes:
Reply codes are simply confirmations of things happening. One example of a reply code was went we got "200 PORT Command Successful" there are a handful of other reply codes, though generally the main ones are as follows.

125: Data Connection Open Start Transfer
200: Command OK
221: Goodbye / Terminate Connection
252: Write Error
331: Username OK, Enter Password
425: Can't Open Data Connection
500: Syntax Error on Command
501: Syntax Error on Arguments

Client Applications:
There are many different clients for FTP, and really it's up to personal taste in the end. A couple of the major ones are CuteFTP and FlashFXP. Personally I use FlashFXP when I'm in the Windows Environment. Just go to a freeware website or search on the search engines for a FTP Client and try a few out!

Summary of FTP:
The File Transfer Protocol is a wonderful and useful standard that has helped move data around the world safely and reliably for years. Everyone uses it from uploading their website to their web server, backing up their data to an off-site location, sharing their pictures with friends, or disseminating large data files for scientific research!

For even more information on the FTP, check out RFC 959.

Ken Dennis
http://KenDennis-RSS.homeip.net/

In The News:


pen paper and inkwell


cat break through


PC Tools Youd Never Think You Need

Do you use Windows standard uninstall feature? How do you... Read More

System File Checker - A Maintenance Utility

System File Checker is a great utility that is typically... Read More

Mail-merging: The Principles

About mail-mergingMail-merging is the process of merging variable data and... Read More

How Does a Palm Pilot Work?

Just The Facts, Ma'mPalm pilots are all the rage now.... Read More

Cisco Certification: Building Your Home Lab, Part II

In the first part of this home lab tutorial, CCNA... Read More

Flash Your nVidia Video Cards BIOS

You will need the following:1. 1.44MB FDD (floppy)2. NVFLASH utility... Read More

This Page Cannot Be Displayed ? What to Do When Your Internet Breaks

The DNS (Domain Name System) servers are what your computer... Read More

Best PC Pocket GPS

Stop Getting LostOne of the greatest uses for a pocket... Read More

Get Ahead When You Build Your Own Computer

If you've been kicking around the idea of building your... Read More

Why Build Your Own Gaming Computer?

The best way to get the gaming computer that you... Read More

10 Time Saving Keyboard Shortcuts

Time is money. And when you constantly have to divide... Read More

How to Save an Image in a SQL Server Database?

Most of the web applications have a lot of images... Read More

Digital Cameras: How Many Pixels Do I Need?

With the bewildering number of digital cameras on the market,... Read More

Learning To Navigate Ciscos Online Documentation

When studying for your Cisco CCNA, CCNP, or CCIE exam,... Read More

SOBIG.F Virus Promises Ill Be Back

On 21 August 2003 Symantec Security Response upgraded the W32.SOBIG.F... Read More

Faster Browsing Tips

IF WE say that it was mainly because of the... Read More

Spyware Remover

Your first step in removing dangerous infections from your computer... Read More

Toshiba Wins Hollywood Support for the HD DVD format

What led them to this choice, as all four studios... Read More

Printing Multiple Copies of Photos

I do a holiday letter every year and send them... Read More

Bluetooth Technology: Tips for Buying Headsets or Headphones

The technological horizon has always got something new to offer,... Read More

How To Speed Up Your Aging PC And Make It Healthier Too

With a little tweaking and with proper tools, you can... Read More

The Importance Of Email Backup

Viruses, software failures, power failures, human errors, hard drive failures... Read More

Maintain Your Computer ? Keep Your Business Running

Maintaining your computer is extremely important ? especially if you... Read More

Things You Can Do To Speed Up Your Computer

Upgrading your processor will always speed up your computer, but... Read More

Dynamite Comes in Small Packages - Tiny Personal Audio MP3 Players Pack Powerful Music Enjoyment

MP3 players are Hot! Playing music has come a long... Read More

Cisco Certification: The Most Important Cisco Study Youll Ever Do

All of us are familiar with the pyramids of Egypt.... Read More

15 Good Programming Habits

1. Before sitting down for coding, you must have formal... Read More

Uninstall Windows Media Player 10 and Start Enjoying Your Media Again

Windows Media Player 10 has been full of bugs from... Read More

Simple Overview Of Computer

Computer is an electronic machine work on the instructions of... Read More

Advantages and Guidelines of Automated Testing

"Automated Testing" is automating the manual testing process currently in... Read More

Are You Putting Off Productivity?

I recently took a good look at what was keeping... Read More

Computer Consulting 101 PC Troubleshooting Advice

While most small businesses really do need to find a... Read More

How Do MP3 Players Work? Digital Audio Technology Revolutionizes Music Enjoyment

Millions have enjoyed recorded music since 1877 when Thomas Edison... Read More