© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 1
RETI DI CALCOLATORI II
Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI
Facoltà di Ingegneria Università degli Studi di Udine
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 2 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 queste slide.
In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono mai essere rimossi e devono essere riportati anche in utilizzi parziali.
Nota di Copyright
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 3
Multicast IP Multicast Multicast IP IP
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 4
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:
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 7
LAN LAN extended LAN extended LAN
WANWAN LANLAN
Trasmissione
unicast Trasmissione
unicast
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 8
LAN LAN extended LAN extended LAN
WANWAN LANLAN
Trasmissione
multicast Trasmissione
multicast
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 9
Trasmissione multicast Trasmissione multicast
Il livello rete fornisce un supporto esplicito
al multicast Il livello rete fornisce
un supporto esplicito al multicast
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 10
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?
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 13
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
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 14
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
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 15
IGMP: formato dei messaggi IGMP: formato dei messaggi
vers.
vers
vers.. tipotipotipo tempo max di risposta tempo max tempo max
di
dirispostarisposta checksumchecksumchecksum indirizzo multicast indirizzo
indirizzomulticastmulticast 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
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 16
Adesione al gruppo (membership report)Adesione al gruppo (membership report)
Può essere inviato in risposta ad una richiesta del router oppure
indipendentemente Può essere inviato in risposta ad una richiesta del router oppure
indipendentemente 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 queryIl router invia periodicamente messaggi di membership query
11
indirizzo multicast indirizzo multicast
richiesta richiesta
ROUTER ROUTER ROUTER
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 19
Abbandono del gruppo (leave group) Abbandono del gruppo
(leave group)
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 11
richiesta richiesta
ROUTER ROUTER ROUTER
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 20
Instradamento multicast Instradamento multicast
AA CC
FF EE D D BB
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 21
A A CC
FF EE DD
BB
Instradamento multicast Instradamento multicast
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 22
Instradamento multicast Instradamento multicast
Trovare un albero di link che colleghino i router che servono gli host appartenenti al gruppo di multicast
Trovare un alberodi 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:
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
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 25
Alberi basati sulle sorgenti S1 e S2
Alberi basati sulle sorgenti S1 e S2
AA CC
FF EE D D BB S1S1
S2S2
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 26
Costruzione dell’albero di multicast
Costruzione dell’albero di multicast
Centro Centro Percorso inverso Percorso inverso Approccio basato sul:
Approccio basato sul:
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 27
Approccio basato sul centro Approccio basato sul centro
Utile per costruire un albero condivisoUtile per costruire un albero condiviso
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 28
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
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 31
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
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 32
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
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 33
Algoritmo basato sul percorso inverso
Algoritmo basato sul percorso inverso
A A CC
FF EE DD
BB S1
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 34
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 Independent Multicast
Protocol Independent Multicast
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 37
Î Meccanismo di potatura e messaggi di “innesto”
ÎMeccanismo di potatura e messaggi di “innesto”
Î 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
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 38
Î Opera all’interno di un AS che usi Î Opera all’interno di un AS che usiOSPF
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
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 39
Î 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) per mantenerlo aggiornato
Î Messaggi di keepalive
(ECHO_REQUEST ed ECHO_REPLY) per mantenerlo aggiornato
CBT CBT
Î Messaggi di JOIN_REQUEST e JOIN_ACK per costruire l’albero ÎMessaggi di JOIN_REQUEST e
JOIN_ACK per costruire l’albero
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 40
Î Due modi:
Î Due modi:
Î Indipendente dal sottostante protocollo di instradamento unicast
Î Indipendente dal sottostante protocollo di instradamento unicast
PIM PIM
Æ 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 in multicast
Î I sender inviano i messaggi in unicast al centro e questo li inoltra in multicast
Î Simile a CBT, ma non prevede messaggi di riscontro al JOIN Î Simile a CBT, ma non prevede messaggi di riscontro al JOIN
© 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 43