Multicast: connessioni multipunto per una trasmissione di dati efficiente

Per quanto riguarda le trasmissioni radiofoniche e televisive, il numero di utenti collegati e che usufruiscono di quanto viene offerto non ha importanza. Diversamente avviene nella trasmissione di messaggi nelle reti IP: ad esempio, se più utenti diversi devono poter accedere a uno streaming live, la comunicazione unicast via IP, applicata come impostazione predefinita, richiederebbe che la stazione di invio trasmetta i pacchetti corrispondenti separatamente a ciascun destinatario. Dal momento che questo consumerebbe la larghezza di banda disponibile in un tempo molto breve, è stata sviluppata e implementata la tecnica di routing multicast (anche detta: IP multicast). Ciò consente a un mittente di trasmettere flussi di dati IP a più destinatari contemporaneamente in un unico passaggio.

Cos'è l’IP Multicast?

Il protocollo Internet è il protocollo standard per la comunicazione nelle reti informatiche. Che si tratti di Internet o di una rete locale, l’invio di messaggi elettronici tramite indirizzi IP non è da escludersi nelle reti moderne. Lo stack di protocolli standard TCP/IP fornisce una serie di protocolli e metodi che coprono una vasta gamma di esigenze.

Le forme di comunicazione disponibili, ad esempio, rivestono un ruolo fondamentale; tra queste, il cosiddetto multicasting è diventato, soprattutto in tempi recenti, sempre più importante. Questo concetto, noto anche come IP multicast, permette la trasmissione da un punto a più destinatari. Per questo motivo le connessioni multicast vengono anche definite connessioni punto-multipunto.

Grazie alla possibilità di inviare un singolo flusso di dati a più destinatari, il multicasting si distingue chiaramente dalla trasmissione standard unicast, in cui i pacchetti IP sono trasmessi tramite connessione diretta tra sistemi comunicanti. L’IP multicast differisce dal simile broadcasting poiché i flussi di dati non vengono inviati a tutti i partecipanti della rete, ma soltanto a coloro che sono collegati con il mittente e sono quindi parte del gruppo multicast corrispondente. Tramite un indirizzo multicast assegnato, il mittente può quindi fornire contemporaneamente a tutto il gruppo il relativo flusso di dati. Nella versione del protocollo Internet IPv4 è riservato l’intervallo di indirizzi tra 224.0.0.0 e 239.255.255.255, mentre per gli indirizzi multicast in IPv6 è previsto l’avvio FF00::/8.

Come funziona l'indirizzamento multicast?

Il suddetto indirizzamento di gruppo è una delle caratteristiche determinanti dell’IP multicast e come tale è fondamentale per il funzionamento del concetto di comunicazione. Da un lato c’è la possibilità di un indirizzamento statico in cui, ad esempio, viene stabilita una connessione con un server multicast, che offre il servizio corrispondente. Dall’altro, gli indirizzi multicast possono anche essere ottenuti dinamicamente, dato che i gruppi multicast non devono necessariamente esistere in modo permanente. In questo modo si possono creare facilmente gruppi privati e altrettanto facilmente si possono eliminare. Indipendentemente dal fatto che l'assegnazione degli indirizzi sia statica o dinamica, l'intervallo di indirizzi nelle rete IP va da 224.0.0.0 a 239.255.255.255.255 (oppure FF00::/8); tale intervallo è noto anche come spazio di indirizzamento di classe D.

L’unione di gruppi IP multicast è regolata di default dai router di rete predisposti e dall’Internet Group Management Protocol (IGMP). A questo proposito il protocollo, che fa parte della famiglia dei protocolli Internet, fornisce vari tipi di messaggi che consentono agli host di informare il router locale sulla richiesta di accesso e ai router di ricevere e inoltrare i corrispondenti flussi di dati IP multicast. Il punto di partenza per la comunicazione IGMP è sempre il router attraverso il quale il mittente multicast è collegato alla rete. Il mittente inoltra i pacchetti di un flusso di dati soltanto una volta, specificando l'indirizzo del gruppo multicast come indirizzo del destinatario. Tuttavia non sa quanti terminali raggiunge in questo modo.

IP multicast: tecniche e protocolli di routing in sintesi

