Microsoft first implemented the Browser Service as a proprietary protocol. The Browser service makes systems visible in the "Network Neighbourhood" within Windows operating systems such as Windows for Workgroups, Windows 9.x and Windows NT and NT2000. The Browser Service also operates in environments such as LAN Manager, LAN Server and OS/2 networks. The Browser Service has nothing to do with Web browsing or HTTP. The Browser Service registers SMB (NetBIOS) names dynamically and makes this dynamic list available to systems on the network. The Browser Service runs over SMB (and is described as running over a "mail slot" protocol over SMB). SMB runs over either NetBIOS Frames Protocol, NBF, often referred to as NetBEUI, or NetBIOS over TCP/IP, or over NetBIOS over IPX/SPX. Thus the Browser service is independent of the transport used to carry SMB.
Because the Browser Service is concerned with the registration of SMB (NetBIOS) names and is dynamic, it is sometimes confused with the NetBIOS Name Service (NBNS) that maps NetBIOS names to IP addresses. An example of NBNS is Microsoft WINS. The Browser Service and NBNS are two separate services.
In very broad terms, the Browser Service can be seen as providing a similar function to the Service Advertising Protocol (SAP) in NetWare environments. Lan Manager servers broadcast their presence over the network and the Browser Service was developed as a solution to the scalability problems of such an arrangement. (Novell developed Novell Directory Services, NDS, to reduce or even replace the need for SAP traffic.) It is important to note that Windows for Workgroups, Windows 9.x systems, Windows NT workstations and NT2000 workstations can share files and thus be servers; in such peer to peer networking environments every system is potentially a server.
With Lan Manager 1.0, servers broadcast their presence over the network and client systems listened for such broadcasts to discover servers. This is not dissimilar to the early Novell NetWare systems where servers advertised themselves over the network by broadcasting Service Advertising Protocol (SAP) packets.
When Microsoft introduced Windows for Workgroups, each PC could share it's resources acting as a server as well as acting as a client. Thus the number of servers on the network could potentially equal the number of PCs and become very large. The original broadcast system would not scale in such an environment. It was at this point that the first implementation of the browser service was introduced.
With the introduction of Windows NT, the browser service was expanded to include domains.
Following the development of the next version of SMB, CIFS, Microsoft published the latest version of the Browser protocol as a draft of an internet draft "CIFS/E Browser Protocol". This draft document specifies version 1.15 of the browsing protocol.
Browser Servers maintain lists of Servers and the services they offer. Other systems, known as Browser Clients (which may also be Browser servers) query the Browser Servers for information. When Servers come on line they register themselves with the Browser Servers. The Servers are organised in to logical groups according to which group they belong to; these can be "Workgroups" or Domains" and correspond to SMB / NetBIOS group names.
Browser Servers, sometimes simply known as Browsers, can occupy a number of rolls, serving the needs of a particular group or sub-net:
If a client system does not get a response from a Local Master Browser it can initiate an election. The Browser systems and Potential Browser systems communicate to decide which machine will become the Browser.
Client system will contact Browser servers for a list of servers within a group or for lists of groups. Typically clients will keep a list of several Browsers.
The Browser service uses "Mailslots" and is perhaps the only protocol that does. The mailslot "frames" are carried in SMB "transact" packets. The opcode within the Transact SMB packet is Mailslot Write. Within the data portion of the Transact packet is the mailslot frame. The Transact data itself begins with an opcode as shown below:
| Opcode | description |
| 1 | HostAnnouncement |
| 2 | AnnouncementRequest |
| 8 | RequestElection |
| 9 | GetBackupListReq |
| 10 | GetBackupListResp |
| 11 | BecomeBackup |
| 12 | DomainAnnouncment |
| 13 | MasterAnnouncement |
| 15 | LocalMasterAnnouncement |
Microsoft has published the latest version of the Browser protocol as a draft of an internet draft "CIFS/E Browser Protocol". The document is available as a Microsoft Word document at: ftp://ftp.microsoft.com/developer/drg/cifs/cifsbrow.doc
Some information is also available from the MSDN Library: The section "Windows Resource Kits" contains a section "Windows 95 Resource Kit" which contains "Chapter 11 Logon, Browsing, and Resource Sharing".
| Previous | Contents | Next |