IP-Multicast
IP-Multicast fällt in die Kategorie der Nicht-Rooted-Datenebene und der Nicht-Root-Steuerungsebene. Alle Anwendungen spielen eine Blattrolle. Derzeit verwenden die meisten IP-Multicastimplementierungen eine Reihe von Socketoptionen, die steve Deering der Internet Engineering Task Force (IETF) vorgeschlagen hat. Fünf Vorgänge werden somit verfügbar gemacht:
- IP _ MULTICAST _ TTL – Legt die Livezeit fest und steuert den Bereich einer Multicastsitzung.
- IP _ MULTICAST _ IF– Bestimmt die Schnittstelle, die für Multicasting verwendet werden soll.
- IP _ ADD _ MEMBERSHI – Fügt einer angegebenen Multicastsitzung bei.
- IP _ DROP _ MEMBERSHIP– Löscht eine Multicastsitzung.
- IP _ MULTICAST _ LOOP – Steuert das Loopback des Multicastdatenverkehrs.
Das Festlegen der Livezeit für einen IP-Multicastsocket wird direkt der Verwendung des SIO MULTICAST SCOPE-Befehlscodes für _ _ WSAIoctl zu .
Die Methode zum Bestimmen der IP-Schnittstelle, die für Multicasting verwendet werden soll, ist über eine TCP/IP-spezifische Socketoption, wie im Windows Sockets 2-Protocol-Specific Anhang beschrieben. Die restlichen drei Vorgänge werden gut mit der Windows Sockets 2-Semantik abgedeckt, die hier beschrieben wird.
Die Anwendung würde Sockets mit _ blatt-/d-Blattflags in _ WSASocket öffnen. WSAJoinLeaf wird verwendet, um sich selbst zu einer Multicastgruppe auf der Standardschnittstelle hinzuzufügen, die für Multicastvorgänge festgelegt ist. Wenn das Flag in WSAJoinLeaf angibt, dass dieser Socket nur ein Absender ist, ist der Joinvorgang im Wesentlichen kein Vorgang, und es müssen keine IGMP-Nachrichten gesendet werden. Andernfalls wird ein IGMP-Paket an den Router gesendet, um anzugeben, dass interesse am Empfang von Paketen besteht, die an die angegebene Multicastadresse gesendet werden. Da die Anwendung spezielle Blatt-/D-Blattsockets erstellt hat, die nur zum Ausführen von Multicast verwendet werden, wird die standardmäßige _ _ closesocket-Funktion verwendet, um die Multicastsitzung zu beenden. Der SIO MULTIPOINT LOOPBACK-Befehlscode für _ _ WSAIoctl bietet einen generischen Steuerungsmechanismus, mit dem bestimmt wird, ob daten, die an einen Blattsocket in einem nicht entfernten Multipointschema gesendet werden, auch auf demselben Socket empfangen werden _ können.
Hinweis
Die Winsock-Version der OPTION IP MULTICAST LOOP ist semantisch anders als die UNIX der _ _ IP _ MULTICAST _ LOOP-Option:
- In Winsock gilt die OPTION IP _ MULTICAST _ LOOP nur für den Empfangspfad.
- In der UNIX gilt die OPTION IP _ MULTICAST _ LOOP für den Sendepfad.
Beispielsweise verbinden Anwendungen ON und OFF (die einfacher nachverfolgt werden können als X und Y) dieselbe Gruppe auf derselben Schnittstelle. application ON legt die OPTION IP _ MULTICAST LOOP auf fest, application OFF deaktiviert die _ OPTION IP _ MULTICAST _ LOOP. Wenn ON und OFF Winsock-Anwendungen sind, kann OFF an ON senden, ON kann jedoch nicht an OFF gesendet werden. Wenn ON und OFF hingegen UNIX sind, kann ON an OFF senden, OFF kann jedoch nicht an ON senden.