File: file.lst

package info (click to toggle)
bind 1%3A8.4.7-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 20,188 kB
  • ctags: 22,422
  • sloc: ansic: 156,772; sh: 20,008; perl: 14,224; makefile: 5,660; yacc: 2,475; cpp: 2,154; csh: 848; awk: 753; tcl: 674; lex: 423; fortran: 240
file content (2970 lines) | stat: -rw-r--r-- 120,294 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970











                NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee
                          ffoorr BBIINNDD
                       _R_e_l_e_a_s_e _4_._9_._3

                     _R_e_l_e_a_s_e_s _f_r_o_m _4_._9
                        Paul Vixie1
                       <paul@vix.com>

                Internet Software Consortium
                        La Honda, CA


                   _R_e_l_e_a_s_e_s _t_h_r_o_u_g_h _4_._8_._3
                      Kevin J. Dunlap2
                     Michael J. Karels

              Computer Systems Research Group
                 Computer Science Division
 Department of Electrical Engineering and Computer Sciences
                  University of California
                    Berkeley, CA  94720





11..  IInnttrroodduuccttiioonn

        The Berkeley Internet Name Domain (BIND)  implements
   an  Internet  name  server for BSD-derived operating sys-
   tems.  The BIND consists  of  a  server  (or  ``daemon'')
   called  _n_a_m_e_d and a _r_e_s_o_l_v_e_r library.  A name server is a
   network service that enables clients to name resources or
   objects  and share this information with other objects in
   the network.  This in effect is a distributed  data  base
   system  for  objects  in  a  computer  network.  The BIND
   server runs in the background,  servicing  queries  on  a
____________________
   1  This author was employed by Digital Equipment Corpora-
tion's Network Systems Laboratory during the development and
release  of  BIND 4.9.  Release 4.9.2 was sponsored by Vixie
Enterprises.  Releases from 4.9.3 were sponsored by the  In-
ternet Software Consortium.
   2 This author was an employee of Digital Equipment Corpo-
ration's ULTRIX Engineering Advanced Development  Group  and
was  on  loan  to CSRG when this work was done.  ULTRIX is a
trademark of Digital Equipment Corporation.












SSMMMM::1100--22               NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD


   well  known  network port.  The standard port for UDP and
   TCP is specified in _/_e_t_c_/_s_e_r_v_i_c_e_s.  The _r_e_s_o_l_v_e_r is a set
   of  routines  residing  in a system library that provides
   the interface that programs can use to access the  domain
   name services.

        BIND  is  fully  integrated  into BSD (4.3 and later
   releases)  network  programs  for  use  in  storing   and
   retrieving  host  names and address.  The system adminis-
   trator can configure the system to use BIND as a replace-
   ment to the older host table lookup of information in the
   network hosts file _/_e_t_c_/_h_o_s_t_s.  The default configuration
   for BSD uses BIND.


22..  TThhee NNaammee SSeerrvviiccee

        The  basic function of the name server is to provide
   information about network objects by  answering  queries.
   The  specifications  for  this name server are defined in
   RFC1034, RFC1035 and  RFC974.   These  documents  can  be
   found  in  _/_u_s_r_/_s_r_c_/_e_t_c_/_n_a_m_e_d_/_d_o_c in 4.3BSD or _f_t_ped from
   ffttpp..rrss..iinntteerrnniicc..nneett.  It is  also  recommended  that  you
   read the related manual pages, _n_a_m_e_d(8), _r_e_s_o_l_v_e_r(3), and
   _r_e_s_o_l_v_e_r(5).

        The advantage of using a name server over  the  host
   table  lookup  for  host  name resolution is to avoid the
   need for  a  single  centralized  clearinghouse  for  all
   names.   The  authority for this information can be dele-
   gated to  the  different  organizations  on  the  network
   responsible for it.

        The host table lookup routines require that the mas-
   ter file for the entire network be maintained at  a  cen-
   tral location by a few people.  This works fine for small
   networks where there are only a few machines and the dif-
   ferent organizations responsible for them cooperate.  But
   this does not work well for large networks where machines
   cross organizational boundaries.

        With the name server, the network can be broken into
   a hierarchy of domains.  The name space is organized as a
   tree according to organizational or administrative bound-
   aries.  Each node, called a _d_o_m_a_i_n, is given a label, and
   the  name  of  the domain is the concatenation of all the
   labels of the  domains  from  the  root  to  the  current
   domain,  listed  from right to left separated by dots.  A
   label need only be unique within its domain.   The  whole
   space  is  partitioned  into  several areas called _z_o_n_e_s,
   each starting at a domain and extending down to the  leaf
   domains  or  to  domains  where other zones start.  Zones
   usually represent administrative boundaries.  An  example










NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD               SSMMMM::1100--33


   of  a  host address for a host at the University of Cali-
   fornia, Berkeley would look as follows:

       _m_o_n_e_t.._B_e_r_k_e_l_e_y.._E_D_U

   The top level domain  for  educational  organizations  is
   EDU; Berkeley is a subdomain of EDU and monet is the name
   of the host.


33..  TTyyppeess ooff ZZoonneess

        A ``zone'' is a point of delegation in the DNS tree.
   It  contains  all names from a certain point ``downward''
   except those which  are  delegated  to  other  zones.   A
   ``delegation  point''  has  one or more _N_S records in the
   ``parent zone'', which should be matched by equivalent _N_S
   records  at the root of the ``delegated zone'' (i.e., the
   ``@'' name in the zone file).

        Understanding the difference between a ``zone''  and
   a ``domain'' is crucial to the proper operation of a name
   server.  As an  example,  consider  the  DEC.COM  _d_o_m_a_i_n,
   which  includes names such as POBOX1.PA.DEC.COM and QUAB-
   BIN.CRL.DEC.COM even though  the  DEC.COM  _z_o_n_e  includes
   only  _d_e_l_e_g_a_t_i_o_n_s  for  the  PA.DEC.COM  and  CRL.DEC.COM
   zones.  A zone can map exactly to a  single  domain,  but
   could  also  include  only  part of a domain (the rest of
   which could be delegated to other name servers).  Techni-
   cally   speaking,  every  name  in  the  DNS  tree  is  a
   ``domain'', even if it is ``terminal'', that is,  has  no
   ``subdomains''.  Technically speaking, every subdomain is
   a domain and every domain except the root is also a  sub-
   domain.   The  terminology is not intuitive and you would
   do well to read RFC's 1033, 1034, and 1035 to gain a com-
   plete understanding of this difficult and subtle topic.

        Though  BIND  is a _D_o_m_a_i_n Name Server, it deals pri-
   marily in terms of _z_o_n_e_s.  The _p_r_i_m_a_r_y and _s_e_c_o_n_d_a_r_y dec-
   larations  in  the  _n_a_m_e_d_._b_o_o_t  file  specify  _z_o_n_e_s, not
   _d_o_m_a_i_n_s.  When you ask someone if they are willing to  be
   a  secondary server for your ``domain'', you are actually
   asking for  secondary  service  for  some  collection  of
   _z_o_n_e_s.

        Each  zone  will  have one ``primary'' server, which
   loads the zone contents from some  local  file  which  is
   edited  by  humans or perhaps generated mechanically from
   some other local file which is edited  by  humans.   Then
   there will be some number of ``secondary'' servers, which
   load the zone contents using the  IP/DNS  protocol  (that
   is,  the  secondary  servers will contact the primary and
   fetch the zone using IP/TCP).  This set of  servers  (the










SSMMMM::1100--44               NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD


   primary  and  all of the secondaries) should be listed in
   the _N_S records in the parent zone, which will  constitute
   a  ``delegation''.   This  set  of  servers  must also be
   listed in the zone file itself, usually under  the  ``@''
   name which is a magic cookie that means the ``top level''
   or ``root'' of current zone.  You can list servers in the
   zone's  top-level  ``@''  _N_S  records that are not in the
   parent's _N_S delegation, but you cannot  list  servers  in
   the  parent's  delegation  that  are  not  present in the
   zone's ``@''.  Any servers listed in the _N_S records  must
   be  configured  as  authoritative (either primary or sec-
   ondary) for the zone.  If a server listed in a _N_S  record
   is not authoritative, it will respond with a ``lame dele-
   gation'' when queried.


44..  TTyyppeess ooff SSeerrvveerrss

        Servers do not really have ``types''.  A server  can
   be  a  primary for some zones and a secondary for others,
   or it can be only a primary, or only a secondary,  or  it
   can  serve  no  zones  and  just  answer  queries via its
   ``cache''.  Previous versions of this  document  referred
   to  servers  as  ``master'' and ``slave'' but we now feel
   that those  distinctions  --  and  the  assignment  of  a
   ``type'' to a name server -- are not useful.

   44..11..  CCaacchhiinngg OOnnllyy SSeerrvveerr

           All servers are caching servers.  This means that
      the server caches the information that it receives for
      use  until the data expires.  A _C_a_c_h_i_n_g _O_n_l_y _S_e_r_v_e_r is
      a server that is not authoritative for any zone.  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 _T_T_L (``Time To Live'') field which
      is maintained for all resource records.

   44..22..  RReemmoottee SSeerrvveerr

           A  Remote Server is an option given to people who
      would like to use a name server from 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 with-
      out 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.   A  host
      which has an _/_e_t_c_/_r_e_s_o_l_v_._c_o_n_f file listing only remote
      hosts, and which does not run a  name  server  of  its
      own,  is sometimes called a Remote Server (because the
      actual server is remote?) but more often it is  called










NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD               SSMMMM::1100--55


      simply a DNS Client.  This kind of host is technically
      not a ``server'', since it has no cache and  does  not
      answer queries.

   44..33..  SSllaavvee SSeerrvveerr

           A  Slave  Server is a server that always forwards
      queries it cannot satisfy from its cache, to  a  fixed
      list of _f_o_r_w_a_r_d_i_n_g servers instead of interacting with
      the name servers for the root and other domains.   The
      queries   to  the  _f_o_r_w_a_r_d_i_n_g  _s_e_r_v_e_r_s  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 given site to interact with the rest of the Internet
      servers.  A typical scenario 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 name servers to resolve the query before return-
      ing the answer.  An added benefit of  using  the  for-
      warding feature is that the central machine develops a
      much more complete cache of information that  all  the
      workstations  can take advantage of.  The use of Slave
      mode and forwarding is  discussed  further  under  the
      description of the _n_a_m_e_d bootfile commands.

           There  is  no  prohibition  against  declaring  a
      server to be a _s_l_a_v_e even though it has _p_r_i_m_a_r_y and/or
      _s_e_c_o_n_d_a_r_y zones as well; the effect will still be that
      anything in the local server's cache or zones will  be
      answered,  and  anything  else will be forwarded using
      the _f_o_r_w_a_r_d_e_r_s list.


55..  FFiilleess

        The name server uses several files to load its  data
   base.   This  section  covers the files and their formats
   needed for _n_a_m_e_d.

   55..11..  BBoooott FFiillee

           This is the file that is first  read  when  _n_a_m_e_d
      starts  up.  This tells the server what type of server
      it is, which zones it has authority over and where  to
      get  its  initial data.  The default location for this
      file is _/_e_t_c_/_n_a_m_e_d_._b_o_o_t.  However this can be  changed










SSMMMM::1100--66               NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD


      by  setting  the  _B_O_O_T_F_I_L_E  variable  when you compile
      _n_a_m_e_d or by specifying the  location  on  the  command
      line when _n_a_m_e_d is started up.

      55..11..11..  DDoommaaiinn

              A default domain may be specified for the name
         server using a line such as

             _d_o_m_a_i_n           _B_e_r_k_e_l_e_y.._E_d_u

         Older name servers use this information  when  they
         receive  a query for a name without a ``..'' that is
         not known.  Newer designs assume that the  resolver
         library  will  append  its  own idea of a ``default
         domain'' to any unqualified names.  Though the name
         server  can  still be compiled with support for the
         _d_o_m_a_i_n directive in the boot file, the  default  is
         to  leave  it  out  and  we  strenuously  recommend
         against its use.  If you use this feature,  clients
         outside  your  local domain which send you requests
         about unqualified  names  will  have  the  implicit
         qualification  of  your  domain rather than theirs.
         The proper  place  for  this  function  is  on  the
         client,  in  their //eettcc//rreessoollvv..ccoonnff (or equivalent)
         file.  Use of the _d_o_m_a_i_n  directive  in  your  boot
         file is strongly discouraged.

      55..11..22..  DDiirreeccttoorryy

              The  _d_i_r_e_c_t_o_r_y  directive specifies the direc-
         tory in which the name server should run,  allowing
         the  other file names in the boot file to use rela-
         tive path names.  There can be only  one  _d_i_r_e_c_t_o_r_y
         directive  and  it should be given before any other
         directives that specify file names.

             _d_i_r_e_c_t_o_r_y        _/_v_a_r_/_n_a_m_e_d

         If you have more than a couple of named files to be
         maintained,  you  may wish to place the named files
         in a directory such as /var/named  and  adjust  the
         directory  command  properly.  The main purposes of
         this command are to  make  sure  named  is  in  the
         proper  directory  when  trying to include files by
         relative path names  with  $INCLUDE  and  to  allow
         named  to  run  in a location that is reasonable to
         dump core if it feels the urge.

      55..11..33..  PPrriimmaarryy SSeerrvviiccee

              The line in the boot file that designates  the
         server  as a primary master server for a zone looks










NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD               SSMMMM::1100--77


         as follows:

             _p_r_i_m_a_r_y          _B_e_r_k_e_l_e_y.._E_d_u   _u_c_b_h_o_s_t_s

         The first field specifies that the server is a pri-
         mary  one  for the zone stated in the second field.
         The third field is the name of the file from  which
         the data is read.

              The above assumes that the zone you are speci-
         fying is a class _I_N zone.  If you wish to designate
         a  different  class  you  can  append _/_c_l_a_s_s to the
         first field, where  _c_l_a_s_s  is  either  the  integer
         value  or the standard mnemonic for the class.  For
         example the line for a primary server for a  hesiod
         class zone looks as follows:

             _p_r_i_m_a_r_y_/_H_S         _B_e_r_k_e_l_e_y.._E_d_u    _h_e_s_i_o_d_._d_a_t_a

         Note  that  this  support for specifying other than
         class _I_N zones is a compile-time option which  your
         vendor  may  not  have enabled when they built your
         operating system.

      55..11..44..  SSeeccoonnddaarryy SSeerrvviiccee

              The line for a secondary server is similar  to
         the primary except that it lists addresses of other
         servers (usually primary servers)  from  which  the
         zone data will be obtained.

             _s_e_c_o_n_d_a_r_y        _B_e_r_k_e_l_e_y.._E_d_u   _1_2_8.._3_2.._0.._1_0  _1_2_8.._3_2.._0.._4 _u_c_b_h_o_s_t_s_._b_a_k

         The first field specifies that the server is a sec-
         ondary server for the zone  stated  in  the  second
         field.   The two network addresses specify the name
         servers which have data for the zone.  Note that at
         least  one  of these will be a _p_r_i_m_a_r_y, and, unless
         you are using some protocol other than  IP/DNS  for
         your  zone  transfer mechanism, the others will all
         be other _s_e_c_o_n_d_a_r_y servers.  Having your  secondary
         server  pull  data  from other secondary servers is
         usually unwise, since you  can  add  delay  to  the
         propagation  of zone updates if your network's con-
         nectivity varies in pathological but  common  ways.
         The  intended  use for multiple addresses on a _s_e_c_-
         _o_n_d_a_r_y declaration is when the _p_r_i_m_a_r_y  server  has
         multiple  network interfaces and therefore multiple
         host addresses.  The secondary server gets its data
         across  the network from one of the listed servers.
         The server addresses are tried in the order listed.
         If  a filename is present after the list of primary
         servers, data for the zone will be dumped into that










SSMMMM::1100--88               NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD


         file  as  a  backup.   When  the  server  is  first
         started, the data is loaded from the backup file if
         possible, and a primary server is then consulted to
         check that the zone is still up-to-date.  Note that
         listing  your server as a _s_e_c_o_n_d_a_r_y server does not
         necessarily make it one --  the  parent  zone  must
         _d_e_l_e_g_a_t_e  authority  to  your server as well as the
         primary and the other secondaries, or you  will  be
         transferring  a  zone  over for no reason; no other
         server will have a reason to  query  you  for  that
         zone  unless  the parent zone lists you as a server
         for the zone.

              As with primary you may  specify  a  secondary
         server  for  a  class  other  than  _I_N by appending
         _/_c_l_a_s_s  to  the  _s_e_c_o_n_d_a_r_y  keyword,   e.g.,   _s_e_c_-
         _o_n_d_a_r_y_/_H_S.

      55..11..55..  SSttuubb SSeerrvviiccee

              The  line  for  a  stub server is similar to a
         secondary.  (This feature  is  experimental  as  of
         4.9.3.)

             _s_t_u_b _B_e_r_k_e_l_e_y.._E_d_u          _1_2_8.._3_2.._0.._1_0  _1_2_8.._3_2.._0.._4 _u_c_b_h_o_s_t_s_._b_a_k

         The first field specifies that the server is a stub
         server for the zone stated in the second field.

              Stub zones are intended to ensure that a  pri-
         mary  for  a zone always has the correct _N_S records
         for children of that zone. If the primary is not  a
         secondary  for a child zone it should be configured
         with stub zones for all its  children.  Stub  zones
         provide  a mechanism to allow _N_S records for a zone
         to be specified in only one place.

             _p_r_i_m_a_r_y        _C_S_I_R_O.._A_U       _c_s_i_r_o_._d_a_t
             _s_t_u_b _d_m_s_._C_S_I_R_O.._A_U             _1_3_0.._1_5_5.._1_6.._1  _d_m_s_._s_t_u_b
             _s_t_u_b _d_a_p_._C_S_I_R_O.._A_U             _1_3_0.._1_5_5.._9_8.._1  _d_a_p_._s_t_u_b


      55..11..66..  CCaacchhee IInniittiiaalliizzaattiioonn

              All  servers,   including   ``caching   only''
         servers,  should have a line as follows in the boot
         file to prime the name servers cache:

             _c_a_c_h_e                         ..             _r_o_o_t.._c_a_c_h_e

         Do not put anything into  your  _c_a_c_h_e  files  other
         than root server information.











NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD               SSMMMM::1100--99


              All  cache  files  listed  will  be read in at
         named boot time and any values still valid will  be
         reinstated  in  the  cache.   The  root name server
         information in the cache files will be used until a
         root  query is actually answered by one of the name
         servers in the cache file, after which that  answer
         will  be  used  instead of the cache file until the
         answer times out.

              As with _p_r_i_m_a_r_y and _s_e_c_o_n_d_a_r_y, you may specify
         a  secondary  server  for  a class other than _I_N by
         appending  _/_c_l_a_s_s  to  the  _c_a_c_h_e  keyword,   e.g.,
         _c_l_a_s_s_/_H_S.

      55..11..77..  FFoorrwwaarrddeerrss

              Any server can make use of _f_o_r_w_a_r_d_e_r_s.  A _f_o_r_-
         _w_a_r_d_e_r is  another  server  capable  of  processing
         recursive  queries that is willing to try resolving
         queries on behalf of other systems.  The _f_o_r_w_a_r_d_e_r_s
         command specifies forwarders by internet address as
         follows:

             _f_o_r_w_a_r_d_e_r_s                    _1_2_8.._3_2.._0.._1_0   _1_2_8.._3_2.._0.._4

         There are two main reasons for wanting  to  do  so.
         First,  some  systems  may  not  have  full network
         access and may be prevented  from  sending  any  IP
         packets into the rest of the Internet and therefore
         must rely on a forwarder which does have access  to
         the  full  net.  The second reason is that the for-
         warder sees a union of all  queries  as  they  pass
         through  its  server  and  therefore it builds up a
         very rich cache of data compared to the cache in  a
         typical  workstation  name  server.  In effect, the
         _f_o_r_w_a_r_d_e_r becomes a meta-cache that all  hosts  can
         benefit  from, thereby reducing the total number of
         queries from that site to the rest of the net.

              The effect of  ``forwarders''  is  to  prepend
         some fixed addresses to the list of name servers to
         be tried for every query.  Normally  that  list  is
         made up only of higher-authority servers discovered
         via _N_S record lookups for the relevant domain.   If
         the forwarders do not answer, then unless the _s_l_a_v_e
         directive was given, the  appropriate  servers  for
         the domains will be queried directly.


      55..11..88..  SSllaavvee SSeerrvveerrss

              Slave mode is used if the use of forwarders is
         the only possible way to  resolve  queries  due  to










SSMMMM::1100--1100              NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD


         lack  of  full net access or if you wish to prevent
         the name server from using other  than  the  listed
         forwarders.  Slave mode is activated by placing the
         simple command

             _o_p_t_i_o_n_s _f_o_r_w_a_r_d_-_o_n_l_y

         in the bootfile.  If this option is used, then  you
         must  specify  forwarders.  When in slave mode, the
         server will forward each query to each of the  for-
         warders  until  an  answer  is found or the list of
         forwarders is exhausted.  The server will  not  try
         to  contact any remote name server other than those
         named in the _f_o_r_w_a_r_d_e_r_s list.

              So while _f_o_r_w_a_r_d_e_r_s prepends addresses to  the
         ``server  list''  for  each query, _o_p_t_i_o_n_s _f_o_r_w_a_r_d_-
         _o_n_l_y causes the ``server  list''  to  contain  _o_n_l_y
         those  addresses  listed in the _f_o_r_w_a_r_d_e_r_s declara-
         tions.  Careless use of  the  _o_p_t_i_o_n_s  _f_o_r_w_a_r_d_-_o_n_l_y
         directive  can  cause  really  horrible  forwarding
         loops, since you could end  up  forwarding  queries
         only  to  some  set of hosts which are also slaves,
         and one or several  of  them  could  be  forwarding
         queries back to you.

              Use  of  the  _o_p_t_i_o_n_s  _f_o_r_w_a_r_d_-_o_n_l_y  directive
         should be considered  very  carefully.   Note  that
         this  same behaviour can be achieved using the dep-
         recated directive, _s_l_a_v_e.


      55..11..99..  NNoonnrreeccuurrssiivvee SSeerrvveerrss

              BIND's separation of authoritative (zone)  and
         nonauthoritiative  (cache)  data  has  always  been
         somewhat weak, and pollution of the former via  the
         latter has been known to occur.  One way to prevent
         this, as well as to save memory on servers carrying
         a lot of authoritative data (e.g., root servers) is
         to make such servers ``nonrecursive.''  This can be
         achieved via the directive

             _o_p_t_i_o_n_s _n_o_-_r_e_c_u_r_s_i_o_n

         in the bootfile.  A server with this option enabled
         will not attempt  to  fetch  data  to  help  answer
         queries -- if you ask it for data it does not have,
         it will send you a referral to a more authoritative
         server  or,  if  it is itself authoritative for the
         zone of the query, it will  send  you  an  negative
         answer.











NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD              SSMMMM::1100--1111


              A nonrecursive server can be named in an NS RR
         but it cannot be listed in the _r_e_s_o_l_v_._c_o_n_f file.


      55..11..1100..  QQuueerryy LLooggggiinngg

              If the file system containing your _s_y_s_l_o_g file
         has  quite  a  bit of space, you can consider using
         the

             _o_p_t_i_o_n_s _q_u_e_r_y_-_l_o_g

         directive in your bootfile.  This will  cause  your
         name  server  to log every query it receives, which
         when combined with a Perl or AWK script to postpro-
         cess the logs, can be a useful management tool.


      55..11..1111..  IInnvveerrssee QQuueerryy PPsseeuuddoossuuppppoorrtt

              BIND  by  default  does  not  support  inverse
         queries, and this has been known to cause  problems
         for certain microcomputer operating systems and for
         older versions of BIND's _n_s_l_o_o_k_u_p  tool.   You  may
         decide  that rather than answering with ``operation
         not implemented,'' _n_a_m_e_d  should  detect  the  most
         common  inverse  queries and answer them with bogus
         information.  It is better to upgrade your  clients
         to  stop  depending on inverse queries, but if that
         is not possible, you should use the

             _o_p_t_i_o_n_s _f_a_k_e_-_i_q_u_e_r_y

         directive in your bootfile.   _N_O_T_E_:  the  responses
         are  in  fact  bogus,  in that they contain ISO8859
         square brackets ([[ and ]]), so your clients will not
         be able to do anything useful with these responses.
         It has been observed that no client ever  did  any-
         thing  useful  with  real  inverse query responses,
         either.


      55..11..1122..  SSeettttiinngg NNaammee SSeerrvveerr LLiimmiittss

              Some  name  server  operations  can  be  quite
         resource  intensive, and in order to tune your sys-
         tem properly it is sometimes  necessary  to  change
         BIND's internal quotas.  This is accomplished via

             _l_i_m_i_t _<_n_a_m_e_> _<_v_a_l_u_e_>

         directives  in  the  bootfile.   Limits,  and their
         default values, are as follows:










