WinSock, PPP, and SLIP

"The time has come," the Walrus said,
"To talk of many things:
Of news -- and chips -- and Gopher hacks,
Of Babbage's -- and pings."

Apologies to Lewis Carroll, but the time has come to talk of many things, all of them dependent on WinSock, the Berkeley sockets standard for Microsoft Windows. I'm going to start by discussing WinSock in general, and then move on to more specific information about some of the versions available, starting with the one that comes with this book, NetManage's Chameleon. Intermixed in these discussions, I'll also be writing about SLIP and PPP, which are both ways of getting your WinSock at home to talk to your service provider.

NOTE: PPP and SLIP are communication protocols that fool your WinSock-equipped PC into thinking that it's attached to a network that connects to the Internet. Instead of that network, SLIP and PPP enable the PC to communicate over a modem -- a good idea because most individuals don't have direct access to networks connected to the Internet. Whether you use PPP or SLIP depends primarily on whether you can get a PPP or SLIP account from your Internet provider. Given a choice, I recommend PPP, but both work fine.

This chapter may seem overly long for discussing the installation and configuration of a couple of programs, but WinSock and the SLIP and PPP implementations are surprisingly complex after you look closely at them. In addition to looking closely at WinSock, I cover Chameleon, Internet Chameleon, and Internet In A Box in detail, and briefly discuss the other SLIP and PPP implementations. Finally, because this world is not perfect and problems do arise, I have a lengthy section on troubleshooting Chameleon, SLIP, and PPP, along with some commonsense advice on how to ask for help.

With those preliminaries out of the way, let's look at SLIP and PPP, then WinSock.


An increasing number of people who don't work at a large business or university want access to the Internet, and an ever-increasing number of Internet providers are springing up to meet that need. Because individuals seldom have the level of connectivity enjoyed by those in business or education, they must make do with slower connections. Until recently, they've had to cope with clumsy Shell accounts as well. That has changed with the availability of SLIP ("Serial Line Internet Protocol") and PPP ("Point to Point Protocol") accounts that are available to anyone. Although distinctly slower than dedicated network connections (because they work with garden-variety modems), SLIP and PPP provide decent performance in normal situations. More importantly, they provide access to some extremely cool software that I write about in chapter 13.

NOTE: You may also hear about CSLIP ("Compressed SLIP") accounts, which are handled by an option in the SLIP program. You don't need a different SLIP implementation to use a CSLIP account.

SLIP and PPP provide the Internet connection for those of us who connect via modem. If you have a network (either Ethernet or Token Ring) connected to the Internet, you don't need SLIP or PPP.

NOTE: Although SLIP and PPP are generally used with normal phone lines and modems, if your provider and telephone company both offer ISDN ("Integrated Services Digital Network") service, you can use SLIP or PPP (usually PPP) with ISDN to create a very high-speed Internet connection, often for not much more than a normal phone line would cost.

The easiest way to think of SLIP and PPP is to assume that you don't have water service inside your house. Every time you want to take a shower, you must run a garden hose outside to the water hookup, take your shower, and then bring the hose back in. That's exactly what SLIP and PPP do -- they establish a temporary, low-speed connection to the Internet. You must create that connection before you can run programs, such as WSArchie and Netscape, that assume the connection exists.

NOTE: Although some implementations of SLIP and PPP enable you to launch a WinSock-based program without connecting first (because SLIP or PPP sees what's up and then establishes the connection), sometimes these autoconnect features can be flaky. If you can use one, great, but if it doesn't work reliably, always connect manually first.

The unreliability is often due to poor time-out handling on the part of the WinSock application. In many cases, programs are written to communicate with a remote machine (via an IP address), and they expect that they'll get the data back in a reasonable time period (assuming a few hundred milliseconds is a reasonable time period). Sometimes programs just don't want to wait the 60 to 90 seconds it takes for a dialup connection to be established.

What's the difference between SLIP and PPP, and should you care? The answer to the first part of the question is that PPP is SLIP done right. Apparently, SLIP was literally designed on the back of an envelope and implemented in an afternoon. PPP, in contrast, was designed more carefully and is far more flexible, so it supports multiple protocols (such as NetBEUI, IPX, TCP/IP, and even AppleTalk) at the same time and over the same connection. The capability to support multiple protocols is neat because you can use WinSock programs at the same time as you are dialed into a Novell server. However -- this fact is probably a testament to its simplicity -- SLIP is still more prevalent both in terms of support on the Windows side and in terms of available accounts.

NOTE: The best definition of the difference between SLIP and PPP comes from Dave Saunders of InterCon, who said, "SLIP was implemented to provide a solution to a problem; whereas, PPP was designed to provide a solution to a problem." The difference between something that's implemented and something that's designed may seem subtle, but it's important.

The answer to the second part of the question (do you care?) is that at the moment it doesn't make much difference. PPP may become the standard because it's far more flexible and is easier to configure if you use some of the advanced authentication features (called PAP or CHAP). For these reasons, I have chosen PPP in the book's installation instructions for the WebSurfer Sampler which comes with the book. WebSurfer Sampler supports SLIP and CSLIP and does a good job of it, but PPP should be slightly more trouble-free.

Should you run out and switch your existing SLIP account over to PPP? No, definitely not, especially if everything with your account works as you expect it to. PPP and SLIP are functionally identical -- in other words, all the WinSock-based programs should work the same with either SLIP or PPP accounts. I haven't seen significant performance differences between the two, although PPP occasionally feels a little more responsive in interactive use (as opposed to raw download speed when you're retrieving a file via FTP and nothing else). Your mileage may vary. Offer not valid in states that begin with a vowel.

There are several commercial implementations of SLIP and PPP for Windows, and I have written about several popular ones in some detail, including Spry Inc.'s Internet In A Box and AIR Series software, NetManage's Chameleon products, and InterCon's TCP/Connect II.

Getting an Account

When it comes time for you to get a SLIP or PPP account, the details are up to you in terms of what company you work with and the like. You can find a list of companies that provide PPP and SLIP services in the "Internet Starter Kit Providers" list in appendix B and "Providers of Commercial Internet Access (POCIA)" list in appendix C. However, after you decide on a provider, you need certain information from that provider to configure SLIP or PPP. Some of the necessary information is the same as information you need for configuring your WinSock. For convenience, I list all the information you need in table 11.1.

NOTE: If you use an Internet Starter Kit provider listed in appendix B, you'll need to get only some of this information. That's because we have included custom configuration files for these providers on the Internet Starter Kit disks. This will enable you to get connected more easily.

Table 11.1: SLIP/PPP Information

ITEM                  QUESTION
----                  --------

Phone Number          What number do you call to connect to your

Login Name            What is the SLIP or PPP account login name?
                      This name can be different from your email
                      userid or machine name.

Password              What password should you provide when logging

MTU/MRU               What is the maximum transmission/receive unit
                      size? (1006 seems to be the standard MTU for
                      SLIP; I've heard of using 296 for CSLIP; PPP
                      defaults to an MRU of 1500.)

Header Compression    Should you use RFC 1144 TCP Header Compression?
                      (This is CSLIP.)

Login Procedure       What should you expect to receive from your
                      host machine and how should your machine
                      respond when logging in?

IP Address            What is your IP number (if you have a manually
                      addressed account)?

Gateway Address       What is your gateway IP number (if you have a
                      manually addressed account)?

Domain Name Servers   What are the IP numbers of your domain name

It's probably easiest to use the "Online Information" worksheet in the back of the book for recording all this information.


WinSock is a translator. It enables a Windows PC to speak the language of the Internet, TCP/IP (Transmission Control Protocol/Internet Protocol). In the past, Windows PCs have spoken many different protocols, including IPX for Novell servers and NetBEUI for Windows for Workgroups, over a variety of network topologies. (That's a fancy word for "types" of networks -- use it five times in sentences today and it's yours forever.) You must have a WinSock Dynamic Link Library (DLL) installed and configured properly in order for any WinSock-based program, such as Netscape or WS-FTP, to work, although WinSock does not make the connection itself.

Think of WinSock as the Babel Fish from the Hitchhiker's Guide to the Galaxy. After you pop it in your PC's ear (into the Windows system directory, actually), your Windows PC understands the Internet noise that's flowing in and out. The metaphor of languages isn't quite accurate, however, because TCP/IP is actually a transport protocol; but the idea of WinSock as a Babel Fish that translates Internet gibberish into a language that the PC can understand seems to be the most understandable metaphor. Luckily, everything that WinSock does happens at such a low level that you never notice. In fact, after you set up your WinSock correctly, you should never notice that it's present.

After your Windows PC has WinSock installed and is connected to the Internet via a network, SLIP, or PPP, the PC is essentially the same as any other Internet machine and has its own IP number or address. Now you can connect directly to other Internet machines without going through an intermediate machine. You can also run server software to turn your PC into an FTP or Web server.

NOTE: Because the Internet is based on the TCP/IP protocols, the only way for a Windows PC to enjoy a full Internet connection is to use WinSock. If you do not have WinSock installed and you do not have a WinSock-based connection using PPP, SLIP, or an Internet-connected network, you cannot use the WinSock programs. Period.

