<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.35 (Ruby 3.1.4) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-ietf-dnsop-avoid-fragmentation-13" category="bcp" consensus="true" submissionType="IETF" tocDepth="4" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="avoid-fragmentation">Fragmentation Avoidance in DNS</title>

    <author initials="K." surname="Fujiwara" fullname="Kazunori Fujiwara">
      <organization abbrev="JPRS">Japan Registry Services Co., Ltd.</organization>
      <address>
        <postal>
          <street>Chiyoda First Bldg. East 13F, 3-8-1 Nishi-Kanda</street>
          <region>Chiyoda-ku, Tokyo</region>
          <code>101-0065</code>
          <country>Japan</country>
        </postal>
        <phone>+81 3 5215 8451</phone>
        <email>fujiwara@jprs.co.jp</email>
      </address>
    </author>
    <author initials="P." surname="Vixie" fullname="Paul Vixie">
      <organization>AWS Security</organization>
      <address>
        <postal>
          <street>11400 La Honda Road</street>
          <city>Woodside, CA</city>
          <code>94062</code>
          <country>United States of America</country>
        </postal>
        <phone>+1 650 393 3994</phone>
        <email>paul@redbarn.org</email>
      </address>
    </author>

    <date year="2023" month="July" day="05"/>

    <area>operations</area>
    
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 141?>

<t>EDNS0 enables a DNS server to send large responses using UDP
and is widely deployed.
Large DNS/UDP responses are fragmented,
and IP fragmentation has exposed weaknesses in application protocols.
It is possible to avoid IP fragmentation in DNS by limiting response
size where possible, and signaling the need to upgrade from UDP to TCP
transport where necessary.
This document proposes techniques to avoid IP fragmentation in DNS.</t>



    </abstract>



  </front>

  <middle>


<?line 152?>

<section anchor="introduction"><name>Introduction</name>

<t>DNS has an EDNS0 <xref target="RFC6891"></xref> mechanism.
It enables a DNS server to send large responses using UDP.
EDNS0 is now widely deployed,
and DNS over UDP relies on IP fragmentation when the EDNS buffer
size is set to a value larger than the path MTU.</t>

<t>Fragmented DNS UDP responses have systemic weaknesses, which expose
the requestor to DNS cache poisoning from off-path attackers.
(See <xref target="ProblemOfFragmentation"/> for references and details.)</t>

<t><xref target="RFC8900"></xref> summarized that IP fragmentation
introduces fragility to Internet communication. The transport of DNS messages
over UDP should take account of the observations stated in that document.</t>

<t>TCP avoids fragmentation using its Maximum Segment Size (MSS) parameter, but
each transmitted segment is header-size aware such that the size of the IP and
TCP headers is known, as well as the far end's MSS parameter and the interface
or path MTU, so that the segment size can be chosen so as to keep the each IP
datagram below a target size. This takes advantage of the elasticity of TCP's
packetizing process as to how much queued data will fit into the next
segment. In contrast, DNS over UDP has little datagram size elasticity and
lacks insight into IP header and option size, and so must make more
conservative estimates about available UDP payload space.</t>

<t>This document proposes that implementations set the "Don't Fragment (DF)
bit" <xref target="RFC0791"></xref> on IPv4
 and not use the "Fragment header" <xref target="RFC8200"></xref> on IPv6 
in DNS/UDP
messages in order to avoid IP fragmentation. It also describes how to
avoid packet losses due to DF bit and small MTU links.</t>

<t>A path MTU different from the recommended value could be obtained
from static configuration, or server routing hints,
or some future discovery protocol;
that would be the subject of a future specification
and is beyond our scope here.</t>

</section>
<section anchor="terminology"><name>Terminology</name>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in 
<xref target="RFC2119">BCP14</xref> <xref target="RFC8174"></xref> when, and only when, they appear in all
capitals, as shown here.</t>

<t>"Requestor" refers to the side that sends a request.  "Responder"
refers to an authoritative server, recursive resolver or other DNS component
that responds to questions. (Quoted from EDNS0 <xref target="RFC6891"></xref>)</t>

<t>"Path MTU" is the minimum link MTU of all the links in a path
between a source node and a destination node. (Quoted from <xref target="RFC8201"></xref>)</t>

<t>In this document, the term "Path MTU discovery" includes
both Classical Path MTU discovery <xref target="RFC1191"></xref>, <xref target="RFC8201"></xref>, and
Packetization Layer Path MTU discovery <xref target="RFC8899"></xref>.</t>

<t>Many of the specialized terms used in this document are defined in
DNS Terminology <xref target="RFC8499"></xref>.</t>

