Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ypbind(1m) — CX/UX 6.20

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

domainname(1)

ypcat(1)

ypmatch(1)

dbm(3X)

ypclnt(3N)

ypfiles(4)

makedbm(1M)

ypmake(1M)

ypinit(1M)

yppoll(1M)

yppush(1M)

ypset(1M)

ypwhich(1M)

ypxfr(1M)



ypserv(1M)                                             ypserv(1M)



NAME
     ypserv, ypbind - Yellow Pages server and binder processes

SYNOPSIS
     /usr/etc/ypserv

     /etc/ypbind

DESCRIPTION
     The Yellow Pages (YP) provides a simple network lookup ser-
     vice consisting of databases and processes.  The databases
     are dbm(3X) files in a directory tree rooted at /etc/yp.
     These files are described in ypfiles(4).  The processes are
     /usr/etc/ypserv, the YP database lookup server, and
     /etc/ypbind, the YP binder.  The programmatic interface to
     YP is described in ypclnt(3N).  Administrative tools are
     described in yppush(1M), ypxfr(1M), yppoll(1M), ypwhich(1M),
     and ypset(1M).  Tools to see the contents of YP maps are
     described in ypcat(1), and ypmatch(1).  Database generation
     and maintenance tools are described in ypinit(1M),
     ypmake(1M), and makedbm(1M).

     Both ypserv and ypbind are daemon processes typically
     activated at system startup time from /etc/rc.  ypserv runs
     only on YP server machines with a complete YP database.
     ypbind runs on all machines using YP services, both YP
     servers and clients.

     The ypserv daemon's primary function is to look up informa-
     tion in its local database of YP maps.  The operations per-
     formed by ypserv are defined for the implementor by the YP
     Protocol Specification, and for the programmer by the header
     file <rpcsvc/ypprot.h>.  Communication to and from ypserv
     is by means of RPC calls.  Lookup functions are described in
     ypclnt(3N), and are supplied as C-callable functions in the
     C library.  There are four lookup functions, all of which
     are performed on a specified map within some YP domain:
     Match, Get_first, Get_next, and Get_all.  The Match opera-
     tion takes a key, and returns the associated value.  The
     Get_first operation returns the first key-value pair from
     the map, and Get_next can be used to enumerate the
     remainder.  Get_all ships the entire map to the requester as
     the response to a single RPC request.

     Two other functions supply information about the map, rather
     than map entries:  Get_order_number, and Get_master_name.
     In fact, both order number and master name exist in the map
     as key-value pairs, but the server will not return either
     through the normal lookup functions.  (If you examine the
     map with makedbm(1M), however, they will be visible.)  Other
     functions are used within the YP subsystem itself, and are
     not of general interest to YP clients.  They include



Page 1                                  CX/UX Network File System





ypserv(1M)                                             ypserv(1M)



     Do_you_serve_this_domain?, Transfer_map, and
     Reinitialize_internal_state.

     The function of ypbind is to remember information that lets
     client processes on a single node communicate with some
     ypserv process.  ypbind must run on every machine which has
     YP client processes; ypserv may or may not be running on the
     same node, but must be running somewhere on the network.

     The information ypbind remembers is called a binding - the
     association of a domain name with the internet address of
     the YP server, and the port on that host at which the ypserv
     process is listening for service requests. This information
     is cached in the directory /etc/yp/binding using a filename
     of domainname.version.

     The process of binding is driven by client requests.  As a
     request for an unbound domain comes in, the ypbind process
     broadcasts on the net trying to find a ypserv process that
     serves maps within that domain.  Since the binding is esta-
     blished by broadcasting, there must be at least one ypserv
     process on every net.  Once a domain is bound by a particu-
     lar ypbind, that same binding is given to every client pro-
     cess on the node.  The ypbind process on the local node or a
     remote node may be queried for the binding of a particular
     domain by using the ypwhich(1) command.

     Bindings and rebindings are handled transparently by the C
     library routines. If ypbind is unable to speak to the ypserv
     process it's bound to, it marks the domain as unbound, tells
     the client process that the domain is unbound, and tries to
     bind the domain once again.  Requests received for an
     unbound domain will wait until the domain requested is
     bound.  In general, a bound domain is marked as unbound when
     the node running ypserv crashes or gets overloaded.  In such
     a case, ypbind will bind to any YP server (typically one
     that is less-heavily loaded) available on the net.

     ypbind also accepts requests to set its binding for a par-
     ticular domain.  The request is usually generated by the YP
     subsystem itself.  ypset(1M) is a command to access the
     Set_domain facility.  It is for unsnarling messes. Note that
     the Set Domain procedure only accepts requests from
     processes running as root.

FILES
     If the file /etc/yp/ypserv.log exists when ypserv starts up,
     log information will be written to this file when error con-
     ditions arise.

     The file(s) /etc/yp/binding/domainname.version will be
     created to speed up the binding process. These files cache



Page 2                                  CX/UX Network File System





ypserv(1M)                                             ypserv(1M)



     the last successful binding created for the given domain,
     when a binding is requested these files are checked for
     validity and then used.
     /etc/yp
     /etc/ypbind

SEE ALSO
     domainname(1), ypcat(1), ypmatch(1), dbm(3X), ypclnt(3N),
     ypfiles(4), makedbm(1M), ypmake(1M), ypinit(1M), yppoll(1M),
     yppush(1M), ypset(1M), ypwhich(1M), ypxfr(1M)

     YP Protocol Specification, in the CX/UX Network File System
     (NFS) manual.

NOTES
     Both ypbind and ypserv support multiple domains. The ypserv
     process determines the domains it serves by looking for
     directories of the same name in the directory /etc/yp.  It
     will reply to all broadcasts requesting yp service for that
     domain. Additionally, the ypbind process can maintain bind-
     ings to several domains and their servers, the default
     domain is however the one specified by the domainname(1)
     command at startup time.

     ypserv treats the hosts.byname and hosts.byaddr maps spe-
     cially. If a ypmatch to either of these these maps fail,
     ypserv will (on option) attempt to resolve the request by
     contacting named(1M).  This extra functionality is enabled
     by originally creating the hosts.byname and hosts.byaddr
     maps using the -b option to makedbm(1M).  CX/UX typically
     contacts named prior to contacting ypserv when resolving
     host names and addresses using gethostbyname(3N); however,
     other systems may contact only ypserv to determine this
     information. This extra functionality allows those systems
     to use host information which is only available through the
     name server.



















Page 3                                  CX/UX Network File System



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026