In computer networking, we have three different methods of sending messages: Unicast, Multicast, and Broadcast.
- Unicast: This method sends data between a single sender and single receiver. This is a type of Point-to-Point transmission. We use this method when we only have one destination.
- Broadcast: The sender transmits the packet to all nodes in the network simultaneously. This type of address uses a particular type of address for the destination address inside the packet. ARP protocol is the most popular example that uses this kind of address. This protocol finds and extracts Layer 2 MAC address from within the layer 3 IP address.
- Multicast: This type of transmission is used when we want to send data to a group of stations. In this case, packets are transmitted from a single sender to multiple receivers at the same time. Here, the load on both the sender and the network are reduced because only a single copy of the data packet is sent to multiple nodes.
When using the unicast method, a client will send the message to only one destination device. If a client needs to send a message to multiple stations, it will have to send multiple unicast messages. Each message needs to be addressed to a specific receiving station.
In order to do this, the sending station needs to know the exact IP address of each destination of the devices. In our example, we have one sender and multiple receiving clients which belong to different groups in the network (marked with color).
As we can see in the picture, a separate unicast message is sent to each client. Each unicast packet has a different destination address.
The second method of sending messages is called Broadcast wehre a single packet is copied and sent to every receiving station in the network.
The destination address in the packet is a special address called Broadcast Address. When such a packet is propagated in the network, every receiving station will catch it and process it. Therefore, all of these clients will see the same message.
One thing to remember is that a router cannot forward broadcast messages. It will receive the broadcast traffic but will not forward it through the network.
A layer 2 broadcast address is exactly FF:FF:FF:FF:FF:FF all the time. But in layer 3, the Broadcast address is always the last IP address in the IP range of that segment.
Multicasting was invented to identify a logical groups of computers. This means there might be 20 computers on a single story of a company but only 7 of them are part of the multicast group. By sending a single message with multicast addressing, only the 7 computers will receive it.
To identify the members of a group and the group itself, multicasting takes advantage of a protocol called (IGMP) which is the abbreviation of Internet Group Management Protocol. Besides that, IGMP protocol is used by routers in order transmit messages to those subnets that contain group members. As a short notice, a Subnet is a group of computers with a specific range of IP addresses inside the network. We’ll go through subnetting later.
The router actually doesn’t keep track of which host is the members of which group. The only important thing for a router is that each Subnet contains at least one member. If we have multiple routers, they will communicate and exchange information about multicast groups they know about.
The range of Multicast IP addresses
Each host on the network can belong to several multicast groups. These hosts can join or leave groups at any time.
Multicast groups can be recognized by particular IP addresses that range between 188.8.131.52 and 184.108.40.206. Each group is assigned its own address. Addresses within the 220.127.116.11 range are reserved for protocols such as OSPF, EIGRP and so on. You will read a lot of articles about device-specific protocols later on.
When a client on the local segment needs to send a multicast message, it will use a Frame with a special MAC address. Multicast addresses within a MAC address always begin with 01-00-5E. The rest of the MAC address is a changed format, derived from the multicast IP address.