Skip to main content

Advanced WINS Features


The Trouble with Names
For those who missed my past columns ("Name Resolvers: WINS vs. DNS," November 1996; "NetBIOS Names and WINS," January 1997; and "Inside a NetBIOS Name Resolution," March 1997), you can find them on the Windows NT Magazine Web site at http://www.winntmag.com. The articles show that NT and TCP/IP have a problem: names. We want servers to have nice, human-friendly names such as, in my network, Aldebaran, Rigel, Betelgeuse, and Elnath. (They are the brightest and second-brightest stars in the Orion and Taurus constellations. The brightest are the primary domain controllers--PDCs, and the second-brightest are the backup domain controllers--BDCs.) Those names are easier to remember than IP addresses such as 198.34.57.44, 198.34.57.11, 198.34.57.90, and 198.34.57.26. To satisfy both us and the computers, networking software converts the human-friendly names into IP addresses. The term for that conversion is name resolution, and it typically involves looking up the name in a database.
Name resolution makes NT networking with TCP/IP particularly troublesome because NT uses different kinds of names from other TCP/IP-based networks. Most use names such as http://www.mmco.com, a Domain Name Service (DNS) name. NT's Microsoft networking lineage was not very TCP/IP- and Internet-aware until recently. Over the years, Microsoft networking has used a different set of names--NetBIOS names. So running NT on TCP/IP presents a special challenge: The network must resolve DNS names and NetBIOS names. The NetBIOS names are more central to NT's operation. As a result, NT depends on NetBIOS over TCP (NBT or NetBT) for NetBIOS name resolution.
NBT name resolution occurs in NT with WINS. Basically, a designated NT server keeps a JET database of NetBIOS names and IP addresses. Workstations and servers refer to that WINS server to resolve names into IP addresses. But how does WINS gather information about computers on the network? Every computer that intends to use a given WINS server for name resolution registers its NetBIOS names with that WINS server. In a small network with one WINS server, you tell all your computers to refer to that WINS server. That server is the central repository for NetBIOS names. But what about redundancy or the situation in which you need a second WINS server to handle your enterprise network? How does a second WINS server share the information the first WINS server owns? In that case, you need to know about push and pull partners.
When you set up a Microsoft TCP/IP client, NT asks for a primary and a secondary WINS server address. When your PC boots, it goes to the primary WINS server and tries to register its NetBIOS name. If the registration is successful, your PC never contacts the secondary WINS server, unless a subsequent name resolution attempt fails.
Nobody Home
Suppose you create a backup WINS server and point all your workstations' Secondary WINS Server fields to that backup. The primary WINS server goes down. Where are you? Nowhere very interesting. The secondary server doesn't know much, because no one has registered with it. So if the primary server goes down and everyone starts asking the secondary server to resolve names, the secondary server just says, "Sorry, I can't answer that question." You must convince the primary server to replicate to the secondary server. Fortunately, an easy method exists: push and pull partners.
You can conFigure two WINS servers to be push and pull partners, or you can let them discover each other with a Registry entry. In HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WINS\Parameters, add a new entry, UseSelfFndPnrs, of type REG_DWORD. Set its value to 1 to cause the WINS server to periodically multicast to find other WINS servers and automatically replicate. This entry usually works for only WINS servers on the same subnet, because most routers don't pass IP multicasts.
Alternatively, you can introduce the two WINS servers. WINS database replications transfer data from a push partner to a pull partner. For example, suppose you have two machines, Primary and Secondary. Primary gets the latest information because it is the primary WINS server. Secondary backs up Primary's information. Thus, Secondary never has information to offer to Primary. In that case, Primary pushes its database changes to Secondary.
Push Me, Pull You
In a push/pull relationship, data gets from Primary to Secondary in one of two ways. First, Secondary (the pull partner) can request that Primary (the push partner) update Secondary, telling Secondary only what has changed in the database. Alternatively, Primary can say to Secondary, "I've made a lot of changes since the last time I updated you. You should request an update." The pull partner does most of the work initiating the replication updates. All the push partner does is suggest that the pull partner start requesting updates.
Can you tell Secondary to be a pull partner with Primary, without telling Primary to be a push partner for Secondary? You might think so, but if Secondary starts pulling from Primary, Primary will refuse to respond to Secondary's pull request unless you've conFigured Primary as a push partner with Secondary. Thus, you need to make Secondary a pull partner with Primary, and make Primary a push partner with Secondary.
What triggers the WINS database replication process? Recall that either partner can start the conversation. In the case of a push partner, you conFigure it to contact its partner and suggest a replication session based on the number of database changes. You can tell Primary to notify Secondary whenever 50 (or any number greater than 19) changes have occurred to the WINS database on Primary. (You can alternatively trigger replication from the WINS Manager.)
A pull partner, which doesn't know how many changes have occurred, requests updates based on time. You conFigure a pull partner to contact its partner every so many minutes, hours, or days.
Less Is More
I have more to tell you about WINS, but I'm out of space for this month. Before you experiment with extra WINS servers, however, I have three important pieces of advice. First, when it comes to WINS servers, less is more. Microsoft claims that it runs its entire worldwide enterprise with only 15 servers. Don't start setting up WINS servers all over the place. Second, if you set up a WINS server, don't put it on a multihomed PC (a computer with more than one NIC). This configuration has traditionally been a problem for WINS servers. Third, don't set up a test WINS server, register a few names on it, have a production WINS server pull the names from the test server, and then shut off the test WINS server for good. WINS will refuse to delete names that it got from another server, no matter how old and expired the names are, until it can do a final double-check with the WINS server that provided the names originally. If you shut off the test server and never turn it back on, those records never go away.