Il routing, cioè il trasporto di pacchetti multicast attraverso singoli router e reti, è regolato nel multicasting da speciali protocolli di routing. Questi lavorano con diversi algoritmi per inoltrare il flusso di dati nel modo più efficiente e veloce possibile a tutti i membri del gruppo multicast corrispondente. Non esiste un protocollo standard, in quanto i protocolli esistenti sono stati progettati ciascuno per diverse funzioni. Pertanto, alcuni partecipanti hanno i loro punti di forza quando i membri del gruppo sono vicini l’uno all’altro, mentre altri sono avvantaggiati quando i destinatari sono il più distante possibile. Inoltre, esistono diversi algoritmi di routing, in particolare Reverse Path Forwarding (RPF) e Truncated Reverse Path Forwarding (TRPF).

Reverse Path Forwarding (RPF)

Il Reverse Path Forwarding è un metodo che assicura un sentiero di pacchetti IP multicast privi di loop; in questo modo nessun host viene raggiunto più di una volta. Determinanti per l'inoltro del flusso di dati sono l'indirizzo sorgente e l’interfaccia che si è attraversata in rete. Non appena un pacchetto multicast raggiunge l'interfaccia di un router, confronta entrambi con una tabella di routing determinata precedentemente in modo automatico tramite broadcast o configurata manualmente. Se c'è una voce per l'indirizzo sorgente che conferma l'interfaccia precedentemente attraversata, il check RPF ha esito positivo e il router inoltra il flusso multicast a tutte le altre interfacce disponibili. In caso contrario, rifiuta i pacchetti.

RPF controlla quindi a ritroso il percorso dei pacchetti. I metodi di routing unicast sono usati anche per collegare i router tra loro attraverso il percorso più breve. L’architettura del routing è anche chiamata albero multicast, dove il mittente o il suo router rappresentano la radice, cioè il punto di partenza.

Truncated Reverse Path Forwarding (TRPF)

Nel caso del Truncated Reverse Path Forwarding abbiamo un’estensione del concetto RPF in cui i pacchetti multicast sono inoltrati solo a router che servono almeno un membro del gruppo multicast. Subito viene eseguito il normale controllo al contrario dell'indirizzo sorgente e dell'interfaccia di ricezione. Successivamente, il TRPF controlla la serie secondo le interfacce più vicine e stabilisce quali posizioni devono essere servite. Il criterio decisivo è stabilire se un’interfaccia ospita host che sono registrati nel gruppo multicast a cui è indirizzato il flusso di dati ricevuto. In questo caso i pacchetti vengono inoltrati, altrimenti no.

N.B.

Per utilizzare TRPF, un router multicast ha bisogno, oltre che della tabella di routing, anche di un elenco di tutti i gruppi multicast che possono essere raggiunti attraverso le varie interfacce di rete.

Quali protocolli di routing multicast ci sono?

Non esiste un protocollo di routing standard per il multicast. La ragione di questo è il raggio di distribuzione menzionato così come il numero di stazioni riceventi che hanno un'influenza significativa sulla base del protocollo richiesto. Pertanto viene fatta una distinzione approssimativa tra i due approcci: “modalità densa” (i destinatari sono vicini tra loro) e “modalità sparsa” (i destinatari sono collocati in modo “sparso”). Ma i protocolli differiscono anche per altri aspetti, come dimostrato da DVMRP, MOSPF e PIM che illustriamo nel prossimo paragrafo.

Distance Vector Multicast Routing Protocol (DVMRP)

Il Distance Vector Multicast Routing Protocol, in breve DVMRP, è stato introdotto nel 1988 in RFC 1075 come soluzione sperimentale per il routing di pacchetti multicast nelle reti IP. DVMRP è stato sviluppato da un gruppo di lavoro della Stanford University, dove RIP (Routing Information Protocol), un protocollo di routing unicast, basato sull’algoritmo del vettore di distanza, fungeva da base.

N.B.

Il RIP è stato definito per la prima volta in RFC 1058. Da allora, il protocollo è stato rivisto in vari passaggi. Con RIPng (RIP next generation) è stata creata una versione che aggiunge al protocollo di routing il supporto IPv6.

