WINDOWS AND TCP/IP FOR INTERNET ACCESS By Harry M. Kriz (hmkriz@vt.edu) University Libraries Virginia Polytechnic Institute & State University Blacksburg, VA 24061-0434 http://learning.lib.vt.edu/authors/hmkriz.html In response to popular demand, I am publishing a new release of my paper on using Microsoft Windows to access Internet resources. Thanks to everyone who has e-mailed me and called me over the past year. I am delighted that the paper has been useful. I have been even more delighted to give permission for distributing copies at Internet workshops, and for copies to be posted on Internet servers. Perhaps this new release will find it's way into the hands of all those folks who are getting their first computers this Christmas. I hope this paper can play some small part in getting them over the rough spots. A plain text version of this complete document is available by anonymous ftp from: nebula.lib.vt.edu in directory /pub/windows/winsock under filename wtcpip06.asc A hypertext version is available at: http://learning.lib.vt.edu/wintcpip/wintcpip.html -------- ABSTRACT Internet, the global network of computer networks, is arousing enormous popular interest. In part this interest is being driven by the availability of free or inexpensive shareware software for Microsoft Windows. It is now technically simple for a personal computer to become a host on the Internet. The casual user can find, retrieve, and view information gathered from around the world without having to learn complicated computer commands. In this paper I describe the principal functions and services available via the Internet. Then I outline the technical background and terminology needed by the beginner who wants to make his PC a host on the Internet. Finally, I describe several Windows software packages and programs that facilitate using Internet services. All the software is freely available over the Internet. ------------------- PUBLICATION HISTORY The most recent plain text (ascii) version of this paper is always available by anonymous FTP from nebula.lib.vt.edu in directory /pub/windows/winsock under the name wtcpip**.asc. For example, this version is available as wtcpip06.asc. A hypertext version of this paper that is maintained on a more regular basis is available through the World Wide Web at: http://learning.lib.vt.edu/wintcpip/wintcpip.html The first version of this paper was released via Internet news and BITNET listserv on November 15, 1993. Revised and expanded versions were released on January 16, February 9, and March 21, 1994. A version was published by O'Reilly Associates in the March 14, 1994 issue of the "Global Network Navigator Toolkit," which was then accessible at: http://nearnet.gnn.com/GNN-ORA.html. Release 05 (June 21, 1994) was a major revision that was published by the Virginia Tech College of Engineering on the CD-ROM "1994-95 VT Engineering Tools." A print copy of Release 05 was also published by the Computing and Systems Technology Division of the American Institute of Chemical Engineers in "CAST Communications," Vol. 17, No. 2, pp. 6-14 (Summer 1994). ------------ INTRODUCTION Internet, the world-wide network of computer networks, has captured the imagination of the general public. Eighteen months ago, the Internet was barely mentioned in the popular computing magazines. Now it is the topic of articles in national news magazines, local newspapers, and grocery-store tabloids. Awareness of the Internet has spread primarily by word of mouth. Computer pundits were not discussing the Internet in Spring 1993 when I first began investigating the Internet in my work as a librarian. Indeed, most pundits seem to have acquired Internet access only in the Spring of 1994. Thus, computer magazines have not been helpful for those wishing to learn about the Internet. Now, in December 1994, there is something of a feeding frenzy of interest in the Internet. Bookstores are flooded with guides to the Internet. Software vendors are rushing to market with collections of software designed for navigating the resources on the Internet. It is almost as if the crest of the Internet wave has passed. Pundits who did not have access to the Internet last year are already writing negative opinions about the difficulties of navigating Internet resources, and about the uselessness of those resources. Complaints about the Internet are many. Certainly it can be difficult to find information and resources on the Internet. A great deal of information is unvalidated, non-authoritative, or otherwise questionable. Some resources should not be available to children. Some would argue that some of the information should not be distributed even to adults. It is important to remember that the Internet is not a service. Rather, it is a means of gaining access to services and of retrieving information and other objects that can be represented electronically. In considering complaints about the Internet, one might draw an analogy between the Internet and New York City. New York is big, complicated, and disorganized. The city's myriad resources can be hard to find. Some of what happens or what is available in New York should not be seen by children. For those wishing to navigate the complexity of New York, there are guidebooks, phone directories, magazine articles, and individuals with expert knowledge about areas of particular interest. One can navigate the complexity of the city by subway, taxi, and bus. One can even hire a private guide to conduct a tour of the city. The Internet can be compared to the streets of New York City. The services available on the Internet have their analogies in the city's libraries, department stores, bookshops, art galleries, street vendors, and street- corner zealots passing out literature or lecturing the passing crowds. It is safe to assume that somewhere on the streets of the city there will be found information and services of interest to almost anyone. However, finding that information might take some time for someone who is new to the city and its resources. Similarly, somewhere on the Internet there also will be found information and services of interest to almost anyone. Traveling on the Internet requires only a few basic tools. First is a computer with a network connection to the Internet. A direct connection using a PC equipped with a network interface card that interfaces with a local area network linked to the Internet is common at universities, and becoming more common in businesses. If a direct network connection is not available, an alternative is to connect to the Internet through the computer's serial port. This involves a telephone connection to a terminal server that offers SLIP (Serial Line Internet Protocol) or PPP (Point to Point Protocol) service. Any of these connections can be used with a variety of commercial or shareware software to make your personal computer a host on the Internet and to access services and information from the entire earth. This paper will emphasize the use of freeware and shareware versions of software running under Microsoft Windows. ----------------- INTERNET SERVICES The Internet services of interest to most people consist of four basic functions. These are electronic mail (e-mail), Internet news, file transfer between computers (FTP), and remote login to another computer (telnet). Access systems like Gopher and World Wide Web now supplement these basic Internet functions by assisting the user in searching for and retrieving relevant information in a user-friendly manner. Until recently, Internet functions were accessible primarily through character-based interfaces using a variety of complex command sets. Thus, until recently, best-selling books on the Internet contained page after page of screen displays or command sequences captured from UNIX-based systems executing basic Internet functions. Affordable Internet software for Windows first became available in Spring 1993. Prior to that time, Windows users were dependent for Internet access on expensive, proprietary, commercial products in which each vendor's offerings were mutually incompatible with every other vendor's offerings. Publication of the Winsock applications programming interface provided a way for individual client software (such as a telnet or FTP client) to be compatible with every vendor's networking products. As a result, beginning in 1993 there was a blossoming of freeware, shareware, and commercial Internet software for Windows. Of special interest has been the development of Windows interfaces to the World Wide Web. Mosaic is the best known Web browser. Other choices include Cello, Netscape, and WinWeb. The Web was developed by the high energy physics community to distribute technical papers and other forms of data. WWW is now widely viewed as a means for educators, businesses, and hobbyists to distribute multimedia information to a world-wide audience. Graphical WWW clients enable publication of data over the Internet in a manner which allows the user to view text, color graphics, sound, and video in a manner that approaches the usability, and surpasses the functionality, of a printed magazine. Those interested in publishing WWW documents may find it useful to read my paper "Teaching and Publishing in the World Wide Web." A plain text version is available by anonymous FTP from: nebula.lib.vt.edu in directory /pub/www under the name websrv01.asc. A hypertext version is available through the Web at http:/learning.lib.vt.edu/webserv/webserv.html. ****** E-MAIL Electronic mail is probably the most widely used Internet function. A commonly used configuration requires that a user have an account on a POP (Post Office Protocol) mail server. The e-mail client software accesses the server and downloads any incoming messages to the user's PC. Mail composed at the user's PC is transmitted to the Internet through the mail server. ************* INTERNET NEWS Internet news, also referred to as USENET news, is a conferencing system made up of thousands of topical conferences known as news groups. Those familiar with electronic bulletin board systems will compare Internet news to echo conferences. Others will draw an analogy to mailing lists such as listserv on BITNET. The user reads the news by using client software to subscribe to a selection of news groups. When the client software accesses an NNTP (Network News Transfer Protocol) server, the server downloads to the client a list of subjects for all unread messages stored on the server for the selected news group. The user can then select any message for reading, post a response to the message to the group, or reply directly to the original poster of the message. The client software maintains on the user's PC a list of all available groups on the server, along with records of which messages have been read or skipped over. Only the messages selected for reading are actually downloaded to the user's PC. *** FTP FTP (File Transfer Protocol) allows the transfer of files between any two computers of any type. Files can be transferred from PC to PC, PC to mainframe, PC to Mac, PC to UNIX machine, and vice versa. Any kind of computer file, whether it be a text file or a binary file representing software, graphics images, or sounds, can be transferred. Of course, whether the file is usable on the receiving machine depends on the nature of the file and the availability of software to make use of the file. ****** TELNET Telnet enables the user of a PC to login to a host computer at another site on the Internet. The user's PC then acts as a dumb terminal attached to the remote host. Such access usually requires that the user have an account on the remote host. For instance, a student or faculty member at one university might have an account on a computer located at another university. An increasing number of commercial services are becoming available via telnet, including services such as the Dow Jones News Service and the Lexis/Nexis service. In addition, some services are available without charge. For example, hundreds of libraries in all parts of the world allow free remote access to their computerized catalogs and to some specialized databases. ****** GOPHER Gopher is a system that enables the user to find files and other Internet services by navigating a system of text menus and submenus. As a corollary, it provides a means for information providers to publish information on the Internet in a discoverable manner. Prior to the development of Gopher at the University of Minnesota, information on the Internet was located by asking friends and strangers where to look. The first step in using a Gopher client is to "point" the client at the address of a known Gopher server. The client then retrieves that Gopher's menu of topics. Typically, many of the topics on a Gopher menu are pointers to yet other menu items on other Gopher servers. The fact that items in the sequence of selections might come from different Gopher servers in widely scattered parts of the world is transparent to the user. The Gopher client software presents the many different Gopher servers as if they represented a single application on a single machine. Navigating such menus can lead the user to skip from one Gopher server to another, literally retrieving information from servers scattered around the world in just a few minutes. Items on Gopher menus can be of many different data types in addition to menus listing choices of topics. When an item such as a text, graphics, or sound file is selected, the Gopher client transfers the file to the user's PC. Then, as an option, it may load the file into an appropriate "viewer" selected by the user. A simple text file could be loaded into Windows Notepad. A graphics file in GIF or JPEG format might be loaded into LVIEW, a popular freeware graphics viewer for Windows. A binary program file would simply be downloaded into a designated directory for use at some other time. Finding relevant Gopher menu items is facilitated through the use of Veronica, which is a database of the text of Gopher menus. Most Gopher servers will include Veronica access as a menu selection. ************** WORLD WIDE WEB World Wide Web (WWW) is a system that enables users to find and retrieve information by navigating a system of hypertext documents. In a hypertext document, selecting a highlighted word or phrase causes a new document to be retrieved and displayed. Thus, WWW leads the user to skip from one document to another, retrieving information from servers scattered around the world. Viewing a WWW document with a Windows graphical client such as Cello, Mosaic, Netscape, or WinWeb is similar to reading a magazine. Information is displayed with typographic fonts and color graphics. Unlike a magazine, the static display can be supplemented by sound and video clips that are played by clicking an icon embedded in the document. Clicking on a highlighted word or phrase in the document may cause the reader to skip to another part of the displayed document, or it may cause yet another document to be retrieved. ----------------- TECHNICAL DETAILS It is helpful to know some Internet terminology when working with your local network specialist or Internet service provider to make your PC a host on the Internet. The two common modes of Internet access are through a direct network connection or through a serial connection to a SLIP or PPP server. A direct network connection involves installing a network interface card (NIC) in your PC. Most likely this will be an ethernet card. This card in turn is connected to your organization's local area network. Wiring usually consists of coaxial cable (as in thin-wire ethernet) or twisted pair telephone wiring (as in 10Base-T ethernet). The local network in turn must be connected to the Internet, and it must be capable of handling TCP/IP data packets. TCP/IP (Transmission Control Protocol/Internet Protocol) is the method by which data on the Internet is divided into packets of bytes. Each packet is delimited with header information that includes the destination address where the packet is to be routed when it is transmitted over the Internet. The local network and your PC may also be using other network protocols simultaneously with TCP/IP. For instance, your PC may already be connected to a network using Novell, LANtastic, or Windows for Workgroups network protocols. *************** SOFTWARE LAYERS Several layers of software are involved in implementing a direct network connection. A commonly used method is to first install a piece of software called a packet driver that deals directly with the network interface card. This is loaded under DOS from the AUTOEXEC.BAT file as a TSR (terminate and stay resident) program. A packet driver should be included with the software that comes with the card. If the manufacturer of the card does not supply a packet driver, free packet drivers are available in the Crynwr Packet Driver Collection as described at the end of this document. The next layer of software is the TCP/IP driver, which can be implemented in a variety of ways. Until recently, this was often another DOS TSR program loaded from the AUTOEXEC.BAT file. Increasingly this layer of software is implemented as a Windows dynamic link library (DLL) or virtual device driver (VxD). The DLL and VxD implementations do not require any modification of the boot files on the PC. The TCP/IP driver that implements TCP/IP functionality for the system is referred to as the TCP/IP protocol stack. The driver may be written to work with a specific network card, or it may be written to interface with a packet driver. In the latter case, a single TCP/IP driver can be used with any network card for which an associated packet driver is available. Thus, the packet driver specification eliminates the need for software vendors to customize their TCP/IP protocol stack for every network card with which it is used. When using a packet driver with Windows applications, another DOS TSR referred to as a virtual packet driver may be required to interface between the Windows-based TCP/IP protocol stack and the DOS-based packet driver. When a direct network connection is not available, Internet TCP/IP software can be used over serial lines to connect to a SLIP (Serial Line Internet Protocol) or PPP (Point to Point Protocol) server that provides a connection to the Internet. SLIP and PPP do not require the software drivers that are necessary with a direct network connection. The Trumpet Winsock shareware package to be described later has all SLIP and PPP functions included in the TCP/IP driver, which is configured through a Windows dialog box. SLIP and PPP are less transparent to the user than a direct network connection. The user first obtains an account on a SLIP or PPP server. Connecting to the Internet involves dialing the server using normal serial communications software and establishing a SLIP or PPP session. Once the session is established, TCP/IP software running on the PC can be used just as if the PC was connected directly to the Internet through a network card. SLIP and PPP users are well advised to settle for nothing less than transmission at 14,400 bits per second. World Wide Web especially transmits a great deal of data when images or sound are involved. Slow modems and slow connections will discourage anyone but the most dedicated user from exploring the possibilities of the Internet. TCP/IP client applications work at the top of the layers of software so far described. Client software runs independently of the type of connection to the Internet. TCP/IP applications frequently are referred to as clients because they access a corresponding server (a daemon in UNIX terminology) on another machine. An FTP client, for instance, is the application on the user's machine that accesses the FTP server running on a host computer located elsewhere on the Internet. Until recently, each TCP/IP client had to be written to interface with a particular vendor's TCP/IP protocol stack. Clients that worked with one vendor's TCP/IP driver would not work with a driver from another vendor. This restriction was eliminated with the development of the Windows Sockets Application Programming Interface, otherwise known as the Winsock API, or more simply Winsock. Winsock works in the layer between the TCP/IP client and the TCP/IP protocol stack.