while broadcast sends the traffic to all computers in the network – multicast follows a „subscribe to service“ model.
broadcast -> a computer using ARP sends a packet to FF:FF:FF:FF:FF:FF (the ARP multicast address) and tells the switch to send this package to ALL computers connected to the switch. (It could be „Hello it’s me! I have address 00:15:5d:00:07:08 and i am sitting on port 21 of the switch – where is the DHCP server?“)
same is true for IPv4 and TCP – any computer connected to the switch that sends a TCP package to 255.255.255.255 reaches ALL computers connected to the switch – this could lead to useless traffic.
A special definition exists for the IP broadcast address 255.255.255.255. It is the broadcast address of the zero network or 0.0.0.0, which in Internet Protocol standards stands for this network, i.e. the local network. Transmission to this address is limited by definition, in that it is never forwarded by the routers connecting the local network to other networks.
with multicast instead – there is a specially crafted protocol – the Service Location Protocol – that basically makes servers making their services known – and clients looking for a certain service need to „subscribe“ to a service in order to receive the traffic.
In IPv6, there’s no longer any broadcast – sending one packet to a large number of unspecified hosts.
When IPv4 was specified, there was no multicast standard for IP networks.
A lot of network services, like DHCP and ARP 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.“