</section>
<section anchor="proposal"><name>Proposal to avoid IP fragmentation in DNS</name>

<t>These recommendations are intended
for nodes with global IP addresses on the Internet.
Private networks or local networks are out of the scope of this document.</t>

<t>The methods to avoid IP fragmentation in DNS are described below:</t>

<section anchor="RecommendationsResponders"><name>Recommendations for UDP responders</name>

<t><list style="symbols">
  <t>UDP responders SHOULD send DNS responses
without "Fragment header" <xref target="RFC8200"></xref> on IPv6.</t>
  <t>UDP responders are RECOMMENDED
to set IP "Don't Fragment flag (DF) bit" <xref target="RFC0791"></xref> on IPv4.</t>
  <t>UDP responders SHOULD compose response packets that fit in
the offered requestor's maximum UDP payload size <xref target="RFC6891"></xref>,
the interface MTU,
and the RECOMMENDED maximum DNS/UDP payload size 1400.</t>
  <t>If the UDP responder detects an immediate error indicating
that the UDP packet cannot be sent beyond the path MTU size (EMSGSIZE),
the UDP responder MAY recreate response packets fit in path MTU size,
or with the TC bit set.</t>
  <t>UDP responders SHOULD limit the response size
when UDP responders are located on small MTU (&lt;1500) networks.  <vspace blankLines='1'/>
The cause and effect of the TC bit are unchanged from EDNS0 <xref target="RFC6891"></xref>.</t>
</list></t>

</section>
<section anchor="RecommendationsRequestors"><name>Recommendations for UDP requestors</name>

<t><list style="symbols">
  <t>UDP requestors SHOULD limit the requestor's maximum UDP payload size to
the RECOMMENDED size of 1400 or a smaller size.</t>
  <t>UDP requestors MAY drop fragmented DNS/UDP responses without IP reassembly
to avoid cache poisoning attacks.</t>
  <t>DNS responses may be dropped by IP fragmentation.
Upon a timeout, 
to avoid resolution failures,
UDP requestors MAY retry using TCP
or UDP with a smaller EDNS requestor's maximum UDP payload size
per local policy.</t>
</list></t>

</section>
</section>
<section anchor="RecommendationOperators"><name>Recommendations for zone operators and DNS server operators</name>

<t>Large DNS responses are the result of zone configuration.
Zone operators SHOULD seek configurations resulting in small responses.
For example,</t>

<t><list style="symbols">
  <t>Use a smaller number of name servers (13 may be too large)</t>
  <t>Use a smaller number of A/AAAA RRs for a domain name</t>
  <t>Use minimal-responses configuration:
Some implementations have a 'minimal responses' configuration option that causes
DNS servers to make response packets smaller, containing only mandatory
and required data (<xref target="minimal-responses"/>).</t>
  <t>Use a smaller signature / public key size algorithm for DNSSEC.
 Notably, the signature sizes of ECDSA and EdDSA are smaller than those usually used for RSA.</t>
</list></t>

</section>
<section anchor="considerations"><name>Considerations</name>

<section anchor="protocol"><name>Protocol compliance</name>

<t>Prior research <xref target="Fujiwara2018"></xref>
has shown that some authoritative servers
ignore the EDNS0 requestor's maximum UDP payload size, and return large UDP responses.</t>

<t>It is also well known that some authoritative servers do not
support TCP transport.</t>

<t>Such non-compliant behavior cannot become implementation or configuration
constraints for the rest of the DNS. If failure is the result, then that
failure must be localized to the non-compliant servers.</t>

</section>
</section>
<section anchor="iana"><name>IANA Considerations</name>
<t>This document has no IANA actions.</t>

</section>
<section anchor="securitycons"><name>Security Considerations</name>

<t>When avoiding fragmentation,
a DNS/UDP requestor behind a small-MTU network may experience
UDP timeouts which would reduce performance
and which may lead to TCP fallback.
This would indicate prior reliance upon IP fragmentation,
which is universally considered to be harmful
to both the performance and stability of applications, endpoints, and gateways.
Avoiding IP fragmentation will improve operating conditions overall,
and the performance of DNS/TCP has increased and will continue to increase.</t>

<t>If a UDP response packet is dropped (for any reason),
it increases the attack window for poisoning the requestor's cache.</t>

</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>The author would like to specifically thank 
Paul Wouters, 
Mukund Sivaraman,
Tony Finch,
Hugo Salgado,
Peter van Dijk,
Brian Dickson,
Puneet Sood,
Jim Reid,
Petr Spacek,
Peter van Dijk,
Andrew McConachie,
Joe Abley,
Daisuke Higashi
and
Joe Touch
for extensive review and comments.</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>



<reference anchor="RFC0791">
  <front>
    <title>Internet Protocol</title>
    <author fullname="J. Postel" initials="J." surname="Postel"/>
    <date month="September" year="1981"/>
  </front>
  <seriesInfo name="STD" value="5"/>
  <seriesInfo name="RFC" value="791"/>
  <seriesInfo name="DOI" value="10.17487/RFC0791"/>
</reference>

<reference anchor="RFC1191">
  <front>
    <title>Path MTU discovery</title>
    <author fullname="J. Mogul" initials="J." surname="Mogul"/>
    <author fullname="S. Deering" initials="S." surname="Deering"/>
    <date month="November" year="1990"/>
    <abstract>
      <t>This memo describes a technique for dynamically discovering the maximum transmission unit (MTU) of an arbitrary internet path. It specifies a small change to the way routers generate one type of ICMP message. For a path that passes through a router that has not been so changed, this technique might not discover the correct Path MTU, but it will always choose a Path MTU as accurate as, and in many cases more accurate than, the Path MTU that would be chosen by current practice. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="1191"/>
  <seriesInfo name="DOI" value="10.17487/RFC1191"/>
</reference>

<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>

<reference anchor="RFC8201">
  <front>
    <title>Path MTU Discovery for IP version 6</title>
    <author fullname="J. McCann" initials="J." surname="McCann"/>
    <author fullname="S. Deering" initials="S." surname="Deering"/>
    <author fullname="J. Mogul" initials="J." surname="Mogul"/>
    <author fullname="R. Hinden" initials="R." role="editor" surname="Hinden"/>
    <date month="July" year="2017"/>
    <abstract>
      <t>This document describes Path MTU Discovery (PMTUD) for IP version 6. It is largely derived from RFC 1191, which describes Path MTU Discovery for IP version 4. It obsoletes RFC 1981.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="87"/>
  <seriesInfo name="RFC" value="8201"/>
  <seriesInfo name="DOI" value="10.17487/RFC8201"/>
</reference>

<reference anchor="RFC6891">
  <front>
    <title>Extension Mechanisms for DNS (EDNS(0))</title>
    <author fullname="J. Damas" initials="J." surname="Damas"/>
    <author fullname="M. Graff" initials="M." surname="Graff"/>
    <author fullname="P. Vixie" initials="P." surname="Vixie"/>
    <date month="April" year="2013"/>
    <abstract>
      <t>The Domain Name System's wire protocol includes a number of fixed fields whose range has been or soon will be exhausted and does not allow requestors to advertise their capabilities to responders. This document describes backward-compatible mechanisms for allowing the protocol to grow.</t>
      <t>This document updates the Extension Mechanisms for DNS (EDNS(0)) specification (and obsoletes RFC 2671) based on feedback from deployment experience in several implementations. It also obsoletes RFC 2673 ("Binary Labels in the Domain Name System") and adds considerations on the use of extended labels in the DNS.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="75"/>
  <seriesInfo name="RFC" value="6891"/>
  <seriesInfo name="DOI" value="10.17487/RFC6891"/>
</reference>

<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>

<reference anchor="RFC8200">
  <front>
    <title>Internet Protocol, Version 6 (IPv6) Specification</title>
    <author fullname="S. Deering" initials="S." surname="Deering"/>
    <author fullname="R. Hinden" initials="R." surname="Hinden"/>
    <date month="July" year="2017"/>
    <abstract>
      <t>This document specifies version 6 of the Internet Protocol (IPv6). It obsoletes RFC 2460.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="86"/>
  <seriesInfo name="RFC" value="8200"/>
  <seriesInfo name="DOI" value="10.17487/RFC8200"/>
</reference>

<reference anchor="RFC8499">
  <front>
    <title>DNS Terminology</title>
    <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
    <author fullname="A. Sullivan" initials="A." surname="Sullivan"/>
    <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
    <date month="January" year="2019"/>
    <abstract>
      <t>The Domain Name System (DNS) is defined in literally dozens of different RFCs. The terminology used by implementers and developers of DNS protocols, and by operators of DNS systems, has sometimes changed in the decades since the DNS was first defined. This document gives current definitions for many of the terms used in the DNS in a single document.</t>
      <t>This document obsoletes RFC 7719 and updates RFC 2308.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="219"/>
  <seriesInfo name="RFC" value="8499"/>
  <seriesInfo name="DOI" value="10.17487/RFC8499"/>
</reference>

