In data communication, there are four basic categories of communication relationship: Unicast, broadcast, multicast and anycast. Unicast means 1:1 communication, i.e. one sender communicates with one receiver. With a broadcast, one sender sends data to all connected devices (1:n relationship, or "one to all"). This communication method is inefficient for certain services such as IPTV, since all clients would receive the data, including clients who don’t want it. This is why there is another method, multicast, for establishing sender / receiver relationships. Multicast is an efficient communication method for a sender to transmit data only to those devices that are interested in it (1:m relationship, or "one to many"). Receivers therefore have to announce their interest in receiving this data. With the communications relationship Anycast, a sender sends the data to any one receiver in a group. This chapter deals with multicast.
With multicast, there are two basic roles: Sender and receiver. A receiver is, for example, an IPTV receiver or a mobile device/PC. A sender is understood to mean the multicast source, e.g. an IPTV sender. If a client wishes to receive multicast data, e.g. an IPTV channel, it signals its interest by sending an IGMP (Internet Group Management Protocol) membership report or, with IPv6, an MLD (Multicast Listener Discovery) membership report. A multicast router will automatically generate a multicast routing entry for this group. In this instance data flow is "reversed", i.e. from the source to the receiver. If the client is no longer interested in the multicast data, it sends a membership report to leave the group.
The IP address range for multicast is defined from 224.0.0.0 to 239.255.255.255 for IPv4, and for IPv6 with the prefix FF00::/8. The multicast address range is divided into different blocks, e.g. link local, source specific multicast (232.0.0.0 to 232.255.255.255) or organization-local scope (239.0.0.0 to 239.255.255.255).
Furthermore, there are two categories of multicast: Any Source Multicast (ASM) and Source Specific Multicast (SSM). For Any Source Multicast, represented as (*,G), the receiver only specifies the multicast group G and accepts it from any source *. Any Source Multicast is the older of the two methods. Source Specific Multicast is the modern variant where a receiver requests one or more sources S as well as the desired group. However, SSM requires IGMPv3 or MLDv2. If possible, SSM should be operated with IGMPv3 as this scales better. As a rule, IPTV architectures are based on SSM.
Multicast routes are not managed in the normal (unicast) routing table, but in a separate multicast routing table. Routing entries there are not usually configured statically, but are generated dynamically by multicast routing protocols such as PIM (Protocol Independent Multicast) or by a proxy, e.g. an IGMP proxy. Multicast basically requires a functional unicast routing table, as the reverse path forward check (RPF check) checks to see whether there is a route to the multicast source. As a rule, a multicast routing protocol such as PIM is always used with a unicast routing protocol, such as OSPF.
- For a simple multicast routing scenario: Use of the IGMP/MLD proxy.
- For a complex multicast routing scenario: PIM SSM.
- Static group entries should only be configured if clients do not support IGMP/MLD.
PIM Sparse Mode can also be used instead of PIM SSM, although both the role of the rendezvous point and that of the first-hop router must be performed by a third-party manufacturer directly in front of the multicast source.