Dec 092011
 

Spend 30 minutes with IPv6 every Friday!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.

1111 1111 – the code for Multicast Packets

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.

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

Address Target
FF02:0:0:0:0:0:0:2 All routers
FF02:0:0:0:0:0:0:9 RIP Routers
FF02:0:0:0:0:0:0:F UPnP
FF02:0:0:0:0:0:0:12 VRRP - Virtual Router Redudancy Protocol
FF02:0:0:0:0:0:0:FB mDNS

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.

Executive summary:

  • 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

Links