1. Introduction (Einführung)
Das Internet Protocol (IP) Multicast-Dienstmodell ist in RFC 1112 [RFC1112] definiert. RFC 1112 spezifiziert, dass ein Datagramm, das an eine IP-Multicast-Adresse (224.0.0.0 bis 239.255.255.255) G gesendet wird, an jedes "Protokollmodul der oberen Schicht" zugestellt wird, das den Empfang von Datagrammen angefordert hat, die an die Adresse G gesendet werden. RFC 1112 nennt den Netzwerkdienst, der durch eine Multicast-Zieladresse G identifiziert wird, eine "Host-Gruppe". Dieses Modell unterstützt sowohl Eins-zu-Viele- als auch Viele-zu-Viele-Gruppenkommunikation. Dieses Dokument verwendet den Begriff "Any-Source Multicast" (ASM), um auf das in RFC 1112 definierte Multicast-Modell zu verweisen. RFC 3513 [RFC3513] spezifiziert die Form von IPv6-Multicast-Adressen mit ASM-Semantik.
IPv4-Adressen im Bereich 232/8 (232.0.0.0 bis 232.255.255.255) sind derzeit als quellenspezifische Multicast-Zieladressen (SSM) ausgewiesen und für die Verwendung durch quellenspezifische Anwendungen und Protokolle reserviert [IANA-ALLOC].
Für IPv6 ist das Adresspräfix FF3x::/32 für die quellenspezifische Multicast-Verwendung reserviert, wobei 'x' ein beliebiger gültiger Bereichsbezeichner (Scope Identifier) ist, gemäß [IPv6-UBM]. Unter Verwendung der Terminologie von [IPv6-UBM] müssen alle SSM-Adressen P=1, T=1 und plen=0 haben. [IPv6-MALLOC] schreibt vor, dass das Netzwerkpräfix-Feld einer SSM-Adresse ebenfalls auf Null gesetzt werden muss, daher fallen alle SSM-Adressen in den Bereich FF3x::/96. Zukünftige Dokumente könnten ein Nicht-Null-Netzwerkpräfix-Feld zulassen, wenn beispielsweise eine neue Zuordnung von IP-Adresse zu MAC-Adresse definiert wird. Daher sollte die Adresszuweisung innerhalb des Bereichs FF3x::/96 erfolgen, aber ein System sollte alle FF3x::/32 als SSM-Adressen behandeln, um die Kompatibilität mit möglichen zukünftigen Verwendungen des Netzwerkpräfix-Feldes zu ermöglichen.
Adressen im Bereich FF3x::4000:0001 bis FF3x::7FFF:FFFF sind in [IPv6-MALLOC] für die Zuweisung durch die IANA reserviert. Adressen im Bereich FF3x::8000:0000 bis FF3x::FFFF:FFFF sind für die dynamische Zuweisung durch einen Host zulässig, 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 setzen müssen, aber für SSM schreibt [IPv6-UBM] P=1 und T=1 vor, daher ihre Bezeichnung als ungültig.) Die Behandlung eines Pakets, das an eine solche ungültige Adresse gesendet wird, ist nicht definiert -- ein Router oder Host KANN (MAY) wählen, ein solches Paket zu verwerfen.
Quellenspezifische Multicast-Zustellungssemantik wird für ein Datagramm bereitgestellt, das an eine SSM-Adresse gesendet wird. Das heißt, ein Datagramm mit der Quell-IP-Adresse S und der SSM-Zieladresse G wird an jeden "Socket" der oberen Schicht zugestellt, der spezifisch den Empfang von Datagrammen angefordert hat, die von der Quelle S an die Adresse G gesendet wurden, und nur an diese Sockets. Der Netzwerkdienst, der durch (S,G) identifiziert wird, für die SSM-Adresse G und die Quell-Host-Adresse S, wird als "Kanal" (channel) bezeichnet. Im Gegensatz zum ASM-Modell von RFC 1112 bietet SSM nur Unterstützung auf der Netzwerkebene für die Eins-zu-Viele-Zustellung.
Die Vorteile von quellenspezifischem Multicast umfassen:
-
Beseitigung der Kreuz-Zustellung von Verkehr, wenn zwei Quellen gleichzeitig dieselbe quellenspezifische Zieladresse verwenden. Die gleichzeitige Verwendung einer SSM-Zieladresse durch mehrere Quellen und verschiedene Anwendungen wird explizit unterstützt.
-
Vermeidung der Notwendigkeit einer Koordination zwischen Hosts bei der Auswahl quellenspezifischer Adressen als Folge des oben Genannten.
-
Vermeidung vieler Router-Protokolle und Algorithmen, die erforderlich sind, um das ASM-Dienstmodell bereitzustellen. Zum Beispiel sind die "Shared Trees" und Rendezvous Points des PIM - Sparse Mode (PIM-SM) Protokolls [PIM-SM] nicht erforderlich, um das quellenspezifische Modell zu unterstützen. Die Router-Mechanismen, die zur Unterstützung von SSM erforderlich sind, sind tatsächlich weitgehend eine Teilmenge derer, die zur Unterstützung von ASM verwendet werden. Zum Beispiel kann der Shortest-Path-Tree-Mechanismus des PIM-SM-Protokolls angepasst werden, um SSM-Semantik bereitzustellen.
Wie bei ASM ist die Menge der Empfänger einem SSM-Sender unbekannt. Einer SSM-Quelle werden weder die Identität der Empfänger noch deren Anzahl mitgeteilt.
SSM eignet sich besonders gut für Anwendungen im Verbreitungsstil mit einem oder mehreren Sendern, deren Identitäten bekannt sind, bevor die Anwendung beginnt. Zum Beispiel könnte eine Datenverbreitungsanwendung, die eine sekundäre Datenquelle bereitstellen möchte, falls die primäre Quelle ausfällt, dies implementieren, indem sie einen Kanal für jede Quelle verwendet und beide den Empfängern ankündigt. SSM kann verwendet werden, um Multi-Source-Anwendungen zu erstellen, bei denen die Identitäten aller Teilnehmer nicht im Voraus bekannt sind, aber die Multi-Source-"Rendezvous"-Funktionalität findet in diesem Fall nicht in der Netzwerkschicht statt. Genau wie bei einer Anwendung, die Unicast als zugrundeliegenden Transport verwendet, kann diese Funktionalität durch die Anwendung oder durch eine Bibliothek der Anwendungsschicht implementiert werden.
Multicast-Ressourcenerkennung in der Form, in der ein Client eine Multicast-Abfrage direkt an eine "Dienststandortgruppe" sendet, auf die Server hören, 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 sind so zu interpretieren, wie in RFC 2119 [RFC2119] beschrieben.
Dieses Dokument definiert die Semantik von quellenspezifischen Multicast-Adressen und spezifiziert die Richtlinien, die ihre Verwendung regeln. Insbesondere definiert es eine Erweiterung des Internet-Netzwerkdienstes, die für Datagramme gilt, die an SSM-Adressen gesendet werden, und definiert Host-Erweiterungen zur Unterstützung des Netzwerkdienstes. Hosts, Router, Anwendungen und Protokolle, die diese Adressen verwenden, MÜSSEN (MUST) die in diesem Dokument beschriebenen Richtlinien einhalten. Die Nichteinhaltung durch einen Host kann verhindern, dass dieser Host oder andere Hosts im selben LAN Verkehr empfangen, der an einen SSM-Kanal gesendet wird. Die Nichteinhaltung durch einen Router kann dazu führen, dass SSM-Verkehr an Teile des Netzwerks zugestellt wird, wo er unerwünscht ist, was das Netzwerk unnötig belastet.