Condividi tramite


Programmazione multicast

La programmazione multicast è abilitata tramite Windows Sockets. Windows Sockets abilita l'individuazione del listener multicast (MLD) versioni 1 (MLDv1) e 2 (MLDv2) in IPv6 e internet Group Management Protocol versioni 2 (IGMPv2) e 3 (IGMPv3) tramite l'uso di opzioni socket o IOCTLs. Questa sezione descrive l'implementazione di Windows, spiega come abilitare la programmazione multicast usando Windows Sockets e fornisce esempi di programmazione per illustrarne l'uso.

La seconda versione di IGMP, in seguito denominata IGMPv2, consente agli host di partecipare e lasciare gruppi multicast identificati da un indirizzo multicast IPv4 in un'interfaccia di rete specifica. Windows Sockets consente a un'applicazione di aggiungere e lasciare tali gruppi in socket specifici. Uno svantaggio di IGMPv2, tuttavia, è che qualsiasi indirizzo di origine IPv4 unito al gruppo IGMPv2 può trasmettere a tutti i membri, potenzialmente inondando il gruppo e rendendolo inutilizzabile per le trasmissioni che richiedono un'origine primaria, ad esempio una stazione radio Internet. Il problema con IGMPv2 è l'impossibilità di scegliere in modo selettivo un singolo indirizzo di origine IPv4 (o anche alcune origini) e l'impossibilità di bloccare i mittenti (ad esempio emittenti non autorizzati o autori denial of service) per un determinato gruppo multicast. IGMPv3 risolve tali carenze.

Con Windows Sockets e IGMPv3, le applicazioni possono selezionare una particolare coppia di indirizzi di origine IPv4 multicast e multicast. Inoltre, Windows Sockets consente agli sviluppatori di consentire selettivamente emittenti aggiuntive in una determinata coppia di origine/gruppo o consente alle applicazioni di bloccare emittenti specifiche. IGMPv3 è supportato in Windows Vista e versioni successive.

La prima versione di MLD in IPv6, denominata MLDv1, è molto simile a IGMPv2 e presenta le stesse limitazioni. MLDv1 consente agli host di partecipare e lasciare gruppi multicast identificati da un indirizzo multicast IPv6 in un'interfaccia di rete specifica. Windows Sockets consente a un'applicazione di aggiungere e lasciare tali gruppi in socket specifici. Tuttavia, qualsiasi indirizzo di origine IPv6 aggiunto al gruppo MLDv1 può trasmettere a tutti i membri, potenzialmente inondando il gruppo e rendendolo inutilizzabile per le trasmissioni che richiedono un'origine primaria. Il problema con MLDv1 è l'impossibilità di scegliere in modo selettivo un singolo indirizzo di origine IPv6 (o anche alcune origini) e l'impossibilità di bloccare i mittenti (ad esempio emittenti non autorizzati o autori denial of service) per un determinato gruppo multicast. MLDv2 risolve tali carenze.

Con Windows Sockets e MLDv2, le applicazioni possono selezionare una determinata coppia di indirizzi di origine IPv6 multicast e multicast. Inoltre, Windows Sockets consente agli sviluppatori di consentire selettivamente emittenti aggiuntive in una determinata coppia di origine/gruppo o consente alle applicazioni di bloccare emittenti specifiche. MLDv2 è supportato in Windows Vista e versioni successive.

Esistono due approcci che un programmatore di applicazioni può adottare quando si sviluppano applicazioni multicast in Windows. Il primo approccio è basato sul cambiamento; Le origini multicast vengono aggiunte o rimosse usando le opzioni socket, anche durante il corso della trasmissione, in base alle esigenze. Il secondo approccio è basato sullo stato finale; gli indirizzi di origine e gli indirizzi inclusi/esclusi vengono specificati con un IOCTL. Ogni approccio è una pratica valida per il multicast, ma gli sviluppatori possono trovare l'uso delle opzioni socket e l'approccio basato sul cambiamento più intuitivo e flessibile.

Questa sezione contiene le pagine seguenti:

Page title (Titolo della pagina) Descrizione
MLD e IGMP con Windows Sockets Enumera le opzioni del socket multicast disponibili per l'uso nella programmazione di Windows Sockets, usando un approccio di programmazione basato sulle modifiche. Definisce due categorie di applicazioni multicast.
Comportamento dell'opzione socket multicast Fornisce una tabella completa per illustrare le implicazioni e i requisiti della chiamata delle opzioni socket multicast in un ordine specifico.
Esempio di programmazione multicast Frammento di programmazione che illustra come usare le opzioni socket per abilitare le applicazioni multicast in Windows.
Programmazione multicast basata sullo stato finale Illustra l'approccio finale allo stato e come usare IOCTLs per la programmazione multicast con Windows Sockets.
Conversione di applicazioni broadcast in IPv6 Fornisce linee guida per la conversione di applicazioni broadcast IPv4 in multicast IPv6.