Historically, computer folks have thought that TCP/IP was useful only for mainframes and minicomputers, not for PCs. Accordingly, most of the documentation I've seen makes this assumption, too. It's a poor assumption these days because individuals using PPP or SLIP can easily gain access to the Internet, and PPP and SLIP require WinSock if you are running Windows. Only recently has attention been paid to providing TCP/IP for PCs. As a matter of fact, if you work at a university or business that provides your Internet connection, it's a good bet that you have a system administrator who knows more about WinSock than you or I do and who has probably preconfigured it for your convenience.

NOTE: Microsoft will bundle WinSock with Windows 95, due out some time in 1995 (hence the name). Let's hope that the WinSock documentation is improved from what currently ships. Hey, what am I saying? If the documentation stays as incomprehensible as what I've seen, everyone will have to buy a copy of this book. Forget I said anything!

Because those of you with network administrators can ask them for help, I concentrate on details of interest to the individual who has no local network administrator and must rely solely on this book and the system administrator at a public provider. Therefore, I'm not going to write about many of the issues specific to dedicated Token Ring or Ethernet connections. Sorry to disappoint, but your local system administrator can be more useful than I can anyway, because I have no idea what your specific setup looks like.

NOTE: The software that accompanies this book is not capable of LAN-based connections, only dialup or serial connections. This shortcoming is due in part because Microsoft did not bundle WinSock with Windows early on. LAN-based TCP/IP software thus became revenue streams for third-party software manufacturers. They cannot make money if they allow their software to be bundled with a book while charging $200 on the open market.

WinSock Questions

This section contains the questions you need to ask to configure a WinSock on your own. If you will be using one of the providers that are listed in appendix B, these values are all preconfigured -- just use the configuration file that's included on the disks that come with this book. If you choose another provider, though, you will definitely need to ask these questions

First, of course, comes the connection method -- PPP, SLIP, or network. Before you call your provider, read through the sections that apply to your connection method to find out how to configure WinSock. Keep in mind that these sections contain general questions for any WinSock that you use. The way in which each of the items is actually used and installed depends on the WinSock you choose.

NOTE: Because Microsoft chose not to bundle WinSock with Windows when it was first released, a myriad of software developers filled the gap. Although WinSock is a standard (currently at version 1.1), its configuration is not. It is for this reason that there are different ways to install, configure, and get WinSock running. Each manufacturer chose to do it in its own way.

If you're connecting via a network, most of the same rules apply, but again, your system administrator knows the details. Second, find out whether you are supposed to determine your address manually, where you're given your own static IP address, or dynamically , where it's assigned each time you call the server. There's no standard nomenclature for addressing methods, and you'll probably hear something different from just about every person that you discuss it with (although if you find yourself discussing the topic with very many people, you should get help of another sort). Keep in mind that the terms here are used only for the purpose of keeping track in our own description, not as a defining work.

NOTE: Most system administrators refer to manually addressed accounts as static accounts (because the IP address is assigned once and never changes) and server-addressed accounts as dynamic accounts (because the server assigns a different IP address each time you connect). You see the problem.

If you have a manually addressed account, you must find out what your IP address number is. It is four numbers, separated by periods, and should look something like If you connect manually, you also need a gateway address number in the same format. You may need this gateway address with a server-addressed account as well, but it may also be one of the items that the server fills in for you automatically. Depending on the configuration of your site, you may also need to find out your network class and subnet mask, and your network administrator should know what to tell you here. Most people who use PPP and SLIP do not need to configure the network class and subnet mask part.

No matter what, you need to know the name and number address of one or more Domain Name Servers, which are machines that translate between names that you enter, such as, and the number addresses that the machines all speak, such as Finally, although you don't need the addresses of your SMTP (Simple Mail Transport Protocol) and NNTP (Net News Transport Protocol) servers to configure your version of WinSock, now is a good time to ask your system administrator for them. Also ask your system administrator what your POP account is and whether it's different from your email address. See table 11.2 for examples of each of these data.

Table 11.2: WinSock Account Information

ITEM                                  EXAMPLE
----                                  -------

Connection Method                     SLIP, PPP, Token Ring, Ethernet
Addressing Style                      manual, server
IP Address (if manual)                e.g.,
Gateway Address (if necessary)        e.g.,
Network Class (if manual & necessary) A, B, or C
Subnet Mask (if manual & necessary)   Ask
Primary and Secondary Nameservers     e.g.,
Local Domain                          e.g.,
SMTP Mail Server                      e.g.,
NNTP News Server                      e.g.,
POP Account                           e.g.,

NOTE: Every now and then I get complaints from people who say that they don't have a system administrator to ask for help. I hate to tell these people this, but unless they are in complete charge of the machine that they connect to, there must be someone else who acts as the system administrator. You cannot set this stuff up entirely on your own -- you must have the cooperation of the person who runs the machine to which you connect. This person usually works for the organization that provides your Internet access, such as a university information technology department or your Internet provider, such as Northwest Nexus.

