Name resolution is critical to Samba's operation, because names are used to find the servers that share files or printers. Network browsing takes the task of finding servers to a new level of sophistication by allowing a user to delve down into a hierarchy of networks, domains, hosts, and services offered by each server. Although there are many ways to locate services on a networksuch as the Service Location Protocol (SLP), Universal Plug-and-Play (UPnP), or even use of LDAP queries to search Active Directoryour focus is solely on Samba's role in browsing NetBIOS-based services.
Name resolution and browsing are not difficult to configure. However, some complexity is introduced by the variety of available name-resolution systems. Historically, Unix and other TCP/IP users have moved from a flat hosts file to the DNS, with the NIS or LDAP directory services as other popular choices. Meanwhile, Microsoft moved from a broadcasting system to a simple, LAN-only name server called WINS, and then to DNS.
All of these historical name resolution systems are still in use today. Finding a host is so crucial to networking that sites want robust name-resolution systems with fallback mechanisms in case the main system fails. Browsing is also complicated by the frequent need to show hosts in other subnets. This chapter shows you how to configure your network to handle name resolution and browsing any way you want.
Some of the differences between Unix and Microsoft networking implementations are the result of fundamental design goals. Unix networking was originally designed largely to implement a relatively formal group of systems that were assumed to be small in number, well-maintained, and highly available; that have static IP addresses; and that wouldn't physically move from place to place. Bringing a new server online was a labor-intensive task, but it did not have to be performed frequently. In contrast, Windows networking was originally developed as a peer-to-peer collection of small personal computers on a single subnet, having no centrally or hierarchically organized structure.
SMB networking is dynamic. Computers are allowed to leave the network at any time, sometimes without warning, and to join or rejoin the network at any time. Furthermore, any user in a Windows network can theoretically add a new shared resource to the network or remove a resource that was previously added. The change in the network's configuration is handled automatically by the rest of the network, without requiring any action by a system administrator.