ndb.7 (6110B)
1 .TH NDB 7 2 .SH NAME 3 ndb \- Network database 4 .SH DESCRIPTION 5 .PP 6 The network database consists of files 7 describing machines known to the local 8 installation and machines known publicly. 9 The files comprise multi-line tuples made up of 10 attribute/value pairs of the form 11 .IB attr = value 12 or sometimes just 13 .IR attr . 14 Each line starting without white space starts a new tuple. 15 Lines starting with 16 .B # 17 are comments. 18 .PP 19 The file 20 .B /lib/ndb/local 21 is the root of the database. 22 Other files are included in the 23 database if a tuple with an 24 attribute-value pair of attribute 25 .B database 26 and no value exists in 27 .BR /lib/ndb/local . 28 Within the 29 .B database 30 tuple, 31 each pair with attribute 32 .B file 33 identifies a file to be included in the database. The files are searched 34 in the order they appear. 35 For example: 36 .IP 37 .EX 38 database= 39 file=/lib/ndb/common 40 file=/lib/ndb/local 41 file=/lib/ndb/global 42 .EE 43 .PP 44 declares the database to be composed of the three files 45 .BR /lib/ndb/common , 46 .BR /lib/ndb/local , 47 and 48 .BR /lib/ndb/global . 49 By default, 50 .B /lib/ndb/local 51 is searched before the others. 52 However, 53 .B /lib/ndb/local 54 may be included in the 55 .B database 56 to redefine its ordering. 57 .PP 58 Within tuples, pairs on the same line bind tighter than 59 pairs on different lines. 60 .PP 61 Programs search the database directly using the routines in 62 .MR ndb (3) . 63 .\" or indirectly using 64 .\" .B ndb/cs 65 .\" and 66 .\" .B ndb/dns 67 .\" (see 68 .\" .IR ndb (1)). 69 .\" Both 70 .\" .B ndb/cs 71 The routine 72 .I ndbipinfo 73 imposes structure on the otherwise flat database by using 74 knowledge specific to the network. 75 The internet is made up of networks which can be subnetted 76 multiple times. A network must have an 77 .B ipnet 78 attribute and is uniquely identified by the values of its 79 .B ip 80 and 81 .B ipmask 82 attributes. If the 83 .B ipmask 84 is missing, the relevant Class A, B or C one is used. 85 .LP 86 A search for an attribute associated with a network or host starts 87 at the lowest level, the entry for the host or network itself, 88 and works its way up, bit by bit, looking at entries for nets/subnets 89 that include the network or host. The search ends when the attribute 90 is found. 91 For example, consider at the following entries: 92 .IP 93 .EX 94 ipnet=murray-hill ip=135.104.0.0 ipmask=255.255.0.0 95 dns=135.104.10.1 96 ntp=ntp.cs.bell-labs.com 97 ipnet=plan9 ip=135.104.9.0 ipmask=255.255.255.0 98 ntp=oncore.cs.bell-labs.com 99 smtp=smtp1.cs.bell-labs.com 100 ip=135.104.9.6 sys=anna dom=anna.cs.bell-labs.com 101 smtp=smtp2.cs.bell-labs.com 102 .EE 103 .LP 104 Here 105 .B anna 106 is on the subnet 107 .B plan9 108 which is in turn on the class B net 109 .BR murray-hill . 110 Assume that we're searching for 111 .BR anna 's 112 .B NTP 113 and 114 .B SMTP 115 servers. 116 The search starts by looking for an entry with 117 .BR sys=anna . 118 We find the anna entry. Since it has an 119 .B smtp=smtp2.cs.bell-labs.com 120 pair, 121 we're done looking for that attribute. 122 To fulfill the NTP request, we continue by looking for networks 123 that include anna's IP address. 124 We lop off the right most one bit from anna's address and 125 look for an 126 .B ipnet= 127 entry with 128 .BR ip=135.104.9.4 . 129 Not finding one, we drop another bit and look for an 130 .B ipnet= 131 entry with 132 .BR ip=135.104.9.0 . 133 There is 134 such an entry and it has the pair, 135 .BR ntp=oncore.cs.bell-labs.com , 136 ending our search. 137 .\" .PP 138 .\" .I Ndb/cs 139 .\" can be made to perform such network aware 140 .\" searches by using metanames in the dialstring. 141 .\" A metaname is a 142 .\" .I $ 143 .\" followed by an attribute name. 144 .\" .I Ndb/cs 145 .\" looks up the attribute relative to the system it is running 146 .\" on. Thus, with the above example, if a program called 147 .\" .IP 148 .\" .EX 149 .\" dial("tcp!$smtp!smtp", 0, 0, 0); 150 .\" .EE 151 .\" .LP 152 .\" the dial would connect to the SMTP port of 153 .\" .BR smtp2.cs.bell-labs.com . 154 .PP 155 A number of attributes are meaningful to programs and thus 156 reserved. 157 They are: 158 .TF restricted 159 .TP 160 .B sys 161 system name 162 .TP 163 .B dom 164 Internet domain name 165 .TP 166 .B ip 167 Internet address 168 .TP 169 .B ether 170 Ethernet address 171 .TP 172 .B bootf 173 file to download for initial bootstrap 174 .TP 175 .B ipnet 176 Internet network name 177 .TP 178 .B ipmask 179 Internet network mask 180 .TP 181 .B ipgw 182 Internet gateway 183 .TP 184 .B auth 185 authentication server to be used 186 .TP 187 .B authdom 188 authentication domain. Plan 9 supports multiple authentication 189 domains. To specify an authentication server for a particular domain, 190 add a tuple containing both 191 .B auth 192 and 193 .B authdom 194 attributes and values. 195 .TP 196 .B fs 197 file server to be used 198 .TP 199 .B tcp 200 a TCP service name 201 .TP 202 .B udp 203 a UDP service name 204 .TP 205 .B il 206 an IL service name 207 .TP 208 .B port 209 a TCP, UDP, or IL port number 210 .TP 211 .B restricted 212 a TCP service that can be called only by ports numbered 213 less that 1024 214 .TP 215 .B proto 216 a protocol supported by a host. 217 .TP 218 .B dnsdomain 219 a domain name that 220 .I ndb/dns 221 adds onto any unrooted names when doing a search 222 There may be multiple 223 .B dnsdomain 224 pairs. 225 .TP 226 .B dns 227 a DNS server to use (for DNS and DHCP) 228 .TP 229 .B ntp 230 an NTP server to use (for DHCP) 231 .TP 232 .B smtp 233 an SMTP server to use (for DHCP) 234 .TP 235 .B time 236 a time server to use (for DHCP) 237 .TP 238 .B wins 239 a Windows name server (for DHCP) 240 .TP 241 .B mx 242 mail exchanger (for DNS and DHCP) 243 .TP 244 .B soa 245 start of area (for DNS) 246 .sp 247 .PD 248 .\" .PP 249 .\" The file 250 .\" .B \*9/ndb/auth 251 .\" is used during authentication to decide who has the power to `speak for' other 252 .\" users; see 253 .\" .IR authsrv (6). 254 .SH EXAMPLES 255 .LP 256 A tuple for the CPU server, spindle. 257 .LP 258 .EX 259 sys = spindle 260 dom=spindle.research.bell-labs.com 261 bootf=/mips/9powerboot 262 ip=135.104.117.32 ether=080069020677 263 proto=il 264 .EE 265 .LP 266 Entries for the network 267 .B mh-astro-net 268 and its subnets. 269 .LP 270 .EX 271 ipnet=mh-astro-net ip=135.104.0.0 ipmask=255.255.255.0 272 fs=bootes.research.bell-labs.com 273 ipgw=r70.research.bell-labs.com 274 auth=p9auth.research.bell-labs.com 275 ipnet=unix-room ip=135.104.117.0 276 ipgw=135.104.117.1 277 ipnet=third-floor ip=135.104.51.0 278 ipgw=135.104.51.1 279 .EE 280 .LP 281 Mappings between TCP service names and port numbers. 282 .LP 283 .EX 284 .ta \w'\fLtcp=sysmonxxxxx'u \w'\fLtcp=sysmonxxxxxport=512xxx'u 285 tcp=sysmon port=401 286 tcp=rexec port=512 restricted 287 tcp=9fs port=564 288 .EE 289 .SH FILES 290 .TP 291 .B \*9/ndb/local 292 first database file searched 293 .SH "SEE ALSO" 294 .\" .IR dial (2), 295 .MR ndb (1) , 296 .MR ndb (3) 297 .\" .IR dhcpd (8), 298 .\" .IR ipconfig (8), 299 .\" .IR con (1)