I realize that this information is a bit much to swallow at once, but that's why I go over how to configure each of the WinSock implementations in the following sections, so that you can see where each piece of information goes. Also, check out the "Online Information" worksheet at the back of the book. You can fill it in with the information that makes it easier to set up your WinSock and to use PPP or SLIP.

NetManage Chameleon

The NetManage product line seems a bit confusing (okay, a lot confusing), but it really isn't the product's fault. TCP/IP connectivity used to be synonymous only with Internet connectivity. This is no longer true, as corporate networking environments become more and more complex topologically. Corporations are finding that it is far more productive to use TCP/IP internally as a great network protocol, even though they may never attach themselves to the Internet. All this change is occurring during the Internet revolution. So you see, there are several audiences being addressed here, and it is difficult to figure out which product is best for you. Keep in mind that all the products use NetManage's high-quality WinSock TCP/IP protocol stack.


Because of Microsoft's introduction of its own free LAN-based WinSock for Windows for Workgroups 3.11, available on its FTP site at, NetManage, among others, has had to scramble to redefine its line of TCP/IP connectivity products. Originally, NetManage had a single product called Chameleon. It consisted of WinSock (called NEWT) and a myriad of capable applications (such as Telnet, Mail, FTP, and so on). Chameleon had the ability to be LAN-based or dialup (SLIP/PPP)-based.

NetManage spawned several versions of Chameleon, including Chameleon/X, an X-Windows server (a windows environment for Unix computers), and ChameleonNFS, a Network File System (a peer file sharing system for Unix computers).

Chameleon is available on the Internet at NetManage's FTP site. It doesn't come with a permanent serial number or key code to unlock the program. You must acquire a temporary 30-day key code from NetManage (you can do this via email). After that 30-day period, the program turns into a pumpkin (well, okay, not literally). You must then license a permanent copy of Chameleon from NetManage. You will find the self-extracting archives at:

Don't forget to read the readme.txt. It goes through the installation in great detail. Each one of the other four files is a self-extracting archive and is a mirror of an actual distribution disk.

NOTE: Chameleon did not originally ship with a World Wide Web browser. Because the current wave of trendy computer things-to-do has to do with the Web, NetManage had to make one available. An update to Chameleon (the original LAN-based version only) that includes WebSurfer is available at the following address:

Be sure to read the readme.txt concerning special installation instructions before you attempt to install WebSurfer.

Chameleon Sampler

Microsoft opted not to include dialup support in its version of WinSock. So third-party vendors saw only part of their revenue stream drying up (the LAN part). To remain competitive, NetManage created the Chameleon Sampler, which is a dialup-only version of Chameleon. In addition, NetManage bundled reduced versions of its application suite. Some applications, such as the FTP server, NetManage removed; other applications, such as the FTP client, NetManage simply trimmed down with respect to its feature set. The Chameleon Sampler is also freely available from NetManage and can be found at the following address:

This file is a self-extracting archive that expands itself into a directory. You then run setup.exe to install the actual sampler into your system. The setup program sets up the appropriate Program Manager group with all the necessary icons.

Internet Chameleon

To address the rapidly growing Internet-at-home user, NetManage created Internet Chameleon, which is basically a dialup-only Chameleon product with a couple of twists. First, it comes preconfigured to work with several national Internet service providers. Second, it comes with the entire suite of applications found in the Chameleon product plus NetManage's WebSurfer World Wide Web browser.

Internet Chameleon has a different licensing mechanism. If you opt to go with one of the national Internet service providers included in the package, you must give your credit card information; the cost of the software is part of your membership or setup fee. If you decide to go with a local provider, then you must pay for Internet Chameleon. You need an ID and a password to get Internet Chameleon to work properly.

Because of this licensing mechanism, NetManage has no problems with making Internet Chameleon available publicly. It doesn't run unless you validate yourself by one of the above mechanisms. But if you'd like to try it out, some of the national providers have trial periods. Both your account and the software have a timer that causes the software to refuse to work after this time period has expired. You can find Internet Chameleon at the following address:

Notice that there is a separate file for each disk. Be sure to read the associated readme.txt for instructions on how to utilize these self-extracting archives.

Internet WebSurfer

As if there were room for more products in the product line, NetManage created the Internet WebSurfer. It contains only the WinSock TCP/IP protocol stack (affectionately called NEWT) and the WebSurfer World Wide Web browser (okay, and a couple of miniapplications such as Ping); NetManage has graciously allowed us to include this package on one of the disks that come with this book.

Since the WinSock and a Web browser disk won't let you use some of the other major net services such as email, we have provided a second disk that contains some fantastic net tools such as Eudora.

