Windows IT Pro is the leading independent community for IT professionals deploying Microsoft Windows server and client applications and technologies.
  
  
  Advanced Search 


November 1997

Implementing Enterprisewide WINS


RSS
Subscribe to Windows IT Pro | See More Windows Internet Naming Service (WINS) Articles Here | Reprints | Or get the Monthly Online Pass—only $5.95 a month!
SideBar    Can You Use DNS Instead of WINS?

Expiration Dates
The expiration date associated with a WINS record tells WINS how long to keep a given record active. Referring again to Screen 3, you'll notice two columns in the database display window--column A and column S. Column A shows that the record is active, and column S shows that the record was statically mapped. Active means that the record is still valid in the database, that it has been renewed, and that it is a live record. Static records are those that have been manually added to the WINS database. Normal records are dynamically registered with WINS. If a record has been dynamically registered, column S will be blank. Column A can have three different indicators--a check mark to indicate active, a dash to indicate released, or a cross to indicate the record was tombstoned, or extinct. The expiration date for records registered with a given WINS server is derived from the WINS configuration parameters for that server.

To configure the WINS server, go to the WINS Administrator tool main menu, select Server, Configuration, to view the basic and advanced configuration options (as shown in Screen 4). The basic portion of the screen includes four time intervals you need to configure on a WINS server--the Renewal Interval, Extinction Interval, Extinction Timeout, and Verification Interval. These values control how often your WINS clients need to reregister with the WINS server and how long a given registration is good. Also, they control how long a record remains active in the database.

A dynamic WINS record will go through three phases of life before it is scavenged, or removed, from the database. When a machine first registers, the records associated with it are marked active. A machine will then reregister with WINS at half the time set for the Renewal Interval. If the machine fails to reregister by the end of the Renewal Interval or if you shut down the machine, the records associated with it will be marked released (the second phase). After a record has been marked released, the Extinction Interval specifies how long that record is to remain in released mode before being marked tombstoned. Finally, the Extinction Timeout specifies how long tombstoned records are to remain in the database before they are scavenged. The delay between releasing a record and marking it tombstoned is useful, because often a machine may simply be powered down for a short period, and when the machine comes back up, it can reregister using the existing, released records.

These intervals are important in replication, because a partner of a WINS server will not pull records if those records will become extinct as a function of replication. Suppose that a set of records on WINS Server A are due to expire in one day, and you're replicating those records to WINS Server B. WINS Server B's system clock thinks it is already one day later. Server B fails to replicate the records because it believes the records are extinct. You need to time synchronize WINS servers in your environment as closely as possible to avoid such problems.

Designing a Replication Scheme
Before you design a replication pattern for all WINS servers in your environment, you need to consider a couple of things. First, the goal in any enterprise WINS configuration is to have as few WINS servers as possible. In a large network, WINS can be a very problematic service, and you will thank yourself later if you simplify your design. How many servers are too many? Depending on your network topology, you wouldn't be out of line to have four WINS servers for 20,000 devices. The prime driver behind your design should be to balance availability of name resolution services related to your network topology vs. the need to minimize the number of WINS servers in the environment. You also need to know that all of your WINS servers must replicate with each other if you want every machine in your environment to be able to resolve every other machine. Even if you don't want this resolution, you're probably asking for trouble if you try to segment WINS servers for purposes of securing certain machine names. There are better ways to provide security.

Once you have decided how many WINS servers you will need to support, keep in mind two important goals when creating a WINS replication plan. First, keep a replication path no more than two "hops" deep. That is, if WINS Server A replicates with WINS Server B, and WINS Server B replicates with WINS Server C, then WINS Server D needs to replicate with WINS Server B. The second design goal is to create a replication scheme that meets the minimum convergence required to keep your environment consistent. Convergence is the time necessary for changes to the database of one WINS server to propagate to all other WINS servers.

In addition to these design goals, several best practices have come about since WINS has been around. First, when you establish replication between two partners, the partners must be both push and pull partners with each other. I haven't found a configuration that yields a consistent result if it isn't using two-way push-pull. Second, make sure that between a given pair, the push-pull configurations are the same. For example, if the pull interval on Server A is every 3 hours starting at midnight, the interval must be the same on its partner.

Finally, forget about installing WINS on a multihomed server. You can do this installation, but you're asking for trouble. WINS wasn't designed to work well with multihomed configurations, and it can cause some weird problems with replication, such as failing to replicate.

So, what does a replication design look like that takes into consideration no more than two hops and quick convergence? Figure 1 shows an example of a replication design for five WINS servers. WINS Server A acts as the hub server. All WINS client machines will point to this server as their secondary WINS server. All the other WINS servers--Server B through Server E--will act as primary servers. In this hub-and-spoke design, each WINS server replicates the records that it owns to Server A, which in turn, replicates them to its partners. When replication is complete, each WINS server will have the entire database of WINS registrations for the enterprise.

