[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: