RFC 3646

DNS Configuration options for Dynamic Host Configuration Protocol for IPv6 (DHCPv6)

πŸ“… published December 2003, from ietf

RFC 3646: DNS Configuration options for Dynamic Host Configuration Protocol for IPv6 (DHCPv6) πŸŽ€

Okay bestie, let's start with the basics ✨ This is RFC 3646, a Standards Track doc, so it's real official protocol energy πŸ’… It was written by Ralph Droms (he's the editor, so he gets the "Ed." 🫢) at Cisco Systems, and it was published in December 2003 πŸ“ It came out of the Network Working Group, and its header doesn't list anything it obsoletes or updates, so it's standing on its own πŸ‘‘


Status of this Memo ✨

Okay so this one is an Internet standards track protocol for the whole Internet community 🌐 It's inviting discussion and suggestions for improvements πŸ’¬ If you want the current official status of this protocol, check the "Internet Official Protocol Standards" (STD 1) doc, because that's where the standardization state lives πŸ“š And distribution of this memo is unlimited, so share it with everyone πŸ’–

Copyright (C) The Internet Society (2003). All Rights Reserved. 🌸

Abstract

This doc is all about DHCPv6 options 🧚 Specifically, it's about passing a list of available DNS recursive name servers, plus a domain search list, over to a client. Main character energy πŸ¦‹

1. Introduction 🌈

Okay, so this doc describes two options for passing along configuration info related to the Domain Name Service (DNS). The DNS stuff is defined in RFC 1034 [6] and RFC 1035 [1], and the options get delivered through DHCPv6 (RFC 3315 [2]) ✨

2. Terminology πŸ’œ

Here's the key-words situation πŸ”₯ The key words in this document are to be interpreted as described in BCP 14, RFC 2119 [3]. Those key words are: MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL. Listen up, these are the ones that carry the weight 🫢

Throughout this document, and unless it says otherwise, "DHCP" means DHCP for IPv6 (DHCPv6) as specified in RFC 3315 ✨ This doc also uses terminology that's specific to IPv6 and DHCP, and that terminology is defined in the section "Terminology" of RFC 3315 πŸ¦‹

3. DNS Recursive Name Server option πŸŽ€

Okay so the DNS Recursive Name Server option gives you a list of one or more IPv6 addresses of DNS recursive name servers. A client's DNS resolver MAY send DNS queries to those servers [1]. The servers are listed in order of preference for the client resolver to use πŸ‘‘ The sequence is the whole point, bestie πŸ’…

The format of the DNS Recursive Name Server option looks like this 🧚

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      OPTION_DNS_SERVERS       |         option-len            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |            DNS-recursive-name-server (IPv6 address)           |
   |                                                               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |            DNS-recursive-name-server (IPv6 address)           |
   |                                                               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              ...                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

And here's what each field means πŸ’–

   option-code:               OPTION_DNS_SERVERS (23)

   option-len:                Length of the list of DNS recursive name
                              servers in octets; must be a multiple of
                              16

   DNS-recursive-name-server: IPv6 address of DNS recursive name server

4. Domain Search List option 🌸

Okay, the Domain Search List option tells the client which domain search list to use when it resolves hostnames with DNS πŸ” Heads up, though: this option does not apply to other name resolution mechanisms πŸ™ˆ

The format of the Domain Search List option is πŸ¦‹

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |      OPTION_DOMAIN_LIST       |         option-len            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                          searchlist                           |
      |                              ...                              |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Here's what those fields are 🧚

   option-code:  OPTION_DOMAIN_LIST (24)

   option-len:   Length of the 'searchlist' field in octets

   searchlist:   The specification of the list of domain names in the
                 Domain Search List

Now the rule for the list: the list of domain names in the 'searchlist' MUST be encoded as specified in the section "Representation and use of domain names" of RFC 3315. No skipping that, periodt πŸ’…

5. Appearance of these options πŸ’œ

This section is about where these options are allowed to show up πŸŽ€ Read it carefully, because it's a big deal πŸ”₯

The DNS Recursive Name Server option MUST NOT appear in any message other than these: Solicit, Advertise, Request, Renew, Rebind, Information-Request, and Reply πŸ™…β€β™€οΈ

The Domain Search List option MUST NOT appear in any message other than these: Solicit, Advertise, Request, Renew, Rebind, Information-Request, and Reply πŸ™…β€β™€οΈ

okay bestie, the legal bit 🫢 Copyright (C) The Internet Society (2003). All Rights Reserved.

You're allowed to copy this document and share it with other people, and you can make derivative works that comment on it, explain it, or help people implement it. You can publish and distribute those works, in whole or in part, with no restrictions of any kind. The one condition is that the copyright notice and this paragraph have to be included on every copy and every derivative work. πŸ’œ

You can't edit the document itself, though. That means you can't remove the copyright notice or the references to the Internet Society or other Internet organizations. There are two exceptions: you can change it as needed to develop Internet standards, and in that case you have to follow the copyright procedures in the Internet Standards process. You can also translate it into languages other than English. 🌸

The permissions above are perpetual. The Internet Society and its successors or assignees will never take them back. πŸ¦‹

This document and the information in it are provided "AS IS", and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED. That includes, but isn't limited to, any warranty that using the information here won't infringe any rights, and any implied warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Not gonna lie, that's a lot of legalese, but it's basically saying "use at your own risk" πŸ’€

Acknowledgement πŸŽ€

Funding for the RFC Editor function is currently provided by the Internet Society. πŸ“

πŸ“¦ where this page comes from