<reference anchor="RFC8899">
  <front>
    <title>Packetization Layer Path MTU Discovery for Datagram Transports</title>
    <author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/>
    <author fullname="T. Jones" initials="T." surname="Jones"/>
    <author fullname="M. Tüxen" initials="M." surname="Tüxen"/>
    <author fullname="I. Rüngeler" initials="I." surname="Rüngeler"/>
    <author fullname="T. Völker" initials="T." surname="Völker"/>
    <date month="September" year="2020"/>
    <abstract>
      <t>This document specifies Datagram Packetization Layer Path MTU Discovery (DPLPMTUD). This is a robust method for Path MTU Discovery (PMTUD) for datagram Packetization Layers (PLs). It allows a PL, or a datagram application that uses a PL, to discover whether a network path can support the current size of datagram. This can be used to detect and reduce the message size when a sender encounters a packet black hole. It can also probe a network path to discover whether the maximum packet size can be increased. This provides functionality for datagram transports that is equivalent to the PLPMTUD specification for TCP, specified in RFC 4821, which it updates. It also updates the UDP Usage Guidelines to refer to this method for use with UDP datagrams and updates SCTP.</t>
      <t>The document provides implementation notes for incorporating Datagram PMTUD into IETF datagram transports or applications that use datagram transports.</t>
      <t>This specification updates RFC 4960, RFC 4821, RFC 6951, RFC 8085, and RFC 8261.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8899"/>
  <seriesInfo name="DOI" value="10.17487/RFC8899"/>
</reference>




    </references>

    <references title='Informative References'>



<reference anchor="RFC7739">
  <front>
    <title>Security Implications of Predictable Fragment Identification Values</title>
    <author fullname="F. Gont" initials="F." surname="Gont"/>
    <date month="February" year="2016"/>
    <abstract>
      <t>IPv6 specifies the Fragment Header, which is employed for the fragmentation and reassembly mechanisms. The Fragment Header contains an "Identification" field that, together with the IPv6 Source Address and the IPv6 Destination Address of a packet, identifies fragments that correspond to the same original datagram, such that they can be reassembled together by the receiving host. The only requirement for setting the Identification field is that the corresponding value must be different than that employed for any other fragmented datagram sent recently with the same Source Address and Destination Address. Some implementations use a simple global counter for setting the Identification field, thus leading to predictable Identification values. This document analyzes the security implications of predictable Identification values, and provides implementation guidance for setting the Identification field of the Fragment Header, such that the aforementioned security implications are mitigated.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7739"/>
  <seriesInfo name="DOI" value="10.17487/RFC7739"/>
</reference>

<reference anchor="RFC8085">
  <front>
    <title>UDP Usage Guidelines</title>
    <author fullname="L. Eggert" initials="L." surname="Eggert"/>
    <author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/>
    <author fullname="G. Shepherd" initials="G." surname="Shepherd"/>
    <date month="March" year="2017"/>
    <abstract>
      <t>The User Datagram Protocol (UDP) provides a minimal message-passing transport that has no inherent congestion control mechanisms. This document provides guidelines on the use of UDP for the designers of applications, tunnels, and other protocols that use UDP. Congestion control guidelines are a primary focus, but the document also provides guidance on other topics, including message sizes, reliability, checksums, middlebox traversal, the use of Explicit Congestion Notification (ECN), Differentiated Services Code Points (DSCPs), and ports.</t>
      <t>Because congestion control is critical to the stable operation of the Internet, applications and other protocols that choose to use UDP as an Internet transport must employ mechanisms to prevent congestion collapse and to establish some degree of fairness with concurrent traffic. They may also need to implement additional mechanisms, depending on how they use UDP.</t>
      <t>Some guidance is also applicable to the design of other protocols (e.g., protocols layered directly on IP or via IP-based tunnels), especially when these protocols do not themselves provide congestion control.</t>
      <t>This document obsoletes RFC 5405 and adds guidelines for multicast UDP usage.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="145"/>
  <seriesInfo name="RFC" value="8085"/>
  <seriesInfo name="DOI" value="10.17487/RFC8085"/>
</reference>

<reference anchor="RFC8900">
  <front>
    <title>IP Fragmentation Considered Fragile</title>
    <author fullname="R. Bonica" initials="R." surname="Bonica"/>
    <author fullname="F. Baker" initials="F." surname="Baker"/>
    <author fullname="G. Huston" initials="G." surname="Huston"/>
    <author fullname="R. Hinden" initials="R." surname="Hinden"/>
    <author fullname="O. Troan" initials="O." surname="Troan"/>
    <author fullname="F. Gont" initials="F." surname="Gont"/>
    <date month="September" year="2020"/>
    <abstract>
      <t>This document describes IP fragmentation and explains how it introduces fragility to Internet communication.</t>
      <t>This document also proposes alternatives to IP fragmentation and provides recommendations for developers and network operators.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="230"/>
  <seriesInfo name="RFC" value="8900"/>
  <seriesInfo name="DOI" value="10.17487/RFC8900"/>