NOTE: NetManage's WebSurfer application is not compatible with the Chameleon Sampler, which was shipped with the first edition of the Internet Starter Kit for Windows. In this case, I recommend that you use a more standardized Web browser such as Netscape Navigator.

Installation and Setup

Network software is typically not the easiest thing to install on your PC and requires the intervention of a systems manager or network-savvy user. In this case, you should have no problems because I am not going to explain the more difficult local area network configuration -- just PPP via a modem. Some of the information was covered earlier, but I am repeating it here to bring particular items into context with NetManage's WinSock TCP/IP protocol stack.

To install NEWT on your system, place the Internet Starter Kit for Windows disk 1 in your floppy disk drive, and from the Windows Program Manager bring up the Run dialog box from the File menu. You then type a:\setup to start the installation program.

NOTE: NEWT is the screen name of the actual WinSock stack. And if you happen to be doing any TCP/IP activity, such as running a WinSock application, NEWT is present. You can double-click on this and look at some of the types of TCP/IP traffic that are occurring.

The setup program then asks you if you would like to install the default directory c:\netmanag. You then proceed to copy and expand the files from the distribution disk onto your hard disk. After this process is finished, you are ready to configure NEWT.

Configuring NEWT is a little awkward because there is no NEWT application, per se. You need to start the Custom application by double-clicking on the Custom icon and enter the configuration values there (see figure 11.1). After Custom is set up, NEWT automatically launches every time you launch Custom.

Figure 11.1: Custom main window.

If you're a little nervous about IP terminology and you want to get started right away, I suggest that you take a peek at chapter 14. I've provided configurations specifically tailored for a bunch of Internet providers (see appendix B), which include all the parameters you need except the ones specific to your modem. However, if you don't want to use one of these providers, or you simply want to dive into IP, read on.

The first item on the agenda is to add a network interface by choosing Add from the Interface menu. You may choose any name that you like, but the interface type must match the network that you plan to use -- in your case SLIP, CSLIP (compressed SLIP), or PPP. You must first define the interface before you can configure any of the other parameters. I'll list and explain the parameters that I know need to be set for SLIP and PPP, and leave the less critical parameters (like SNMP setup) as an exercise for you.

IP Address

Your IP address uniquely identifies your computer from all the other computers on the Internet (it will be one of about four billion different, valid IP addresses). As you might guess, it is critical that this piece of information be correct, or nobody will know where to send information to you. There are essentially two ways of setting addresses (three, actually, but the third doesn't apply to SLIP or PPP, so I'm leaving it out).

Dynamic addressing is a term used by system administrators to describe a method of sending your computer an IP address as part of the login sequence when you attach to their system. If you use an Internet Starter Kit provider, check the table A.1 in appendix A for the provider that you will be using. If the third column is a "N," then you will use Dynamic addressing. If you don't use an Internet Starter Kit provider, just ask the provider you use. The important thing to note about dynamic addressing is that it really doesn't matter what you set the IP address to when you configure NEWT, because the address will be reset when you connect to the server. You should set yours to, because the default address of is the only address that will not work.

With static or manual addressing, the system manager assigns you an IP address, and you use this address forever (or until the systems change). To set the address, you would just choose IP Address from the Setup menu and type in the address that your system administrator gives you (see figure 11.2).

Figure 11.2: Custom IP address setting.

NOTE: You typically use static addressing in a local area network environment or in a situation in which there are very few dialup clients, because it's not an efficient method for a provider with many customers. Think about it for a minute. If a provider has 8,000 customers and uses static addressing, then the provider has to issue and track 8,000 IP addresses. However, if that same provider has only 200 modems that can be active at the same time, there's no reason to hand out more than 200 IP addresses at once, as happens with dynamic addressing.

Subnet Mask

Subnet masks are a way for the computer to determine the extent of your local area network. If I give the computer an address such as, the first thing that the computer needs to know is whether the address is local or somewhere out on the Internet. The explanation of how the computer determines this information involves fiddling with ones and zeros (which entails something called exclusive ORs) and coming up with essentially a "yes, it's local," or "no, it's not" response. For SLIP and PPP, this parameter is usually ignored because you are setting up a local area network of only two nodes, your own and the SLIP or PPP host. In cases in which you may need to choose a valid subnet mask, you have no choice but to seek the advice of your system administrator.

Host Name

In most cases, SLIP or PPP users don't require a host name. If you are using manual addressing, however, your system administrator may have assigned a host name to that address. Just choose Host Name from the Setup menu and type in what your provider gives you (see figure 11.3).

Figure 11.3: Custom Host Name setting.

Domain Name