Popular posts from this blog

AD LDS – Syncronizing AD LDS with Active Directory

First, we will install the AD LDS Instance: 1. Create and AD LDS instance by clicking Start -> Administrative Tools -> Active Directory Lightweight Directory Services Setup Wizard. The Setup Wizard appears. 2. Click Next . The Setup Options dialog box appears. For the sake of this guide, a unique instance will be the primary focus. I will have a separate post regarding AD LDS replication at some point in the near future. 3. Select A unique instance . 4. Click Next and the Instance Name dialog box appears. The instance name will help you identify and differentiate it from other instances that you may have installed on the same end point. The instance name will be listed in the data directory for the instance as well as in the Add or Remove Programs snap-in. 5. Enter a unique instance name, for example IDG. 6. Click Next to display the Ports configuration dialog box. 7. Leave ports at their default values unless you have conflicts with the default values. 8. Click N...

HOW TO EDIT THE BCD REGISTRY FILE

The BCD registry file controls which operating system installation starts and how long the boot manager waits before starting Windows. Basically, it’s like the Boot.ini file in earlier versions of Windows. If you need to edit it, the easiest way is to use the Startup And Recovery tool from within Vista. Just follow these steps: 1. Click Start. Right-click Computer, and then click Properties. 2. Click Advanced System Settings. 3. On the Advanced tab, under Startup and Recovery, click Settings. 4. Click the Default Operating System list, and edit other startup settings. Then, click OK. Same as Windows XP, right? But you’re probably not here because you couldn’t find that dialog box. You’re probably here because Windows Vista won’t start. In that case, you shouldn’t even worry about editing the BCD. Just run Startup Repair, and let the tool do what it’s supposed to. If you’re an advanced user, like an IT guy, you might want to edit the BCD file yourself. You can do this...

DNS Scavenging.

                        DNS Scavenging is a great answer to a problem that has been nagging everyone since RFC 2136 came out way back in 1997.  Despite many clever methods of ensuring that clients and DHCP servers that perform dynamic updates clean up after themselves sometimes DNS can get messy.  Remember that old test server that you built two years ago that caught fire before it could be used?  Probably not.  DNS still remembers it though.  There are two big issues with DNS scavenging that seem to come up a lot: "I'm hitting this 'scavenge now' button like a snare drum and nothing is happening.  Why?" or "I woke up this morning, my DNS zones are nearly empty and Active Directory is sitting in a corner rocking back and forth crying.  What happened?" This post should help us figure out when the first issue will happen and completely av...