So, the question which arises is clear: If the network switches must repeat only the programs/streams requested by devices which traffic passes through them, the client endpoints/receivers must inform the network about the program required, and the switches must react according to these requests.
A Multicast system requires that both, the network and client devices support IGMP snooping.
The Internet Group Management Protocol (IGMP) is a communications protocol used by clients and their adjacent routers or switches to allow clients to inform the network of the desire to receive, continue receiving or stop receiving a multicast stream.
It is recommended to use Layer 3 switches for IGMP multicast. If you need to use Layer 2 switches, at least one Layer 3 switch must exist in the LAN segment in order for IP multicast and IGMP snooping to work. Layer 2 switches by themselves cannot support IP multicast service. Enabling IGMP snooping on a layer 2 switch in a LAN segment in which no layer 3 switch exists can result in intermittent multicast connectivity and severe packet loss.
Multicasting with Layer 3 switches is much more efficient than with Layer 2 switches because it identifies the multicast packet and sends it only to the intended receivers. Without IGMPv2 or IGMPv3 snooping support, the switch doesn’t know the streams required and may repeat all the streams flooding machines in the network which even don’t want to play any stream, and which are used for other purposes.
The range of IP addresses reserved for multicast is 220.127.116.11 – 18.104.22.168, however many address ranges are reserved for special purposes. Best practice for streaming is to use the range from 22.214.171.124 to 126.96.36.199 unless there is a specific reason to use other addressing.
Multicast an excellent and most used solution for IPTV distribution on campus like LANs, and hospitality installations in general.
It is not a viable proposition when IPTV manager is not the network proprietary and thus he can not manage the switches/routers. It must also be ensured that all client/receivers support IGMP querying (are able to send IGMP membership Queries).