The Internet and FTP

The Internet and FTP

by Tim McLellan

Copyright 1995. All Rights Reserved.

This article is available for personal and public non-commercial use and may be referenced or reproduced, in whole or in part by any means, without further permission from the author. We only ask that you exercise due diligence in ensuring the accuracy of the materials reproduced and that the author be credited for the work.

Contents
- Introduction
- Client/Server Environment
- IP Addresses and Domain Names
- File Transfer Protocol
- Anonymous FTP
- Mirror Sites
- Directories and Files
- FTP Client Software
- WS_FTP
- Fetch for the Macintosh
- Web Browsers and FTP
- Communicating FTP Pathnames
- Sharing with FTP

Not so long ago, the easiest and simplest way to transfer files from one desktop computer to another was via the "sneaker net" - walking a diskette between machines. Later, modems and serial connections made it possible to transfer files between two computers using telephone lines. Setting up both computers for serial connections requires some preparation and timing considerations. Although not as simple and as easy as diskettes, transfers using serial connections are convenient and can more easily handle large amounts of data and longer distances.

Once more modern computer networks made their debut, transferring files became as simple as retrieving or saving a file. All of the disk and file operations over the network act exactly as they would on a disk drive. Network software often depicts a remote computer as simply another disk drive. Communications within such networks are done over high-speed network cables. The only real limitation is the scope of the network. Accessing computers that are not on the high-speed network still requires a modem or some other communication method.

With the introduction of the Internet came a new and extensive network system, packed with features. Communications and file transfers are simpler and easier than ever before. The Internet indirectly connects any computer on the Internet to every other computer on the Internet. Access is immediately possible to growing millions of computers and files. The administrator of each computer on the Internet grants permission to access their computer.

Client/Server Environment

The computing environment of the Internet is based on the client/server model. A client/server network has two roles for computers: clients and servers. The server is a computer that responds to requests for its services. The client is a computer that requests a service from a server. In a client/server network, the server can be considered the host and the client can be considered the guest. When the guest asks for something, the host tries to fill the request.

Internet servers need to be powerhouse computers, handling high volumes and concurrent requests. Depending on the type of client requests and their volume, a server's performance might slow to a crawl, or it could even crash. System administrators work to maintain a reliable server and sometimes apply restrictions to the services. The administrators can do such things as restrict some services to off-peak hours, restrict some services to only local users, and restrict the number of concurrent client requests.

The services provided by most servers on the Internet include electronic mail, participating in newsgroups, connections to other computers, transferring files, browsing World Wide Web pages, and joining chat groups. An Internet server site may have one server that provides all of the Internet services for the site, or the site may have several servers, each dedicated to providing one specific service.

IP Addresses and Domain Names

Administrators assign every computer on the Internet an Internet Protocol or IP address. They create an IP address with four numbers, each between 1 and 255. Periods separate each number in the address, as in 189.247.63.5. This arrangement provides for more than four billion different addresses. A central administrative body oversees the distribution of IP addresses.

Along with an IP address, administrators can optionally assign a domain name to their computer. Domain names are more user-friendly and recognizable in that they can contain real words and abbreviations, as in www.bedrock.com or ftp.slate.edu. An administrator has more flexibility in creating domain names than in assigning IP addresses. Within the Internet, the Domain Name System manages and matches domain names to their IP addresses.

Most Internet sites conform to a standard naming convention. The first part of a domain name often represents the type of computer. For instance, "www" represents a web server, "ftp" is a file transfer server, and "news" is a news server. The last part of the domain name often represents the country where the computer is located, as in "ca" for Canada. Site administrators in the United States have their own convention for ending their domain names. For educational institutions, they use "edu." Commercial organizations use "com." These are only conventions. Administrators are free to use whatever they want in their site name, provided the whole name is unique and not offensive.

The IP address and domain name each uniquely identify every Internet computer, client or server. Connecting to a server on the Internet requires you to know either its IP address or domain name. As an illustration, let us say you know of a great Szechuan restaurant downtown. Until you give me its name or address, I will not easily find it. I could probably walk and walk until I find it, but that would take some time. The Internet has more than three million servers to browse through, so aimlessly walking about them will not work. In essence, we cannot easily connect to an Internet server unless we have its IP address or domain name.