In this design, convergence becomes a function of the push-pull parameters you define on each partner. For example, if you set the Push count to be 20 (the minimum) between Server A and Server B, but 40 between Server A and Server C, then Server C will take longer to replicate changes with Server A. You can adjust the pull interval to reduce or increase convergence time. For example, WINS Server C needs to know as soon as possible when new records are registered on Server D. You can set the pull interval between Server C and Server A and Server D and Server A to be small, such as every 30 minutes. This adjustment means that the maximum time for a new registration to get from Server D to Server C is 1.5 hours.

Of course, you need to balance replication intervals with the network bandwidth consumed and the amount of changes your WINS servers are experiencing. By monitoring your WINS servers and network with a tool such as Performance Monitor, you can establish a baseline from which to adjust replication as needed.

Maintenance of WINS
Establishing replication between your WINS servers is the easy part. Keeping them up and running with a consistent database is tricky. If you're maintaining NT 3.51 (or NT 3.50) WINS servers, you probably know you must jetpack the WINS database periodically. Jetpacking is the process by which you compact and rewrite the WINS database. The jetpacking process in NT 3.5x requires you to manually stop the WINS service, run jetpack.exe, then restart the service. This process needs to occur frequently (once a week on an active WINS server), to keep the database consistent. The easiest way to jetpack in NT 3.5x is to create an AT scheduler job to perform the activity after hours. However, with NT 4.0, Microsoft added online jetpacking to WINS. Now NT jetpacks the WINS database automatically. This automation is a boon, because it means that the database is always consistent. However, if you need to jetpack an NT 4.0 WINS server, you can still do it manually.

If you're considering static mappings, think carefully about this decision. Do everything you can to avoid using them. In a multiple WINS server environment, after you replicate static mappings, getting rid of them can be very difficult. This problem occurs because static mappings effectively have no expiration date--most expire in the year 2038. They don't expire out of the database on replicas, even if you remove them from the server that created them.

Because NT bases replication on version ID and NT never increments a statically mapped record's versions, the best way to remove the statically mapped records from replicas is with the Delete Owner function in the Show Database view of the WINS Administrator tool (or manually delete the statically mapped records individually, using the WINSCL tool in the Microsoft Windows NT Server Resource Kit). Delete Owner tells a WINS server to delete all the records of a selected owner. For example, suppose Server A push-pull replicates with Server B, and you've statically mapped several records on Server B. You decide you want to remove the static mappings on Server B. To remove them from Server A, you need to perform a Delete Owner operation on Server A for Server B's records. This operation has the effect of removing all the records owned by Server B, which means that these records won't be available on Server A until they have been repulled from Server B.

Use static mappings only as a last resort when you can't get a device or service to register dynamically. Some people use static mappings to register clients that are incapable of being WINS aware, such as UNIX-based systems. However, you're probably better off using DNS or even the hosts file in %systemroot%\system32\drivers\etc rather than keeping the static mappings in WINS.

Troubleshooting WINS
Several problems manifest themselves if your WINS databases are corrupt or in need of jetpacking. Examples include devices that cannot register with the database, or records that aren't replicating properly. You may also see evidence of corruption from the WINS Administrator tool if you view the database. Records that contain garbage characters or invalid expiration dates are good indications of problems with the database. To deal with these problems, you may have to explicitly stop WINS and jetpack the database. (Be aware that static mappings, by default, appear in the database with an expiration date of 1-18-38--this date is 2038, and is OK.) You may also need to perform a Delete Owner operation on the offending records to remove them from the database. Delete Owner can be a tricky operation in a replicated WINS environment. Before you perform this operation on a WINS server, turn off replication between the server and all of its replication partners. Then perform the operation, and reestablish replication. Finally, you will need to perform this operation on all servers that contain the offending owner. If you don't, you'll find the bad records replicating again. After you perform a Delete Owner, stop WINS and jetpack the database to ensure the records were removed.

You can use the WINSCL tool to remove individual corrupt records or groups of them from a WINS database. You can use the resource kit utility WINS CHK to test your WINS server's health on an ongoing basis. WINSCHK can take two text files as input (servers.txt and names.txt) and check the contents of names.txt (a set of names that you want to verify is in the database) against a list of WINS servers in servers.txt. It can also perform periodic communications checks against WINS servers, or verify version number consistency.

Microsoft recommends that a WINS server reference itself only in its WINS client configuration. Failure to do so can actually cause database corruption problems. For example, if you have a WINS server whose IP address is 192.168.100.10, the Primary and Secondary WINS server reference that you configure in that server's TCP/IP properties must each point to itself--192.168.100.10.

Replication Problems
If you find that records simply aren't replicating between WINS servers, you can do several things. First, look at the system event logs on the servers involved to check for any useful messages. You can turn on Log Detailed Events in the WINS Administrator configuration screen while you're troubleshooting problems. This step will let you get more detail in the event logs for problems. Make sure you turn off this event log after testing--it can be quite a CPU drain. Second, you can force replication manually from the Replication Partners menu item in the WINS Administrator tool. As a final test, make sure that the WINS servers involved can resolve their partners by name. I have seen a situation where replication fails because the partners were not resolvable by name.

