RFC 3306 PROPOSED STANDARD IPV6 · MULTICAST · ADDRESSING

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.

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

ISO Plain Language

On this page
PROBLEMIPv6 multicast addressing has no built-in method for dynamic address allocation. The existing IPv4 allocation approach uses several protocols.
MECHANISMThe address format includes the owning network's unicast prefix and its prefix length. A flag marks prefix-based addresses, allowing a domain with a unicast prefix to identify multicast addresses tied to it.
WHY IT MATTERSThe format avoids a need to run an inter-domain multicast allocation protocol. RFC 3306 was updated by RFC 3956, RFC 4489, and RFC 7371.

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

UNICAST-PREFIX-BASED IPV6 MULTICAST ADDRESS
Multicast address fields
FieldNameSizeValueDescription
MARKER111111111 byteIPv6 multicast marker.
FLAGSFlags4 bits0 0 P T; P=1 requires T=1.
SCOPEScope4 bitsThe address scope.
RESERVEDReserved1 byte0MUST be zero.
PLENplen1 byteSignificant network-prefix bits.
NETWORK-PREFIXNetwork prefix8 bytesThe owning domain's unicast prefix.
GROUP-IDGroup ID4 bytesThe 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.

§6References