DHCPv6 Option for
IPv4-Embedded Multicast and Unicast IPv6 PrefixesOrangeRennes35000Francemohamed.boucadair@orange.comCiscoChinajacni@jacni.comPhilips Lightingtina.tsou@philips.comThe University of New South WalesNSW 2052SydneyAustraliadxhbupt@gmail.com
Internet
Softwire WGPREFIX64, SSM, ASM, Prefix Discovery, IPv4-Converted IPv6
Addresses, IPv4 service continuity, IPv6 Address Synthesis, Any-Source
Multicast, Source-Specific Multicast, PIM, IPv4-IPv6 interconnection, IPv4
over IPv6This document defines a Dynamic Host Configuration Protocol version 6
(DHCPv6) Option for multicast IPv4 service continuity solutions, which
is used to carry the IPv6 prefixes to be used to build unicast and
multicast IPv4-embedded IPv6 addresses.Several solutions (e.g., ) are proposed for
the delivery of multicast services in the context of transition to IPv6.
Even if these solutions may have different applicable use cases, they
all use specific IPv6 addresses that embed IPv4 addresses, for both
multicast group and source addresses.This document defines a DHCPv6 option
that carries the IPv6 prefixes to be used for constructing these
IPv4-embedded IPv6 addresses.In particular, this option can be used in the context of DS-Lite
, Stateless A+P , and other IPv4-IPv6 transition techniques.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.This document makes use of the following terms:an IPv6 address which
embeds a 32 bit-encoded IPv4 address .
An IPv4-embedded IPv6 address can be a unicast or a multicast
address.is an IPv6 prefix used for synthesizing
IPv4-embedded IPv6 addresses. A PREFIX64 can be of unicast or
multicast.Note: "64" is used as an abbreviation for IPv6-IPv4
interconnection.a multicast PREFIX64 which belongs to
the Any-Source Multicast (ASM) range.a multicast PREFIX64 which belongs to
the Source-Specific Multicast (SSM) )
range.a unicast PREFIX64 for building the
IPv4-embedded IPv6 addresses of multicast sources in SSM mode.OPTION_V6_PREFIX64 () conveys the IPv6
prefix(es) to be used (e.g., by an mB4 ) to synthesize
IPv4-embedded IPv6 addresses.The fields of the option shown in are
as follows:OPTION_V6_PREFIX64 (see ).length of the PREFIX64 option.the prefix-length for the ASM
IPv4-embedded prefix, as an 8-bit unsigned integer (0 to 128). This
field represents the number of valid leading bits in the prefix.this field identifies the IPv6 multicast
prefix to be used to synthesize the IPv4-embedded IPv6 addresses of
the multicast groups in the ASM mode. It is a variable size field
with the length of the field defined by the asm-length field and is
rounded up to the nearest octet boundary. In this case, any
additional padding bits must be zeroed. The conveyed multicast IPv6
prefix MUST belong to the ASM range.the prefix-length for the SSM
IPv4-embedded prefix, as an 8-bit unsigned integer (0 to 128). This
field represents the number of valid leading bits in the prefix.this field identifies the IPv6 multicast
prefix to be used to synthesize the IPv4-embedded IPv6 addresses of
the multicast groups in the SSM mode. It is a variable size field
with the length of the field defined by the ssm-length field and is
rounded up to the nearest octet boundary. In such case any
additional padding bits must be zeroed. The conveyed multicast IPv6
prefix MUST belong to the SSM range.the prefix-length for the IPv6 unicast
prefix to be used to synthesize the IPv4-embedded IPv6 addresses of
the multicast sources, as an 8-bit unsigned integer (0 to 128). This
field represents the number of valid leading bits in the prefix.this field identifies the IPv6 unicast
prefix to be used in SSM mode for constructing the IPv4-embedded
IPv6 addresses representing the IPv4 multicast sources in the IPv6
domain. U_PREFIX64 may also be used to extract the IPv4 address from
the received multicast data flows. It is a variable size field with
the length of the field defined by the unicast-length field and is
rounded up to the nearest octet boundary. In this case, any
additional padding bits must be zeroed. The address mapping MUST
follow the guidelines documented in .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 side
effect conflicts with the recommendation documented in Section 6 of
.DHCP servers supporting OPTION_V6_PREFIX64 should be configured with
U_PREFIX64 and at least one multicast PREFIX64 (i.e., ASM_PREFIX64
and/or SSM_PREFIX64).When a multicast PREFIX64 (ASM_PREFIX64 or SSM_PREFIX64) is
configured, the length of the prefix must be /96.Both ASM_PREFIX64 and SSM_PREFIX64 may be configured and therefore be
returned to a requesting DHCP client in the same OPTION_V6_PREFIX64. In
particular, if both SSM and ASM modes are supported, ASM_PREFIX64 and
SSM_PREFIX64 prefixes must be configured. For SSM deployments, both
SSM_PREFIX64 and U_PREFIX64 must be configured.When distinct IPv6 multicast address scopes are required to preserve the scope when
translating IPv4 multicast addresses (Section 8 of ), 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_PREFIX64 is configured.To retrieve the IPv6 prefixes that will be used to synthesize unicast
and multicast IPv4-embedded IPv6 addresses, the DHCPv6 client MUST
include OPTION_V6_PREFIX64 in its OPTION_ORO. If the DHCPv6 client
receives more than one OPTION_V6_PREFIX64 option from the DHCPv6
server:If each enclosed IPv6 multicast prefix has a distinct scope, 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 that have the same scope, the said options MUST be
discarded.If asm-length, ssm-length and unicast-length fields are all set to 0,
the DHCPv6 client MUST behave as if OPTION_V6_PREFIX64 had not been
received in the response received from the DHCPv6 server.If the asm-length field is non-null, the IPv6 prefix identified by
ASM_PREFIX64 is used to synthesize IPv4-embedded IPv6 multicast
addresses in the ASM range. This is achieved by concatenating the
ASM_PREFIX64 and the IPv4 multicast address; the Pv4 multicast address
is 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_PREFIX64 is used to synthesize IPv4-embedded IPv6 multicast
addresses in the SSM range. This is achieved by concatenating the
SSM_PREFIX64 and the IPv4 multicast address; the Pv4 multicast address
is 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 U_PREFIX64 is used to synthesize IPv4-embedded IPv6 unicast addresses
as specified in .The security considerations documented in and are to be
considered.Particular thanks to C. Jacquenet, S. Venaas, B. Volz, and T. Taylor
for their review.Many thanks to I. Farrer and T. Lemon for the comments.Authors of this document request IANA to assign a new DHCPv6 option
code in the registry maintained in
http://www.iana.org/assignments/dhcpv6-parameters: