In IPv6, there’s no longer any broadcast – sending one packet to a large number of unspecified hosts. There’s only multicast, unicast and anycast. In IPv6 all nodes are required to support multicast. Without multicast, many services that you need will simply not work. There’s a constant hum from the network on the multicast channels. Read on to get a brief overview and links to more information. Spend 30 minutes on IPv6 and learn more!
30 years ago, IP Multicast did not exist
When IPv4 was specified, there was no multicast standard for IP networks. A lot of network services, like DHCP and ARP, had to depend on broadcast to work. IPv6 is a new protocol and had multicast services from start, so network discovery functions now builds upon multicast instead. This means that hosts that run these servers listen to the multicast addresses and other hosts will not be bothered when a client sends IP packets to these addresses. Multicast also enables site-wide and global services where clients subscribe to a data stream. To quote RFC 4291:
Multicast: An identifier for a set of interfaces (typically belonging to different nodes). A packet sent to a multicast address is delivered to all interfaces identified by that address. There are no broadcast addresses in IPv6, their function being superseded by multicast addresses.
The IPv6 address range FF00::/8 is reserved for multicast – the first eight bits are all ones – 1111 1111. Multicast can be sent with different scopes, like global, site-local (your network) or link local (everyone on the same LAN). By combining a service address with a scope you can reach exactly the hosts you want. And when creating new applications your servers can register for a multicast address and your clients send to it to reach the set of servers.
|ff02::||Link Local: spans the same topological region as the corresponding unicast scope, i.e. all nodes on the same LAN.|
|ff05::||Site local: is intended to span a single site|
|ff08::||Organization scope: Intended to span multiple sizes within the same organization|
|ff0e::||Global scope, assigned by IANA.|
|ff01::||Interface local: Spans only a single interface on a node and is useful only for loopback transmission of multicast.|
For services on the network, there are some allocated addresses for services like NTP and DHCP. In IPv4 a DHCP solicitation would disturb every node on the link by sending to 255.255.255.255. In IPv6 the DHCP solicitation (if used) is sent only to servers and routers listening to the DHCPv6 multicast address.
|FF02:0:0:0:0:0:0:12||VRRP - Virtual Router Redudancy Protocol|
When an IPv6 node prepares to use an IPv6 address it has auto-configured, it sends out a query on the network to double-check that no one already use this address. This is also using multicast, sending to a specific multicast address used for neighbor discovery.
- IP Multicast was an addon to IPv4, mostly used for delivery of multimedia.
- In IPv6, Multicast replaces Broadcast and is an integrated and necessary function in your IP network
- Automatic configuration of IP addresses and DHCP both use IPv6 multicast
- Jeremy Barth has a good article about IPv6 Multicast at Windowsnetworking.com (Aug 25, 2011)
- A 6deploy.eu presentation on IPv6 Multicast (July 2008)
- The TCP/IP Guide – Introduction to IPv6 multicast and anycast addressing
- RFC 3307: Allocation Guidelines for IPv6 Multicast Addresses
- RFC 4291: IP Version 6 Addressing Architecture