Personal Internet Access Using SLIP or PPP: How You Use It, How It Works Frank Hecker hecker@home.com http://www.hecker.org/ November 21, 1994 (Revised December 7, 1998) (Updated March 10, 1999 with new URL) [I have changed Internet Service Providers since this paper was originally written, and as a consequence I have moved this document from its original location at ftp://ftp.access.digex.net/pub/access/hecker/internet/slip-ppp.txt and have updated my email address; however since the document uses my old email address and related information as part of the examples, to avoid confusion I have left the rest of the document as is.] Copyright 1994 by Frank Hecker. You may freely distribute this document in any form provided only that you retain this copyright notice. This document is available on the Internet at the following URL: http://www.hecker.org/writings/slip-ppp.txt (See the last section if you don't know what a URL is and need more information on how to get an online copy of this document.) INTRODUCTION As the Internet has been increasingly popularized in newspapers, magazines, and books, more and more people are joining or seeking to join the community of Internet users online. Some subscribe to commercial services like CompuServe and America Online that are adding Internet-related features to their existing services. Others purchase accounts on commercial services which provide Internet access as their main offering, or get accounts on "Free-Nets" and other community network systems which offer Internet access as an adjunct to community information. Finally, there is a small but rapidly growing number of people who are connecting to the Internet directly from their PCs or Macintoshes without having to login to larger systems and put up with the hassle of UNIX commands or restrictive menus. In this document I discuss this type of personal Internet access: both how you use it and how it works. I assume that you have a basic understanding of the Internet and the services it supports (e.g., Telnet, FTP, electronic mail, and so on), but that you know very little about TCP/IP, SLIP, PPP, and other obscure acronyms. I also assume that you have either an IBM-compatible PC (386 or better) running Microsoft Windows or an Apple Macintosh running the Mac OS. (Much of the discussion also applies to other PC operating systems such as IBM's OS/2 Warp or Microsoft's future Windows 95.) My goal is not to give you complete step-by-step directions on how to configure your personal computer for connection to the Internet, but rather to provide a conceptual overview of personal Internet access without getting into too many technical details. My hope is that after you finish reading this document you will have a good idea of how personal Internet access works, how SLIP and PPP are used in real life, and whether it makes sense for you to use them. With that end in mind I conclude with some advice on where to go next for more information. The original version of this document was written for the Washington, D.C., area community network CapAccess (the informal name for, and a service mark of, the National Capital Area Public Access Network, Inc.); the paper grew out of my thoughts about the long-term directions for community networks and what part low-cost personal Internet access might play in their evolution. At the time I could not find any non-technical high-level explanation of the concepts behind SLIP and PPP Internet connections; as the poet Muriel Rukeyser said of her biography of the physicist Willard Gibbs, I wrote this document in part because I needed to read it. I'd like to thank the other members of the CapAccess organization for their comments on early versions of this document; I'd also like to thank my fellow employees at Tandem Computers, Inc., for their help and comments. However the views I express herein are mine alone and do not necessarily reflect the official position of either CapAccess or Tandem. Why Bother? Today most people going online first encounter the Internet at one remove; they use commercial services or bulletin board systems which have gateway functions supporting Internet electronic mail and perhaps access to Usenet online conferences. Those who wish to access the Internet more directly have traditionally used a so-called "shell account" service provided by an Internet access provider. (It's called a shell account because you login to a central UNIX host and type commands into the UNIX command interpreter or "shell.") For example, I first obtained personal Internet access through a shell account with Digital Express Group, Inc., of Washington, D.C., one of a number of local internet access providers that have sprung up around the U.S. in the past few years. You use a shell account service much as you might use a BBS, a "Free-Net," or other UNIX-based community network systems like CapAccess (albeit with a few more functions): you use your personal computer (PC or Macintosh) and its modem to login to a central UNIX host, you read and compose electronic mail using a UNIX email program such as Pine or Elm, you read and post Usenet news articles using a UNIX-based newsreader like rn or trn, you retrieve files using FTP and then download them using Zmodem or Xmodem, and so on. For software you use a standard communications program with VT100 terminal emulation and Zmodem download capabilities, such as Procomm or CrossTalk on PCs or Zterm on Macintoshes. Perhaps you have a shell account now, have learned how to use the various Internet-related UNIX commands, and are reasonably satisfied with the service. Why then might you decide to change it? Here are some possible reasons: * You are tired of using UNIX-based programs with their different interfaces (control keys, cursor keys, command lines, and so on), and you want to access the Internet using the same "point and click" interface you use with native Windows or Mac programs. * You want to be able to read and compose email offline, without having to stay logged into the service while you read and wrote long messages. * You want to streamline the process of downloading files and avoid the need for an extra Zmodem or Xmodem transfer after you retrieve something using FTP. * You want to be able to use new graphical Internet applications, most notably Mosaic and the World Wide Web, which are not accessible with the traditional character-based interface you are using now. If any of the commments above apply to you then you should consider getting a so-called SLIP or PPP account. SLIP or Serial Line Internet Protocol is a communications protocol that supports an Internet connection (i.e., using TCP/IP) over a dialup line. There is also a common variant of SLIP called Compressed SLIP or CSLIP; it can be somewhat faster in operation than standard SLIP. PPP or Point-to-Point Protocol is a newer protocol that does essentially the same thing as SLIP or CSLIP; however it's better designed and more acceptable to the sort of people who like to standardize protocol specifications. For the rest of us it's six of one and a half dozen of the other for the most part, and I'll often use the term "SLIP/PPP" to refer to SLIP, CSLIP, and PPP interchangeably. (As I note below, PPP does have some inherent advantages over SLIP and is likely to become better supported and more popular than SLIP and CSLIP in the future. However at present more software and Internet access providers support SLIP and CSLIP. If your software and Internet access provider give you a choice of SLIP or PPP, choose PPP; if not, use SLIP.) USING SLIP OR PPP Setting up and using SLIP or PPP can be much simpler than you might expect. I'll get to the technical details later; instead I'll begin by describing how you might actually use your SLIP or PPP service. (Some of these details may vary slightly based on the type of software you're using and the particular Internet access provider you've chosen.) You start with your PC or Mac already running with its modem turned on and connected to a phone line. First, you invoke the SLIP or PPP application. The SLIP/PPP software asks you for your SLIP/PPP password (which goes with your SLIP/PPP userid--more on this below), and then uses a script to dial the SLIP/PPP access number at your Internet access provider. Your modem dials out, their modem answers, and then the script takes over for a few seconds until the SLIP/PPP connection is established. At that point you can forget about the SLIP/PPP application, and (depending on the software) can minimize it or even close it just to get it out of the way. (Part of it is still running "underneath," however.) Electronic Mail At this point you have a live connection between your personal computer and the Internet. The next thing you might typically do is to start up an Internet email program such as Eudora and ask it to check for and retrieve your electronic mail. Eudora then asks for your mail account password (which goes with your mail account userid). Note that these are a different userid and password than your SLIP/PPP userid and password; I discuss this in more detail below. Eudora then goes out and downloads your mail from your mailbox on the Internet access provider's mail server; this can take from a few seconds to a few minutes, depending on how much mail you've received and how big the messages are. When downloading completes you have all your new mail messages in an email inbox on your PC or Mac. You can then either read your mail or do something else. You might read at least a few messages that look important, and perhaps respond to a couple of them. When you respond, your messages get put in an email outbox for later delivery; they aren't sent right away. Remore Login Using Telnet Suppose that one of the messages is about something on another Internet-connected system (for example, the CapAccess community network system) which supports login access. You can then invoke a Telnet application such as Trumpet Telnet for Windows or NCSA Telnet for Macintosh and connect to the system using its hostname ("capaccess.org" in our example) to check things out. This brings up a 24-row by 80-column screen similar to what you'd get dialing in directly, with a prompt for the login id. You give your userid and password for the system (asssuming that you have one) and then you're logged in and can do all the standard operations supported on that system. Note that this Telnet connection isn't going through either the Internet access provider's UNIX host system or the remote system's phone lines and modems; it's going over the Internet from your personal computer to the remote system (with some hops along the way through IP routers, "black boxes" which pass the traffic through the various networks and subnetworks that make up the Internet). File Transfer Using FTP Suppose that while logged in you read something that refers to an information file that you can FTP from somewhere else on the Internet. Then without closing the Telnet session you can bring up an FTP client application such as WS_FTP for Windows or Fetch for the Macintosh. WS_FTP and Fetch allow you to start a session to a public or "anonymous" FTP site, browse through the directories, and download files using FTP directly to your PC or Mac; download speeds for text and binary files are comparable to those achievable using traditional communications programs and protocols like Zmodem. (Downloading over SLIP or PPP is not always quite as fast, for various reasons too complicated to go into in this paper, but it's fast enough for me and most likely for you as well.) After finishing the FTP session you can go back to your Telnet session and continue. TCP/IP and SLIP/PPP can "multiplex" several connections; that is, several connections can be open at once and can be sending and receiving data, with TCP/IP and SLIP/PPP sorting it all out and transmitting and receiving that data over the single dialup connection to the Internet access provider's SLIP/PPP access point. If you use a personal computer operating system supporting "preemptive" multitasking (like OS/2 Warp or the future Windows 95, for example), you can actually have different downloads going on simultaneously while you run Telnet or other Internet applications. Unfortunately neither Windows or the Mac OS currently support preemptive multitasking, so doing an FTP transfer on those systems can severely degrade performance on a Telnet session; however it works fine to keep multiple applications open for use but otherwise idle, and you can then switch between them as desired. Usenet News If you're really done with your Telnet session you can log out of the remote system and close the link. You might then bring up a Usenet newsreader program such as WinVN for Windows or NewsWatcher for the Mac. WinVN or NewsWatcher connects to the Internet access provider's Usenet news server and then presents you with a list of your currently subscribed newsgroups, together with an indication of how many articles are available in each group. You double-click on a newsgroup you're interested in checking, and WinVN or NewsWatcher downloads the list of current postings in the group by subject. (NewsWatcher also knows about "message threads," so if multiple postings have the same subject it only shows me one line in the listing of articles.) You then double-click on the line corresponding to a posting (or thread) you want to read, and WinVN or NewsWatcher downloads the text of that posting and puts it on the screen in a window. More double-clicking lets you advance through the newsgroup article by article, marking articles as having been read as you download and read them. You can also compose and post follow-up articles or new articles, which are uploaded to the Usenet news server immediately. If you don't read all articles in a newsgroup or get through all newsgroups, you can look at them later when you next use WinVN or NewsWatcher. You can also mark articles as having been read without downloading them, in case the subject line indicates that you would likely have no interest in them. Gopher and World Wide Web Thus far in this example I've discussed electronic mail (Eudora), Telnet (Trumpet or NCSA Telnet), FTP (WS_FTP or Fetch), and Usenet News (WinVN or NewsWatcher). You may also have Hgopher or TurboGopher, Gopher client programs for Windows and the Macintosh respectively. HGopher and TurboGopher allow you to get exactly the same information accessible via a so-called "VT100" Gopher client (as found on many Internet hosts), but with the following advantages: you can use a point and click graphical interface; you can save Gopher files directly to your PC or Mac (as opposed to saving them in a host UNIX directory and then downloading them); and you don't have to login to a UNIX host first. Finally, you can use the much-heralded NCSA Mosaic program (or one of its many variants or look-alikes) to explore the World Wide Web with full access to multimedia information including formatted multi-font text, graphics, sound, movies. If you do, you will soon find that using Mosaic over a 14.4 kbps dialup line is often not nearly as exciting as the hype would suggest. Mosaic typically takes a minute or more just to bring up a single page of information because of the embedded graphics included in most WWW data. (You can tell Mosaic not to download the graphics images, but then what's the point?) Thus using Mosaic over a 14.4 Kbps connection can be as frustrating as trying to eat ice cream through a straw; but it's still fun to play with, and there are many new information sources that can be accessed only through the World Wide Web and a WWW client program (or "browser") like Mosaic. Finishing Up While you've been doing all the things above TCP/IP and SLIP or PPP have been running quietly underneath, supporting your connection on the dialup link. After a while you figure it's time to save your pennies and cut the connection. (Most Internet access providers give you a number of "free" hours per day or per month--i.e., included in your basic monthly rate--but these can go fast, especially if you're like me and you connect at least two or three times a day.) You remember you still have electronic mail messages in your Eudora outbox, so you go into Eudora and tell it to send all outgoing mail. It uploads the messages to your Internet access provider's mail server, which then will take care of sending them on to their final destination. Having finished all your online stuff, you go back to the SLIP or PPP application and tell it to disconnect. At that point you lose all the fancy functionality like Mosaic, FTP, etc. However you can still read your electronic mail in Eudora, compose replies, and queue them for delivery the next time you connect. What You Get with SLIP or PPP In summary, here's what you get if you have a SLIP or PPP account: * You have dialup Internet access using a special dialup number and a userid and password associated with that access. * You can run a wide variety of applications over the dialup link to implement traditional Internet services such as electronic mail, FTP, Telnet, and Usenet news, as well as newer services like Gopher and Mosaic/WWW. * Using some Internet services (e.g., electronic mail) may require that you have additional userids and passwords assigned to you by your Internet access provider. Other services do not require this; that is, they are either inherently anonymous in nature (e.g., anonymous FTP, Gopher, Mosaic/WWW) or involve separate arrangements with other organizations (e.g., Telnet to a remote Internet host like CapAccess). * Most of these services can only be used while the dialup Internet connection is active. However with others (most notably electronic mail) you can do at least some things offline. (Although it's not mentioned above, there's no reason in theory why some of the Usenet news reading process couldn't be done offline; neither WinVN or NewsWatcher implement this at present, but there is a Macintosh newsreader called NewsHopper that supports offline news reading.) HOW IT ALL WORKS Having told you how you can access the Internet directly from your PC or Macintosh, I'd like to go now into more detail about what's going on "behind the scenes." My apologies for the level of technical detail; I've tried to keep it to the minimum necessary to make my points. (Although I can't resist continually returning to a good extended analogy, as you'll see.) Let's start with what "being on the Internet" really means. For your PC or Macintosh to be "on the Internet" in the sense that I'm using the term, the following three things must be true: * Your PC or Macintosh has software which can send and receive data using the TCP/IP family of communications protocols. * Your PC or Macintosh has some sort of communications link to an Internet access point from which data it sends can go out over the Internet to other systems, and by which data sent from other systems on the Internet can be sent to your PC or Macintosh. * When connected in this way, your PC or Macintosh has an identifying number (called an "IP address") which other systems use in sending data to your PC or Macintosh, and by which your PC or Macintosh identifies itself when sending data to other systems. For those who really want to know, "TCP/IP" stands for Transport Control Protocol/Internet Protocol (which are really two separate protocols that work together), and is a shorthand name for a specific way of packaging up data for transmission over a communications link. TCP/IP is roughly analogous to protocols like Kermit or Zmodem which package up data for downloading or uploading over "normal" dialup connections (e.g., to a BBS). However you really don't need to know the details of TCP/IP, any more than you need to understand how telephone line signaling works in order to call someone on the phone. In fact, this is a good analogy if you think about what it means to be "on the public telephone network" and use local or long-distance phone service: * You have a device (i.e., a telephone) which can send and receive data (i.e., the sound of voices) using some sort of low-level magic (which you don't really worry about). * Your phone has a communications link (phone line) to an access point (your local telephone central office) through which your phone can connect to other phones anywhere in the world (and vice versa). * When connected in this way, your phone has an identifying number (your phone number) which other phones use in connecting to your phone, and by which your phone is identified when connecting to other phones (as with Caller ID). The three elements common to both cases are thus as follows: * you have an end-user device which has the smarts to "talk" in a certain way; * you have a link to an access provider over which your device can "talk" with other devices of the same or similar type; and * your device has an identifying number or address used when your device "talks" to other devices and vice versa. If it's that simple, why has connecting to the Internet using SLIP or PPP traditionally been so hard for individual users? Because doing so has been like trying to get phone service in an environment where you have to build your own phone, you have to search far and wide to find a phone company you can connect to (and may not have one at all in your area), and you have to pay a big premium for service if and when you find a service provider. Fortunately this situation has improved tremendously in the past few years (and even in the past few months), and we may be well on the way to having personal Internet access be as easy to get and use as residential phone service is today. Making Your PC or Macintosh Internet-Capable Let's go back now and analyze what's happening in the example above of connecting your PC or Mac to the Internet using SLIP or PPP. First, let's discuss what you need to make your PC or Macintosh Internet-capable. As noted above, you start with a PC or Macintosh system with a 14,400 (or better) bps modem. (Theoretically you can use a 9600 or even 2400 bps modem, but with SLIP or PPP a faster modem will really make a difference, especially with applications like Mosaic. Using one of the newer 28.8 Kbps modems would be best, but many Internet access providers do not yet support their use.) Assuming that you already have a PC or Mac, you can add a new 14.4 Kbps modem for as little as $100 to $150 (U.S.) or so, depending on the modem's brand, whether the modem is external or internal, and so on. For example, early in 1994 I bought a Practical Peripherals 14,400 bps external modem for $140; in 1990 I paid almost $500 for an earlier Practical Peripherals modem that supported a maximum speed of only 9600 bps. To the modem you must add the requisite TCP/IP and SLIP/PPP software. Many such products exist for PCs; some of these products are freeware while others cost money. For example, the Chameleon Sampler from NetManage, a freeware TCP/IP and SLIP product for 386 or better PCs running Windows 3.1, is included in several Internet books now on the market. (See below for references.) Another popular TCP/IP and SLIP product for Windows is the shareware Trumpet Winsock by Peter Tattam. In Windows 95 or "Chicago,", the major release of Windows due out in 1995, Microsoft will be including TCP/IP and PPP capability in the base operating system. At that point you'll get TCP/IP software at no extra cost if you buy a PC with Windows 95 preloaded. (You'll be able to get it for older PCs by buying Windows 95 separately as an upgrade to Windows 3.1.) IBM has adopted a similar course of action for its just-released new version of OS/2, known as OS/2 Warp version 3 or Warp for short. Designed to be installed on 386 or better PCs running Microsoft Windows, Warp includes TCP/IP support using SLIP, as well as OS/2 client programs for Internet services such as email, Telnet, FTP, Usenet news, Gopher, and the World Wide Web. These programs are comparable to the Windows and Mac Internet programs mentioned above; if you wish you can also run Windows Internet programs under Warp as well. TCP/IP software for Macintosh systems comes in two parts: First comes a product called MacTCP supplied by Apple; MacTCP is the standard TCP/IP product for all Macs. Then comes software to implement either the SLIP or PPP protocols that MacTCP needs to support TCP/IP over dialup links. For example, I use the free InterSLIP software from InterCon Systems Corporation; MacPPP is a comparable free product for PPP. MacTCP itself is not freeware, but you can get it (along with InterSLIP and/or MacPPP and related stuff noted below) by buying either of the books "Internet Starter Kit for Macintosh" by Adam Engst or "The Mac Internet Tour Guide" by Michael Fraase. (See below for a list of references.) Also, Apple is including MacTCP in the new System 7.5 version of the Mac OS, so if you buy a new Macintosh you'll get TCP/IP software at no extra cost whatsoever. (You can also get MacTCP for older Macintoshes by buying the System 7.5 product as an upgrade, although if you don't need the other System 7.5 features you'll save money by buying MacTCP as part of Engst's or Fraase's books.) I should add that the wide availability of relatively cheap TCP/IP software for Macs and PCs is a recent phenomenon. Traditionally TCP/IP software has been seen as of interest only to businesses running in-house local area networks, and TCP/IP products cost as much as $400 or $500 per PC or Macintosh. TCP/IP software is still this expensive in many cases if you need true LAN capabilities, but software vendors have woken up to the rapidly growing market for individual use of TCP/IP over dialup lines to access the Internet. Thus many commercial TCP/IP software packages have dropped in price to $200 or less, at least for the basic capabilities needed for personal Internet access using SLIP or PPP.. As noted above, over the next year or so this cost will drop further to zero for basic Internet functionality; that is, at some point TCP/IP and SLIP and/or PPP capability will be bundled with the base operating system software shipped with every new PC or Macintosh. At that point the only incremental cost to make your PC or Macintosh "Internet-capable" will be for the modem itself, which many if not most people who buy computers will be buying anyway for other reasons--for example, to connect to BBSs or to commercial online services such as America Online, CompuServe, or Prodigy. Some final notes on software compatibility: There are a number of potential compatibility problems in configuring software "stacks" consisting of the base TCP/IP software, network drivers underneath, and Internet applications on top; this has been especially true when mixing and matching software from different sources. Fortunately these problems are not really an issue in the Macintosh world today, and are rapidly becoming a thing of the past in the PC world (at least for people using Windows or OS/2 Warp). As noted above, in the Macintosh world Apple is the only major supplier of the basic TCP/IP software, in the form of the MacTCP product. All Macintosh Internet applications are thus written to interface to the MacTCP software, so compatibility problems are kept to a minimum. Most of the problems that do occur are connected to the particular revision of MacTCP being used with a given application on a given Mac; almost all current Mac Internet applications work best with the current version of MacTCP. (The recommended revision of MacTCP at the time of writing is 2.0.4.) In the Windows world the compatibility problem has not yet been totally solved but it has been alleviated to a great degree by the development of the "Windows Sockets" or "Winsock" standard and the implementation of TCP/IP products that conform to it. The Winsock standard specifies the interface between Windows-based Internet applications (e.g., Telnet and FTP) and the TCP/IP software underneath them. Thus for example, since NCSA Mosaic is a Winsock-compliant application, you can run it over either NetManage's Chameleon TCP/IP software or Peter Tattam's Trumpet Winsock software. Both these products provide a WINSOCK.DLL run-time library that implements the Winsock interface; the WINSOCK.DLL file is different for each TCP/IP product, but the interface provided to applications running above the TCP/IP software is always the same--at least in theory. The de facto TCP/IP standard for OS/2 is the IBM product bundled with OS/2 Warp, and all native OS/2 Internet applications should be written to its interface. OS/2 Warp also supports a Winsock interface for Windows-based Internet programs running under OS/2. (Windows 95 will also support the Winsock interface.) Connecting to the Internet As described above, you can make your personal computer Internet-capable by installing the proper TCP/IP and SLIP software on your modem-equipped PC or Macintosh. Your next step is to sign up with a service provider who can give you a SLIP or PPP connection to the Internet. (For example, in my case I got a so-called "Personal IP" account with the D.C.-area company Digital Express Group, Inc.). Your Internet access provider will supply you with at least three things (actually more, but we'll get to that): a dialup SLIP/PPP access phone number to have your modem connect to, a personal "SLIP/PPP userid," and a personal password to go with the SLIP/PPP userid. The SLIP/PPP userid is typically some arbitrary string like "xx537", and the password is like a standard login password for a UNIX system or BBS. Let's assume that you've configured your SLIP/PPP software with the dialup SLIP/PPP access phone number and your SLIP/PPP userid, as well as the other information we discuss here and below. (The exact details of how to do this configuration vary depending on your TCP/IP software and your Internet access provider; see the references below to sources of information for particular packages.) You now direct the software to call up the SLIP/PPP phone number using your 14,400 bps (or other) modem. The call is answered by a corresponding modem at the other end (like the ones used by BBSs). That modem is typically connected in turn to a SLIP- or PPP-capable "terminal server," a black box that takes the data coming from your PC or Macintosh over the dialup line and retransmits it to your Internet access provider's local area network, which is in turn connected to the Internet using an "IP router" (another black box you don't have to worry about). This terminal server is similar to the ones used on many college campuses and at many Free-Nets and other community networks like CapAccess to connect users from dialup modems over a LAN into the actual UNIX host system they login to. The main difference is that the SLIP- or PPP-capable terminal servers (more generally known as "remote access servers") have an extra capability which lets them pass "raw" TCP/IP data through from your PC or Macintosh to the Internet. In fact, when you first connect to your Internet access provider's modem and remote access server, it can look very much like logging in to a remote UNIX system, particularly if you're using SLIP. (That's if you were looking at the conversation, which typically you don't--login is normally handled by an automated script). One of the first things you would see would be a prompt for a userid, at which point you (or the script) would enter the special SLIP/PPP userid. You would then see a password prompt, in response to which you (or the script) would enter the SLIP/PPP password. (The SLIP or PPP software on your PC or Macintosh would typically prompt you for your password if you hadn't supplied it with the rest of your configuration information.) On a BBS or UNIX system you'd next see the opening screen and menu or a UNIX prompt. However with a SLIP or PPP connection your software and the remote access server now go into a special mode where they start exchanging TCP/IP data. This is somewhat reminiscent of what happens when a communications program is in download or upload mode, and if you looked at what's actually going across the dialup line it would look pretty much like garbage with a few recognizable bits mixed in. However you don't actually see the garbage because the SLIP or PPP software doesn't bother showing it to you; it just tells you that the connection has been made and then shuts up. A couple of important points to note: First, having made the SLIP or PPP "connection" you really aren't logged in to any host; you just have the capability to send data out over the Internet. To continue with our telephone analogy, you've plugged in your "phone" and have "Internet dial tone" but you haven't called anybody yet. Second, you might ask why you need a userid and password if you're not actually logging in to anything? Because your Internet access provider wants to be able to bill you for the time you spend connected to the Internet through their remote access server, and to do this they need an id of some sort to know that it's you connecting. You in turn need a password so that no one else can connect to your SLIP/PPP remote access server and bill time to your account. You can think of this userid/password combination as your "Internet calling card number" and associated Personal Identification Number or PIN. For those really into the bits and bytes, an interesting technical question is: How does the remote access server check your SLIP/PPP userid and password and then account for your connect time? The answer is that it either checks your userid and password against an internal database held in non-volatile memory on the remote access server itself, or it sends the userid and password to a real computer system to be checked against a userid/password database on disk. (For some modern remote access servers this can be done using the "Kerberos" authentication protocol invented at MIT; Kerberos has the advantage that your password is sent over the network in an encrypted form, which decreases the likelihood that someone might intercept it and use it to gain unauthorized SLIP/PPP access.) If the SLIP/PPP userid checks out, the remote access server (if it has this capability) then sends a "start of call" record to a real computer system to be stored in a log (many remote access servers use the UNIX "syslog" protocol for this); a similar "end of call" record is sent when the modem connection ends (i.e., the user disconnects). These two records together enable the Internet access provider to compute the time and length of the SLIP or PPP session for billing purposes. Again, this is all quite similar to the way long-distance calling cards work. The analogy extends even further: if you always made the connection from the same phone, then your Internet access provider could theoretically use Caller ID or similar mechanisms to know that it was you calling, just as you don't have to enter a calling card number to dial long distance from your home phone. However, just as you might make long distance calls while on the road, you might connect your modem to different phones, for example if you have a laptop; having a separate SLIP/PPP userid and password is necessary to handle this case. There's another crucial piece I've left out so far: the IP address, your "Internet phone number." For example, my Internet access provider assigns me my very own IP address (mine is 164.109.211.201, in case you're curious); an IP address is the fourth piece of initial information you may be given when you sign up, along with the three I've already mentioned: SLIP/PPP dialup access number, SLIP/PPP userid, and SLIP/PPP password. Many remote access servers also have the ability to assign callers an IP address "on the fly;" the address picked is displayed during the login sequence and the TCP/IP software on your PC or Mac then picks it up and uses it. When you dial up the next time, you might get a different IP address. This is not as confusing as you might think, as it turns out that for various reasons (discussed later) it really doesn't matter what your IP address is, as long as you have a valid connection. The theory behind doing this dynamic assignment of IP addresses is that it lets the Internet access provider use a limited-size pool of addresses to serve a much larger number of people. After all, people only need the address when they're connected to the modems and remote access server, so the Internet access provider really doesn't need to supply any more IP addresses than it has dialup SLIP/PPP ports. However I prefer the way my Internet access provider does it. For one thing, it's much easier to understand, especially using the phone number analogy. For another, the IP address is often used by remote systems to identify who's connecting to them over the Internet, just as people use Caller ID to identify who's phoning them. (Using the IP address for authentication in this way is not totally secure and fool-proof, but then neither is Caller ID for that matter.) With "on the fly" assignment you might get a given IP address at one point, and after you disconnect from the service someone else could get the same address a few minutes later. Finally, sometimes the dialup connection will be lost during an Internet session (for example, because of line noise). Because of the nature of the TCP/IP protocols, if you have a fixed IP address you can often recover the session simply by reestablishing the dialup SLIP or PPP link; this is not possible if your IP address changes each time you connect. To summarize: after you sign up with an Internet access provider and connect to their SLIP/PPP terminal server you will be directly "on the Internet" (or have "Internet dial tone" if you will), having fulfilled the three conditions we discussed above: * With the help of a modem and low-cost TCP/IP software you have an "Internet-capable" PC or Macintosh. * You've established a TCP/IP over SLIP (or PPP) connection to your Internet access point. * You have an IP address or "Internet phone number" and are ready to "make calls;" that is, to connect to other systems and make use of Internet services. This has been a long section and we still haven't gotten to the point of doing anything really useful. But have patience; believe me, even telephone dial-tone would seem this complicated if you really looked "under the hood." In fact, just a few years ago (before "equal access") getting long-distance phone service in the U.S. through a non-AT&T carrier such as MCI was also pretty complicated; some may remember when you always had to dial a special access number and enter your personal access code before you could dial a long-distance number using a long-distance company other than AT&T. Electronic Mail At the end of the last section we'd gotten to the point where your computer had "Internet dial tone:" it had established a TCP/IP link to the SLIP/PPP-capable remote access server of your Internet access provider, and was now ready for you to do useful work (or "make some calls," to continue our telephone analogy). If you recall, the first action in our example session above was to check your electronic mail using Eudora, an email program available for both Windows-based PCs and Macintosh systems. In an earlier incarnation (release 1.4) Eudora is a freeware program; for example, I got a copy of Eudora 1.4 for Macintosh from Adam Engst's "Internet Starter Kit" book mentioned above. Eudora is now also available in a commercial version (release 2.1) with somewhat more functionality (like mail filters) and formal technical support; I recently bought a copy of Eudora release 2.1 for $65 from Qualcomm, the vendor that sells and supports it. However, before I explain how Eudora works, I have to digress for a moment and talk about Internet electronic mail. Traditionally Internet users have logged in to multi-user systems which are connected to the Internet 24 hours a day. When users send mail (say from "jdoe@capaccess.org" to "rroe@agency.gov") the messages are transmitted (almost) immediately over the Internet from the originating host ("capaccess.org") to the receiving host ("agency.gov") and then are put in the mailbox for the recipient ("rroe"). (Incidentally, the low-level protocol used to send messages between Internet electronic mail hosts is called SMTP, for Simple Mail Transfer Protocol.) At some later time the recipient ("rroe") logs into the receiving mail host and then reads the mail messages out of their mailbox using a mail program such as Pine or Elm. They can also compose new messages, which are then sent to the recipient's mail host as described above but in the reverse direction. Note that the user has to stay logged in to their mail host during the entire time they're reading messages and composing new ones. For example, this method is how I used to read and compose mail using my Internet shell account: I would login to my Internet access provider's host system ("access.digex.net") and use the UNIX-based Pine program to read and respond to electronic mail. However, if your computer can be linked to the Internet more directly then you would probably prefer to read and compose mail on your PC or Mac itself and then send mail or receive it over your Internet connection. As I mentioned above, when connected to the Internet using SLIP or PPP, your PC or Mac will have its own Internet address and may even have its own hostname. (For example, when connected my Mac has the Internet address "164.109.211.201" and the Internet host name "ion.digex.net". I'll discuss how Internet hostnames work in more detail below when I talk about FTP.) Unfortunately, though, you typically can't use the traditional SMTP mail protocol, at least to receive mail. Why not? Because mail sent using SMTP is sent directly to the recipient host, which in this case would be your PC or Macintosh, and your PC or Mac would have to be on the Internet to receive it; otherwise the sending host would not be able to make an SMTP connection. But because you are connected to the Internet using an intermittent dialup SLIP/PPP connection, there's no guarantee that your PC or Mac would be online at the exact time the sending host wanted to send the message, and thus you could end up not receiving messages sent to you. (The sending host will in fact periodically retry sending mail messages if it cannot connect to your computer the first time. However the sending host does not retry forever, and if it cannot connect successfully within a given time period, say three days, then it will give up on delivering the mail. If your computer is connected to the Internet only for brief periods during those three days then it is quite possible that the sending host will never be able to connect to it.) The problem is even worse if your PC or Mac does not have a permanently-assigned Internet address, but instead is assigned one "on the fly" when you connect to your Internet access provider; typically in this case your PC or Mac does not have a permanently assigned hostname either, and thus someone attempting to connect to your PC or Mac using SMTP would not know which hostname or address to use. Going back to our telephone example, sending Internet electronic mail to you in the traditional manner (i.e., using SMTP end-to-end) is somewhat like leaving a message for you on your personal answering machine: people can call your phone number 24 hours a day and count on the fact that your answering machine will almost always be turned on and ready to record messages. But in the case of SLIP or PPP your "Internet phone number" (IP address) will be active only part of the time (when you're connected to your Internet access provider via SLIP or PPP and have "Internet dial tone") and your "answering machine" (your computer) won't always be turned on and ready to receive your messages. If in addition your PC or Mac is assigned an Internet address only upon connection then you don't even have a permanent "phone number" by which others can contact you. The solution to this problem is very simple: have another Internet-connected system (a "mail server") receive your email messages for you, and then when you're connected to the Internet download your mail messages from that system to your PC or Mac. Continuing the answering machine analogy, this arrangement is similar to what many U.S. phone companies provide via services like Bell Atlantic's Answer Call; in place of your having your own answering machine, the phone company provides a voice mailbox for you somewhere in their network and callers to your number can leave messages in that voice mailbox. You can then periodically call a special phone number associated with the voice mailbox service, punch in your access code, and listen to your messages. For example, in my case rather then sending email to "hecker@ion.digex.net" (recall that "ion.digex.net" is the hostname of my Macintosh) people send email to "hecker@access.digex.net", where "access.digex.net" is the name of the mail server run by my Internet access provider; this system runs 24 hours a day and has a permanent Internet connection. Once I dial up my Internet access provider and my SLIP connection is active I then have Eudora connect to the host "access.digex.net" over the Internet and download any messages I've received since last I connected. The specific protocol used to do this is not SMTP but is another protocol called Post Office Protocol or POP for short. In particular Eudora and my provider's "access" system use POP3, the third and most recent version of this protocol. In technical jargon the system "access.digex.net" is thus a POP3 mail server. As noted in the original example of an Internet session, you also have to supply Eudora with a "mail userid" and associated password; Eudora then passes on this userid and password to the mail server when connecting to it using POP. If there were no userid or password, then anyone else on the Internet could connect to my Internet access provider's mail server and download my mail. As it happens, in my particular case the system "access.digex.net" that acts as a POP3 mail server happens to be the same system that supports users logging in to shell accounts; this is true for many other Internet access providers as well. If your access provider does this then your mail userid and associated password would be the exact same ones you would use when logging in to the provider's system itself as a user of an Internet shell account. (In my case this single userid is "hecker".) If you are upgrading to SLIP or PPP from a shell account then this makes for a smooth transition from the old way of doing things (e.g., using Pine or Elm with your shell account) to the new way (e.g., using Eudora over SLIP or PPP); your electronic mail address will remain the same (in my case "hecker@access.digex.net" or userid "hecker" on host "access.digex.net") and you don't have to choose a new password for use with Eudora if you don't want to. Also, with many providers if you ever want or need to you can still dial up your provider's host in the old way (i.e., using a VT100-compatible communications program instead of SLIP or PPP) and login and read your mail using a UNIX-based mail program like Pine or Elm. This is possible because the mailbox format used by the host-based POP server is the same standard UNIX mailbox format used by almost all UNIX host-based mail programs. (Unfortunately some providers make it harder for you to do this because they consider shell accounts and SLIP/PPP accounts totally separate services and require you to pay full price for both if you want to use them interchangeably.) However, your mail userid and password are not necessarily the same as the SLIP/PPP userid and password that I've previously mentioned; that's because these are associated with two fundamentally different services provided in two fundamentally different ways. SLIP/PPP access is a low-level communications service accessed by dialing up a SLIP/PPP-capable remote access server; POP email access is a higher-level service accessed by connecting over the Internet to a POP3-capable host system (mail server). Thus if you get a new SLIP or PPP account from an Internet access provider you may well receive an email (POP) userid and password separate from and in addition to your SLIP/PPP userid and password. There are exceptions to this. Some smaller Internet access providers do not have separate remote access servers but rather connect modems directly to serial lines on their UNIX host systems and support SLIP or PPP access using software running on those systems. (This host-based software may be either traditional SLIP or PPP software or SLIP-derived software like the new product The Internet Adaptor; see below for more information about TIA.) In this case a user--or more correctly, their SLIP or PPP software executing an automated login script--would login to the host system using a single userid and password and would then invoke a special SLIP or PPP command to convert the session into a SLIP or PPP connection. Eudora or other POP3 mail programs would then use this same userid and password to download mail. Some providers may also wish to provide users with the convenience of having a single password for all services. In this case they could simply arrange that the SLIP/PPP userid and password used by the remote access server be the same as the userid and password used by the POP3 mail server. For example, the national Internet access provider Netcom does this for their NetCruiser service. Suppose that you had a full-time hard-wired Internet connection in your home (for example, like those promised to be provided by some cable companies in the U.S.). You could then have "Internet dial tone" all the time and you wouldn't need a dialup protocol like SLIP or PPP to connect. You also wouldn't need the equivalent of a SLIP/PPP userid and password; as I discussed previously, their main use is for authentication and billing for Internet access, and the cable company already has a perfectly good way to bill you for cable-based services. However you might still want the cable company to store your incoming electronic mail messages for you, perhaps because you don't want to keep your computer turned on all the time. In this case you could use Eudora and POP to connect to a remote mail server, just as as you would over SLIP or PPP, and you would still have to have a mail userid and password supplied to you by the cable company in its role as an Internet access provider. Continuing the answering machine analogy, having an electronic mailbox accessed using POP can thus be viewed as a value-added option to a basic Internet connection, just as having a voice mailbox through Bell Atlantic's Answer Call and similar services is a value-added option to a basic phone line. This also implies that email service could be "unbundled" from basic Internet service; for example, you might have a basic Internet connection but no electronic mail service, or you might get basic Internet service from one service provider and an electronic mailbox service from another. As it happens, I don't know of any Internet access provider that currently unbundles POP-based email in this way. However as competition heats up in the Internet access market, some companies may choose to further break their current services down into standard and optional offerings, in order to offer the lowest entry-level price possible. There may also be a market niche for companies providing SLIP/PPP service only, with customers expected to arrange for electronic mail service on their own; some non-profit Internet cooperatives do business this way today. Back to Eudora: As I've mentioned, once Eudora has downloaded your incoming email messages to your PC or Mac you can then read them at your leisure; you don't need to maintain the Internet SLIP connection to do this. What about sending messages? Here again you don't need to be connected in order to compose messages, but (it almost goes without saying) you do need to be connected in order to send them. As it turns out, for historical reasons (a fancy way of saying "that's just the way it is") the POP protocol is not used when sending electronic mail messages. Instead Eudora uses the SMTP protocol I discussed earlier, but with a twist. In "SMTP classic" the sending host (your PC or Mac) typically connects directly to the receiving host (say "whitehouse.gov", if you're sending a message to Bill Clinton or Al Gore). However the receiving host might be down or unreachable due to some Internet problem, so that Eudora would not be able to send the message and would have to postpone its transmission to a later time, say a few hours later. However Eudora typically doesn't make this connection on its own (although there is a way to configure this in some cases); you simply reestablish the SLIP or PPP connection at a later time and then command Eudora to send out any messages in its outbox. This is rather inefficient; why should you have to go to all the trouble of remembering to reconnect periodically to your Internet access provider? (Even if Eudora were to reconnect automatically, you'd still need to leave your PC or Mac turned on and plugged into the phone line.) Instead what typically happens is that Eudora uses the SMTP protocol to send your message to your Internet access provider's mail server. The server then uses SMTP again to send the message on to its final destination. If the mail server can't do so right away it will keep trying until it succeeds; meanwhile you can disconnect your PC or Mac and not worry any further about it. You may have noticed that I didn't say anything about userids and passwords when sending mail. That's because the mail server doesn't authenticate you in any way when you use Eudora (or another POP client program) to send mail via this method; instead you just tell Eudora to upload the message and the email server accepts it. You might then ask, "Doesn't this mean that someone else can send fake electronic mail under my name?" For this and other reasons, the answer is yes, they certainly can. As it happens, it is almost trivially easy to send forged Internet mail, and has been ever since Internet mail began. (This is why, for example, you should be very skeptical if you ever get a message purportedly from your Internet access provider telling you that you need to change your password to "k00l/d00d".) There are well-known ways to solve this problem, but they haven't been implemented because they depend on encryption and related technologies and their implementation in the Internet has been held hostage to the same sort of disputes we've seen in the infamous "Clipper chip" controversy. (I don't want to rehash this whole issue here, but I do want to point out the basic underlying problem. In the "market" that is the Internet, the most successful "products" are based on technologies that are available worldwide and that are in the public domain or otherwise freely usable. Exporting encryption technology from the U.S. is legally restricted because of national security concerns, and "public key" encryption, the most useful type for electronic mail, is covered by a software patent in the U.S. Thus there are at least two major obstacles to creating a world-wide standard for secure Internet mail--yet another example of how once obscure policy issues can eventually come to affect all of us.) Usenet News That's about it for electronic mail. The case of Usenet news (online conferences) is somewhat similar and worth covering at this point. Again, we need to digress for a moment and talk about how Usenet news works underneath. Usenet is not a communications network per se but rather a loosely-organized collection of host systems which exchange conference articles with each other. (In this sense Usenet is analogous to FidoNet in the PC BBS world, and in fact there are gateways between Usenet and FidoNet.) When a conference article is submitted (or "posted") on one system it is then sent on to one or more other systems, which then send it on to others, and so on (rather like a chain letter) until all Usenet hosts receive it. Once an article is received at a host it is stored for people to read it. There are several thousand Usenet conferences (or "newsgroups") and several thousand Usenet hosts around the world. Thus as you might imagine a lot of traffic flows through the system every day, so much so that a typical Usenet host system stores only the last few days worth of articles. If you want Usenet access from your personal computer there are at least three possible ways to get it. First, you could have your PC or Mac be a full-fledged Usenet host and receive all conferences; this is pretty much out of the question for most people, given that the daily flow of traffic runs to multiple megabytes and you'd need a lot of connect time each day to receive all the articles. (In fact, at 14,400 bps and lower speeds you might not even have time to download all the day's traffic by the end of the day.) Second, you could have your computer be a Usenet host but receive only a few newsgroups; this is a much more reasonable thing to do, and you can get software for both Macs and PCs to do it, but you'd still be downloading every article in every newsgroup you chose to receive, even articles of little or no interest to you. The third alternative is the most common (and is what I use): connect to a remote Internet host acting as a "news server;" this host ("news.digex.net" in my case) receives all Usenet newsgroups and stores all articles for as long as it can without running out of disk space. Assuming that you have an Internet SLIP/PPP connection active, you then have your Usenet newsreader application (e.g., WinVN or NewsWatcher) connect to the news server over the Internet and download the list of articles (i.e., by subject line) in each newsgroup. You then pick which articles you want to read and have WinVN or NewsWatcher download only those articles; the rest are left unread (at least by you) on the news server. Conceptually this process is quite similar to using a POP mail server as described above. As with mail there is a special protocol, NNTP (Network News Transfer Protocol), which WinVN or NewsWatcher and the news server use to talk to each other. However you don't typically have to supply a userid or password when reading and posting news. You do have to tell WinVN or NewsWatcher your email address ("hecker@access.digex.net" in my case) because this is used to mark articles you post as coming from you; the email address is also needed when you send mail to someone in lieu of posting a reply to the newsgroup. However this information is not used to authenticate you to the news server in any way. You might ask, can anyone on the Internet then use WinVN or NewsWatcher (or other NNTP client programs) to read and post articles from and to your Internet access provider's news server? There are some news servers on the Internet for which this is true; using these "public NNTP sites" anyone can read or (in some cases) post Usenet news articles. (And I might add, by using these servers as well as through other means it is possible to send forged Usenet postings under another's name, similar to what can be done with Internet mail.) However typically your Internet access provider's news server will not accept requests from anywhere on the Internet; it will only accept requests from IP addresses and hostnames that it knows about, that is, those that represent valid subscribers to the provider's SLIP or PPP service. For example, since my Mac has an IP address and Internet hostname assigned by the Internet access provider when I signed up, my provider's news server will recognize me as a valid user. Thus IP address and hostname are again used as a useful (albeit not totally secure) means of authenticating users. (Some news servers do authenticate users using a userid and password as well.) The final point I want to make about Usenet news is that, like access to a mail server, access to a news server is a value-added service over and above basic SLIP or PPP Internet access and could in theory be unbundled as well, so that you might have a basic Internet connection with no mail or Usenet news service at all, an Internet connection and mail service but no Usenet news service, or Internet service, mail service, and news service from one, two, or even three providers. (Again, most present-day Internet access providers do not in fact unbundle services in this manner.) Accessing Other Internet Services With both electronic mail and Usenet news it's not enough just to have a SLIP or PPP Internet connection; you also need to have access to a special Internet host or hosts acting as mail or news servers respectively. This access is usually prearranged with some organization, typically the Internet access provider itself. However there are many other services for which you need only a basic Internet connection. The first example is using anonymous FTP to download information files or shareware. FTP programs such as WS_FTP or Fetch will ask you for the name of the host I wish to connect to. Some magic then happens to convert the hostname to an IP address (analogous to looking up a phone number) and the connection is made, after which you can download files. The FTP site doesn't ask for an individual password, and doesn't really care who you are. Well, this is almost true. First, all FTP sites ask for some sort of password even if they don't care what it is, and for anonymous FTP sites WS_FTP and Fetch can be configured to send your email address (e.g., "hecker@access.digex.net" in my case) as the password as a courtesy in case the FTP site is logging access for some reason and wants to record this information. Second, as a mild security measure many FTP sites will check to make sure that the Internet address from which you're connecting (i.e., the IP address of your PC or Mac) matches the Internet hostname associated with the IP address. In telephone terms this is like getting the phone number of a caller via Caller ID and then looking in a reverse or "criss-cross" directory to find out their name. Hostnames and DNS This is probably as good a place as any for a brief digression on Internet hostnames. As implied earlier, Internet hostnames (like "capaccess.org") are to IP addresses ("128.164.140.32") as people's names are to their phone numbers, and in fact there is a "directory assistance" service to do automatic lookups of IP addresses corresponding to a given hostname and vice versa. This automated service is referred to as Domain Name Service or DNS, and is silently invoked by your Internet-capable PC or Mac every time you give it an Internet hostname to connect to. The lookup is done by querying a special Internet host called a DNS name server; typically this server is maintained by your Internet access provider, and its IP address is yet another of the pieces of configuration information you will get when you sign up for SLIP or PPP service. Besides letting you (or more properly, your computer) look up IP addresses automatically, my Internet access provider's DNS name server will also maintain entries listing the Internet hostname and IP address of your computer. (At least if you have a permanently-assigned IP address; if your PC or Mac is assigned a temporary IP address when connecting then that IP address will typically have a corresponding temporary hostname.) This lets remote systems like anonymous FTP sites do the sort of checks I briefly mentioned above. Other than that your computer's hostname (for example, "ion.digex.net" in my case) isn't used for much, as email for you will typically be sent to the mail server's hostname (e.g., "access.digex.net") instead. Like directory assistance, DNS name service is essential but fundamentally uninteresting and taken for granted (unless you need to use it and it's not working). As noted above, it is usually provided by the Internet access provider as a part of basic Internet service and is not really a good candidate for unbundling. (However many Internet access providers do provide an extra cost service whereby you can choose your own personal customized hostname, and thus have an email address like "hecker@my-company.com".) Continuing on, Telnet from your PC or Mac works similar to FTP: you tell your Telnet application (e.g., Trumpet Telnet or NCSA Telnet) the hostname you wish to connect to, it does the silent DNS lookup to find the IP address, and then connects you directly over the Internet to the remote system. The only userid and password required is whatever the remote system might ask for; some Telnet-based services use a dummy or "guest" userid and password, or even no userid or password at all. Connecting to a UNIX system via Telnet normally looks almost exactly like connecting via a dialup line. Connecting to more exotic systems like Multi-User Dungeons or MUDs is very similar (and typically uses Telnet or a Telnet-based protocol underneath): you supply the hostname you wish to connect to, you connect, you sign on in some way, you type at the system, you get responses back, you repeat until you're done, and then you logoff and disconnect. The underlying SLIP or PPP Internet connection must be active during the entire session, which may range in time from a few minutes to several hours (or even days, if you're a particularly enthusiastic MUD fan). The Gopher and World Wide Web services are a little more complicated in the way they work. When you start up a Gopher client program (e.g., HGopher or TurboGopher) or a Web browser (e.g., NCSA Mosaic) they typically attempt to connect initially to a preset "known host" system (or systems, if alternates have been set up); for example, for HGopher and TurboGopher these host systems are at the University of Minnesota and for NCSA Mosaic they are at the National Center for Supercomputing Applications at the University of Illinois Urbana-Champaign. (Almost all Gopher client programs and Web browsers can be changed to connect to other initial host systems, or even to not connect to a host system at all.) Once connected to an initial host system, Gopher programs and Web browsers operate in a "client/server" fashion: the client (i.e., the program running on the PC or Mac) sends a request over the Internet to the server (the Gopher or Web program running on the remote host), which in turn sends back a response. This happens invisibly underneath using a special-purpose communications protocol (Gopher+ for Gopher and HTTP or HyperText Transport Protocol for the World Wide Web); all you see on the screen is a graphical "point and click" interface like that characteristic of other Windows- or Mac-based programs. If you pick an item from a Gopher menu or choose to follow a hypertext link in the World Wide Web then one of three things may happen: you may invoke a menu ("page" in WWW jargon) on the same system, you may invoke a menu (page) actually stored on another system, or you may invoke an item that does something other than just go to another menu or page. The first case is not that interesting, so we'll skip it. (It's actually a special instance of the second case.) In the second case, for menus (pages) served by another system on the Internet, the Gopher program or Web browser automatically reconnects to the new system and sends the proper low-level commands to retrieve the menu (page) being invoked. As you browse through the Gopher menu hierarchy (or the WWW hypertext tree) the programs automatically switch from system to system as needed, so there is no single system to which the Gopher program or Web browser remain "connected" in the traditional sense. In the third case, when you invoke a menu item or click on a hypertext link some special action may be performed. One very common action is to initiate automatic downloading of some file. This is often implemented by having FTP-like functionality built into the Gopher program or Web browser, so that by invoking a Gopher or WWW item you can fetch any file retrievable via anonymous FTP. If the file is of a special type then the Gopher program or Web browser can do also something special with it besides just downloading it. For example, if the file were a graphics image in GIF format then after downloading is complete the Gopher program or Web browser might try to invoke a GIF viewer to show you the file. (You must already have GIF viewer software on your system, and you must have made sure that TurboGopher or Mosaic are configured to use it.) There are lots of other interesting features of Gopher and the World Wide Web; however, the most important thing to remember is that, unlike mail and Usenet news, you don't have to have anything to use Gopher and the World Wide Web except the Internet connection itself and the proper client programs. Our Story Thus Far It's been a long and tangled path to get to this point, and thank you for sticking with it. Here's a quick summary of the basics of accessing the Internet using SLIP and PPP: * You can take a Macintosh or Windows- or OS/2-based PC (386 or better) that already has a modem and for a relatively small one-time expenditure (from zero to $200 U.S.) get TCP/IP and SLIP or PPP software to make it capable of being a full-fledged Internet node. * For a relatively small expenditure (typically between $10 and $40 per month in the U.S. depending on your location and the amount of competition in your market) you can sign up with an Internet access provider who will enable you to connect your PC or Mac to the Internet on an on-demand, dialup basis. What you get for your money is an Internet hostname and IP address (with corresponding DNS directory entries maintained by a DNS name server), a number to call for SLIP or PPP access, and a special SLIP/PPP userid and password to authenticate you and allow your connect time to be tracked. (Note that if your Internet access provider assigns IP addresses "on the fly" then you won't get a hostname or IP address of your own.) Your provider may also supply you with some other miscellaneous configuration information as well, most of which is pure gobbledygook and is needed only when you first configure SLIP or PPP. * With just the basic dialup Internet SLIP/PPP service you can use FTP clients like WS_FTP or Fetch to download files, Telnet programs like Trumpet or NCSA Telnet to login to remote systems, Gopher clients like HGopher or TurboGopher to access Gopher servers, and WWW browsers like NCSA Mosaic to access World Wide Web servers. * If your Internet access provider also runs a POP mail server (as almost all do) then you can have the mail server receive mail for you and use an email program like Eudora to download it when you're connected, for you to read and respond to offline. Your provider will supply you with a mail userid and password to do this (which may be the same as the SLIP/PPP userid and password); authentication is done by the mail server. * If your Internet access provider also runs an NNTP news server then you can use a Usenet news reader such as WinVN or NewsWatcher to connect to the news server, select interesting Usenet news articles, and download them for reading. You can also post new articles or follow-ups to old articles. The news server will authenticate you (if necessary) based on your IP address and hostname (and/or a userid and password). * In theory electronic mail and Usenet news services could be unbundled from basic Internet access ("Internet dial tone"). This is rarely seen today but may become more common as the market for personal Internet access evolves. Beyond Basic SLIP and PPP So far we've discussed using SLIP and PPP over a standard dialup telephone line (often called a "POTS" line, for "plain old telephone service") using a standard analog modem with a maximum speed of 14,400 or 28,800 bps. Unfortunately even when using SLIP or PPP over a 28.8 Kbps modem many common Internet applications can be slow and unresponsive. For example, downloading a World Wide Web page with 100 KB of embedded graphics (not an uncommon occurence) would take almost a minute even at 28.8 Kbps. One increasingly available way to speed up SLIP/PPP-based Internet access is to use a more advanced ISDN phone line. (In actual practice ISDN is used with PPP, mainly because there is a well-defined standard for PPP over ISDN.) ISDN provides a direct digital connection to the phone network (hence the name, "Integrated Services Digital Network") and offers the promise of both higher transmission speeds (64 or 128 Kbps vs. 14.4 Kbps or 28.8 Kbps for a standard dialup line) and faster call setup times (i.e., the time between dialing the number and establishing the connection). Using ISDN not only requires getting a new phone line, it also requires the use of special hardware to connect your PC or Mac to ISDN; ordinary phone lines and modems cannot be used directly with an ISDN line. For connecting a PC, for example, this hardware could be in the form of a special I/O board to which the ISDN line would connect (e.g., using a modular jack similar to your modem's modular jack); this board would replace your existing internal or external modem. Like a standard phone line, ISDN is a dialup (or "switched") service; your TCP/IP software would still need to dial a phone number corresponding to your Internet access provider's remote access server(s). (However the phone number would be for an ISDN line, and your access provider's remote access server would have to support incoming ISDN calls.) The Internet applications (Telnet, FTP, email, etc.) would still work as described above for a standard SLIP/PPP connection An alternative to dialup connections is a high-speed dedicated Internet connection; while this has traditionally been done using expensive "leased lines" provided by phone companies, at least two cable TV companies (in Massachusetts and California) have announced relatively low-cost Internet access over the existing cable network. As with ISDN, with "cable Internet" your PC or Mac would not use a standard modem but rather something like an Ethernet controller board, which typically runs about $100 to $200 U.S. on up; this board in turn would hook up to something like a "cable Ethernet" connection located on your set-top box. (For technical reasons your PC or Mac may also be connected to a special modem dedicated to sending outgoing traffic back to the cable company; the higher-speed connection may be used only for incoming traffic.) Note that with a dedicated connection there would be no need for an equivalent of the SLIP/PPP userid and password, as the cable company could simply bill you monthly as it does today for cable service. As with ISDN, Internet access would work essentially the same way, only faster; the applications software itself (e.g., Eudora, NewsWatcher, TurboGopher, NCSA Mosaic, etc.) would stay the same and would be configured the same. (Whether a TCP/IP connection uses SLIP, PPP, Ethernet, or any other network technology is essentially transparent to the Internet application.) I should add that (for reasons alluded to above) typical "cable Internet" technologies support a high "downstream" bandwidth (i.e., to the home) but a slow "upstream" bandwidth (i.e., to the cable company headend and thence to the Internet). They are thus ideally suited for applications like Mosaic and the World Wide Web, where you typically download to your PC or Mac a great deal of data in the form of graphics images, sound clips, etc., with only a few commands going in the other direction back to the World Wide Web servers. Because of their advantages in speed, ISDN and "cable Internet" may be the next frontier for power users currently enjoying the benefits of standard SLIP and PPP dialup access. WHERE TO GO FROM HERE After reading this paper I hope you now have a good feel for how Internet access using SLIP or PPP works, and as a result you may be interested in finding out more about SLIP and PPP and possibly even acquiring your own SLIP or PPP connection. This section covers three possible avenues you might explore: * commercial SLIP/PPP Internet software packages * Internet books with bundled software * online information and freeware/shareware Each option has its pros and cons; no one has yet come up with a single best and complete "A to Z" solution for personal Internet access that supports everything you might want to do, provides everything you'll need and answers every question you might have. In evaluating which route to take, it may help to ask yourself the following questions: * Are you interested in paying the lowest possible price? Then you should look at the freeware and shareware available, as well as at some of the Internet books. The tradeoff is that you may have to learn more about the finer details of TCP/IP and SLIP/PPP in order to configure your software properly, particularly if your Internet access provider doesn't provide much technical support. * Are you interested in the easiest possible installation and configuration? Then you should evaluate the commercial packages and consider using one of the Internet access providers recommended by the software vendor. (Some of the Internet books also have software designed for relatively easy installation.) The tradeoff is that you will likely end up paying more for the package itself and for your Internet access. * Are you interested in preserving the maximum flexibility to mix and match "best of breed" Internet applications from different vendors and sources? With a few exceptions (mentioned below), all the TCP/IP and SLIP/PPP products listed in this paper support a standard interface that allows different Internet products to coexist on the same system. However the commercial products typically already include a complete (or almost complete) suite of Internet applications, so if you decide to substitute applications from another source then in effect you will have paid for software you aren't going to be using. * Do you want to run SLIP or PPP on a personal computer at work that is already connected to a local area network? Depending on the particular LAN environment you have, configuring and running SLIP/PPP alongside existing network software (e.g., Novell Netware, Microsoft LAN Manager, etc.) can range from moderately difficult to frustrating in the extreme. A commercial TCP/IP product may have the additional functions and technical support you need to do this successfully. The range of available information, software, services, and support for Internet access for SLIP/PPP is much greater today than it was even six months to a year ago, and I expect this trend to continue and even accelerate. As a result this section will likely grow out of date very rapidly; however I hope it provides at least a starting point for you. Commercial Internet Packages You may wish to buy an commercial "all in one" solution that includes TCP/IP and SLIP or PPP software, a range of Internet applications, documentation, and (optionally) Internet service itself. Here's some of the questions you should ask yourself in evaluating the purchase of a commercial product: * Does the product provide support for both SLIP and PPP, or only for one of them (usually SLIP)? If possible you want to have the maximum flexibility in choosing the type of service you subscribe to; in particular it is good to have the option of running PPP since it will most likely overtake and replace SLIP in the coming years. * Does the product provide a full range of Internet applications? Typical products provide at least Telnet, FTP, and electronic mail programs. Many also provide a Usenet newsreader, and some include Gopher and WWW client programs as well. * Can the product's underlying TCP/IP and SLIP/PPP software stack be used with Internet applications obtained from other sources (e.g., freeware and shareware)? For example, for Windows you should confirm that the product is Winsock-compliant. * Does the price of the product include capabilities you will never use? As noted previously, many commercial TCP/IP products were originally designed for business use on local area networks and cost several hundred dollars; they typically include many functions of little or no interest to the individual user accessing the Internet from home or on the road. * Does the product require you to use a particular Internet access provider? If possible you should preserve the capability to switch access providers if your first one doesn't work out for some reason. * Does the product include pre-defined configurations for popular Internet access providers? Typically the most difficult task in using the software is when you first attempt to connect to your Internet access provider; it will help if the product has customized login scripts and other pre-configured information available for your particular provider. Here are some commercial products that support standard TCP/IP and SLIP/PPP operation (as described above) for Windows-based PCs or Macintosh systems; the products are listed in alphabetical order by product name: * Explore OnNet for Windows. This product includes TCP/IP software with SLIP and PPP support and a set of Internet clients including email, FTP, Telnet, Gopher, a Usenet news reader, and an enhanced version of NCSA Mosaic. It also includes a "Connection Wizard" designed to assist users in configurating the software for their particular Internet access provider. Explore OnNet is from FTP Software, Inc., a long-time vendor of TCP/IP software for PCs running DOS and Windows. For more information call +1-800-282-4FTP (+1-800-282-4387) or +1-508-685-3300, fax +1-508-794-4477, send email to sales@ftp.com, or access their World Wide Web server at the following URL: http://www.ftp.com/mkt_info/explore.html * Internet Chameleon TCP/IP for Windows. This product includes TCP/IP software with both SLIP and PPP support (including support for PPP over ISDN) and a set of Internet clients including email, FTP, Telnet, Gopher, a Usenet news reader, and a World Wide Web browser comparable to Mosaic. Although Internet access itself is not included the software does include configuration information for a number of Internet access providers; it also has an "Instant Internet" feature by which users can connect to one of several national Internet access providers and establish an account in only a few minutes. Internet Chameleon is from NetManage, Inc., and is essentially a customized subset of their Chameleon TCP/IP for Windows LAN product. For more information call +1-408-973-7171, fax +1-408-257-6405, send email to sales@netmanage.com, or access their Gopher or World Wide Web servers at the following URLs: gopher://gopher.netmanage.com/ http://www.netmanage.com/ A demonstration copy of the Chameleon product is available at the following URL: ftp://ftp.netmanage.com/pub/demos/chameleon/ (See the file readme.txt for more details.) NOTE: NetManage also has a separate product named Chameleon Sampler which should not be confused with Internet Chameleon. Chameleon Sampler is based on an older version (3.11) of Chameleon TCP/IP for Windows and is bundled with many Internet books (see below); it is also available via anonymous FTP at the following URL: ftp://ftp.netmanage.com/pub/demos/sampler/ The Chameleon Sampler includes only SLIP support and does not include the full range of Internet applications found in Internet Chameleon. * Internet In A Box. This product includes a complete set of Windows-based Internet applications (including a version of Mosaic) and Winsock-compliant TCP/IP software for use over PPP connections. The software is from Spry, Inc., a commercial supplier of Windows-based TCP/IP software, and the documentation from O'Reilly and Associates, a major publisher of UNIX and Internet books (including Ed Krol's "The Whole Internet User's Guide and Catalog," which is included in the package). For more information call +1-800-557-9614, extension 24, send email to iboxinfo24@spry.com, or see the following URL: http://www.spry.com/intabox.html Internet In A Box can also be found in many bookstores that carry other O'Reilly and Associates publications. * InternetWorks. This Windows-based product from BookLink Technologies, Inc., is designed to be a complete and integrated interface to the Internet using TCP/IP over SLIP or PPP; it includes support for email, FTP, Gopher, WAIS, and the World Wide Web. One major InternetWorks feature is support for OLE, which (for example) would enable you to invoke Internet-related functions from a Visual Basic program. For more information call +1-800+453-SURF (+1-800-453-7873) or see the following URL: http://www.booklink.com/ BookLink Technologies has also created InternetWorks Lite, a limited version of InternetWorks available for downloading using FTP; see the following URL: ftp://ftp.booklink.com/lite/ (If you don't have FTP access you can call the number above and order InternetWorks Lite for a relatively small price.) * SuperHighway Access for Windows. This product includes TCP/IP software with both SLIP and PPP support and support for email, FTP, Telnet, Gopher, Usenet news, the World Wide Web, WAIS, and other search tools. The software also includes configuration information for many Internet access providers. SuperHighway Access is developed and sold by Frontier Technologies Corporation, and is a companion product to their SuperTCP/NFS for Windows LAN product. For more information call +1-414-241-4555, fax +1-414-241-7084, send email to superhighway@frontiertech.com, or access their World Wide Web server at the following URL: http://www.frontiertech.com/ Frontier Technologies also maintains a BBS at +1-414-241-7083. * TCP/Connect II. This product from InterCon Systems Corporation is available in both Macintosh and Windows versions; it includes all the standard Internet applications and both SLIP and PPP support. For more information call +1-800-INTRCON (+1-800-468-7266) or +1-703-709-5500, fax +1-703-709-5555, send email to sales@intercon.com, or see one of the following URLs: ftp://ftp.intercon.com/InterCon/sales/Mac/Product_Info/tcpcon2.txt ftp://ftp.intercon.com/InterCon/sales/Mac/Product_Info/tcpconwn.txt * Trumpet Winsock. This package from Peter Tattam and Trumpet Software International is a shareware product comparable to more expensive commercial products in functionality and reliability; it includes a TCP/IP stack with a built-in SLIP driver, as well as a variety of Internet applications. The Trumpet Winsock package is quite popular and many freeware and shareware products were written to run with it. See the online information sources listed below for information on how to obtain it. * WinPAC Complete and WinGopher Complete. These products are specialized for online searching of Gopher servers and library public access catalogs (PACs) and WAIS servers based on the Z39.50 protocol. Both products include TCP/IP software with SLIP and PPP support; the WinPAC Complete product appears to be a superset of the WinGopher Complete product. (For those who already have Winsock-compliant TCP/IP and SLIP/PPP software, the search tools are available separately as WinPAC and WinGopher.) WinPAC Complete and WinGopher Complete are offer by NOTIS Systems, Inc. (a subsidiary of Ameritech). For more information call +1-800-55-NOTIS (+1-800-556-6847), fax +1-708-866-4970, send email to info@notis.com, or access their World Wide Web or Gopher servers at the following URLs: http://www.notis.com/ gopher://wingopher.notis.com/ The following products are not strictly speaking standard Windows or Mac-based TCP/IP and SLIP/PPP products, and so I did not include them in the above list; however they are also worthy of interest: * The Internet Adaptor (TIA). This interesting product enables you to convert a connection to a UNIX shell account into a SLIP connection which can be used with standard PC or Mac-based Internet applications such as those described above. (Support for PPP is in development.) TIA itself runs on the UNIX system on which you have a shell account; you log into the shell account as usual and then run the TIA program to start SLIP operation. Connecting using The Internet Adaptor is quite similar to connecting using a "vanilla" SLIP connection, and the connection process may be automated by a script just as with a standard SLIP connection. The major difference between connection using TIA and connection using standard SLIP is that with TIA your individual PC or Mac does _not_ have its own IP address, but instead "piggybacks" on the network connection and IP address of the UNIX host supporting the shell account. This means that with TIA your PC or Mac can connect to other Internet hosts, but other Internet hosts cannot connect directly to your PC or Mac. This is similar to working in an office where you can dial out from the phone on your desk but do not have your own phone number at which you can receive calls. (In this analogy TIA and the UNIX host form the equivalent of the office PBX.) As it turns out, the major Internet applications discussed in this paper (Telnet, FTP, POP3 email, Usenet news, Gopher, and World Wide Web browsers) use outbound connections only, and thus can be used with The Internet Adaptor. The Internet Adaptor is developed by Cyberspace Development, Inc.; individual licenses and support are sold by SoftAware Co., while host-based or site licensing is handled by InterMind Corp. (The word "host" here refers to a UNIX host system supporting multiple TIA users. Host-based or site licensing is primarily directed to Internet access providers who wish to provide TIA for their customers, or to corporate and academic sites which wish to provide TIA for their internal users.) For more information about The Internet Adaptor call SoftAware at +1-310-314-1466 or InterMind at +1-206-545-7803 (depending on whether you want an individual license or a host or site license), send email to tia-info@marketplace.com, or access the online information on the FTP, Gopher and World Wide Web servers at the following URLs: ftp://marketplace.com/tia/docs/info.tia.txt gopher://marketplace.com/ http://marketplace.com/0/tia/tiahome.html * NetCruiser. This product is provided by NETCOM On-line Communication Services for use with their SLIP service, and is bundled with the book "Access the Internet!"; see the next section for more information. * OS/2 Warp. This product is a full-blown 32-bit operating system intended as a replacement for DOS and with support for running existing DOS and Windows applications. (Support for Windows applications requires that you already have a copy of Windows.) OS/2 Warp is of interest for being the first mass-market PC operating system with built-in support for Internet access; it includes SLIP support (with PPP support to follow) and a full set of Internet clients supporting Telnet, FTP, email, Usenet News, Gopher, and the World Wide Web. OS/2 Warp should be available at most mass-market retail software store such as Egghead, CompUSA, and Software Etc. For more information see IBM's various World Wide Web servers at the following URLs: http://www.austin.ibm.com/pspinfo/os2.html http://www.ibm.net/support/oiak.html IBM itself is now a public Internet access provider through its Advantis joint venture with Sears, Roebuck, and Co. OS/2 Warp contains automated configuration scripts for the IBM/Advantis Internet service; however it can also be used with other Internet access providers as well. For more information see the following URL: http://www.ibm.net/ibmnet.html Internet Book/Software Bundles If you do not want to pay the higher price (up to $200 U.S.) for a full commercial product then you may wish to consider one of the growing number of Internet books that come with a diskette containing Internet applications software. Here's some of the questions you should ask yourself in evaluating the purchase of such a book/diskette combination: * Is the software for a real Internet connection as described above? Some books include only a communications program with VT100 terminal emulation; others include hybrid software that looks like a graphical Internet interface but uses a different underlying protocol. (For example, some products use the UNIX UUCP protocol to do batch uploading and downloading of electronic mail and Usenet news.) * Does the diskette include the minimum needed for a personal Internet connection? You will need at least a SLIP or PPP network driver, a TCP/IP stack (e.g., MacTCP or a Winsock-compliant product) supporting Internet applications, and at least an FTP program (which you can then use to download other software). * How many Internet applications come with the book? Does it include an email program? A Usenet newsreader? A Gopher or World Wide Web client? Some books come with a broad variety of "best of breed" programs; others have only a bare minimum. * Does the book explain how to install, configure, and use the software? With a few books the software seems to be an afterthought, with most of the book devoted to explaining older ways of accessing the Internet (e.g., by using a UNIX shell account). * Does the book come with any other special offers? Some books include introductory offers (e.g., two weeks or a month of free service) for SLIP or PPP Internet access through a particular provider. (However, this may not be that great a deal if the provider is reachable only via a long-distance telephone call.) Here are some books that meet the first two criteria above, that is, they have the minimum software needed for a personal Internet connection using SLIP or PPP; the books are listed in alphabetical order by book title: * "Internet CD" by Vivian Neou ($49.95 U.S., Prentice Hall, ISBN 0-13-123852-3) contains a CD-ROM disk with (among other things) Peter Tattam's Trumpet software and the freeware version of Eudora for Windows. * "Internet Membership Kit, Macintosh Version" ($69.95 U.S., Ventana Press) includes the book "The Mac Internet Tour Guide" and its associated software; see the listing for "The Mac Internet Tour Guide" for more information. * "Internet Membership Kit, Windows Version" ($69.95 U.S., Ventana Press) includes the book "The Windows Internet Tour Guide" and its associated software; see the listing for "The Windows Internet Tour Guide" for more information. * "Internet Starter Kit for Macintosh (Second Edition)" by Adam Engst ($29.95 U.S., Hayden Books, ISBN 1-56830-111-1) includes MacTCP, InterSLIP and MacPPP, Eudora, Fetch, TurboGopher, MacWeb (an alternative World Wide Web browser to NCSA Mosaic), and other software. Engst also maintains an FTP site for readers of the book, with (among other things) copies of additional Internet applications besides those included on the book's diskette. NOTE: The second edition is somewhat expanded from the first and has much improved typography and layout (a minor pet peeve for me in the first edition). However if you can't find the second edition, the first edition (ISBN 1-56830-064-6) also has enough software to get you started. * "Internet Starter Kit for Windows" by Adam Engst, Corwin Low, and Michael Simon ($29.95 U.S., Hayden Books, ISBN 1-56830-094-8) includes the Chameleon Sampler, the WinVN newsreader, Eudora, and WSGopher. * "The Internet Unleashed" by various authors ($44.95 U.S., Sams Publishing, ISBN 0-672-30466-X) includes the Chameleon Sampler and HGopher. * "The Mac Internet Tour Guide" by Michael Fraase ($27.95 U.S., Ventana Press, ISBN 1-56604-062-0) includes MacTCP, InterSLIP, Eudora, Fetch, TurboGopher, and StuffIt Expander. Like Engst, Fraase maintains an FTP site with additional information and software, as well as a (fee-based) electronic update service for readers of this book and others he's written. IMPORTANT: Early printings of this book did not include MacTCP or a SLIP or PPP driver, and thus you needed to buy MacTCP separately and find a SLIP or PPP driver somewhere else. Make sure that the back cover specifically says that MacTCP is included. * "The PC-Internet Connection: TCP/IP Networking for DOS and Windows" by Bernard Aboba and Britt Bassett ($32.95 U.S., Internaut Books, ISBN 1-883979-00-5) is scheduled for publication in the fall of 1994 and will include a copy of the Chameleon Sampler, PC Eudora, and WS Gopher. For more information see the following URL: http://www.zilker.net/users/internaut/forth.html From the looks of the table of contents this book will go into greater technical detail than many of the books listed here; it will also cover Internet access from DOS-only PCs. Note that Bernard Aboba is the compiler of the Frequently Asked Questions list for the Usenet newsgroup comp.protocols.tcp-ip.ibmpc (see below). * "The PC Internet Tour Guide" by Michael Fraase ($24.95 U.S., Ventana Press, ISBN 1-56604-084-1) includes UMSLIP (a SLIP-capable TCP/IP stack) and Minuet (an integrated Internet application supporting email, FTP, Telnet, etc.), both developed at the University of Minnesota. (This is one of only a few books that discusses personal Internet access from DOS-only PCs.) * "Navigating the Internet (Deluxe Edition)" by Richard Smith and Mark Gibbs ($29.95 U.S., SAMS Publishing, ISBN 0-672-30485-6) includes the Chameleon Sampler. IMPORTANT: Make sure that the book says "Deluxe Edition"; there is another "non-deluxe" edition which does not include a diskette. * "The Windows Internet Tour Guide" by Michael Fraase ($24.95 U.S., Ventana Press, ISBN 1-56604-081-7) includes the Chameleon Sampler. Here are two other books which contain Internet applications and are worthy of note: * "Access the Internet!" by David Peal ($19.99 U.S., Sybex, ISBN 0-7821-1529-2) is specifically intended for use with the nationwide Internet access provider NETCOM On-Line Communications Services. The book is bundled with Netcom's NetCruiser software for Windows, which includes SLIP support and client programs for email, Telnet, FTP, Gopher, Usenet news, and the World Wide Web. Buyers of the book are also eligible for a one-month trial account with the Netcom service. IMPORTANT: The NetCruiser software works only with the Netcom service, and does not yet support the use of other Internet client programs such as NCSA Mosaic, Eudora, etc. For more information call +1-800-501-8649 extension 2601, send email to info@netcom.com, or see Netcom's FTP and World Wide Web servers at the following URLs: ftp://ftp.netcom.com/pub/netcom/netcruiser.info http://www.netcom.com/netcom/cruiser.html http://www.netcom.com/netcom/cruzfaqs.html * "Internet Explorer Kit for Macintosh" by Adam Engst and William Dickson ($29.95 U.S., Hayden Books, ISBN 1-56830-089-1) is a companion volume to "Internet Starter Kit for Macintosh" and includes Anarchie, Finger, MacWAIS, MacWeather, and TurboGopher. Finally, here are some other books which do not include software but which may also be of interest to readers of this paper: * "Connecting to the Internet: An O'Reilly Buyer's Guide" by Susan Estrada ($15.95 U.S., O'Reilly and Associates, ISBN 1-56592-061-9) gives criteria for choosing an Internet access provider and a level of Internet service; it also includes a list of providers. * "Internet Access Providers: An International Resource Directory" by Greg Notess ($30.00 U.S., Mecklermedia, ISBN 0-88736-831-X) contains listings of Internet access providers worldwide, including pricing, levels of service, and geographic coverage. * "The Internet Book: Everything you need to know about computer networking and how the Internet works" by Douglas E. Comer ($24.95 U.S., Prentice Hall, ISBN 0-13-151565-9) is an explanation of the technology behind the Internet, intended for a general audience and at a level of technical detail comparable to that of this paper. (Interestingly enough, despite the promise of its subtitle the book mentions SLIP and PPP only briefly and only in the glossary.) * "TCP/IP for the Internet: The Complete Buyers Guide to Micro-Based TCP/IP Software" by Marshall Breeding ($24.95 U.S., Mecklermedia) contains reviews of various TCP/IP packages for DOS, Windows, Macintosh, and UNIX. Online Information and Software If you already have Internet access and aren't yet ready to spend the money for a book or for a commercial product, you may wish to explore the information and software already available online. Here are some good places to start: * "Windows and TCP/IP for Internet Access" by Harry M. Kriz (hmkriz@vt.edu) is a good overview of personal Internet access using Microsoft Windows and Winsock-compliant TCP/IP software; it goes into more technical detail than this paper and contains online locations and installation instructions for popular Winsock-based freeware and shareware. The document is posted on a regular basis to the Usenet newsgroup comp.os.ms-windows.networking.tcp-ip. The URL for the current version as of this writing is ftp://nebula.lib.vt.edu/pub/windows/winsock/wtcpip05.asc (The number "05" will be incremented as new versions are released.) * "Winsock Application FAQ" by Craig Larsen (larsenc@lcs.com) is a very complete listing of Winsock programs and their respective FTP sites, with brief reviews; besides freeware and shareware it lists demo versions of commercial products. The document can be retrieved by sending an email message to info@lcs.com with a subject line of "help"; it can also be found on the World Wide Web at the following URL: http://www.lcs.com/faqhtml.html The World Wide Web version is particularly nice as it includes links to all the programs retrievable via FTP, so if you're using a WWW client such as NCSA Mosaic you can simply click to download a given package. * "The Winsock Client Listing" by Ed Sinkovits (edsink@mbnet.mb.ca) is similar to Craig Larsen's "Winsock Application FAQ" but contains more information and comments about each product. It is posted to the Usenet newsgroups alt.winsock, comp.protocols.tcp-ip.ibmpc, and comp.os.ms-windows.networking.tcp-ip. You can also contact Mr. Sinkovits directly via email to obtain a copy of the document in Microsoft Word for Windows format. * "comp.protocols.tcp-ip.ibmpc Frequently Asked Questions (FAQ)" by Bernard D. Aboba (aboba@internaut.com) contains a great deal of information about PC-based TCP/IP networking under both DOS and Windows. It is especially useful if you wish to run Internet applications under both DOS and Windows or if you are also using TCP/IP software on a local area network; if you don't care about either of these topics then I recommend that you start with one of the other documents above. This document is posted every month to the Usenet newsgroup comp.protocols.tcp-ip.ibmpc; it is also available at the following URLs: ftp://ftp.netcom.com/pub/mailcom/IBMTCP/ibmtcp.zip http://www.zilker.net/users/internaut/current.html The second URL references an experimental hypertext version of the FAQ, together with additional useful information (including a discussion of Internet access via cable TV technology). A plain text version of the FAQ is also available, in three parts: ftp://ftp.netcom.com/pub/mailcom/IBMTCP/tcpip1.faq ftp://ftp.netcom.com/pub/mailcom/IBMTCP/tcpip2.faq ftp://ftp.netcom.com/pub/mailcom/IBMTCP/tcpip3.faq * "Features of TCP/IP Packages for DOS and Windows" by C. J. Sacksteder (cjs@psuvm.psu.edu) is an exhaustive compilation of DOS and Windows-based TCP/IP software packages and their features. Like Aboba's FAQ it may be overkill if you're just starting to learn about personal Internet access. The document is available at the following URL: ftp://ftp.cac.psu.edu/pub/dos/info/tcpip.packages * "comp.sys.mac.comm Frequently Asked Questions (FAQ)" by David L. Oppenheimer (davido@phoenix.princeton.edu) contains (among other things) some information about MacTCP and SLIP and PPP drivers for the Mac. The FAQ is posted monthly to the Usenet newsgroup comp.sys.mac.comm, and can also be found at the following URL: ftp://sumex-aim.stanford.edu/info-mac/comm/info/comp-sys-mac-comm-faq.txt * "Charm Net Personal IP Page" by Craig Nordin (cnordin@charm.net) is a collection of pointers to online resources having to do with personal Internet access (including many not listed in this document); it is at the following URL: http://www.charm.net/ppp.html Charm Net (located in Baltimore, Maryland) is a good example of a local Internet access provider promoting personal Internet access using SLIP or PPP; for more information see the following URL: http://www.charm.net/charminfo.html * "Dan Kegel's ISDN Page" by Dan Kegel (dank@alumni.caltech.edu) contains pointers to practically any ISDN-related online information you might need or want; in particular it contains a number of references to establishing personal Internet access over ISDN. See the following URL: http://alumni.caltech.edu/~dank/isdn/ * "Understanding Cable Internet, Parts 1 and 2" by Bernard D. Aboba (aboba@internaut.com) contain more information about schemes to provide personal Internet access over existing cable TV networks; see the following URLs: http://www.zilker.net/users/internaut/cable.html http://www.zilker.net/users/internaut/cable2.html * Finally, as noted above, there are a number of Usenet newsgroups that contain discussions of personal Internet access using SLIP or PPP. The main ones are as follows: alt.winsock comp.os.ms-windows.networking.tcp-ip comp.os.os2.networking.tcp-ip comp.protocols.tcp-ip.ibmpc comp.sys.mac.comm Note that comp.sys.mac.comm covers all Mac-related communications protocols and software; at this time there is no separate Macintosh newsgroup just for TCP/IP networking or Internet access. URLS AND INSTRUCTIONS FOR ONLINE RETRIEVAL [Note that these instructions are badly out of date; see the beginning of the paper for the URL at which this paper is currently located.] URLs or Uniform Resource Locators are a handy and increasingly popular way of specifying the online location of Internet resources; URLs originated in the World Wide Web (WWW) project. Some URLs in this document have "http:" at the front; these are WWW home pages accessible by Mosaic or other WWW client programs. Others with "gopher:" at the front refer to Gopher servers accessible via TurboGopher and other Gopher client programs. The URL for this document itself is of the form ftp://hostname/directory-path/filename This identifies a file retrievable by anonymous FTP from an Internet host "hostname"; the file is in the directory "directory-path" and has the name "filename". For example, if you are reading this document in paper form and wish to retrieve the latest version in electronic form you can do so using one of the following methods. * If you use Mosaic or other World Wide Web browsers, you can retrieve this document using the following URL: ftp://ftp.digex.net/pub/access/hecker/internet/slip-ppp.txt (Use the "Open URL" menu item or its equivalent.) * You can retrieve this document via anonymous FTP from the host ftp.digex.net. The file is in the directory /pub/access/hecker/internet and has the name slip-ppp.txt. * If you have only email access to the Internet, you may be able to retrieve this document using the "ftpmail" service; send an email message to the address ftpmail@decwrl.dec.com and include the following lines as the body of the message itself: connect ftp.digex.net chunksize 25000 chdir /pub/access/hecker/internet get slip-ppp.txt quit (You may use any subject line you wish.) The "chunksize 25000" line is optional; including it directs that the document be returned to you as multiple email messages, none exceeding 25,000 bytes in size. This is in case your mail system limits the size of incoming Internet email messages to less than 32K or 64K; if your limit is less than 25,000 bytes then change the chunksize line to an appropriate value. If your system doesn't have a limit on message size then you can change the chunksize to 200000 to get the whole paper as one message. When returning the file, the ftpmail server will use the return address it picks up from your email message. In some cases (usually depending on how your email gets from you to the Internet) this will not work properly, and you will need to include a specific return address which you know works; this is done using the "reply" command. For example, if you know that the return address "jdoe@acme.com" works to get mail to you, then include the line reply jdoe@acme.com in the body of the message immediately before the "connect" line. The instructions above will also work for any of the "ftp" URLs in the document (with the caveat below); just substitute the appropriate hostname, directory, and filename. The only exception is for files that contain binary data as opposed to printable text. (One such file referenced in this document is Bernard Aboba's FAQ, which is in PKZip compressed format.) If you use anonymous FTP make sure you enter the "binary" command before retrieving such files, or turn on the corresponding setting in the FTP utility you are using. If you are using FTP by mail then the file will be returned to you in "uuencoded" format, a method for representing binary data using only printable ASCII characters. To convert the file back into binary format you will need a "uudecode" program for your PC or Mac; such programs can be found on (among other places) on BBSs that specialize in PC or Mac freeware or shareware.