Per quanto riguarda le tra­smis­sio­ni ra­dio­fo­ni­che e te­le­vi­si­ve, il numero di utenti collegati e che usu­frui­sco­no di quanto viene offerto non ha im­por­tan­za. Di­ver­sa­men­te avviene nella tra­smis­sio­ne di messaggi nelle reti IP: ad esempio, se più utenti diversi devono poter accedere a uno streaming live, la co­mu­ni­ca­zio­ne unicast via IP, applicata come im­po­sta­zio­ne pre­de­fi­ni­ta, ri­chie­de­reb­be che la stazione di invio trasmetta i pacchetti cor­ri­spon­den­ti se­pa­ra­ta­men­te a ciascun de­sti­na­ta­rio. Dal momento che questo con­su­me­reb­be la larghezza di banda di­spo­ni­bi­le in un tempo molto breve, è stata svi­lup­pa­ta e im­ple­men­ta­ta la tecnica di routing multicast (anche detta: IP multicast). Ciò consente a un mittente di tra­smet­te­re flussi di dati IP a più de­sti­na­ta­ri con­tem­po­ra­nea­men­te in un unico passaggio.

Cos'è l’IP Multicast?

Il pro­to­col­lo Internet è il pro­to­col­lo standard per la co­mu­ni­ca­zio­ne nelle reti in­for­ma­ti­che. Che si tratti di Internet o di una rete locale, l’invio di messaggi elet­tro­ni­ci tramite indirizzi IP non è da esclu­der­si nelle reti moderne. Lo stack di pro­to­col­li standard TCP/IP fornisce una serie di pro­to­col­li e metodi che coprono una vasta gamma di esigenze.

Le forme di co­mu­ni­ca­zio­ne di­spo­ni­bi­li, ad esempio, rivestono un ruolo fon­da­men­ta­le; tra queste, il co­sid­det­to mul­ti­ca­sting è diventato, so­prat­tut­to in tempi recenti, sempre più im­por­tan­te. Questo concetto, noto anche come IP multicast, permette la tra­smis­sio­ne da un punto a più de­sti­na­ta­ri. Per questo motivo le con­nes­sio­ni multicast vengono anche definite con­nes­sio­ni punto-mul­ti­pun­to.

Grazie alla pos­si­bi­li­tà di inviare un singolo flusso di dati a più de­sti­na­ta­ri, il mul­ti­ca­sting si distingue chia­ra­men­te dalla tra­smis­sio­ne standard unicast, in cui i pacchetti IP sono trasmessi tramite con­nes­sio­ne diretta tra sistemi co­mu­ni­can­ti. L’IP multicast dif­fe­ri­sce dal simile broa­d­ca­sting poiché i flussi di dati non vengono inviati a tutti i par­te­ci­pan­ti della rete, ma soltanto a coloro che sono collegati con il mittente e sono quindi parte del gruppo multicast cor­ri­spon­den­te. Tramite un indirizzo multicast assegnato, il mittente può quindi fornire con­tem­po­ra­nea­men­te a tutto il gruppo il relativo flusso di dati. Nella versione del pro­to­col­lo Internet IPv4 è riservato l’in­ter­val­lo 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'in­di­riz­za­men­to multicast?

Il suddetto in­di­riz­za­men­to di gruppo è una delle ca­rat­te­ri­sti­che de­ter­mi­nan­ti dell’IP multicast e come tale è fon­da­men­ta­le per il fun­zio­na­men­to del concetto di co­mu­ni­ca­zio­ne. Da un lato c’è la pos­si­bi­li­tà di un in­di­riz­za­men­to statico in cui, ad esempio, viene stabilita una con­nes­sio­ne con un server multicast, che offre il servizio cor­ri­spon­den­te. Dall’altro, gli indirizzi multicast possono anche essere ottenuti di­na­mi­ca­men­te, dato che i gruppi multicast non devono ne­ces­sa­ria­men­te esistere in modo per­ma­nen­te. In questo modo si possono creare fa­cil­men­te gruppi privati e al­tret­tan­to fa­cil­men­te si possono eliminare. In­di­pen­den­te­men­te dal fatto che l'as­se­gna­zio­ne degli indirizzi sia statica o dinamica, l'in­ter­val­lo di indirizzi nelle rete IP va da 224.0.0.0 a 239.255.255.255.255 (oppure FF00::/8); tale in­ter­val­lo è noto anche come spazio di in­di­riz­za­men­to di classe D.

L’unione di gruppi IP multicast è regolata di default dai router di rete pre­di­spo­sti e dall’Internet Group Ma­na­ge­ment Protocol (IGMP). A questo proposito il pro­to­col­lo, che fa parte della famiglia dei pro­to­col­li Internet, fornisce vari tipi di messaggi che con­sen­to­no agli host di informare il router locale sulla richiesta di accesso e ai router di ricevere e inoltrare i cor­ri­spon­den­ti flussi di dati IP multicast. Il punto di partenza per la co­mu­ni­ca­zio­ne IGMP è sempre il router at­tra­ver­so il quale il mittente multicast è collegato alla rete. Il mittente inoltra i pacchetti di un flusso di dati soltanto una volta, spe­ci­fi­can­do l'in­di­riz­zo del gruppo multicast come indirizzo del de­sti­na­ta­rio. Tuttavia non sa quanti terminali raggiunge in questo modo.

