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