Super Sparrow: Global Load Balancing Solution for Linux [Sparrow]
| English | Japanese || Main | Code | Installation | Configuration | Paper | Contacts |


Dents is DNS name server designed to be a drop in replacement for ISC BIND. Dents is available from and is released under the GNU General Public Licence.

The DNS name space is divided into domains. The zero level domain (.) covers all DNS names. Top level domains, such as .org and .au are subdomains of the zero level domain and are also domains in their own right. Any domain may have a subdomain, so is a subdomain of the .org top level domain and is a subdomain or, which is in turn a subdomain of the top level domain, .au.

In name server terms, a zone is complete information about some part of the DNS name space. Usually a domain, less information about subdomains that is controlled by another name server. For example, the name server for may be authorative for the hosts and, but a subdomain may be controlled by another name server. In this case the zone for would contain information about and as well has information about the name server for the subdomain.

Dents allows zones to be mounted in the name space much in the same way that UNIX allows partitions to be mounted in a directory structure. Just as different mounted partitions in a directory structure may have different file systems controlled by different portions of code in the kernel, Dents allows different zones types, controlled by driver modules.

Access to a root name server is analogous to the / directory in a UNIX directory structure. Dents allows this zone to be mounted and resolved using the driver module mod_recursive. BIND for one uses RFC 1035 style zone files. This is supported in Dents by mounting a zone using the mod_stddb driver module.

One advantage of being able to use different driver modules is that arbitrary modules may be defined. Driver modules that access zone information stored in a relational data base or produce standard mappings from an IP address to a hostname for dialup pools are two example applications.

Super Sparrow is able to return results obtained from BGP speaking route servers using a Dents driver module, mod_supersparrow.


The Dents shipped with Super Sparrow is a development version of Dents 0.4.0. There are two known problems with this release:

  1. Threading does not work:
    If you compile dents with pthreads enabled then it will not work. The RPM and SRPM of dents supplied with Super Sparrow are configured to use Dents without pthreads. If you compile Dents directly from source you should use configure to disable pthreads support.
      ./configure --without-pthreads [--prefix=/usr]

  2. Zone Transfers do not work:
    The mod_stddb driver module that supports
    RFC 1035 style zone files has an option to handle slave zones. As part of this the zone must be transfered from the master by Dents. This does not work. You should not use dents configured with slave zones or these zones will not be resolvable by the dents server.

    A work around for this bug is to manually copy zone files to slave servers and configure them as masters. This is less than perfect but is a workable solution until the Dents code is fixed.


Please see references.

Copyright © 2000 Horms

Last Updated: Sun Nov 26 07:46:45 2000