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. |