SSMMMM::1100--1122              NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD


             _l_i_m_i_t _t_r_a_n_s_f_e_r_s_-_i_n _1_0

         This is the number of simultaneous _n_a_m_e_d_-_x_f_e_r  pro-
         cesses  BIND  is  willing to start.  Higher numbers
         yield faster convergence to primary servers if your
         secondary server has hundreds or thousands of zones
         to maintain, but setting this number too  high  can
         cause thrashing due to starvation of resources such
         as network bandwidth or  swap  space.   _N_O_T_E_:  this
         limit  can  also  be  expressed  via the deprecated
         directive _m_a_x_-_f_e_t_c_h _N_N.

             _l_i_m_i_t _t_r_a_n_s_f_e_r_s_-_p_e_r_-_n_s _2

         This is the number of simultaneous _n_a_m_e_d_-_x_f_e_r  pro-
         cesses  BIND  is  willing  to initiate _t_o _a_n_y _g_i_v_e_n
         _n_a_m_e _s_e_r_v_e_r.  In most cases, you should not need to
         change  it.   If  your  secondary server is pulling
         hundreds or thousands of zones from a  single  pri-
         mary  server, increasing _t_r_a_n_s_f_e_r_s_-_p_e_r_-_n_s may speed
         convergence.  It should be kept as small as  possi-
         ble,  to avoid causing thrashing and resource star-
         vation on the primary server.

             _l_i_m_i_t _d_a_t_a_s_i_z_e _<_s_y_s_t_e_m_-_d_e_p_e_n_d_e_n_t_>

         Most systems have a quota that limits the  size  of
         the so-called ``data segment,'' which is where BIND
         keeps all of its authority and  cache  data.   BIND
         will  behave suboptimally (perhaps even exiting) if
         it runs up against this quota.  If your system sup-
         ports  a  system  call  to  change this quota for a
         given process, you can ask BIND to use that  system
         call  via  the  _l_i_m_i_t  _d_a_t_a_s_i_z_e  _N_N directive.  The
         value given here may be scaled by postfixing _k  for
         1024X,  _m  for  (1024^2)X, and _g for (1024^3)X.  In
         1995, the root servers all use _l_i_m_i_t _d_a_t_a_s_i_z_e  _6_4_m.


      55..11..1133..  ZZoonnee TTrraannssffeerr RReessttrriiccttiioonnss

              It may be the case that your organization does
         not wish to give complete lists of  your  hosts  to
         anyone  on  the  Internet  who  can reach your name
         servers.  While it is still possible for people  to
         ``iterate'' through your address range, looking for
         _P_T_R records, and build a list  of  your  hosts  the
         ``slow''  way, it is still considered reasonable to
         restrict your export of zones via the zone transfer
         protocol.   To  limit the list of neighbors who can
         transfer zones from your server,  use  the  _x_f_r_n_e_t_s
         directive.











NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD              SSMMMM::1100--1133


              This  directive  has  the  same syntax as _f_o_r_-
         _w_a_r_d_e_r_s except that you can list network numbers in
         addition to host addresses.  For example, you could
         add the directive

             _x_f_r_n_e_t_s _1_6_._0_._0_._0

         if you wanted to permit only hosts on Class A  net-
         work  number 16 to transfer zones from your server.
         This is not nearly granular enough,  and  a  future
         version  of BIND will permit such access-control to
         be specified on a per-host basis  rather  than  the
         current  per-net  basis.  Note that while addresses
         without explicit masks are assumed by  this  direc-
         tive  to  be networks, you can specify a mask which
         is as granular as you wish, perhaps  including  all
         bits of the address such that only a single host is
         given transfer permission.  For example, consider

             _x_f_r_n_e_t_s _1_6_._1_._0_._2_&_2_5_5_._2_5_5_._2_5_5_._2_5_5

         which would permit only host _1_6_._1_._0_._2  to  transfer
         zones  from  you.   Note that no spaces are allowed
         surrounding the ``_&'' character that  introduces  a
         netmask.

              The  _x_f_r_n_e_t_s  directive  may  also be given as
         _t_c_p_l_i_s_t for compatibility with interim releases  of
         BIND 4.9.


      55..11..1144..  SSoorrttiinngg AAddddrreesssseess

              If  there are multiple addresses available for
         a name server which BIND  wants  to  contact,  BIND
         will  try  the  ones  it  believes  are ``closest''
         first.  ``Closeness'' is defined in terms of  simi-
         larity-of-address;  that  is,  if one address is on
         the same _s_u_b_n_e_t as  some  interface  of  the  local
         host, then that address will be tried first.  Fail-
         ing that, an address which is on the  same  _n_e_t_w_o_r_k
         will  be  tried  first.  Failing that, they will be
         tried in a more-or-less  random  order  unless  the
         _s_o_r_t_l_i_s_t  directive  was  given  in  the _n_a_m_e_d_._b_o_o_t
         file.  _s_o_r_t_l_i_s_t has a syntax similar to _f_o_r_w_a_r_d_e_r_s,
         _x_f_r_n_e_t_s,  and _b_o_g_u_s_n_s -- you give it a list of dot-
         ted-quad networks and it uses these  to  ``prefer''
         some  remote name server addresses over others.  If
         no explicit mask is provided with each element of a
         _s_o_r_t_l_i_s_t,  one  will  be inferred based on the high
         order address bits.












SSMMMM::1100--1144              NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD


              If you are on a Class C net which has a  Class
         B net between you and the rest of the Internet, you
         could try to improve the name server's luck in get-
         ting  answers by listing the Class B network's num-
         ber in a _s_o_r_t_l_i_s_t directive.  This should have  the
         effect of trying ``closer'' servers before the more
         ``distant'' ones.  Note that this behaviour is  new
         as of BIND 4.9.

              The  other  and  older  effect of the _s_o_r_t_l_i_s_t
         directive is to cause BIND to sort the _A records in
         any response it generates, so as to put those which
         appear on the _s_o_r_t_l_i_s_t earlier than those which  do
         not.   This  is  not as helpful as you might think,
         since many  clients  will  reorder  the  _A  records
         either  at random or using LIFO; also, consider the
         fact that the server won't be  able  to  guess  the
         client's  network topology, and so will not be able
         to accurately order for ``closeness'' to all possi-
         ble clients.  Doing the ordering in the resolver is
         clearly superior.

              In actual practice,  this  directive  is  used
         only  rarely  since  it hardwires information which
         changes rapidly; a network which is ``close'' today
         may  be  ``distant'' next month.  Since BIND builds
         up a cache of the  remote  name  servers'  response
         times,  it  will quickly converge on ``reasonable''
         behaviour, which isn't the same as ``optimal''  but
         it's  close  enough.   Future  directions  for BIND
         include choosing addresses based on local interface
         metrics (on hosts that have more than one) and per-
         haps on  routing  table  information.   We  do  not
         intend to solve the generalized ``multihomed host''
         problem, but we should be able to do a little  bet-
         ter than we're doing now.  Likewise, we hope to see
         a  higher  level  resolver   library   that   sorts
         responses  using  topology  information  that  only
         exists on the client's host.


      55..11..1155..  BBoogguuss NNaammee SSeerrvveerrss

              It happens occasionally that some remote  name
         server goes ``bad''.  You can tell your name server
         to refuse to listen to or ask questions of  certain
         other  name  servers  by  listing them in a _b_o_g_u_s_n_s
         directive in your _n_a_m_e_d_._b_o_o_t file.  Its  syntax  is
         the  same  as  _f_o_r_w_a_r_d_e_r_s, _x_f_r_n_e_t_s, and _s_o_r_t_l_i_s_t --
         you just give it a  list  of  dotted-quad  Internet
         addresses.   Note  that  zones  delegated  to  such
         servers will not be reachable from clients of  your
         servers;   thus   you  should  use  this  directive










NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD              SSMMMM::1100--1155


         sparingly or not at all.


      55..11..1166..  SSeeggmmeenntteedd BBoooott FFiilleess

              If you are secondary for a lot of  zones,  you
         may  find  it  convenient  to split your _n_a_m_e_d_._b_o_o_t
         file  into  a  static  portion  which  hardly  ever
         changes  (directives  such  as _d_i_r_e_c_t_o_r_y, _s_o_r_t_l_i_s_t,
         _x_f_r_n_e_t_s and _c_a_c_h_e could go here), and dynamic  por-
         tions  that  change frequently (all of your _p_r_i_m_a_r_y
         directives might go in one file, and  all  of  your
         _s_e_c_o_n_d_a_r_y  directives  might  go in another file --
         and either or both of these might be fetched  auto-
         matically  from  some  neighbor  so  that  they can
         change your list of secondary zones without requir-
         ing  your active intervention).  You can accomplish
         this via the _i_n_c_l_u_d_e directive, which takes just  a
         single  file  name  as its argument.  No quotes are
         needed around the file name.  The file name will be
         evaluated  after  the  name  server has changed its
         working directory to that specified in  the  _d_i_r_e_c_-
         _t_o_r_y  directive,  so you can use relative pathnames
         if your system supports them.


   55..22..  RReessoollvveerr CCoonnffiigguurraattiioonn

           The     configuration     file's     name      is
      _/_e_t_c_/_r_e_s_o_l_v_._c_o_n_f.    This  file  designates  the  name
      servers on the network that should  be  sent  queries.
      The  resolver will try to contact a name server on the
      localhost if it cannot find  its  configuration  file.
      You  should  install  the  configuration file on every
      host anyway, since this is the only recommended way to
      specify  a  system-level  default  domain, and you can
      still list the local host's address if it runs a  name
      server.   It  is  considered reasonable to create this
      file even if you run a local server,  since  its  con-
      tents  will  be  cached by each client of the resolver
      library when the client makes  its  first  call  to  a
      resolver routine.

           The _r_e_s_o_l_v_._c_o_n_f file contains directives, one per
      line, of the following forms:

          ; comment
          # another comment
          domain _l_o_c_a_l_-_d_o_m_a_i_n
          search _s_e_a_r_c_h_-_l_i_s_t
          nameserver _s_e_r_v_e_r_-_a_d_d_r_e_s_s
          sortlist _s_o_r_t_-_l_i_s_t
          options _o_p_t_i_o_n_-_l_i_s_t