If you search Microsoft's Knowledge Base with the keyword WINS, the number of problems that Microsoft documents with this service will amaze you. The best advice I can give for designing an enterprisewide WINS implementation is to keep it as simple as possible, with as few WINS servers as possible. Keep all replication parameters between pairs consistent, and monitor the WINS servers closely using both event logs and Performance Monitor.

End of Article

   Previous  1  [2]  Next  


Reader Comments
I read Darren Mar-Elia’s November 1997 article, “Implementing Enterprisewide WINS.” I have a Primary Domain Controller (PDC) with one network card (IP address 148.53.78.5). This server is our primary Windows Internet Naming Service (WINS) server. I don’t have a second WINS server, and this WINS server is not replicating its database. I needed to add a second network card and I needed this server to be multihomed. When I added the second network card—the same model as the first one—and configured with IP 148.53.78.6, I began to have strange problems. For example, the printer stopped working, and some PCs could not reach our server. Is this the meaning for the paragraph “Finally, forget about installing WINS on a multihomed server. You can do this installation, but you’re asking for trouble?” To my surprise, when I tried to ping the hostname, I always got an answer from the second network card. I changed the order of the bindings with no success. The answer always comes from the second network card. Even when I remove the WINS service from this server, I still get an answer to the ping from the second network card. Many thanks and congratulations for a good article.<br>
--Fernando Pessoa Sousa<br><br>

<i>Yes, my warning about multihomed WINS applies to your configuration. Here are a few suggestions. First, make sure you’re running at least Windows NT 3.51 Service Pack 4 (SP4) on your WINS server before you attempt to multihome it. Previous versions don’t support multihoming. Next, you’re compounding your problems by having this box also be a PDC, because you have to make other considerations for multihomed PDCs (see the Microsoft Knowledge Base article, “Browse across subnets with a multi-homed PDC,” at http://premium.microsoft.com/support/ntserver/serviceware/06903092.asp). Remember that the WINS service (and the browser service) will bind to only one NIC on your server. This NIC’s IP address must be the one your clients refer to in their WINS client configuration. The NIC that is bound is supposed to be the one with the lowest binding number, as found in the Registry under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Adapters. Several Knowledge Base articles, including Q152705 and Q121003, discuss multihomed WINS.<br>
--Darren Mar-Elia</i>

Fernando Pessoa Sousa August 10, 1999


Can I replicate WINS servers between NT Domain and windows 2000 domain running Active Directory?

Thanks,


Jorge Jeri February 19, 2004


I have been running a WINS server on a multihomed computer straddling two networks and had no problems. Of course one of the two subnetworks relly don't use the WINS server at all. Only one of the two subnetworks use it and with remarkable good results. Maybe I have been lucky.
One suggestion would be to allow the WINS server to be able to choose which of the NIC to bind to, just the same it is allowed to the DNS server.


Anonymous User November 05, 2004


I am in a NT 4.0 domain and upgrading to active directory, and was wondering if there are any utilities to automatically push the WINS and DNS settings to the local desktops.

Anonymous User June 14, 2005 (Article Rating: )


Use DHCP to push WINS and DNS settings to the desktops.

Anonymous User August 10, 2005 (Article Rating: )


You must be a registered user or online subscriber to comment on this article. Please log on before posting a comment. Are you a new visitor? Register now




Top Viewed ArticlesView all articles
WinInfo Short Takes: Week of November 23, 2009

An often irreverent look at some of the week's other news, including some post-PDC some soul searching, a Google Chrome OS announcement and a Microsoft response, Windows 7 off to a supposedly strong start, the Jonas Brothers and Xbox 360, and so much more ...

Command Prompt Tricks

One reader shares his tip for setting up the command prompt to reflect a remote path. ...

2009 Windows IT Pro Editors' Best and Community Choice Awards

Picking a favorite product from an impressive crowd of competitive offerings is never an easy task, and such was the case with our Editors' Best and Community Choice awards this year. ...


Related Events Deep Dive into Windows Server 2008 R2 presented by John Savill

Check out our list of Free Email Newsletters!

Windows OSs eBooks Understanding and Leveraging Code Signing Technologies

A Guide to Windows Certification and Public Keys

SQL Server Administration for Oracle DBAs

Related Windows OSs Resources Introducing Left-Brain.com, the online IT bookstore
Looking for books, CDs, toolkits, eBooks? Prime your mind at Left-Brain.com

Discover Windows IT Pro eLearning Series!
Clear & detailed technical information and helpful how-to's, all in our trademark no-nonsense format


Windows IT Pro Home Register FAQ for Windows WinInfo News
Europe Edition About Us Contact Us/Customer Service Media Kit Affiliates / Licensing  
SQL Server Magazine Office & SharePoint Pro DevProConnections IT Job Hound
Left-Brain.com Technology Resource Directory asp.netPRO ITTV Windows SuperSite 
 
 Windows IT Pro is a Division of Penton Media Inc.
 © 2009 Penton Media, Inc. Terms of Use | Privacy Statement