We actually have three different methods of sending messages over computer networks. Those methods are Unicast, multicast and broadcast.
When using unicast method, one device will send the message to exactly one destination device. If some device needs to send a message to multiple devices, it will have to send multiple unicast messages, each message addressed to a specific device. So, the sender has to send a separate message to each destination device, and to do that it has to know the exact IP address of each destination device. Remember that in unicasting, each packet is destined for only one device. In our example we have one source device, and multiple destination devices which belong to different groups of devices (marked with color). As we can see on the picture, unicast messages will be sent to specific devices by using the specific IP address of the device, as the destination address in the packet.
The second method of sending messages is called the broadcasting. Broadcast is a packet that’s sent to all devices on specific network. The destination address in the packet is the special broadcast address. If the packet has a broadcast address, all devices that receive that message will process it. So, all devices on the same network segment will see the same message. Another thing to remember is that routers don’t forward broadcast messages. The router will receive the broadcast traffic, but it will not forward it through the router.
“Multicasting identifies logical groups of computers. A single message can then be sent to the group.”
Multicasting uses the Internet Group Management Protocol (IGMP) to identify groups and group members. Routers will also use IGMP to send messages to subnets that have group members. The router actually doesn’t keep track of which hosts are members of which group, only that the subnet contains at least one member for each group. If we have multiple routers, they will communicate and exchange information about multicast groups that they have.Each host on the network can belong to multiple multicast groups. Hosts can join or leave groups at any time. Multicast groups are identified by special IP addresses between the range of 22.214.171.124 and 126.96.36.199. Each group is assigned it’s own address. Addresses within the 188.8.131.52 range are reserved for local subnet communications.When we use a switch to connect hosts, multicast messages are actually forwarded to all hosts on the hub or the switch. As you should know, devices actually use MAC addresses to communicate on the local network segment. When the device on the local segment needs to send a multicast message, it will use a frame with a special MAC address. Special multicast addresses in the MAC address begin with 01-00-5E. The remaining portion of the MAC address is a modified format of the multicast IP address. When the switch receives the frame with the multicast MAC address, it will forward the frame out all ports to all connected devices. In this case, even devices that are not members of the original IP multicast group will see the frame. However, devices that don’t belong to the IP multicast group will not process the frame since they will check the destination IP address. If we want to avoid this problem in which devices which don’t belong to the original IP multicast group still receive packets, we have to implement switches that are capable of IGMP snooping. IGMP snooping feature enables switches to check which device belongs to which multicast group. In that case, when a message arrives at the switch addressed to a specific group using the special frame address, the switch will forward that frame to the individual group members. It will not forward the frame to the devices that are not a member of the group. Only the switch with IGMP snooping can do that. So, the switch controls forwarding the frames to specific group members. The router keeps track of which subnets have group members.