IP multicast: tecniche e pro­to­col­li di routing in sintesi

Il routing, cioè il trasporto di pacchetti multicast at­tra­ver­so singoli router e reti, è regolato nel mul­ti­ca­sting da speciali pro­to­col­li di routing. Questi lavorano con diversi algoritmi per inoltrare il flusso di dati nel modo più ef­fi­cien­te e veloce possibile a tutti i membri del gruppo multicast cor­ri­spon­den­te. Non esiste un pro­to­col­lo standard, in quanto i pro­to­col­li esistenti sono stati pro­get­ta­ti ciascuno per diverse funzioni. Pertanto, alcuni par­te­ci­pan­ti hanno i loro punti di forza quando i membri del gruppo sono vicini l’uno all’altro, mentre altri sono av­van­tag­gia­ti quando i de­sti­na­ta­ri sono il più distante possibile. Inoltre, esistono diversi algoritmi di routing, in par­ti­co­la­re Reverse Path For­war­ding (RPF) e Truncated Reverse Path For­war­ding (TRPF).

Reverse Path For­war­ding (RPF)

Il Reverse Path For­war­ding è un metodo che assicura un sentiero di pacchetti IP multicast privi di loop; in questo modo nessun host viene raggiunto più di una volta. De­ter­mi­nan­ti per l'inoltro del flusso di dati sono l'in­di­riz­zo sorgente e l’in­ter­fac­cia che si è at­tra­ver­sa­ta in rete. Non appena un pacchetto multicast raggiunge l'in­ter­fac­cia di un router, confronta entrambi con una tabella di routing de­ter­mi­na­ta pre­ce­den­te­men­te in modo au­to­ma­ti­co tramite broadcast o con­fi­gu­ra­ta ma­nual­men­te. Se c'è una voce per l'in­di­riz­zo sorgente che conferma l'in­ter­fac­cia pre­ce­den­te­men­te at­tra­ver­sa­ta, il check RPF ha esito positivo e il router inoltra il flusso multicast a tutte le altre in­ter­fac­ce di­spo­ni­bi­li. 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 at­tra­ver­so il percorso più breve. L’ar­chi­tet­tu­ra del routing è anche chiamata albero multicast, dove il mittente o il suo router rap­pre­sen­ta­no la radice, cioè il punto di partenza.

Truncated Reverse Path For­war­ding (TRPF)

Nel caso del Truncated Reverse Path For­war­ding abbiamo un’esten­sio­ne 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 del­l'in­di­riz­zo sorgente e del­l'in­ter­fac­cia di ricezione. Suc­ces­si­va­men­te, il TRPF controlla la serie secondo le in­ter­fac­ce più vicine e sta­bi­li­sce quali posizioni devono essere servite. Il criterio decisivo è stabilire se un’in­ter­fac­cia ospita host che sono re­gi­stra­ti nel gruppo multicast a cui è in­di­riz­za­to il flusso di dati ricevuto. In questo caso i pacchetti vengono inoltrati, al­tri­men­ti no.

N.B.

Per uti­liz­za­re 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 at­tra­ver­so le varie in­ter­fac­ce di rete.

Quali pro­to­col­li di routing multicast ci sono?

Non esiste un pro­to­col­lo di routing standard per il multicast. La ragione di questo è il raggio di di­stri­bu­zio­ne men­zio­na­to così come il numero di stazioni riceventi che hanno un'in­fluen­za si­gni­fi­ca­ti­va sulla base del pro­to­col­lo richiesto. Pertanto viene fatta una di­stin­zio­ne ap­pros­si­ma­ti­va tra i due approcci: “modalità densa” (i de­sti­na­ta­ri sono vicini tra loro) e “modalità sparsa” (i de­sti­na­ta­ri sono collocati in modo “sparso”). Ma i pro­to­col­li dif­fe­ri­sco­no anche per altri aspetti, come di­mo­stra­to da DVMRP, MOSPF e PIM che il­lu­stria­mo nel prossimo paragrafo.

Distance Vector Multicast Routing Protocol (DVMRP)

Il Distance Vector Multicast Routing Protocol, in breve DVMRP, è stato in­tro­dot­to nel 1988 in RFC 1075 come soluzione spe­ri­men­ta­le per il routing di pacchetti multicast nelle reti IP. DVMRP è stato svi­lup­pa­to da un gruppo di lavoro della Stanford Uni­ver­si­ty, dove RIP (Routing Infor­ma­tion Protocol), un pro­to­col­lo 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 pro­to­col­lo è stato rivisto in vari passaggi. Con RIPng (RIP next ge­ne­ra­tion) è stata creata una versione che aggiunge al pro­to­col­lo di routing il supporto IPv6.

