No empty .Rs/.Re
[netbsd-mini2440.git] / external / bsd / bind / dist / doc / rfc / rfc3123.txt
blob3b2fe00e5ee8dc1a0a414a69ea53e0edf5cbbb3b
7 Network Working Group                                            P. Koch
8 Request for Comments: 3123                        Universitaet Bielefeld
9 Category: Experimental                                         June 2001
12           A DNS RR Type for Lists of Address Prefixes (APL RR)
14 Status of this Memo
16    This memo defines an Experimental Protocol for the Internet
17    community.  It does not specify an Internet standard of any kind.
18    Discussion and suggestions for improvement are requested.
19    Distribution of this memo is unlimited.
21 Copyright Notice
23    Copyright (C) The Internet Society (2001).  All Rights Reserved.
25 Abstract
27    The Domain Name System (DNS) is primarily used to translate domain
28    names into IPv4 addresses using A RRs (Resource Records).  Several
29    approaches exist to describe networks or address ranges.  This
30    document specifies a new DNS RR type "APL" for address prefix lists.
32 1. Conventions used in this document
34    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
35    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
36    document are to be interpreted as described in [RFC2119].
38    Domain names herein are for explanatory purposes only and should not
39    be expected to lead to useful information in real life [RFC2606].
41 2. Background
43    The Domain Name System [RFC1034], [RFC1035] provides a mechanism to
44    associate addresses and other Internet infrastructure elements with
45    hierarchically built domain names.  Various types of resource records
46    have been defined, especially those for IPv4 and IPv6 [RFC2874]
47    addresses.  In [RFC1101] a method is described to publish information
48    about the address space allocated to an organisation.  In older BIND
49    versions, a weak form of controlling access to zone data was
50    implemented using TXT RRs describing address ranges.
52    This document specifies a new RR type for address prefix lists.
58 Koch                          Experimental                      [Page 1]
60 RFC 3123                       DNS APL RR                      June 2001
63 3. APL RR Type
65    An APL record has the DNS type of "APL" and a numeric value of 42
66    [IANA].  The APL RR is defined in the IN class only.  APL RRs cause
67    no additional section processing.
69 4. APL RDATA format
71    The RDATA section consists of zero or more items (<apitem>) of the
72    form
74       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
75       |                          ADDRESSFAMILY                        |
76       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
77       |             PREFIX            | N |         AFDLENGTH         |
78       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
79       /                            AFDPART                            /
80       |                                                               |
81       +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
83       ADDRESSFAMILY     16 bit unsigned value as assigned by IANA
84                         (see IANA Considerations)
85       PREFIX            8 bit unsigned binary coded prefix length.
86                         Upper and lower bounds and interpretation of
87                         this value are address family specific.
88       N                 negation flag, indicates the presence of the
89                         "!" character in the textual format.  It has
90                         the value "1" if the "!" was given, "0" else.
91       AFDLENGTH         length in octets of the following address
92                         family dependent part (7 bit unsigned).
93       AFDPART           address family dependent part.  See below.
95    This document defines the AFDPARTs for address families 1 (IPv4) and
96    2 (IPv6).  Future revisions may deal with additional address
97    families.
99 4.1. AFDPART for IPv4
101    The encoding of an IPv4 address (address family 1) follows the
102    encoding specified for the A RR by [RFC1035], section 3.4.1.
104    PREFIX specifies the number of bits of the IPv4 address starting at
105    the most significant bit.  Legal values range from 0 to 32.
107    Trailing zero octets do not bear any information (e.g., there is no
108    semantic difference between 10.0.0.0/16 and 10/16) in an address
109    prefix, so the shortest possible AFDLENGTH can be used to encode it.
110    However, for DNSSEC [RFC2535] a single wire encoding must be used by
114 Koch                          Experimental                      [Page 2]
116 RFC 3123                       DNS APL RR                      June 2001
119    all.  Therefore the sender MUST NOT include trailing zero octets in
120    the AFDPART regardless of the value of PREFIX.  This includes cases
121    in which AFDLENGTH times 8 results in a value less than PREFIX.  The
122    AFDPART is padded with zero bits to match a full octet boundary.
124    An IPv4 AFDPART has a variable length of 0 to 4 octets.
126 4.2. AFDPART for IPv6
128    The 128 bit IPv6 address (address family 2) is encoded in network
129    byte order (high-order byte first).
131    PREFIX specifies the number of bits of the IPv6 address starting at
132    the most significant bit.  Legal values range from 0 to 128.
134    With the same reasoning as in 4.1 above, the sender MUST NOT include
135    trailing zero octets in the AFDPART regardless of the value of
136    PREFIX.  This includes cases in which AFDLENGTH times 8 results in a
137    value less than PREFIX.  The AFDPART is padded with zero bits to
138    match a full octet boundary.
140    An IPv6 AFDPART has a variable length of 0 to 16 octets.
142 5. Zone File Syntax
144    The textual representation of an APL RR in a DNS zone file is as
145    follows:
147    <owner>   IN   <TTL>   APL   {[!]afi:address/prefix}*
149    The data consists of zero or more strings of the address family
150    indicator <afi>, immediately followed by a colon ":", an address,
151    immediately followed by the "/" character, immediately followed by a
152    decimal numeric value for the prefix length.  Any such string may be
153    preceded by a "!" character.  The strings are separated by
154    whitespace.  The <afi> is the decimal numeric value of that
155    particular address family.
157 5.1. Textual Representation of IPv4 Addresses
159    An IPv4 address in the <address> part of an <apitem> is in dotted
160    quad notation, just as in an A RR.  The <prefix> has values from the
161    interval 0..32 (decimal).
170 Koch                          Experimental                      [Page 3]
172 RFC 3123                       DNS APL RR                      June 2001
175 5.2. Textual Representation of IPv6 Addresses
177    The representation of an IPv6 address in the <address> part of an
178    <apitem> follows [RFC2373], section 2.2.  Legal values for <prefix>
179    are from the interval 0..128 (decimal).
181 6. APL RR usage
183    An APL RR with empty RDATA is valid and implements an empty list.
184    Multiple occurrences of the same <apitem> in a single APL RR are
185    allowed and MUST NOT be merged by a DNS server or resolver.
186    <apitems> MUST be kept in order and MUST NOT be rearranged or
187    aggregated.
189    A single APL RR may contain <apitems> belonging to different address
190    families.  The maximum number of <apitems> is upper bounded by the
191    available RDATA space.
193    RRSets consisting of more than one APL RR are legal but the
194    interpretation is left to the particular application.
196 7. Applicability Statement
198    The APL RR defines a framework without specifying any particular
199    meaning for the list of prefixes.  It is expected that APL RRs will
200    be used in different application scenarios which have to be
201    documented separately.  Those scenarios may be distinguished by
202    characteristic prefixes placed in front of the DNS owner name.
204    An APL application specification MUST include information on
206    o  the characteristic prefix, if any
208    o  how to interpret APL RRSets consisting of more than one RR
210    o  how to interpret an empty APL RR
212    o  which address families are expected to appear in the APL RRs for
213       that application
215    o  how to deal with APL RR list elements which belong to other
216       address families, including those not yet defined
218    o  the exact semantics of list elements negated by the "!" character
226 Koch                          Experimental                      [Page 4]
228 RFC 3123                       DNS APL RR                      June 2001
231    Possible applications include the publication of address ranges
232    similar to [RFC1101], description of zones built following [RFC2317]
233    and in-band access control to limit general access or zone transfer
234    (AXFR) availability for zone data held in DNS servers.
236    The specification of particular application scenarios is out of the
237    scope of this document.
239 8. Examples
241    The following examples only illustrate some of the possible usages
242    outlined in the previous section.  None of those applications are
243    hereby specified nor is it implied that any particular APL RR based
244    application does exist now or will exist in the future.
246   ; RFC 1101-like announcement of address ranges for foo.example
247   foo.example.             IN APL 1:192.168.32.0/21 !1:192.168.38.0/28
249   ; CIDR blocks covered by classless delegation
250   42.168.192.IN-ADDR.ARPA. IN APL ( 1:192.168.42.0/26 1:192.168.42.64/26
251                                   1:192.168.42.128/25 )
253   ; Zone transfer restriction
254   _axfr.sbo.example.       IN APL 1:127.0.0.1/32 1:172.16.64.0/22
256   ; List of address ranges for multicast
257   multicast.example.       IN APL 1:224.0.0.0/4  2:FF00:0:0:0:0:0:0:0/8
259    Note that since trailing zeroes are ignored in the first APL RR the
260    AFDLENGTH of both <apitems> is three.
262 9. Security Considerations
264    Any information obtained from the DNS should be regarded as unsafe
265    unless techniques specified in [RFC2535] or [RFC2845] were used.  The
266    definition of a new RR type does not introduce security problems into
267    the DNS, but usage of information made available by APL RRs may
268    compromise security.  This includes disclosure of network topology
269    information and in particular the use of APL RRs to construct access
270    control lists.
282 Koch                          Experimental                      [Page 5]
284 RFC 3123                       DNS APL RR                      June 2001
287 10. IANA Considerations
289    This section is to be interpreted as following [RFC2434].
291    This document does not define any new namespaces.  It uses the 16 bit
292    identifiers for address families maintained by IANA in
293    http://www.iana.org/numbers.html.
295    The IANA assigned numeric RR type value 42 for APL [IANA].
297 11. Acknowledgements
299    The author would like to thank Mark Andrews, Olafur Gudmundsson, Ed
300    Lewis, Thomas Narten, Erik Nordmark, and Paul Vixie for their review
301    and constructive comments.
303 12. References
305    [RFC1034] Mockapetris, P., "Domain Names - Concepts and Facilities",
306              STD 13, RFC 1034, November 1987.
308    [RFC1035] Mockapetris, P., "Domain Names - Implementation and
309              Specification", STD 13, RFC 1035, November 1987.
311    [RFC1101] Mockapetris, P., "DNS Encoding of Network Names and Other
312              Types", RFC 1101, April 1989.
314    [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
315              Requirement Levels", BCP 14, RFC 2119, March 1997.
317    [RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS
318              Specification", RFC 2181, July 1997.
320    [RFC2317] Eidnes, H., de Groot, G. and P. Vixie, "Classless IN-
321              ADDR.ARPA delegation", BCP 20, RFC 2317, March 1998.
323    [RFC2373] Hinden, R. and S. Deering, "IP Version 6 Addressing
324              Architecture", RFC 2373, July 1998.
326    [RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an
327              IANA Considerations Section in RFCs", BCP 26, RFC 2434,
328              October 1998.
330    [RFC2535] Eastlake, D., "Domain Name System Security Extensions", RFC
331              2535, March 1999.
333    [RFC2606] Eastlake, D. and A. Panitz, "Reserved Top Level DNS Names",
334              BCP 32, RFC 2606, June 1999.
338 Koch                          Experimental                      [Page 6]
340 RFC 3123                       DNS APL RR                      June 2001
343    [RFC2845] Vixie, P., Gudmundsson, O., Eastlake, D. and B. Wellington,
344              "Secret Key Transaction Authentication for DNS (TSIG)", RFC
345              2845, May 2000.
347    [RFC2874] Crawford, M. and C. Huitema, "DNS Extensions to Support
348              IPv6 Address Aggregation and Renumbering", RFC 2874, July
349              2000.
351    [IANA]    http://www.iana.org/assignments/dns-parameters
353 13. Author's Address
355    Peter Koch
356    Universitaet Bielefeld
357    Technische Fakultaet
358    D-33594 Bielefeld
359    Germany
361    Phone: +49 521 106 2902
362    EMail: pk@TechFak.Uni-Bielefeld.DE
394 Koch                          Experimental                      [Page 7]
396 RFC 3123                       DNS APL RR                      June 2001
399 14. Full Copyright Statement
401    Copyright (C) The Internet Society (2001).  All Rights Reserved.
403    This document and translations of it may be copied and furnished to
404    others, and derivative works that comment on or otherwise explain it
405    or assist in its implementation may be prepared, copied, published
406    and distributed, in whole or in part, without restriction of any
407    kind, provided that the above copyright notice and this paragraph are
408    included on all such copies and derivative works.  However, this
409    document itself may not be modified in any way, such as by removing
410    the copyright notice or references to the Internet Society or other
411    Internet organizations, except as needed for the purpose of
412    developing Internet standards in which case the procedures for
413    copyrights defined in the Internet Standards process must be
414    followed, or as required to translate it into languages other than
415    English.
417    The limited permissions granted above are perpetual and will not be
418    revoked by the Internet Society or its successors or assigns.
420    This document and the information contained herein is provided on an
421    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
422    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
423    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
424    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
425    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
427 Acknowledgement
429    Funding for the RFC Editor function is currently provided by the
430    Internet Society.
450 Koch                          Experimental                      [Page 8]