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) su IPv6 e i protocolli di gestione dei gruppi di Internet 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, denominata IGMPv2, consente agli host di partecipare e lasciare i gruppi multicast identificati da un indirizzo multicast IPv4 in un'interfaccia di rete specifica. Windows Sockets consente a un'applicazione di unire 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 rendendo 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 poche origini) e la sua impossibilità di bloccare i mittenti (ad esempio emittenti non autorizzate o autori denial of service) per un determinato gruppo multicast. IGMPv3 risolve tali carenze.

Con Windows Sockets e IGMPv3, le applicazioni possono selezionare un determinato indirizzo di origine IPv4 multicast e una coppia di gruppi multicast. Inoltre, Windows Sockets consente agli sviluppatori di consentire in modo selettivo 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 unire e lasciare tali gruppi in socket specifici. Tuttavia, qualsiasi indirizzo di origine IPv6 unito 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 relativo a MLDv1 è l'impossibilità di scegliere in modo selettivo un singolo indirizzo di origine IPv6 (o anche poche origini) e l'impossibilità di bloccare i mittenti (ad esempio emittenti non autorizzate o autori denial of service) per un determinato gruppo multicast. MLDv2 risolve tali carenze.

Con Windows Sockets e MLDv2, le applicazioni possono selezionare una specifica coppia di indirizzo di origine IPv6 multicast e gruppo multicast. Inoltre, Windows Sockets consente agli sviluppatori di consentire in modo selettivo 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 durante lo sviluppo di applicazioni multicast in Windows. Il primo approccio è basato sul cambiamento; le sorgenti multicast vengono aggiunte o rimosse usando le opzioni socket, anche durante il corso della trasmissione, come richiesto. Il secondo approccio è basato sullo stato finale; gli indirizzi di origine e gli eventuali indirizzi inclusi/esclusi vengono specificati con un IOCTL. Ogni approccio è una pratica di multicast valida, ma gli sviluppatori possono trovare l'uso delle opzioni socket e l'approccio basato sul cambiamento più intuitivo e flessibile.

In questa sezione sono disponibili le pagine seguenti:

Titolo 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 di chiamare le 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 allo stato finale nonché come usare gli IOCTLs per la programmazione multicast con Windows Sockets.
Migrazione delle applicazioni broadcast a IPv6 Fornisce linee guida per la conversione di applicazioni broadcast IPv4 in multicast IPv6.