These classnotes are depreciated. As of 2005, I no longer teach the classes. Notes will remain online for legacy purposes

UNIX02/Domain Name System

Classnotes | UNIX02 | RecentChanges | Preferences

The DNS section of our book is huge. That's because the subject is also huge. We could probably have an entire course just studying it.

Unfortunately (or fortunately) we do not have an entire course to study it. So, we will simply touch upon it in class. If you need anything beyond what we do here, please refer to chapter 16 of the book.

History of DNS

See introduction page 359

BIND

BIND is the Berkeley Internet Name Domain system. It is the most commonly used DNS system under Unix machines. It has been maintained by Mike Karels, Phil Almquist, and Paul Vixie (who you'll remember from cron) over the years.

BIND has been ported to run on a variety of operating systems including every Unix variant, Mac OS, and Microsoft Windows.

BIND is not the only naming service available for Unix. One of the more popular alternatives is djbdns (http://cr.yp.to/djbdns.html) created by D. J. Bernstein (http://cr.yp.to/djb.html). This alternative is very alternative, and is quite a radical redesign. Depending upon who you talk to in the Unix world, djb is either a genious or a madman.

djb also has several other alternatives to mainstream Unix programs. One example is the qmail MTA.

named & Memory requirements

The daemon for BIND is named. named is started at boot by one of several scripts in the init.d directory (see page 381 for a sampling of scripts from across distros).

BIND is a memory hog. Its database is kept in memory, so as the cache grows, so does the named process. Some of the new features of BIND are also CPU intensive, most notably DNSSEC and IPv6. To help reduce this burden, BIND is multithreaded and can make full use of multiprocessor systems.

The best way to determine if a name server machine has enough memory is to run it for a while and watch the size of the named process. It takes a week or two to comverge on a stable size at which old cache records are expiring at about the same rate that new ones are being inserted. Once stable, the system should not be swapping, and its paging rates should be reasonable.

To determine the system resource usage, refer to the notes from the first class, or to page 790 of the book for this class.



Classnotes | UNIX02 | RecentChanges | Preferences
This page is read-only | View other revisions
Last edited August 16, 2003 2:11 pm (diff)
Search:
(C) Copyright 2003 Samuel Hart
Creative Commons License
This work is licensed under a Creative Commons License.