Multicast IP Multicast
Multicast IP IP
Contenuti del corso Contenuti del corso
Æ La progettazione delle reti Æ La progettazione delle reti
Æ Il routing nelle reti IP Æ Il routing nelle reti IP
Æ Il collegamento agli Internet Service Provider e problematiche di sicurezza
Æ Il collegamento agli Internet Service Provider e problematiche di sicurezza
Æ Analisi di traffico e dei protocolli applicativi
Æ Analisi di traffico e dei protocolli applicativi
Æ Multimedialità in rete Æ Multimedialità in rete
Æ Tecnologie per le reti future Æ Tecnologie per le reti future
Contenuti del corso Contenuti del corso
Æ La progettazione delle reti Æ La progettazione delle reti
Æ Il routing nelle reti IP Æ Il routing nelle reti IP
Æ Il collegamento agli Internet Service Provider e problematiche di sicurezza
Æ Il collegamento agli Internet Service Provider e problematiche di sicurezza
Æ Analisi di traffico e dei protocolli applicativi
Æ Analisi di traffico e dei protocolli applicativi
Æ Multimedialità in rete Æ Multimedialità in rete
Æ Tecnologie per le reti future Æ Tecnologie per le reti future
Argomenti della lezione Argomenti della lezione
Î Trasmissione unicast e
multicast a confronto
Î
Trasmissione unicast e multicast a confronto
Î IGMP Î
IGMP
Î Algoritmi e protocolli per
il multicast routing
Î
Algoritmi e protocolli per
il multicast routing
Il problema Il problema
Applicazioni di rete che
richiedono la spedizione di pacchetti da uno o più
sender a gruppi di receiver Applicazioni di rete che
richiedono la spedizione di pacchetti da uno o più
sender a gruppi di receiver
Il problema Il problema
Î Eventi audio/video in diretta Î Servizi nearly-VOD
Î Videoconferenza multipunto Î Distribuzione aggiornamenti
software
Î Eventi audio/video in diretta Î Servizi nearly-VOD
Î Videoconferenza multipunto Î Distribuzione aggiornamenti
software
Esempi:
Esempi:
LANLAN extended LAN
extended LAN
WANWAN LANLAN
Trasmissione
unicast Trasmissione
unicast
LANLAN extended LAN
extended LAN
WANWAN LANLAN
Trasmissione
multicast Trasmissione
multicast
Trasmissione multicast Trasmissione multicast
Il livello rete fornisce un supporto esplicito
al multicast
Il livello rete fornisce un supporto esplicito
al multicast
Indirizzi multicast Indirizzi multicast
Fanno uso della classe D degli indirizzi IP
Fanno uso della classe D degli indirizzi IP
Î Da 224.0.0.0 a 239.255.255.255 Î Da 224.0.0.0 a 239.255.255.255
Su Internet Su Internet
Î Registrazione degli indirizzi pubblici Î Registrazione degli indirizzi pubblici
Indirizzi multicast Indirizzi multicast
Fanno uso della classe D degli indirizzi IP
Fanno uso della classe D degli indirizzi IP
Î Da 224.0.0.0 a 239.255.255.255 Î Da 224.0.0.0 a 239.255.255.255
Sulle intranet Sulle intranet
Î Lotto disponibile:
239.0.0.0 - 239.255.255.255 Î Lotto disponibile:
239.0.0.0 - 239.255.255.255
Problemi Problemi
Î Come si crea e termina un gruppo di multicast?
Î Come si crea e termina un gruppo di multicast?
Î Come si aggiunge un host (o un sender)?
Î Come si aggiunge un host (o un sender)?
Î Come possono interagire i router tra di loro per inoltrare i pacchetti multicast?
Î Come possono interagire i router tra di loro per inoltrare i pacchetti multicast?
Adesione/abbandono Adesione/abbandono
Internet Group Membership Protocol (IGMP)
Internet Group Membership Protocol (IGMP)
ÎÎ
Permette all’host di informare il proprio router (default gateway) che un’applicazione richiede di
aderire ad un gruppo multicast Permette all’host di informare il proprio router (default gateway) che un’applicazione richiede di
aderire ad un gruppo multicast ÎÎ
Instradamento multicast Instradamento multicast
All’interno delle LAN si sfruttano funzionalità multicast di livello 2 All’interno delle LAN si sfruttano funzionalità multicast di livello 2
Î Esempi: PIM, DVMRP, MOSPF Î Esempi: PIM, DVMRP, MOSPF
Nelle WAN servono algoritmi di instradamento multicast del livello network
Nelle WAN servono algoritmi
di instradamento multicast
del livello network
IGMP: formato dei messaggi IGMP: formato dei messaggi
vers.
vers.
vers. tipotipotipo tempo max di risposta tempo max tempo max di risposta
di risposta checksumchecksumchecksum indirizzo multicast
indirizzo multicast indirizzo multicast
8 bit
8 bit 8 bit8 bit 16 bit16 bit
Æ Tipo: 1 (richieste), 2 (rapporti) Æ Tipo: 1 (richieste), 2 (rapporti)
Æ Versione: 1 Æ Versione: 1
Æ Tempo massimo di risposta:
serve per la soppressione del feedback da parte degli host di una LAN
Æ Tempo massimo di risposta:
serve per la soppressione del feedback da parte degli host di una LAN
Adesione al gruppo (membership report) Adesione al gruppo (membership report)
22
indirizzo multicast indirizzo multicast
rapporto rapporto
ROUTER ROUTER ROUTER
Può essere inviato in risposta
ad una richiesta del router oppure indipendentemente
Può essere inviato in risposta
ad una richiesta del router oppure indipendentemente
Richieste di adesione
(membership query generale) Richieste di adesione (membership query generale)
11
tutti i bit a 0 tutti i bit a 0
richiesta richiesta
ROUTER ROUTER ROUTER
Ogni host interessato risponde poi con messaggi IGMP di tipo 2
Ogni host interessato risponde poi con messaggi IGMP di tipo 2
Richieste di adesione
(membership query specifica) Richieste di adesione (membership query specifica)
11
indirizzo multicast indirizzo multicast
richiesta richiesta
ROUTER ROUTER ROUTER
Il router invia periodicamente messaggi di membership query
Il router invia periodicamente messaggi di membership query
Abbandono del gruppo (leave group)
Abbandono del gruppo (leave group)
11
richiesta richiesta
ROUTER ROUTER ROUTER
L’assenza di risposta da parte
di un host alla membership query indica l’abbandono del gruppo
L’assenza di risposta da parte
di un host alla membership query indica l’abbandono del gruppo
Instradamento multicast Instradamento multicast
AA CC
FF EE
DD BB
Instradamento multicast Instradamento multicast
AA CC
FF EE
DD BB
Instradamento multicast Instradamento multicast
Trovare un albero di link che
colleghino i router che servono gli host appartenenti al gruppo
di multicast
Trovare un albero di link che
colleghino i router che servono gli host appartenenti al gruppo
di multicast Obiettivo:
Obiettivo:
L’albero può comprendere router che non servono host multicast
L’albero può comprendere router che non servono host multicast
NOTA:
NOTA:
Instradamento multicast Instradamento multicast
In presenza di più sender:
In presenza di più sender:
Albero condiviso dal gruppo
(un solo albero per tutti i sender) Albero condiviso dal gruppo
(un solo albero per tutti i sender) Alberi basati sulla sorgente
(un albero per ogni sender) Alberi basati sulla sorgente (un albero per ogni sender)
Albero condiviso Albero condiviso
AA CC
FF EE
DD BB
Alberi basati sulle sorgenti S1 e S2
Alberi basati sulle sorgenti S1 e S2
AA CC
FF EE
DD BB S1S1
S2S2
Costruzione dell’albero di multicast
Costruzione dell’albero di multicast
Approccio basato sul:
Approccio basato sul:
Centro Centro
Percorso inverso
Percorso inverso
Approccio basato sul centro Approccio basato sul centro
Utile per costruire
un albero condiviso Utile per costruire
un albero condiviso
Approccio basato sul centro Approccio basato sul centro
Si identifica un nodo centrale del gruppo
Si identifica un nodo centrale del gruppo
ÎÎ
I messaggi di adesione viaggiano in unicast verso il nodo centrale finché non lo raggiungono o non raggiungono un router già
appartenente all’albero
I messaggi di adesione viaggiano in unicast verso il nodo centrale finché non lo raggiungono o non raggiungono un router già
appartenente all’albero ÎÎ
Approccio basato sul centro Approccio basato sul centro
Il percorso fatto dal messaggio di adesione definisce il nuovo ramo dell’albero di multicast
Il percorso fatto dal messaggio di adesione definisce il nuovo ramo dell’albero di multicast
ÎÎ
Approccio basato sul centro Approccio basato sul centro
AA CC
FF EE
DD BB
centro 11
22 33
Algoritmo basato sul percorso inverso
Algoritmo basato sul percorso inverso
RPF: Reverse Path Forwarding RPF: Reverse Path Forwarding
Permette l’instradamento su alberi basati sulla sorgente Permette l’instradamento su
alberi basati sulla sorgente
Algoritmo basato sul percorso inverso
Algoritmo basato sul percorso inverso
Quando un router riceve da un link un pacchetto multicast lo
ritrasmette su tutti gli altri link
solo se il link da cui l’ha ricevuto è sul percorso più breve verso
il mittente del pacchetto, altrimenti lo scarta
Quando un router riceve da un link un pacchetto multicast lo
ritrasmette su tutti gli altri link
solo se il link da cui l’ha ricevuto è sul percorso più breve verso
il mittente del pacchetto, altrimenti lo scarta
Algoritmo basato sul percorso inverso
Algoritmo basato sul percorso inverso
AA CC
FF EE
DD BB S1
Algoritmo basato sul percorso inverso
Algoritmo basato sul percorso inverso
Anche router privi di host multicast ricevono i pacchetti multicast
Anche router privi di host multicast ricevono i pacchetti multicast
Problema:
Problema:
Algoritmo basato sul percorso inverso
Algoritmo basato sul percorso inverso
Messaggi di pruning (potatura) per confinare il traffico
multicast dove serve
(introduce però altri problemi
di gestione dello stato dell’albero) Messaggi di pruning (potatura)
per confinare il traffico multicast dove serve
(introduce però altri problemi
di gestione dello stato dell’albero)
Soluzione:
Soluzione:
Protocolli di instradamento multicast in Internet
Protocolli di instradamento multicast in Internet
Î DVMRP:
Î DVMRP: Distance Vector Multicast Routing Protocol
Distance Vector Multicast Routing Protocol
Î MOSPF:
Î MOSPF: Multicast Open Shortest Path First
Multicast Open Shortest Path First
CBT: Core-Based Tree CBT: Core-Based Tree ÎÎ
Î PIM:
Î PIM: Protocol Independent Multicast
Protocol Independent Multicast
DVMRP DVMRP
RFC 1075 RFC 1075 ÎÎ
Alberi basati sulla sorgente Alberi basati sulla sorgente ÎÎ
Î Inoltro basato sul percorso inverso Î Inoltro basato sul percorso inverso
Algoritmo distance vector per il calcolo del percorso più breve
verso la sorgente
Algoritmo distance vector per il calcolo del percorso più breve
verso la sorgente ÎÎ
Î Meccanismo di potatura e messaggi di “innesto”
Î Meccanismo di potatura e messaggi di “innesto”
MOSPF MOSPF
RFC 1584 RFC 1584 ÎÎ
Î Opera all’interno di un AS che usi Î Opera all’interno di un AS che usi OSPF
OSPF
Î Aggiunge informazioni di
appartenenza a gruppi di multicast nei messaggi di stato dei link
Î Aggiunge informazioni di
appartenenza a gruppi di multicast nei messaggi di stato dei link
CBT CBT
Î RFC 2201, RFC 2189 Î RFC 2201, RFC 2189
Î Costruisce un albero
bidirezionale basato su un centro Î Costruisce un albero
bidirezionale basato su un centro Messaggi di JOIN_REQUEST e
JOIN_ACK per costruire l’albero Messaggi di JOIN_REQUEST e JOIN_ACK per costruire l’albero ÎÎ
Î Messaggi di keepalive
(ECHO_REQUEST ed ECHO_REPLY) per mantenerlo aggiornato
Î Messaggi di keepalive
(ECHO_REQUEST ed ECHO_REPLY) per mantenerlo aggiornato
PIM PIM
Î Indipendente dal sottostante protocollo di instradamento unicast
Î Indipendente dal sottostante protocollo di instradamento unicast
Î Due modi:
Î Due modi:
Æ Dense mode (modo compatto) Æ Dense mode (modo compatto)
Æ Sparse mode (modo sparso) Æ Sparse mode (modo sparso)
PIM dense mode PIM dense mode
Î Scenario: molti router che servono host multicast rispetto al numero totale di router
Î Scenario: molti router che servono host multicast rispetto al numero totale di router
Simile a DVMRP Simile a DVMRP ÎÎ
PIM sparse mode PIM sparse mode
Scenario: pochi router interessati al traffico multicast rispetto al
totale
Scenario: pochi router interessati al traffico multicast rispetto al
totale ÎÎ
Approccio basato sul centro Approccio basato sul centro ÎÎ
Simile a CBT, ma non prevede messaggi di riscontro al JOIN Simile a CBT, ma non prevede messaggi di riscontro al JOIN ÎÎ
Î I sender inviano i messaggi in
unicast al centro e questo li inoltra in multicast
Î I sender inviano i messaggi in
unicast al centro e questo li inoltra in multicast