</reference>


<reference anchor="Brandt2018" >
  <front>
    <title>Domain Validation++ For MitM-Resilient PKI</title>
    <author initials="M." surname="Brandt" fullname="Markus Brandt">
      <organization>Fraunhofer Institute for Secure Information Technology SIT, Darmstadt, Germany</organization>
    </author>
    <author initials="T." surname="Dai" fullname="Tianxiang Dai">
      <organization>Fraunhofer Institute for Secure Information Technology SIT, Darmstadt, Germany</organization>
    </author>
    <author initials="A." surname="Klein" fullname="Amit Klein">
      <organization>Fraunhofer Institute for Secure Information Technology SIT, Darmstadt, Germany</organization>
    </author>
    <author initials="H." surname="Shulman" fullname="Haya Shulman">
      <organization>Fraunhofer Institute for Secure Information Technology SIT, Darmstadt, Germany</organization>
    </author>
    <author initials="M." surname="Waidner" fullname="Michael Waidner">
      <organization>Fraunhofer Institute for Secure Information Technology SIT, Darmstadt, Germany</organization>
    </author>
    <date year="2018"/>
  </front>
  <seriesInfo name="Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security" value=""/>
</reference>
<reference anchor="Herzberg2013" >
  <front>
    <title>Fragmentation Considered Poisonous</title>
    <author initials="A." surname="Herzberg" fullname="Amir Herzberg">
      <organization></organization>
    </author>
    <author initials="H." surname="Shulman" fullname="Haya Shulman">
      <organization></organization>
    </author>
    <date year="2013"/>
  </front>
  <seriesInfo name="IEEE Conference on Communications and Network Security" value=""/>
</reference>
<reference anchor="Hlavacek2013" target="https://ripe67.ripe.net/presentations/240-ipfragattack.pdf">
  <front>
    <title>IP fragmentation attack on DNS</title>
    <author initials="T." surname="Hlavacek" fullname="Tomas Hlavacek">
      <organization>cz.nic</organization>
    </author>
    <date year="2013"/>
  </front>
  <seriesInfo name="RIPE 67 Meeting" value=""/>
</reference>
<reference anchor="Fujiwara2018" >
  <front>
    <title>Measures against cache poisoning attacks using IP fragmentation in DNS</title>
    <author initials="K." surname="Fujiwara" fullname="Kazunori Fujiwara">
      <organization>JPRS</organization>
    </author>
    <date year="2019"/>
  </front>
  <seriesInfo name="OARC 30 Workshop" value=""/>
</reference>
<reference anchor="DNSFlagDay2020" target="https://dnsflagday.net/2020/">
  <front>
    <title>DNS flag day 2020</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="Huston2021" >
  <front>
    <title>Measuring DNS Flag Day 2020</title>
    <author initials="G." surname="Huston" fullname="Geoff Huston">
      <organization>APNIC Labs</organization>
    </author>
    <author initials="J." surname="Damas" fullname="Joao Damas">
      <organization>APNIC Labs</organization>
    </author>
    <date year="2021" month="February"/>
  </front>
  <seriesInfo name="OARC 34 Workshop" value=""/>
</reference>



<reference anchor="I-D.ietf-dnsop-glue-is-not-optional">
   <front>
      <title>DNS Glue Requirements in Referral Responses</title>
      <author fullname="Mark P. Andrews" initials="M. P." surname="Andrews">
         <organization>ISC</organization>
      </author>
      <author fullname="Shumon Huque" initials="S." surname="Huque">
         <organization>Salesforce</organization>
      </author>
      <author fullname="Paul Wouters" initials="P." surname="Wouters">
         <organization>Aiven</organization>
      </author>
      <author fullname="Duane Wessels" initials="D." surname="Wessels">
         <organization>Verisign</organization>
      </author>
      <date day="14" month="June" year="2023"/>
      <abstract>
	 <t>   The DNS uses glue records to allow iterative clients to find the
   addresses of name servers that are contained within a delegated zone.
   Authoritative Servers are expected to return all available glue
   records for in-domain name servers in a referral response.  If
   message size constraints prevent the inclusion of all glue records
   for in-domain name servers, the server must set the TC flag to inform
   the client that the response is incomplete, and that the client
   should use another transport to retrieve the full response.  This
   document updates RFC 1034 to clarify correct server behavior.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-glue-is-not-optional-09"/>
   
</reference>

