mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-29 05:28:00 +00:00
395 lines
13 KiB
Plaintext
395 lines
13 KiB
Plaintext
|
||
|
||
|
||
|
||
|
||
|
||
INTERNET-DRAFT Peter Koch
|
||
Expires: September 2001 Universitaet Bielefeld
|
||
Updates: RFC 1035 March 2001
|
||
|
||
A DNS RR Type for Lists of Address Prefixes (APL RR)
|
||
draft-ietf-dnsext-apl-rr-02.txt
|
||
|
||
|
||
Status of this Memo
|
||
|
||
This document is an Internet-Draft and is in full conformance with
|
||
all provisions of Section 10 of RFC2026.
|
||
|
||
Internet-Drafts are working documents of the Internet Engineering
|
||
Task Force (IETF), its areas, and its working groups. Note that
|
||
other groups may also distribute working documents as Internet-
|
||
Drafts.
|
||
|
||
Internet-Drafts are draft documents valid for a maximum of six months
|
||
and may be updated, replaced, or obsoleted by other documents at any
|
||
time. It is inappropriate to use Internet-Drafts as reference
|
||
material or to cite them other than as "work in progress."
|
||
|
||
The list of current Internet-Drafts can be accessed at
|
||
http://www.ietf.org/ietf/1id-abstracts.txt
|
||
|
||
The list of Internet-Draft Shadow Directories can be accessed at
|
||
http://www.ietf.org/shadow.html.
|
||
|
||
Comments should be sent to the author or the DNSEXT WG mailing list
|
||
<namedroppers@OPS.IETF.ORG>.
|
||
|
||
Abstract
|
||
|
||
The Domain Name System is primarily used to translate domain names
|
||
into IPv4 addresses using A RRs. Several approaches exist to describe
|
||
networks or address ranges. This document specifies a new DNS RR type
|
||
"APL" for address prefix lists.
|
||
|
||
1. Conventions used in this document
|
||
|
||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
|
||
document are to be interpreted as described in [RFC2119].
|
||
|
||
Domain names herein are for explanatory purposes only and should not
|
||
be expected to lead to useful information in real life [RFC2606].
|
||
|
||
|
||
|
||
|
||
Koch Expires September 2001 [Page 1]
|
||
|
||
INTERNET-DRAFT DNS APL RR March 2001
|
||
|
||
|
||
2. Background
|
||
|
||
The Domain Name System [RFC1034], [RFC1035] provides a mechanism to
|
||
associate addresses and other Internet infrastructure elements with
|
||
hierarchically built domain names. Various types of resource records
|
||
have been defined, especially those for IPv4 and IPv6 [RFC2874]
|
||
addresses. In [RFC1101] a method is described to publish information
|
||
about the address space allocated to an organisation. In older BIND
|
||
versions, a weak form of controlling access to zone data was
|
||
implemented using TXT RRs describing address ranges.
|
||
|
||
This document specifies a new RR type for address prefix lists.
|
||
|
||
3. APL RR Type
|
||
|
||
An APL record has the DNS type of "APL" [draft, IANA: not yet applied
|
||
for] and a numeric value of [draft, IANA:to be assigned]. The APL RR
|
||
is defined in the IN class only. APL RRs cause no additional section
|
||
processing.
|
||
|
||
4. APL RDATA format
|
||
|
||
The RDATA section consists of zero or more items (<apitem>) of the
|
||
form
|
||
|
||
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|
||
| ADDRESSFAMILY |
|
||
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|
||
| PREFIX | N | AFDLENGTH |
|
||
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|
||
/ AFDPART /
|
||
| |
|
||
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|
||
|
||
|
||
ADDRESSFAMILY 16 bit unsigned value as assigned by IANA
|
||
(see IANA Considerations)
|
||
PREFIX 8 bit unsigned binary coded prefix length.
|
||
Upper and lower bounds and interpretation of
|
||
this value are address family specific.
|
||
N negation flag, indicates the presence of the
|
||
"!" character in the textual format. It has
|
||
the value "1" if the "!" was given, "0" else.
|
||
AFDLENGTH length in octets of the following address
|
||
family dependent part (7 bit unsigned).
|
||
AFDPART address family dependent part. See below.
|
||
|
||
|
||
|
||
|
||
|
||
Koch Expires September 2001 [Page 2]
|
||
|
||
INTERNET-DRAFT DNS APL RR March 2001
|
||
|
||
|
||
This document defines the AFDPARTs for address families 1 (IPv4) and
|
||
2 (IPv6). Future revisions may deal with additional address
|
||
families.
|
||
|
||
4.1. AFDPART for IPv4
|
||
|
||
The encoding of an IPv4 address (address family 1) follows the
|
||
encoding specified for the A RR by [RFC1035], section 3.4.1.
|
||
|
||
PREFIX specifies the number of bits of the IPv4 address starting at
|
||
the most significant bit. Legal values range from 0 to 32.
|
||
|
||
Trailing zero octets do not bear any information (e.g. there is no
|
||
semantic difference between 10.0.0.0/16 and 10/16) in an address
|
||
prefix, so the shortest possible AFDLENGTH can be used to encode it.
|
||
However, for DNSSEC [RFC2535] a single wire encoding must be used by
|
||
all. Therefore the sender MUST NOT include trailing zero octets in
|
||
the AFDPART regardless of the value of PREFIX. This includes cases in
|
||
which AFDLENGTH times 8 results in a value less than PREFIX. The
|
||
AFDPART is padded with zero bits to match a full octet boundary.
|
||
|
||
An IPv4 AFDPART has a variable length of 0 to 4 octets.
|
||
|
||
4.2. AFDPART for IPv6
|
||
|
||
The 128 bit IPv6 address (address family 2) is encoded in network
|
||
byte order (high-order byte first).
|
||
|
||
PREFIX specifies the number of bits of the IPv6 address starting at
|
||
the most significant bit. Legal values range from 0 to 128.
|
||
|
||
With the same reasoning as in 4.1 above, the sender MUST NOT include
|
||
trailing zero octets in the AFDPART regardless of the value of
|
||
PREFIX. This includes cases in which AFDLENGTH times 8 results in a
|
||
value less than PREFIX. The AFDPART is padded with zero bits to
|
||
match a full octet boundary.
|
||
|
||
An IPv6 AFDPART has a variable length of 0 to 16 octets.
|
||
|
||
5. Zone File Syntax
|
||
|
||
The textual representation of an APL RR in a DNS zone file is as
|
||
follows:
|
||
|
||
<owner> IN <TTL> APL {[!]afi:address/prefix}*
|
||
|
||
The data consists of zero or more strings of the address family
|
||
indicator <afi>, immediately followed by a colon ":", an address,
|
||
|
||
|
||
|
||
Koch Expires September 2001 [Page 3]
|
||
|
||
INTERNET-DRAFT DNS APL RR March 2001
|
||
|
||
|
||
immediately followed by the "/" character, immediately followed by a
|
||
decimal numeric value for the prefix length. Any such string may be
|
||
preceded by a "!" character. The strings are separated by whitespace.
|
||
The <afi> is the decimal numeric value of that particular address
|
||
family.
|
||
|
||
5.1. Textual Representation of IPv4 Addresses
|
||
|
||
An IPv4 address in the <address> part of an <apitem> is in dotted
|
||
quad notation, just as in an A RR. The <prefix> has values from the
|
||
interval 0..32 (decimal).
|
||
|
||
5.2. Textual Representation of IPv6 Addresses
|
||
|
||
The representation of an IPv6 address in the <address> part of an
|
||
<apitem> follows [RFC2373], section 2.2. Legal values for <prefix>
|
||
are from the interval 0..128 (decimal).
|
||
|
||
6. APL RR usage
|
||
|
||
An APL RR with empty RDATA is valid and implements an empty list.
|
||
Multiple occurrences of the same <apitem> in a single APL RR are
|
||
allowed and MUST NOT be merged by a DNS server or resolver. <apitems>
|
||
MUST be kept in order and MUST NOT be rearranged or aggregated.
|
||
|
||
A single APL RR may contain <apitems> belonging to different address
|
||
families. The maximum number of <apitems> is upper bounded by the
|
||
available RDATA space.
|
||
|
||
RRSets consisting of more than one APL RR are legal but the
|
||
interpretation is left to the particular application.
|
||
|
||
7. Applicability Statement
|
||
|
||
The APL RR defines a framework without specifying any particular
|
||
meaning for the list of prefixes. It is expected that APL RRs will
|
||
be used in different application scenarios which have to be
|
||
documented separately. Those scenarios may be distinguished by
|
||
characteristic prefixes placed in front of the DNS owner name.
|
||
|
||
An APL application specification MUST include information on
|
||
|
||
o the characteristic prefix, if any
|
||
|
||
o how to interpret APL RRSets consisting of more than one RR
|
||
|
||
o how to interpret an empty APL RR
|
||
|
||
|
||
|
||
|
||
Koch Expires September 2001 [Page 4]
|
||
|
||
INTERNET-DRAFT DNS APL RR March 2001
|
||
|
||
|
||
o which address families are expected to appear in the APL RRs for
|
||
that application
|
||
|
||
o how to deal with APL RR list elements which belong to other
|
||
address families, including those not yet defined
|
||
|
||
o the exact semantics of list elements negated by the "!" character
|
||
|
||
Possible applications include the publication of address ranges
|
||
similar to [RFC1101], description of zones built following [RFC2317]
|
||
and in-band access control to limit general access or zone transfer
|
||
(AXFR) availability for zone data held in DNS servers.
|
||
|
||
The specification of particular application scenarios is out of the
|
||
scope of this document.
|
||
|
||
8. Examples
|
||
|
||
The following examples only illustrate some of the possible usages
|
||
outlined in the previous section. None of those applications are
|
||
hereby specified nor is it implied that any particular APL RR based
|
||
application does exist now or will exist in the future.
|
||
|
||
; RFC 1101-like announcement of address ranges for foo.example
|
||
foo.example. IN APL 1:192.168.32.0/21 !1:192.168.38.0/28
|
||
|
||
; CIDR blocks covered by classless delegation
|
||
42.168.192.IN-ADDR.ARPA. IN APL ( 1:192.168.42.0/26 1:192.168.42.64/26
|
||
1:192.168.42.128/25 )
|
||
|
||
; Zone transfer restriction
|
||
_axfr.sbo.example. IN APL 1:127.0.0.1/32 1:172.16.64.0/22
|
||
|
||
; List of address ranges for multicast
|
||
multicast.example. IN APL 1:224.0.0.0/4 2:FF00:0:0:0:0:0:0:0/8
|
||
|
||
Note that since trailing zeroes are ignored in the first APL RR the
|
||
AFDLENGTH of both <apitems> is three.
|
||
|
||
9. Security Considerations
|
||
|
||
Any information obtained from the DNS should be regarded as unsafe
|
||
unless techniques specified in [RFC2535] or [RFC2845] were used. The
|
||
definition of a new RR type does not introduce security problems into
|
||
the DNS, but usage of information made available by APL RRs may
|
||
compromise security. This includes disclosure of network topology
|
||
information and in particular the use of APL RRs to construct access
|
||
control lists.
|
||
|
||
|
||
|
||
Koch Expires September 2001 [Page 5]
|
||
|
||
INTERNET-DRAFT DNS APL RR March 2001
|
||
|
||
|
||
10. IANA Considerations
|
||
|
||
This section is to be interpreted as following [RFC2434].
|
||
|
||
This document does not define any new namespaces. It uses the 16 bit
|
||
identifiers for address families maintained by IANA in
|
||
http://www.iana.org/numbers.html.
|
||
|
||
IANA is asked to assign a numeric RR type value for APL.
|
||
|
||
11. Acknowledgements
|
||
|
||
The author would like to thank Mark Andrews, Olafur Gudmundsson, Ed
|
||
Lewis, Thomas Narten, Erik Nordmark, and Paul Vixie for their review
|
||
and constructive comments.
|
||
|
||
12. References
|
||
|
||
|
||
[RFC1034] Mockapetris,P., "Domain Names - Concepts and Facilities",
|
||
RFC 1034, STD 13, November 1987
|
||
|
||
[RFC1035] Mockapetris,P., "Domain Names - Implementation and
|
||
Specification", RFC 1035, STD 13, November 1987
|
||
|
||
[RFC1101] Mockapetris,P., "DNS Encoding of Network Names and Other
|
||
Types", RFC 1101, April 1989
|
||
|
||
[RFC2119] Bradner,S., "Key words for use in RFCs to Indicate
|
||
Requirement Levels", RFC 2119, BCP 14, March 1997
|
||
|
||
[RFC2181] Elz,R., Bush,R., "Clarifications to the DNS
|
||
Specification", RFC 2181, July 1997
|
||
|
||
[RFC2317] Eidnes,H., de Groot,G., Vixie,P., "Classless IN-ADDR.ARPA
|
||
delegation", RFC 2317, March 1998
|
||
|
||
[RFC2373] Hinden,R., Deering,S., "IP Version 6 Addressing
|
||
Architecture", RFC 2373, July 1998
|
||
|
||
[RFC2434] Narten,T., Alvestrand,H., "Guidelines for Writing an IANA
|
||
Considerations Section in RFCs", RFC 2434, BCP 26, October
|
||
1998
|
||
|
||
[RFC2535] Eastlake,D., "Domain Name System Security Extensions", RFC
|
||
2535, March 1999
|
||
|
||
|
||
|
||
|
||
|
||
Koch Expires September 2001 [Page 6]
|
||
|
||
INTERNET-DRAFT DNS APL RR March 2001
|
||
|
||
|
||
[RFC2606] Eastlake,D., Panitz,A., "Reserved Top Level DNS Names",
|
||
RFC 2606, BCP 32, June 1999
|
||
|
||
[RFC2845] Vixie,P., Gudmundsson,O., Eastlake,D., Wellington,B.,
|
||
"Secret Key Transaction Authentication for DNS (TSIG)",
|
||
RFC 2845, May 2000
|
||
|
||
[RFC2874] Crawford,M., Huitema,C., "DNS Extensions to Support IPv6
|
||
Address Aggregation and Renumbering", RFC 2874, July 2000
|
||
|
||
|
||
|
||
13. Author's Address
|
||
|
||
Peter Koch
|
||
Universitaet Bielefeld
|
||
Technische Fakultaet
|
||
D-33594 Bielefeld
|
||
Germany
|
||
+49 521 106 2902
|
||
<pk@TechFak.Uni-Bielefeld.DE>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Koch Expires September 2001 [Page 7]
|