Passa al contenuto principale

2. The Service Interface for Requesting IP Multicast Reception (L'interfaccia di servizio per richiedere la ricezione multicast IP)

2. The Service Interface for Requesting IP Multicast Reception (L'interfaccia di servizio per richiedere la ricezione multicast 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:

All'interno di un sistema IP, esiste (almeno concettualmente) un'interfaccia di servizio utilizzata dai protocolli di livello superiore o dai programmi applicativi per chiedere al livello IP di abilitare e disabilitare la ricezione dei pacchetti inviati a specifici indirizzi multicast IP. Per sfruttare appieno le capacità di IGMPv3, l'interfaccia di servizio IP di un sistema deve supportare la seguente operazione:

IPMulticastListen ( socket, interface, multicast-address,
filter-mode, source-list )

where:

dove:

  • "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" è un parametro specifico dell'implementazione utilizzato per distinguere tra diverse entità richiedenti (ad esempio, programmi o processi) all'interno del sistema; il parametro socket delle chiamate di sistema BSD Unix è un esempio specifico.

  • "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" è un identificatore locale dell'interfaccia di rete su cui deve essere abilitata o disabilitata la ricezione dell'indirizzo multicast specificato. Le interfacce possono essere fisiche (ad esempio, un'interfaccia Ethernet) o virtuali (ad esempio, l'endpoint di un circuito virtuale Frame Relay o l'endpoint di un "tunnel" IP-in-IP). Un'implementazione può consentire il passaggio di un valore speciale "non specificato" come parametro di interfaccia, nel qual caso la richiesta si applicherebbe all'interfaccia "primaria" o "predefinita" del sistema (forse stabilita dalla configurazione del sistema). Se si desidera la ricezione dello stesso indirizzo multicast su più di un'interfaccia, IPMulticastListen viene richiamato separatamente per ciascuna interfaccia desiderata.

  • "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" è l'indirizzo multicast IP, o gruppo, a cui si riferisce la richiesta. Se si desidera la ricezione di più di un indirizzo multicast su una determinata interfaccia, IPMulticastListen viene richiamato separatamente per ciascun indirizzo multicast desiderato.

  • "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" può essere INCLUDE o EXCLUDE. In modalità INCLUDE, la ricezione dei pacchetti inviati all'indirizzo multicast specificato è richiesta solo dagli indirizzi IP di origine elencati nel parametro source-list. In modalità EXCLUDE, la ricezione dei pacchetti inviati all'indirizzo multicast specificato è richiesta da tutti gli indirizzi IP di origine tranne quelli elencati nel parametro 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" è un elenco non ordinato di zero o più indirizzi IP unicast da cui la ricezione multicast è desiderata o non desiderata, a seconda della modalità filtro. Un'implementazione PUÒ imporre un limite alla dimensione degli elenchi di sorgenti, ma tale limite NON DEVE essere inferiore a 64 indirizzi per elenco. Quando un'operazione provoca il superamento del limite di dimensione dell'elenco di sorgenti, l'interfaccia di servizio DEVE restituire un errore.

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.

Per una data combinazione di socket, interfaccia e indirizzo multicast, possono essere attivi solo una singola modalità filtro e un elenco di sorgenti alla volta. Tuttavia, la modalità filtro o l'elenco di sorgenti, o entrambi, possono essere modificati da successive richieste IPMulticastListen che specificano lo stesso socket, interfaccia e indirizzo multicast. Ogni richiesta successiva sostituisce completamente qualsiasi richiesta precedente per il dato socket, interfaccia e indirizzo multicast.

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:

Le versioni precedenti di IGMP non supportavano i filtri sorgente e avevano un'interfaccia di servizio più semplice costituita da operazioni Join e Leave per abilitare e disabilitare la ricezione di un dato indirizzo multicast (da tutte le sorgenti) su una data interfaccia. Le operazioni equivalenti nella nuova interfaccia di servizio seguono:

The Join operation is equivalent to

L'operazione Join è equivalente a

IPMulticastListen ( socket, interface, multicast-address,
EXCLUDE, {} )

and the Leave operation is equivalent to:

e l'operazione Leave è equivalente a:

IPMulticastListen ( socket, interface, multicast-address,
INCLUDE, {} )

where {} is an empty source list.

dove {} è un elenco di sorgenti vuoto.

An example of an API providing the capabilities outlined in this service interface is in [FILTER-API].

Un esempio di API che fornisce le funzionalità descritte in questa interfaccia di servizio si trova in [FILTER-API].