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: me@ralph.isp.com, myfriend@ralph.isp.com, mywife@ralph.isp.com, myson@ralph.isp.com, and so on. By comparison, a dynamic address usually allows only one mailbox (usually something like yourname@isp.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 yourname@isp.com 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.
With a BBS, shell account, or on-line service, the dangers are small and minimal. The worst danger (possible with any service, of course) is probably a lightning strike that damages your modem, and possibly your computer. If you download programs directly from the service involved, you may need to think about viruses (none are known on Linux) or Trojan Horses, programs which claim to do one thing and really do another. If you consider censorship a danger, you are most likely to find it in various forms on the on-line services.
With fake IP, the dangers are also rather minimal, but the danger of a remote user breaking into your computer, while remote, now exists. Someone using the same ISP may be able to log into your computer if you don't pay attention to basic security, such as having good passwords for your accounts.
With serial IP, the dangers are very real. Unlike single-user program loaders like DOS and Windows, Linux is designed to function across the network. This power brings the potential for break-ins if security is not maintained. And in order to manage that power, it is best to know a little bit about what you are doing. The Linux Network Administrator's Guide (The NAG) tells you all you need to know to understand how to maintain your network, so have a copy handy.
Of course, you need to maintain good passwords—that should go without saying. Don't run unnecessary services. Read the /etc/inetd.conf file and comment out (by inserting a # character at the beginning of the line) services that you don't need. If you don't want anyone to be able to use telnet to connect to your machine, comment out the line that starts telnetd. If you are confused, read the NAG.
Make sure that you have a file called /etc/securetty. The securetty file controls which terminals root is allowed to log in on, and allowing root logins over the network is a good way to invite break-ins. Make sure that it does not contain any lines starting with ttyp--these are the pseudo-ttys that are used for network logins.
Pay attention to security alerts. Security holes in Linux or Linux distributions are announced on the comp.os.linux.announce newsgroup. Read these announcements and act on them. They contain careful, easy-to-follow instructions on how to close the security hole in question. If you have PGP installed, use it to ascertain that the announcement is genuine before following the instructions.
If you have reason to be even more careful about security, take time to learn about authorization (man tcpd) and firewall software—there are several articles in this issue on that topic.
Pricing structures may have nothing to do with reality. If prices seem too low to believe, they may well be. How much trouble would it be to switch your e-mail to another site if your current provider goes out of business? What about your web site or your home page? Many ISPs have gone out of business in the last year, and the trend doesn't appear to be slowing down yet.
Do you want a local ISP or a national one? There are advantages to both; some people keep two accounts, one local and one national. If your ISP is near you, they will be easier to find. They may know more about people at the local phone company office and know who to talk to to get things done (or fixed) at a local level. By contrast, a national ISP has sites all around the nation that you can call in to, and by being bigger businesses, they may have more resources to provide the right distribution of equipment to meet all their users needs.
You need to decide what level of service you want, and be willing to pay for what you need. If your business depends on your connection, you probably don't want to go with a fly-by-night operation that may or may not be around next week, and may not have as much experience. If you just want to “surf the net” and can deal with trouble or switching providers if necessary, you are likely to be able to pay less—just don't expect the same level of service from all providers, regardless of price.
Also, it's important to understand that there are some things that the ISP can fix, and some things that the ISP can't fix any more than you can. The ISP can provide enough modems that you don't get a busy signal too often, and the ISP should be able to respond as quickly to emergency phone calls as they promise to, however quickly that is. The ISP can't, however, fix the rest of the Internet if their own connection to the Internet is broken by their provider, or make the phone company fix broken phone equipment on your schedule.
The Internet is constantly under construction. Choosing an ISP with multiple connections to the Internet through different providers makes it less likely that your ISP will temporarily loose Internet connectivity through no fault of their own. If your business depends on reliable connections to many different parts of the Internet, choose an ISP with two or three connections to major Internet providers, such as MCI, Sprint, PSI, or ANS.
Troubles will occur. Every ISP has troubles from time to time. You may have the choice of bouncing from one ISP to another. Our recommendation is to stick with one ISP as long as you can, especially if you choose a local ISP, because they can be extra helpful to people they know.
If you absolutely, positively need Internet access all the time, consider keeping a backup account at a different ISP. If you do this, make sure that the backup account is connected to the Internet in a different way than your main ISP. It may even be worth making a long-distance call in an emergency, depending on your need.
The vocabulary covered in this article will help you speak your ISP's language. While many ISPs try to speak real English, knowing the occasional technical term can be very helpful, both in choosing an ISP and in working with your ISP once your choice is made.
You may know, or you may have learned in this article, more vocabulary than the help desk or sales staff know. If you sense that the person on the other end of the phone doesn't know what you are talking about, don't be afraid to ask to talk to technical staff.
See Internet Resources sidebar for more information.
Michael K. Johnson is the Editor of Linux Journal and full-time Internet user.