SlideShare une entreprise Scribd logo
1  sur  52
Télécharger pour lire hors ligne
Davide Guerri ­ CASPUR 1
Multicast
Davide Guerri ­ CASPUR 2
Nota di copyright
   Copyright © 2006 by Davide Guerri (<davide.guerri@gmail.com>).
Fatte salve esplicite autorizzazioni, la copia letterale e la distribuzione 
di questo documento sono permesse con qualsiasi mezzo, a 
condizione che questa nota sia riprodotta nella sua interezza e che 
venga mantenuto il riferimento all’autore.
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 3
Sommario
 Introduzione
 Cos’è il Multicast
 Concetti di base
 Multicast intra­dominio
 PIM­SM
 Multicast inter­dominio
 MSDP
 MBGP
 Multicast su rete locale
 IGMP
 Ottimizzazioni
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 4
Introduzione
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 5
Introduzione
Cos’è il multicast
 Nelle reti a commutazione di pacchetto abbiamo 4 tipi di indirizzamento riferiti a 
differenti schemi di routing:
 Lo scopo del multicast è quello di ottimizzare, rispetto a unicast, l’invio e 
l’instradamento delle informazioni destinate a più client 
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 6
Introduzione
Concetti di base
 Il paradigma d’instradamento è totalmente differente da 
quello tradizionale IP (destination based)
 Un gruppo o indirizzo multicast identifica l’insieme di client che 
intendono ricevere uno specifico flusso
• Nella notazione standard, un gruppo multicast G proveniente da 
qualunque sorgente è identificato dalla coppia (*,G) mentre se la sorgente 
S è definita si utilizza la notazione (S,G) dove S è un indirizzo IP unicast.
 Gli indirizzi IP di classe D sono tutti e soli quelli riservati al multicast:
• 224.0.0.0/4 ovvero da 224.0.0.0 a 239.255.255.255
• alcuni range sono riservati a specifici scopi (GLOP, SAP, Local Scoped, …)
 L’indirizzo IP degli effettivi destinatari di una trasmissione multicast non 
è in alcun modo in relazione con il gruppo multicast al quale essi 
appartengono
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 7
 Esistono 2 modalità di distribuzione dei flussi multicast 
utilizzabili in relazione al rapporto tra il numero di destinatari e 
quello totale degli host della rete:
 Densa
• Si assume che i destinatari siano la maggior parte degli host
• Basata su flooding periodico e pruning
• Adatta in domini circoscritti e per alcune tipologie di applicazioni
 Sparsa
• Si assume che i destinatari siano una frazione degli host della rete
• Basata su richiesta esplicita di unione (“join”) al gruppo
• Adatta per la distribuzione su scala “geografica”
 In queste slides tratteremo esclusivamente la distribuzione 
sparsa
Introduzione
Concetti di base
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 8
 Gli algoritmi alla base della distribuzione multicast fanno uso 
di “tabelle di routing” (nell’accezione canonica) ma solo per 
decisioni che riguardano indirizzi unicast (segnalazione)
 I percorsi di distribuzione del multicast sono costruiti in direzione 
contraria rispetto a quella del flusso: dai recevitori alla sorgente. Si 
parla infatti di Reverse Path Forwarding (RPF)
 I router abilitati al multicast possono mantenere una tabella 
d’instradamento separata da quella utilizzata dal routing unicast, 
denominata RPF table
• In questo modo è possibile applicare delle politiche differenti per traffico 
unicast e multicast
 Per un dato indirizzo IP unicast U, il RPF neighbor di un router A è il 
“next hop” per raggiungere U secondo la RPF table.
Introduzione
Concetti di base
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 9
 L’instradamento dei pacchetti IP con indirizzi multicast è regolato da 
apposite strutture dati nelle quali ad un dato gruppo multicast è associata 
una lista di interfacce sulle quali replicare il traffico
 Tali “liste”, costruite dagli algoritmi di routing multicast, sono denominate 
Output Interface List (OIL) e sono sempre riferite ad un gruppo multicast in 
termini di (*,G) o (S,G)
 Le OIL sono strutture altamente dinamiche, al contrario delle RPF 
table (che pur potendo essere dinamiche, non variano molto spesso)
Fe­1/2
Fe­0/1.1
(S,G)
Gi­0/1/1.1
Gi­0/0/3.10
Gi­0/0/2.1
(*,G)
 Attenzione: (S,G) ⊄ (*,G)
 Le OIL e gli stati del router che 
