Return to index
EndPoint: An endpoint is essentially a combination of protocol, segment/IP subnet, and workgroup/domain. For example, a single segment with 2 protocols (NetBEUI and IP), 2 IP subnets and one workgroup/domain (mydom) has 3 endpoints (NetBEUI/mydom, Subnet1/mydom, and subnet1/mydom). Browse lists cannot cross protocol endpoints (a machine with only NetBEUI will never appear in the browse list of a machine with only TCP/IP). As described below, NT domains allow browse lists to cross IP subnets.
server (lower case 's' to differentiate from NT Server): Any MS machine (W2k, NT, 9x, WFW) configured to share resources and not configured to hide (only NT can do this and it is hiding is disabled, by default). Each server will periodically register its name with the SMB of each endpoint to which the server is connected.
Browse Client: Any MS machine with the browser service running (the default on all MS machines). Browse clients obtain the browse list (from an SMB, BMB, or DMB) and provide that list to any internal program requesting it.
<Note, some other machines are also able to act as 'Server' and 'Browse Client (e.g. a linux box with Samba installed).>
Master Browser (MB): There are actually 3 types of Master Browser; Domain Master Browser (DMB), Segment/Subnet Master Browser (SMB), Backup Master Browser (BMB)
SMB: Each endpoint will have one and only one SMB (though one machine can act as SMB for multiple endpoints). The SMB is determined through an election process. An SMB builds and maintains the endpoint's browse list (adding server registrations to the list, removing servers that fail to register, etc) and shares that list with local Browse Clients (possibly indirectly through BMBs). If an NT domain (matching the SMB's domain/workgroup) is present, the SMB will periodically share the local list with the DMB, and obtain the domain browse list from the DMB (the SMB will them share the domain list with local Browse clients).
BMB: Each endpoint can have one or more BMBs. BMBs are appointed by the endpoint's SMB. The BMB periodically obtains a copy of the browse list from the SMB and provides that list to requesting Browser Clients. BMBs serve to reduce the load on the SMB by spreading the Browse Client requests over several MBs (the SMS and and BMBs).
DMB: Every NT Domain has one and only one DMB and it is always the domain's PDC. No other NT machine can act as DMB. A DMB is always the SMB for all local endpoints. All SMBs for that domain/workgroup periodically contact the domain's DMB to share their local browse list(s) and to obtain a copy of the domain browse list, for their endpoint(s). The DMB combines all of the segment browse lists into one or more domain browse lists (e.g. a separate list for each protocol) and provides the appropriate list back to requesting SMBs.
SMB Elections will occur anytime a server, a Browse Client, or a BMB is unable to locate a local SMB. Since SMBs are always located via broadcast name resolution (WINS, lmhosts, etc have no effect on this), anything that interferes with broadcast traffic (e.g. inconsistent subnet masks) can cause unnecessary SMB elections.
Some machines will also force an SMB election, as they boot (e.g. a PDC/DMB will always do so).
To begin an election, a machine broadcasts its election level. All machines on the same endpoint (and capable of acting as an MB) compare their election level to the value in the broadcast packet. Any machine with a higher election level will broadcast its level. The machine with the highest level wins the election.
Each machine on a given endpoint that has resources to share will register its name with the endpoint's SMB and will periodically renew that registration. When a machine needs to obtain a browse list for it's endpoint, it will contact the SMB for a list of BMBs, then contact a BMB (or the SMB) to obtain the browse list.