SSMMMM::1100--1166              NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD


      Exactly one of the _d_o_m_a_i_n or _s_e_a_r_c_h directives  should
      be  given,  exactly  once.  If the _s_e_a_r_c_h directive is
      given, the first item in the  given  _s_e_a_r_c_h_-_l_i_s_t  will
      override  any  previously-specified _l_o_c_a_l_-_d_o_m_a_i_n.  The
      _n_a_m_e_s_e_r_v_e_r directive may be given up to  three  times;
      additional  _n_a_m_e_s_e_r_v_e_r  directives  will  be  ignored.
      Comments may be given by starting a line with a  ``;;''
      or  ``##'';  note  that  comments were not permitted in
      versions of the resolver earlier than the one included
      with BIND 4.9 -- so if your vendor's resolver supports
      comments, you know they are really on the ball.

           The _l_o_c_a_l_-_d_o_m_a_i_n will be appended to  any  query-
      name  that does not contain a ``..''.  _l_o_c_a_l_-_d_o_m_a_i_n can
      be overridden on a per-process basis  by  setting  the
      LOCALDOMAIN  environment  variable.   Note that _l_o_c_a_l_-
      _d_o_m_a_i_n processing can be disabled by setting an option
      in the resolver.

           The  _s_e_a_r_c_h_-_l_i_s_t  is  a list of domains which are
      tried, in order, as qualifying domains for query-names
      which  do  not contain a ``..''.  Note that _s_e_a_r_c_h_-_l_i_s_t
      processing can be disabled by setting an option in the
      resolver.   Also  note  that  the environment variable
      ``LOCALDOMAIN'' can override  this  _s_e_a_r_c_h_-_l_i_s_t  on  a
      per-process basis.

           The _s_e_r_v_e_r_-_a_d_d_r_e_s_s's are aggregated and then used
      as  the  default  destination  of  queries   generated
      through the resolver.  In other words, this is the way
      you tell the resolver which  name  servers  it  should
      use.  It is possible for a given client application to
      override this list, and this is often done inside  the
      name server (which is itself a _r_e_s_o_l_v_e_r client) and in
      test programs such as _n_s_l_o_o_k_u_p.  Note that if you wish
      to  list the local host in your resolver configuration
      file, you should probably  use  its  primary  Internet
      address   rather  than  a  local-host  alias  such  as
      127.0.0.1 or 0.0.0.0.  This is due to  a  bug  in  the
      handling  of connected SOCK_DGRAM sockets in some ver-
      sions of the BSD networking code.  If you must use  an
      address-alias,  you  should  prefer 0.0.0.0 (or simply
      ``0'') over 127.0.0.1, though be warned that depending
      on  the  vintage  of your BSD-derived networking code,
      both of them are capable of failing in their own ways.
      If  your  host's  IP  implementation does not create a
      short-circuit route between the default interface  and
      the  loopback  interface,  then you might also want to
      add a static route (eg. in //eettcc//rrcc..llooccaall) to do so:

          _r_o_u_t_e _a_d_d _m_y_h_o_s_t_._d_o_m_a_i_n_._n_a_m_e _l_o_c_a_l_h_o_s_t _1












NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD              SSMMMM::1100--1177


           The _s_o_r_t_-_l_i_s_t is a list of  IP  address,  netmask
      pairs.  Addresses returned by gethostbyname are sorted
      to the order specified by this  list.   Any  addresses
      that  do  not  match  the address netmask pair will be
      returned after those that do. The netmask is  optional
      and the natural netmask will be used if not specified.

           The _o_p_t_i_o_n_-_l_i_s_t is a list of options  which  each
      override  some  internal resolver variable.  Supported
      options at this time are:

      ddeebbuugg
           sets the RES_DEBUG bit in __rreess..ooppttiioonnss.

      nnddoottss::_n
           sets the lower threshold (measured in ``number of
           dots'')  on  names given to _r_e_s___q_u_e_r_y() such that
           names with more than this number of dots will  be
           tried  as  absolute names before any _l_o_c_a_l_-_d_o_m_a_i_n
           or _s_e_a_r_c_h_-_l_i_s_t processing is done.   The  default
           for this internal variable is ``1''.


   55..33..  CCaacchhee IInniittiiaalliizzaattiioonn FFiillee

      55..33..11..  rroooott..ccaacchhee

              The name server needs to know the servers that
         are the authoritative name  servers  for  the  root
         domain of the network.  To do this we have to prime
         the name server's cache with the addresses of these
         higher  authorities.   The location of this file is
         specified in the boot file.   This  file  uses  the
         Standard  Resource  Record  Format (aka. Masterfile
         Format) covered further on in this paper.


   55..44..  DDoommaaiinn DDaattaa FFiilleess

           There are two standard files for  specifying  the
      data  for  a  domain.   These  are _h_o_s_t_s and _h_o_s_t_._r_e_v.
      These files use the Standard  Resource  Record  Format
      covered later in this paper.  Note that the file names
      are arbitrary; many network administrators  prefer  to
      name  their zone files after the domains they contain,
      especially in the average case which is where a  given
      server  is primary and/or secondary for many different
      zones.

      55..44..11..  hhoossttss

              This file contains  all  the  data  about  the
         machines  in  this zone.  The location of this file










SSMMMM::1100--1188              NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD


         is specified in the boot file.

      55..44..22..  hhoossttss..rreevv

              This file specifies the  IN-ADDR.ARPA  domain.
         This  is  a  special domain for allowing address to
         name mapping.  As internet host  addresses  do  not
         fall  within domain boundaries, this special domain
         was formed  to  allow  inverse  mapping.   The  IN-
         ADDR.ARPA  domain  has  four  labels  preceding it.
         These labels correspond  to  the  4  octets  of  an
         Internet  address.   All four octets must be speci-
         fied even if an octet contains zero.  The  Internet
         address   128.32.0.4   is  located  in  the  domain
         4.0.32.128.IN-ADDR.ARPA.   This  reversal  of   the
         address is awkward to read but allows for the natu-
         ral grouping of hosts in a network.

      55..44..33..  nnaammeedd..llooccaall

              This file specifies the  _P_T_R  record  for  the
         local  loopback  interface,  better known as _l_o_c_a_l_-
         _h_o_s_t, whose  network  address  is  127.0.0.1.   The
         location  of  this  file  is  specified in the boot
         file.  It is vitally important to the proper opera-
         tion  of  every  name  server  that  the  127.0.0.1
         address have a _P_T_R record pointing back to the name
         ``llooccaallhhoosstt..''.   The  name  of  this _P_T_R record is
         always ``11..00..00..112277..IINN--AADDDDRR..AARRPPAA''.  This is  neces-
         sary if you want your users to be able to use host-
         name-authentication (_h_o_s_t_s_._e_q_u_i_v or  _~_/_._r_h_o_s_t_s)  on
         the  name  ``llooccaallhhoosstt''.   As  implied by this _P_T_R
         record, there should be a  ``llooccaallhhoosstt.._m_y_._d_o_m_._a_i_n''
         _A  record  (with address 127.0.0.1) in every domain
         that contains hosts.  ``llooccaallhhoosstt..'' will lose  its
         trailing dot when 11..00..00..112277..iinn--aaddddrr..aarrppaa is queried
         for; then,  the  DEFNAMES  and/or  DNSRCH  resolver
         options will cause ``llooccaallhhoosstt'' to be evaluated as
         a host name in the local domain, and that means the
         top  domains  (or  ideally,  every  domain) in your
         resolver's search path had better have something by
         that name.

   55..55..  SSttaannddaarrdd RReessoouurrccee RReeccoorrdd FFoorrmmaatt

           The  records  in  the  name server data files are
      called resource records.  The Standard Resource Record
      Format (RR) is specified in RFC1035.  The following is
      a general description of these records:














NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD              SSMMMM::1100--1199


      _{_n_a_m_e_}   _{_t_t_l_}   _a_d_d_r_-_c_l_a_s_s   _R_e_c_o_r_d _T_y_p_e   _R_e_c_o_r_d _S_p_e_c_i_f_i_c _d_a_t_a

      Resource records have a standard format  shown  above.
      The  first  field  is  always  the  name of the domain
      record and it must always start in column 1.  For  all
      RR's  other  than the first in a file, the name may be
      left blank; in that case it takes on the name  of  the
      previous  RR.  The second field is an optional time to
      live field.  This specifies how long this data will be
      stored  in the data base.  By leaving this field blank
      the default time to live is specified in the _S_t_a_r_t  _O_f
      _A_u_t_h_o_r_i_t_y  resource  record  (see  below).   The third
      field is the address class; currently, only one  class
      is  supported:  _I_N  for  internet  addresses and other
      internet information.  Limited support is included for
      the  _H_S  class,  which  is  for  MIT/Athena ``Hesiod''
      information.  The fourth field states the type of  the
      resource  record.  The fields after that are dependent
      on the type of the RR.  Case is preserved in names and
      data  fields  when  loaded  into the name server.  All
      comparisons and lookups in the name server  data  base
      are case insensitive.

      TThhee ffoolllloowwiinngg cchhaarraacctteerrss hhaavvee ssppeecciiaall mmeeaanniinnggss::

      ``..''
           A  free  standing dot in the name field refers to
           the root domain.

      ``@''
           A free standing @ in the name field  denotes  the
           current origin.

      ``\X''
           Where  X  is  any  character  other  than a digit
           (0-9), quotes that character so that its  special
           meaning  does not apply.  For example, ``\.'' can
           be used to place a dot character in a label.

      ``\DDD''
           Where each D is a digit, is the octet correspond-
           ing  to the decimal number described by DDD.  The
           resulting octet is assumed to be text and is  not
           checked for special meaning.

      ``( )''
           Parentheses are used to group data that crosses a
           line.  In effect, line terminations are not  rec-
           ognized  within  parentheses.   (At present, this
           notation only works  for  SOA  RR's  and  is  not
           optional.)












SSMMMM::1100--2200              NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD


      ``;''
           Semicolon  starts a comment; the remainder of the
           line is ignored.  Note that  a  completely  blank
           line is also considered a comment, and ignored.

      ``*''
           An  asterisk  signifies  wildcarding.   Note that
           this is just another data character whose special
           meaning  comes  about  only  during internal name
           server search operations.   Wildcarding  is  only
           meaningful  for  some  RR types (notably _M_X), and
           then only in the name field -- not  in  the  data
           fields.

           Anywhere  a  name  appears  -- either in the name
      field or in some data field defined to  contain  names
      --  the  current  origin  will be appended if the name
      does not end in a ``..''.  This is useful for appending
      the  current  domain name to the data, such as machine
      names, but may cause problems where you  do  not  want
      this  to happen.  A good rule of thumb is that, if the
      name is not in the domain for which you  are  creating
      the data file, end the name with a ``..''.

      55..55..11..  $$IINNCCLLUUDDEE

              An include line begins with $INCLUDE, starting
         in column 1, and is followed by a file  name,  and,
         optionally,  by  a new temporary $ORIGIN to be used
         while reading this file.  This feature is  particu-
         larly useful for separating different types of data
         into multiple files.  An example would be:

             $INCLUDE /usr/local/adm/named/data/mail-exchanges

         The line would be interpreted as a request to  load
         the  file _/_u_s_r_/_l_o_c_a_l_/_a_d_m_/_n_a_m_e_d_/_d_a_t_a_/_m_a_i_l_-_e_x_c_h_a_n_g_e_s.
         The $INCLUDE command does  not  cause  data  to  be
         loaded  into a different zone or tree. This is sim-
         ply a way to allow data for a given primary zone to
         be  organized  in  separate  files.   Not  even the
         ``temporary $ORIGIN'' feature  described  above  is
         sufficient  to  cause  your data to branch out into
         some other zone --  zone  boundaries  can  only  be
         introduced in the boot file.

              A  $INCLUDE file must have a name on its first
         RR.  That is, the first character of the first non-
         comment  line  must  not  be  a space.  The current
         default name in the parent file _d_o_e_s _n_o_t carry into
         the $INCLUDE file.












NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD              SSMMMM::1100--2211


      55..55..22..  $$OORRIIGGIINN

              The  origin is a way of changing the origin in
         a data file.  The line starts in column 1,  and  is
         followed  by  a  domain origin.  This seems like it
         could be useful for putting more then one zone into
         a data file, but that's not how it works.  The name
         server fundamentally requires a given zone  to  map
         entirely  to some specific file.  You should there-
         fore be very careful to use $ORIGIN  only  once  at
         the  top of a file, or, within a file, to change to
         a ``lower'' domain in the zone  --  never  to  some
         other zone altogether.

      55..55..33..  SSOOAA -- SSttaarrtt OOff AAuutthhoorriittyy


         _n_a_m_e   _{_t_t_l_}   _a_d_d_r_-_c_l_a_s_s   _S_O_A          _O_r_i_g_i_n                 _P_e_r_s_o_n _i_n _c_h_a_r_g_e
         @              IN           SOA          ucbvax..Berkeley..Edu..   kjd..ucbvax..Berkeley..Edu.. (
                                     1995122103   ; Serial
                                     10800        ; Refresh
                                     1800         ; Retry
                                     3600000      ; Expire
                                     259200 )     ; Minimum


         The  _S_t_a_r_t _o_f _A_u_t_h_o_r_i_t_y_, _S_O_A_, record designates the
         start of a zone.  The name is the name of the  zone
         and  is  often  given as ``@'' since this is always
         the current $ORIGIN and the SOA RR is  usually  the
         first  record  of the primary zone file.  Origin is
         the name of  the  host  on  which  this  data  file
         resides  (in other words, the _p_r_i_m_a_r_y _m_a_s_t_e_r server
         for this zone.)  Person in  charge  is  the  e-mail
         address  for  the  person  responsible for the name
         server, with ``@'' changed to a ``.''.  The  serial
         number  is the version number of this data file and
         must be a positive integer.  This  number  must  be
         incremented  whenever a change is made to the data.
         Older servers permitted the use of a phantom  ``.''
         in this and other numbers in a zone file; the mean-
         ing of n.m was ``n000m'' rather than the more intu-
         itive  ``n*1000+m''  (such that 1.234 translated to
         1000234 rather than to  1234).   This  feature  has
         been   deprecated  due  to  its  obscurity,  unpre-
         dictability, and  lack  of  necessity.   Note  that
         using  a ``YYYYMMDDNN'' notation you can still make
         100 changes per  day  until  the  year  4294.   You
         should  choose  a  notation that works for you.  If
         you're a clever _p_e_r_l programmer you could even  use
         _R_C_S  version  numbers  to  help  generate your zone
         serial numbers.  The refresh indicates  how  often,











SSMMMM::1100--2222              NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD


         in seconds, the secondary name servers are to check
         with the primary name server to see if an update is
         needed.   The retry indicates how long, in seconds,
         a secondary server should wait  before  retrying  a
         failed  zone  transfer.  Expire is the upper limit,
         in seconds, that a secondary name server is to  use
         the  data  before  it expires for lack of getting a
         refresh.  Minimum is the default number of  seconds
         to  be  used for the Time To Live field on resource
         records which do not specify one in the zone  file.
         It  is  also an enforced minimum on Time To Live if
         it is specified on some resource record (RR) in the
         zone.   There  must  be  exactly one _S_O_A record per
         zone.

      55..55..44..  NNSS -- NNaammee SSeerrvveerr

         _{_n_a_m_e_}   _{_t_t_l_}   _a_d_d_r_-_c_l_a_s_s   _N_S   _N_a_m_e _s_e_r_v_e_r_s _n_a_m_e
                          IN           NS   ucbarpa..Berkeley..Edu..

         The _N_a_m_e _S_e_r_v_e_r record, _N_S,  lists  a  name  server
         responsible  for a given domain, creating a _d_e_l_e_g_a_-
         _t_i_o_n _p_o_i_n_t and a _s_u_b_z_o_n_e.   The  first  name  field
         specifies  the  zone  that  is serviced by the name
         server specified by the second  name.   Every  zone
         needs at least two name servers.





































NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD              SSMMMM::1100--2233


      55..55..55..  AA -- AAddddrreessss

         _{_n_a_m_e_}    _{_t_t_l_}   _a_d_d_r_-_c_l_a_s_s   _A   _a_d_d_r_e_s_s
         ucbarpa           IN           A   128..32..0..4
                           IN           A   10..0..0..78

         The  _A_d_d_r_e_s_s  record,  _A,  lists  the address for a
         given machine.  The name field is the machine  name
         and  the  address  is  the  network address.  There
         should be one _A record  for  each  address  of  the
         machine.

      55..55..66..  HHIINNFFOO -- HHoosstt IInnffoorrmmaattiioonn

         _{_n_a_m_e_}   _{_t_t_l_}   _a_d_d_r_-_c_l_a_s_s   _H_I_N_F_O   _H_a_r_d_w_a_r_e     _O_S
                          IN           HINFO   VAX-11/780   UNIX

         _H_o_s_t  _I_n_f_o_r_m_a_t_i_o_n  resource  record,  _H_I_N_F_O, is for
         host specific data.  This lists  the  hardware  and
         operating  system  that  are  running at the listed
         host.  If you  want  to  include  a  space  in  the
         machine  name  you must quote the name (using ``"''
         characters.)  There could be one _H_I_N_F_O  record  for
         each host, though for security reasons most domains
         don't have any _H_I_N_F_O records at all.   No  applica-
         tion depends on them.


      55..55..77..  WWKKSS -- WWeellll KKnnoowwnn SSeerrvviicceess

         _{_n_a_m_e_}   _{_t_t_l_}   _a_d_d_r_-_c_l_a_s_s   _W_K_S   _a_d_d_r_e_s_s       _p_r_o_t_o_c_o_l   _l_i_s_t _o_f _s_e_r_v_i_c_e_s
                          IN           WKS   128..32..0..10   UDP        who route timed domain
                          IN           WKS   128..32..0..10   TCP        ( echo telnet
                                                                      discard sunrpc sftp
                                                                      uucp-path systat daytime
                                                                      netstat qotd nntp
                                                                      link chargen ftp
                                                                      auth time whois mtp
                                                                      pop rje finger smtp
                                                                      supdup hostnames
                                                                      domain
                                                                      nameserver )

         The  _W_e_l_l _K_n_o_w_n _S_e_r_v_i_c_e_s record, _W_K_S, describes the
         well known services supported by a particular  pro-
         tocol at a specified address.  The list of services
         and port numbers come from  the  list  of  services
         specified  in  _/_e_t_c_/_s_e_r_v_i_c_e_s_.  There should be only
         one _W_K_S record per protocol per address.  Note that
         RFC1123 says of _W_K_S records:













SSMMMM::1100--2244              NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD


            2.2  Using Domain Name Service
            ...
               An application SHOULD NOT rely on the ability to locate a WKS
               record containing an accurate listing of all services at a
               particular host address, since the WKS RR type is not often used
               by Internet sites.  To confirm that a service is present, simply
               attempt to use it.
            ...
               5.2.12  WKS Use in MX Processing: RFC-974, p. 5

                  RFC-974 [SMTP:3] recommended that the domain system be queried
                  for WKS ("Well-Known Service") records, to verify that each
                  proposed mail target does support SMTP.  Later experience has
                  shown that WKS is not widely supported, so the WKS step in MX
                  processing SHOULD NOT be used.
            ...
                  6.1.3.6  Status of RR Types
            ...
                          The TXT and WKS RR types have not been widely used by
                          Internet sites; as a result, an application cannot rely
                          on the existence of a TXT or WKS RR in most
                          domains.


      55..55..88..  CCNNAAMMEE -- CCaannoonniiccaall NNaammee

         _a_l_i_a_s      _{_t_t_l_}   _a_d_d_r_-_c_l_a_s_s   _C_N_A_M_E   _C_a_n_o_n_i_c_a_l _n_a_m_e
         ucbmonet           IN           CNAME   monet

         The  _C_a_n_o_n_i_c_a_l  _N_a_m_e resource record, _C_N_A_M_E, speci-
         fies an alias or  nickname  for  the  official,  or
         canonical, host name.  This record must be the only
         one associated with  the  alias  name.   All  other
         resource records must be associated with the canon-
         ical name, not with  the  nickname.   Any  resource
         records  that  include a domain name as their value
         (e.g., NS or MX) _m_u_s_t list the canonical name,  not
         the  nickname.  Similarly, a CNAME will be followed
         when searching for A RRs, but not for MX RRs or  NS
         RRs or most other types of RRs.  CNAMEs are allowed
         to point to other CNAMEs, but  this  is  considered
         sloppy.

              Nicknames  are  useful  when a well known host
         changes its name.  In that case, it  is  usually  a
         good  idea  to  have  a _C_N_A_M_E record so that people
         still using the old name  will  get  to  the  right
         place.















NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD              SSMMMM::1100--2255


      55..55..99..  PPTTRR -- DDoommaaiinn NNaammee PPooiinntteerr

         _n_a_m_e   _{_t_t_l_}   _a_d_d_r_-_c_l_a_s_s   _P_T_R   _r_e_a_l _n_a_m_e
         7.0            IN           PTR   monet..Berkeley..Edu..

         A  _D_o_m_a_i_n  _N_a_m_e _P_o_i_n_t_e_r record, _P_T_R, allows special
         names to  point  to  some  other  location  in  the
         domain.   The above example of a _P_T_R record is used
         in setting up reverse pointers for the special  _I_N_-
         _A_D_D_R.._A_R_P_A  domain.  This  line  is from the example
         _h_o_s_t_s_._r_e_v file.  _P_T_R  records  are  needed  by  the
         _g_e_t_h_o_s_t_b_y_a_d_d_r  function.   Note  the trailing ``..''
         which prevents  BIND  from  appending  the  current
         $ORIGIN to that domain name.

      55..55..1100..  MMXX -- MMaaiill EExxcchhaannggee

         _n_a_m_e             _{_t_t_l_}   _a_d_d_r_-_c_l_a_s_s   _M_X   _p_r_e_f_e_r_e_n_c_e _v_a_l_u_e   _m_a_i_l _e_x_c_h_a_n_g_e
         Munnari..OZ..AU..           IN           MX   0                  Seismo..CSS..GOV..
         *..IL..                    IN           MX   0                  RELAY..CS..NET..

         _M_a_i_l  _e_X_c_h_a_n_g_e  records,  _M_X, are used to specify a
         list of hosts which are configured to receive  mail
         sent   to  this  domain  name.   Every  name  which
         receives mail should have an _M_X since if one is not
         found  at  the  time mail is being delivered, an _M_X
         will be ``imputed'' with a cost of 0 and a destina-
         tion  of  the  host  itself.  If you want a host to
         receive its own mail, you should create an  _M_X  for
         your host's name, pointing at your host's name.  It
         is better to have this be explicit than to  let  it
         be  imputed  by remote mailers.  In the first exam-
         ple, above, Seismo..CSS..GOV.. is a mail gateway  that
         knows how to deliver mail to Munnari..OZ..AU...  These
         two machines may have a private connection or use a
         different  transport  medium.  The preference value
         is the order that a mailer should follow when there
         is  more  than  one way to deliver mail to a single
         machine.  Note that lower numbers  indicate  higher
         precedence,  and  that mailers are supposed to ran-
         domize same-valued _M_X hosts so as to distribute the
         load evenly if the costs are equal.  See RFC974 for
         more detailed information.

              Wildcard names containing the character  ``*''
         may  be  used  for  mail  routing  with _M_X records.
         There are likely to be servers on the network  that
         simply  state  that  any  mail to a domain is to be
         routed through a relay.  Second example, above, all
         mail  to  hosts  in the domain IL is routed through
         RELAY.CS.NET.  This is done by creating a  wildcard
         resource  record,  which states that *.IL has an _M_X











SSMMMM::1100--2266              NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD


         of RELAY.CS.NET.  Wildcard _M_X records are not  very
         useful  in practice, though, since once a mail mes-
         sage gets to the gateway  for  a  given  domain  it
         still has to be routed _w_i_t_h_i_n that domain and it is
         not currently possible to have  an  apparently-dif-
         ferent  set  of  _M_X records inside and outside of a
         domain.  If you won't be needing any Mail Exchanges
         inside  your  domain,  go ahead and use a wildcard.
         If you want to use both wildcard ``top-level''  and
         specific  ``interior''  _M_X  records, note that each
         specific record will have to ``end  with''  a  com-
         plete  recitation  of the same data that is carried
         in the top-level record.  This is because the  spe-
         cific _M_X records will take precedence over the top-
         level wildcard records, and must be able to perform
         the top-level's if a given interior domain is to be
         able to receive  mail  from  outside  the  gateway.
         Wildcard  _M_X records are very subtle and you should
         be careful with them.

      55..55..1111..  TTXXTT -- TTeexxtt

         _n_a_m_e             _{_t_t_l_}   _a_d_d_r_-_c_l_a_s_s   _T_X_T   _s_t_r_i_n_g
         Munnari..OZ..AU..           IN           TXT   "foo"

         A _T_X_T record contains free-form textual data.   The
         syntax  of  the text depends on the domain where it
         is found; many systems use _T_X_T  records  to  encode
         local data in a stylized format.  MIT Hesiod is one
         such system.

      55..55..1122..  RRPP -- RReessppoonnssiibbllee PPeerrssoonn

         _o_w_n_e_r      _{_t_t_l_}   _a_d_d_r_-_c_l_a_s_s   _R_P   _m_b_o_x_-_d_o_m_a_i_n_-_n_a_m_e             _T_X_T_-_d_o_m_a_i_n_-_n_a_m_e
         franklin           IN           RP   ben.franklin.berkeley.edu.   sysadmins.berkeley.edu.


              The Responsible Person record, _R_P,  identifies
         the  name  or  group name of the responsible person
         for a host.  Often it is desirable to  be  able  to
         identify  the  responsible  entity for a particular
         host.  When that host is  down  or  malfunctioning,
         you  would  want to contact those parties who might
         be able to repair the host.

              The first field, _m_b_o_x_-_d_o_m_a_i_n_-_n_a_m_e, is a domain
         name that specifies the mailbox for the responsible
         person.  Its format in a zone  file  uses  the  DNS
         convention  for mailbox encoding, identical to that
         used for the _P_e_r_s_o_n_-_i_n_-_c_h_a_r_g_e mailbox field in  the
         SOA record.  In the example above, the _m_b_o_x_-_d_o_m_a_i_n_-
         _n_a_m_e       shows       the       encoding       for











NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD              SSMMMM::1100--2277


         ``<<bbeenn@@ffrraannkklliinn..bbeerrkkeelleeyy..eedduu>>''.   The  root domain
         name (just ``..'') may be specified to indicate that
         no mailbox is available.

              The second field, _T_X_T_-_d_o_m_a_i_n_-_n_a_m_e, is a domain
         name for which _T_X_T  records  exist.   A  subsequent
         query  can  be performed to retrieve the associated
         _T_X_T resource records at _T_X_T_-_d_o_m_a_i_n_-_n_a_m_e.  This pro-
         vides a level of indirection so that the entity can
         be referred to from multiple  places  in  the  DNS.
         The  root domain name (just ``..'') may be specified
         for _T_X_T_-_d_o_m_a_i_n_-_n_a_m_e _t_o _i_n_d_i_c_a_t_e _t_h_a_t _n_o  _a_s_s_o_c_i_a_t_e_d
         _T_X_T  _R_R  _e_x_i_s_t_s_.   _I_n  _t_h_e  _e_x_a_m_p_l_e _a_b_o_v_e_, _`_`ssyyssaadd--
         mmiinnss..bbeerrkkeelleeyy..eedduu.._'_' _i_s _t_h_e _n_a_m_e _o_f  _a  _T_X_T  _r_e_c_o_r_d
         _t_h_a_t  _m_i_g_h_t  _c_o_n_t_a_i_n _s_o_m_e _t_e_x_t _w_i_t_h _n_a_m_e_s _a_n_d _p_h_o_n_e
         _n_u_m_b_e_r_s_.

              The format of the _R_P record is  class-insensi-
         tive.   Multiple _R_P records at a single name may be
         present in the database, though  they  should  have
         identical TTLs.

              The  _R_P  record is still experimental; not all
         name servers implement or recognize it.

      55..55..1133..  AAFFSSDDBB -- DDCCEE oorr AAFFSS SSeerrvveerr

         _n_a_m_e           _{_t_t_l_}   _a_d_d_r_-_c_l_a_s_s   _A_F_S_D_B   _s_u_b_t_y_p_e   _s_e_r_v_e_r _h_o_s_t _n_a_m_e
         toaster.com.           IN           AFSDB   1         jack.toaster.com.
         toaster.com.           IN           AFSDB   1         jill.toaster.com.
         toaster.com.           IN           AFSDB   2         tracker.toaster.com.

         _A_F_S_D_B records are used to specify  the  hosts  that
         provide  a  style of distributed service advertised
         under this domain name.  A subtype value (analogous
         to the ``preference'' value in the _M_X record) indi-
         cates which style of distributed  service  is  pro-
         vided  with  the  given  name.  Subtype 1 indicates
         that the named host is an AFS (R)  database  server
         for the AFS cell of the given domain name.  Subtype
         2 indicates that the named host provides intra-cell
         name  service  for  the  DCE  (R) cell named by the
         given  domain  name.    In   the   example   above,
         jack..toaster..com  and jill..toaster..com are declared
         to be AFS database servers for the toaster..com  AFS
         cell,  so  that  AFS  clients  wishing service from
         toaster..com are directed to  those  two  hosts  for
         further  information.   The  third  record declares
         that tracker..toaster..com houses a directory  server
         for  the  root of the DCE cell toaster..com, so that
         DCE clients that wish  to  refer  to  DCE  services
         should  consult  with  the host tracker..toaster..com











SSMMMM::1100--2288              NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD


         for  further  information.   The  DCE  sub-type  of
         record  is  usually accompanied by a _T_X_T record for
         other information specifying other  details  to  be
         used  in  accessing the DCE cell.  RFC1183 contains
         more detailed information on the use of this record
         type.

              The  _A_F_S_D_B  record  is still experimental; not
         all name servers implement or recognize it.


      55..55..1144..  PPXX -- PPooiinntteerr ttoo XX..440000//RRFFCC882222 mmaappppiinngg iinnffoorrmmaa--
         ttiioonn

         _n_a_m_e                   _{_t_t_l_}   _a_d_d_r_-_c_l_a_s_s   _P_X   _p_r_e_f_e_r   _8_2_2_-_d_o_m    _X_._4_0_0_-_d_o_m
         *.ADMD-garr.X42D.it.           IN           PX   50       it.        ADMD-garr.C-it.
         *.infn.it.                     IN           PX   50       infn.it.   O.PRMD-infn.ADMD-garr.C-it.
         *.it.                          IN           PX   50       it.        O-gate.PRMD-garr.ADMD-garr.C-it.


              The  _P_X  records (_P_o_i_n_t_e_r _t_o _X_._4_0_0_/_R_F_C_8_2_2 _m_a_p_-
         _p_i_n_g _i_n_f_o_r_m_a_t_i_o_n) are used to specify address  map-
         ping  rules  between X.400 O/R addresses and RFC822
         style (domain-style) mail addresses. For a detailed
         description  of the mapping process please refer to
         RFC1327.

              Mapping rules are of 3 different types:

              1) mapping from X.400 to  RFC822  (defined  as
         "table 1 rules" in RFC1327)

              2)  mapping  from  RFC822 to X.400 (defined as
         "table 2 rules" in RFC1327)

              3) encoding RFC822 into  X.400    (defined  as
         "gate table" in RFC1327)

              All three types of mapping rules are specified
         using _P_X Resource Records in DNS, although the _n_a_m_e
         value  is  different: for case 1, the _n_a_m_e value is
         an X.400 domain in DNS syntax, whereas for cases  2
         and  3 the _n_a_m_e value is an RFC822 domain. Refer to
         RFC-1664 for details on specifying an X.400  domain
         in  DNS  syntax and for the use of the _X_4_2_D keyword
         in it. Tools are available to convert from  RFC1327
         tables format into DNS files syntax.  _P_r_e_f_e_r_e_n_c_e is
         analogous to the _M_X RR Preference parameter: it  is
         currently  advised  to  use a fixed value of 50 for
         it. _8_2_2_-_d_o_m gives the RFC822 part  of  the  mapping
         rules,  and  _X_._4_0_0_-_d_o_m  gives the X.400 part of the
         mapping rule  (in  DNS  syntax).  It  is  currently











NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD              SSMMMM::1100--2299


         advised  always  to  use wildcarded _n_a_m_e values, as
         the RFC1327 tables specifications  permit  wildcard
         specifications  only. This is to keep compatibility
         with existing services using static RFC1327  tables
         instead of DNS _P_X information.

              Specifications  of mapping rules from X.400 to
         RFC822 syntax requires the creation of an appropri-
         ate X.400 domain tree into DNS, including thus spe-
         cific _S_O_A and _N_S records  for  the  domain  itself.
         Specification  of  mapping  rules  from RFC822 into
         X.400 can be  embedded  directly  into  the  normal
         direct  _n_a_m_e  tree.   Again,  refer  to RFC1664 for
         details about organization of this structure.

              Tools and library routines, based on the stan-
         dard  resolver ones, are available to retrieve from
         DNS the appropriate mapping rules in RFC1327 or DNS
         syntax.

              Once  again,  refer  to  RFC1664 to use the _P_X
         resource record, and be careful in coordinating the
         mapping information you can specify in DNS with the
         same information specified into the RFC1327  static
         tables.

              The  _P_X  record is still experimental; not all
         servers implement or recognize it.


   55..66..  DDiissccuussssiioonn aabboouutt tthhee TTTTLL

           The Time To Live assigned to the records  and  to
      the  zone  via  the Minimum field in the SOA record is
      very important. High values will lead  to  lower  BIND
      network traffic and faster response time. Lower values
      will tend to generate lots of requests but will  allow
      faster propagation of changes.

           Only  changes  and  deletions  from  the zone are
      affected by the TTLs.  Additions  propagate  according
      to the Refresh value in the SOA.

           Experience  has shown that sites use default TTLs
      for their zones varying from around 0.5 day to  around
      7  days. You may wish to consider boosting the default
      TTL shown in former versions of this  guide  from  one
      day  (86400  seconds)  to three days (259200 seconds).
      This will drastically reduce the  number  of  requests
      made to your name servers.

           If you need fast propagation of changes and dele-
      tions, it might be wise to reduce the Minimum field  a










