< draft-andrews-edns1-00.txt   draft-andrews-edns1-01.txt >
Network Working Group M. Andrews Network Working Group M. Andrews
Internet-Draft ISC Internet-Draft ISC
Expires: October 17, 2014 April 15, 2014 Expires: October 18, 2014 April 16, 2014
EDNS Version 1 EDNS Version 1 (EDNS(1))
draft-andrews-edns1-00.txt draft-andrews-edns1-01.txt
Abstract Abstract
It is impracticable to deploy new EDNS options, with EDNS version 0, It is impracticable to deploy new EDNS options, with EDNS version 0,
on a global scale due to inconsistent server behaviour in deployed on a global scale due to inconsistent server behaviour in deployed
servers when a EDNS option is present in the query. Most existing servers when a EDNS option is present in the query. Most existing
EDNS option deployment has been small scale between essentially EDNS option deployment has been small scale between essentially
consenting implementations. consenting implementations.
When EDNS options were added to every outgoing recursive query made When EDNS options were added to every outgoing recursive query made
skipping to change at page 1, line 41 skipping to change at page 1, line 41
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 http://datatracker.ietf.org/drafts/current/. Drafts is at http://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 October 17, 2014. This Internet-Draft will expire on October 18, 2014.
Copyright Notice Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the Copyright (c) 2014 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
(http://trustee.ietf.org/license-info) in effect on the date of (http://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 . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. EDNS Version 1 . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Removing Ambiguity . . . . . . . . . . . . . . . . . . . . . . 3
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 3 3. EDNS Version 1 . . . . . . . . . . . . . . . . . . . . . . . . 4
4. Security Considerations . . . . . . . . . . . . . . . . . . . . 3 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 4
5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 4
5.1. Normative References . . . . . . . . . . . . . . . . . . . 4 6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 4
5.2. Informative References . . . . . . . . . . . . . . . . . . 4 6.1. Normative References . . . . . . . . . . . . . . . . . . . 4
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 4 6.2. Informative References . . . . . . . . . . . . . . . . . . 4
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 5
1. Introduction 1. Introduction
Extended DNS (EDNS) supports adding EDNS options to the request. Extended DNS (EDNS) supports adding EDNS options to the request.
Unfortunately it was not clear in the original specification [RFC Unfortunately it was not clear in the original specification [RFC
2671] that unknown EDNS options should be ignored. The updated EDNS 2671] that unknown EDNS options should be ignored. The updated EDNS
specification [RFC 6891] makes ignoring unknown EDNS options a specification [RFC 6891] makes ignoring unknown EDNS options a
explicit requirement but failed to bump the EDNS version number. explicit requirement but failed to bump the EDNS version number.
Currently there are EDNS version 0 servers that ignore unknown EDNS Currently there are EDNS version 0 servers that ignore unknown EDNS
skipping to change at page 3, line 26 skipping to change at page 3, line 26
present. Those that return REFUSED when unknown EDNS options are present. Those that return REFUSED when unknown EDNS options are
present and presumably those that return NOTIMP (though the author present and presumably those that return NOTIMP (though the author
has not seen one). has not seen one).
FORMERR, REFUSED and NOTIMP are all returned from servers that do not FORMERR, REFUSED and NOTIMP are all returned from servers that do not
support EDNS. It is impracticable for clients to have yet more support EDNS. It is impracticable for clients to have yet more
overloading of these error codes and more trial and error to workout overloading of these error codes and more trial and error to workout
what is and is not supported when there is a clear method available what is and is not supported when there is a clear method available
to resolve the differences. to resolve the differences.
There has also been observed ambiguity when responding query types
that are not supported by a server resulting NOTIMP, FORMERR,
SERVFAIL and REFUSED answers from servers rather than the expected
result codes SUCCESS (no data exist) or NAME ERROR responses
depending apon whether the names exists or not which is implictly
implied by [RFC 1034], Section 4.3.2 and further by [RFC 3597].
EDNS version 1 makes returning SUCCESS (no data exist) or NAME ERROR
when a type is not supported by the server a explict requirement
rather than NOTIMP, FORMERR, SERVFAIL REFUSED or any other error
code.
This document requests EDNS version 1 be assigned and that the EDNS This document requests EDNS version 1 be assigned and that the EDNS
behaviour be that of [RFC 6891] with the exception of the version behaviour be that of [RFC 6891] with the exception of the version
being 1 rather than 0. EDNS version 1 clients then will have well being 1 rather than 0. EDNS version 1 clients then will have well
defined behaviour when sending unknown EDNS options (they should be defined behaviour when sending unknown EDNS options (they should be
ignored) to EDNS version 1 servers. BADVERS to EDNS version 0 ignored) to EDNS version 1 servers. BADVERS to EDNS version 0
servers and FORMERR, REFUSED, NOTIMP to servers that do not support servers and FORMERR, REFUSED, NOTIMP to servers that do not support
EDNS and return a error code. EDNS and return a error code.
This is effectively a protocol reset for EDNS. This is effectively a protocol reset for DNS and EDNS.
2. EDNS Version 1 2. Removing Ambiguity
Removing ambiguity in responses in important as it allows a client to
cleanly decide based on error codes what to do, rather than doing
trial and error to discover the server's behaviour.
EDNS version 1 addresses two observed sources of ambiguity, EDNS
version 0 with unknown options and unknown query type response
handling.
3. EDNS Version 1
EDNS version one behaviour is identical to that described in [RFC EDNS version one behaviour is identical to that described in [RFC
6891] with the exception to that the EDNS version is assigned to 1. 6891] with the exception to that the EDNS version is assigned to 1.
3. IANA Considerations 4. IANA Considerations
This document be the reference document for EDNS version 1. This document be the reference document for EDNS version 1.
4. Security Considerations 5. Security Considerations
The document does not introduce any security issues that are not The document does not introduce any security issues that are not
addressed in [RFC 6891]. addressed in [RFC 6891].
5. References 6. References
5.1. Normative References 6.1. Normative References
[RFC 1034]
Mockapetris, P., "DOMAIN NAMES - CONCEPTS AND FACILITIES",
STD 13, RFC 1034, November 1987.
[RFC 3597]
Gustafsson, A., "Handling of Unknown DNS Resource Record
(RR) Types", RFC 3597, September 2003.
[RFC 6891] [RFC 6891]
Damas, J., Graff, M., and P. Vixie, "Extension Mechanisms Damas, J., Graff, M., and P. Vixie, "Extension Mechanisms
for DNS (EDNS(0))", STD 75, RFC 6891, April 2013. for DNS (EDNS(0))", STD 75, RFC 6891, April 2013.
5.2. Informative References 6.2. Informative References
[RFC 2671] [RFC 2671]
Vixie, P., "Extension Mechanisms for DNS (EDNS0)", Vixie, P., "Extension Mechanisms for DNS (EDNS0)",
RFC 1999, August 1999. RFC 1999, August 1999.
Author's Address Author's Address
M. Andrews M. Andrews
Internet Systems Consortium Internet Systems Consortium
950 Charter Street 950 Charter Street
 End of changes. 12 change blocks. 
18 lines changed or deleted 49 lines changed or added

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