RETI DI CALCOLATORI II
Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI
Facoltà di Ingegneria
Università degli Studi di Udine
Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà degli autori prof. Pier Luca Montessoro e ing. Davide Pierattoni, Università degli Studi di Udine.
Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell’Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione.
Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte degli autori.
L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. L’autore non assume alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell’informazione).
In ogni caso non può essere dichiarata conformità all’informazione contenuta in
Nota di Copyright
Multicast IP Multicast
Multicast IP IP
Argomenti della lezione Argomenti della lezione
Î Reti IP e servizi multicast Î Reti IP e servizi multicast
Î Protocolli per il routing dei pacchetti multicast Î Protocolli per il routing
dei pacchetti multicast
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 Trasmissione
LANLAN extended LAN
extended LAN
WANWAN LANLAN
Trasmissione Trasmissione
Trasmissione multicast Trasmissione multicast
Il livello rete fornisce un supporto esplicito
al multicast
Il livello rete fornisce un supporto esplicito
al 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
Indirizzi multicast Indirizzi multicast
Su Internet Su Internet
Î Registrazione degli indirizzi pubblici Î Registrazione degli indirizzi pubblici
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
Indirizzi multicast Indirizzi multicast
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
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
Instradamento multicast Instradamento multicast
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 Æ Tempo massimo di risposta:
serve per la soppressione del feedback
Adesione al gruppo (membership report)Adesione al gruppo (membership report)
Può essere inviato in risposta
ad una richiesta del router oppurePuò essere inviato in risposta ad una richiesta del router oppure
22
indirizzo multicast indirizzo multicast
rapporto rapporto
ROUTER ROUTER ROUTER
Richieste di adesione
(membership query generale)Richieste di adesione (membership query generale)
Ogni host interessato risponde poi con messaggi IGMP di tipo 2
Ogni host interessato risponde poi con messaggi IGMP di tipo 2
11
tutti i bit a 0 tutti i bit a 0
richiesta richiesta
ROUTER ROUTER ROUTER
Richieste di adesione
(membership query specifica)Richieste di adesione (membership query specifica)
Il router invia periodicamente messaggi di membership query
Il router invia periodicamente messaggi di membership query
11
indirizzo multicast indirizzo multicast
richiesta richiesta
ROUTER ROUTER ROUTER
Abbandono del gruppo (leave group)
Abbandono del gruppo (leave group)
L’assenza di risposta da parte
di un host alla membership query indica L’assenza di risposta da parte
di un host alla membership query indica
11
richiesta richiesta
ROUTER ROUTER ROUTER
Instradamento multicast Instradamento multicast
AA CC
FF EE
DD BB
AA CC
FF EE
DD BB
Instradamento multicast Instradamento multicast
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 L’albero può comprendere router
NOTA:
NOTA:
Alberi basati sulla sorgente (un albero per ogni sender) Alberi basati sulla sorgente (un albero per ogni sender)
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)
Instradamento multicast Instradamento multicast
AA CC
FF EE
DD BB
Albero condiviso Albero condiviso
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
Centro Centro
Percorso inverso Percorso inverso
Approccio basato sul:
Approccio basato sul:
Approccio basato sul centro Approccio basato sul centro
Utile per costruire un albero condivisoUtile 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
Î CBT: Core-Based Tree Î CBT: Core-Based Tree
Î DVMRP:
Î DVMRP: Distance Vector Multicast Routing Protocol
Distance Vector Multicast Routing Protocol
Î MOSPF:
Î MOSPF: Multicast Open Shortest Path First
Multicast Open Shortest Path First
Î PIIM:
Î PIIM: Protocol IndependentProtocol Independent
Î Meccanismo di potatura e Î Meccanismo di potatura e
Î 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
DVMRP DVMRP
Î Opera all’interno di un AS che usi Î Opera all’interno di un AS che usi OSPF
OSPF
Î RFC 1584 Î RFC 1584
Î 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
MOSPF MOSPF
Î Costruisce un albero
bidirezionale basato su un centro Î Costruisce un albero
bidirezionale basato su un centro Î RFC 2201, RFC 2189
Î RFC 2201, RFC 2189
Î Messaggi di keepalive
(ECHO_REQUEST ed ECHO_REPLY) Î Messaggi di keepalive
(ECHO_REQUEST ed ECHO_REPLY)
CBTCBT
Î Messaggi di JOIN_REQUEST e JOIN_ACK per costruire l’albero Î Messaggi di JOIN_REQUEST e
JOIN_ACK per costruire l’albero
Î Due modi:
Î Due modi:
Î Indipendente dal sottostante protocollo di instradamento unicast
Î Indipendente dal sottostante protocollo di instradamento unicast
PIMPIM
Æ Dense mode (modo compatto) Æ Dense mode (modo compatto)
Æ Sparse mode (modo sparso) Æ Sparse mode (modo sparso)
Î 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
PIM dense mode PIM dense mode
Î Simile a DVMRP Î Simile a DVMRP
Î Scenario: pochi router interessati al traffico multicast rispetto al
totale
Î Scenario: pochi router interessati al traffico multicast rispetto al
totale
PIM sparse mode PIM sparse mode
Î Approccio basato sul centro Î Approccio basato sul centro
Î I sender inviano i messaggi in
unicast al centro e questo li inoltra Î I sender inviano i messaggi in
unicast al centro e questo li inoltra Î Simile a CBT, ma non prevede
messaggi di riscontro al JOIN Î Simile a CBT, ma non prevede
messaggi di riscontro al JOIN