SSMMMM::1100--3300              NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD


      few  days  before the change, then do the modification
      itself and augment the TTL to its former value.

           If you know that your zone is pretty stable  (you
      mainly  add  new  records without deleting or changing
      old ones) then you may even wish  to  consider  a  TTL
      higher than three days.

           Note  that in any case, it makes no sense to have
      records with a TTL below the  SOA  Refresh  delay,  as
      Delay  is  the  time required for secondaries to get a
      copy of the newly modified zone.


   55..77..  AAbboouutt ````sseeccuurree zzoonneess''''

           Secure zones implement named security on  a  zone
      by  zone  basis.   It  is designed to use a permission
      list of networks or hosts which may obtain  particular
      information from the zone.

           In order to use zone security, _n_a_m_e_d must be com-
      piled with SECURE_ZONES defined and you must  have  at
      least  one  secure_zone  TXT RR.  Unless a _s_e_c_u_r_e___z_o_n_e
      record exists for a given zone, no  restrictions  will
      be  applied  to  the data in that zone.  The format of
      the secure_zone TXT RR is:

      secure_zone     addr-class     TXT     string

           The addr-class may be either _H_S or _I_N.  The  syn-
      tax   for   the   TXT   string   is  either  ``network
      address:netmask'' or ``host IP address:H''.

           ``network address:netmask'' allows  queries  from
      an  entire  network.  If the netmask is omitted, named
      will use the default netmask for the  network  address
      specified.

           ``host IP address:H'' allows queries from a host.
      The ``H'' after the ``:'' is required to differentiate
      the  host  address  from  a network address.  Multiple
      secure_zone TXT RRs are allowed in the same zone file.

           For example, you can set up a zone to only answer
      Hesiod  requests  from  the  masked  class  B  network
      130.215.0.0  and  from host 128.23.10.56 by adding the
      following two TXT RR's:

      secure_zone     HS     TXT     ``130.215.0.0:255.255.0.0''
      secure_zone     HS     TXT     ``128.23.10.56:H''












NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD              SSMMMM::1100--3311


           This  feature can be used to restrict access to a
      Hesiod password map or to separate internal and exter-
      nal  internet address resolution on a firewall machine
      without needing to run a separate named  for  internal
      and external address resolution.

           Note  that you will need to include your loopback
      interface (127.0.0.1) in your secure_zone  record,  or
      your local clients won't be able to resolve names.


   55..88..  AAbboouutt HHeessiioodd,, aanndd HHSS--ccllaassss RReessoouurrccee RReeccoorrddss

           Hesiod,  developed  by  MIT Project Athena, is an
      information service built upon BIND.   Its  intent  is
      similar  to  that of Sun's NIS: to furnish information
      about users, groups, network-accessible file  systems,
      printcaps,  and  mail  service throughout an installa-
      tion.  Aside from its use of BIND rather than separate
      server  code another important difference between Hes-
      iod and NIS is that Hesiod is  not  intended  to  deal
      with  passwords and authentication, but only with data
      that are not security sensitive.  Hesiod  servers  can
      be  implemented  by  adding  resource  records to BIND
      servers;  or  they  can  be  implemented  as  separate
      servers separately administered.

           To  learn  about and obtain Hesiod make an anony-
      mous FTP connection to  host  ATHENA-DIST.MIT.EDU  and
      retrieve  the  compressed  tar  file  //ppuubb//AATTHHEENNAA//hheess--
      iioodd..ttaarr..ZZ.  You will not need the named  and  resolver
      library  portions  of  the  distribution because their
      functionality has already been integrated into BIND as
      of  4.9.  To learn how Hesiod functions as part of the
      Athena  computing   environment   obtain   the   paper
      //ppuubb//AATTHHEENNAA//uusseenniixx//aatthheennaa--cchhaannggeess..PPSS  from  the  above
      FTP server host.  There is also a tar file  of  sample
      Hesiod resource files.

           Whether  one  should  use Hesiod class is open to
      question, since the same services can probably be pro-
      vided  with class IN, type TXT and type CNAME records.
      In either case, the code and documents for Hesiod will
      suggest how to set up and use the service.

           Note  that  while  BIND  includes support for _H_S-
      class queries, the zone  transfer  logic  for  non-_I_N-
      class zones is still experimental.















SSMMMM::1100--3322              NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD


   55..99..  SSaammppllee FFiilleess

           The  following  section contains sample files for
      the name server.  This covers example boot  files  for
      the different types of servers and example domain data
      base files.

      55..99..11..  BBoooott FFiilleess

         55..99..11..11..  PPrriimmaarryy SSeerrvveerr


            ;
            ; Boot file for Primary Name Server
            ;


            ; type      domain                 source file or host
            ;
            directory   /usr/local/adm/named
            primary     Berkeley..Edu           ucbhosts
            primary     32..128..in-addr..arpa    ucbhosts..rev
            primary     0..0..127..in-addr..arpa   named..local
            cache       ..                      root..cache



         55..99..11..22..  SSeeccoonnddaarryy SSeerrvveerr


            ;
            ; Boot file for Secondary Name Server
            ;


            ; type      domain                 source file or host
            ;
            directory   /usr/local/adm/named
            secondary   Berkeley..Edu           128..32..0..4 128..32..0..10 ucbhosts.bak
            secondary   32..128..in-addr..arpa    128..32..0..4 128..32..0..10 ucbhosts.rev.bak
            primary     0..0..127..in-addr..arpa   named..local
            cache       ..                      root..cache





















NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD              SSMMMM::1100--3333


         55..99..11..33..  CCaacchhiinngg OOnnllyy SSeerrvveerr


            ;
            ; Boot file for Caching Only Name Server
            ;


            ; type      domain                 source file or host
            ;
            directory   /usr/local/adm/named
            cache       ..                      root..cache
            primary     0..0..127..in-addr..arpa   named..local





      55..99..22..  RReemmoottee SSeerrvveerr // DDNNSS CClliieenntt

         55..99..22..11..  //eettcc//rreessoollvv..ccoonnff


            domain Berkeley..Edu
            nameserver 128..32..0..4
            nameserver 128..32..0..10
            sortlist 130.155.160.0/255.255.240.0 130.155.0.0




































SSMMMM::1100--3344              NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD


      55..99..33..  rroooott..ccaacchhee


         ;
         ;       This file holds the information on root name servers needed to
         ;       initialize cache of Internet domain name servers
         ;       (e.g. reference this file in the "cache  .  <file>"
         ;       configuration file of BIND domain name servers).
         ;
         ;       This file is made available by InterNIC registration services
         ;       under anonymous FTP as
         ;           file                /domain/named.root
         ;           on server           FTP.RS.INTERNIC.NET
         ;       -OR- under Gopher at    RS.INTERNIC.NET
         ;           under menu          InterNIC Registration Services (NSI)
         ;              submenu          InterNIC Registration Archives
         ;           file                named.root
         ;
         ;       last update:    Oct 5, 1994
         ;       related version of root zone:   1994100500
         ;

         ..                   604800   IN   NS   NS..INTERNIC..NET..
         NS..INTERNIC..NET..    604800   IN   A    198..41..0..4
         ..                   604800   IN   NS   NS1..ISI..EDU..
         NS1..ISI..EDU..        604800   IN   A    128..9..0..107
         ..                   604800   IN   NS   C..PSI..NET..
         C..PSI..NET..          604800   IN   A    192..33..4..12
         ..                   604800   IN   NS   TERP..UMD..EDU..
         TERP..UMD..EDU..       604800   IN   A    128..8..10..90
         ..                   604800   IN   NS   NS..NASA..GOV..
         NS..NASA..GOV..        604800   IN   A    128..102..16..10
                             604800   IN   A    192..52..195..10
         ..                   604800   IN   NS   NS..ISC..ORG..
         NS..ISC..ORG..         604800   IN   A    192..5..5..241
         ..                   604800   IN   NS   NS..NIC..DDN..MIL..
         NS..NIC..DDN..MIL..     604800   IN   A    192..112..36..4
         ..                   604800   IN   NS   AOS..ARL..ARMY..MIL..
         AOS..ARL..ARMY..MIL..   604800   IN   A    128..63..4..82
                             604800   IN   A    192..5..25..82
         ..                   604800   IN   NS   NIC..NORDU..NET..
         NIC..NORDU..NET..      604800   IN   A    192..36..148..17

         ; End of File



















NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD              SSMMMM::1100--3355


      55..99..44..  nnaammeedd..llooccaall



         @   IN   SOA   ucbvax..Berkeley..Edu.   kjd..ucbvax..Berkeley..Edu.. (
                        1994072100             ; Serial
                        10800                  ; Refresh
                        1800                   ; Retry
                        3600000                ; Expire
                        259200 )               ; Minimum
             IN   NS    ucbvax..Berkeley..Edu..   ; pedantic
         1   IN   PTR   localhost..



      55..99..55..  hhoosstt..rreevv


         ;
         ;    @(#)ucb-hosts.rev    1.1    (Berkeley)    86/02/05
         ;

         @       IN   SOA   ucbvax..Berkeley..Edu..   kjd..monet..Berkeley..Edu.. (
                            1986020501             ; Serial
                            10800                  ; Refresh
                            1800                   ; Retry
                            3600000                ; Expire
                            259200 )               ; Minimum
                 IN   NS    ucbarpa..Berkeley..Edu..
                 IN   NS    ucbvax..Berkeley..Edu..
         0..0     IN   PTR   Berkeley-net..Berkeley..EDU..
                 IN   A     255..255..255..0
         0..130   IN   PTR   csdiv-net..Berkeley..EDU..
         4..0     IN   PTR   ucbarpa..Berkeley..Edu..
         6..0     IN   PTR   ernie..Berkeley..Edu..
         7..0     IN   PTR   monet..Berkeley..Edu..
         10..0    IN   PTR   ucbvax..Berkeley..Edu..
         6..130   IN   PTR   monet..Berkeley..Edu..



      55..99..66..  HHoossttss





















SSMMMM::1100--3366              NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD


         ;
         ;    @(#)ucb-hosts    1.2    (berkeley)    88/02/05
         ;

         @           IN   SOA     ucbvax..Berkeley..Edu..               kjd..monet..Berkeley..Edu.. (
                                  1988020501                         ; Serial
                                  10800                              ; Refresh
                                  1800                               ; Retry
                                  3600000                            ; Expire
                                  259200 )                           ; Minimum
                     IN   NS      ucbarpa..Berkeley..Edu..
                     IN   NS      ucbvax..Berkeley..Edu..
         localhost   IN   A       127..1
                                  ; note that 127.1 is the same as 127.0.0.1; see inet(3n)
         ucbarpa     IN   A       128..32..4
                     IN   A       10..0..0..78
                     IN   HINFO   VAX-11/780 UNIX
         arpa        IN   CNAME   ucbarpa
         ernie       IN   A       128..32..6
                     IN   HINFO   VAX-11/780 UNIX
         ucbernie    IN   CNAME   ernie
         monet       IN   A       128..32..7
                     IN   A       128..32..130..6
                     IN   HINFO   VAX-11/750 UNIX
         ucbmonet    IN   CNAME   monet
         ucbvax      IN   A       10..2..0..78
                                  ; 128.32.10 means 128.32.0.10; see inet(3n)
                     IN   A       128..32..10
                                  ; HINFO and WKS are widely unused,
                                  ; but we'll show them as examples.
                     IN   HINFO   VAX-11/750 UNIX
                     IN   WKS     128.32.0.10 TCP ( echo telnet
                                  discard sunrpc sftp
                                  uucp-path systat daytime
                                  netstat qotd nntp
                                  link chargen ftp
                                  auth time whhois mtp
                                  pop rje finger smtp
                                  supdup hostnames
                                  domain
                                  nameserver )
         vax         IN   CNAME   ucbvax
         toybox      IN   A       128..32..131..119
                     IN   HINFO   Pro350 RT11
         toybox      IN   MX      0  monet.Berkeley.Edu.
         csrg        IN   MX      0 Ralph.CS
                     IN   MX      0 Zhou.CS
                     IN   MX      0 Painter.CS
                     IN   MX      0 Riggle.CS
                     IN   MX      0 Terry.CS
                     IN   MX      0 Kevin.CS












NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD              SSMMMM::1100--3377


66..  SSeettttiinngg uupp YYoouurr OOwwnn DDoommaaiinn

        When setting up a domain that is going to  be  on  a
   public  network the site administrator should contact the
   organization in charge of the  network  and  request  the
   appropriate  domain  registration  form.  An organization
   that belongs to multiple networks (such as  the  _I_n_t_e_r_n_e_t
   and _B_I_T_N_E_T) should register with only one network.

   66..11..  IInntteerrnneett

           Sites  on  the  Internet  who need information on
      setting up a domain should contact the  registrar  for
      their network, which is one of the following:

      MILnet   HOSTMASTER@NIC..DDN..MIL
      other    HOSTMASTER@INTERNIC..NET

      You  may  also  want  to be placed on the BIND mailing
      list, which is a mail group for people on the Internet
      who run BIND.  The group discusses future design deci-
      sions, operational problems, and other related  topic.
      The  address  to  request being placed on this mailing
      list is:

          _b_i_n_d_-_r_e_q_u_e_s_t_@_u_u_n_e_t.._u_u.._n_e_t


   66..22..  SSuubbddoommaaiinnss ooff EExxiissttiinngg DDoommaaiinnss

           If you want a subdomain of some existing  domain,
      you  should  find  the  contact  point  for the parent
      domain rather than asking one of the  above  top-level
      registrars.   There should be a convention that rreeggiiss--
      ttrraarr@_d_o_m_a_i_n or hhoossttmmaasstteerr@_d_o_m_a_i_n for any given  domain
      will  always  be  an alias for that domain's registrar
      (somewhat analogous to ppoossttmmaasstteerr), but  there  is  no
      such  convention.   Try it as a last resort, but first
      you should examine the _S_O_A record for the  domain  and
      send mail to the ``responsible person'' shown therein.
      You can also try _w_h_o_i_s.


77..  DDoommaaiinn MMaannaaggeemmeenntt

        This section contains information for starting, con-
   trolling and debugging _n_a_m_e_d.

   77..11..  //eettcc//rrcc..llooccaall

           The  hostname  should  be  set to the full domain
      style name in _/_e_t_c_/_r_c_._l_o_c_a_l  using  _h_o_s_t_n_a_m_e_(_1_).   The











SSMMMM::1100--3388              NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD


      following  entry  should  be added to _/_e_t_c_/_r_c_._l_o_c_a_l to
      start up _n_a_m_e_d at system boot time:

          _i_f _[ _-_f _/_u_s_r_/_s_b_i_n_/_n_a_m_e_d _]_; _t_h_e_n
              _/_u_s_r_/_s_b_i_n_/_n_a_m_e_d [options] _& _e_c_h_o _-_n _' _n_a_m_e_d_'  _>_/_d_e_v_/_c_o_n_s_o_l_e
          _f_i

      This usually directly follows  the  lines  that  start
      _s_y_s_l_o_g_d.   DDoo  NNoott  attempt  to  run _n_a_m_e_d from _i_n_e_t_d.
      This will continuously restart  the  name  server  and
      defeat the purpose of the cache.

   77..22..  //vvaarr//rruunn//nnaammeedd..ppiidd

           When  _n_a_m_e_d  is successfully started up it writes
      its process id into the file _/_v_a_r_/_r_u_n_/_n_a_m_e_d_._p_i_d.  This
      is  useful  to  programs  that want to send signals to
      _n_a_m_e_d. The name of this file may be changed by  defin-
      ing _P_I_D_F_I_L_E to the new name when compiling _n_a_m_e_d.

   77..33..  //eettcc//hhoossttss

           The  _g_e_t_h_o_s_t_b_y_n_a_m_e_(_)  library  call can detect if
      _n_a_m_e_d is running.  If it is determined that  _n_a_m_e_d  is
      not  running  it will look in _/_e_t_c_/_h_o_s_t_s to resolve an
      address.  This option was added to allow  _i_f_c_o_n_f_i_g_(_8_C_)
      to  configure  the  machines  local  interfaces and to
      enable a system manager to access  the  network  while
      the system is in single user mode.  It is advisable to
      put the local machines interface addresses and a  cou-
      ple  of machine names and address in _/_e_t_c_/_h_o_s_t_s so the
      system manager can rcp files from another machine when
      the  system  is  in  single  user mode.  The format of
      _/_e_t_c_/_h_o_s_t_s has not  changed.  See  _h_o_s_t_s_(_5_)  for  more
      information.   Since the process of reading _/_e_t_c_/_h_o_s_t_s
      is slow, it is not advisable to use this  option  when
      the system is in multi user mode.


   77..44..  SSiiggnnaallss

           There are several signals that can be sent to the
      _n_a_m_e_d process to have it do tasks  without  restarting
      the process.

      77..44..11..  RReellooaadd

              SIGHUP  -  Causes _n_a_m_e_d to read _n_a_m_e_d_._b_o_o_t and
         reload the database.  This is useful when you  have
         made  a  change  to a ``primary'' data file and you
         want  _n_a_m_e_d's  internal  database  to  reflect  the
         change.   If  you build BIND with the FORCED_RELOAD
         option,  then  SIGHUP  also  has  the   effect   of










NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD              SSMMMM::1100--3399


         scheduling  all ``secondary'' zones for serial-num-
         ber checks, which  could  lead  to  zone  transfers
         ahead  of the usual schedule.  Normally serial-num-
         ber compares are done only at the intervals  speci-
         fied in the zone's SOA record.

      77..44..22..  DDeebbuuggggiinngg

              When  _n_a_m_e_d is running incorrectly, look first
         in _/_v_a_r_/_l_o_g_/_m_e_s_s_a_g_e_s and  check  for  any  messages
         logged  by  _s_y_s_l_o_g.   Next  send it a signal to see
         what is happening.  Unless  you  run  it  with  the
         ``-d''  option, _n_a_m_e_d has very little to say on its
         standard  output  or  standard  error.   Everything
         _n_a_m_e_d has to say, it says to _s_y_s_l_o_g.

              SIGINT - Dumps the current data base and cache
         to _/_v_a_r_/_t_m_p_/_n_a_m_e_d___d_u_m_p_._d_b This should give  you  an
         indication to whether the data base was loaded cor-
         rectly.  The name of the dump file may  be  changed
         by defining _D_U_M_P_F_I_L_E to the new name when compiling
         _n_a_m_e_d.

         _N_o_t_e_: the following  two  signals  only  work  when
         _n_a_m_e_d is built with _D_E_B_U_G defined.

              SIGUSR1  -  Turns on debugging. Each following
         SIGUSR1 increments the  debug  level.   The  output
         goes  to  _/_v_a_r_/_t_m_p_/_n_a_m_e_d_._r_u_n The name of this debug
         file may be changed by defining  _D_E_B_U_G_F_I_L_E  to  the
         new name before compiling _n_a_m_e_d.

              SIGUSR2 - Turns off debugging completely.

         For more detailed debugging, define DEBUG when com-
         piling the resolver routines into _/_l_i_b_/_l_i_b_c_._a.

              SIGWINCH - Toggles  tracing  of  all  incoming
         queries  if  _n_a_m_e_d  has  been  compiled with _Q_R_Y_L_O_G
         defined.  The trace is sent to syslog, and is huge,
         but it is very useful for tracking down problems.

         To  run  with tracing of all queries specify the _-_q
         flag on the command line.   If  you  routinely  log
         queries  you  will  probably  want  to  analyze the
         results using the dnsstats stats script in the con-
         trib directory.

              SIGIOT    -   Dumps   statistics   data   into
         _/_v_a_r_/_t_m_p_/_n_a_m_e_d_._s_t_a_t_s if the server  is  built  with
         _S_T_A_T_S  defined.   Statistics  are  appended  to the
         file.











SSMMMM::1100--4400              NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD


88..  BBuuiillddiinngg aa SSyysstteemm wwiitthh aa NNaammee SSeerrvveerr

        BIND is composed of two  parts.   One  is  the  user
   interface  called  the _r_e_s_o_l_v_e_r which consists of a group
   of routines that reside in  the  C  library  _/_l_i_b_/_l_i_b_c_._a.
   Second is the actual server called _n_a_m_e_d.  This is a dae-
   mon that runs in the background and services queries on a
   given  network port. The standard port for UDP and TCP is
   specified in _/_e_t_c_/_s_e_r_v_i_c_e_s.

   88..11..  RReessoollvveerr RRoouuttiinneess iinn lliibbcc

           When building your 4.3BSD system you  may  either
      build  the  C  library to use the name server resolver
      routines or use the host table lookup routines  to  do
      host   name   and  address  resolution.   The  default
      resolver for 4.3BSD uses the name server.   Newer  BSD
      systems  include both name server and host table func-
      tionality with preference given to the name server  if
      there is one or if there is a _/_e_t_c_/_r_e_s_o_l_v_._c_o_n_f file.

           Building  the  C  library  to use the name server
      changes the way _g_e_t_h_o_s_t_b_y_n_a_m_e(3N),  _g_e_t_h_o_s_t_b_y_a_d_d_r(3N),
      and  _s_e_t_h_o_s_t_e_n_t(3N)  do  their  functions.   The  name
      server renders _g_e_t_h_o_s_t_e_n_t(3N) obsolete, since  it  has
      no  concept  of  a  next  line in the database.  These
      library calls are built  with  the  resolver  routines
      needed to query the name server.

           The  _r_e_s_o_l_v_e_r contains functions that build query
      packets and exchange them with name servers.

           Before building the 4.3BSD  C  library,  set  the
      variable     _H_O_S_T_L_O_O_K_U_P     equal    to    _n_a_m_e_d    in
      _/_u_s_r_/_s_r_c_/_l_i_b_/_l_i_b_c_/_M_a_k_e_f_i_l_e.  You then make and install
      the  C  library and compiler and then compile the rest
      of the 4.3BSD system.  For more information  see  sec-
      tion  6.6  of ``Installing and Operating 4.3BSD on the
      VAX|=''.

           If your operating system isn't VAX|= 4.3BSD, it is
      probably  the  case  that  your  vendor  has  included
      _r_e_s_o_l_v_e_r support  in  the  supplied  C  Library.   You
      should consult your vendor's documentation to find out
      what has to be done to enable _r_e_s_o_l_v_e_r support.   Note
      that  your  vendor's  _r_e_s_o_l_v_e_r may be out of date with
      respect to the one shipped with  BIND,  and  that  you
      might  want  to  build  BIND's  resolver  library  and
      install it, and its include files, into your  system's
____________________
   |=VAX is a Trademark of Digital Equipment Corporation












NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD              SSMMMM::1100--4411


      compile/link  path  so  that your own network applica-
      tions will be able to use the newer features.





























































SSMMMM::1100--4422              NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD


                 AACCKKNNOOWWLLEEDDGGEEMMEENNTTSS ---- 44..99..33

     The _<_b_i_n_d_-_w_o_r_k_e_r_s_@_v_i_x_._c_o_m_> mailing list was once  again
of great help; this release would not be nearly as ready for
prime time if not for their efforts.  Special  commendations
are  owed to Robert Elz, Don "Truck" Lewis, Bob Halley, Mark
Andrews, Berthold Paffrath, Ruediger Volk, and Peter Koch.

     Digital Equipment Corporation, Hewlett Packard, Silicon
Graphics,  and SunSoft all made hardware available for inte-
gration testing; this made the release far more  solid  than
it  would otherwise have been.  More hardware loans are wel-
come -- if you are a system vendor and you would  like  BIND
to  run  ``out of the box'' on your platform and are willing
to lend some rusty old hardware for the purpose, please con-
tact me (_<_p_a_u_l_@_v_i_x_._o_r_g_>) to make the arrangements.

     Special  thanks to the Internet Software Consortium for
funding this work.  Contact _<_i_s_c_-_i_n_f_o_@_i_s_c_._o_r_g_> if your orga-
nization   would  like  to  participate  in  funding  future
releases of BIND and other freely  redistributable  software
packages that are in wide use on the Internet.


              AACCKKNNOOWWLLEEDDGGEEMMEENNTTSS ---- tthhrroouugghh 44..99

     The  alpha-test group was extremely helpful in furnish-
ing improvements, finding  and  repairing  bugs,  and  being
patient.   I  would  like to express special thanks to Brian
Reid of Digital Equipment corporation for funding this work.
Robert Elz, Alan Barrett, Paul Albitz, Bryan Beecher, Andrew
Partan, Andy Cherenson, Tom Limoncelli,  Berthold  Paffrath,
Fuat  Baran, Anant Kumar, Art Harkin, Win Treese, Don Lewis,
Christophe Wolfhugel, and a cast of dozens  all  helped  out
above  and  beyond the call of duty.  Special thanks to Phil
Almquist, who got the project started and contributed a  lot
of the code and fixed several of the worst bugs.


             AACCKKNNOOWWLLEEDDGGEEMMEENNTTSS ---- tthhrroouugghh 44..88..33

     Many  thanks to the users at U. C. Berkeley for falling
into many of the holes involved with integrating  BIND  into
the  system  so  that  others would be spared the trauma.  I
would also like to extend gratitude  to  Jim  McGinness  and
Digital  Equipment  Corporation  for  permitting me to spend
most of my time on this project.

     Ralph Campbell, Doug Kingston, Craig  Partridge,  Smoot
Carl-Mitchell,  Mike  Muuss  and  everyone else on the DARPA
Internet who has contributed to the development of BIND.  To
the  members  of  the  original BIND project, Douglas Terry,
Mark Painter, David Riggle and Songnian Zhou.










NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD              SSMMMM::1100--4433


     Anne Hughes, Jim Bloom and Kirk McKusick and  the  many
others  who  have  reviewed  this  paper giving considerable
advice.

     This  work  was  sponsored  by  the  Defense   Advanced
Research  Projects  Agency  (DoD), Arpa Order No. 4871 moni-
tored by the Naval Electronics Systems  Command  under  con-
tract  No. N00039-84-C-0089.  The views and conclusions con-
tained in this document are those of the authors and  should
not be interpreted as representing official policies, either
expressed or  implied,  of  the  Defense  Research  Projects
Agency, of the US Government, or of Digital Equipment Corpo-
ration.


















































SSMMMM::1100--4444              NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD


                         RREEFFEERREENNCCEESS


[Birrell] Birrell, A. D., Levin, R.,  Needham,  R.  M.,  and
          Schroeder,  M.D.,  "Grapevine: An Exercise in Dis-
          tributed  Computing."    In   _C_o_m_m_.   _A_._C_._M_.   _2_5_,
          4:260-274 April 1982.

[RFC819]  Su,  Z.  Postel, J., "The Domain Naming Convention
          for Internet User Applications."  _I_n_t_e_r_n_e_t _R_e_q_u_e_s_t
          _F_o_r  _C_o_m_m_e_n_t  _8_1_9  Network Information Center, SRI
          International,  Menlo  Park,  California.   August
          1982.

[RFC974]  Partridge,  C.,  "Mail Routing and The Domain Sys-
          tem."  _I_n_t_e_r_n_e_t _R_e_q_u_e_s_t _F_o_r  _C_o_m_m_e_n_t  _9_7_4  Network
          Information Center, SRI International, Menlo Park,
          California.  February 1986.

[RFC1032] Stahl, M., "Domain Administrators Guide"  _I_n_t_e_r_n_e_t
          _R_e_q_u_e_s_t  _F_o_r _C_o_m_m_e_n_t _1_0_3_2 Network Information Cen-
          ter, SRI International,  Menlo  Park,  California.
          November 1987.

[RFC1033] Lottor, M., "Domain Administrators Guide" _I_n_t_e_r_n_e_t
          _R_e_q_u_e_s_t _F_o_r _C_o_m_m_e_n_t _1_0_3_3 Network Information  Cen-
          ter,  SRI  International,  Menlo Park, California.
          November 1987.

[RFC1034] Mockapetris,  P.,  "Domain  Names  -  Concept  and
          Facilities."   _I_n_t_e_r_n_e_t  _R_e_q_u_e_s_t  _F_o_r _C_o_m_m_e_n_t _1_0_3_4
          Network  Information  Center,  SRI  International,
          Menlo Park, California.  November 1987.

[RFC1035] Mockapetris,  P.,  "Domain  Names - Implementation
          and Specification."  _I_n_t_e_r_n_e_t _R_e_q_u_e_s_t _F_o_r  _C_o_m_m_e_n_t
          _1_0_3_5  Network  Information  Center,  SRI  Interna-
          tional, Menlo Park, California.  November 1987.

[RFC1101] Mockapetris, P., "DNS Encoding  of  Network  Names
          and  Other  Types."   _I_n_t_e_r_n_e_t _R_e_q_u_e_s_t _F_o_r _C_o_m_m_e_n_t
          _1_1_0_1  Network  Information  Center,  SRI  Interna-
          tional, Menlo Park, California.  April 1989.

[RFC1123] R.  Braden,  Editor,  "Requirements  for  Internet
          Hosts -- Application and Support" _I_n_t_e_r_n_e_t _R_e_q_u_e_s_t
          _F_o_r  _C_o_m_m_e_n_t  _1_1_2_3 Network Information Center, SRI
          International, Menlo  Park,  California.   October
          1989.

[RFC1183] Everhart,  C., Mamakos, L., Ullmann, R., and Mock-
          apetris, P., "New  DNS  RR  Definitions"  _I_n_t_e_r_n_e_t
          _R_e_q_u_e_s_t   _F_o_r  _C_o_m_m_e_n_t  _1_1_8_3  Network  Information










NNaammee SSeerrvveerr OOppeerraattiioonnss GGuuiiddee ffoorr BBIINNDD              SSMMMM::1100--4455


          Center, SRI International, Menlo Park, California.
          October 1990.

[RFC1327] Hardcastle-Kille, S., "Mapping between X.400(1988)
          / ISO 10021 and RFC 822" _I_n_t_e_r_n_e_t _R_e_q_u_e_s_t _F_o_r _C_o_m_-
          _m_e_n_t _1_3_2_7 Network Information Center, SRI Interna-
          tional, Menlo Park, California.  May 1992.

[RFC1664] Allocchio, C., Bonito, A., Cole, B., Giordano, S.,
          Hagens,  R., "Using the Internet DNS to Distribute
          RFC1327  Mail  Address  Mapping  Tables"  _I_n_t_e_r_n_e_t
          _R_e_q_u_e_s_t  _F_o_r _C_o_m_m_e_n_t _1_6_6_4 Network Information Cen-
          ter, SRI International,  Menlo  Park,  California.
          August 1994.

[RFC1713] Romao,  A.,  "Tools  for  DNS  debugging" _I_n_t_e_r_n_e_t
          _R_e_q_u_e_s_t  _F_o_r  _C_o_m_m_e_n_t  _1_7_1_3_,  _a_l_s_o  _F_Y_I_2_7  Network
          Information Center, SRI International, Menlo Park,
          California.  November 1994.

[Terry]   Terry, D. B., Painter,  M.,  Riggle,  D.  W.,  and
          Zhou,   S.,  _T_h_e  _B_e_r_k_e_l_e_y  _I_n_t_e_r_n_e_t  _N_a_m_e  _D_o_m_a_i_n
          _S_e_r_v_e_r_.   Proceedings  USENIX  Summer  Conference,
          Salt Lake City, Utah.  June 1984, pages 23-31.

[Zhou]    Zhou,  S.,  _T_h_e  _D_e_s_i_g_n  _a_n_d _I_m_p_l_e_m_e_n_t_a_t_i_o_n _o_f _t_h_e
          _B_e_r_k_e_l_e_y  _I_n_t_e_r_n_e_t  _N_a_m_e  _D_o_m_a_i_n  _(_B_I_N_D_)  _S_e_r_v_e_r_s_.
          UCB/CSD  84/177.  University of California, Berke-
          ley, Computer Science Division.  May 1984.

[Mockapetris]
          Mockapetris, P., Dunlap,  K,  _D_e_v_e_l_o_p_m_e_n_t  _o_f  _t_h_e
          _D_o_m_a_i_n  _N_a_m_e  _S_y_s_t_e_m  ACM  Computer Communications
          Review 18, 4:123-133.  Proceedings ACM SIGCOMM '88
          Symposium, August 1988.

[Liu]     Liu, C., Albitz, P., _D_N_S _a_n_d _B_I_N_D O'Reilly & Asso-
          ciates,   Sebastopol,   CA,   502   pages,    ISBN
          0-937175-82-X 1992