inoltra il traffico per G possono 
coesistere per (S,G) e (*,G)
Esempio di OIL per (*,G) e (S,G)
Introduzione
Concetti di base
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 10
 Due modelli di servizio:
 Molti a Molti (Any Source Multicast, ASM)
• Più sorgenti possono trasmettere verso lo stesso gruppo multicast
• Adatto a sessioni di chat, video­conferenze, giochi online
• Realizzato, ad esempio, con un sottoinsieme delle funzionalità di PIM­SM 
e IGMPv2
 Uno a Molti (Source Specific Multicast, SSM)
• Più sorgenti possono trasmettere verso lo stesso gruppo multicast 
ma si può selezionarne uno specifico sottoinsieme
• Adatto a trasmissioni audio/video o dati
• Realizzato, ad esempio, mediante un sottoinsieme delle 
funzionalità di PIM­SM e IGMPv3
Introduzione
Concetti di base
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 11
 Per raggiungere tutti i membri del gruppo multicast, la rete deve configurarsi 
per creare un albero di distribuzione
 Le foglie sono i client, la radice è la sorgente del gruppo
 Si possono avere alberi di distribuzione “sovrapposti” se più sorgenti 
trasmettono su uno stresso gruppo
 Nel modello di servizio SSM, si seleziona un sottoinsieme di alberi, riferiti a 
specifiche sorgenti
Introduzione
Concetti di base
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 12
 Nel modello ASM la sorgente del gruppo multicast 
non è definita
 È necessario un configurare nella rete un “punto di ritrovo” 
tra sorgenti e ricevitori
• Ogni sorgente comunica a quest’entità la sua presenza 
• Ogni ricevente si riferisce ad esso per conoscere l’indirizzo delle 
sorgenti di un dato gruppo multicast
 Nel modello SSM si assume che, in qualche modo, i 
membri del gruppo multicast conoscano l’indirizzo 
della sorgente 
Introduzione
Concetti di base
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 13
 È importante capire la differenza tra i protocolli di routing che popolano la RPF 
table e quelli che popolano le OIL (e che dunque creano dinamicamente l’albero 
di distribuzione multicast)
 Protocol Indepependent Multicast ­ Sparse Mode (PIM­SM) è un esempio di 
protocollo di routing multicast che non agisce sulle RPF Tables ma è responsabile 
dell’instradamento del traffico.
• PIM­SM utilizza le RPF table per determinare i neighbor RPF cui inoltrare i messaggi di 
segnalazione
 Spesso i protocolli di routing responsabili del popolamento delle tabelle RPF sono 
estensioni di protocolli usati tipicamente per unicast
 Multicast Extension for BGP (MBGP), è utilizzato esclusivamente per popolare le RPF 
table
 Altri protocolli utilizzati per multicast sono
 Protocol Indepependent Multicast ­ Dense Mode (PIM­DM)
 Multicast Extension for OSPF (MOSPF)
 DVRMP (simile a PIM­DM ma è legato a IP)
Introduzione
Concetti di base
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 14
Multicast intra­dominio
PIM
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 15
 PIM è un protocollo di routing in grado di governare 
l’instradamento del traffico multicast 
 È indipendente dal protocollo di rete:
• Può essere incapsulato in diversi tipi di pacchetti L3 (e.g.: IPv4 e 
IPv6) e può essere utilizzato per diverse tipologie di routing  
multicast (e.g.: IPv4 e IPv6)
 È basato sullo scambio di messaggi tra router
 Può operare sia in modalità densa sia sparsa
• PIM­SM mira a costruire un albero di distribuzione multicast dove 
ogni cammino da una foglia alla radice sia lo shortest path dalla 
sorgente ai client. Tale albero è denominato Shortest Path Tree 
(SPT)
Multicast Intra­dominio
PIM::Concetti di base
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 16
 Nel modello ASM, PIM­SM richiede la presenza di un 
Rendezvous Point (RP) 
 Ogni sorgente multicast è registrata (dal router ad essa direttamente 
connesso) presso un RP
 Ogni router del dominio PIM­SM conosce l’indirizzo di un RP 
• ad esempio in quanto configurato manualmente …
 Per ASM, prima di costruire lo SPT radicato nella sorgente, PIM­SM 
costruisce un Rendevouz Point Tree (RPT), ovvero un albero di 
distribuzione (sub­ottimale) costituito da due SPT:
• Uno radicato nel RP ed in grado di distribuire i pacchetti multicast dal RP ai 
membri del gruppo multicast
• Uno radicato nella sorgente ed in grado di distribuire i pacchetti dalla 
sorgente al RP
 In un dominio PIM­SM, possono convivere più RP ognuno dei quali 
