The Common Internet File System (CIFS) Browser Protocol makes the following possible:
A server (or a set of servers) to act as a clearinghouse (or browser server) for information about the services available in the network.
A set of servers (nonbrowser servers) that are making services available to access the clearinghouse and advertise the services they offer.
A set of clients (browser clients) to access the information clearinghouse and seek details of a particular service.
For example, the CIFS Browser Protocol can be used by an application to identify all file or print servers on a local subnet. The NetServerEnum2 command, as specified in [MS-RAP] section 188.8.131.52 allows browser clients to browse services offered by the server.<1>
The main objective of the CIFS Browser Protocol is as follows:
Share the processing load of enumerating the services available in the network across different servers.
In the context of the CIFS Browser Protocol, browsing is a process for discovering servers that offer particular services. To provide those services, browser servers can assume different roles in their lifetimes and can dynamically switch between these roles.
Clients of browser servers are of three types:
Workstations, which query browser servers for the information they contain.
Nonbrowser servers, which supply browser servers with information by registering with them.
Browser servers, which can behave as clients and query other browser servers.
The CIFS Browser Protocol manages groups of computers. This document refers to such a group of computers as a machine group. Machine groups provide a convenient means for clients to restrict the scope of a search when they query browser servers.
A machine group can be either a workgroup or a domain. In a workgroup configuration, browsing is limited to the scope of a single subnet. If computers are arranged in a Windows NT operating system security domain, the CIFS Browser Protocol allows for browsing across multiple subnets. This functionality is enabled by a special browser servers role that is known as the domain master browser server.<2> This role is usually the responsibility of the primary domain controller (PDC), which manages user access and security in the domain.
One browser server for each machine group on a subnet is selected as the local master browser server for that machine group. The selection occurs by an election process, as specified in sections 2.2.3 and 3.3.6. Servers that are in the local master browser server machine group on the subnet register with it, as does the local master browser server for other machine groups on the subnet. The local master browser server uses these registrations to maintain authoritative information about its machine group on its subnet. If there are servers in the domain that are located on other subnets on the network, the local master browser server for the domain can obtain information about them from the domain master browser server of the domain.
A backup browser server on a subnet is a browser server that was selected by the local master browser server on that subnet to be available to share the processing load that is required to serve browser clients, as specified in section 3.1. backup browser servers keep copies of the information that is maintained by the local master browser server by periodically querying that server.<3>
Multiple backup browser servers can exist on a subnet; the number of backup browser servers is typically configured to enable enough backup browser servers to handle the expected query load. Clients can find backup browser servers by querying the local master browser server. Clients on a subnet query backup browser servers on the subnet, not the local master browser server; also, they are expected to spread their queries evenly across backup browser servers to balance the load.
When a domain spans multiple subnets, the domain master browser server is responsible for keeping them synchronized. The domain master browser server periodically queries all the local master browser servers within the domain for lists that contain all the servers within their subnets. The domain master browser server merges all the replies into a single master list, which allows it to act as a collection point for inter-subnet browsing information. The local master browser servers periodically query the domain master browser server to retrieve the network-wide information it maintains.
When a domain spans only a single subnet, there is no distinct local master browser server; this role is instead handled by the domain master browser server. Similarly, the domain master browser server is always the local master browser server for its domain on its own subnet.
When a browser client suspects that the local master browser server for its machine group has failed, the client initiates an election process in which the browser servers participate. This election process is specified in sections 2.2.3 and 3.3.6. When this election process occurs, some browser servers can change roles.