RFC 3306 PROPOSED STANDARD IPV6 · MULTICAST · ADDRESSING

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.

On rfc-editor.org ↗
PUBLISHED
September 2002
AUTHORS
B. Haberman, D. Thaler
STREAM
IETF
UPDATED BY
RFC 3956 — Embedded-RP, RFC 4489 — IPv6 link multicast, RFC 7371 — Updates to the IPv6 Multicast Addressing Architecture
NETWORK PREFIX FIELD
64 bits
GROUP ID FIELD
32 bits
SSM RANGE
FF3x::/32
FLAGS
0 0 P T (P = 1 requires T = 1)
DOI
10.17487/RFC3306

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
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
PROBLEMIPv6 multicast addressing had no built-in support for dynamic address allocation, and the IPv4-style approach needs a multi-layered, multi-protocol system.
MECHANISMA new multicast address format carries the owner's unicast network prefix and its length, with a P flag marking such addresses. Whoever is delegated a unicast prefix can then work out its own multicast addresses.
WHY IT MATTERSOperators need not run an inter-domain allocation protocol. Setting the prefix and its length to zero also gives the source-specific multicast range FF3x::/32. The RFC was updated by RFC 3956, RFC 4489 and RFC 7371.

§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.

  • reserved MUST be zero.
  • plen is the number of bits in the network prefix field that identify the subnet when P = 1.
  • network prefix holds 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 ID follows 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.

UNICAST PREFIX-BASED IPV6 MULTICAST ADDRESS (RFC 3306)
Unicast prefix-based multicast address
FieldNameSizeValueDescription
PREFIX-FF111111111 byteFixed multicast marker.
FLGSflgs4 bitsFlags 0 0 P T.
SCOPscop4 bitsScope of the address.
RESERVEDreserved1 byte0MUST be zero.
PLENplen1 byteNumber of significant bits in the network prefix.
NETWORK-PREFIXnetwork prefix8 bytesUnicast prefix of the owning domain.
GROUP-IDgroup ID4 bytesSet 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.

§8References