2. The Service Interface for Requesting IP Multicast Reception (Die Serviceschnittstelle zum Anfordern des IP-Multicast-Empfangs)
2. The Service Interface for Requesting IP Multicast Reception (Die Serviceschnittstelle zum Anfordern des IP-Multicast-Empfangs)
Within an IP system, there is (at least conceptually) a service interface used by upper-layer protocols or application programs to ask the IP layer to enable and disable reception of packets sent to specific IP multicast addresses. In order to take full advantage of the capabilities of IGMPv3, a system's IP service interface must support the following operation:
Innerhalb eines IP-Systems gibt es (zumindest konzeptionell) eine Serviceschnittstelle, die von Protokollen der oberen Schicht oder Anwendungsprogrammen verwendet wird, um die IP-Schicht aufzufordern, den Empfang von Paketen zu aktivieren und zu deaktivieren, die an bestimmte IP-Multicast-Adressen gesendet werden. Um die Fähigkeiten von IGMPv3 voll auszuschöpfen, muss die IP-Serviceschnittstelle eines Systems die folgende Operation unterstützen:
IPMulticastListen ( socket, interface, multicast-address,
filter-mode, source-list )
where:
wobei:
-
"socket" is an implementation-specific parameter used to distinguish among different requesting entities (e.g., programs or processes) within the system; the socket parameter of BSD Unix system calls is a specific example.
-
"socket" ist ein implementierungsspezifischer Parameter, der verwendet wird, um zwischen verschiedenen anfordernden Entitäten (z. B. Programmen oder Prozessen) innerhalb des Systems zu unterscheiden; der Socket-Parameter von BSD Unix-Systemaufrufen ist ein spezifisches Beispiel.
-
"interface" is a local identifier of the network interface on which reception of the specified multicast address is to be enabled or disabled. Interfaces may be physical (e.g., an Ethernet interface) or virtual (e.g., the endpoint of a Frame Relay virtual circuit or the endpoint of an IP-in-IP "tunnel"). An implementation may allow a special "unspecified" value to be passed as the interface parameter, in which case the request would apply to the "primary" or "default" interface of the system (perhaps established by system configuration). If reception of the same multicast address is desired on more than one interface, IPMulticastListen is invoked separately for each desired interface.
-
"interface" ist ein lokaler Bezeichner der Netzwerkschnittstelle, auf der der Empfang der angegebenen Multicast-Adresse aktiviert oder deaktiviert werden soll. Schnittstellen können physisch (z. B. eine Ethernet-Schnittstelle) oder virtuell (z. B. der Endpunkt einer Frame Relay-Verbindung oder der Endpunkt eines IP-in-IP-"Tunnels") sein. Eine Implementierung kann zulassen, dass ein spezieller "unspezifizierter" Wert als Schnittstellenparameter übergeben wird; in diesem Fall würde die Anforderung für die "primäre" oder "Standard"-Schnittstelle des Systems gelten (möglicherweise durch Systemkonfiguration festgelegt). Wenn der Empfang derselben Multicast-Adresse auf mehr als einer Schnittstelle gewünscht wird, wird IPMulticastListen für jede gewünschte Schnittstelle separat aufgerufen.
-
"multicast-address" is the IP multicast address, or group, to which the request pertains. If reception of more than one multicast address on a given interface is desired, IPMulticastListen is invoked separately for each desired multicast address.
-
"multicast-address" ist die IP-Multicast-Adresse oder Gruppe, auf die sich die Anforderung bezieht. Wenn der Empfang von mehr als einer Multicast-Adresse auf einer bestimmten Schnittstelle gewünscht wird, wird IPMulticastListen für jede gewünschte Multicast-Adresse separat aufgerufen.
-
"filter-mode" may be either INCLUDE or EXCLUDE. In INCLUDE mode, reception of packets sent to the specified multicast address is requested only from those IP source addresses listed in the source-list parameter. In EXCLUDE mode, reception of packets sent to the given multicast address is requested from all IP source addresses except those listed in the source-list parameter.
-
"filter-mode" kann entweder INCLUDE oder EXCLUDE sein. Im INCLUDE-Modus wird der Empfang von Paketen, die an die angegebene Multicast-Adresse gesendet werden, nur von den im source-list-Parameter aufgeführten IP-Quelladressen angefordert. Im EXCLUDE-Modus wird der Empfang von Paketen, die an die angegebene Multicast-Adresse gesendet werden, von allen IP-Quelladressen angefordert, außer denen, die im source-list-Parameter aufgeführt sind.
-
"source-list" is an unordered list of zero or more IP unicast addresses from which multicast reception is desired or not desired, depending on the filter mode. An implementation MAY impose a limit on the size of source lists, but that limit MUST NOT be less than 64 addresses per list. When an operation causes the source list size limit to be exceeded, the service interface MUST return an error.
-
"source-list" ist eine ungeordnete Liste von null oder mehr IP-Unicast-Adressen, von denen der Multicast-Empfang je nach Filtermodus gewünscht oder nicht gewünscht wird. Eine Implementierung DARF eine Begrenzung für die Größe von Quelllisten festlegen, aber diese Begrenzung DARF NICHT weniger als 64 Adressen pro Liste betragen. Wenn eine Operation dazu führt, dass die Größenbeschränkung der Quellliste überschritten wird, MUSS die Serviceschnittstelle einen Fehler zurückgeben.
For a given combination of socket, interface, and multicast address, only a single filter mode and source list can be in effect at any one time. However, either the filter mode or the source list, or both, may be changed by subsequent IPMulticastListen requests that specify the same socket, interface, and multicast address. Each subsequent request completely replaces any earlier request for the given socket, interface and multicast address.
Für eine gegebene Kombination von Socket, Schnittstelle und Multicast-Adresse kann zu jeder Zeit nur ein einziger Filtermodus und eine einzige Quellliste wirksam sein. Entweder der Filtermodus oder die Quellliste oder beides können jedoch durch nachfolgende IPMulticastListen-Anforderungen geändert werden, die denselben Socket, dieselbe Schnittstelle und dieselbe Multicast-Adresse angeben. Jede nachfolgende Anforderung ersetzt jede frühere Anforderung für den angegebenen Socket, die Schnittstelle und die Multicast-Adresse vollständig.
Previous versions of IGMP did not support source filters and had a simpler service interface consisting of Join and Leave operations to enable and disable reception of a given multicast address (from all sources) on a given interface. The equivalent operations in the new service interface follow:
Frühere Versionen von IGMP unterstützten keine Quellfilter und verfügten über eine einfachere Serviceschnittstelle, die aus Join- und Leave-Operationen bestand, um den Empfang einer bestimmten Multicast-Adresse (von allen Quellen) auf einer bestimmten Schnittstelle zu aktivieren und zu deaktivieren. Die entsprechenden Operationen in der neuen Serviceschnittstelle folgen:
The Join operation is equivalent to
Die Join-Operation entspricht
IPMulticastListen ( socket, interface, multicast-address,
EXCLUDE, {} )
and the Leave operation is equivalent to:
und die Leave-Operation entspricht:
IPMulticastListen ( socket, interface, multicast-address,
INCLUDE, {} )
where {} is an empty source list.
wobei {} eine leere Quellliste ist.
An example of an API providing the capabilities outlined in this service interface is in [FILTER-API].
Ein Beispiel für eine API, die die in dieser Serviceschnittstelle beschriebenen Funktionen bereitstellt, findet sich in [FILTER-API].