You can think of a domain name as a text equivalent to the netmask, except that the domain name is used in a SLIP or PPP context. The domain name is the part of an Internet address that uniquely identifies the organization to which an address belongs. Most Internet addresses look something like machine.organization.type. "Machine" is the name of a particular computer, like migraine (named for the way it made me feel). "Organization" is the company, school, or other Internet entity name, like microsoft. The last part of the address, which I have called "type," is a designator that indicates what kind of organization this is. In Microsoft's case it would be com for commercial. So, if you assemble this fictitious address, you have The domain name here is

When you ask your PC to contact a machine with the name piggy, your PC automatically appends whatever domain name you have chosen to the address given. If, on the other hand, you give the PC a complete name (also called a "fully qualified domain name"), like, it correctly interprets the address as nonlocal and resolves the address via a domain name server lookup. Here again, ask your system administrator what the correct domain name is for you and set this with the Domain Name option in the Setup menu.

Default Gateway

The Default Gateway setting, located in the Services menu, is another moot item when you establish a SLIP or PPP connection. This parameter tells your PC where to send information if the IP address fails the "Is this local?" test of the netmask. If in fact you must set a netmask, you may also have to set a default gateway, according to information provided to you along with the netmask. This should be in the form of an IP address, and the machine associated with that address will probably not be a computer at all, but rather a router.

Domain Servers

Your domain server information is a critical configuration parameter that must be supplied by the system administrator. When you type in the address of some machine on the Internet, the computer must map that name onto an IP address in order to start communicating with the other machine. This process is done by asking a computer that knows about IP addresses, the domain server (also called a "domain name server"). To avoid a "chicken and egg" problem, the address for the domain server must be expressed as an IP address. You can set this item from the Services menu by selecting Domain Servers and typing in the IP addresses of one or more domain name servers.

Communication Parameters

Up to now, I've written about truly network issues, and I've saved everything having to do with serial ports, modems, and phone numbers for their own section. The actual settings in this section are extremely dependent on your own computer hardware and modem, but I'll describe things in general as best I can.