File Transfer Protocol

One of the most useful services of the Internet is FTP, or File Transfer Protocol. FTP is a network protocol. It also refers to the method by which we transfer data and program files between computers on the Internet. We refer to computers configured to accept FTP requests as FTP servers. These servers store a tremendous amount of information, and it is available to anyone on the Internet using FTP.

In an FTP client/server connection, the user's computer is called the client or local computer. The FTP server is called the host or remote computer. Downloading refers to transferring files from the FTP server to the client computer. Uploading refers to transferring files to the FTP server from the client computer.

Anonymous FTP

Having a computer hooked onto the Internet does not mean that everyone else on the Internet has access to its files. Similarly, having an FTP server on the Internet does not mean everyone can access it. Some system administrators may choose to restrict access to their files to a local or selected group of users. Others administrators may choose to make all of their files available to everyone.

When an FTP server has an access restriction, it requires a user identification code and password before allowing access to its files. If it has no access restriction, the FTP server allows any and every user to access its files; we call these servers anonymous FTP servers.

Although the anonymous FTP server has unrestricted access, it usually still has a logon procedure. Most anonymous FTP servers are set up to accept "anonymous" as the user identification. For the password, they accept, and sometimes require, the user's e-mail address. Entering your e-mail address is a courtesy to the site's owners and gives them an idea of who is accessing their files. Very rarely is this information used for any other purpose.

Site administrators can restrict anonymous FTP services to a specific number of concurrent users to reduce the drain on their server's overall performance. For instance, they can limit the number of users connected at one time to 25, 250, or whatever they want. Administrators may also restrict access to certain times of the day, often outside their regular business hours.

Mirror Sites

Some FTP servers and the files they store are very popular with many users. Reaching a site that is too busy to accept new client requests is common. It is like getting a busy signal during the rush to buy concert tickets by phone. Administrators establish mirror sites as a solution to this problem.

Mirror sites are FTP servers that maintain an exact copy of the files from one or more FTP servers. For example, an FTP server at the University of Toronto may mirror the files of a University of Michigan FTP server. All of the files on the Michigan server are available from the Toronto server. Administrators usually set aside a separate section in their file storage area for the files of the mirrored sites. The administrators refresh the contents of the mirrored files periodically.

Accessing a mirror site that is closer or less busy than the original site can be advantageous to a user. By being closer, the file transfer may involve fewer network connections and less network traffic. This can help to make the file transfer faster. A less busy server ensures a better chance of connecting.

Directories and Files

Most FTP servers run under the UNIX operating system. UNIX uses hierarchical file storage similar to both PC and Macintosh computers. What is called a directory on a PC or a folder on a Macintosh is called a directory in UNIX. Directories can hold both files and subdirectories. Accessing a specific file involves knowing all of the directories in the path from the top or root directory down to the file.

Some directory and file names on an FTP server may look strange or obscure. Often this is due to UNIX, since it allows long directory and file names. A user may also see directories and files that are a part of the server's operating system. UNIX system directories include bin, etc, and usr. Usually these directories have nothing of interest to the user and are often restricted anyway.

Common FTP-related directory names include pub, mirrors, uploads, and incoming. The most commonly used directory for files on an FTP server is the pub directory. Under it are stored the many subdirectories and files for public use. The mirrors directory holds the copies of files from mirrored sites. Depending on how many files the server has stored, it may have many subdirectories to traverse to get to the desired file. Most FTP programs make navigating through the server's directories as easy as it is on a hard drive.

FTP Client Software

To transfer files between an FTP server and a desktop computer, the local computer needs to be running FTP client software. All these client programs orchestrate the file transfer communications between the client computer and the FTP server. Such programs include WS_FTP for the PC and Fetch for the Macintosh. Many of today's popular Web browsers also have FTP download capabilities, but they do not have upload capabilities or the additional features found in most FTP programs.

Each FTP program has its own interface, some more intuitive and user-friendly than others. Whatever the program, they all work the same way. After starting, the first thing they require is an FTP server with which the file transfer is to occur. The IP address or domain name identify the server to the program. Depending on the server, it might also require a user identification code and password. Some programs can store a list of regular or favorite servers, including the user identification code and password required for server access.