<reference anchor="RFC2308">
  <front>
    <title>Negative Caching of DNS Queries (DNS NCACHE)</title>
    <author fullname="M. Andrews" initials="M." surname="Andrews"/>
    <date month="March" year="1998"/>
    <abstract>
      <t>RFC1034 provided a description of how to cache negative responses. It however had a fundamental flaw in that it did not allow a name server to hand out those cached responses to other resolvers, thereby greatly reducing the effect of the caching. This document addresses issues raise in the light of experience and replaces RFC1034 Section 4.3.4. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2308"/>
  <seriesInfo name="DOI" value="10.17487/RFC2308"/>
</reference>

<reference anchor="RFC1035">
  <front>
    <title>Domain names - implementation and specification</title>
    <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
    <date month="November" year="1987"/>
    <abstract>
      <t>This RFC is the revised specification of the protocol and format used in the implementation of the Domain Name System. It obsoletes RFC-883. This memo documents the details of the domain name client - server communication.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="13"/>
  <seriesInfo name="RFC" value="1035"/>
  <seriesInfo name="DOI" value="10.17487/RFC1035"/>
</reference>

<reference anchor="RFC2782">
  <front>
    <title>A DNS RR for specifying the location of services (DNS SRV)</title>
    <author fullname="A. Gulbrandsen" initials="A." surname="Gulbrandsen"/>
    <author fullname="P. Vixie" initials="P." surname="Vixie"/>
    <author fullname="L. Esibov" initials="L." surname="Esibov"/>
    <date month="February" year="2000"/>
    <abstract>
      <t>This document describes a DNS RR which specifies the location of the server(s) for a specific protocol and domain. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2782"/>
  <seriesInfo name="DOI" value="10.17487/RFC2782"/>
</reference>


