When you use your computers, how do you know which servers are on the network, providing shared data for you to access? When you look in Network Neighborhood (aka My Network Places, or simply Network in Windows Vista), and see a list of servers (or don't), where does the list come from (or why are some servers or shares not always listed)? The list is provided by the browser subsystem, and any omissions from the list are the fault of the browsers (or problems related to the browsers).
When you ask for help with the browsers, many experts will tell you to turn the browsers off. If you turn the browser off on enough computers, the problems go away, and you can always see all computers from all other computers.
In any large office (enterprise domain) environment, you have dozens, if not hundreds of computers. You don't have to turn the browser service on or off there. How does that work, and why doesn't a Small Office / Home Office (SOHO) workgroup environment work the same way?
- Network Terminology
- So What Does The Browser Do?
- Why Does The Browser Work Better in a Domain?
- What's The Problem Then?
- How Can I Prevent Browser Problems?
- Summary Rules for Dealing With the Browser
Very Simple Network Terminology
A workgroup is similar to a very simple domain, in a limited context. In reality, though, there are an almost infinite number of differences between the two. Knowing the differences is a key to understanding how the browser works (or doesn't).
So What Does The Browser Do?
You can't have every server on the network constantly advertising its presence to every client - that would create chaos. The browser subsystem tames the chaos. The servers are listed by the browser servers, and the browser servers ("browsers") provide the server list to the clients.
Just as having every server advertise to every client is bad, so would be having one server provide the server list to all of the clients. The official recommendation from Microsoft calls for 1 browser for every 32 computers in the domain (workgroup). If you have more than 32 computers, you have multiple backup browsers.
If you have more than one computer, you should have a browser. If you have more than two computers, you should have a backup browser, and a master browser. With just two computers, the backup and master browser might be the same computer.
The servers, and the backup browsers, have their activities coordinated by a master browser. The master browser maintains a count of client computers, and for every 32 clients, accepts the offer of one server, directing it to run as a backup browser.
The master browser receives all of the server advertisements, aggregates all of the advertisements into one master list, and distributes the list to each backup browser. The backup browsers distribute the browse list to the clients, which then have something to display in Network Neighborhood / My Network Places / Network (in Vista).
In a domain, the domain controller generally acts as the master browser. The domain controller is always online, and always accessible. There are major problems in a domain environment, if the domain controller isn't available. The domain controller functionality, and the browser functionality, both include failover mechanisms, so there will always be a domain controller, and a master browser, available if the server providing that functionality becomes unavailable for any reason.
In a domain that occupies multiple subnets, the domain controller also becomes the domain master browser, and makes Browsing Across Subnets possible.
Why Does The Browser Work Better in a Domain?
There are many differences between a domain environment, and a workgroup environment.
In a domain, for instance:
- You have a Domain Controller, which does nothing but validate (authenticate and authorise) access to the other servers.
- If there are multiple subnets in the domain, the domain controller acts as a domain master browser, and aggregates browsing from all subnet master browsers.
- The role of any computer, as a client or server, is very formal.
- Servers generally run a server operating system.
- Servers are traditionally fixed in location, and stay connected and online, constantly.
- Clients typically only need to know (see) the presence of servers.
- Clients typically don't become browsers, because there are usually at least 2 servers present on the domain, acting as browsers.
- The configuration of a server is very carefully maintained, generally by a server administrator. The performance and stability of a server is carefully guarded.
The master browser role, and the browser role, are generally chosen for a computer running as the domain controller, and for a computer running a server operating system.
Contrast all that with your typical workgroup, where you have 2 or more computers, all sharing data with each other in a web of shares.
- You have no Domain Controller. Access to any server is validated by local accounts installed, activated, and maintained on each client, and on each server.
- With no domain master browser, if you have multiple subnets in the workgroup, you'll have master browsers that won't communicate.
- The role of any computer, as a client or a server, is casual.
- Most computers run a client operating system, though acting as servers.
- Some computers, wirelessly or otherwise connected, may move around. Many computers are casually disconnected from the network, or turned off, at the whim of the owner.
- All computers need to know (see) the presence of other computers in Network Neighborhood.
- All computers become browsers, unless otherwise configured.
- Many computers have software or settings changes made at the whim of the owner, which may hamper performance or stability, as a client or as a server.
The master browser will be one of the workgroup computers, and be subject to the treatment of a workgroup computer.
Regardless of all of the above considerations, there is expected to always be a master browser in any workgroup (domain). "Always" is a relative term, subject to the browsers checking for a master browser periodically, not every second.
Short of there being a domain controller in your workgroup (there won't be), or a computer running a server operating system (there may not be), the server chosen to be the master browser will probably be the server that's been up the longest (though not necessarily online, to the other computers, the longest).
What's The Problem Then?
Anytime that a backup browser realises that there is no master browser present on the domain, the browser is authorised to hold an election to determine a new master browser.
What happens if any server loses contact with another? If a browser server loses contact with the master browser, it may elect itself a master browser. This gives you a workgroup with 2 master browsers, neither able to see the other. This is where many browser problems start.
Differences between operating system, and configurations, of the various servers, combined with changing the identity of the master browser, will make for an ever changing workgroup, as seen in Network Neighborhood. And complaints that "I can't always see all the computers in my workgroup" become natural (Here we get "always", and "all", again).
What happens if the master browser is rebooted? While it's being rebooted, a master browser election may be held, and when the server that was the master browser comes back up and online, it may find that it's no longer the master browser. Or it may not. The more servers online at any time, the more backup browsers to notice the absence of the master browser when it's rebooted.
Timing is a major issue here. In any domain (workgroup), as I said, there has to always be a master browser visible to any backup browser. Any time any backup browser can't contact the master browser, it assumes that there's a problem with the master browser, and elects a new master browser. The greater number of backup browsers that there are on the network, the greater the chance that one backup browser will realise the absence of the master browser, and start an election.
What if you, on your home workgroup, casually unplug the network cable on the master browser? Depending upon how long you leave it unplugged, the master browser may be replaced. If you simply plug the cable back in, you will have a workgroup with two master browsers. Some servers may still recognise the old master browser, others the new one.
What if you carry your laptop (networked using WiFi) away (out of radio range) from the router / WiFi Access point, and it loses network connectivity? If it's a backup browser, and it realises that contact with the master browser has been lost, it may elect itself master browser. When it reconnects to the network, the above situation may apply.
There are also challenges when you have computers running Windows 9x (95, 98, or ME) on the same network with computers running NT (NT, 2000, XP, Server 2003 / Vista). For more discussion about browser issues related to Windows 9x, see Windows 9x (95/98/ME) and the Browser.
The browser depends upon Server Message Blocks ("SMBs"), both from the server to the browser server, and from the browser server to the clients. System configurations, and personal firewalls, may affect the transport of SMBs. The restrictanonymous registry setting may prevent any server from being enumerated ("seen") by a browser. And a totally invisible server can also be caused by the Hidden parameter.
Any personal firewall, depending upon configuration, can block SMBs. Be sure that you haven't overlooked a firewall bundled with your antivirus protection, or your VPN. Make sure that the Windows Firewall service is running - see (KB889320): When you disable the Windows Firewall service..., for discussion about this problem, and a possible solution.
Here's where the difference in browser functionality, between a domain and a workgroup, becomes important. If you have a domain with an extra master browser, that master browser will eventually communicate with the domain master browser, and its browse list will become integrated with the domain browse list. With the extra master browser on the same subnet as the domain master browser, or on a different subnet, a domain with multiple browser segments will not be a major problem.
On the other hand, a workgroup with multiple browser segments will leave you with two master browsers that won't be able to see each other. Master browsers communicate only with their known backup browsers, with the domain master browser, and with master browsers for other domains or workgroups. They can't communicate with other master browsers for the same workgroup, even if on the same physical segment.
With no domain master browser, the two browser segments will remain separate. Some servers will report their presence to one master browser, and others to another. Some clients will get their browse list from one browser, and others from another. And you will have different browse lists (Network Neighborhood displays) all over the workgroup.
How Can I Prevent Browser Problems?
Please start with a clean (uncluttered) protocol stack. The more protocols there are, to transport the SMBs, the more chaotic the browser service will be. With a normal LAN, Internet Protocol (with or without NetBT enabled) is all that's needed.
In a workgroup, if you can't control the chaotic environment, which is unlikely, the best thing to do is to restrict the number of browsers on the network. By doing that, you lessen the possibility of master browser changes and conflicts. So the advice given is generally to use one (or two, with the second being the backup) browsers, and turn the service off on all others.
To stop the Windows 9x Browse Master:
- From Control Panel - Network, double click on "File and printer sharing for Microsoft Networks".
- In "File and printer sharing for Microsoft Networks Properties", change the Value for Browse Master to Disabled.
- Hit OK, and restart the system.
To stop the Browser on a Windows NT/2000/XP system, Stop then Disable the Computer Browser service, using the Services Wizard, or the Services Controller CLI. Similarly, if you wish the browser to run on any computer, Start then Enable the service on that computer.
Any time you change the browser setup on your LAN, you may have to wait for up 51 minutes, before all computers are synchronised. If this latency period is unacceptable, you may restart each computer. For maximum reliability, power all computers off; when all computers are off, power each one back on again, starting with the one which you want to serve as the master browser.
Of course, even with just two browsers on the LAN, you could (as noted above) end up with a browser conflict. And if both browsers should be offline, or separated from the rest of the LAN, you will have no browser service in the rest of the LAN. So reducing your browser population to two is not a cure all, nor is it guaranteed to produce success all of the time.
You can at least identify any browser related problems, using Microsoft's Browstat utility, my troubleshooting guide, Irregularities In Workgroup Visibility, and my brief tutorial, The NT Browser and Windows Networking.
For more information about the browser subsystem, which is a very intricate component of Windows, you might want to read Microsoft's articles
- Computer Browser (System Services for the Windows Server 2003 Family and Windows XP Operating Systems).
- MS Windows NT Browser.
- Browsing and Windows 95 Networking.
Summary Rules for Dealing With the Browser
- Diagnose the problem before making changes to the browser infrastructure. As I said, the complaint "I can't always see all of the computers from every computer" is a good symptom of a browser conflict. Lack of "always" or "all" in the complaint may indicate a different cause. Don't go changing the browser setup without having some chance of producing results.
- Browstat, which only works on Windows NT systems, is a good diagnostic tool, when only computers running Windows NT / 2000 / 2003 / XP / Vista are involved.
- It is generally best to run the browser service on every wired server on the LAN, and let the browser subsystem elect a master browser as necessary.
- If you have a small LAN with no computers running a server OS, all servers are potential master browsers. If you take any server offline, and it is powered up, you need to power it off before reconnecting it (or at least restart it while reconnecting it). Or be prepared to diagnose browser conflicts.
- If you have a small LAN with no computers running a server OS, and any of the servers are wirelessly connected, disable the browser service on all wirelessly connected servers. Or be prepared to diagnose browser conflicts.
The NT Browser does its job pretty well, when properly designed and maintained. Use common sense, and the above rules, and you will have a much more controlled browser infrastructure, and a more reliable Network / My Network Places / Network Neighbourhood display.