After the user enters a specific FTP server name or address, the FTP program attempts to connect to the server. Most FTP programs display the responses they receive from the server when they are communicating with it. If the server is too busy to accept any new clients, it may return such a message. It may also list some of its mirror sites. Until the program establishes a connection with the FTP server, file transfers cannot take place. When the connection is successful, the FTP program displays its main file transfer screen.

WS_FTP

The most popular FTP program for Windows is WS_FTP.


WS_FTP divides its screen vertically into two basic parts. On the left side is a box for the local system or client. On the right side is a box for the remote system or server.

Each system box has two windows and two groups of buttons. The top window displays the directories and subdirectories of the system. WS_FTP displays the current directory above the directory window. Note that in the UNIX operating system, directories are delineated with a forward slash. The bottom window in each system box shows the files in the current directory.

The buttons beside each window provide additional functions. Buttons beside the directory windows allow the user to change the current directory, make a new directory, or remove an existing directory. The buttons beside the file windows allow the user to do things like view, run, rename, and delete a file. Other buttons refresh the listing and give directory information. The functionality of the buttons on the server side depends on how much authority the user has to change the server's directories and files.

Buttons at the top of the screen are used to access the program's options. Radio buttons at the bottom of the screen show the file transfer mode in effect. The mode is based on the contents of the file, be it ASCII text or binary information. A scroll window at the very bottom of the screen displays the communications activity between the WS_FTP program and the FTP server.

The most powerful buttons on the WS_FTP screen are the two in the middle, between the system boxes. One button has an arrow pointing left and the other has a right pointing arrow. The left button initiates a file transfer from the FTP server to the local system. The right button initiates a file transfer from the local system to the server. The arrows intuitively point to the receiving system and away from the source system. Transferring a file simply involves highlighting the file in a window and clicking on the appropriate file transfer button.

Fetch for the Macintosh

Fetch is a popular FTP program for the Macintosh.


On the left side of its screen is a window that displays the folders and files on the FTP server. At the top of the server window is the name of the current folder. In UNIX, the topmost folder is represented with a forward slash. On the right side of the screen, Fetch displays status, file, and transfer information. Radio buttons at the bottom of the screen control the mode of the file transfer. This is based on the contents of the file being transferred, text or binary.

The most powerful buttons on this screen are the file transfer buttons, Put File and Get File. The Put File button initiates a file transfer from the local computer to the FTP server. The Get File button initiates a file transfer from the server to the local computer. Transferring a file to the FTP server involves pressing the Put File button and selecting the file from a dialog box. Transferring a file from the FTP server involves highlighting the file in the server's window and pressing the Get File button.

Web Browsers and FTP

Most Web browsers can do FTP downloads. In a HyperText Markup Language (HTML) document, a mouse-clickable FTP link is written as follows:

<A HREF="ftp://ftp.csra.net/pub/win3/ws_ftp.zip">Winsock FTP Program</a>

When the user clicks on the link text, "Winsock FTP Program", the Web browser initiates an FTP file transfer session. If the link does not include a specific file, most browsers display the contents of the last directory in the path. This allows the user to see the entire contents of the directory and choose one or more files for transfer.

Communicating FTP Pathnames

To receive a file from an FTP server, we need the server's IP address or domain name, the name of the directory in which the file is located, and the name of the file itself. This information can be sent to others in an electronic mail message or a word processor document in the following format:

ftp.csra.net/pub/win3/ws_ftp.zip

This line of text specifies all of the necessary information for a user to find a file on an FTP server: the server's name (ftp.csra.net), the directory path (/pub/win3), and the filename (ws_ftp.zip). The reference can also use the server's IP address, as in:

204.71.8.21/pub/win3/ws_ftp.zip

It is not important how we write or pass the information to other users, as long as we mention the server, directory, and file.

Sharing with FTP

FTP is a very useful and valuable Internet service. A tremendous amount of information and programs are available on the Internet. FTP is the best way to transfer those files to your computer. Also, FTP provides an easy way to distribute information to users locally, or worldwide. By putting your files on an FTP server, they are available to everyone on the Internet.

Every FTP client program has its own interface and procedures. Whatever the program, read the documentation that comes with the program to understand fully how to use it and how to set the appropriate options.