Choosing an Internet Services Provider
Over a year ago, we ran a story about looking for an Internet Service Provider. Since then, the Internet has exploded in popularity, and the ISP scene has changed drastically. A PPP or SLIP connection is no longer considered a premium service for which you can expect to pay $100, or likely more, per month; now it is a basic service available in many areas for $20 per month or less. Many new ISPs have started up, and quite a few have gone out of business. More ISPs are available on a national scale. The “On-line Services” of the 80s are now connected to the Internet in one way or another. Your choices have expanded; so has your need for information about those choices.
If you want to know the difference between a BBS, an on-line service, a shell account, and a PPP or SLIP account, this article will tell you what you need to know (and perhaps more than you want to know). If you are worried about the relative dangers of connecting your computer to the outside world in different ways, a comparison follows. At the end, you will find some advice—a buyers' guide, if you will—that will help you choose between the ISPs in your area.
This article may initially put you into acronym overload. Acronyms are in such wide use in the Internet community that this is impossible to avoid. However, the acronyms are explained in the article, helping you speak the Internet language.
For many years, people have operated BBS's (Bulletin Board Systems) from their homes, and some BBSs have become so large that they have become businesses in their own right. Almost every BBS arranges for e-mail among its own users, and many BBSs have been connected to a world-wide mail (and file) exchange network called FIDO. In FIDO, e-mail and files are passed from node (a single BBS) to node via telephone connections until they reach their final destination.
With this history of communication, it is not surprising that many BBSs chose to provide Internet e-mail as well. Some of them use a protocol developed for Unix, called UUCP (Unix to Unix CoPy), which works much like FIDO, and others use a direct IP (Internet Protocol) connection to the Internet, which can support telnet, ftp, and WWW connections as well as e-mail. Those BBSs that are connected with UUCP or direct IP usually provide Usenet news as well as Internet e-mail; those that have a direct IP connection usually support some Internet services as well.
Most BBSs have some sort of specialty, whether it's on-line games with other users, archives of some kind of programs, graphics, or discussions on one subject or another. More and more, they are also providing general Internet services like telnet, ftp, gopher, and WWW. Some allow you to call in using telnet from some other Internet site as well as through their own modems.
Most BBS systems provide you with menus which guide you through the provided services. The SysOp (System Operator) constructs the menus, determines which users have what privileges, and generally runs the show. Some large BBSs have multiple SysOps.
Most BBSs have very limited numbers of modems and phone lines, and therefore place significant limits on the amount of time a user can spend on line. Users are often granted extra time for doing things that are beneficial to the BBS, whether that's uploading a file, contributing to on-line discussion, donating money or equipment, or being the SysOp's friend. Some BBSs require you to pay for your time, but many operate on a donation or even free basis.
For years, the large-scale national and world-wide counterparts to BBSs have been the “On-line Services” such as Compuserve, Prodigy, America On-line, Genie, Bix, etc. While most of them originally started with menu structures much like those of a BBS, more and more have been requiring that the user run specialized software, most of which isn't available for Linux. You may be able to use DOSEMU to run DOS software, for example, but it is entirely possible that it will be easiest for you to reboot into DOS/Windows to connect.
Fortunately for Linux users, more and more of the on-line services have started to provide serial IP connections, which Linux handles natively, so specialized programs are not required. (See below for more on serial IP.)
Most of these services use large networks of modems all over the country or even world, which are often owned by some other company. Therefore, you may be charged several different fees for one connection: a fee for the time spent using the service and a fee for the same time spent using the modem, not to mention any long-distance fees that you need to pay to get to the modem.
Several of the on-line services have had a history of censorship of one form or another. Some even censor the private e-mail of their users. If this bothers you, ask about censorship before joining any service.
If you are comfortable with the command-line interface that Linux provides, you will probably be comfortable with a Shell account on a Linux or Unix computer managed by an ISP. Once your modem connects to the other modem and you log in, it is the same as an xterm session or a console login (without graphics capabilities) on your Linux box, except that the remote computer you are logged into is connected to the Internet. You usually use a standard Unix shell, with roughly the same choices available on your own Linux system, although some shell accounts also provide an optional menu interface similar to what a BBS provides.
In most cases, you are allowed to compile and run your own programs, if you wish. There is almost always a much larger selection of programs and services available than on a BBS. In addition, since you are connected to the Internet, all the services on the Internet are also available to you.
Unlike most BBSs and on-line services, you usually get to choose which program you wish to use to read mail and news. Pine, Elm, MH, mush, emacs-rmail, mailx, and other mail readers may all be available for you. You are likely to have your choice of rn, tin, trn, slrn, nn, and other news readers. Again, if you need to edit a file, you are likely to have your choice of editors. Emacs, vi, jed, and pico are common offerings.
If you want to browse the World-Wide Web, the text-based browser lynx will almost certainly be available.
A strong contrast to all the previous options, serial IP makes your machine a part of the Internet. For instance, instead of using ftp to transfer a file from a remote site on the Internet to your ISP's computer, and then using kermit or z-modem to transfer the file to your own computer, serial IP allows you to ftp the file straight from the remote site to your own computer, without storing the file somewhere as an intermediary step.
There are two kinds of serial IP in common use. The older, less advanced, less standard kind is called SLIP, which stands for Serial Link Internet Protocol. The newer, standardized, easier to configure kind is called PPP, which stands for Point to Point Protocol. PPP is designed to correct the flaws that were discovered in SLIP after it was designed. Linux supports both SLIP and PPP.
Besides the choice between SLIP and PPP, you may also have a choice between static and dynamic addressing. In order to understand this choice, you need to know something about the Internet. Each computer on the Internet is assigned its own unique number, which is called its IP number or IP address. No two computers on the Internet should be assigned the same address. When you configure your serial IP connection, one of the most important parameters is your IP address. So how do you get an IP address?
Each ISP has a large group of addresses that they parcel out one by one to their customers, and your ISP provides you with your address. There are two basic ways they go about doing this. One is to give you an IP address that is assigned just to you. In this case, called static addressing, you will always have the same address. The other way is for them to tell you what your IP address is when you connect. In this case, called dynamic addressing, that address is likely to change each time you log in.
In the same way, not only will your address (a set of four numbers like 10.24.105.27) change each time you connect with dynamic addressing, but your Internet hostname will change, too. Even if you have named your Linux system “ralph”, your Internet hostname might be dial12.city.isp.com one time and dial34.city.isp.com the next day. By contrast, with static addressing, you can nearly always get a reasonable Internet name such as ralph.isp.com.
From the standpoint of using common Internet tools like ftp, telnet, and WWW browsers, both static and dynamic addressing should act identically. However, from the standpoint of receiving e-mail, they have different potential. While you can get e-mail from both kinds of serial IP connections, only a static address and name allows you to create as many mailboxes as you like: email@example.com, firstname.lastname@example.org, email@example.com, firstname.lastname@example.org, and so on. By comparison, a dynamic address usually allows only one mailbox (usually something like email@example.com), and you are not able to add new mailboxes on your own.
On the other hand, serial IP connections with dynamic addresses often cost less, and if you don't need the extra functionality, there is a certain amount of (almost) anonymity retained by not having the same Internet address each time you connect. Furthermore, setting up your own mailboxes (as is possible only with a static address) requires learning how to manage an MTA (mail transport agent) such as sendmail or smail, which is not simple to do correctly. Even the Linux Network Administrator's Guide gives only simple introductions to configuring these two. By contrast, the “popmail” connections usually used for reading mail in the firstname.lastname@example.org style of mailboxes are almost automatic to use if you are using a mail reader that supports popmail—and most do.
Either kind of serial IP account should let you browse Usenet news from home, using the NNTP (Network News Transport Protocol). However, this can be rather slow, depending on which news reader you use. The xrn (X-Windows based) and slrn (text-based) newsreaders are some of the few newsreaders which are still reasonably fast for reading news across a serial IP connection.
If you want users of other computers to be able to connect to your computer, serial IP is the way to do it. In particular, a static address and name will make this easy.
If you have a shell account, but want to use a graphical WWW browser such as Mosaic or Netscape, one option is to use a “fake IP” program such as SLiRP or TIA. These are programs that you run on your ISP's computer which talk to your computer using PPP or SLIP, convincing your computer that it is really part of the Internet. With these programs, you can ftp to a remote computer—but the remote computer talks to your ISP's computer, and the fake IP program acts as a “relay” for the connection.
This allows you to run multiple programs at the same time over the link, just like real serial IP. It allows you to be connected to the Internet. However, it does not allow others to connect from the Internet to your computer unless you explicitly allow it, which makes it a bit safer than a real serial IP connection if you don't pay close attention to security on your system.
It also has all the limitations of serial IP with dynamically assigned addresses and names, but in addition to those, it is not possible to run programs that use UDP, the User Datagram Protocol, across the link. The most common program that uses UDP is probably talk. In these cases, you normally telnet to another machine (probably the machine that you are running SLiRP or TIA on) and run the program from there.
Popmail and other services commonly available with serial IP services may be available over a fake IP connection, depending on your ISP.
Some ISPs prohibit the use of fake IP programs, on the grounds that you shouldn't need to do that if you have a real serial IP available, and that if you want IP, you ought to be paying for a real serial IP connection.
If a modem isn't fast enough for you, there are other kinds of connections. ISDN, Leased Line, and Frame Relay products are all available for Linux. However, these are expensive, and the capabilities are changing rapidly. Each would require an entire article to introduce its details.