A Guide to Finding the Best Route

As a Windows NT user, there are several routes from which you can choose to get to the Internet. These options allow you to choose the Internet connection that makes the most sense based on your budget, geographical location, network (or lack thereof), and access requirements (i.e., what you want to do when you get there). Each route relies on different protocols and network services and has different good points and bad. In brief, you have three choices:

1. Dial in to an Internet host as a terminal and log into a "shell" account. Once you log in, you rely on that host's facilities to access the Internet. (Shell is a UNIX term for the interactive user environment.) Different kinds of shells are available (e.g., the Korn shell, the Bourne shell, the C shell, etc.), but they all support the same basic set of Internet services.

2. Attach to the Internet via a wide-area connection and function as an Internet node. Your system can initiate client connections to Internet servers and also act as a server for other Internet clients (if you are running Windows NT Server). This style of access can operate over a variety of physical links, including dial-in connections, permanent (leased) phone lines, and Integrated Service Digital Network (ISDN) links.

3. Connect to the Internet through a LAN-based gateway. Your system can function as a client, a server, or both. The gateway handles the physical wide-area connections to the Internet. Your system communicates with the gateway over a standard LAN attachment (e.g., Ethernet, Token Ring, Fiber Distributed Data Interface (FDDI), and so on).

All three options provide you with functional connections to the Internet, but each one approaches the connection from a different perspective. Let's look at each of these routes in greater detail.

Terminal Access
To access the Internet as a terminal, you need terminal-emulation software for your system. This software must provide two basic services:

1. The ability to emulate a Digital VT100, VT220, or virtually any well-known ASCII terminal. Most Internet hosts support a wide variety of terminal types, but VT100 emulation is always a safe bet. Also, make sure your shell account is configured for the same type of terminal as your software (look for a TERM= statement in the profile file in your default directory).

2. Support for one or more PC-oriented file-transfer protocols. These protocols allow you to transfer a file from an Internet host to your system. A wide variety of transfer protocols are supported, but Kermit, Xmodem, and Zmodem are the most popular and widely available choices. You can initiate transfers from your system or from the Internet host.

  • To send a Zmodem file from the Internet host to your NT system, you would issue the following command on the host: sz <file name>. Your terminal emulator would automatically detect the transfer and start receiving the file. To send a file from your system to the host, you would issue the following command on the host: rz <file name>; then you would initiate the transfer with your terminal-emulation protocol.
  • To send an Xmodem file, you would follow a similar command structure (sx to send and rx to receive).
  • Kermit uses a different and more complicated interface. If you use Kermit, ask your Internet Access Provider (IAP) for information.

Virtually any terminal-emulation package can satisfy the basic requirements, including the NT Terminal accessory (see Figure 1).

However, the terminal-emulation approach is not without its disadvantages:

You can't apply the power of your NT system to Internet access. Instead, your top-of-the-line system acts like a run-of-the-mill dumb terminal, and you use the horsepower of the host to access Internet services. Your system probably has more CPU, disk, and memory resources to spare than the host does. For example, instead of being able to initiate Telnet (terminal access) or File Transfer Protocol (FTP) services from Windows NT Workstation, you must invoke them using host-based software.

You can't view graphical information on-line. Since the World Wide Web makes heavy use of graphics, when you access the Web through terminal emulation, you only have on-line access to the text. To view the graphical images you must download them and look at them off-line.

You can't hear audio or experience multimedia on-line. A character-based terminal emulator doesn't have these capabilities. However, as with graphics, you can usually download these files if you want.

File transfer is usually a two-step process. First, you transfer a remote file to the host; then, you download the file from the host to your system. Some programs, Gopher being the most notable, can initiate a direct download from the remote Gopher host to your NT system.

Your email--both read and unread--resides on the Internet host. If you want a copy on your system, you must specifically download it. Most hosts don't have user-friendly menu structures to greet you; instead, you see a command-line prompt after you log on. At a minimum, you must start the front-end program (e.g., Telnet, FTP, Gopher, etc.) that handles the Internet service you want to access. More realistically, you'll have to learn a dozen or so native commands (e.g., UNIX commands) so you can view your directory, edit files, delete files, rename files, and so forth.

Some of the drawbacks to this approach are pretty formidable. But, to be fair, there are also advantages to terminal emulation:

It's inexpensive. All you need is a modem, a phone line, and virtually any communications package.

It's simple to set up. If you can install a communications program and make your modem dial a number, you can do it.

It allows you to access the Internet from almost anywhere. You can dial in from any computer system that has a modem connected and communications software installed.

It's platform-independent. If you can't find an NT system, you can use a Mac, a DOS PC, a UNIX workstation, an OS/2 PC, or even a dumb terminal.

Wide-Area Node Access
The simplest way to connect a single system to the Internet and allow it to function as a full-blown Internet node is to use the Serial-Link Internet Protocol (SLIP) or Point-to-Point Protocol (PPP). Both operate over a variety of wide-area connections, including dial-in phone lines, leased lines, and ISDN connections. When you use a SLIP or PPP connection, your NT system connects to an Internet host, and that host acts as a router for all Internet traffic going to or from your system (see figure 1).

