Networking on z/OS
Previous topic | Next topic | Contents | Glossary | Contact z/OS | PDF


A good resolver is hard to find

Networking on z/OS

The resolver configuration file defines the operating characteristics of IP applications.

For readers familiar with TCP/IP implementation on UNIX-style platforms, you might have experience with a file called /etc/resolv.conf. The resolv.conf file is referred to as a resolver configuration file or the TCPIP.DATA file.

So why are there two names? It harkens back to our discussion of MVS and its UNIX subset; it all depends on whether the application is a z/OS UNIX application or a native MVS application.

First, however, we need to describe how a resolver configuration file is used. The TCP/IP profile data set defines the operating characteristics of the TCP/IP stack. However, that is not quite enough. There are a few operating characteristics associated with IP applications that must also be defined. The resolver configuration file defines the operating characteristics of IP applications. A sample resolver configuration file can be seen in Figure 1.

Figure 1. Sample resolver configuration file
 DOMAIN XYZ.COM
 HOSTNAME MAINFRAME
 NAMESERVER 200.1.1.1 200.1.1.2
 TCPIPJOBNAME TCPIP
Most of these statements should be recognizable to those familiar with IP on UNIX-style systems.
DOMAIN
This statement identifies the domain name system (DNS) domain origin for this host.
HOSTNAME
The host name (highest qualifier) of the fully qualified host name for this host. When concatenated together, the host name in Figure 1 is MAINFRAME.XYZ.COM. (The domain name system is not case sensitive, by the way.)
NAMESERVER
If an IP application needs to resolve a host name to an IP address (or the opposite), it uses one of these IP addresses to contact a name server. Often, on z/OS, the statement NSINTERADDR is used instead of NAMESERVER.
TCPIPJOBNAME
This statement identifies the started task name (job name) of the TCP/IP stack that an application can be associated with. It might not be used but should always be coded!
Note: What is meant by stating that the TCPIPJOBNAME statement "might be used?" In an MVS environment, the TCPIPJOBNAME statement is used only if the application has not explicitly overridden it (applications, except for Pascal applications, can explicitly request a particular stack name).

In a z/OS UNIX environment, TCPIPJOBNAME is never used. An application must explicitly choose a stack name or else it is associated with all active TCP/IP stacks. In other words, it is a generic server.





Copyright IBM Corporation 1990, 2010