Expired

IGMP & Multicast

Expired

Multicast & IGMP

Multicast is the process of a host on an IP network sending data which can then be received by mutiple hosts (devices). the sender transmits the data only once and components (routers or switches) can then split that one feed into multiple identical feeds, to be received by multiple hosts. This compares to the more typical IP communication, Unicast, where data is sent between from one single host to another single host.

Multicast's main benefit is for applications where many devices/receivers all wish to receive the same data simultaneously and where sending it only once is much more efficient than the sender creating a separate stream for every receiving device. The most obvious application of this is in multimedia transmission, for example video or audio. A transmitting device has to send only one stream, which can travel, still as one stream across multiple networks, and then be split into multiple subscribers only when needed.

To send in multicast, a protocol called IGMP is used. This marks packets as multicast, which can be recognised by the onward network (switches and routers). Each sending host applies a unique identifier to multicast packets so that they can be identified and separated or forwarded by the networks as required.

In multicast, instead of the sender sending to a specific unique IP address or another host, it transmits to a multicast address. If multicast traffic is intended only for the local subnet (LAN) then on an IPv4 network it uses addresses in the 224.0.0.0/24 subnet (224.0.0.0 to 224.0.0.255). That unicast traffic will not be forward outside of the LAN by a router. Multicast addresses in the range 224.0.1.0 to 238.255.255.255 can be forwarded by routers to outside of the LAN. Equivalent ranges exist for IPv6 networks.

Membership of the muticast group will be controlled by each of the the switching/routing devices en-route between sender and receiver. Multicast-enabled devices will listen for IGMP traffic and build a table of available muticast groups (senders). This is known as IGMP snooping (listening). Hosts on a network will also snoop for IGMP traffic and can join or leave an IGMP group as they wish. If a host joins a multicast group, the switch will then forward the requested muticast data to it.

If there is no multicast router on your network, a switch host can transmit periodic IGMP query messages. On a switch, this is known as an IGMP Querier. These messages trigger hosts to transmit their IGMP subscription requests.

In the diagram at the top of the page, there is the source host, sending video. It transmits only one stream but the switch then multiplies it to send it to two hosts (the outermost PCs) which have joined the IGMP group. The two PCs in the middle have not joined so will not receive the data.