Il team ha implementato la tecnica di Reverse Path Forwarding per calcolare in modo efficace i percorsi dei pacchetti. Sulla base di ciò, un router multicast crea automaticamente una propria tabella di routing in cui memorizza un cosiddetto vettore di distanza per tutti gli altri router della rete. Tale voce include informazioni sul costo associato alla trasmissione dei dati al rispettivo router (ad esempio il ritardo di trasmissione o il numero di stazioni intermedie), nonché informazioni sul router adiacente a cui deve essere inoltrato il pacchetto per raggiungere il router di destinazione. IGMP viene utilizzato come protocollo di messaggi per lo scambio tra i vari router.

Multicast Open Shortest Path First (MOSPF)

Multicast Open Shortest Path First (MOSPF) è un'estensione del protocollo di routing OSPF, che rende possibile il routing multicast all'interno di una rete basata su OSPF. Così ogni router gestisce un database completo dell’intera topologia di rete (disposizione di dispositivi e linee) che, grazie alla nuova “Group Membership” LSA (messaggi con informazioni sull'appartenenza al gruppo), può contenere anche voci relative alla posizione di tutti i partecipanti di un gruppo IP Multicast. La determinazione dell’appartenenza avviene tramite i router, che utilizzano messaggi IGMP per questo scopo. Partendo dal router dietro il quale si trova il trasmettitore multicast, si può facilmente creare una struttura ad albero che mostra il percorso dei pacchetti più breve in ciascun caso.

N.B.

MOSPF non ha bisogno di un altro protocollo di routing per calcolare l'albero multicast, dal momento che usa il routing OSPF per questo scopo.

Protocol Independent Multicast (PIM)

Protocol Independent Multicast (PIM) è una famiglia di protocolli di routing che non fornisce alcun meccanismo per la creazione di tabelle di routing. Per fare ciò, PIM utilizza le informazioni fornite dai protocolli di routing unicast attivi in rete. Non importa quale protocollo sia coinvolto, in quanto Protocol Independent Multicast può essere utilizzato sia in reti ad alta densità sia in reti a bassa densità di partecipanti. Infatti, vengono utilizzate le due modalità, Dense-Mode (PIM-DM) e Sparse-Mode (PIM-SM), menzionate all'inizio.

Nel primo caso, i flussi di dati multicast sono inviati a tutti i router di rete finché non si disconnettono dall’albero multicast (a causa della mancanza di membri del gruppo). In modalità sparsa, invece, un cosiddetto Rendez-vous Point router funge da centro di controllo per la gestione delle connessioni multicast. Quest’ultimo accetta le pubblicazioni multicast e inoltra i pacchetti a tutti i router richiedenti, le cui sottoreti contengono almeno un membro del gruppo multicast.

Multicast vs Broadcast: differenze e punti in comune

Il broadcasting non è solo un'alternativa all’IP multicasting, ma può anche far parte di un concetto di multicasting. Il confronto "multicast vs broadcast" mostra fondamentalmente un importante aspetto in comune: sia il broadcasting sia il multicasting consentono di stabilire connessioni multipunto in reti IP, con le quali un mittente può raggiungere più destinatari contemporaneamente. La differenza principale è che un broadcast si rivolge sempre a tutti gli endpoint di una rete o segmento di rete, mentre un multicast trasmette i dati solo al gruppo multicast, cioè a determinati destinatari (facoltativamente oltre i confini della rete).

Poiché i broadcast sono sempre diretti a tutti gli endpoint, non è necessario un intervallo di indirizzi esteso, come nel caso del multicast. Un broadcast ordinario ha quindi sempre l’indirizzo IP di destinazione 255.255.255.255, riservato a questo processo; tuttavia i broadcast diretti (detti anche broadcast locali) sono anche possibili specificando la maschera di sottorete. Il broadcasting ha i suoi vantaggi quando gli indirizzi dei destinatari sono sconosciuti, ad esempio nella condivisione di file e stampanti in rete o quando si assegnano indirizzi IP tramite DHCP. Tuttavia, rispetto al multicasting, questo metodo richiede molte più risorse e spreca parte della larghezza di banda.

N.B.

In IPv6 non esiste più il Broadcast come formato di messaggio. La funzione di inviare messaggi o pacchetti di dati simultaneamente a tutti i dispositivi di una rete viene gestita da speciali indirizzi multicast nella versione più recente del protocollo Internet.

Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top