Il team ha im­ple­men­ta­to la tecnica di Reverse Path For­war­ding per calcolare in modo efficace i percorsi dei pacchetti. Sulla base di ciò, un router multicast crea au­to­ma­ti­ca­men­te una propria tabella di routing in cui memorizza un co­sid­det­to vettore di distanza per tutti gli altri router della rete. Tale voce include in­for­ma­zio­ni sul costo associato alla tra­smis­sio­ne dei dati al ri­spet­ti­vo router (ad esempio il ritardo di tra­smis­sio­ne o il numero di stazioni in­ter­me­die), nonché in­for­ma­zio­ni sul router adiacente a cui deve essere inoltrato il pacchetto per rag­giun­ge­re il router di de­sti­na­zio­ne. IGMP viene uti­liz­za­to come pro­to­col­lo di messaggi per lo scambio tra i vari router.

Multicast Open Shortest Path First (MOSPF)

Multicast Open Shortest Path First (MOSPF) è un'e­sten­sio­ne del pro­to­col­lo di routing OSPF, che rende possibile il routing multicast al­l'in­ter­no di una rete basata su OSPF. Così ogni router gestisce un database completo dell’intera topologia di rete (di­spo­si­zio­ne di di­spo­si­ti­vi e linee) che, grazie alla nuova “Group Mem­ber­ship” LSA (messaggi con in­for­ma­zio­ni sul­l'ap­par­te­nen­za al gruppo), può contenere anche voci relative alla posizione di tutti i par­te­ci­pan­ti di un gruppo IP Multicast. La de­ter­mi­na­zio­ne dell’ap­par­te­nen­za avviene tramite i router, che uti­liz­za­no messaggi IGMP per questo scopo. Partendo dal router dietro il quale si trova il tra­smet­ti­to­re multicast, si può fa­cil­men­te 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 pro­to­col­lo di routing per calcolare l'albero multicast, dal momento che usa il routing OSPF per questo scopo.

Protocol In­de­pen­dent Multicast (PIM)

Protocol In­de­pen­dent Multicast (PIM) è una famiglia di pro­to­col­li di routing che non fornisce alcun mec­ca­ni­smo per la creazione di tabelle di routing. Per fare ciò, PIM utilizza le in­for­ma­zio­ni fornite dai pro­to­col­li di routing unicast attivi in rete. Non importa quale pro­to­col­lo sia coinvolto, in quanto Protocol In­de­pen­dent Multicast può essere uti­liz­za­to sia in reti ad alta densità sia in reti a bassa densità di par­te­ci­pan­ti. Infatti, vengono uti­liz­za­te le due modalità, Dense-Mode (PIM-DM) e Sparse-Mode (PIM-SM), men­zio­na­te al­l'i­ni­zio.

Nel primo caso, i flussi di dati multicast sono inviati a tutti i router di rete finché non si di­scon­net­to­no dall’albero multicast (a causa della mancanza di membri del gruppo). In modalità sparsa, invece, un co­sid­det­to Rendez-vous Point router funge da centro di controllo per la gestione delle con­nes­sio­ni multicast. Quest’ultimo accetta le pub­bli­ca­zio­ni multicast e inoltra i pacchetti a tutti i router ri­chie­den­ti, le cui sottoreti con­ten­go­no almeno un membro del gruppo multicast.

Multicast vs Broadcast: dif­fe­ren­ze e punti in comune

Il broa­d­ca­sting non è solo un'al­ter­na­ti­va all’IP mul­ti­ca­sting, ma può anche far parte di un concetto di mul­ti­ca­sting. Il confronto "multicast vs broadcast" mostra fon­da­men­tal­men­te un im­por­tan­te aspetto in comune: sia il broa­d­ca­sting sia il mul­ti­ca­sting con­sen­to­no di stabilire con­nes­sio­ni mul­ti­pun­to in reti IP, con le quali un mittente può rag­giun­ge­re più de­sti­na­ta­ri con­tem­po­ra­nea­men­te. La dif­fe­ren­za prin­ci­pa­le è 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 de­ter­mi­na­ti de­sti­na­ta­ri (fa­col­ta­ti­va­men­te oltre i confini della rete).

Poiché i broadcast sono sempre diretti a tutti gli endpoint, non è ne­ces­sa­rio un in­ter­val­lo di indirizzi esteso, come nel caso del multicast. Un broadcast ordinario ha quindi sempre l’indirizzo IP di de­sti­na­zio­ne 255.255.255.255, riservato a questo processo; tuttavia i broadcast diretti (detti anche broadcast locali) sono anche possibili spe­ci­fi­can­do la maschera di sottorete. Il broa­d­ca­sting ha i suoi vantaggi quando gli indirizzi dei de­sti­na­ta­ri sono sco­no­sciu­ti, ad esempio nella con­di­vi­sio­ne di file e stampanti in rete o quando si assegnano indirizzi IP tramite DHCP. Tuttavia, rispetto al mul­ti­ca­sting, 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 si­mul­ta­nea­men­te a tutti i di­spo­si­ti­vi di una rete viene gestita da speciali indirizzi multicast nella versione più recente del pro­to­col­lo Internet.

Vai al menu prin­ci­pa­le