RFC 8115
DHCPv6 Option for IPv4-Embedded Multicast and Unicast IPv6 Prefixes
RFC 8115 π DHCPv6 Option for IPv4-Embedded Multicast and Unicast IPv6 Prefixes
okay bestie, this one's the DHCPv6 option spec for IPv4-embedded IPv6 prefixes β¨ here's the title-block tea π«: it's RFC 8115, published March 2017 as a Standards Track doc, with ISSN 2070-1721. The authors are M. Boucadair (Orange), J. Qin (Cisco), T. Tsou (Philips Lighting), and X. Deng (The University of New South Wales). The title block doesn't list anything it obsoletes or updates π
Table of Contents π
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2
3. OPTION_V6_PREFIX64 DHCPv6 Option . . . . . . . . . . . . . . 3
4. DHCPv6 Client Behavior . . . . . . . . . . . . . . . . . . . 5
5. Security Considerations . . . . . . . . . . . . . . . . . . . 5
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 6
7.1. Normative References . . . . . . . . . . . . . . . . . . 6
7.2. Informative References . . . . . . . . . . . . . . . . . 6
Appendix A. Configuration Recommendations for DHCP Servers . . . 8
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
Abstract β¨
this doc defines a DHCPv6 option for multicast IPv4 service continuity solutions π¦ the option carries the IPv6 prefixes that get used to build unicast and multicast IPv4-embedded IPv6 addresses. it's giving very specific, very useful π
Status of This Memo π
this is an Internet Standards Track document, no cap π₯
it's a product of the Internet Engineering Task Force (IETF) π it represents the consensus of the IETF community, got public review, and was approved for publication by the Internet Engineering Steering Group (IESG). if you want more on Internet Standards, check Section 2 of RFC 7841 πΈ
info about the current status, any errata, and how to give feedback lives at http://www.rfc-editor.org/info/rfc8115 π
Copyright Notice π
Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved π
this doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as in effect on the publication date. please actually read these, bestie π they describe your rights and restrictions for this document. code components pulled out of this doc must include Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as described in the Simplified BSD License π«Ά
1. Introduction π¦
so, several solutions (for example, [RFC8114]) have been proposed for delivering multicast services during the transition to IPv6 β¨ even though they might have different use cases, they all use special IPv6 addresses that embed IPv4 addresses, for both multicast group and source addresses π§
this doc defines a DHCPv6 option [RFC3315] that carries the IPv6 prefixes used to build those IPv4-embedded IPv6 addresses π
this option can be used with Dual-Stack Lite (DS-Lite) [RFC6333], Stateless Address plus Port (A+P) [RFC6346], and other IPv4-IPv6 transition techniques, so it's pretty versatile π
1.1. Requirements Language π¬
the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119] π
2. Terminology π
this doc uses the following terms, so let's get them straight πΈ
- IPv4-embedded IPv6 address: an IPv6 address that embeds a 32-bit-encoded IPv4 address [RFC6052]. an IPv4-embedded IPv6 address can be a unicast or a multicast address π¦
- Prefix64: an IPv6 prefix used for synthesizing IPv4-embedded IPv6 addresses. a Prefix64 can be unicast or multicast π
Note: "64" is used as an abbreviation for IPv6-IPv4 interconnection. π
- ASM_mPrefix64: a multicast Prefix64 that belongs to the Any-Source Multicast (ASM) range π
- SSM_mPrefix64: a multicast Prefix64 which belongs to the Source-Specific Multicast (SSM) [RFC4607] range β¨
- uPrefix64: a unicast Prefix64 for building the IPv4-embedded IPv6 addresses of multicast sources in SSM mode π§
3. OPTION_V6_PREFIX64 DHCPv6 Option π
OPTION_V6_PREFIX64 (Figure 1) carries the IPv6 prefix(es) used (for example, by an mB4 [RFC8114]) to synthesize IPv4-embedded IPv6 addresses π
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_V6_PREFIX64 | option-length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| asm-length | |
+-+-+-+-+-+-+-+-+ :
: ASM_mPrefix64 :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ssm-length | |
+-+-+-+-+-+-+-+-+ :
: SSM_mPrefix64 :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| unicast-length| |
+-+-+-+-+-+-+-+-+ :
: uPrefix64 (Variable) :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Option Format for OPTION_V6_PREFIX64
the fields in Figure 1 work like this π§
option-code:OPTION_V6_PREFIX64(see Section 6) π’option-length: the length of the option, in octets πasm-length: the prefix length for the ASM IPv4-embedded prefix, as an 8-bit unsigned integer. it's the number of valid leading bits in the prefix. this field MUST be set to 96 πASM_mPrefix64: identifies the IPv6 multicast prefix used to synthesize the IPv4-embedded IPv6 addresses of multicast groups in ASM mode. the conveyed multicast IPv6 prefix MUST belong to the ASM range β¨ssm-length: the prefix length for the SSM IPv4-embedded prefix, as an 8-bit unsigned integer. it's the number of valid leading bits in the prefix. this field MUST be set to 96 π¦SSM_mPrefix64: identifies the IPv6 multicast prefix used to synthesize the IPv4-embedded IPv6 addresses of multicast groups in SSM mode. the conveyed multicast IPv6 prefix MUST belong to the SSM range πunicast-length: the prefix length for the IPv6 unicast prefix used to synthesize the IPv4-embedded IPv6 addresses of multicast sources, as an 8-bit unsigned integer. as specified in [RFC6052], the unicast-length MUST be one of 32, 40, 48, 56, 64, or 96. this field represents the number of valid leading bits in the prefix π§uPrefix64: identifies the IPv6 unicast prefix used in SSM mode to construct the IPv4-embedded IPv6 addresses representing the IPv4 multicast sources in the IPv6 domain. uPrefix64 may also be used to extract the IPv4 address from the received multicast data flows. it's a variable-size field, its length is defined by the unicast-length field, and it's rounded up to the nearest octet boundary. any additional padding bits must be zeroed. the address mapping MUST follow the guidelines documented in [RFC6052] π
multiple instances of OPTION_V6_PREFIX64 may be returned to a DHCPv6 client π configuration recommendations for DHCP servers are in Appendix A πΈ
Note that it was tempting to define three distinct DHCPv6 options, but that approach was not adopted because it has a side effect: the specification of a DHCPv6 option that could be used to discover unicast Prefix64s in environments where multicast is not enabled. Such a side effect conflicts with the recommendation to support the Well-Known DNS Name heuristic discovery-based method for unicast-only environments (Section 6 of [RFC7051]). π
4. DHCPv6 Client Behavior π
to retrieve the IPv6 prefixes used to synthesize unicast and multicast IPv4-embedded IPv6 addresses, the DHCPv6 client MUST include the OPTION_V6_PREFIX64 code in its OPTION_ORO. if the DHCPv6 client gets more than one OPTION_V6_PREFIX64 option from the DHCPv6 server:
- if each enclosed IPv6 multicast prefix has a distinct scope [RFC7346], the client MUST select the appropriate IPv6 multicast prefix whose scope matches the IPv4 multicast address used to synthesize an IPv4-embedded IPv6 multicast address π«Ά
- if at least two of the received options convey IPv6 multicast prefixes with the same scope, those options MUST be discarded π
if asm-length, ssm-length, and unicast-length are all set to 0, the DHCPv6 client MUST behave as if OPTION_V6_PREFIX64 had not been received in the response from the DHCPv6 server π
if the asm-length field is non-null, the IPv6 prefix identified by ASM_mPrefix64 is used to synthesize IPv4-embedded IPv6 multicast addresses in the ASM range β¨ this is done by concatenating ASM_mPrefix64 and the IPv4 multicast address, with the IPv4 multicast address inserted in the last 32 bits of the IPv4-embedded IPv6 multicast address π¦
if the ssm-length field is non-null, the IPv6 prefix identified by SSM_mPrefix64 is used to synthesize IPv4-embedded IPv6 multicast addresses in the SSM range π this is done by concatenating SSM_mPrefix64 and the IPv4 multicast address, with the IPv4 multicast address inserted in the last 32 bits of the IPv4-embedded IPv6 multicast address π§
if the unicast-length field is non-null, the IPv6 prefix identified by uPrefix64 is used to synthesize IPv4-embedded IPv6 unicast addresses as specified in [RFC6052] π
5. Security Considerations π¨
the security considerations in [RFC3315] and [RFC6052] are to be considered π
6. IANA Considerations π§Ύ
IANA has assigned the following option code in the "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)" registry (http://www.iana.org/assignments/dhcpv6-parameters) πΈ
Option Name Value
------------------ -----
OPTION_V6_PREFIX64 113
7. References π
the reference entries continue in part 2 β¨
7.1. Normative References
okay bestie, these are the must-read ones πβ¨ the references this spec leans on hard. Here's the whole list, copied exactly:
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC3315] Droms, R., Ed., Bound, J., Volz, B., Lemon, T., Perkins,
C., and M. Carney, "Dynamic Host Configuration Protocol
for IPv6 (DHCPv6)", RFC 3315, DOI 10.17487/RFC3315, July
2003, <http://www.rfc-editor.org/info/rfc3315>.
[RFC4607] Holbrook, H. and B. Cain, "Source-Specific Multicast for
IP", RFC 4607, DOI 10.17487/RFC4607, August 2006,
<http://www.rfc-editor.org/info/rfc4607>.
[RFC6052] Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X.
Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052,
DOI 10.17487/RFC6052, October 2010,
<http://www.rfc-editor.org/info/rfc6052>.
7.2. Informative References
these ones are the background reading π¦ helpful for context, not required to implement the thing:
[RFC2365] Meyer, D., "Administratively Scoped IP Multicast", BCP 23,
RFC 2365, DOI 10.17487/RFC2365, July 1998,
<http://www.rfc-editor.org/info/rfc2365>.
[RFC6333] Durand, A., Droms, R., Woodyatt, J., and Y. Lee, "Dual-
Stack Lite Broadband Deployments Following IPv4
Exhaustion", RFC 6333, DOI 10.17487/RFC6333, August 2011,
<http://www.rfc-editor.org/info/rfc6333>.
[RFC6346] Bush, R., Ed., "The Address plus Port (A+P) Approach to
the IPv4 Address Shortage", RFC 6346,
DOI 10.17487/RFC6346, August 2011,
<http://www.rfc-editor.org/info/rfc6346>.
[RFC7051] Korhonen, J., Ed. and T. Savolainen, Ed., "Analysis of
Solution Proposals for Hosts to Learn NAT64 Prefix",
RFC 7051, DOI 10.17487/RFC7051, November 2013,
<http://www.rfc-editor.org/info/rfc7051>.
[RFC7346] Droms, R., "IPv6 Multicast Address Scopes", RFC 7346,
DOI 10.17487/RFC7346, August 2014,
<http://www.rfc-editor.org/info/rfc7346>.
[RFC8114] Boucadair, M., Qin, C., Jacquenet, C., Lee, Y., and Q.
Wang, "Delivery of IPv4 Multicast Services to IPv4 Clients
over an IPv6 Multicast Network", RFC 8114,
DOI 10.17487/RFC8114, March 2017,
<http://www.rfc-editor.org/info/rfc8114>.
Appendix A. Configuration Recommendations for DHCP Servers π§
this appendix is totally non-normative π so think of these as friendly configuration recommendations, not hard rules. Here's the tea:
- DHCP servers supporting
OPTION_V6_PREFIX64must be configured withASM_mPrefix64orSSM_mPrefix64, and may be configured with both. uPrefix64must also be configured whenSSM_mPrefix64is provided.uPrefix64may be configured whenASM_mPrefix64is provided.- Note that
uPrefix64is not mandatory for the ASM case if, for example, a local address mapping algorithm is supported or the Well-Known Prefix (64:ff9b::/96) is used.
- Note that
- Both
ASM_mPrefix64andSSM_mPrefix64may be configured and therefore be returned to a requesting DHCP client in the sameOPTION_V6_PREFIX64. In particular, if both SSM and ASM modes are supported,ASM_mPrefix64andSSM_mPrefix64prefixes must be configured. For SSM deployments, bothSSM_mPrefix64anduPrefix64must be configured. π - When a multicast Prefix64 (
ASM_mPrefix64orSSM_mPrefix64) is configured, the length of the prefix must be/96. - When distinct IPv6 multicast address scopes [RFC7346] are required to preserve the scope when translating IPv4 multicast addresses (Section 8 of [RFC2365]), each scope is configured as a separate
OPTION_V6_PREFIX64. How DHCP servers are configured to separate multicast Prefix64 per scope is implementation specific and not covered by this document. π - When scope preservation is not required, only one instance of
OPTION_V6_PREFIX64is configured.
Acknowledgments πΈ
huge thank-yous to C. Jacquenet, S. Venaas, B. Volz, T. Taylor, R. Weber, R. Even, J. Sheng, T. Mrugalski, and T. Chown for reviewing this. π«Ά
and many thanks to I. Farrer and T. Lemon for the comments π
Authors' Addresses π
the people who wrote this π
Mohamed Boucadair
Orange
Rennes 35000
France
Email: mohamed.boucadair@orange.com
Jacni Qin
Cisco
Shanghai
China
Email: jacni@jacni.com
Tina Tsou
Philips Lighting
United States of America
Email: tina.tsou@philips.com
Xiaohong Deng
The University of New South Wales
Sydney NSW 2052
Australia
Email: dxhbupt@gmail.com
π¦ where this page comes from
- ietf: rfc8115 2017-03
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms