IPv6 cheat-sheet, part 3: IPv6 multicast

Share on linkedin
Share on facebook
Share on twitter
Now that we’ve familiarized ourselves with the IPv6 header and the IPv6 address space, let’s take a look at multicast.

Unicast, anycast, multicast

IPv6 packets can be sent, depending on the intended purpose, in a variety of ways:

  • unicast: used for 1-to-1 communication; it sends the packet to a specific node. (Certain unicast addresses within the IPv6 address space are reserved. See the previous post for details.)
  • anycast: used for 1-to-1-of-many communication; it sends the packet to multiple nodes but only intended to the closest on its route.
  • multicast: used for 1-to-many communication; it sends the packet to multiple nodes.

We’re not covering anycast in detail at this moment, but we can — do let us know if that’s something of interest to you!

IPv6 multicast

IPv6 multicast works by nodes* joining multicast groups by sending Multicast Listener Discovery (MLD) report messages.

(*Little terminology from IETF: node is an interface enabled for IPv6. Router is any node that forwards IPv6 packets that are not expressly addressed to it. Host is any node that’s not a router.)

Multicast groups aren’t constrained by local or global (network) geography. Whether the host is on the local network or on the internet, as long as it’s signaling to join a multicast group, it can receive multicast packets sent to that group.

Any host can be a sender, whether it’s part of the multicast group or not. Only hosts part of the multicast group are receivers. Hosts can join or leave multicast groups dynamically at any time.

IPv6 multicast addresses: FF00::/8

All IPv6 multicast addresses share the prefix of FF00::/8.

  • The first octet is FF (1111 1111). This way you can tell at a glance if an IPv6 address is intended for multicast or not.
  • The second octet defines:
    • the lifetime (0 for permanent multicast; 1 for temporary)
    • and scope (1 for node, 2 for link, 5 for site, 8 for organization, and E for global scope).

The multicast address ends with the interface ID.

Well-known IPv6 multicast addresses

Many IPv6 multicast addresses are well-known to software implementing IPv6, to simplify common routing needs.

ff02::1all nodes
ff02::2all routers
ff02::5all OSPF (Open Shortest Path First) routers
ff02::6all OSPF DRs (OSPF Designated Routers)
ff02::9all RIP (Routing Information Protocol) routers
ff02::aall EIGRP (Enhanced Interior Gateway Routing Protocol) routers
ff02::dall PIM (Protocol Independent Multicast) routers
ff02::f UPNP (Universal Plug and Play) devices
ff02::11all homenet nodes
ff02::12VRRP (Virtual Router Redundancy Protocol)
ff02::16all MLDv2-capable routers
ff02::1aall RPL (Routing Protocol for Low-Power and Lossy Networks) routers (used in Internet of Things (IoT) devices)
ff02::fbmulticast DNS IPv6
ff02::101network time (NTP)
ff02::1:2all DHCP agents
ff02::1:3LLMNR (Link-Local Multicast Name Resolution)
ff02:0:0:0:0:1:ff00::/104solicited node address
ff02:0:0:0:0:1-2:ff00::/104node information query
ff05::1:3all DHCP server (site)
ff05::101all NTP server (site)

(Did we or did we not promise a veritable smorgasbord of acronyms?)

More IPv6 coming up!

Next time we’ll be taking a look at IPv4-IPv6 tunneling and the particularities of migrating from IPv4 to IPv6.

After that, we have one last post to cover the remaining sections on our cheat-sheet, including useful Linux commands.

As always, do let us know if there’s a particular part of IPv6 (whether covered in here or not) you’d like to know more about!

Share on linkedin
Share on facebook
Share on twitter