2. The Service Interface for Requesting IP Multicast Reception (L'interface de service pour demander la réception de multidiffusion IP)
2. The Service Interface for Requesting IP Multicast Reception (L'interface de service pour demander la réception de multidiffusion IP)
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:
Au sein d'un système IP, il existe (au moins conceptuellement) une interface de service utilisée par les protocoles de couche supérieure ou les programmes d'application pour demander à la couche IP d'activer et de désactiver la réception de paquets envoyés à des adresses de multidiffusion IP spécifiques. Afin de tirer pleinement parti des capacités d'IGMPv3, l'interface de service IP d'un système doit prendre en charge l'opération suivante :
IPMulticastListen ( socket, interface, multicast-address,
filter-mode, source-list )
where:
où :
-
"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" est un paramètre spécifique à l'implémentation utilisé pour distinguer les différentes entités demandeuses (par exemple, programmes ou processus) au sein du système ; le paramètre socket des appels système BSD Unix est un exemple spécifique.
-
"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" est un identifiant local de l'interface réseau sur laquelle la réception de l'adresse de multidiffusion spécifiée doit être activée ou désactivée. Les interfaces peuvent être physiques (par exemple, une interface Ethernet) ou virtuelles (par exemple, le point de terminaison d'un circuit virtuel Frame Relay ou le point de terminaison d'un "tunnel" IP-in-IP). Une implémentation peut permettre de passer une valeur spéciale "non spécifiée" comme paramètre d'interface, auquel cas la demande s'appliquerait à l'interface "primaire" ou "par défaut" du système (peut-être établie par la configuration du système). Si la réception de la même adresse de multidiffusion est souhaitée sur plus d'une interface, IPMulticastListen est invoqué séparément pour chaque interface souhaitée.
-
"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" est l'adresse de multidiffusion IP, ou groupe, à laquelle la demande se rapporte. Si la réception de plus d'une adresse de multidiffusion sur une interface donnée est souhaitée, IPMulticastListen est invoqué séparément pour chaque adresse de multidiffusion souhaitée.
-
"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" peut être soit INCLUDE, soit EXCLUDE. En mode INCLUDE, la réception des paquets envoyés à l'adresse de multidiffusion spécifiée est demandée uniquement à partir des adresses source IP répertoriées dans le paramètre source-list. En mode EXCLUDE, la réception des paquets envoyés à l'adresse de multidiffusion donnée est demandée à partir de toutes les adresses source IP sauf celles répertoriées dans le paramètre source-list.
-
"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" est une liste non ordonnée de zéro ou plusieurs adresses unicast IP à partir desquelles la réception de multidiffusion est souhaitée ou non, selon le mode de filtrage. Une implémentation PEUT imposer une limite à la taille des listes de sources, mais cette limite NE DOIT PAS être inférieure à 64 adresses par liste. Lorsqu'une opération entraîne le dépassement de la limite de taille de la liste de sources, l'interface de service DOIT renvoyer une erreur.
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.
Pour une combinaison donnée de socket, d'interface et d'adresse de multidiffusion, un seul mode de filtrage et une seule liste de sources peuvent être en vigueur à un moment donné. Cependant, soit le mode de filtrage, soit la liste de sources, ou les deux, peuvent être modifiés par des demandes IPMulticastListen ultérieures qui spécifient le même socket, la même interface et la même adresse de multidiffusion. Chaque demande ultérieure remplace complètement toute demande antérieure pour le socket, l'interface et l'adresse de multidiffusion donnés.
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:
Les versions précédentes d'IGMP ne prenaient pas en charge les filtres de source et avaient une interface de service plus simple consistant en des opérations Join et Leave pour activer et désactiver la réception d'une adresse de multidiffusion donnée (de toutes les sources) sur une interface donnée. Les opérations équivalentes dans la nouvelle interface de service suivent :
The Join operation is equivalent to
L'opération Join est équivalente à
IPMulticastListen ( socket, interface, multicast-address,
EXCLUDE, {} )
and the Leave operation is equivalent to:
et l'opération Leave est équivalente à :
IPMulticastListen ( socket, interface, multicast-address,
INCLUDE, {} )
where {} is an empty source list.
où {} est une liste de sources vide.
An example of an API providing the capabilities outlined in this service interface is in [FILTER-API].
Un exemple d'API fournissant les capacités décrites dans cette interface de service se trouve dans [FILTER-API].