Internet-Draft DNS in Constrained Networks October 2022
Lenders, et al. Expires 27 April 2023 [Page]
Workgroup:
TBD
Internet-Draft:
draft-lenders-dns-cns-00
Published:
Intended Status:
Best Current Practice
Expires:
Authors:
M. S. Lenders
FU Berlin
T. C. Schmidt
HAW Hamburg
M. Wählisch
FU Berlin

Guidance on DNS Message Composition in Constrained Networks

Abstract

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.

About This Document

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.

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 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.

Table of Contents

1. Introduction

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.

2. Terminology

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.

3. Constrained Resolver Considerations

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.

4. DNS Server Consideration

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?

5. Security Considerations

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

6. IANA Considerations

This document has no IANA actions.

7. References

7.1. Normative References

[RFC1035]
Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, , <https://www.rfc-editor.org/rfc/rfc1035>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/rfc/rfc2119>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/rfc/rfc8174>.

7.2. Informative References

[I-D.ietf-core-dns-over-coap]
Lenders, M. S., Amsüss, C., Gündoğan, C., Schmidt, T. C., and M. Wählisch, "DNS over CoAP (DoC)", Work in Progress, Internet-Draft, draft-ietf-core-dns-over-coap-00, , <https://datatracker.ietf.org/doc/html/draft-ietf-core-dns-over-coap-00>.
[RFC4944]
Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler, "Transmission of IPv6 Packets over IEEE 802.15.4 Networks", RFC 4944, DOI 10.17487/RFC4944, , <https://www.rfc-editor.org/rfc/rfc4944>.
[RFC6763]
Cheshire, S. and M. Krochmal, "DNS-Based Service Discovery", RFC 6763, DOI 10.17487/RFC6763, , <https://www.rfc-editor.org/rfc/rfc6763>.
[RFC7228]
Bormann, C., Ersue, M., and A. Keranen, "Terminology for Constrained-Node Networks", RFC 7228, DOI 10.17487/RFC7228, , <https://www.rfc-editor.org/rfc/rfc7228>.
[RFC7858]
Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D., and P. Hoffman, "Specification for DNS over Transport Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, , <https://www.rfc-editor.org/rfc/rfc7858>.
[RFC8484]
Hoffman, P. and P. McManus, "DNS Queries over HTTPS (DoH)", RFC 8484, DOI 10.17487/RFC8484, , <https://www.rfc-editor.org/rfc/rfc8484>.
[RFC8499]
Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS Terminology", BCP 219, RFC 8499, DOI 10.17487/RFC8499, , <https://www.rfc-editor.org/rfc/rfc8499>.
[RFC8724]
Minaburo, A., Toutain, L., Gomez, C., Barthel, D., and JC. Zuniga, "SCHC: Generic Framework for Static Context Header Compression and Fragmentation", RFC 8724, DOI 10.17487/RFC8724, , <https://www.rfc-editor.org/rfc/rfc8724>.

Acknowledgments

TODO acknowledge.

Authors' Addresses

Martine Sophie Lenders
Freie Universität Berlin
Thomas C. Schmidt
HAW Hamburg
Matthias Wählisch
Freie Universität Berlin