The abstract space or collection of all possible addresses, names, or identifiers of objects on a network, internetwork, or the Internet. A namespace is “the space of all names” for a given type of network name.
A simple example of a namespace is an IP address space, which consists of the space of all possible IP addresses. This space is divided into class A, class B, and so on, which represent disjoint subgroups of the IP address space. Generally, every node on a TCP/IP network, internetwork, or the Internet must occupy a unique point in the IP address space - that is, it must have a unique IP address. This ensures that a packet directed to a particular node (such as a computer, network printer, or router interface) can be addressed with the IP address of that node. If two nodes on a network were to have the same IP address number, a packet intended for one might end up at the other. The exception is when you have a private network connected to the Internet through a firewall that uses network address translation (NAT) or some other scheme to hide the addresses of nodes in the private network from the Internet. In this case, if no direct communication is expected between nodes in the two networks (except through the firewall), nodes in the private network can be assigned arbitrary IP addresses such as 10.x.y.z.
Another common example of a namespace is the DNS namespace of the Internet. Unlike the space of IPv4 addresses just described, the DNS namespace is hierarchical in structure and arbitrarily scalable (except so far as a node in DNS namespace must generally map to some specific IP address). It also has the advantage of being a logical naming scheme, in contrast to a physical naming scheme such as IP addresses, which are bound to the particular network structure being used.
The root of the DNS namespace branches out to a relatively small number of top-level domains such as .com, .org, and .edu. Private companies can register a domain name in one of these top-level domains and then subdivide their branch of the DNS namespace as they desire. For example, a company named Carpoint Traders might register the domain name carpoint.com and then create three new subdomains under it named sales.carpoint.com, support.carpoint.com, and hq.carpoint.com. Specific servers and router interfaces exposed to the Internet might then be given specific DNS addresses to uniquely identify them in the DNS namespace. An address in the DNS namespace, called a fully qualified domain name (FQDN), maps to a unique node on the Internet. An example might be widgets.support.carpoint.com, which might map to the address 10.15.6.133. Names of domains, subdomains, and individual hosts are maintained on name servers located at various points across the Internet or within large private internetworks. If you want to locate a particular node in the DNS namespace, you query a name server. The process of locating a particular DNS node and resolving its FQDN into its associated IP address is called name resolution.
Another namespace used in Microsoft Windows NT–based and Windows 2000–based networks is the NetBIOS namespace, which is the space of all NetBIOS names (computer names) of Windows machines on the network. Unlike the hierarchical tree structure of the DNS namespace, the NetBIOS namespace is flat and is managed using the Windows Internet Name Service (WINS), which runs on WINS servers in the network. Because the NetBIOS namespace is flat, it is not as scalable as DNS. For example, say that you query a name server to resolve an FQDN such as widgets.support.carpoint.com into its associated IP address. The name server might first have to find another name server that is authoritative in the carpoint.com domain. Next, the name server must find a name server that is authoritative in the support.carpoint.com subdomain whose database contains a record for the widgets.support.carpoint.com host. Finally, the name server must resolve the information in the record into an IP address. The whole process might take only several referrals and a short inspection of a relatively small database of resource records because each name server on the Internet is authoritative over only a small portion of the DNS namespace. Once you locate the correct name server through a series of hierarchical queries, the final name lookup deals with only a small number of records. The NetBIOS namespace is different, however, because each WINS server maintains a database of records for all NetBIOS names on the network. So if you were to use WINS to manage a network the size of the Internet with its millions of hosts, each WINS server would have a flat-file database containing millions of records, which would need to be searched from top to bottom each time a query was issued against it.
Because of the flexibility and scalability of DNS and its association with the Internet, DNS is the primary naming system used by Windows 2000. Support for WINS is included only for backward compatibility with downlevel Windows NT stations and legacy Windows stations. Active Directory in Windows 2000 uses DNS as the service for name resolution (for locating users, groups, computers, shared folders, printers, and other objects on the network). The namespace of Active Directory represents a bounded area within which the DNS name of the root of Active Directory is translated to all the objects within the directory. Within Active Directory, a domain tree represents a contiguous namespace of connected objects, while a domain forest is a disjointed namespace formed from two or more domain trees. Companies with Windows 2000–based networks can use the same DNS namespace for both internal and external network connections, or they can use separate DNS names for the network from an internal or an external perspective.