Previous generations of desktop operating systems lacked integrated TCP/IP support. Windows 3.x users had to acquire shareware or commercial TCP/IP stacks and applications. The lack of native TCP/IP support in the Windows 3.x environment created an opportunity for vendors to develop and market software to fill this void. Many vied in an extremely competitive arena to add TCP/IP capabilities to the 3.x environment.
The n came Windows95 and Windows NT. Both have an integrated TCP/IP-protocol stack, but these stacks lack rich application sets. Apple Macintosh users get TCP/IP support through the Open Transport software bundled with the MacOS. And Unix-based systems almost always include TCP/IP networking--TCP/IP traces its heritage to Unix systems and continues to prevail as its dominant networking scheme.
The demand for industrial-strength performance and reliability and the need for enhanced security continue to fuel the interest in third-party TCP/IP network software. The TCP/IP protocol is evolving to meet the needs of an ever-expanding Internet and the demands of complex commercial computing. The protocol must repeatedly be redefined to accommodate a larger universe of network devices, more complicated routing and switching environments and increasingly stringent security. IP version 6, TCP/IP's latest version, addresses these concerns and expands the IP address from 32 bits to 128 bits.
TCP/IP software produc ts e nhance or replace the capabilities built into an operating system. Administrators must weigh the cost of third-party TCP/IP network software against the relevant deficiencies of the software that comes bundled with their organizations' operating systems.
Third-party TCP/IP network software can include the TCP/IP kernel and/or a suite of applications. Some vendors specialize in developing protocol stacks that specifically offer performance, security and reliability improvements over TCP/IP kernels that come bundled with operating systems. Others offer application suites, targeting customers that are satisfied with the bundled TCP/IP kernel but need better applications. You also can find TCP/IP software that includes both a replacement protocol stack and an applications suite.
As previously noted, all modern operating environments include a functional TCP/IP kernel and at least a minimal set of network utilities. It's easy to become complacent and rely on this low-cost approach to provide TCP/IP support. And the all-in-one Web browser approach fulfills much of the need for TCP/IP-applications suites.
As organizations become heavily invested in the Internet and in their own intranets, the weaknesses of the low-cost approach will become more apparent. The Windows environment generates the most interest in TCP/IP network software. Microsoft bundles a basic implementation of TCP/IP with Windows95 and NT. Although the built-in software will work for many environments, some organizations require more advanced features.
The degree to which these weaknesses matter depends on the organization's network infrastructure and security requirements. A decision to use AFS or NFS for shared file services, for example, dictates the need to purchase software that provides this capability. Security strategies that depend on specific interactions between clients and firewalls may also impose the need for specialized TCP/IP software on the desktop.
Organizations that are early IPv6 or IP Sec adopters, or that have developed applications that require WinSock 2.0, will need to look beyond the TCP/IP kernel bundled with Windows95 and NT. For up-to-date technical information on WinSock 2.0, IP Multicast technologies and the like, visit Stardust Technologies on the Web at www.stardust.com. Stardust Technologies does not produce TCP/IP network software, but it provides interoperability testing for TCP/IP network software and promotes various technical initiatives.
TCP/IP kernel software integrates TCP/IP into a computer's operating system, following a layered approach. Device drivers define the hardware characteristics of the network card or modem to the operating systems. These device drivers integrate with a low-level software interface, such as Network Driver Interface Specification (NDIS), Open Data-Link Interface (ODI), or packet drivers, which control how the network card transmits and receives data, independent of specific network protocols.
At the next layer, a set of routines defines how data packets will operate under the rules of specific network protocols like TCP/IP, IPX or NetBIOS. At this layer, network-layer constructs, such as TCP and User Datagram Protocol (UDP) sockets, are defined to the operating system. The TCP/IP kernel software ultimately delivers a complete set of network capabilities through a standard programming interface.
Network software is wri tten in logical layers. The TCP/IP kernel operates between the network hardware and the network application software. The lower layer of the stack interfaces with device drivers for the network hardware (Ethernet card, ISDN card or modem). TCP/IP kernels must be designed to share network hardware with other protocols, such as IPX and NetBIOS, using multiprotocol interfaces like NDIS or ODI. The higher layer of the stack takes the form of a programming interface that services network requests from applications. The top and bottom of the stack are defined by the requirements of the hardware and software interfaces. The kernel itself is proprietary software that must implement the protocols that connect these two interfaces (see "TCP/IP Network Layers," on page 184).
In the Windows environment, the Windows Sockets application programming interface (API) lies at the top of the TCP/IP kernel and performs the network-related tasks of higher-level application programs. WinSock 1.1 has long been the standard for integrating TCP/IP into the various Windows flavors. WinSock 2.0 extends the capabilities of the earlier version by enhancing the features available for TCP/IP and by supporting other network protocols, such as IPX. Look for WinSock 2.0 support if your organization develops multiprotocol network software or if it's considering implementing applications based on this version of WinSock.
TCP/IP kernel features include ease of installation, configuration and administration. When considering TCP/IP products, look for support of BOOTP or DHCP for automatic configuration because few system administrators have time to manually configure every workstation. Also, the TCP/IP kernel must be tightly integrated into the operating system to achieve stability and high performance. Don't be satisfied with a sluggish network kernel or one that causes the operating system to crash.
You need application programs to take advantage of a TCP/IP network. A package of TCP/IP programs and uti lities, or application suites, forms the more tangible aspect of TCP/IP network software, in contrast to the kernel, which operates out of sight. Programs within a TCP/IP suite range from command-line utilities to graphical clients. A well-designed application suite integrates a collection of programs that blends with similar user interfaces. The following applications are typically included in TCP/IP application suites.
- Remote login Telnet and rlogin let you connect to a remote computer and execute commands and programs. Telnet applications have become relatively sophisticated programs. Host-based software often depends on terminal-emulation features, such as cursor and font control, graphics, complex command sets and other routines. Run-of-the-mill telnet software implements the terminal characteristics of Digital Equipment Corp.'s VT-220, but others offer more advanced capabilities. Some telnet clients emulate IBM's 3270- and 5250-style terminals and Tektr onix's graphics terminals. Telnet clien ts can use programming interfaces to intercept data streams from the terminal and channel them into other applications.
- File transfer FTP and TFTP transfer data among computers on a TCP/IP network. Look for an FTP client that follows a point-and-click or drag-and-drop interface modeled after the file browsers that are integrated into the desktop operating system, rather than one based on Unix-like commands.
- Network printing Network printing is a traditional TCP/IP applications suite feature. TCP/IP networks can share printers through the Unix-like line printer protocol (lp and lpr) or through print services associated with Network File System (NFS). However, the prevalence of network-ready printers and built-in support for network printing lessens the need for TCP/IP-protocol usage for sharing printers.
- Administrative utilities A number of utilities associated with TCP/IP networks support network administration. Some of the common ones include ping for verifying basic connectivity through Internet Control Message Protocol (ICMP) echo requests, traceroute for analyzing network paths through routers, and nslookup to verify DNS functions. Some suites include a TCP/IP monitoring utility that displays packet statistics, network errors and configuration information.
- E-mail E-mail permeates most organizations. TCP/IP suite options for e-mail include proprietary messaging systems, as well as messaging systems that follow standards, such as Simple Mail Transfer Protocol (SMTP), Post Office Protocol version 3 (POP3) and Internet Mail Access Protocol version 4 (IMAP4). Most TCP/IP-applications suites include a POP3 e-mail client. When choosing your TCP/IP applications suite, make sure the inclu ded e-mail client is closely tied to your messaging strategy and the type of mail server implemented.
- X Windows Organizations involved in Unix-based computing may need to integrate applications from that platform into their PCs and workstations. The X Windows system, through OpenWindows and Motif implementations, offers a graphical windowing environment that is widely implemented in Unix-based systems. But, to run X Windows applications on a PC, you'll need an X Server. X Windows implementations for non-Unix systems were marketed as separate packages or through enhanced (in other words, more expensive) versions of TCP/IP network software.
Web Browsers: The Killer App
The Web browser strives to be the all-in-one information access tool and is today's TCP/IP killer application. In previous generations of TCP/IP network software, vendors placed great emph asis on the multitude of applications and utilities packaged together, but today, business computing has converged on the developme nt of intranets where data from diverse databases and applications are distributed through Web servers.
Natively and through add-ins, browsers present text, graphics, sound and motion. The Web browser also has subsumed the functions of the gopher client, news reader and mail client, Internet Relay Chat (IRC) client and FTP utility. Through Common Gateway Interface (CGI) and other middleware gateways, users with Web browsers search, retrieve and update information in databases and other applications.
For many organizations, a built-in TCP/IP stack and Web browser will meet all of their needs, though some users may need a few traditional TCP/IP utilities. In many cases, only application developers and network administrators require the full complement of TCP/IP network utilities.
Client/Server Applications The last decade has seen the steady migration from host-based computing to client/server applications. Many organizations have developed custom applications or have implemented off-the-shelf sy stems that require a TCP/IP stack on the client workstation, even though they may not use standard TCP/IP utilities and applications. Clients that operate through a GUI have usurped a previous generation of software applications that relied on terminal-based interfaces.
Client/server applications often use nonconventional TCP sockets and may have other quirks that demand a very cleanly implemented TCP/IP kernel. If your organization's environment relies on a TCP/IP-based client, make sure that the kernel you select for your workstations is fully compatible.
Mobile computing usually involves the need for dial-in access to the corporate network or to the Internet. TCP/IP software may be used on a local network, or it may rely on dial-up access via a modem. It is especially useful for notebook computers to be able to operate in either environment.
That' s not all. Can you easily switch between network and dial-up access? Can you do both simultaneously? For example, you shou ld be able to connect to other computers in your home office via a LAN and be able to dial into the network simultaneously. Does the software support Point-to-Point Protocol (PPP) or Serial Line IP (SLIP) access via a modem? There's no standard way for connecting to and logging into remote networks. Whether it's done through an Internet service provider (ISP) or a remote connection to the organization's internal network, some set of commands must be negotiated to authorize the user and initialize the PPP or SLIP connection. Most TCP/IP packages let you automate this process through a scripting language. You should carefully consider the range of modem types and communications speeds supported in the package before you buy anything.
File and Print Services
NFS lets users access file systems on a remote server as if it were local. Many organizations use NFS for distributed file services rather than alternatives such as Novell NetWare or Microsoft Windows NT. NFS' differentiating factors include m anagement of user authentication and security, performance and integration of directory services (NIS, NIS+ or X.500). Find out if the TCP/IP stack includes only the client side, which lets the user mount file systems from remote servers, or if it also includes an NFS server, which lets users export their directories for other users.
Andrew File System (AFS) and Distributed File System (DFS) offer advanced capabilities over NFS. Security and performance are the two main issues of concern. NFS has earned a reputation for having weak security, while AFS and DFS use Kerberos--a ticket-based authentication system--to lock down access. It's also important to note that NFS implementations that operate via a WinSock interface generally offer poorer performance than those that are implemented in the kernel.
Marshall Breeding is the technology analyst for the Heard Library at Vanderbilt Unversity. He can be reached at firstname.lastname@example.org.