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

Dents

Dents is DNS name server designed to be a drop in replacement for ISC BIND. Dents is available from www.dents.org 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 dents.org is a subdomain of the .org top level domain and slarken.org.au is a subdomain or .org.au, 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 slarken.org.au may be authorative for the hosts www.slarken.org.au and ftp.slarken.org.au, but a subdomain hype.slarken.org.au may be controlled by another name server. In this case the zone for slarken.org.au would contain information about www.slarken.org.au and ftp.slarken.org.au as well has information about the name server for the hype.slarken.org.au 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.

Caveats

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.

References

Please see references.


Copyright © 2000 Horms

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