Maintained by: NLnet Labs

[Unbound-users] unbound vs nsd

Jelte Jansen
Wed May 21 17:15:14 CEST 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Farkas Levente wrote:
> (dnssec, resolver, lookup etc). now it seems there are 3 separate
> project nsd, unbound and ldns which have many common part (eg: drill,
> unbound-host) and still have different source. at least a common lib
> makes me happy:-)
> just a very quick look:
> http://www.nlnetlabs.nl/nsd/svn/trunk/compat/malloc.c
> http://www.nlnetlabs.nl/ldns/svn/trunk/compat/malloc.c
> http://unbound.nlnetlabs.nl/svn/trunk/compat/malloc.c
> 

one additional little piece of recent history regarding that third
project, ldns; back in the day when unbound wasn't in the picture yet,
we chose to keep anything but the most basic things (like malloc and
buffers) separate for NSD and ldns, for a few reasons.

One of which was the goal of having separate code bases for the two
projects in itself, so we could test both, and the RFCs they were based
on, for interoperability, and regression (the NSD release cycle includes
a suite of tests, amongst which quite a few that use ldns)

Unbound does use and rely on ldns, and ldns has had quite a few
improvements from unbounds' use of it, which are slated for release.

But there still is a lot of overlap in functionality both their code
bases. The reason for this is partly the same as the one above, but
mostly that the 'non-functional' requirements are quite different:
unbound is meant to be 'lean and mean', more efficient than a hungry
school of piranha's, and optimized and designed purely for resolving and
validating, while ldns is a general library (and by now, a general dns
toolkit), where speed and efficiency are less important than general
functionality and ease of use for developers.

Unbound and NSD are, as said before, two different beasts, who happen to
be able to talk to each other.

Jelte
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFINDyB4nZCKsdOncURAvs3AJ9vUM3NaWsUcg6eP3jBzGpzCYnRSACguDGj
vGqRcd96XXew7+iNj5Vue/4=
=A2hF
-----END PGP SIGNATURE-----