Your PC has either a modem attached to a serial port or an internal modem disguising itself as a serial port. Standard PC architecture allows for four serial ports, called COM1 through COM4, and you need to know which one your modem is attached to. You also need to set values for baud rate (speed), number of data bits, number of stop bits, parity, and flow control, and to enter the values into the Port dialog box, which you access through the Port option on the Setup menu (see figure 11.4). The baud rate is associated with the speed that your PC and your modem communicate (pick the highest speed that's likely to work, usually 38,400 for a 14,400 bps modem to account for modem compression capabilities). The other parameters are associated with the service provider's machine -- usually no parity, eight data bits, and one stop bit. Other settings are extremely uncommon and may not even work for SLIP or PPP.

Figure 11.4: Custom Port Settings dialog.

Some versions of NetManage, including the Chameleon Sampler and the WebSurfer Sampler, intentionally limit speeds to lower values. This, perhaps, is a way to entice you to purchase their retail products.


Hayes did the world a favor many years ago by producing modems that were so rugged and reliable that almost anyone that bought a modem bought a Hayes modem. What this has done is establish a de facto standard for modem command languages. When you bring up the Modem screen from the Setup menu, you see three basic modem types to choose from: Hayes, Telebit, and Multitech. My suggestions are simple. If you have one of these three types, choose the one you have. If you have anything else, choose Hayes, because it's likely that your modem manufacturer has implemented the Hayes command set (or a reasonable facsimile of it), and the Hayes setup sequences will work fine.


The Dial option in the Setup menu is pretty straightforward. In the Dial dialog box, type in the phone number that you need to dial to connect to your service provider. If you must enter a "1" and an area code to dial long distance or a "9" and a comma to get an outside line, enter those numbers here as well. All the other settings are optional, but you may want to bump the default time-out to 45 seconds if your modem, service provider, or telephone company takes a long time to make the connection. Choose the Redial After Timing Out box if you struggle with busy signals or other annoying characteristics of some service providers. Oh, and be sure to check the box for Signal When Connected so that you get a beep when you connect and are ready to access the Internet.

NOTE: If your telephone line has call waiting, make sure that you turn it off. Otherwise, your connection will be very unhappy (and you may lose data). The phone company usually has a set of codes that you must enter prior to dialing the regular phone number. This disables call waiting for the current phone call, but enables it for all subsequent calls. I hesitate to mention the exact codes because I have seen it three different ways, but it is *70 under my phone system. Look in your telephone company's white pages (near the beginning).


After you choose the Login option from the Setup menu, filling in the information in its dialog box does nothing but supply variable information to the scripting language that Custom uses. In the scripting language, rather than typing your username and password all over the slip.ini file, you type $u for username and $p for password, which enables Custom to replace the $u and $p with your username and password. That way, if you change accounts or something, you merely have to edit these settings rather than pore laboriously through the entire slip.ini file, looking for your username and password and changing them manually.


The slip.ini file contains a description of the login interactions for a number of service providers, including Northwest Nexus, the one I use. The format of these entries is similar to that of your win.ini or system.ini files. The slip.ini file includes an identifying section for the interface followed by two entries: a script defining the interaction with the host and the interface type -- SLIP, CSLIP, or PPP.

NOTE: Yes, even though the filename is slip.ini, it is still the repository for configuring any dialup communications, including PPP and CSLIP. Perhaps the odd name exists because SLIP predates PPP and NetManage had already named its configuration file slip.ini. Somehow this explanation seems fishy -- it's just a confusing name.

The scripting language itself is not well documented unless you purchase the paper packaging along with the printed manuals. The format is essentially send-expect, send-expect (where you alternate looking for information from the host machine and sending something in response, repeating as necessary). But there are special macros that accept the incoming IP address (-i) and send characters such as carriage-returns ($r). If you must create a new script for a provider that is not listed in the slip.ini that we've shipped, I suggest that you call NetManage for assistance. I've done this myself with excellent results.

NOTE: When I was building the script for Northwest Nexus, I needed to skip by the first IP address and pick up the second on a single line. The macro necessary to do this ($-) is now documented on page 35 of the Installation and User's Guide, included with the package after numerous complaints from users (well, okay, maybe it was just me using different voices many times).

Some Internet service providers, including Northwest Nexus, support PAP, the "Password Authentication Protocol," for any PPP connection. The dialog that goes on for validating your username and password is all defined within PAP, so the slip.ini entry is quite simple:

[Northwest Nexus]



If, on the other hand, you must deal with SLIP, which Northwest Nexus also supports (although it prefers that you get a PPP account), there is no PAP, so the scripting must be not only accurate, but also cryptic. Northwest Nexus's slip.ini entry would be the following:

[Northwest Nexus]

SCRIPT=login: $u$r word: $p$r to $- -i


Basic Usage

After you finish the configuration, using the Custom application is simplicity itself. Simply double-click the Custom icon in the WebSurfer Sampler group of the Program Manager. If you have everything configured correctly, Custom automatically launches NEWT, which is a cute green chameleon as a minimized icon.

After you establish the actual SLIP or PPP connection, leave Custom running, and the other WinSock applications should correctly interact with it.

NOTE: One major difference between using NEWT on a local area network and using NEWT with SLIP or PPP is that on a LAN, you can just launch the chosen WinSock application and NEWT starts automatically. I really like this feature, but it's not available in NEWT's serial interface. Here, you must launch Custom, which then launches NEWT.

If there isn't a time-out for nonactivity set on your service provider, it's easy to forget that you have a SLIP or PPP connection running until you start to wonder why nobody is calling you. Remember that closing all applications that use the SLIP or PPP connection does not kill the connection and hang up the phone.

Occasionally I would like to know whether the newest and coolest WinSock application is actually doing something while it's telling me that it's "retrieving." If you double-click on NEWT, you see that there are some ways that you can directly examine the WinSock stack. To see if there is any actual information being passed from the host to your own computer, choose Interface from the Statistics menu, which produces a dialog box that enables you to see how many packets of data are flowing in and out of your PC (see figure 11.5).

Figure 11.5: NEWT statistics.

The NEWT screen is the only place that shows your correct current IP address when you are using dynamic addressing -- an important point for you to remember. The IP address that you see on the Custom screen is always the one that you typed in, not the one that your computer picked up from the server. Personally, I'd like to see the correct current IP address on the Custom screen, too, but I haven't gotten around to asking NetManage to make this change yet.

Overall Evaluation

NEWT is one of the best of the SLIP or PPP implementations that I've used. I've spent more time with NetManage's Chameleon products than any other WinSock stack on the market, and the experience has been mostly good. I'm very pleased that NetManage, as a leader in the commercial WinSock market, was able to come up with a SLIP- and PPP-only version for the second edition of Internet Starter Kit for Windows.

For more details, contact NetManage, Inc. at the following address:

NetManage, Inc.
10725 North De Anza Blvd
Cupertino, CA 95014
408-257-6405 (fax)

NetManage Internet Chameleon

NetManage Internet Chameleon gets its own subheading because its installation process, even the marketing direction, is vastly different from any of the other Chameleon products. NetManage has partnered with almost a half-dozen national Internet service providers, so I've decided to describe it differently.

The programs that come with Internet Chameleon are a fairly comprehensive set of tools for Internet navigation. One nice surprise, and something that is lacking from most of the other TCP/IP network program suites, is a decent Archie client. With the addition of an Archie client, I now can easily do everything that I need to do on a daily basis by using only the NetManage products. I can't say that of any other vendor's suite of TCP/IP applications.

Installation and Setup

The one aspect of Internet Chameleon that bothers me is the "Instant Internet" installation. Once again, the instructions are flawless if you want to be a customer of one of the national Internet service providers that are embedded within the software. But if you are connecting to a local provider, ignore the Internet Chameleon's instructions completely because they fail -- at least when I tried them.

Install the files for Internet Chameleon by the usual method of putting the first disk into your floppy disk drive and typing a:\setup (assuming that you've put it in your a: drive). The setup program presents you with a setup screen, asks you what directory to put the files into (the default c:\netmanag is usually fine), and prompts you to insert disks two and three. It then asks you to type in a 16-digit serial number and a four-digit key code in order to validate that you have a licensed copy of the product. These numbers can be found in the paper packaging titled Quick Start Instructions. If you're not asked for the serial number and key code, then you have probably acquired the software by some means other than the local software store (such as by downloading it from the Internet), and you must use the Instant Internet setup in order to register and pay for the Chameleon software.

Now you are at the part that I find confusing in the setup for Internet Chameleon. If you are interested in getting an account with CERFnet, Portal, InterRamp, IBM Internet, or AlterNet, it's simple enough to fill in the account information and give the provider a credit card number to bill (see figure 11.6). The confusing part occurs when you want to choose your own local service provider. In this case, the instructions still ask that you fill in parts of the registration form and press the Send button. If I'm not purchasing anything (because I already have a registered copy of Internet Chameleon), and I know that I'm not buying service from one of the listed providers, why does Internet Chameleon need my credit card number?

Figure 11.6: Instant Internet Account Sign-Up.

When I clicked the Send button, however, I discovered that the program doesn't initiate a registration without a valid credit card number in the form. After playing around with the form a bit, I decided to provide a credit card number and let American Express sort it out for me if I got charged for something I didn't ask for. Once again, I clicked the Send button and was finally on my way. After starting the little traffic light show and connecting my modem to the provider's, the program presented me with the following three options: to sign up for a 30-day free demonstration, to license my NetManage software for $50.00, or to configure my software by using only the information that I filled in on the Instant Internet forms.

NOTE: Although there's a lot of talk and a fair amount of work being done right now to make sending credit card numbers over the Internet a secure process, you're not dealing with the Internet in this case. When the Instant Internet application dials and exchanges the credit card information, it is using a normal phone line, much like the little card-swipey things at retail stores these days. However, the process is about as secure as it can be, and you really have no choice.

I recommend the 30-day trial if you've never seen this stuff before. It's a unique opportunity to look at the things I've written about here, free of charge for 30 days. For me, however, the configuration-only option was the right one, so I chose that. After a short conversation with the host, my modem then hung up, saying "Invalid choice received, giving up." The only thing that I did not fill in was the Provider ID box -- which is listed as optional -- so I'm not sure what sort of invalid choice I may have made. The Instant Internet software wasn't telling either. I would have been a lot more upset if I weren't able to configure the software by using the Custom application and start using it immediately.

After Instant Internet failed to meet my needs as a configuration tool, I configured Internet Chameleon the way that I've done it in the past, with its Custom tool. I've written about configuration with the Custom tool earlier in this chapter and will cover it later on in this chapter as well. I also discuss configuring the software that comes with this book in chapter 14, so I won't do the step-by-step process here. Chances are that you've elected to use one of the regional service providers that we provide configurations for (see appendix A) or one of the national service providers (and Instant Internet does the configuration for you).

Overall Evaluation

I'm pleased to see that NetManage has distributed its more mature 4.x version of WinSock with Internet Chameleon, rather than sticking with the earlier product as distributed with the first edition of Internet Starter Kit for Windows. The earlier product was quite good in general, but lacked some features I think are now crucial.

The current version of Custom allows automatic redial of busy phone numbers and supports modems that compress data to achieve a data rate as high as 115,200 baud. I heard the most complaints about the lack of these features in the first edition release. The additions of an Archie client and a World Wide Web client are tremendously good ideas. However, both of these clients need to be developed a bit more before I'll abandon my current favorites to use them.

NetManage has a long history in the business of providing WinSock connectivity (relatively speaking), and its products show this maturity. I'm very fond of its simpler tools, such as Telnet and FTP, which have been around for years, and I'm still waiting for the more sophisticated Internet tools, such as Gopher, WebSurfer, and Archie, to mature in the same way.

Administrative Details

For more details, contact NetManage, Inc. at the following address:

NetManage, Inc.
10725 North De Anza Blvd
Cupertino, CA 95014
408-257-6405 (fax)