Internet-Draft | DNS in Constrained Networks | October 2022 |
Lenders, et al. | Expires 27 April 2023 | [Page] |
This document provides guidance on the composition of DNS messages in constrained networks, where the link layer may restrict payload sizes significantly and batteries challenge power consumption.¶
This note is to be removed before publishing as an RFC.¶
The latest revision of this draft can be found at https://anr-bmbf-pivot.github.io/draft-lenders-dns-cns/draft-lenders-dns-cns.html. Status information for this document may be found at https://datatracker.ietf.org/doc/draft-lenders-dns-cns/.¶
Discussion of this document takes place on the TBD Working Group mailing list (mailto:TBD@example.com), which is archived at nicfs.nic.ddn.mil:~/namedroppers/*.Z.¶
Source for this draft and an issue tracker can be found at https://github.com/anr-bmbf-pivot/draft-lenders-dns-cns.¶
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 https://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 27 April 2023.¶
Copyright (c) 2022 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 (https://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 to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
Many IoT scenarios rely on constrained nodes [RFC7228] and need the Domain Name System (DNS). Constrained nodes [RFC7228], however, challenge DNS resolution for two reasons. First, IoT networks, such as IEEE 802.15.4 and LoRaWAN, often limit the payload of the data link layer significantly in terms of size, which prevents common (larger) DNS responses. Second, constrained nodes are often battery powered and follow a strict duty cycle, which would benefit from minimal number of DNS messages to reduce unnecessary device wake-ups. Adoption layers such as 6LoWPAN [RFC4944] and SCHC [RFC8724] provide fragmentation and compression to overcome the problem, but do not help in principle. Fragmentation requires more buffer space to account for lost fragments in lossy networks, and compression introduces additional processing overhead.¶
This document provides best common practices on DNS behavior, to reduce fragmentation and power consumption in constrained networks when IoT nodes resolve names.¶
A "DNS server" is a server that provides DNS information to a querying DNS client. For the purpose of this document, server and client may communicate based on any DNS transport, not just DNS over UDP [RFC1035], but also DNS over TLS [RFC7858], DNS over HTTPS [RFC8484], or DNS over CoAP [I-D.ietf-core-dns-over-coap].¶
The terms "constrained node" and "constrained network" are used as defined in [RFC7228].¶
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 BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
Nodes within a constrained network that implement DNS are assumed to be stub resolvers [RFC8499]. This means they only query information from a recursive DNS resolver and they MUST NOT distribute any DNS information received from an upstream DNS server.¶
A DNS server that is aware that the querying node is a node within a constrained network SHOULD resolve a CNAME or PTR record until the resource record type originally requested by the node is reached. This reduces the number of message exchanges within a constrained network.¶
The DNS server SHOULD send compact answers, i.e., omit additional or authority sections in a DNS reply. Additional and authority sections should only be included if they help a DNS client to reduce queries. One such example is DNS-SD [RFC6763], where the answer does not only need to include an SRV record but also TXT and A/AAAA records to make decent use of the reply.¶
TBD: Provide more specific example use case? Should the list be almost complete?¶
In the case when DNS clients act as DNS servers, resolving CNAME and PTR records at the upstream DNS server may lead to incorrect DNS information forwarded by the client. As such, this document prohibits the distribution of such information in Section 3¶
TODO more security¶
This document has no IANA actions.¶
TODO acknowledge.¶