<reference anchor="I-D.ietf-dnsop-svcb-https">
   <front>
      <title>Service binding and parameter specification via the DNS (DNS SVCB and HTTPS RRs)</title>
      <author fullname="Benjamin M. Schwartz" initials="B. M." surname="Schwartz">
         <organization>Google</organization>
      </author>
      <author fullname="Mike Bishop" initials="M." surname="Bishop">
         <organization>Akamai Technologies</organization>
      </author>
      <author fullname="Erik Nygren" initials="E." surname="Nygren">
         <organization>Akamai Technologies</organization>
      </author>
      <date day="11" month="March" year="2023"/>
      <abstract>
	 <t>   This document specifies the &quot;SVCB&quot; and &quot;HTTPS&quot; DNS resource record
   (RR) types to facilitate the lookup of information needed to make
   connections to network services, such as for HTTP origins.  SVCB
   records allow a service to be provided from multiple alternative
   endpoints, each with associated parameters (such as transport
   protocol configuration), and are extensible to support future uses
   (such as keys for encrypting the TLS ClientHello).  They also enable
   aliasing of apex domains, which is not possible with CNAME.  The
   HTTPS RR is a variation of SVCB for use with HTTP [HTTP].  By
   providing more information to the client before it attempts to
   establish a connection, these records offer potential benefits to
   both performance and privacy.

   TO BE REMOVED: This document is being collaborated on in Github at:
   https://github.com/MikeBishop/dns-alt-svc
   (https://github.com/MikeBishop/dns-alt-svc).  The most recent working
   version of the document, open issues, etc. should all be available
   there.  The authors (gratefully) accept pull requests.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-svcb-https-12"/>
   
</reference>

<reference anchor="RFC4035">
  <front>
    <title>Protocol Modifications for the DNS Security Extensions</title>
    <author fullname="R. Arends" initials="R." surname="Arends"/>
    <author fullname="R. Austein" initials="R." surname="Austein"/>
    <author fullname="M. Larson" initials="M." surname="Larson"/>
    <author fullname="D. Massey" initials="D." surname="Massey"/>
    <author fullname="S. Rose" initials="S." surname="Rose"/>
    <date month="March" year="2005"/>
    <abstract>
      <t>This document is part of a family of documents that describe the DNS Security Extensions (DNSSEC). The DNS Security Extensions are a collection of new resource records and protocol modifications that add data origin authentication and data integrity to the DNS. This document describes the DNSSEC protocol modifications. This document defines the concept of a signed zone, along with the requirements for serving and resolving by using DNSSEC. These techniques allow a security-aware resolver to authenticate both DNS resource records and authoritative DNS error indications.</t>
      <t>This document obsoletes RFC 2535 and incorporates changes from all updates to RFC 2535. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4035"/>
  <seriesInfo name="DOI" value="10.17487/RFC4035"/>
</reference>

<reference anchor="RFC5155">
  <front>
    <title>DNS Security (DNSSEC) Hashed Authenticated Denial of Existence</title>
    <author fullname="B. Laurie" initials="B." surname="Laurie"/>
    <author fullname="G. Sisson" initials="G." surname="Sisson"/>
    <author fullname="R. Arends" initials="R." surname="Arends"/>
    <author fullname="D. Blacka" initials="D." surname="Blacka"/>
    <date month="March" year="2008"/>
    <abstract>
      <t>The Domain Name System Security (DNSSEC) Extensions introduced the NSEC resource record (RR) for authenticated denial of existence. This document introduces an alternative resource record, NSEC3, which similarly provides authenticated denial of existence. However, it also provides measures against zone enumeration and permits gradual expansion of delegation-centric zones. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5155"/>
  <seriesInfo name="DOI" value="10.17487/RFC5155"/>
</reference>




    </references>


<?line 345?>

<section anchor="ProblemOfFragmentation"><name>Weaknesses of IP fragmentation</name>

<t>"Fragmentation Considered Poisonous" <xref target="Herzberg2013"></xref> proposed effective
off-path DNS cache poisoning attack vectors using IP fragmentation.
"IP fragmentation attack on DNS" <xref target="Hlavacek2013"></xref> and "Domain Validation++
For MitM-Resilient PKI" <xref target="Brandt2018"></xref> proposed that off-path attackers
can intervene in path MTU discovery <xref target="RFC1191"></xref> to perform intentionally
fragmented responses from authoritative servers. <xref target="RFC7739"></xref> stated the
security implications of predictable fragment identification values.</t>

<t>DNSSEC is a countermeasure against cache poisoning attacks that use
IP fragmentation.
However, DNS delegation responses are not signed with DNSSEC,
and DNSSEC does not have a mechanism to get the correct response if
an incorrect delegation is injected. This is a denial-of-service
vulnerability that can yield failed name resolutions.
If cache poisoning attacks can be avoided,
DNSSEC validation failures will be avoided.</t>

<t>In Section 3.2 (Message Side Guidelines) of UDP Usage Guidelines <xref target="RFC8085"></xref>
we are told that an application SHOULD NOT send UDP datagrams
that result in IP packets that exceed the Maximum Transmission Unit (MTU)
along the path to the destination.</t>

<t>A DNS message receiver cannot trust fragmented UDP datagrams primarily due to
the small amount of entropy provided by UDP port numbers and DNS message
identifiers, each of which being only 16 bits in size, and both likely
being in the first fragment of a packet, if fragmentation occurs.
By comparison, TCP protocol stack controls packet size and avoids IP fragmentation under ICMP NEEDFRAG attacks.
In TCP, fragmentation should be avoided for performance reasons, whereas for
UDP, fragmentation should be avoided for resiliency and authenticity reasons.</t>

</section>
<section anchor="details"><name>Details of requestor's maximum UDP payload size discussions</name>

<t>There are many discussions for
default path MTU size and requestor's maximum UDP payload size.</t>

<t><list style="symbols">
  <t>The minimum MTU for an IPv6 interface is 1280 octets
(see Section 5 of <xref target="RFC8200"></xref>).
So, we can use it as the default path MTU value for IPv6.
The corresponding minimum MTU for an IPv4 interface is 68 (60 + 8)
<xref target="RFC0791"></xref>.</t>
  <t>Most of the Internet and especially the inner core has an MTU of at least 
1500 octets.
Maximum DNS/UDP payload size for IPv6 on MTU 1500 ethernet is
1452 (1500 minus 40 (IPv6 header size) minus 8 (UDP header size)).
To allow for possible IP options and distant tunnel overhead,
the authors' recommendation of default maximum DNS/UDP payload size is 1400.</t>
  <t><xref target="RFC4035"></xref> defines that "A security-aware name server MUST support
the EDNS0 message size extension, MUST support a message
size of at least 1220 octets". Then, the smallest number of
the maximum DNS/UDP payload size is 1220.</t>
  <t>In order to avoid IP fragmentation,
<xref target="DNSFlagDay2020"></xref> proposed that the UDP requestors set the requestor's
payload size to 1232, and the UDP responders compose UDP responses so they fit
in 1232 octets.
The size 1232 is based on an MTU of 1280, which is required
by the IPv6 specification <xref target="RFC8200"></xref>,
minus 48 octets for the IPv6 and UDP headers.</t>
  <t><xref target="Huston2021"></xref> analyzed the result of <xref target="DNSFlagDay2020"></xref> and reported that
their measurements suggest that in the interior of the Internet
between recursive resolvers and authoritative servers
the prevailing MTU is at 1,500
and there is no measurable signal of use of smaller MTUs
in this part of the Internet, and proposed that
their measurements suggest setting the EDNS0 requestor's UDP payload size to
1472 octets for IPv4, and 1452 octets for IPv6.</t>
</list></t>

</section>
<section anchor="minimal-responses"><name>Minimal-responses</name>

<t>Some implementations have a "minimal responses" configuration setting/option that causes
a DNS server to make response packets smaller, containing only mandatory and
required data.</t>

<t>Under the minimal-responses configuration,
a DNS server composes responses containing only nessesary RRs.
For delegations, see <xref target="I-D.ietf-dnsop-glue-is-not-optional"/>.
In case of a non-existent domain name or non-existent type, 
the authority section will contain an SOA record and the answer section is empty.
(defined in Section 2 of <xref target="RFC2308"/>).</t>

<t>Some resource records (MX, SRV, SVCB, HTTTPS) require
additional A, AAAA, and SVCB records
in the Additional Section
defined in <xref target="RFC1035"/>, <xref target="RFC2782"/> and <xref target="I-D.ietf-dnsop-svcb-https"/>.</t>

<t>In addition, if the zone is DNSSEC signed and a query has the DNSSEC OK bit,
signatures are added in the answer section,
or the corresponding DS RRSet and signatures are added in the authority section.
Details are defined in <xref target="RFC4035"/> and <xref target="RFC5155"/>.</t>

</section>
<section anchor="known-implementations"><name>Known Implementations</name>

<t>This section records the status of known implementations of these best
practices defined by this specification at the time of publication, and any
deviation from the specification.</t>

<t>Please note that the listing of any individual implementation here does not
imply endorsement by the IETF. Furthermore, no effort has been spent to
verify the information presented here that was supplied by IETF contributors.</t>

<section anchor="bind-9"><name>BIND 9</name>

<t>BIND 9 does not implement the recommendations 1 and 2 in <xref target="RecommendationsResponders"/>.</t>

<t>BIND 9 on Linux sets IP_MTU_DISCOVER to IP_PMTUDISC_OMIT with a fallback to
IP_PMTUDISC_DONT.</t>

<t>BIND 9 on systems with IP_DONTFRAG (such as FreeBSD), IP_DONTFRAG is disabled.</t>

<t>Accepting PATH MTU Discovery for UDP is considered harmful and dangerous.
BIND 9's settings avoid attacks to path MTU discovery.</t>

<t>For recommendation 3, BIND 9 will honor the requestor's size up to the
configured limit (<spanx style="verb">max-udp-size</spanx>). The UDP response packet is bound to be
between 512 and 4096 bytes, with the default set to 1232. BIND 9 supports the
requestor's size up to the configured limit (<spanx style="verb">max-udp-size</spanx>).</t>

<t>In the case of recommendation 4, and the send fails with EMSGSIZE, BIND 9
set the TC bit and try to send a minimal answer again.</t>

<t>In the first recommendation of <xref target="RecommendationsRequestors"/>, BIND 9 uses the <spanx style="verb">edns-buf-size</spanx>
option, with the default of 1232.</t>

<t>BIND 9 does implement recommendation 2 of <xref target="RecommendationsRequestors"/>.</t>

<t>For recommendation 3, after two UDP timeouts, BIND 9 will fallback to TCP.</t>

</section>
<section anchor="knot-dns-and-knot-resolver"><name>Knot DNS and Knot Resolver</name>

<t>Both Knot servers set IP_PMTUDISC_OMIT to avoid path MTU spoofing.
UDP size limit is 1232 by default.</t>

<t>Fragments are ignored if they arrive over an XDP interface.</t>

<t>TCP is attempted after repeated UDP timeouts.</t>

<t>Minimal responses are returned and are currently not configurable.</t>

<t>Smaller signatures are used, with ecdsap256sha256 as the default.</t>

</section>
<section anchor="powerdns-authoritative-server-powerdns-recursor-powerdns-dnsdist"><name>PowerDNS Authoritative Server, PowerDNS Recursor, PowerDNS dnsdist</name>

<t><list style="symbols">
  <t>IP_PMTUDISC_OMIT with fallback to IP_PMTUDISC_DONT</t>
  <t>default EDNS buffer size of 1232, no probing for smaller sizes</t>
  <t>no handling of EMSGSIZE</t>
  <t>Recursor: UDP timeouts do not cause a switch to TCP. "Spoofing nearmisses" do.</t>
</list></t>

</section>
<section anchor="powerdns-authoritative-server"><name>PowerDNS Authoritative Server</name>

<t><list style="symbols">
  <t>the default DNSSEC algorithm is 13</t>
  <t>responses are minimal, this is not configurable</t>
</list></t>

</section>
</section>


  </back>

<!-- ##markdown-source:
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
RAAA

-->

</rfc>