SLIP and PPP come from the UNIX environment, and both are used by UNIX systems to connect to the Internet over serial connections. In the NT environment, SLIP and PPP operations are configured under the Remote Access Service (RAS), which is NT's facility for linking to remote networks over wide-area connections (see "The SLIP/PPP Route").

SLIP and PPP are different protocols that accomplish the same goal. SLIP is the older of the two and is dedicated to Transmission Control Protocol/Internet Protocol (TCP/IP) networking. PPP is a more recent, general-purpose protocol that can be used on other types of networks as well (i.e., TCP/IP, NetWare, DECnet, etc.). PPP is also more flexible than SLIP because it can negotiate options (e.g., which protocols to use, whether or not compression is available) during the initial connection. Despite these differences, however, I'll discuss SLIP and PPP together because they accomplish the same results.

SLIP and PPP operate over standard asynchronous dial-in, leased-line, or ISDN connections. Once the end-to-end link is established between your NT system and the Internet host, your system becomes a full-fledged Internet host itself. It can run standard TCP/IP client services, such as Telnet, FTP, and SMTP (Simple Mail Transfer Protocol).

Furthermore, because your system is an Internet node, you can provide TCP/IP server services on the Internet. You can, for example, run Microsoft's FTP Server application and turn your NT system into an Internet file repository. Or you can run the European Microsoft Windows NT Academic Center's (EMWAC's) Hypertext Telnet Protocol (HTTP) server software or one of the commercial packages available and turn your system into a Web server. You can even offer both services, if you wish. However, providing server services is only practical if you have a leased-line or ISDN connection. You don't want to have to maintain a dial-in connection 24 hours a day!

As powerful as the SLIP/PPP approach is, however, it too has its disadvantages:

It is usually more expensive than a terminal connection.

Setting it up is a more difficult task than setting up a simple terminal connection.

It requires a permanent IP address and a related username/password identification. This information must be configured on both your Windows NT system and the Internet host. It effectively locks you into using that specific NT system with that specific host for your Internet access.

On the flip side, however, a SLIP/ PPP connection also offers some powerful advantages:

It uses the power of your NT system to deliver Internet access. Instead of running Telnet, FTP, or other services using host-based software (as in the case of terminal emulation), you can use NT client software to initiate these services.

File transfers are a one-step operation. Whenever you transfer a file using NT client services (e.g., Gopher, FTP), the file is placed directly on your NT system.

You can do everything you can with terminal emulation.

To access capabilities on the Internet host, you simply initiate Telnet access to it first.

You can automatically download and store mail on your NT Workstation. Instead of using host-based email services, you use an NT client package that supports one of two TCP/IP mail-oriented protocols:

  • SMTP is used to send email from one Internet host to another over a permanent connection. In the SLIP/PPP environment, SMTP is used to send email from the client (your NT system) to the nearest mail server (normally your Internet host), where it is forwarded to the appropriate destination. If you have a permanent connection between your NT system and the Internet, you can also use SMTP to receive mail.
  • If you are dialing in, however, you should use the Post Office Protocol. POP allows a client system to retrieve email from a mail server (e.g., your Internet host) on an on-demand basis. Under POP, the mail server stores email addressed to a client system until that client specifically requests it. Then, the mail is downloaded to the client and removed from the mail server. The POP approach contrasts sharply with the SMTP approach, which sends email assuming that the destination system is always available.

The NT implementation of TCP/IP (including SLIP/PPP) supports the Windows Sockets (Winsock) 1.1 specifications. Therefore, you have access to a wide variety of NT and 16-bit Windows public-domain and commercial Internet tools.

SLIP/PPP allows your NT Workstation to be a fully functional client system. Therefore, you can access any kind of information on the Internet, including graphical, textual, audio, and multimedia data presented by Web servers--providing you have installed a Web browser such as the public-domain Mosaic from the National Center for Supercomputing Applications (NCSA) or the commercial Netscape Navigator.

If you have a dedicated, 24-hour Internet connection, your NT system can be an Internet server.

It's currently one of the most economical ways of providing full-featured Internet services.

An alternative approach to implementing a SLIP/PPP connection has recently appeared on the market. The Internet Adapter (TIA) from Cyberspace Development runs as a user program on an Internet host and emulates SLIP. It allows Windows NT systems and others to get the advantages of a SLIP account without requiring formal SLIP configuration on the host. TIA is not yet widely available. It costs about $25 for a single-user license (available from SoftAware); multiuser licenses are available from InterMind Corporation.

As good as SLIP/PPP sounds, however, it may not be the best solution for every environment. For example, if you have a LAN with multiple systems that all need to access the Internet, it's usually too cumbersome to give each individual system its own SLIP/PPP link. In this case, you need a solution that can accommodate multiple systems; you need to use a gateway.

Gateway Access
Multiple NT systems operating in a LAN environment can share access to the Internet through a gateway. At its most basic level, a gateway allows the traffic from one logical or physical network to cross over to another. More to the point, it allows traffic from your LAN to flow to the Internet.

You can implement a gateway in software or hardware. Regardless of which method you choose, the gateway must communicate both with the local systems on your LAN and with the Internet using well-defined TCP/IP protocols and standards.

Gateways are important to the structure of the Internet which is actually a huge, worldwide TCP/IP network connecting over 1.5 million host computers. As with most large networks, the Internet is composed of a series of smaller networks connected by gateways. These gateways route traffic in two ways: through an Internet host and through other gateways.

Gateways that rely on an Internet host use protocols and techniques that are relatively easy to understand. There are two popular approaches to these gateway connections:

1. Use SLIP/PPP to interface with an Internet host which provides routing services. This is the same SLIP/PPP that you can implement on your own system. When it is used in a gateway application, however, the connection is shared among many local systems. When a local computer sends a message, the gateway relays it to the SLIP/ PPP host, which then forwards it to the Internet. This approach allows the full range of Internet applications (e.g., Telnet, FTP, Mosaic) and is economical to implement.

2. Use the UNIX-to-UNIX Copy Protocol (UUCP) to dial in to an Internet host and send or receive queued mail and files. The most practical application for UUCP is batch transfers of email where it collects Internet email generated by other systems (typically using SMTP) and queues it for delivery. The gateway dials the Internet host periodically, sends any queued messages, receives any incoming messages for local computers, and delivers the received email via SMTP or POP. Those hosts that support UUCP are known as the UNIX-to-UNIX Network (UUNET). Access to the UUNET is available via local exchange numbers in most areas.

The major drawback of both of these approaches is that if the host computer crashes, the gateway and all of its local systems are disconnected--not a good situation to have for important Internet connections.

Gateways that connect directly to the Internet do not rely on Internet hosts; instead, they communicate with other gateways to facilitate the flow of traffic. This approach significantly increases the reliability of a connection, because an Internet gateway is only affected by a breakdown in its wide-area connection or by a major problem within the Internet itself.

All direct-connect Internet gateways are not alike (see Figure 2 ). Gateways that maintain the Internet backbone differ from those that connect subnetworks to the backbone. Gateways that connect local networks to subnetworks are also different. The following are the three types of Internet gateways:

  1. Core-exterior gateways maintain the Internet backbone. They use a unique Spread communications protocol to share routing information with one another. These gateways are the heart of the Internet.
  2. Non-core-exterior gateways interface subnetworks to the Internet. They use the Exterior Gateway Protocol (EGP) to communicate with one another and with the core-exterior gateways. You would deploy a non-core-exterior gateway at your local site. The downside of this type of Internet connection is the cost--it typically costs thousands of dollars a month to operate.
  3. Interior gateways are deployed on networks that do not directly connect to the Internet. They can, however, gain access to the Internet by routing traffic through one or more non-core-exterior gateways.

Routing Decisions
To take advantage of a gateway, your local NT system must know when it should route a message through a gateway, what gateways are available for use, and which networks those gateways access. For example, you may use one gateway to connect to the Internet and another for other business connections. Your system must be able to determine which gateway, if any, is appropriate for each message it sends.

The key element in determining whether or not a message should be routed through a specific gateway is the IP address of the target system. In TCP/IP, each system has an IP address composed of a network identifier and a system identifier. A message going to a system on another network must go through a gateway. So, each system must be configured with information about the available gateways and the networks they access.

Identifying gateways is a relatively simple process that associates target networks with gateway addresses. For example, one gateway may provide the connection between networks 192.0.1 and 192.0.2 while another gateway is the default gateway to be used for unresolved traffic. In this case, traffic flows through the default gateway if no explicit gateway path is established for it.

Since the Internet is composed of many smaller TCP/IP networks, access from a local network usually goes through a default gateway. In large private networks, however, multiple gateways are often deployed. The catch-all role of the default gateway ideally suits it to handle Internet traffic.

In the NT environment, you establish a default gateway for your system and then declare additional gateways on a dynamic basis. The exact method you use to set up a default gateway depends on whether or not you are using a Dynamic Host Configuration Protocol (DHCP) server. \[Editor's note: Windows NT Magazine will discuss DHCP in detail in the next issue.\] If you are, you configure the default gateway in the DHCP server, which then informs your system (and any other DHCP clients) of the assignment. If you aren't, you must manually configure the default gateway in your system when you configure the TCP/IP network attachment.

In both cases, additional gateways are configured via the route command issued from the NT command-line prompt. You can use this command to show all current table entries as well as to add, change, or delete entries. UNIX systems use a slightly different route command to maintain routing tables.

A Small Price to Pay
There are lots of routes available to the Internet. Which road is best for you? Believe it or not, there are a couple of signposts to help you decide:

  1. It's best to connect a single NT system via terminal emulation or SLIP/PPP. However, terminal emulation exchanges graphics and multimedia support for a low monthly cost.
  2. It's best to connect a network of NT systems with a gateway. You can establish a mail-only gateway using UUCP, or you can implement a SLIP/ PPP or non-core-exterior gateway to enable the full range of Internet services.

The final choice of an Internet connection is yours. But remember, the services and information available on the Internet are far more valuable than the toll required to gain access.