.\" Copyright (c) 1986, 1988 Regents of the University of California. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms are permitted .\" provided that this notice is preserved and that due credit is given .\" to the University of California at Berkeley. The name of the University .\" may not be used to endorse or promote products derived from this .\" software without specific prior written permission. This software .\" is provided ``as is'' without express or implied warranty. .\" .\" @(#)types.me 6.2 (Berkeley) 2/28/88 .\" .sh 1 "Types of Servers" .pp There are several types of servers: Master, Caching, Remote, and Slave. .sh 2 "Master Servers" .pp A Master Server for a domain is the authority for that domain. This server maintains all the data corresponding to its domain. Each domain should have at least two master servers, a primary master and some secondary masters to provide backup service if the primary is unavailable or overloaded. A server may be a master for multiple domains, being primary for some domains and secondary for others. .sh 3 Primary .pp A Primary Master Server is a server that loads its data from a file on disk. This server may also delegate authority to other servers in its domain. .sh 3 Secondary .pp A Secondary Master Server is a server that is delegated authority and receives its data for a domain from a primary master server. At boot time, the secondary server requests all the data for the given zone from the primary master server. This server then periodically checks with the primary server to see if it needs to update its data. .sh 2 "Caching Only Server" .pp All servers are caching servers. This means that the server caches the information that it receives for use until the data expires. A \fICaching Only Server\fP is a server that is not authoritative for any domain. This server services queries and asks other servers, who have the authority, for the information needed. All servers keep data in their cache until the data expires, based on a time to live field attached to the data when it is received from another server. .sh 2 "Remote Server" .pp A Remote Server is an option given to people who would like to use a name server on their workstation or on a machine that has a limited amount of memory and CPU cycles. With this option you can run all of the networking programs that use the name server without the name server running on the local machine. All of the queries are serviced by a name server that is running on another machine on the network. .sh 2 "Slave Server" .pp A Slave Server is a server that always forwards queries it cannot satisfy locally to a fixed list of \fIforwarding\fP servers instead of interacting with the master nameservers for the root and other domains. The queries to the \fIforwarding servers\fP are recursive queries. There may be one or more forwarding servers, and they are tried in turn until the list is exhausted. A Slave and forwarder configuration is typically used when you do not wish all the servers at a give site to be interacting with the rest of the Internet servers. A typically senario would involve a number of workstations and a departmental timesharing machine with Internet access. The workstations might be administratively prohibited from having Internet access. To give the workstations the appearance of access to the Internet domain system, the workstations could be Slave servers to the timesharing machine which would forward the queries and interact with other nameservers to resolv the query before returning the answer. An added benefit of using the forwarding feature is that the central machine develops a much more complete cache of information that all the workstations can take advantage of. The use Slave mode and forwarding is discussed further under the description of the named bootfile commands.