Continue to Winsock
Go back to Internet Services
Return to Contents
It is helpful to know some Internet terminology when working with your local network specialist or Internet service provider to make your PC a host on the Internet. The two common modes of Internet access are through a direct network connection or through a serial connection to a SLIP or PPP server.
A direct network connection involves installing a network interface card (NIC) in your PC. Most likely this will be an ethernet card. This card in turn is connected to your organization's local area network. Wiring usually consists of coaxial cable (as in thin-wire ethernet) or twisted pair telephone wiring (as in 10Base-T ethernet). The local network in turn must be connected to the Internet, and it must be capable of handling TCP/IP data packets.
TCP/IP (Transmission Control Protocol/Internet Protocol) is the method by which data on the Internet is divided into packets of bytes. Each packet is delimited with header information that includes the destination address where the packet is to be routed when it is transmitted over the Internet. The local network and your PC may also be using other network protocols simultaneously with TCP/IP. For instance, your PC may already be connected to a network using Novell, LANtastic, or Windows network protocols. A standard Microsoft protocol for connecting machines running various versions of Windows is known as NetBEUI (NetBIOS Extended User Interface).
Several layers of software are involved in implementing a direct network connection. The ease with which these layers are installed and configured depends on the version of Windows that you use.
If the PC has a direct connection to the Internet, there must first be software to control the network interface card. A method commonly used with Windows 3.1 is to install a piece of software called a packet driver that deals directly with the network interface card. The packet driver is loaded under DOS from the AUTOEXEC.BAT file as a TSR (terminate and stay resident) program. A packet driver should be included with the software that comes with the network interface card. If the manufacturer of the card does not supply a packet driver, free packet drivers are available in the Crynwr Packet Driver Collection. A packet driver would not normally be used on machines running Windows 95 because Win95 includes its own 32-bit NDIS (Network Device Interface Specification) drivers for a wide variety of network interface cards.
When a direct network connection is not available, Internet TCP/IP software can be used via phone lines to connect to a SLIP (Serial Line Internet Protocol) or PPP (Point to Point Protocol) server that provides a connection to the Internet. SLIP and PPP do not require a packet driver since there is no network card involved. They do, however, require a SLIP or PPP driver that communicates through the serial port. The Trumpet Winsock shareware package and Windows 95 both include SLIP and PPP drivers. The TCP/IP add-on package for Windows for Workgroups does not support serial communications, however.
The user first obtains an account on a SLIP or PPP server. Connecting to the Internet involves dialing the server using normal serial communications software and establishing a SLIP or PPP session. Once the session is established, TCP/IP software running on the PC can be used just as if the PC was connected directly to the Internet through a network card. SLIP and PPP users are well advised to settle for nothing less than transmission at 28,800 bits per second. World Wide Web especially transmits a great deal of data when images or sound are involved. Slow modems and slow connections will discourage anyone but the most dedicated user from exploring the possibilities of the Internet.
The next layer of software is the TCP/IP driver, which can be implemented in a variety of ways. In 1993, 16-bit TCP/IP was often implemented as another DOS TSR program loaded from the AUTOEXEC.BAT file. Somewhat later this layer of software was implemented as a Windows dynamic link library (DLL) or virtual device driver (VxD). The DLL and VxD implementations do not require any modification of the boot files on the PC.
The TCP/IP driver, which implements TCP/IP functionality for the system, is referred to as the TCP/IP protocol stack. This driver may be written to interface with a packet driver, as is the case with the Trumpet Winsock package. The advantage of having a TCP/IP stack that interfaces with a packet driver is that a particular TCP/IP stack from one vendor can be used with any network card for which an associated packet driver is available. Thus, the packet driver specification eliminates the need for software vendors to provide hardware drivers for every possible network card that might be used with their TCP/IP stack. When using a packet driver with Windows 3.x applications, another DOS TSR referred to as a virtual packet driver may be required to interface between the Windows-based TCP/IP protocol stack and the DOS-based packet driver.
The TCP/IP protocol stack included with Windows 95 does not use a packet driver interface with the network card. Instead, Windows 95 provides drivers for most popular network cards. Hardware vendors now provide Windows 95 drivers for their network cards, just as they provided packet drivers in the past. Although packet driver based TCP/IP stacks from other vendors can be used with Windows 95, it is far preferable to use the 32-bit TCP/IP support integrated into Windows 95.
TCP/IP client applications work at the top of the layers of software so far described. Client software runs independently of the type of connection to the Internet. TCP/IP applications frequently are referred to as clients because they access a corresponding server (a daemon in UNIX terminology) on another machine. An FTP client, for instance, is the application on the user's machine that accesses the FTP server running on a host computer located elsewhere on the Internet.
Until about 1993, each TCP/IP client had to be written to interface with a particular vendor's TCP/IP protocol stack. Clients that worked with one vendor's TCP/IP driver would not work with a driver from another vendor. This restriction was eliminated with the development of the Windows Sockets Application Programming Interface, otherwise known as the Winsock API, or more simply Winsock. Winsock works in the layer between the TCP/IP client and the TCP/IP protocol stack. Winsock is the reason that all the applications that I used with Trumpet Winsock under Windows 3.1 worked just fine, if not better, under the Windows 95 TCP/IP stack.
Continue to Winsock
Go back to Internet Services
Return to Contents
Revised: December 28, 1999
Harry_M_Kriz , [hmkriz@vt.edu]