draft-ietf-dnsop-attrleaf-fix-00.txt   draft-ietf-dnsop-attrleaf-fix-01.txt 
dnsop D. Crocker dnsop D. Crocker
Internet-Draft Brandenburg InternetWorking Internet-Draft Brandenburg InternetWorking
Updates: 2782, 3263, 3404, 3529, 3620, May 3, 2018 Updates: 2782, 3263, 3404, 3529, 3620, May 22, 2018
3832, 3887, 3958, 4120, 4227, 3832, 3887, 3958, 4120, 4227,
4386, 4387, 4976, 5026, 5328, 4386, 4387, 4976, 5026, 5328,
5389, 5415, 5555, 5679, 5766, 5389, 5415, 5555, 5679, 5766,
5780, 5804, 6011, 6120, 6186, 5780, 5804, 6011, 6120, 6186,
6733 (if approved) 6733 (if approved)
Intended status: Best Current Practice Intended status: Best Current Practice
Expires: November 4, 2018 Expires: November 23, 2018
DNS Attrleaf Changes: Fixing Specifications with _Underscored Node Name DNS Attrleaf Changes: Fixing Specifications with _Underscored Node Name
Use Use
draft-ietf-dnsop-attrleaf-fix-00 draft-ietf-dnsop-attrleaf-fix-01
Abstract Abstract
Original uses of an _underscore character as a domain node name Original uses of an _underscore character as a domain node name
prefix, which creates a space for constrained interpretation of prefix, which creates a space for constrained interpretation of
resource records, were specified without the benefit of an IANA resource records, were specified without the benefit of an IANA
registry. This produced an entirely uncoordinated set of name- registry. This produced an entirely uncoordinated set of name-
creation activities, all drawing from the same namespace. A registry creation activities, all drawing from the same namespace. A registry
now has been defined. However the existing specifications that use now has been defined. However the existing specifications that use
_underscore naming need to be modified, to be in line with the new _underscore naming need to be modified, to be in line with the new
skipping to change at page 1, line 47 skipping to change at page 1, line 47
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on November 4, 2018. This Internet-Draft will expire on November 23, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. RRset Use in Specifications . . . . . . . . . . . . . . . . . 3 2. Underscored RRset Use in Specifications . . . . . . . . . . . 3
2.1. TXT RRset Use . . . . . . . . . . . . . . . . . . . . . . 3 2.1. TXT RRset Use . . . . . . . . . . . . . . . . . . . . . . 3
2.2. SRV RRset Use . . . . . . . . . . . . . . . . . . . . . . 4 2.2. SRV RRset Use . . . . . . . . . . . . . . . . . . . . . . 4
2.3. URI RRset Use . . . . . . . . . . . . . . . . . . . . . . 5 2.3. URI RRset Use . . . . . . . . . . . . . . . . . . . . . . 5
3. Underscored Template Specifications . . . . . . . . . . . . . 6 3. Underscored Template Specifications . . . . . . . . . . . . . 6
3.1. SRV Specification Changes . . . . . . . . . . . . . . . . 6 3.1. SRV Specification Changes . . . . . . . . . . . . . . . . 6
3.2. URI Specification Changes . . . . . . . . . . . . . . . . 7 3.2. URI Specification Changes . . . . . . . . . . . . . . . . 7
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
5. Security Considerations . . . . . . . . . . . . . . . . . . . 9 5. Security Considerations . . . . . . . . . . . . . . . . . . . 9
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.1. Normative References . . . . . . . . . . . . . . . . . . 9 6.1. Normative References . . . . . . . . . . . . . . . . . . 9
6.2. References -- Informative . . . . . . . . . . . . . . . . 10 6.2. References -- Informative . . . . . . . . . . . . . . . . 10
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 12 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 13
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 13 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 13
1. Introduction 1. Introduction
Original uses of an _underscore character as a domain node name Original uses of an _underscore character as a domain node name
[RFC1035] prefix, which creates a space for constrained [RFC1035] prefix, which creates a space for constrained
interpretation of resource records, were specified without the interpretation of resource records, were specified without the
benefit of an [IANA-reg] registry. This produced an entirely benefit of an [IANA-reg] registry. This produced an entirely
uncoordinated set of name-creation activities, all drawing from the uncoordinated set of name-creation activities, all drawing from the
same namespace. A registry has been now defined, and that document same namespace. A registry has been now defined, and that document
skipping to change at page 3, line 27 skipping to change at page 3, line 27
perpetuates uncoordinated assignment activities by separate technical perpetuates uncoordinated assignment activities by separate technical
specifications, out of the same name space. This document remedies specifications, out of the same name space. This document remedies
that by providing detail for revisions to the SRV and URI that by providing detail for revisions to the SRV and URI
specifications, to bring their use in line with the single, specifications, to bring their use in line with the single,
integrated global underscore registry. integrated global underscore registry.
The result of these changes preserves existing software and The result of these changes preserves existing software and
operations practices, while adapting the technical specifications to operations practices, while adapting the technical specifications to
the newer _underscore registry model. the newer _underscore registry model.
2. RRset Use in Specifications 2. Underscored RRset Use in Specifications
The use of underscored node names is specific to each RRTYPE that is
being scoped. Each name defines a place, but does not define the
rules for what appears underneath that place, either as additional
underscored naming or as a leaf node with resource records. Details
for those rules are provided by specifications for individual
RRTYPEs. The sections below describe the way that existing
underscore labels are used with the RRTYPEs that they name.
2.1. TXT RRset Use 2.1. TXT RRset Use
This section provides a generic approach for changes to existing This section provides a generic approach for changes to existing
specifications that define straightforward use of _underscored node specifications that define straightforward use of _underscored node
names, when scoping the use of a "TXT" RR. The approach provides the names, when scoping the use of a "TXT" RR. The approach provides the
information needed for adapting such specifications to the use of the information needed for adapting such specifications to the use of the
IANA DNS Underscore Global Scoped Entry Registry [Attrleaf]. Hence IANA DNS Underscore Global Scoped Entry Registry [Attrleaf]. Hence
the approach is meant both as an update to these existing the approach is meant both as an update to these existing
specifications, and as guidance for changes when those documents are specifications, and as guidance for changes when those documents are
revised. revised.
For any document that specifies the use of a "TXT" RRset under an For any document that specifies the use of a "TXT" RRset under an
underscored name, that name is expected to be registered in the IANA underscored name, that name is expected to be registered in the IANA
DNS Underscore Global Scoped Entry Registry [Attrleaf]. An effort DNS Underscore Global Scoped Entry Registry [Attrleaf]. An effort
has been made to locate existing drafts that do this, register the has been made to locate existing drafts that do this, register the
global underscored name, and list them in this document. global underscored name, and list them in this document.
If a specification that defines use of a "TXT" record within an If a public specification that defines use of a "TXT" record within
underscore-scoped name is revised, it SHOULD add an entry to the an underscore-scoped name is revised, it MUST add an entry to the
global underscored name registry, if one does not already exist. global underscored name registry, if one does not already exist.
Here is a template of suggested text for this to appear in the IANA Here is a template of suggested text for this to appear in the IANA
Considerations section of the specification: Considerations section of the specification:
"Per" [Attrleaf] "please add the following entry to the DNS "Per" [Attrleaf] "please add the following entry to the DNS
Underscore Global Scoped Entry Registry:" Underscore Global Scoped Entry Registry:"
+--------+----------------+-----------------------------------------+ +--------+----------------+-----------------------------------------+
| RR | _NODE NAME | REFERENCE | | RR | _NODE NAME | REFERENCE |
skipping to change at page 4, line 40 skipping to change at page 4, line 47
existing specifications, and as guidance for changes when those existing specifications, and as guidance for changes when those
documents are revised. documents are revised.
For any document that specifies the use of a "SRV" RRset, the global For any document that specifies the use of a "SRV" RRset, the global
('protocol', right-most) underscored name is expected to be ('protocol', right-most) underscored name is expected to be
registered in the IANA DNS Underscore Global Scoped Entry Registry registered in the IANA DNS Underscore Global Scoped Entry Registry
[Attrleaf]. An effort has been made to locate existing drafts that [Attrleaf]. An effort has been made to locate existing drafts that
do this, register the global underscored name, and list them in this do this, register the global underscored name, and list them in this
document. document.
If a specification that defines use of an "SRV" record is revised, If a public specification that defines use of an "SRV" record is
and the right-most underscored name above the record is not already revised, and the right-most underscored name above the record is not
registered, an entry for the name SHOULD be added to the global already registered, an entry for the name MUST be added to the global
underscored name registry. underscored name registry.
Here is a template of suggested text for this to appear in the IANA Here is a template of suggested text for this to appear in the IANA
Considerations section of the specification: Considerations section of the specification:
"Per" [Attrleaf] "please add the following entry to the DNS "Per" [Attrleaf] "please add the following entry to the DNS
Underscore Global Scoped Entry Registry:" Underscore Global Scoped Entry Registry:"
+--------+----------------------+-----------------------------------+ +--------+----------------------+-----------------------------------+
| RR | _NODE NAME | REFERENCE | | RR | _NODE NAME | REFERENCE |
skipping to change at page 5, line 36 skipping to change at page 5, line 42
[Attrleaf]. Hence the approach is meant both as an update to these [Attrleaf]. Hence the approach is meant both as an update to these
existing specifications, and as guidance for changes when those existing specifications, and as guidance for changes when those
documents are revised. documents are revised.
For any RFC that specifies the use of a "URI" RR, the global For any RFC that specifies the use of a "URI" RR, the global
('protocol' or right-most enumservice) underscored name is expected ('protocol' or right-most enumservice) underscored name is expected
to be registered in the IANA DNS Underscore Global Scoped Entry to be registered in the IANA DNS Underscore Global Scoped Entry
Registry [Attrleaf]. An effort has been made to locate existing Registry [Attrleaf]. An effort has been made to locate existing
drafts that do this and register the associated 'protocol' name. drafts that do this and register the associated 'protocol' name.
If a specification that defines use of a "URI" record is revised, If a public specification that defines use of a "URI" record is
when the right-most underscored name used by it is not already revised, when the right-most underscored name used by it is not
registered, an entry for the name SHOULD be added to the global already registered, an entry for the name MUST be added to the global
underscored name registry. underscored name registry.
Here is a template of suggested text for this to appear in the IANA Here is a template of suggested text for this to appear in the IANA
Considerations section of the specification: Considerations section of the specification:
"Per" [Attrleaf] "please add the following entry to the DNS "Per" [Attrleaf] "please add the following entry to the DNS
Underscore Global Scoped Entry Registry:" Underscore Global Scoped Entry Registry:"
+-------+---------------------------+-------------------------------+ +-------+---------------------------+-------------------------------+
| RR | _NODE NAME | REFERENCE | | RR | _NODE NAME | REFERENCE |
skipping to change at page 6, line 25 skipping to change at page 6, line 25
3. Underscored Template Specifications 3. Underscored Template Specifications
3.1. SRV Specification Changes 3.1. SRV Specification Changes
The specification for a domain name under which an SRV [RFC2782] The specification for a domain name under which an SRV [RFC2782]
resource record appears provides a template for use of underscored resource record appears provides a template for use of underscored
node names. The global (right-most) underscored name, is node names. The global (right-most) underscored name, is
characterised as indicating the 'protocol' that is associated with characterised as indicating the 'protocol' that is associated with
"SRV" RR usage. "SRV" RR usage.
The text of that specification is hereby updated from: The text of that existing specification is hereby updated from:
The format of the SRV RR The format of the SRV RR
Here is the format of the SRV RR, whose DNS type code is 33: Here is the format of the SRV RR, whose DNS type code is 33:
_Service._Proto.Name TTL Class SRV Priority Weight Port Target _Service._Proto.Name TTL Class SRV Priority Weight Port Target
... ...
Proto Proto
The symbolic name of the desired protocol, with an underscore The symbolic name of the desired protocol, with an underscore
(_) prepended to prevent collisions with DNS labels that occur (_) prepended to prevent collisions with DNS labels that occur
in nature. _TCP and _UDP are at present the most useful values in nature. _TCP and _UDP are at present the most useful values
for this field, though any name defined by Assigned Numbers or for this field, though any name defined by Assigned Numbers or
locally may be used (as for Service). The Proto is case locally may be used (as for Service). The Proto is case
insensitive. insensitive.
The updated text is: And is to be updated to the new text:
The format of the SRV RR The format of the SRV RR
Here is the format of the SRV RR, whose DNS type code is 33: Here is the format of the SRV RR, whose DNS type code is 33:
"_Service._Proto.Name TTL Class SRV Priority Weight Port "_Service._Proto.Name TTL Class SRV Priority Weight Port
Target" _..._ Target" _..._
Proto Proto
The symbolic name of the desired protocol, with an underscore
(_) prepended to prevent collisions with DNS labels that occur
in nature. _tcp and _udp are at present the most useful values
for this field. The Proto is case insensitive.
The SRV RRset protocol (global, right-most) underscored name The symbolic name of the desired protocol, with an
SHOULD be registered in the IANA DNS Underscore Global Scoped underscore (_) prepended to prevent collisions with DNS
Entry Registry [Attrleaf]. labels that occur in nature. _tcp and _udp are at present
the most useful values for this field. The Proto is case
insensitive.
The SRV RRset protocol (global, right-most) underscored name
SHOULD be registered in the IANA DNS Underscore Global
Scoped Entry Registry [Attrleaf].
3.2. URI Specification Changes 3.2. URI Specification Changes
Specification for the domain name under which a URI [RFC7553] Specification for the domain name under which a URI [RFC7553]
resource record occurs is similar to that for the SRV [RFC2782] resource record occurs is similar to that for the SRV [RFC2782]
resource record, although the text refers only to 'service' name, resource record, although the text refers only to 'service' name,
rather than distinguishing 'service' from 'protocol'. Further, the rather than distinguishing 'service' from 'protocol'. Further, the
URI RR specification permits alternative underscored naming schemes: URI RR specification permits alternative underscored naming schemes:
One matches what is used for "SRV", with the global (right-most) One matches what is used for "SRV", with the global (right-most)
underscored name calls "protocol'. underscored name calls "protocol'.
The other is based on a reversing of an Enumservice [RFC6117] The other is based on a reversing of an Enumservice [RFC6117]
sequence. sequence.
The text to be updated is: The text of the existing specification is hereby updated from:
4.1. Owner Name, Class, and Type 4.1. Owner Name, Class, and Type
The URI owner name is subject to special conventions. The URI owner name is subject to special conventions.
Just like the SRV RR [RFC2782], the URI RR has service information Just like the SRV RR [RFC2782], the URI RR has service information
encoded in its owner name. In order to encode the service for a encoded in its owner name. In order to encode the service for a
specific owner name, one uses service parameters. Valid service specific owner name, one uses service parameters. Valid service
parameters are those registered by IANA in the "Service Name and parameters are those registered by IANA in the "Service Name and
Transport Protocol Port Number Registry" [RFC6335] or as "Enumservice Transport Protocol Port Number Registry" [RFC6335] or as "Enumservice
skipping to change at page 8, line 32 skipping to change at page 8, line 32
For example, suppose we are looking for the URI for a service with For example, suppose we are looking for the URI for a service with
ENUM Service Parameter "A:B:C" for host example.com. Then we would ENUM Service Parameter "A:B:C" for host example.com. Then we would
query for (QNAME,QTYPE)=("_C._B._A.example.com","URI"). query for (QNAME,QTYPE)=("_C._B._A.example.com","URI").
As another example, suppose we are looking for the URI for a service As another example, suppose we are looking for the URI for a service
with Service Name "A" and Transport Protocol "B" for host with Service Name "A" and Transport Protocol "B" for host
example.com. Then we would query for example.com. Then we would query for
(QNAME,QTYPE)=("_A._B.example.com","URI"). (QNAME,QTYPE)=("_A._B.example.com","URI").
The updated text is: And is to be updated to the new text:
4.1. Owner Name, Class, and Type 4.1. Owner Name, Class, and Type
The URI owner name is subject to special conventions. The URI owner name is subject to special conventions.
As for the SRV RRset [RFC2782], the URI RRset global (right-most) As for the SRV RRset [RFC2782], the URI RRset global (right-
underscored name SHOULD be registered in the IANA DNS Underscore most) underscored name SHOULD be registered in the IANA DNS
Global Scoped Entry Registry [Attrleaf]. Underscore Global Scoped Entry Registry [Attrleaf].
Just like the SRV RRset, the URI RRset has service information Just like the SRV RRset, the URI RRset has service information
encoded in its owner name. In order to encode the service for a encoded in its owner name. In order to encode the service for
specific owner name, one uses service parameters. Valid service a specific owner name, one uses service parameters. Valid
parameters are: service parameters are:
* Those registered by IANA in the "Service Name and Transport + Those registered by IANA in the "Service Name and Transport
Protocol Port Number Registry [RFC6335]" The underscore is Protocol Port Number Registry [RFC6335]" The underscore is
prepended to the service parameters to avoid collisions with prepended to the service parameters to avoid collisions with
DNS labels that occur in nature, and the order is reversed to DNS labels that occur in nature, and the order is reversed
make it possible to do delegations, if needed, to different to make it possible to do delegations, if needed, to
zones (and therefore providers of DNS). different zones (and therefore providers of DNS).
* Those listed in "Enumservice Registrations [RFC6117]. The + Those listed in "Enumservice Registrations [RFC6117]. The
Enumservice Registration parameters are reversed (i.e., Enumservice Registration parameters are reversed (i.e.,
subtype(s) before type), prepended with an underscore (_), and subtype(s) before type), prepended with an underscore (_),
prepended to the owner name in separate labels. The right-most and prepended to the owner name in separate labels. The
underscored Enumservice name becomes the global Attrleaf name right-most underscored Enumservice name becomes the global
to register. Attrleaf name to register.
For example, suppose we are looking for the URI for a service with For example, suppose we are looking for the URI for a service
ENUM Service Parameter "A:B:C" for host example.com. Then we with ENUM Service Parameter "A:B:C" for host example.com. Then
would query for (QNAME,QTYPE)=("_C._B._A.example.com","URI"). we would query for
(QNAME,QTYPE)=("_C._B._A.example.com","URI").
As another example, suppose we are looking for the URI for a As another example, suppose we are looking for the URI for a
service with Service Name "A" and Transport Protocol "B" for host service with Service Name "A" and Transport Protocol "B" for
example.com. Then we would query for host example.com. Then we would query for
(QNAME,QTYPE)=("_A._B.example.com","URI"). (QNAME,QTYPE)=("_A._B.example.com","URI").
4. IANA Considerations 4. IANA Considerations
Although this document makes reference to IANA registries, it Although this document makes reference to IANA registries, it
introduces no new IANA registries or procedures. introduces no new IANA registries or procedures.
5. Security Considerations 5. Security Considerations
This memo raises no security issues. This memo raises no security issues.
6. References 6. References
6.1. Normative References 6.1. Normative References
[Attrleaf] [Attrleaf]
Crocker, D., "DNS Scoped Data Through '_Underscore' Naming Crocker, D., "DNS Scoped Data Through '_Underscore' Naming
of Attribute Leaves", 2018. of Attribute Leaves", I-D draft-ietf-dnsop-attrleaf, 2018.
[RFC6117] Hoeneisen, B., Mayrhofer, A., and J. Livingood, "IANA [RFC6117] Hoeneisen, B., Mayrhofer, A., and J. Livingood, "IANA
Registration of Enumservices: Guide, Template, and IANA Registration of Enumservices: Guide, Template, and IANA
Considerations", RFC 6117, March 2011. Considerations", RFC 6117, March 2011.
[RFC6335] Cotton, M., Eggert, L., Tpuch, J., Westerlund, M., and S. [RFC6335] Cotton, M., Eggert, L., Tpuch, J., Westerlund, M., and S.
Cheshire, "Internet Assigned Numbers Authority (IANA) Cheshire, "Internet Assigned Numbers Authority (IANA)
Procedures for the Management of the Service Name and Procedures for the Management of the Service Name and
Transport Protocol Port Number Registry", RFC 6335, Aug Transport Protocol Port Number Registry", RFC 6335, Aug
2011. 2011.
 End of changes. 28 change blocks. 
60 lines changed or deleted 71 lines changed or added

This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/