DHCP, WINS and DNS
Windows NT offers server support for DHCP (Dynamic Host Configuration Protocol) and WINS (Windows Internet Naming Service). Both DHCP and WINS are relative newcomers to the IP address assignment and naming service arena, which previously has been dominated by DNS (Domain Name System). DNS has been used for years on UNIX systems, and is employed throughout the Internet and most connected networks. Both WINS and DHCP make networking just a little less bothersome for most Windows 95 and Windows 3.X users, simplifying the network configuration process an administrator must perform on those clients.
Does the lack of support for DHCP and WINS in the larger market limit their usefulness, and do DHCP and WINS offer anything DNS doesn’t? That’s a question many administrators are facing as they choose which of the services to implement on their networks. In this article, we take a look at the three services, how they perform, how they can interact, and the type of support you will find for all three. Despite what most people think, DNS does not directly compete with DHCP (although it does the same task as WINS), and often the three services can be combined together to offer the maximum flexibility for a network.
There are a couple of misconceptions about DHCP that should be cleared up. First, DHCP isn’t a totally new protocol. Its roots lie in the TCP/IP BOOTP (Boot Protocol) system used to supply boot-up instructions and configuration information mostly to diskless workstations. Second, Microsoft didn’t design DHCP. It was designed (albeit with considerable Microsoft support) by the Internet Engineering Taskforce (IETF) due to the widely recognized need among TCP/IP users to provide a method of dynamic IP address allocation. This non-Microsoft origin helps explain why DHCP isn’t the Windows-only orphan that WINS is. Currently there are DHCP support products for many platforms, including UNIX.
Like WINS, DHCP is also installed on a Windows NT server and provides two primary services for easing the load on administrators: it allows many TCP/IP parameters for the entire network to be defined at the server and transmitted to clients automatically, and it provides for automatic configuration of TCP/IP services on client machines. This usually eliminates the need for a Windows client user to configure TCP/IP. If a client machine is moved from one location on the network to another, DHCP takes care of the automatic reconfiguration for the that machine. This is especially handy for laptop devices, as well as machines that move between a number of local area networks regularly. Laptops are the most obvious beneficiary of the roving plug-in function. A laptop simply needs a network connection and then DHCP can handle the configuration. Otherwise, the laptop configuration may need to be manually adjusted with every move.
DHCP is based on standard client-server models. Machines are organized into groups called scopes, which is a logical division of machines rather than a physical separation. One or more Windows NT machines are designated as DHCP servers, each of which has all the configuration parameters for any client that may attach itself to the network. A pool of generic IP addresses is maintained by the server for dynamic allocation to new clients. A client is any type of machine (usually just Windows 95 and Windows NT) which connects to a network. On startup the client communications with the server and receives any TCP/IP configuration details it needs..
While the advantages of DHCP don’t really become useful for small network of a dozen or so clients, as the network size grows DHCP becomes more and more handy. When DHCP is running on a network, plugging in a new machine is almost trivial, at least from the networking aspect. To add a Windows 95 or Windows 3.X machine, the network configuration consists of telling the client which network protocol is in use and the IP address of the DHCP server. DHCP takes care of the rest of the configuration, including assigning an IP address. (While it may not sound like a lot of timesaving, the client would normally have to have its IP address, subnet mask, gateway IP address, domain name, and DNS server address entered and checked for validity.)
Also important is the ability to alter the configuration on every machine on the network with one change on the DHCP server. For example, suppose a gateway or DNS server IP address changes on your network. Normally, you would have to visit each client and alter its IP address reference manually. With DHCP, a single change on the DHCP server is propagated to all clients quickly and takes effective almost immediately. That’s a huge time saver, especially for networks with server IP addresses that change regularly.
Some administrators don’t want to allow totally dynamic IP address allocation, and DHCP allows quite a but of flexibility in that respect. An administrator can restrict the range of IP addresses, or specify particular addresses (reserved addresses) for some machines that shouldn’t have a dynamic IP address. As a side benefit of DHCP, if a network has more machines than IP addresses available for connection to the Internet, for example, DHCP can be set to expire IP addresses after a set period of time and hence allow more clients to connect to the Internet (a procedure called leasing). DHCP doesn’t have to conflict with DNS, as many administrators think. Since DHCP can be configured to provide static IP addresses to machines (especially DNS servers), there is no problem with supporting both DNS and DHCP on the same network.
For many administrators, the primary advantage of DHCP is that is concentrates most of the network configuration information at one source: the DHCP server. If there’s a problem with the network configuration, it can usually be traced from the server instead of having to check every machine on the network. This centralized configuration concept pays extra dividends as the network size increases over a few dozen machines, and is especially useful on intranets with a number of subnets.
Since DHCP is almost trivial to install and configure, and it runs from both NT Workstation and NT Server, it is almost a no-brainer to include it on network configurations. Client software is built in to Windows 95, and available through the 32-bit Microsoft TCP/IP stack for Windows for Workgroups. UNIX systems support DHCP through commercial products, and Macintosh DHCP stacks are being introduced. With this kind of flexibility, DHCP should be running on most networks, especially large ones.
WINS was developed by Microsoft as a means of using the features of DHCP for name resolution. Although it doesn’t have to run with DHCP, WINS often is supported at the same time. WINS has one major advantage over DNS, it’s direct competitor: DNS doesn’t support dynamic names and IP addresses, instead requiring static information in its database. WINS was designed to allow dynamic IP address resolution. (More specifically, WINS resolves NetBIOS names to dynamic IP addressees. There is a difference between a machine’s NetBIOS name, which applies only to Windows machines, and the TCP/IP host name, which may not be anything like the NetBIOS name in some cases.)
WINS maintains a database similar to DNS. The database, which is located on a Windows NT server, provides a computer name to IP address mapping, allowing other computers on the Windows NT network to use the WINS system to connect to other machine by supplying a machine name instead of an address. Why would you want to use WINS instead of the Internet-standard DNS? There are a number of reasons, the most important of which is support for Windows features that did not have to be considered when DNS was introduced. WINS better integrates NetBIOS systems with TCP/IP by providing the ability to use NetBIOS’ long name support (especially important for Windows NT and Windows 95 users) and eliminating many configuration problems. WINS is totally proprietary to Microsoft Windows operating systems and does not work with DNS or with other platforms.
WINS has a few important advantages over DNS. Probably the most important for most networks is the direct support of NetBIOS names during IP address resolution, as already mentioned. Another advantage that becomes important for larger networks is the ability to use WINS across an IP router, which cannot usually be done with NetBIOS name resolution broadcast techniques. WINS works across entire networks with no regard to the intervening routers, and in the process drops network traffic from client broadcasting.
To use WINS, one Windows NT machine on a network must be set as the primary WINS server. It has a fixed IP address that all other Windows client machines (Windows 3.X, Windows 95, and Windows NT) have embedded in their WINS configuration sheet. When a name resolution is required, the client Windows machine contacts the WINS server with the machine name to be found and receives back the IP address. Other Windows NT machines on the network can be assigned as WINS secondary servers, if needed to support a heavy WINS request load.
The Domain Name System (DNS) has been available for decades and has its roots in UNIX, hence the somewhat cumbersome configuration processes it needs. The major advantage to DNS is that because it has been around for so long it is reliable, efficient, and available on most platforms. Most DNS servers are UNIX-based, although Windows NT can act as a DNS server with the proper software.
Configuring DNS requires a bit of forethought as to how a network is going to function. The machines on the network to be managed by the DNS server are allocated to a group called a zone (similar to a subnetwork in principle, but the IP addresses don’t have to be distinct from other subnetworks). Within each zone, there may be one or more secondary name servers, with the primary and secondary name servers holding duplicate information. The name servers within a zone communicate with each other using a zone transfer protocol to ensure their tables are in sync and clients can connect to either primary or secondary machines for name resolution. There may be several zones managed by one DNS server.
The steps involved in setting up a DNS server are to configure the primary DNS server (followed by any secondary servers, if there are any), then set up the domain and authority delegation. Each client that is to use the server must have DNS client software installed. The format of DNS records is rather complex to non-UNIX administrators, with several files and record formats involved.
To greatly simplify, the files hold a list of IP addresses and the names that are assigned to that IP address. Several names and aliases can be assigned to a single IP address. When a client wants to resolve a name, it sends a request to the server which searches the files for a name match, then returns the IP address to the client. DNS requires static IP addresses and cannot support schemes such as DHCP which allows dynamic IP addresses except through some cumbersome kludges.
Do You Need to Choose?
One of the problems many administrators face when setting up a Windows NT system is whether to support DHCP, WINS, DNS, or some combination of the three. The impression most administrators have, based on UseNet traffic and discussion groups on CompuServe, is that the three are mutually exclusive, or that at least a choice between WINS and DNS is necessary. As you have seen so far, this is not really true. Sometimes you will want to employ all three, depending on the makeup of your network.
A few simple examples should help clarify the situation. If your network is all Windows machines (Windows 3.X, Windows for Workgroups, Windows 95, and Windows NT), then there is really a simple solution: run both DHCP and WINS. Both services work well over Windows-only networks and provide all the services you need. Configuring both DHCP and WINS is trivial, as you will see in a moment.
If, on the other hand, you have a mixed network with Windows, Macintosh, and UNIX machines (or some other heterogeneous mixture of platforms), you may want to add DNS to the system too. This is especially true if the non-Windows machines have static IP addresses, which DNS handles perfectly. The Windows machines can then have either static IP address or dynamic, and can be handled by either DNS or WINS.
Finally, if the network is mostly non-Windows, you are probably going to be running DNS as the name resolution system, especially if UNIX servers are in the network. DHCP can still be used for Windows machines and laptops, serving only the Windows clients and integrating with DNS for name resolution. WINS could be run for the Windows machines, too, but the configuration starts to get complicated if the Windows machines are in a considerable minority.
Installing and Configuring DHCP, WINS, and DNS
The installation routine is similar for all three services: use the Network applet in the Control Panel and select the Services page tab. There are two entries in the Services list (click the Add button to see what’s available): Microsoft DHCP Server and DHCP Relay Agent. The DHCP Server service is self-explanatory; the DHCP Relay Agent is responsible for relaying DHCP messages from server to client. Both services should be installed on the server. For WINS, the only service is the Windows Internet Name Service. (If you want to use the NT Performance Monitor or some other networking performance package to monitor the behavior of WINS, you need to install the SNMP Service, too.) The DNS server service can be installed with the Microsoft DNS Server option, which should be done after TCP/IP services are installed and configured.
Windows NT provides the DHCP Manager application to control DHCP (usually available under the Administrative Tools option in the Startup menu). The local server is identified automatically as a DHCP server, and others can be added (although they must be specified in the fully qualified domain name format, not NetBIOS names). The DHCP Manager window lets administrators define scopes (at least one scope must be defined for DHCP to function properly) with dynamic, reserved (machines that always are given the same IP address) and excluded IP addresses given. One a scope is defined it is activated and any clients connecting to the server are handled properly. If you are running both DHCP and DNS on the network, assign reserved IP addresses to all the machines that have a DNS entry, and let the rest be assigned dynamically.
The WINS Manager provides the interface for administrators to the WINS system. From the WINS Manager, static name mappings can be established. Procedures such as backing up the WINS database and configuring replication to secondary WINS servers can also be performed from there. A statistics display shows how many resolution requests has been received by WINS. Finally, the DNS Manager provides the administrator with a similar service for DNS. The DNS manager lets administrators define zones and observe statistics about the DNS server’s requests and service rate.
After the services have been installed, the clients need to be told which services are active and where to access them. This is usually a matter of activating the proper service in the Network page of the Windows 95 or Windows 3.X system. WINS and DNS has a page tab all its own in Windows 95. To activate DHCP, select the “Obtain an IP Address box” on the Network IP address page tab. After that, a reboot of the machine will start the polling of the server.
For non-Windows machines, the configuration of DNS and DHCP depends on the third-party software, and differs considerably depending on the package. Under Windows 3.X, there are a number of popular TCP/IP commercial protocol stacks that support DNS, and DHCP support has started to appear.
Hopefully this article has explained the primary features of DHCP, WINS, and DNS, and how they work to provide name and IP services to clients. As you have seen, the three services are not exclusive of each other, and on larger networks work very well together. The primary advantages of DHCP and WINS are their excellent Windows NT support and tailoring for the NetBIOS environment. While DNS is going to be around for many decades to come, it’s nice to have the option of using WINS on a Windows network for even more flexibility. Don’t be bashful: give all three services a try!