2.7. Multicast Addresses
An IPv6 multicast address is an identifier for a group of interfaces (typically on different nodes). An interface may belong to any number of multicast groups. Multicast addresses have the following format:
| 8 bits | 4 bits | 4 bits | 112 bits |
+------------+---------+---------+-------------------------------+
| 11111111 | flgs | scop | group ID |
+------------+---------+---------+-------------------------------+
The binary 11111111 at the start of the address identifies the address as being a multicast address.
Flags (flgs)
+-+-+-+-+
|0|R|P|T|
+-+-+-+-+
flgs is a set of 4 flags:
-
High-order flag: Reserved, and must be initialized to 0.
-
T flag:
T = 0indicates a permanently-assigned ("well-known") multicast address, assigned by the Internet Assigned Numbers Authority (IANA).T = 1indicates a non-permanently-assigned ("transient" or "dynamically" assigned) multicast address.
-
P flag: The definition and usage of the P flag is in [RFC3306].
-
R flag: The definition and usage of the R flag is in [RFC3956].
Scope (scop)
scop is a 4-bit multicast scope value used to limit the scope of the multicast group. The values are:
| Value | Scope | Description |
|---|---|---|
| 0 | reserved | Reserved |
| 1 | Interface-Local scope | Interface-Local scope |
| 2 | Link-Local scope | Link-Local scope |
| 3 | reserved | Reserved |
| 4 | Admin-Local scope | Admin-Local scope |
| 5 | Site-Local scope | Site-Local scope |
| 6 | (unassigned) | Unassigned |
| 7 | (unassigned) | Unassigned |
| 8 | Organization-Local scope | Organization-Local scope |
| 9 | (unassigned) | Unassigned |
| A | (unassigned) | Unassigned |
| B | (unassigned) | Unassigned |
| C | (unassigned) | Unassigned |
| D | (unassigned) | Unassigned |
| E | Global scope | Global scope |
| F | reserved | Reserved |
Scope descriptions:
-
Interface-Local scope: Spans only a single interface on a node, and is useful only for loopback transmission of multicast.
-
Link-Local scope: Spans the same topological region as the corresponding unicast scope.
-
Admin-Local scope: Is the smallest scope that must be administratively configured, i.e., not automatically derived from physical connectivity or other non-multicast-related configuration.
-
Site-Local scope: Is intended to span a single site.
-
Organization-Local scope: Is intended to span multiple sites belonging to a single organization.
-
Scopes labeled "(unassigned)": Are available for administrators to define additional multicast regions.
Group ID
group ID identifies the multicast group, either permanent or transient, within the given scope. The structure of the multicast group ID field is provided in [RFC3306].
Multicast Address Semantics
The "meaning" of a permanently-assigned multicast address is independent of the scope value. For example, if the "NTP servers group" is assigned a permanent multicast address with a group ID of 101 (hex), then:
FF01:0:0:0:0:0:0:101means all NTP servers on the same interface (i.e., the same node) as the sender.FF02:0:0:0:0:0:0:101means all NTP servers on the same link as the sender.FF05:0:0:0:0:0:0:101means all NTP servers in the same site as the sender.FF0E:0:0:0:0:0:0:101means all NTP servers in the internet.
Non-permanently-assigned multicast addresses are meaningful only within a given scope. For example, a non-permanently-assigned link-local multicast address FF12:0:0:0:0:0:0:8765 at one site bears no relationship to an address with the same group ID at a different site, nor to a non-permanently-assigned multicast address with a different scope but the same group ID, nor to a permanent multicast address with the same group ID.
Multicast Address Usage Restrictions
-
Multicast addresses must not be used as source addresses in IPv6 packets or appear in any Routing header.
-
Routers must not forward any multicast packets beyond the scope indicated by the scop field in the destination multicast address.
-
Nodes must not originate a packet to a multicast address whose scop field contains the reserved value 0; if such a packet is received, it must be silently dropped.
-
Nodes must not originate a packet to a multicast address whose scop field contains the reserved value F; if such a packet is received, it must be silently dropped.
2.7.1. Pre-Defined Multicast Addresses
The following well-known multicast addresses are pre-defined. The group IDs defined in this section are defined for explicit scope values.
Use of these group IDs for any other scope values is not allowed (T flag equals 0).
Reserved Multicast Addresses
FF00:0:0:0:0:0:0:0
FF01:0:0:0:0:0:0:0
FF02:0:0:0:0:0:0:0
FF03:0:0:0:0:0:0:0
FF04:0:0:0:0:0:0:0
FF05:0:0:0:0:0:0:0
FF06:0:0:0:0:0:0:0
FF07:0:0:0:0:0:0:0
FF08:0:0:0:0:0:0:0
FF09:0:0:0:0:0:0:0
FF0A:0:0:0:0:0:0:0
FF0B:0:0:0:0:0:0:0
FF0C:0:0:0:0:0:0:0
FF0D:0:0:0:0:0:0:0
FF0E:0:0:0:0:0:0:0
FF0F:0:0:0:0:0:0:0
The above multicast addresses are reserved and shall never be assigned to any multicast group.
All Nodes Addresses
FF01:0:0:0:0:0:0:1
FF02:0:0:0:0:0:0:1
The above multicast addresses identify the group of all IPv6 nodes, within scope 1 (interface-local) or 2 (link-local).
All Routers Addresses
FF01:0:0:0:0:0:0:2
FF02:0:0:0:0:0:0:2
FF05:0:0:0:0:0:0:2
The above multicast addresses identify the group of all IPv6 routers, within scope 1 (interface-local), 2 (link-local), or 5 (site-local).
Solicited-Node Address
FF02:0:0:0:0:1:FFXX:XXXX
Solicited-Node multicast address is computed as a function of a node's unicast and anycast addresses. A Solicited-Node multicast address is formed by taking the low-order 24 bits of an address (unicast or anycast) and appending those bits to the prefix FF02:0:0:0:0:1:FF00::/104, resulting in a multicast address in the range:
FF02:0:0:0:0:1:FF00:0000
to
FF02:0:0:0:0:1:FFFF:FFFF
Example:
The solicited-node multicast address corresponding to the IPv6 address 4037::01:800:200E:8C6C is FF02::1:FF0E:8C6C.
IPv6 addresses that differ only in the high-order bits (e.g., due to multiple high-order prefixes associated with different aggregations) will map to the same solicited-node address, thereby reducing the number of multicast addresses a node must join.
A node is required to compute and join (on the appropriate interface) the associated Solicited-Node multicast addresses for all unicast and anycast addresses that are configured for the node's interface (manually or via automatic address configuration).
Multicast Address Examples
| Address | Description |
|---|---|
FF02::1 | All nodes on link-local |
FF02::2 | All routers on link-local |
FF02::1:FF00:0/104 | Solicited-node address prefix |
FF05::2 | All routers on site-local |
FF0E::101 | Global NTP servers (example) |