Internet DRAFT - draft-madi-dnsop-udp4dns
draft-madi-dnsop-udp4dns
dnsop D. MA
Internet-Draft ZDNS
Intended status: Standards Track L. Song
Expires: February 29, 2016 Beijing Internet Institute
August 28, 2015
UDP payload size for DNS messages
draft-madi-dnsop-udp4dns-00
Abstract
The classic 512-bytes UDP payload for transporting DNS messages is an
embedded dependence on IPv4. As the Internet infrastructure is
evolving to IPv6, the very constraint stemming from IPv4 can be
removed by the virtue of that IPv6 mandates a MTU of 1280 bytes.
This document specifies a new minimum size of UDP packet to carry DNS
message, making DNS implementations going forward more adaptive to
both applications based on the Internet and infrastructures
supporting the Internet.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on February 29, 2016.
Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
MA & Song Expires February 29, 2016 [Page 1]
Internet-Draft UDP payload size for DNS messages August 2015
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. DNS over larger UDP . . . . . . . . . . . . . . . . . . . . . 3
3. Backward compatibility . . . . . . . . . . . . . . . . . . . 3
3.1. Networking . . . . . . . . . . . . . . . . . . . . . . . 3
3.2. DNS Implementations . . . . . . . . . . . . . . . . . . . 3
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4
5. References . . . . . . . . . . . . . . . . . . . . . . . . . 4
Appendix A. Experiments . . . . . . . . . . . . . . . . . . . . 4
A.1. Method . . . . . . . . . . . . . . . . . . . . . . . . . 4
A.2. Observations . . . . . . . . . . . . . . . . . . . . . . 5
A.3. Contributors . . . . . . . . . . . . . . . . . . . . . . 5
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 5
1. Introduction
Over the years, the size of DNS response message has increased beyond
the IPv4 MTU, in part because DNSSEC aware DNS servers will
automatically attempt to return KEY resources as additional
information, along with those resource records actually requested
[RFC2535]. IPv6 records also increase the size of the response,
along with NAPTR and other record types. Other new functions added
to DNS may also bring in more data in DNS responses in the days to
come.
The classic 512-bytes UDP payload for transporting DNS messages is an
embedded dependence on IPv4. As the Internet infrastructure is
evolving to IPv6 [ipv6-info], the very constraint stemming from IPv4
can be removed by the virtue of that IPv6 mandates a MTU of 1280
bytes. A larger minimum size of DNS PDU would be more adaptive to
variable infrastructure evolution and reflects the evolving nature of
IP transmission.
This document specifies a new minimum size of UDP packet to carry DNS
message, making DNS implementations going forward more adaptive to
both applications based on the Internet and infrastructures
supporting the Internet.
MA & Song Expires February 29, 2016 [Page 2]
Internet-Draft UDP payload size for DNS messages August 2015
2. DNS over larger UDP
This section explicitly specifies the new minimum size of UDP packet
for DNS messages, updating the 512-UDP limitation.
1232 bytes is the minimum size of UDP payload for DNS messages,
according to the IPv6 MTU specifications. That is, in addition to
40- bytes IPv6 header and 8-bytes UDP header, the minimum
transportation capacity that an IPv6 packet offers to application
layer is 1232 bytes.
Based on this enhancement, DNS message exchanges will enjoy a larger
capacity of protocol data unit, decreasing the number of IP packets,
which account for some of the increase in the level of the traffic
processed by intermediate devices along the path of DNS query/
response exchanges. DNS software and intermediate devices must
support 1232 bytes as the minimum size of UDP payload for DNS
messages.
3. Backward compatibility
This section presents considerations on some compatibility issues due
to the new minimum size of UDP payload for DNS messages. Yet
solutions to these issues are out of scope of this document.
3.1. Networking
IPv4 will coexist with IPv6 for a long time. This proposal MUST work
well with IPv4 infrastructure, relating to packet process by
intermediate devices and MTU along the path in question. As
expected, nonconformant networks will see 1232-bytes as anomaly.
Some observations, described in the appendix, indicate that 1232-
bytes will be a safe minimum size of UDP payload for DNS messages in
IPv4 environments.
3.2. DNS Implementations
An embedded dependence on IPv4 MTU, the classic 512-bytes UDP payload
for transporting DNS messages is bound with some DNS implementations.
Obsoleting the classic 512-bytes UDP payload would therefore
introduce some incompatibility. Priming exchange, among others, may
see some problems. Priming exchange is now done with the assumption
that all DNS response should fit into the classic 512-bytes UDP
payload. Given a root server is of dual-stack, receiving priming
queries based on 1232-bytes UDP payload, a classic DNS implementation
MAY see this kind of packet as anomaly to ignore or it needs to know
MA & Song Expires February 29, 2016 [Page 3]
Internet-Draft UDP payload size for DNS messages August 2015
how to truncate the message to get DNS query or it needs to negotiate
with recursive servers to reinitiate the very process somehow.
4. IANA Considerations
TBD
5. References
[ipv6-info]
ARIN, "ipv6 info center", 2015,
<https://www.arin.net/knowledge/ipv6_info_center.html>.
[RFC2535] Eastlake 3rd, D., "Domain Name System Security
Extensions", RFC 2535, DOI 10.17487/RFC2535, March 1999,
<http://www.rfc-editor.org/info/rfc2535>.
Appendix A. Experiments
This section is to describe a set of tests to ascertain the
limitation for a DNS message along its path as with current
networking environments.
A.1. Method
To carry out the very tests for DNS message MTU, a client and a
server are implemented with Python and Erlang. The client is
programmed to send both non-semantically UDP packets and DNS packets
with no EDNS0 indicator respectively, by comparison. The UDP payload
of all the sent packets is designed to be more 512 bytes and sent
with increasingly larger size with variable bytes, 32 or 16 for
instance, as a step. While the functionality of the very server is
listen on 53 ports and 5333 port (other than traditional DNS port)
and bounce the received packets to the client. The corresponding
client is therefore able to know whether its sent packets could
travel through networks to the server.
Two servers are deployed in Beijing, one's upstream ISP is China
Science & Technology network and the other's is China Unicom. In
order to gain diversity, clients are deployed at ZDNS in Beijing,
TWNIC in Taipei, local ISP in Chengdu, China Mobile in Beijing, TCI
in Moscow and JPRS in Tokyo. The tests were carried out in alignment
with the combination of servers and clients.
MA & Song Expires February 29, 2016 [Page 4]
Internet-Draft UDP payload size for DNS messages August 2015
A.2. Observations
As with the current networking conditions, a DNS message can safely
pass the overwhelming majority of the intermediate devices along its
path, as long as it is with no bigger than 1472 bytes size.
As with observed, generally, firewalls block DNS messages that will
lead to IP fragmentation.
A.3. Contributors
Yoshiro YONEYA, JPRS
Nai-Wen HSU, TWNIC
Dmitry KOVALENKO, TCINET
Authors' Addresses
Di MA
ZDNS
4 South 4th St. Zhongguancun
Beijing, Haidian 100190
China
Email: EMail: madi@zdns.cn
Linjian Song
Beijing Internet Institute
2508 Room, 25th Floor, Tower A, Time Fortune
Beijing 100028
China
Email: songlinjian@gmail.com
MA & Song Expires February 29, 2016 [Page 5]