Unicast-prefix multicast: Unicast-Prefix-based IPv6 Multicast Addresses
How an IPv6 multicast address can embed a network's unicast prefix so a network gets its own multicast addresses.
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.
AI ELI5
On this page
§1Introduction
RFC 3306 extends the multicast part of the IPv6 addressing architecture defined in RFC 2373. The existing architecture has no built-in support for dynamic address allocation. This specification puts information into the multicast address itself so that IPv6 multicast addresses, and IPv6 source-specific multicast addresses, can be allocated dynamically.
Group addresses used to be handed out with no system. This RFC hides a clue about the owner inside the address, so handing them out becomes easy.
§2Motivation
The IPv4 multicast address allocation architecture (RFC 2908) is a multi-layered, multi-protocol system. The goal here is to reduce the number of protocols that must be deployed to get dynamic multicast address allocation.
Unicast prefix-based allocation removes, at a minimum, the need to run the Multicast Address Allocation Protocol (AAP) and the Multicast Address-Set Claim (MASC) protocol (RFC 2909). By delegating multicast addresses at the same time as unicast prefixes, operators can identify their multicast addresses without an inter-domain allocation protocol.
Instead of a big committee deciding who gets which group address, you get yours together with your network address.
§4The Multicast Address Format
The existing format is 8 bits of 11111111, 4 flag bits, 4 scope bits and a 112-bit group ID. The new format keeps the first three fields and splits the rest: an 8-bit reserved field, an 8-bit plen, a 64-bit network prefix and a 32-bit group ID.
The four flags are 0 0 P T. P = 0 means the address is not assigned based on the network prefix (an ordinary address as in RFC 2373). P = 1 means it is. If P = 1, T MUST be set to 1.
reservedMUST be zero.plenis the number of bits in the network prefix field that identify the subnet whenP = 1.network prefixholds the unicast prefix of the domain owning, or allocating, the address. Non-significant bits SHOULD be zero. The interface identifier rules limit the prefix to at most 64 bits.group IDfollows the guidelines of RFC 3307.
The scope of the address MUST NOT exceed the scope of the embedded unicast prefix.
The address has labelled boxes. One box holds a copy of your network's address, one says how long that copy is, and the rest says which group inside your network.
| Field | Name | Size | Value | Description |
|---|---|---|---|---|
PREFIX-FF | 11111111 | 1 byte | Fixed multicast marker. | |
FLGS | flgs | 4 bits | Flags 0 0 P T. | |
SCOP | scop | 4 bits | Scope of the address. | |
RESERVED | reserved | 1 byte | 0 | MUST be zero. |
PLEN | plen | 1 byte | Number of significant bits in the network prefix. | |
NETWORK-PREFIX | network prefix | 8 bytes | Unicast prefix of the owning domain. | |
GROUP-ID | group ID | 4 bytes | Set by the RFC 3307 guidelines. |
§5Address Lifetime
The lifetime of a unicast prefix-based multicast address SHOULD NOT exceed the Valid Lifetime in the Prefix Information option for the unicast prefix, carried in the Neighbor Discovery Router Advertisement (RFC 2461). The lifetime is needed to support the Abstract API for Multicast Address Allocation (RFC 2771).
The advertised Valid Lifetime does not mean the prefix will expire when it runs out. It is typically a constant until a renumbering event is scheduled, after which the prefix does become invalid. Using these multicast addresses after the prefix is invalid may cause operational problems, for example routers that compare the multicast prefix against the prefix assigned to an AS may discard the packet.
Your group addresses are only good while your street address is good. If the street gets renamed, the old group addresses may stop working.
§6Source-Specific Multicast Addresses
The format supports source-specific multicast addresses. To create one, a node MUST set P = 1, plen = 0 and network prefix = 0. These settings yield the SSM range FF3x::/32, where x is any valid scope value. The source address field in the IPv6 header identifies the owner of the multicast address.
If you set the street part to nothing, the address becomes a channel that only a named sender can use, and the sender's own address tells you who owns it.
§7Examples
A network with the unicast prefix 3FFE:FFFF:1::/48 has the unicast prefix-based multicast prefix FF3x:0030:3FFE:FFFF:0001::/96, where x is any valid scope. All IPv6 SSM multicast addresses have the format FF3x::/96.
Copy the network's address into the middle of the group address, and the group address is ready to use.
§8Security Considerations
The embedded unicast prefix can help identify the allocation domain of a multicast address. However, a domain that wants to avoid being traced can create addresses with a prefix not assigned to it, or with a smaller scope embedded prefix.
Source-specific multicast addresses can sometimes help prevent denial-of-service attacks by arbitrary sources, though no guarantee is provided. The security considerations for SSM are discussed in more depth in the SSM architecture document.
The hidden clue can show who owns a group address, but a sneaky owner can leave a false clue.