responsabile di differenti gruppi multicast
Multicast Intra­dominio
PIM­SM::Concetti di base
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 17
 Sorgenti e riceventi di gruppi multicast non agiscono 
direttamente sull’instradamento
 Tutte le operazioni di iscrizione e abbandono di un gruppo o di 
registrazione di una sorgente multicast sono mediate dai router
 Se su una LAN con degli host vi sono più router multicast, 
solo uno di questi ha un “ruolo attivo” nel soddisfacimento 
delle richieste degli host
 Tale router è denominato PIM Designated Router e, per conto degli 
host della LAN, è responsabile
• Dell’iscrizione ai gruppi multicast
• Dell’abbandono di un gruppo multicast
• Della registrazione di nuove sorgenti multicast sul RP
 L’elezione del DR avviene per mezzo di appositi messaggi PIM Hello, 
destinati a tutti i router della LAN
Multicast Intra­dominio
PIM­SM::Concetti di base
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 18
 In PIMv2 il Designated 
Router è generalmente il 
router con indirizzo IP più 
alto
 È possibile specificare 
esplicitamente una priorità che 
interviene nell’elezione del DR
 È possibile che un router con 
metriche più favorevoli per 
raggiungere la sorgente (o il 
RP) svolga il ruolo di DR nella 
costruzione dell’albero di 
distribuzione multicast
Multicast Intra­dominio
PIM­SM::Concetti di base
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 19
Multicast Inter­Dominio
Esempio di costruzione dell’albero di distribuzione per PIM­SM
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 20
Multicast Intra­dominio 
PIM­SM::Costruzione dell’albero di distribuzione
♦ Il router C è il RP del dominio PIM­SM
♦ B è un router multicast direttamente 
connesso ad una sorgente S
♦ A è un router multicast direttamente 
connesso ad un client R
Sia G un gruppo multicast,
inizialmente S non trasmette su G e 
nessuno ha richiesto l’iscrizione a tale 
gruppo
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 21
Multicast Intra­dominio 
PIM­SM::Costruzione dell’albero di distribuzione
a) R richiede l’iscrizione al gruppo G per 
mezzo di un IGMP Membership 
Report (*,G)
b) A invia un PIM Join (*,G) verso il RPF 
neighbor per il RP (ovvero il router C)
• Nell’esempio, i Join si propagano 
verso C ed ogni router aggiunge 
l’interfaccia dalla quale li riceve alla 
OIL per (*,G)
• Quest’ultima operazione crea un ramo 
del RPT, che rimane attivo anche se 
non c’è ancora traffico attraverso esso
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 22
Multicast Intra­dominio 
PIM­SM::Costruzione dell’albero di distribuzione
c) S comincia a trasmettere sul gruppo G
d)  Appena “appresa” l’esistenza di una nuova 
sorgente, B provvede a registrarla sul RP 
mediante invio di messaggi PIM Register 
(S,G)
• Quest’ultimi messaggi (unicast) incapsulano i 
pacchetti multicast trasmessi da S. 
• Viene generato un PIM Register (S,G) per 
ogni pacchetto multicast che B riceve.
e) C apprende l’esistenza di una nuova 
sorgente ed inoltra il traffico che riceve 
direttamente da B sulle interfacce presenti 
nella OIL per G
• Il flusso multicast si propaga fino al router A
f) R riceve il primo pacchetto relativo al 
gruppo G
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 23
g) Per evitare l’incapsulamento del traffico 
multicast, C invia un messaggio PIM Join 
(S,G) verso la sorgente S. Il messaggio è 
inviato al RPF neighbor per S e si propaga 
fino al router direttamente connesso con la 
sorgente, B.
• Nell’esempio, tutti i router coinvolti 
aggiungono le interfacce sulle quali 
ricevono i Join, alla OIL per (S,G)
h) B comincia ad inoltrare verso C il traffico 
multicast “nativo”
• Quando quest’ultimo raggiunge il RP, C 
riceve 2 volte ogni pacchetto multicast: una 
volta incapsulato nei PIM Register ed una 
volta “nativamente”
i) Per fermare i PIM Register (S,G), C invia 
un PIM Register­Stop (S,G) a B.
Multicast Intra­dominio
PIM­SM::Costruzione dell’albero di distribuzione
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 24
j) Fin dal passo e), A conosce la sorgente del gruppo 
multicast in quanto riceve i pacchetti da quest’ultima 
tramite il RP. Per costruire lo SPT, A invia un PIM Join 
(S,G) verso il RPF neighbor per S.
k) Alla ricezione di quest’ultimo messaggio, B aggiunge 
l’interfaccia verso A alla OIL per (S,G) e, come 
conseguenza, comincia l’invio del traffico multicast anche 
su quest’ultima.
A questo punto il flusso multicast arriva a R ma 
l’albero di distribuzione costruito (detto 
Rendezvous Point Tree, RPT) non è ottimale. 
Il router direttamente connesso al ricevente del 
gruppo (i.e.: A), se configurato per farlo, può 
dare inizio alla creazione dello Shortest Path 
Tree (SPT) per S.
Multicast Intra­dominio
PIM­SM::Costruzione dell’albero di distribuzione
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 25
l) A comincerà a riceve due volte ogni 
pacchetto multicast: una volta da B ed 
una volta dal RP. Quando questo accade, 
A invia un PIM Prune (S,G,RPT) verso C.
• Tale messaggio richiede l’eliminazione 
degli stati d’inoltro del solo RPT per una 
sorgente specifica di G: più sorgenti 
potrebbero trasmettere sullo stesso 
gruppo ma per esse lo SPT potrebbe non 
essere stato costruito. Gli stati per (*,G) 
rimangono invariati.
• Il router che riceve il messaggio di pruning 
elimina l’interfaccia dalla quale lo riceve 
dalla OIL per (S,G,RPT); se, dopo questa 
operazione, la OIL per (S,G,RPT) risulta 
vuota, esso genera a sua volta un PIM 
Prune (S,G,RPT) verso il RPF neighbor 
per il RP
Multicast Intra­dominio
PIM­SM::Costruzione dell’albero di distribuzione
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 26
m) Se C non ha più entry nella OIL 
associate a (S,G), invia a sua volta un 
PIM Prune (S,G) verso la sorgente B
• Il router che riceve il messaggio (il 
RPF neighbor di C per B) elimina 
l’interfaccia dalla quale lo riceve dalla 
OIL per (S,G). Se, dopo questa 
operazione la OIL per (S,G) risulta 
vuota, esso genera a sua volta un PIM 
Prune (S,G) verso il suo RPF neighbor 
per S.
Multicast Intra­dominio
PIM­SM::Costruzione dell’albero di distribuzione
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 27
Situazione finale
 Finché la topologia della rete non cambia, 
anche l’albero di distribuzione non varia.
 Periodicamente ogni router coinvolto, invia 
al suo RPF neighbor per S un messaggio 
PIM di Join per effettuare il refresh dei 
timer di vita degli stati d’inoltro
 La scadenza di questi timer ha un effetto 
assimilabile al pruning esplicito
 L’invio periodico di messaggi di Join, 
consente la riconvergenza della 
distribuzione in caso di variazioni 
topologiche in quanto anche le RPF table 
(quando popolate da algoritmi di routing 
dinamico) sono modificate
Multicast Intra­dominio 
PIM­SM::Costruzione dell’albero di distribuzione
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 28
 Il router direttamente 
connesso alla sorgente 
continua a comunicare al RP 
la presenza di quest’ultima 
per mezzo di messaggi PIM 
Register (S,G) che però non 
incapsulano più traffico 
multicast
 Tali messaggi sono 
denominati PIM null 
register messages (S,G) 
e terminano solo quando la 
sorgente non è più attiva
Multicast Intra­dominio 
PIM­SM::Costruzione dell’albero di distribuzione
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 29
Il procedimento di costruzione dell’albero di 
distribuzione, viene ripetuto se qualche altro client 
richiede l’iscrizione al gruppo G:
1. Il router direttamente connesso al ricevente 
inizia la costruzione del RPT
2. Il RP costruisce uno SPT con radice nella 
sorgente 
3. Viene infine costruito lo SPT tra sorgente e 
ricevitore
Multicast Intra­dominio 
PIM­SM::Costruzione dell’albero di distribuzione
Il traffico generato da una nuova sorgente S’ 
che comincia a trasmettere su G raggiungerà il 
RP e, di conseguenza, tutti i client iscritti al 
gruppo G.
Si ripeterà poi la costruzione dello SPT, come 
visto in precedenza anche per (S’,G)
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 30
 Non tutti i passaggi visti sono 
sempre necessari:
 Se, durante la propagazione dei PIM 
Join per (S,G), s’incontra un router 
che ha già uno stato d’inoltro per 
(S,G), l’interfaccia di provenienza di 
quest’ultimo viene aggiunta alla OIL 
per (S,G) ed il processo s’interrompe
 Lo stesso vale per richieste inerenti 
(*,G) (utilizzate nella costruzione del 
RPT)
Multicast Intra­dominio 
PIM­SM::Costruzione dell’albero di distribuzione
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 31
 Nell’esempio precedente, un client R 
richiede l’iscrizione al gruppo G prima 
che S cominci a trasmettere su G
 Se il RP non ha “richieste pendenti” 
quando S comincia a trasmettere:
 alla ricezione del PIM Register (S,G) 
inviato da B, il RP invia subito un PIM 
Register Stop (S,G) verso B ma (al 
contrario dell’esempio precedente) 
non procede alla creazione dell’albero 
di distribuzione radicato in 
quest’ultimo router
 B continua comunque il periodico 
invio di messaggi PIM Null Register 
(S,G) per segnalare l’esistenza di una 
sorgente attiva
Multicast Intra­dominio 
PIM­SM::Costruzione dell’albero di distribuzione
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 32
 Se un client richiede l’uscita da un gruppo 
multicast o se non ne rinnova l’iscrizione 
entro un certo periodo di tempo
 Il router direttamente connesso al client, 
invia un PIM Prune (S,G) al RPF neighbor 
per la sorgente
• Ciò viene ripetuto per ogni sorgente per la 
quale è stato costruito uno SPT per G
 Il router che riceve la richiesta elimina 
l’interfaccia sulla quale la riceve dalla OIL 
per (S,G)
• Se non vi sono più interfacce nella OIL per 
(S,G), il router di upstream invia a sua volta 
un prune verso il RPF neighbor per S.
Multicast Intra­dominio 
PIM­SM::Costruzione dell’albero di distribuzione
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 33
 SSM è realizzato con un sottoinsieme delle funzionalità di PIM­SM
 Tutti i gruppi multicast possono essere utilizzati con questo modello ma, per 
IPv4, è riservato allo scopo il blocco d’indirizzi 232.0.0.0/8
 ASM può essere implementato con un insieme di “iscrizioni” a gruppi multicast 
del modello SSM
 È però necessario utilizzare un meccanismo “esterno” per il discovery delle 
sorgenti
 SSM è estremamente più semplice e versatile di ASM
 Non è più necessario il RP(!)
 Risolve quasi del tutto i problemi di sicurezza legati al modello ASM (i.e.: DoS)
 L’identificativo di una “trasmissione” multicast comprende anche l’indirizzo della 
sorgente
• Risolve alcuni problemi legati al limitato spazio d’indirizzamento IPv4 dedicato al 
multicast (e.g.: GLOP)
Multicast Intra­dominio
PIM­SM::Source Specific Multicast
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 34
Multicast Inter­Dominio
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 35
 Poiché ogni dominio PIM­SM fa uso di un proprio RP, non è 
possibile utilizzare direttamente meccanismi di costruzione 
dell’albero di distribuzione PIM­SM visti in precedenza
 È necessario un meccanismo in grado di permettere lo scambio di 
informazioni tra RP circa le sorgenti registrate ed attive
 Multicast Source Discovery Protocol (MSDP) 
 È utilizzato per ricevere / comunicare le sorgenti attive di un RP 
(ovvero quelle registrate secondo i meccanismi di PIM visti in 
precedenza) ad altri RP
 Il suo utilizzo tipico è tra differenti domini PIM­SM ma può essere 
utilizzato per ridondare il RP di uno stesso dominio (ad esempio per 
mezzo dell’indirizzamento anycast)
Routing Multicast Inter­dominio
MSDP::Cenni
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 36
 Prima dell’avvento di MSDP, il routing multicast inter­dominio era 
realizzato posizionando i RP sul bordo dei punti di interscambio e 
abilitando PIM­DM sulle interfacce di peering
 Il traffico multicast che perveniva 
ad un RP veniva inviato in flooding 
a tutti gli altri RP che, in quanto 
router PIM, venivano a 
conoscenza delle sorgenti degli 
altri domini
 Quest’approccio, oltre a generare 
una grossa quantità di traffico, 
costringeva ad un posizionamento 
non sempre ottimale dei RP per i 
domini afferenti l’IXP 
Routing Multicast Inter­dominio
MSDP::Cenni
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 37
 I RP di due domini PIM­SM che vogliano scambiare informazioni circa le 
sorgenti attive (SA) stabiliscono un peering MSDP 
 Il peering è configurato manualmente dagli amministratori
 A meno di filtri, ogni sorgente attiva viene comunicata a tutti i peerer MSDP 
(tranne quello dalla quale è ricevuto)
• Sono comunicate anche le sorgenti ricevute dagli altri RP e questo è utile qualora 
un dominio voglia dare transito al traffico multicast di altri domini
 I messaggi MSDP sono veicolati da una connessione TCP
 I meccanismi di costruzione dell’albero di distribuzione multicast rimangono 
quelli di PIM­SM, tuttavia
 il RP di riferimento per i router multicast rimane quello del dominio 
d’appartenenza
 la sorgente può trovarsi in qualunque dominio per il quale si ricevono SAs 
tramite MSDP
Routing Multicast Inter­dominio
MSDP::Cenni
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 38
1. Secondo il protocollo PIM­SM, le 
sorgenti attive del dominio A 
vengono registrate sul RP A
2. Attraverso il peering MSDP tali 
sorgenti, e i gruppi multicast ad esse 
relativi, sono comunicate al RP del 
dominio B
3. e 4. 
Viene costruito il RPT come visto in 
precedenza.
5. Viene costruito lo SPT radicato nel 
router direttamente connesso alla 
sorgente 
Routing Multicast Inter­dominio
MSDP::Cenni
Entrando più nel dettaglio con un esempio:
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 39
Routing Multicast Inter­dominio
MSDP::Cenni
 N.B.: Nel modello di servizio SSM, MSDP non è necessario (!)
 I router di un dominio possono direttamente costruire lo SPT in quanto 
conoscono l’indirizzo della sorgente
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 40
Routing Multicast Inter­dominio
MBGP::Cenni
 Il multicast inter­dominio può funzionare anche senza uno 
specifico EGP per multicast
 Come abbiamo visto le tabelle di routing per unicast e multicast (RPF 
tables) possono coincidere
 MSDP e PIM (ad esempio) sono sufficienti al funzionamento del 
multicast inter­dominio, laddove non vi siano particolari esigenze 
d’instradamento
 MBGP è una estensione del protocollo BGP in grado di 
popolare dinamicamente le tabelle RPF
 Le rotte annunciate o ricevute tramite MBGP non influenzano mai il 
traffico unicast 
 Al contrario di PIM, non agisce direttamente sugli stati d’inoltro del 
traffico multicast
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 41
Routing Multicast Inter­dominio
MBGP::Cenni
 MBGP è utile quando le normali tabelle di routing unicast e 
quelle multicast devono essere differenti, ad esempio per 
 Evitare che il RPF neighbor di un router sia un router non abilitato al 
multicast
 Forzare la ricezione / instradamento del traffico multicast attraverso un 
particolare percorso
MBGP funziona esattamente come BGP!
È solo un modo per far distinguere ai peerer l’annuncio di rotte che (eventualmente) 
popoleranno le tabelle di routing unicast e quelle che (eventualmente) popoleranno le tabelle 
RPF
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 42
Multicast su rete locale
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 43
Multicast su rete locale
IGMP::Concetti di base
 Il più diffuso protocollo utilizzato per l’iscrizione ad un gruppo 
multicast da parte dei client è Internet Group Management 
Protocol (IGMP)
 IGMP viene utilizzato esclusivamente tra host e router
 Tramite IGMP gli host informano il router multicast della rete che 
desiderano ricevere (non ricevere più) flussi multicast
 Attualmente esistono 3 versioni di IGMP
 IGMPv3 è l’unica versione che permette il SSM
 Ogni versione è retro­compatibile con le precedenti
• Anche se i meccanismi di compatibilità sono quasi sempre di tipo fall 
back
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 44
 IGMP è basato su tre tipologie di messaggio
 Query (IGMP v1, v2 e v3)
• Generate dal router multicast della LAN per “sondare” l’interesse dei 
client nell’iscrizione ai gruppi multicast
• Le General Query richiedono informazioni per qualunque gruppo
• IGMPv2 introduce le Group­Specific Query, ovvero query relative ad 
uno specifico gruppo multicast
 Membership Report (IGMP v1, v2 e v3)
• Generati dai client, solitamente in risposta alle query, per 
richiedere/confermare l’iscrizione ad un gruppo multicast
• IGMPv3 introduce le possibilità di specificare una o più sorgenti dalla 
quale ricevere un gruppo multicast
 Leave (IGMP v2 e v3)
• Generati dagli host per annullare l’iscrizione ad un gruppo multicast
Multicast su rete locale
IGMP::Concetti di base
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 45
Multicast su rete locale
IGMP::Concetti di base
 I messaggi IGMP sono incapsulati in IP ed hanno TTL pari a 
1
 L’indirizzo sorgente è quello dell’host o del router che li emette
 L’indirizzo destinazione è un indirizzo IP multicast:
ALL­ROUTERS (224.0.0.2)   Leave Message
The group being reported   Membership Report
The group being queried   Group­Specific Query
ALL­SYSTEMS (224.0.0.1)   General Query
 Destination Group Message Type
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 46
Multicast su rete locale
IGMP::Indirizzi multicast di livello 2
 Non essendo possibile applicare il meccanismo IP ARP per 
gli indirizzi multicast, è definito un mapping statico di 
quest’ultimi nei MAC addresses
 Le trame con questi indirizzi MAC di destinazione, sono trattate come 
traffico broadcast dagli switch 
• a meno di ottimizzazioni…
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 47
 Gli host della rete ricevono i messaggi generati dagli altri e, al fine di limitare il 
volume del traffico di segnalazione, richiederanno l’iscrizione ad un gruppo solo 
se questo non è già stato richiesto da qualche altro host
Multicast su rete locale
IGMP::Soppressione dei messaggi ridondanti
 Nei messaggi IGMP query, il router 
comunica un tempo massimo TMAX 
entro il quale devono essere 
generati i report.
 Un client C che intende iscriversi  
(o confermare l’iscrizione) a 
qualche gruppo multicast G, 
aspetta un tempo casuale 
compreso tra 0 e TMAX secondi.
 Se nessun altro client invia un 
report per il gruppo G, C genera il 
messaggio.
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 48
 Se sulla stessa LAN sono presenti due o 
più router multicast, solo uno di essi 
genera le query IGMP sulla rete. Tale 
router prende il nome di querier della 
LAN
 Per lo standard, il querier della LAN è il 
router multicast con indirizzo IP più 
basso
• L’elezione del querier si basa sull’analisi 
degli indirizzi IP sorgente nelle query 
IGMP inviate da ogni altro router
Multicast su rete locale
IGMP::Elezione Querier della LAN
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 49
 Un router non querier, rimane in ascolto dei messaggi IGMP e subentra 
al querier in caso esso non sia più visibile. 
 I router nello stato di non querier:
 Modificano il loro stato in funzione dei Membership Report che ricevono
 Al pari del querier, informano il protocollo di routing multicast della presenza 
di membri di un gruppo multicast sulla LAN 
Multicast su rete locale
IGMP::Elezione Querier della LAN
 Nota Bene
 Il querier della LAN può 
non essere il designated 
router del protocollo di 
routing multicast (!)
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 50
 Per ottimizzare la distribuzione del 
multicast su rete locale è necessario 
che gli switch L2 tengano traccia delle 
porte dalle quali è raggiungibile il 
querier e dalle quali si ricevono i 
Membership Report IGMP
 Il traffico multicast generato dalla LAN 
(compresi i messaggi IGMP) viene 
esclusivamente inoltrato verso il 
querier 
 Il traffico multicast proveniente dal 
querier viene fatto fluire 
esclusivamente in direzione di chi ne 
ha fatto richiesta
Multicast su rete locale
IGMP::Ottimizzazioni (IGMP Snooping)
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 51
 IGMP snooping è molto oneroso per gli switch
 Ogni dispositivo L2 deve
• Mantenere l’elenco di tutti i gruppi multicast richiesti (e delle sorgenti per 
IGMPv3) con una lista di interfacce sulle quali dovrà inoltrare il traffico ad 
essi relativo
• Analizzare fino al livello 4 ogni singolo messaggio IGMP
• E comunque fino al livello 3 tutte le trame ethernet/802.3 …
• Mantenere dei timer per ogni gruppo multicast richiesto
 Non esiste un vero e proprio standard per IGMP snooping
 Il RFC 4541 (del 2006) è successivo alla maggior parte delle 
implementazioni oggi esistenti e riporta solo delle “linee guida”
 Ogni vendor ha implementato una propria interpretazione di IGMP 
snooping (…)
Multicast su rete locale
IGMP::Ottimizzazioni (IGMP Snooping)
       Introduzione al Multicast ­ Davide Guerri ­ CASPUR 52
Fine

Contenu connexe

En vedette

1 Intro Propedeutici
1 Intro Propedeutici1 Intro Propedeutici
1 Intro Propedeuticiacapone
 
