9 Apr 1995
Once the phone actually dials and the Warp system connects to a network, the most common complaint of users is that the application programs (FTP, Gopher, Web Explorer) report that they cannot find any of the named server machines. This means that the user failed to configure the address of a Name Server or that the application cannot find the configuration files.
Each server has a domain name. The PCLT server is called "pclt.cis.yale.edu." There is a network of interconnected name servers that will translate this or any other machine name into the IP address needed to route messages to the server through the network. Each client machine is configured with the IP address of the name server in the network to which he is directly connected. That server handles requests for local servers, and forwards requests for information about servers in other organizations.
IBM supplies a routine that simple programs can call to lookup a name. Unfortunately, there is no way to predict how long it will take to get back a response. A query about a machine in Australia will have to go to Australia for resolution. In Unix or in traditional character mode applications, this isn't a problem. However, if a Windows or OS/2 graphic application executes a name query directly, then the mouse pointer can turn into an annoying hourglass or watch and user input gets locked out until an answer is returned. Since the Name Server protocol is extremely simple, many programs will send the query to the server and then wait for a reply with user input unlocked.
This means that the information about the Name Server has to be available not only to the Internet Connection, but also to all the OS/2, Windows, and DOS programs that run under Warp. For reasons not entirely clear, IBM has chosen to separate the DOS/Windows configuration files from the OS/2 files. When the Internet Connection is installed, nearly identical files are constructed in the \TCPIP\ETC and the TCPIP\DOS\ETC directory. Although these directories should not, in theory, be very hard to find, the Internet Connection routines require that there be an environment variable set to point to them:
SET ETC=E:\TCPIP\ETC is put in the CONFIG.SYS for the OS/2 programs
SET ETC=E:\TCPIP\DOS\ETC is put in AUTOEXEC.BAT for the DOS/Windows programs
Unfortunately, the AUTOEXEC.BAT file is reinitialized every time that DOS or WINOS2 support in reinstalled by the Selective Install process. The symptom is either that OS/2 programs can find a host, but a DOS or Windows program cannot find it, or else DOS/Windows programs report something cryptic about being unable to find a "service". The missing SET statement need to be edited back into the AUTOEXEC file.
Assuming that the two environment variables are now in place, a failure to resolve host names would then mean that either the RESOLV or HOSTS file is missing. The "\TCPIP\ETC\RESOLV" file (yes, it has no dot or extension, 'resolv' is the entire name) defines the name server address and the suffix added to all machines in the local network:
domain cis.yale.edu
nameserver 130.132.1.9
If this machines is configured to have the name "fred", then the first line says that its full name is "fred.cis.yale.edu". The second line says that the Name Server in the local network is at 130.132.1.9 so all requests for name resolution should be sent to that address. There should be an identical \TCPIP\DOS\ETC\RESOLV file to handle name resolution for DOS/Windows programs.
Most Unix systems can act as Name Servers. There is also an optional package for the full TCP/IP for OS/2 product that can turn an OS/2 machine into a Name Server for a network. Even so, a small network with a few machines may not want to go to all the trouble of maintaining a server. For this purpose, the \TCPIP\ETC\HOSTS and \TCPIP\DOS\ETC\HOSTS files provide a list of IP addresses and machine names.
130.132.21.58 PCLT
128.123.35.151 HOBBES
The hosts file can include long names or nicknames. Generally, the TCP/IP code will check the HOSTS file first for a name, and if it is not found there then the code will send a query to the nameserver.
Copyright 1995 PC Lube and Tune -- Windows on the World -- H. Gilbert