Home | History | Annotate | Line # | Download | only in doc
      1 Unbound Features
      2 
      3 (C) Copyright 2008, Wouter Wijngaards, NLnet Labs.
      4 
      5 
      6 This document describes the features and RFCs that unbound 
      7 adheres to, and which ones are decided to be out of scope.
      8 
      9 
     10 Big Features
     11 ------------
     12 Recursive service.
     13 Caching service.
     14 Forwarding and stub zones.
     15 Very limited authoritative service.
     16 DNSSEC Validation options.
     17 EDNS0, NSEC3, IPv6, DNAME, Unknown-RR-types.
     18 RSASHA256, GOST, ECDSA, SHA384 DNSSEC algorithms.
     19 
     20 Details
     21 -------
     22 Processing support
     23 RFC 1034-1035: as a recursive, caching server. Not authoritative.
     24   including CNAMEs, referrals, wildcards, classes, ...
     25   AAAA type, and IP6 dual stack support.
     26   type ANY queries are supported, class ANY queries are supported.
     27 RFC 1123, 6.1 Requirements for DNS of internet hosts.
     28 RFC 4033-4035: as a validating caching server (unbound daemon). 
     29   as a validating stub (libunbound).
     30 RFC 1918.
     31 RFC 1995, 1996, 2136: not authoritative, so no AXFR, IXFR, NOTIFY or
     32   dynamic update services are appropriate.
     33 RFC 2181: completely, including the trust model, keeping rrsets together.
     34 RFC 2308: TTL directive, and the rest of the RFC too.
     35 RFC 2671: EDNS0 support, default advertisement 4Kb size. 
     36 RFC 2672: DNAME support.
     37 RFC 3597: Unknown RR type support.
     38 RFC 4343: case insensitive handling of domain names.
     39 RFC 4509: SHA256 DS hash.
     40 RFC 4592: wildcards.
     41 RFC 4697: No DNS Resolution Misbehavior.
     42 RFC 5001: DNS Name Server Identifier (NSID) Option
     43 RFC 5011: update of trust anchors with timers.
     44 RFC 5155: NSEC3, NSEC3PARAM types
     45 RFC 5358: reflectors-are-evil: access control list for recursive
     46   service. In fact for all DNS service so cache snooping is halted.
     47 RFC 5452: forgery resilience. all recommendations followed.
     48 RFC 5702: RSASHA256 signature algorithm. 
     49 RFC 5933: GOST signature algorithm.
     50 RFC 6303: default local zones.
     51   It is possible to block zones or return an address for localhost.
     52   This is a very limited authoritative service. Defaults as in draft.
     53 RFC 6604: xNAME RCODE and status bits.
     54 RFC 6605: ECDSA signature algorithm, SHA384 DS hash.
     55 
     56 chroot and drop-root-privileges support, default enabled in config file.
     57 
     58 AD bit in query can be used to request AD bit in response (w/o using DO bit).
     59 CD bit in query can be used to request bogus data.
     60 UDP and TCP service is provided downstream.
     61 UDP and TCP are used to request from upstream servers.
     62 SSL wrapped TCP service can be used upstream and provided downstream.
     63 Multiple queries can be made over a TCP stream.
     64 
     65 No TSIG support at this time.
     66 No SIG0 support at this time.
     67 No dTLS support at this time.
     68 This is not a DNS statistics package, but some operationally useful
     69 values are provided via unbound-control stats.
     70 TXT RRs from the Chaos class (id.server, hostname.bind, ...) are supported.
     71 
     72 draft-0x20: implemented, use caps-for-id option to enable use.
     73   Also implements bitwise echo of the query to support downstream 0x20.
     74 draft-ietf-dnsop-resolver-priming(-00): can prime and can fallback to 
     75   a safety belt list.
     76 draft-ietf-dnsop-dnssec-trust-anchor(-01): DS records can be configured 
     77   as trust anchors. Also DNSKEYs are allowed, by the way.
     78 draft-ietf-dnsext-dnssec-bis-updates: supported.
     79 
     80 Record type syntax support, extensive, from lib ldns.
     81 For these types only syntax and parsing support is needed.
     82 RFC 1034-1035: basic RR types.
     83 RFC 1183: RP, AFSDB, X25, ISDN, RT
     84 RFC 1706: NSAP
     85 RFC 2535: KEY, SIG, NXT: treated as unknown data, syntax is parsed (obsolete).
     86 2163: PX
     87 AAAA type
     88 1876: LOC type
     89 2782: SRV type
     90 2915: NAPTR type.
     91 2230: KX type.
     92 2538: CERT type.
     93 2672: DNAME type.
     94 OPT type
     95 3123: APL
     96 3596: AAAA
     97 SSHFP type
     98 4025: IPSECKEY
     99 4033-4035: DS, RRSIG, NSEC, DNSKEY
    100 4701: DHCID
    101 5155: NSEC3, NSEC3PARAM
    102 4408: SPF
    103 6944: DNSKEY algorithm status
    104 
    105