Mit Multicast-Nachrichten kann ein Sender im Gegensatz zu Unicast-Nachrichten mehrere Empfänger erreichen. Im Unterschied zu Broadcast-Nachrichten findet jedoch eine Selektion statt, denn jeder Empfänger muss sich einer Multicast-Gruppe anschließen, um entsprechende Nachrichten zu bekommen. Ein Sender meldet sich nicht an, es ist aber möglich, gleichzeitig lokal zu empfangen.
Durch Multicast-Nachrichten werden System-Ressourcen geschont und Bandbreite im Netz eingespart, insbesondere dann, wenn es sich um eine Nutzung handelt, bei der es nur eine Senderichtung gibt. Praktische Anwendungsszenarien für Multicast-Nachrichten sind Filestreams, z.B. für Musik oder Video, Video-Konferenzen oder Nachrichten- oder Börsenticker.
Multicast-Nachrichten werden mit Datagramm-Paketen übertragen, also mit einem ungesicherten Dienst. Die Anwendung muss daher gewährleisten, dass die Daten unter Einhaltung der Integrität den Empfänger erreichen. Und sie muss dafür sorgen, dass die Daten nur an authorisierte Empfänger ausgeliefert werden.
Voraussetzungen
Für die Multicast-Nachrichtenübertragung werden sowohl im IPv4-Adressraum als auch im IPv6-Adressraum eigene Bereiche genutzt. Die genutzten Kommunikationssysteme wie z.B. BCAM im BS2000 müssen den Multicast-Betrieb erlauben und unterstützen.
In BCAM ist der Multicast-Betrieb mit den Standardeinstellungen zugelassen. Im Zweifelsfall sollte die Konfiguration überprüft und bei Bedarf administrativ eingegriffen werden. Näheres siehe Handbuch „BCAM Band 1/2“.
Wenn die Nachrichten den lokalen Bereich verlassen sollen, sind auch multicastfähige Router erforderlich, die entsprechend konfiguriert sein müssen.
SOCKETS-Funktionen zur Multcast-Unterstützung
SOCKETS(BS2000) bietet Funktionen, um Multicast-Nachrichten zu senden und zu empfangen und sich an Multicast-Gruppen an- oder abzumelden.
Für IPv4 ist der Adressbereich 224.0.0.0 bis 239.255.255.255 vorgesehen, wobei die Adressen 224.0.0.0 bis 224.0.0.255 für lokale Anwendungen reserviert sind und nicht geroutet werden.
Der Multicast-Adressbereich in IPv6 beginnt mit dem Präfix FF, gefolgt von 4 Bit flags und 4 Bit Scope. Die genaue Zuordnung ist im RFC „IP Version 6 Addressing Architecture“, derzeit aktuell RFC 4291, beschrieben.
Reservierte Multicast-Adressen in IPv4 und IPv6 können bei der Internet Assigned Numbers Authority (IANA) eingesehen werden.
Socket-Optionen für AF_INET
In der Adressfamilie AF_INET wird die Übertragung von Multicast-Nachrichten durch folgende Socket-Optionen unterstützt:
IP_ADD_MEMBERSHIP: Anmeldung an eine Multicast-Gruppe
Nach der Anmeldung werden Daten dieser Gruppe zugestellt.IP_DROP_MEMBERSHIP: Abmeldung von einer Multicast-Gruppe
IP_MULTICAST_IF: Sender-Interface zeigen oder festlegen
IP_MULTICAST_TTL: Multicast-Hop-Limit zeigen oder festlegen
IP_MULTICAST_LOOP: Es ist ein Empfang auf dem lokalen sendenden Host möglich
Socket-Optionen für AF_INET6
In der Adressfamilie AF_INET6 wird die Übertragung von Multicast-Nachrichten durch folgende Socket-Optionen unterstützt:
IPV6_JOIN_GROUP: Anmeldung an eine Multicast-Gruppe
Nach der Anmeldung werden Daten dieser Gruppe zugestellt.IPV6_LEAVE_GROUP: Abmeldung von einer Multicast-Gruppe
IPV6_MULTICAST_IF: Index des Sender-Interfaces zeigen oder festlegen
IPV6_MULTICAST_HOPS: Multicast-Hop-Limit zeigen oder festlegen
IPV6_MULTICAST_LOOP: Es ist ein Empfang auf dem lokalen, sendenden Host möglich