I hope that you are having as much fun participating in this workshop as I am having teaching it! :)

In the last lesson we used a tool called "Telnet" which allowed us to access remote computers and run programs on those remote computers.

In the next few lessons we are going to use a tool called "File Transfer Protocol" (or "FTP") which will allow us to access remote computers and retrieve files from these computers. Actually, it is probably more accurate to say that we will be using "anonymous" FTP, but I'll explain that in a minute.

What sort of files are available through FTP? Well, "hundreds of systems connected to the Internet have file libraries, or archives, accessible to the public. Much of this consists of free or low-cost {computer} programs for virtually every make of computer. If you want a different communications program for your IBM, or feel like playing a new game on your Amiga, you'll {probably} be able to get it {using FTP}."

"But there are also libraries of documents as well. If you want a copy of a recent U.S. Supreme Court decision, you can {get a copy using FTP}. Copies of historical documents, from the Magna Carta to the Declaration of Independence are also yours for the asking ... You can also find song lyrics, poems, {and} even summaries of every {Animaniacs} episode ever made. You can also find extensive files detailing everything you could possibly want to know about the Net itself". (1)

Before we get too in-depth into FTP, I think that now is as good a time as any to quickly review the client/server relationship that I briefly mentioned in lesson three (MAP03: Levels of Internet Connectivity).

"Client" is just another word for a program running on your service provider's system that enables you to talk to, and get stuff from, distant computers. The client on your service provider's system takes your commands and turns them into requests for information from programs -- "servers" -- running on other, distant computers.

The client/server relationship allows you to TELNET into remote computers and run programs on those remote computers, and it also allows you to use FTP to get files from remote sites.

The client/server relationship is also what makes my job as an Internet trainer quite difficult. While all of the FTP clients out there do the exact same thing, they all use different commands to do it.

Fortunately, if you can understand the basics of what happens during an FTP session, the commands -- no matter what client you are using -- are pretty easy.

The basic steps in an FTP session are:

  1. Start-up your FTP client.
  2. Give your FTP client an address to connect to (and, just like TELNET, step one and two can be combined into one easy step).
  3. Identify yourself to the remote site.
  4. Give the remote site your password.
  5. Look around the directory for files.
  6. Change Directories.
  7. Set the transfer mode (optional).
  8. Get the file(s) you want.
  9. Quit.
The best way to understand what is going on is to look at a sample FTP session. The University of Alabama's connection to the Internet is through SURAnet (a large regional network), so I'm going to FTP to them.

Before I do that, though, there are three things that I need to emphasize:

  1. FTP requires a heck of a lot of resources, both on your system and on the remote system that you are accessing. Because of this, FTP sessions should only be run during non-working hours (usually 6 PM to 6 AM local).

    I realize that this constraint is going to be a difficult for those of you who are reading this at work, and who only have Internet (and FTP access) through your employer. However, as responsible Internet citizens we have to remember that the FTP sites are providing us FTP access out of the kindness of their hearts. If we take advantage of this kindness, and access various FTP sites during working hours, those FTP sites may decide to close their doors to the public ... and then EVERYONE loses.

  2. In light of what was said in #1, please do not flood SURAnet. In MAP15: FTPMAIL I will post a list of FTP sites that you can visit (much like the TELNET list I posted in MAP12: Telnet (Part Two)). Until I post that list, just sit back and enjoy the show :)

  3. Since this lesson is already over 100 lines long, I hope that you won't mind if I break this FTP lesson into two lessons. The first lesson is in this document, and I'll finish it in the next document. This will mean that we will end this lesson in the middle of our sample FTP session, but it will also mean that this lesson won't be the size of a small book :)
Starting an FTP session is pretty easy. For most of you, all you have to do to start-up your FTP client is type
on you system's command line (or, if you are in a Windows or Mac environment, double-click on the FTP icon).

>From there, you would give the client an FTP address to connect to.

Like TELNET, however, there is a way to combine these two steps into one, easy step. For most of you, to access your FTP client and give your client an address to hook up to, all you would have to do it type the command

and replace with the address of the FTP site that you want your client software to access.

In our example, the SURAnet FTP address is ftp.sura.net, so I would type

    ftp ftp.sura.net
to start an FTP session. (Note that the second "ftp" is part of SURAnet's FTP address. If I wanted to ftp to info.umd.edu, I would type "ftp info.umd.edu"; if I wanted to ftp to lcs.mit.edu, I would type "ftp lcs.mit.edu").

Once I hit the enter key, the following appears on my screen:

   ftp ftp.sura.net
Connecting to ftp.sura.net, port 21
220 nic.sura.net FTP server (Version wu-2.4(1) Fri May 20 10:20:58
EDT 1994) ready.
USER (identify yourself to the host):
The second line tells me that my system is connecting to ftp.sura.net (and even gives me the IP number for ftp.sura.net), the third line is some automatic information from SURAnet, and the bottom line is asking me to log in.

If I had an account on the SURAnet system, I would enter my SURAnet user ID. But, since I don't have an account on this system, I have to find another way to access the system. ;)

This is where the "anonymous" FTP I mentioned earlier comes in :) The other way to access some FTP sites -- at least those FTP sites that allow outside access -- is to use the userid "anonymous". By using the name "anonymous", you are telling that FTP site that you aren't a regular user of that site, but you would still like to access that FTP site, look around, and retrieve files.

So, where it says USER, I type the word

hit enter, and cross my fingers. If SURAnet does not allow anonymous access, I'm about to find out :)
   >>>USER anonymous
331 Guest login ok, send your complete e-mail address as password.
COOL! Its going to let me in. All I have to do is give the site a password.

Out of politeness to the FTP site, if you login as "anonymous", you need to use your full Internet address as your password. This helps the FTP site keep track of who has visited its site.

So, since it wants my password, and since the password for any anonymous FTP session is my full Internet address, I type

(Stop laughing -- p-crispy-one is not funny!!). Once I hit enter, my screen fills with the following:
   >>>PASS ********
230- SURAnet ftp server running wuarchive experimental ftpd
230-Welcome to the SURAnet ftp server. If you have any problems with
230-the server please mail the to systems@sura.net. If you do have problems,
230-please try using a dash (-) as the first character of your password
230- -- this will turn off the continuation messages that may be confusing
230-your ftp client.
230 Guest login ok, access restrictions apply.
Notice the line "Guest login ok, access restrictions apply." This means that the site has given me access, but I only have access to the files that are available to the general public.

Okay ... now what? I've started-up my FTP client, I've given the client an FTP address to connect to, I've identified myself to the remote site (I told it that I am anonymous), and I've given the site my password.

Now it's time to see what sort of files and directories are around, and to get those files ... which we will do in the next lesson :)

Posted bySumedh at 11:49 PM  


Post a Comment