Bug#169208: ITP: nsd -- authoritative only, high performance, simple and open source name server.
Package: wnpp
Version: unavailable; reported 2002-11-15
Severity: wishlist
* Package name : nsd
Version : 1.0.2b1
Upstream Author : NLnet Labs <info@nlnetlabs.nl>
* URL : http://www.nlnetlabs.nl/nsd/
* License : BSD
Description : NSD is an authoritative only, high performance, simple and open source name server.
NSD is a complete implementation of an authoritative DNS nameserver.
$Id: REQUIREMENTS,v 1.10 2002/09/09 10:59:15 alexis Exp $
NSD Requirements and Specifications
______________________________________________________________________
A. Scope.
nsd is a complete implementation of an authoritative DNS
nameserver. This document describes the basic requirements and
specifications for this implementation.
B. Requirements
B.1. General Requirements
These requirements are in order of importance:
1. Conformity to the relevant DNS RFCs
If complying with the letter of the RFCs will cause a conflict with
high load resilience reasoned trade-offs will be made and
documented.
2 Code diversity from other implementations
NSD is developed from scratch and does not share code or design
with other implementations.
3. Authoritative server only
nsd is designed to provide authoritative answers only. There are
no facilities for caching or recursion.
4. Open source
The code will be open source after the first public release.
5. Regression tested against bind8/9
Extensive regression tests with real trace data and synthetic
exceptional data will be carried out. For the real traces any
differences with bind8/9 will be documented. Should there be
substantial differences a bind8/9 compatibility option will be
considered. The testing tools will be published separately as much
as possible.
6. Resilience to high load
As many as UDP queries answered as possible per time interval.
Aware of useless queries and limiting answers to conserve output
bandwidth. This may supersede strict RFC compliance. Mitigation of
DDoS attacks as far as feasible.
7. Documentation
The implementation will be well documented with the aim of allowing
others to understand its operation in order to be able to maintain
the code. This includes these requirements, a general design
document and well documented code.
8. Reviewed code
All code will be reviewed by at least two persons other than the
primary author before being included in a release version.
9. Simplicity
nsd will not do things that are not strictly necessary for its
task: authoritative name serving. If in doubt a feature is more
likely not to be included.
The code strives to be as simple and straightforward as possible,
even if it looks stupid ;-).
10. Reasonable Portability
Should be reasonably portable across hardware architectures and OS
platforms. Rough targets:
(Intel/SPARC/Alpha)(FreeBSD,Linux,Solaris)
11. maintenance for initial period
NLnet Labs and the RIPE NCC will support NSD for at least 12
months after publication.
B.2. Explicit NON-Requirements
1. No caching
nsd will not provide cached or recursive answers.
2. No slavish responsiveness
nsd may decide to limit answers to queries it considers malicious
or useless if this enables it to provide better service to queries
it considers valid. Conserving output bandwidth is a consideration.
3. No end-user friendliness
nsd operators are considered to have basic Unix and networking
knowledge and are also considered to be able to read and understand
reasonably written user documentation.
4. No creeping featurism
nsd will not implement any functionality that is not strictly
necessary for the task of authoritative name serving. Examples:
round robin sequence of RRset members in consecutive answers,
-- System Information:
Debian Release: testing/unstable
Architecture: i386
Kernel: Linux ondrej 2.4.19 #1 Fri Nov 8 19:22:52 CET 2002 i686
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8
Reply to: