MacTCP: Configuration of Domain Name Server Information (11/95)

This article describes how to enter the Domain Name Server Information in the MacTCP control panel and how MacTCP uses that information to query those servers.


You need the following information to configure the Domain Name Server Information section of the MacTCP control panel:

Required: A list of 1 or more domain nameserver.
Optional: A default domain.

One name server configuration
=============================
This configuration will send all requests to the single nameserver.


Step 1
------
Enter your default domain in the "domain" field.

Step 2
------
Enter the IP address of the nameserver in the "IP address" field.

Step 3
------
Click the default button.

Step 4
------
Enter a "." (period) for the second "domain" field.

Step 5
------
Enter the IP address of the nameserver in the "IP address" field.

The result should contain two entries for the same nameserver, and look like:

Domain IP Address Default
<default domain> <IP number> (*) <- click default radio button
. <IP number> ( ) <- type a period for domain


Two or more nameserver configuration
====================================
Follow the same steps for entry of the first nameserver
For each additional nameserver, enter the following information:

Step 1
------
Enter a "." (period) for the second "domain" field.

Step 2
------
Enter the IP address of the nameserver in the "IP address" field.

Thus, the first nameserver is entered twice, and each additional nameserver is entered once.

Domain IP Address Default
<default domain> <Primary IP#> (*) <- click default radio button
. <Primary IP#> ( ) <- type a period for domain
. <Secondary IP#> ( ) <- type a period for domain


If you use the configuration mentioned above, MacTCP will generally ask the primary nameserver first. It will also always ask the other nameserver if the first nameserver is down or unavailable.


How MacTCP queries nameservers
==============================
The actual rules MacTCP uses to establish query order in DNS are somewhat complicated. The Domain Name Server Information list functions as a list of nameservers and their trusted domain. For example:

apple.com 1.2.3.4
info.apple.com 5.6.7.8
microsoft.com 9.10.11.12

A nameserver 1.2.3.4 is trusted for any hostnames that exist in apple.com.
A nameserver 5.6.7.8 is trusted for any hostnames that exist in info.apple.com.
A nameserver 9.10.11.12 is trusted for any hostnames that exist inside
microsoft.com.

When MacTCP DNR is given a hostname, it uses a 3 step process to ask nameservers for the matching IP address:

1. Build list of trusted nameservers.
-------------------------------------
When MacTCP DNR is given a hostname, it compares each nameserver's domain to the hostname. If the hostname appears within the trusted domain of the nameserver, the nameserver is put in the list of nameservers to query.

If no nameservers are trusted for a host, then the nameserver listed by the "default" radio button will be asked as a last resort.

Note: The default radio button has two functions in MacTCP:

* The "IP address" field provides the nameserver of last resort, if no other nameservers are trusted.
* The "domain" field provides the default domain added onto single hostnames.

For example, if you tried to connect to "www.info.apple.com", the "info.apple.com" and "apple.com" nameservers are considered trusted.
The "microsoft.com" nameserver cannot be trusted, because "www.info.apple.com" is not a name within "microsoft.com"

Note: This is why nameservers should be entered with their domain as "dot" (period) because you are telling MacTCP that nameserver is trusted for the entire Internet.

2. Sort nameservers for search order.
-------------------------------------
MacTCP will ask the query the nameservers with longer trusted domains first. If two nameservers are trusted for the same domain, any nameservers on the local network will be queried first.

Continuing the example, the "info.apple.com" server is considered "closer" to "www.info.apple.com" than "apple.com". MacTCP will ask "info.apple.com" and then "apple.com".

3. Resolves names (give nameserver hostname, receive IP address in return).
---------------------------------------------------------------------------
MacTCP asks each nameserver for the IP number of the hostname one at a time. When one nameserver failes to resolve or time out, MacTCP moves to the next nameserver. If MacTCP runs out of nameservers, it will return an error unless the hosts file can provide information.


Article Change History:
21 Nov 1995 - Reviewed for technical accuracy.

Support Information Services
Published Date: Feb 19, 2012