|  | 
 NAME     
 DESCRIPTION     
 |  |  |  | The network database consists of files describing machines known
    to the local installation and machines known publicly. The files
    comprise multi-line tuples made up of attribute/value pairs of
    the form attr=value or sometimes just attr. Each line starting
    without white space starts a new tuple. Lines starting with #
    are comments. 
    
    
    The file /lib/ndb/local is the root of the database. Other files
    are included in the database if a tuple with an attribute-value
    pair of attribute database and no value exists in /lib/ndb/local.
    Within the database tuple, each pair with attribute file identifies
    a file to be included in the database. The files are searched
    in the order they appear.
    For example: 
 declares the database to be composed of the three files /lib/ndb/common,
    /lib/ndb/local, and /lib/ndb/global. By default, /lib/ndb/local
    is searched before the others. However, /lib/ndb/local may be
    included in the database to redefine its ordering. 
    
    
    Within tuples, pairs on the same line bind tighter than pairs
    on different lines. 
    
    
    Programs search the database directly using the routines in ndb(3).
    The routine ndbipinfo imposes structure on the otherwise flat
    database by using knowledge specific to the network. The internet
    is made up of networks which can be subnetted multiple times.
    A network must have an ipnet attribute and is uniquely identified
    by the values of its ip and
    ipmask attributes. If the ipmask is missing, the relevant Class
    A, B or C one is used. 
    
    
    A search for an attribute associated with a network or host starts
    at the lowest level, the entry for the host or network itself,
    and works its way up, bit by bit, looking at entries for nets/subnets
    that include the network or host. The search ends when the attribute
    is found. For example, consider at the following entries:|  |  |  | database= 
 |  |  |  | file=/lib/ndb/common file=/lib/ndb/local
 file=/lib/ndb/global
 
 | 
 | 
 
 Here anna is on the subnet plan9 which is in turn on the class
    B net murray−hill. Assume that we’re searching for anna’s NTP
    and SMTP servers. The search starts by looking for an entry with
    sys=anna. We find the anna entry. Since it has an smtp=smtp2.cs.bell−labs.com
    pair, we’re done looking for that attribute. To fulfill the NTP
    request, we continue by looking for networks that include anna’s
    IP address. We lop off the right most one bit from anna’s address
    and look for an ipnet= entry with ip=135.104.9.4. Not finding
    one, we drop another bit and look for an ipnet= entry with ip=135.104.9.0.
    There is such an entry and it has the pair,
    ntp=oncore.cs.bell−labs.com, ending our search. 
    
    
    A number of attributes are meaningful to programs and thus reserved.
    They are:|  |  |  | ipnet=murray−hill ip=135.104.0.0 ipmask=255.255.0.0 
 ipnet=plan9 ip=135.104.9.0 ipmask=255.255.255.0|  |  |  | dns=135.104.10.1 ntp=ntp.cs.bell−labs.com
 
 | 
 
 ip=135.104.9.6 sys=anna dom=anna.cs.bell−labs.com|  |  |  | ntp=oncore.cs.bell−labs.com smtp=smtp1.cs.bell−labs.com
 
 | 
 
 |  |  |  | smtp=smtp2.cs.bell−labs.com 
 | 
 | 
 sys        system name
 dom        Internet domain name
 ip         Internet address
 ether      Ethernet address
 bootf      file to download for initial bootstrap
 ipnet      Internet network name
 ipmask      Internet network mask
 ipgw       Internet gateway
 auth       authentication server to be used
 authdom     authentication domain. Plan 9 supports multiple authentication
    domains. To specify an authentication server for a particular
    domain, add a tuple containing both auth and authdom attributes
    and values.
 fs         file server to be used
 tcp        a TCP service name
 udp        a UDP service name
 il         an IL service name
 port       a TCP, UDP, or IL port number
 restricted   a TCP service that can be called only by ports numbered
    less that 1024
 proto      a protocol supported by a host.
 dnsdomain   a domain name that ndb/dns adds onto any unrooted names
    when doing a search There may be multiple dnsdomain pairs.
 dns        a DNS server to use (for DNS and DHCP)
 ntp        an NTP server to use (for DHCP)
 smtp       an SMTP server to use (for DHCP)
 time       a time server to use (for DHCP)
 wins       a Windows name server (for DHCP)
 mx         mail exchanger (for DNS and DHCP)
 soa        start of area (for DNS)
 
 | 
 EXAMPLES     
 |  |  |  | A tuple for the CPU server, spindle. 
    
    
    sys = spindle 
 Entries for the network mh−astro−net and its subnets. 
    
    
    ipnet=mh−astro−net ip=135.104.0.0 ipmask=255.255.255.0|  |  |  | dom=spindle.research.bell−labs.com bootf=/mips/9powerboot
 ip=135.104.117.32 ether=080069020677
 proto=il
 
 | 
 
 ipnet=unix−room ip=135.104.117.0|  |  |  | fs=bootes.research.bell−labs.com ipgw=r70.research.bell−labs.com
 auth=p9auth.research.bell−labs.com
 
 | 
 ipnet=third−floor ip=135.104.51.0
 Mappings between TCP service names and port numbers. 
    
    
    tcp=sysmon      port=401
 tcp=rexec       port=512    restricted
 tcp=9fs        port=564
 
 | 
 FILES     
 SEE ALSO     
 |  |