Unicast-prefix multicast: Unicast-Prefix-based IPv6 Multicast Addresses
How an IPv6 multicast address can include the unicast prefix of the network that owns it.
Haberman, B. and D. Thaler, "Unicast-Prefix-based IPv6 Multicast Addresses", RFC 3306, DOI 10.17487/RFC3306, September 2002, <https://www.rfc-editor.org/info/rfc3306>.
@misc{rfc3306,
series = {Request for Comments},
number = 3306,
howpublished = {RFC 3306},
publisher = {RFC Editor},
doi = {10.17487/RFC3306},
url = {https://www.rfc-editor.org/info/rfc3306},
author = {B. Haberman and D. Thaler},
title = {{Unicast-Prefix-based IPv6 Multicast Addresses}},
pagetotal = 7,
year = 2002,
month = sep,
} RFC text
Contents
Network Working Group B. Haberman
Request for Comments: 3306 Consultant
Category: Standards Track D. Thaler
Microsoft
August 2002
Unicast-Prefix-based IPv6 Multicast Addresses
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2002). All Rights Reserved.
Abstract
This specification defines an extension to the multicast addressing
architecture of the IP Version 6 protocol. The extension presented
in this document allows for unicast-prefix-based allocation of
multicast addresses. By delegating multicast addresses at the same
time as unicast prefixes, network operators will be able to identify
their multicast addresses without needing to run an inter-domain
allocation protocol.
Table of Contents
1. Introduction....................................................2
2. Motivation......................................................2
3. Terminology.....................................................2
4. Multicast Address Format........................................2
5. Address Lifetime................................................4
6. Source-Specific Multicast Addresses.............................4
7. Examples........................................................4
8. Security Considerations.........................................5
9. References......................................................5
Author's Address...................................................6
Full Copyright Statement...........................................7
1. Introduction
This document specifies an extension to the multicast portion of the
IPv6 addressing architecture [ADDRARCH]. The current architecture
does not contain any built-in support for dynamic address allocation.
This proposal introduces encoded information in the multicast address
to allow for dynamic allocation of IPv6 multicast addresses and IPv6
source-specific multicast addresses.
2. Motivation
The current IPv4 multicast address allocation architecture [RFC 2908]
is based on a multi-layered, multi-protocol system. The goal of this
proposal is to reduce the number of protocols that need to be
deployed in order to get dynamic multicast address allocation.
The use of unicast prefix-based multicast address allocation will, at
a minimum, remove the need to run the Multicast Address Allocation
Protocol (AAP) [AAP WORK] and the Multicast Address-Set Claim (MASC)
Protocol [RFC 2909].
3. Terminology
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].
4. Multicast Address Format
Section 2.7 of [ADDRARCH] defines the following operational format of
IPv6 multicast addresses:
| 8 | 4 | 4 | 112 |
+--------+----+----+---------------------------------------------+
|11111111|flgs|scop| group ID |
+--------+----+----+---------------------------------------------+
This document introduces a new format that incorporates unicast
prefix information in the multicast address. The following
illustrates the new format:
| 8 | 4 | 4 | 8 | 8 | 64 | 32 |
+--------+----+----+--------+--------+----------------+----------+
|11111111|flgs|scop|reserved| plen | network prefix | group ID |
+--------+----+----+--------+--------+----------------+----------+
+-+-+-+-+
flgs is a set of 4 flags: |0|0|P|T|
+-+-+-+-+
o P = 0 indicates a multicast address that is not assigned
based on the network prefix. This indicates a multicast
address as defined in [ADDRARCH].
o P = 1 indicates a multicast address that is assigned based
on the network prefix.
o If P = 1, T MUST be set to 1, otherwise the setting of the T
bit is defined in Section 2.7 of [ADDRARCH].
The reserved field MUST be zero.
plen indicates the actual number of bits in the network prefix field
that identify the subnet when P = 1.
network prefix identifies the network prefix of the unicast subnet
owning the multicast address. If P = 1, this field contains the
unicast network prefix assigned to the domain owning, or allocating,
the multicast address. All non-significant bits of the network
prefix field SHOULD be zero.
It should be noted that the Interface Identifier requirements in
Section 2.5.1 of [ADDRARCH] effectively restrict the length of the
unicast prefix to 64 bits, hence the network prefix portion of the
multicast address will be at most 64 bits.
Group ID is set based on the guidelines outlined in [IPV6 GID].
The scope of the unicast-prefix based multicast address MUST NOT
exceed the scope of the unicast prefix embedded in the multicast
address.
5. Address Lifetime
The lifetime of a unicast prefix-based multicast address SHOULD NOT
exceed the Valid Lifetime field in the Prefix Information option,
corresponding to the unicast prefix being used, contained in the
Neighbor Discovery Router Advertisement message [RFC 2461]. The
lifetime of the multicast address is needed to support the Abstract
API for Multicast Address Allocation [RFC 2771].
It should be noted that the unicast prefix's Valid Lifetime in the
Router Advertisement message does not indicate that the prefix will
become invalid at the end of the lifetime. Rather, that value is
typically a constant until a renumbering event is scheduled after
which, the prefix does become invalid.
The use of unicast prefix-based multicast addresses after the unicast
prefix has become invalid may lead to operational problems. For
example, routers that perform policy checks comparing the multicast
prefix against the unicast prefix assigned to an AS may discard the
packet.
6. Source-Specific Multicast Addresses
The unicast prefix-based IPv6 multicast address format supports
Source-specific multicast addresses, as defined by [SSM ARCH]. To
accomplish this, a node MUST:
o Set P = 1.
o Set plen = 0.
o Set network prefix = 0.
These settings create an SSM range of FF3x::/32 (where 'x' is any
valid scope value). The source address field in the IPv6 header
identifies the owner of the multicast address.
7. Examples
The following are a few examples of the structure of unicast prefix-
based multicast addresses.
- Global prefixes - A network with a unicast prefix of
3FFE:FFFF:1::/48 would also have a unicast prefix-based
multicast prefix of FF3x:0030:3FFE:FFFF:0001::/96 (where 'x'
is any valid scope).
- SSM - All IPv6 SSM multicast addresses will have the format
FF3x::/96.
8. Security Considerations
It is possible that the embedded unicast prefix can aid in
identifying the allocation domain of a given multicast address,
though an allocation domain choosing to avoid being traced has no
obstacles currently to creating addresses using a prefix not assigned
to it, or using a smaller scope embedded prefix.
Using source-specific multicast addresses can sometimes aid in the
prevention of denial-of-service attacks by arbitrary sources,
although no guarantee is provided. A more in-depth discussion of the
security considerations for SSM can be found in [SSM ARCH].
9. References
[RFC 2026] Bradner, S., "The Internet Standards Process -- Revision
3", BCP 9, RFC 2026, October 1996.
[RFC 2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC 2460, December 1998.
[ADDRARCH] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", RFC 2373, July 1998.
[RFC 2908] Thaler, D., Handley, M. and D. Estrin, "The Internet
Multicast Address Allocation Architecture", RFC 2908,
September 2000.
[AAP WORK] Handley, M. and S. Hanna, "Multicast Address Allocation
Protocol (AAP)", Work In Progress.
[RFC 2909] Radoslavov, P., Estrin, D., Govindan, R., Handley, M.,
Kumar, S. and D. Thaler, "The Multicast Address-Set Claim
(MASC) Protocol", RFC 2909, September 2000.
[RFC 2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1999.
[IPV6 GID] Haberman, B., "Dynamic Allocation Guidelines for IPv6
Multicast Addresses", RFC 3307, June 2002.
[RFC 2461] Narten, T., Nordmark, E. and W. Simpson, "Neighbor
Discovery for IP Version 6 (IPv6)", RFC 2461, December
1998.
[RFC 2771] Finlayson, R., "An Abstract API for Multicast Address
Allocation", RFC 2771, February 2000.
[SSM ARCH] Holbrook, H. and B. Cain, "Source-Specific Multicast for
IP", Work In Progress.
Author's Address
Brian Haberman
Consultant
Phone: 1-919-949-4828
EMail: bkhabs@nc.rr.com
Dave Thaler
Microsoft Corporation
One Microsoft Way
Redmond, WA 48105-6399
Phone: 1-425-703-8835
EMail: dthaler@microsoft.com
Full Copyright Statement
Copyright (C) The Internet Society (2002). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
ISO Plain Language
On this page
§1The Multicast Allocation Problem
The IPv6 addressing architecture described in RFC 2373 has no built-in support for dynamically allocating multicast addresses. RFC 3306 adds encoded information to multicast addresses so IPv6 multicast and source-specific multicast addresses can be allocated dynamically.
The RFC aims to reduce the number of protocols needed for dynamic allocation. It says unicast-prefix-based allocation removes, at a minimum, the need to run the Multicast Address Allocation Protocol and the Multicast Address-Set Claim protocol.
IPv6 did not include a built-in way to assign multicast group addresses dynamically. This RFC puts the network's prefix into the group address so operators can identify addresses associated with their network.
§4Fields in the Multicast Address
The format keeps the IPv6 multicast marker, flags, and scope, then uses an 8-bit reserved field, an 8-bit plen, a 64-bit network-prefix field, and a 32-bit group ID. The four flag bits are 0 0 P T. P says whether the address is based on a unicast prefix; when P is 1, T MUST also be 1.
The reserved field MUST be zero. plen gives the number of prefix bits that identify the subnet. The network-prefix field holds the unicast prefix of the domain that owns or allocates the multicast address; its non-significant bits SHOULD be zero. The address scope MUST NOT exceed the scope of the embedded prefix.
The address has fields for the multicast marker, scope, prefix length, network prefix, and group ID. Its prefix flag marks the address as based on a unicast prefix, and the address scope cannot be broader than that prefix's scope.
| Field | Name | Size | Value | Description |
|---|---|---|---|---|
MARKER | 11111111 | 1 byte | IPv6 multicast marker. | |
FLAGS | Flags | 4 bits | 0 0 P T; P=1 requires T=1. | |
SCOPE | Scope | 4 bits | The address scope. | |
RESERVED | Reserved | 1 byte | 0 | MUST be zero. |
PLEN | plen | 1 byte | Significant network-prefix bits. | |
NETWORK-PREFIX | Network prefix | 8 bytes | The owning domain's unicast prefix. | |
GROUP-ID | Group ID | 4 bytes | The multicast group identifier. |
§5How Long the Address Remains Valid
The lifetime of a unicast-prefix-based multicast address SHOULD NOT exceed the Valid Lifetime for its unicast prefix in the Neighbor Discovery Router Advertisement. The lifetime supports the Abstract API for Multicast Address Allocation.
The Valid Lifetime value does not itself mean that the prefix expires when the value runs out. The RFC says the value is typically constant until renumbering is scheduled; after that, the prefix does become invalid. Continuing to use multicast addresses after their prefix becomes invalid may cause operational problems, including packet discard by routers that perform prefix policy checks.
A multicast address should not outlast the validity period advertised for its unicast prefix. If the network prefix becomes invalid after renumbering, continued use of the old multicast address can cause problems.
§6Source-Specific Multicast and Examples
To form a source-specific multicast address, a node MUST set P to 1, plen to 0, and the network-prefix field to 0. This produces the range FF3x::/32, where x is any valid scope. The source address in the IPv6 header identifies the owner of the multicast address.
The RFC gives an example: the unicast prefix 3FFE:FFFF:1::/48 corresponds to the multicast prefix FF3x:0030:3FFE:FFFF:0001::/96. It also says IPv6 SSM multicast addresses have the format FF3x::/96.
For source-specific multicast, the prefix length and network-prefix fields are zero while the prefix flag is set. The RFC's example shows how a network prefix appears within a multicast prefix.
§8Security Considerations
The embedded unicast prefix can help identify the allocation domain for a multicast address. However, an allocation domain can avoid being traced by using a prefix that was not assigned to it or by embedding a prefix with a smaller scope.
Source-specific multicast can sometimes help prevent denial-of-service attacks from arbitrary sources, but the RFC makes no guarantee. It points to the source-specific multicast architecture for more detailed security discussion.
The embedded prefix can indicate which domain allocated an address, but it is not proof of ownership. Source-specific multicast can help against some denial-of-service attacks, though it does not guarantee protection.