Return to index
Name Resolution Basics
If you are dealing with a single subnet, MS machines can resolve the names of most other MS machines by broadcast. If you have multiple subnets, you are interfacing with most non-MS machine (e.g. unix) or the broadcast traffic is causing unacceptable network congestion and/or load on the local machines, you will need to provide some other form of name resolution. What type of resolution you provide depends on you environment and (to a degree) personal preference.
There are 2 common types of names that you will need to resolve; DNS host names (used by winsock and sockets apps like ping and telnet) and NetBIOS names (used my most MS network functions such as browsing and mapping drives).
There are 4 common alternatives to broadcast name resolution; hosts, lmhosts, WINS, and DNS. To a limited degree, MS machines can use any one of these to resolve both types of names (e.g. If configured to do so, MS machines can resolve some NetBIOS names via DNS).
Note on hosts and lmhosts files:
These files reside on the local machine. You can find the proper location for the them file by searching for hosts.sam or lmhosts.sam. These are sample files that explain the basics of configuring the hosts or lmhosts file. the sample files reside in the directory where the hosts lmhosts file belongs.
The name of the hosts and lmhosts file must have no extension (e.g. hosts, not hosts.txt).
You should take care to only edit hosts and lmhosts with a true text editor (e.g. edit.com). Editors such as Notepad can insert 'invisible' non-ASCII character into the file. You won't see these characters, but they can cause problems with the parsing of the file.
On 95 machines, you must enable DNS (though you can leave the server list blank), if you want to use the hosts and/or lmhosts file.
The hosts file contains a static table of <IP address> to <DNS (host) name> mappings. It is commonly used as an alternative to a DNS server.
The lmhosts file contains a static table of <IP address> to <NetBIOS (computer) name> mappings. The lmhosts file has considerably more configurability than the hosts file. For example, it allows you to 'import' an external lmhosts file. This makes it much easier to manage large numbers of machines using lmhosts files, by having a 'master' file.
In addition, lmhosts allows the resolution of names that include NetBIOS extension characters. These characters are not text and cannot be included in a hosts or DNS table, but are they are essential to many MS network functions.
Lmhosts is commonly used as an alternative to a WINS server.
DNS Server (Domain Name System):
A DNS server is a machine that maintains a static table of <IP address> to <NetBIOS (computer) name> mappings (and a few other options) and makes this information available to DNS clients. DNS servers are able to pass queries along to other DNS servers. So no one machine needs to maintain the entire name database, which would be basically impossible in a large network (e.g. the Internet).
MS's version of DNS will only run on NT Servers ($only because MS wants to sell NT Server$). There are a number of other implementations available that will run on other machines. One advantage to MS's version is that it can be configured to interact with a WINS server.
There is a new dynamic DNS standard that provides a mechanism for dynamic registration of DNS names. However, the only MS OS that supports DDND is W2k and DDNS does not handle most of the NetBIOS names required for pre-W2k MS networking.
WINS Server (Windows Internet Name Service):
One of the limitations to hosts, lmhosts, and DNS is that they are static tables. This means that every time you add/remove a machine or alter the IP of a machine, you have to manually update the table(s). WINS is a dynamic solution to this.
WINS allows the resolution of names that include NetBIOS extension characters. These characters are not standard ACSII text and cannot be included in a hosts or DNS table, but they are essential to many MS network functions.
MS's WINS will only run on NT Server. I understand that there are other similar systems that will run under variations of unix (e.g. I believe Samba has one), but I'm not familiar with them.
For the most part WINS is only applicable to MS machines. You can add static entries for other machines, but very few other machines will use WINS to register or resolve names.