A unicast address is an address that represents a single unique node on a network. A message sent to a unicast address will only be received by the node that has that address. Unicast addresses fall into the following categories (first octet):
Class A: 1 - 126 Reserved: 127 Class B: 128 - 191 Class C: 192-223
The resulting subnet mask of each unicast address depends on which category the unicast address falls into. Here are the default subnet masks of each address:
Class A: 0.255.255.255 Class B: 0.0.255.255 Class C: 0.0.0.255
Subnet masks can be modified so a subnet is smaller is used, this is call Variable Length Subnet Masking. For example a 10.0.0.1 address could use a Class C subnet mask in order to divide the Class A subnet into multiple smaller subnets.
A broadcast address is the very last address in a IPv4 subnet. This is dependent on the subnet mask. A message sent to the broadcast address of a subnet will be received by all nodes in the network.
For example the broadcast address for:
Network: 10.0.0.0/16 Subnet mask: 255.255.0.0 Broadcast: 10.0.255.255
Network: 10.0.0.0/8 Subnet mask: 255.0.0.0 Broadcast: 10.255.255.255
Multicast addresses are similar to broadcast addresses in that multiple hosts receive the message. They differ in the fact that only members of the multicast group will receive the message. Multicast address are in the 224 – 239 range and have a subnet mask of 240.0.0.0 (/4).
Multicast addresses are often used for routing protocols, streaming data to multiple machines and time services.