MPLS nelle (grandi) reti Enterprise
MPLS nelle (grandi) reti EnterpriseMPLS nelle (grandi) reti Enterprise
MPLS nelle (grandi) reti Enterprisefestival ICT 2016
 
Routing: trattazione dei protocolli RIP, OSPF e BGP
Routing: trattazione dei protocolli RIP, OSPF e BGPRouting: trattazione dei protocolli RIP, OSPF e BGP
Routing: trattazione dei protocolli RIP, OSPF e BGPLorenzo Sfarra
 
8 Routing
8 Routing8 Routing
8 Routingacapone
 

En vedette (6)

4 Livello Ip Parte4
4 Livello Ip Parte44 Livello Ip Parte4
4 Livello Ip Parte4
 
1 Intro Propedeutici
1 Intro Propedeutici1 Intro Propedeutici
1 Intro Propedeutici
 
Routing dinamico
Routing dinamicoRouting dinamico
Routing dinamico
 
MPLS nelle (grandi) reti Enterprise
MPLS nelle (grandi) reti EnterpriseMPLS nelle (grandi) reti Enterprise
MPLS nelle (grandi) reti Enterprise
 
Routing: trattazione dei protocolli RIP, OSPF e BGP
Routing: trattazione dei protocolli RIP, OSPF e BGPRouting: trattazione dei protocolli RIP, OSPF e BGP
Routing: trattazione dei protocolli RIP, OSPF e BGP
 
8 Routing
8 Routing8 Routing
8 Routing
 

Plus de Davide Guerri

EuroCloud - Cloud Communities Day - OpenStack
EuroCloud - Cloud Communities Day - OpenStackEuroCloud - Cloud Communities Day - OpenStack
EuroCloud - Cloud Communities Day - OpenStackDavide Guerri
 
OpenStack 3rd bday - OUSG meeting intro
OpenStack 3rd bday - OUSG meeting introOpenStack 3rd bday - OUSG meeting intro
OpenStack 3rd bday - OUSG meeting introDavide Guerri
 
OpenStack monitoring - Unidata S.p.A. Case Report
OpenStack monitoring - Unidata S.p.A. Case ReportOpenStack monitoring - Unidata S.p.A. Case Report
OpenStack monitoring - Unidata S.p.A. Case ReportDavide Guerri
 
Caspur wi fi open source garr conf 2011
Caspur wi fi open source   garr conf 2011Caspur wi fi open source   garr conf 2011
Caspur wi fi open source garr conf 2011Davide Guerri
 
OpenStack User Group Italia
OpenStack User Group ItaliaOpenStack User Group Italia
OpenStack User Group ItaliaDavide Guerri
 
Provinciawifi IEEE Networks 2012
Provinciawifi IEEE Networks 2012Provinciawifi IEEE Networks 2012
Provinciawifi IEEE Networks 2012Davide Guerri
 
ProvinciaWiFi Offline Map - App contest openRoma
ProvinciaWiFi Offline Map - App contest openRomaProvinciaWiFi Offline Map - App contest openRoma
ProvinciaWiFi Offline Map - App contest openRomaDavide Guerri
 

Plus de Davide Guerri (7)

EuroCloud - Cloud Communities Day - OpenStack
EuroCloud - Cloud Communities Day - OpenStackEuroCloud - Cloud Communities Day - OpenStack
EuroCloud - Cloud Communities Day - OpenStack
 
OpenStack 3rd bday - OUSG meeting intro
OpenStack 3rd bday - OUSG meeting introOpenStack 3rd bday - OUSG meeting intro
OpenStack 3rd bday - OUSG meeting intro
 
OpenStack monitoring - Unidata S.p.A. Case Report
OpenStack monitoring - Unidata S.p.A. Case ReportOpenStack monitoring - Unidata S.p.A. Case Report
OpenStack monitoring - Unidata S.p.A. Case Report
 
Caspur wi fi open source garr conf 2011
Caspur wi fi open source   garr conf 2011Caspur wi fi open source   garr conf 2011
Caspur wi fi open source garr conf 2011
 
OpenStack User Group Italia
OpenStack User Group ItaliaOpenStack User Group Italia
OpenStack User Group Italia
 
Provinciawifi IEEE Networks 2012
Provinciawifi IEEE Networks 2012Provinciawifi IEEE Networks 2012
Provinciawifi IEEE Networks 2012
 
ProvinciaWiFi Offline Map - App contest openRoma
ProvinciaWiFi Offline Map - App contest openRomaProvinciaWiFi Offline Map - App contest openRoma
ProvinciaWiFi Offline Map - App contest openRoma
 

Multicast introduzione