1. Einleitung
Das Multicast-Dienstmodell des Internet-Protokolls (Internet Protocol, IP) ist in RFC 1112 [RFC1112] definiert. RFC 1112 legt fest, dass Datagramme, die an eine IP-Multicast-Adresse (224.0.0.0 bis 239.255.255.255) G gesendet werden, an jedes „Modul eines hörschichtigen Protokolls" zugestellt werden, das den Empfang von an die Adresse G gesendeten Datagrammen angefordert hat. RFC 1112 bezeichnet den durch die Zieladresse G identifizierten Netzwerkdienst als „Hostgruppe" (host group). Dieses Modell unterstützt sowohl Ein-zu-viele- als auch Viele-zu-viele-Gruppenkommunikation. In diesem Dokument wird der Begriff „Multicast mit beliebiger Quelle" (Any-Source Multicast, ASM) verwendet, um sich auf das in RFC 1112 definierte Multicast-Modell zu beziehen. RFC 3513 [RFC3513] spezifiziert die Form von IPv6-Multicast-Adressen mit ASM-Semantik.
Der IPv4-Adressbereich 232/8 (232.0.0.0 bis 232.255.255.255) ist derzeit als Zieladresse für quell-spezifisches Multicast (Source-Specific Multicast, SSM) bezeichnet und für die Verwendung durch quell-spezifische Anwendungen und Protokolle reserviert [IANA-ALLOC].
Für IPv6 ist gemäß den Konventionen von [IPv6-UBM] das Adresspräfix FF3x::/32 für quell-spezifisches Multicast reserviert, wobei 'x' ein gültiger Gültigkeitsbereichsbezeichner (scope identifier) ist. Mit der Terminologie von [IPv6-UBM] müssen alle SSM-Adressen P=1, T=1 und plen=0 aufweisen. [IPv6-MALLOC] fordert zusätzlich, dass das Netzpräfixfeld der SSM-Adressen ebenfalls auf Null gesetzt wird, sodass sich alle SSM-Adressen im Bereich FF3x::/96 befinden. Zukünftige Dokumente könnten nicht nullwertige Netzpräfixfelder zulassen, beispielsweise wenn eine neue IP-zu-MAC-Adressabbildung definiert wird. Daher sollte die Adresszuweisung im Bereich FF3x::/96 erfolgen, aber Systeme MÜSSEN (MUST) das gesamte FF3x::/32 als SSM-Adressen behandeln, um mit einer möglichen zukünftigen Verwendung des Netzpräfixfeldes kompatibel zu bleiben.
Adressen im Bereich FF3x::4000:0001 bis FF3x::7FFF:FFFF sind gemäß [IPv6-MALLOC] für die IANA-Zuweisung reserviert. Adressen im Bereich FF3x::8000:0000 bis FF3x::FFFF:FFFF sind für eine dynamische Zuweisung durch Hosts zugelassen, wie in [IPv6-MALLOC] beschrieben. Adressen im Bereich FF3x::0000:0000 bis FF3x::3FFF:FFFF sind ungültige IPv6-SSM-Adressen. ([IPv6-MALLOC] gibt an, dass FF3x::0000:0001 bis FF3x::3FFF:FFFF P=0 und T=0 gesetzt haben müssen, aber für SSM verlangt [IPv6-UBM] P=1 und T=1, daher sind diese Adressen als ungültig spezifiziert.) Die Behandlung von Paketen, die an solche ungültigen Adressen gesendet werden, ist nicht definiert -- der Router oder Host kann wählen, diese Pakete zu verwerfen.
Für an eine SSM-Adresse gesendete Datagramme wird die Zustellungssemantik für quell-spezifisches Multicast bereitgestellt. Das heißt, ein Datagramm mit der Quell-IP-Adresse S und der SSM-Zieladresse G wird nur an die Sockets der höheren Schicht zugestellt, die ausdrücklich den Empfang von von der Quelle S an die Adresse G gesendeten Datagrammen angefordert haben, und nur an diese Sockets. Im Vergleich zum ASM-Modell von RFC 1112 bietet SSM auf Netzwerkebene nur die Unterstützung für Ein-zu-viele-Zustellung.
Die Vorteile von quell-spezifischem Multicast sind:
-
Beseitigung der kreuzweisen Zustellung von Datenverkehr, wenn zwei Quellen dieselbe quell-spezifische Zieladresse gleichzeitig verwenden. Die gleichzeitige Verwendung derselben SSM-Zieladresse durch mehrere Quellen und verschiedene Anwendungen wird ausdrücklich unterstützt.
-
Vermeidung der Notwendigkeit einer Koordination zwischen Hosts bei der Auswahl einer quell-spezifischen Adresse, dank der obigen Eigenschaft.
-
Vermeidung vieler Router-Protokolle und -algorithmen, die zur Bereitstellung des ASM-Dienstmodells benötigt werden. Beispielsweise sind der „gemeinsame Baum" (shared tree) und die Rendezvous-Punkte (Rendezvous Points) des Protokolls PIM - Sparse Mode (PIM-SM) [PIM-SM] zur Unterstützung des quell-spezifischen Modells nicht erforderlich. Die zur Unterstützung von SSM benötigten Router-Mechanismen sind weitgehend eine Teilmenge der zur Unterstützung von ASM benötigten Mechanismen. Beispielsweise kann der Shortest-Path-Tree-Mechanismus des PIM-SM-Protokolls angepasst werden, um die SSM-Semantik bereitzustellen.
Wie bei ASM ist die Menge der Empfänger dem SSM-Sender nicht bekannt. Der SSM-Sender erhält weder die Identität noch die Anzahl der Empfänger.
SSM eignet sich besonders für Verbreitungsanwendungen (dissemination-style), bei denen es einen oder mehrere Sender gibt und die Identität des Senders vor Beginn der Anwendung bekannt ist. Eine Datenverteilungsanwendung, die bei einem Ausfall der primären Datenquelle eine Backup-Datenquelle bereitstellen möchte, kann beispielsweise einen Kanal pro Quelle verwenden und die Empfänger über beide Kanäle informieren. SSM kann auch verwendet werden, um Multi-Source-Anwendungen zu erstellen, bei denen die Identität aller Teilnehmer nicht im Voraus bekannt ist, aber in diesem Fall findet die Multi-Source-„Rendezvous"-Funktion (rendezvous) nicht auf der Netzwerkebene statt. Wie bei Anwendungen, die Unicast als zugrunde liegenden Transport verwenden, kann diese Funktion durch die Anwendung selbst oder eine Anwendungsschicht-Bibliothek implementiert werden.
Die Multicast-Ressourcenermittlung, bei der ein Client eine Multicast-Anfrage direkt an die „Dienst-Lokalisierungsgruppe" (service location group) sendet, auf der ein Server lauscht, wird von SSM nicht direkt unterstützt.
Die Schlüsselwörter „MUST", „MUST NOT", „REQUIRED", „SHALL", „SHALL NOT", „SHOULD", „SHOULD NOT", „RECOMMENDED", „MAY" und „OPTIONAL" in diesem Dokument MÜSSEN (MUST) wie in RFC 2119 [RFC2119] beschrieben interpretiert werden.
Dieses Dokument definiert die Semantik quell-spezifischer Multicast-Adressen und legt die Richtlinie fest, die deren Verwendung regelt. Insbesondere definiert es die Erweiterung des Internet-Netzwerkdienstes, die auf Datagramme angewendet wird, die an SSM-Adressen gesendet werden, und definiert die Host-Erweiterungen, die zur Unterstützung dieses Netzwerkdienstes erforderlich sind. Hosts, Router, Anwendungen und Protokolle, die diese Adressen verwenden, MÜSSEN (MUST) der in diesem Dokument dargelegten Richtlinie entsprechen. Ein Host, der nicht entspricht, kann verhindern, dass dieser Host oder andere Hosts im selben LAN den an einen SSM-Kanal gesendeten Datenverkehr empfangen. Ein Router, der nicht entspricht, kann dazu führen, dass SSM-Datenverkehr an Netzwerkteile zugestellt wird, die ihn nicht benötigen, und somit eine unnötige Belastung für das Netzwerk darstellt.