IP Multicast Routing

Transcript

IP Multicast Routing
IP Multicast Routing
Silvano GAI
Fulvio RISSO
http://staff.polito.it/fulvio.risso/
1
Nota di Copyright
2
Questo insieme di trasparenze (detto nel seguito slides) è 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 indicati a pag. 1.
Le slides 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 altra utilizzazione o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su
supporti magnetici, su reti di calcolatori e stampate) in toto o in parte è vietata, se non
esplicitamente autorizzata per iscritto, a priori, da parte degli autori.
L’informazione contenuta in queste slides è 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. Gli autori non
assumono alcuna responsabilità per il contenuto di queste slides (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 slides.
In ogni caso questa nota di copyright non deve mai essere rimossa e deve essere riportata anche in
utilizzi parziali.
Cos’è il Multicast
Possibilità di trasmettere la medesima informazione a
più utenti finali senza essere costretti ad indirizzare
questi ultimi singolarmente e senza avere, quindi, la
necessità
di
duplicare
per
ciascuno
di
essi
l'informazione da diffondere
Multicast e la multimedialità non sono la stessa cosa, ma sono
due concetti estremamente correlati quando si entra nell'ambito
delle comunicazioni
3
Es. servizi di videoconferenza
IP e il multicasting
Trasmissione di pacchetti IP multicast
Non c’è alcuna differenza rispetto a pacchetti unicast
Gli host non hanno quindi alcun problema a trasmettere dati multicast
Recapito a destinazione dei pacchetti IP Multicast
Il recapito di pacchetti multicast a destinazione
decisamente diverso da quello dei pacchetti unicast
4
Il multicast è visto semplicemente come un indirizzo IP un po’ diverso
è
un
problema
Unicast: il routing è fisso, i protocolli devono semplicemente riportare che
un certo host H è localizzato in una certa zona della rete Internet
Multicast: il protocollo deve individuare dove sono localizzati tutti gli hosts
che vogliono ricevere quella trasmissione e trasmettere il flusso solo sulle
reti interessate
Host Group
Concetto nuovo, alla base del multicasting
Ogni singolo host può aderire ad un host group e poi
abbandonarlo
Ogni host group è contraddistinto da un indirizzo IP di classe
D
La trasmissione dei dati avviene inviando dei pacchetti con questo IPdest
Ogni rete deve capire se, al suo interno, esistono degli host che hanno
intenzione di ricevere i pacchetti destinati a questo host group
Sono strutture dinamiche
5
Host Extensions for IP Multicasting, RFC1112
La composizione di un host group non è nè fissa nè limitata e varia nel
tempo
Tipi di Host Group
Permanente
Ha un indirizzo ben noto e assegnato a priori
Esiste sempre, anche se non esistono membri al suo interno
Ad esempio gli indirizzi di multicast utilizzati da alcuni protocolli
di routing (es. RIP o OSPF) per il loro funzionamento
Temporaneo
Esiste solo finché qualcuno ne fa parte
Non esistono limitazioni di sorta
6
Si può entrare e uscire dai gruppi a propri piacimento
Non ci sono limiti sul numero di gruppi a cui è possibile appartenere
contemporaneamente
Viene “rilasciato” nel momento in cui il gruppo non ha più alcun
membro, ed è disponibile alla creazione di un nuovo host-group
IP e il multicasting
I Multicast Router (mrouter) instradano i pacchetti
multicast
La funzionalità di multicast router è integrata su un normale
router IP
Un mrouter ha un algoritmo di forwarding diverso per i pacchetti
multicast rispetto a quelli unicast
7
Spesso è necessario abilitarla con un comando apposito
Un datagram inviato in multicast verrà consegnato a tutti i
membri dell'host group di destinazione con il "miglior sforzo
possibile", esattamente come accade per i pacchetti unicast.
Pertanto sul datagram inviato in multicast non sono garantiti né
il tempo né l'ordine di consegna
Indirizzi multicast
Indirizzi di classe D
Gli indirizzi che identificano un host group sono detti indirizzi di
classe D
Nella notazione standard di Internet gli indirizzi multicast sono
compresi nell'intervallo:
8
iniziano con 1110
224.0.0.0 - 239.255.255.255
Indirizzi multicast
Alcuni casi particolari
L'indirizzo 224.0.0.0 non viene assegnato a nessun gruppo
224.0.0.1 è il gruppo permanente composto da tutti gli host
Questo indirizzo viene utilizzato dagli mrouter per inviare
messaggi di controllo agli host direttamente connessi su una
data rete locale
I messaggi destinati a questo gruppo non vengono mai inviati al
di fuori della rete locale
9
In caso contrario sarebbe una banalità intasare Internet
Non esiste l'indirizzo globale di tutti gli host connessi ad Internet
224.0.0.4: indirizzo di tutti gli mrouter
Multicast sulle LAN
10
Sulle LAN il multicast di livello 3 è realizzato tramite il
multicast di livello MAC
Si ottimizza il processo di ricezione, perché il multicast MAC è
filtrato direttamente dall’hardware della scheda
Il pacchetto multicast IP è passato ai livelli superiori solo se la
scheda lo riconosce come un pacchetto di un gruppo multicast
riconosciuto
Mapping degli indirizzi
Sono disponibili i 23 bit meno significativi dell’indirizzo MAC
Lo spazio di indirizzamento IP dedicato al multicast è invece
esteso su 28 bit (prefisso 1110)
I 23 bit meno significativi dell'indirizzo IP vengono mappati negli
omologhi bit dell'indirizzo multicast MAC corrispondente
Mapping IP – MAC
Ad un indirizzo MAC corrispondono 25 indirizzi IP
Alcuni host riceveranno dei pacchetti IP che non sono destinati a
loro; questi pacchetti vengono scartati a livello IP e non a livello
MAC, aumentando l’overhead sull’host
Per
evitare
il
problema:
fare
all'assegnazione degli indirizzi multicast
attenzione
Bit che possono dare origine a
collisione sull’indirizzo MAC
1110 x27x26x25x24x23x22x21x20x19x18x17x16 . . . x0
Multicast IP address
01-00-5E
...
0x22x21x20x19x18x17x16 . . . x0
Multicast MAC address for IP
Indirizzi MAC riservati dall’IEEE per IP multicast:
01-00-5E-00-00-00 - 01-00-5E-7F-FF-FF (indirizzi Global – Group)
11
Configurazione delle NIC card
Bisogna abilitare o disabilitare la ricezione di indirizzi
multicast sulla scheda di rete
12
I driver della scheda di rete devono permettere due nuove
funzioni
JoinHostGroup (address, interface)
LeaveHostGroup (address, interface)
Componenti fondamentali del multicast
Trasmissione dati
Determinazione dell’esistenza di ricevitori di un certo
gruppo multicast su un particolare segmento di LAN
13
gli host trasmettono i dati ad un indirizzo particolare (multicast)
Nel caso non esistano ricevitori, non è il caso di inoltrare quei
pacchetti sulla LAN
Propagazione dell’esistenza e della localizzazione dei
ricevitori
Il routing multicast deve tenere traccia della localizzazione dei
vari ricevitori, creando un “albero coprente” in modo da
minimizzare i costi e recapitare i pacchetti a tutti
Le reti che non hanno ricevitori vengono tagliate dall’albero
(pruning)
IGMP
Internet Group Management Protocol
È il protocollo per la gestione e lo scambio delle informazioni di controllo
tra gli host e gli mrouter
In realtà IGMP può essere utilizzato
informazioni di controllo tra gli mrouter
anche
per
lo
scambio
delle
IGMP deve necessariamente essere abilitato su tutti gli host che vogliono
ricevere, oltre che inviare, pacchetti multicast
La versione attuale dell'IGMP è la numero 2
14
Scopo primario: permettere agli mrouter di mantenere sempre aggiornate
al loro interno le tabelle che associano ad ogni rete locale gli host group
presenti sulla rete stessa
esistono installazioni della 1
la numero 0 è obsoleta
I messaggi IGMP vengono spediti in multicast per tutti gli host sulla LAN e
sono incapsulati in un datagram IP con campo protocol type uguale a 2
Il pacchetto IGMP
Version
Type
Unused
Checksum
Group Address
Type
1 = Host Membership Query: inviate dal multicast router verso gli host,
per tenere aggiornata la lista degli host group attivi sulla LAN
2 = Host Membership Report: inviate dall'host in risposta alle query del
router
Group Address
Viene impostato a zero nelle query generali
15
per scoprire quali gruppi operano sulla LAN
Nei report contiene l'indirizzo dell'host group a cui appartiene un host
Il protocollo IGMP (1)
I multicast router inviano periodicamente query per
scoprire quali host group sono attivi su una LAN
Le query sono indirizzate (a livello IP) al gruppo di tutti gli host
(224.0.0.1) e hanno TTL=1
16
Un pacchetto con TTL = 1 non esce dalla LAN
Un multicast router è abilitato, di default, a ricevere tutti i gruppi
multicast
Il protocollo IGMP (2)
17
Gli host rispondono alle query generando dei report,
con cui segnalano al multicast router tutti gli host
group a cui appartengono
La risposta avviene
appartenenza
utilizzando
il
gruppo
multicast
di
In particolare, gli host rispondono inviando un report per ciascun
host group a cui sono iscritti
Il router abilitato invia periodicamente dei messaggi di
query
Se dopo un certo numero di tentativi non riceve alcun report per
quel determinato gruppo, assume che non ci siano più membri
Se un host ha appena aderito ad un gruppo multicast deve
inviare immediatamente un report affinché sia in grado il prima
possibile di ricevere i pacchetti indirizzati a quel gruppo
IGMP: Tecniche di ottimizzazione
I messaggi di report possono
ovviare a ciò:
Quando un host riceve una query avvia un timer per ciascun
gruppo a cui appartiene:
ogni timer viene fatto partire da un valore casuale scelto tra 0 e
D secondi;
allo scadere del timer si genera il report relativo.
Oltre ad utilizzare i timer, ogni host resta in ascolto e se sente un
report con un indirizzo multicast corrispondente ad uno dei suoi,
non genera un’altra risposta per quel multicast group
18
intasare la rete. Per
È indifferente, per un router, sapere che sulla LAN ci sono 2
piuttosto che N receivers per quel gruppo
IGMP v. 2 (1)
Arricchisce la versione 1, mantentendo la compatibilità
con gli host che hanno tale versione
Aggiunte
Specifica la modalità con cui si elegge il designated router
viene scelto quello con indirizzo IP più basso sull'interfaccia
considerata
In IGMP v.1 questa procedura viene demandata al protocollo di
routing
Messaggio Group-Specific Query
19
protocolli differenti potrebbero implementare tecniche di elezione del
designated router differenti ed incompatibili tra loro, provocando la
presenza di più designated router sulla stessa rete
Permette ad un router multicast di interrogare un ben specifico
gruppo invece che tutti i gruppi presenti sulla LAN
IGMP v. 2 (2)
Aggiunte
Messaggio Leave-Group
20
Accelera le operazioni di eliminazione di un gruppo da una LAN
Inviato al gruppo All-Routers da un host che intende lasciare un
certo gruppo multicast, specificando l'indirizzo del gruppo che si
vuole abbandonare
Quando il router riceve un messaggio di questo tipo inizia ad
inviare una serie di Group-Specific Query verso quel particolare
gruppo di destinazione e se continua a non ricevere risposta
elimina la entry relativa al gruppo sull'interfaccia interessata
Velocizza le operazioni di pruning di alberi multicast inutili
IGMP v. 3
Sostanzialmente aggiunge due nuovi comandi
Inclusion Group-Source Report ed Exclusion Group-Source Report
Un host può specificare da quale sorgente vuole o non vuole
ricevere traffico multicast destinato ad un certo gruppo
21
Se ci sono più sorgenti attive che inviano pacchetti ad un
determinato gruppo, gli host possono scegliere di ricevere i
pacchetti provenienti solo da una di queste sorgenti
Si tratta di un mezzo per risparmiare banda, in quanto questa
informazione può essere sfruttata dai router per potare ulteriori
ramificazioni degli alberi di distribuzione
Multicast Router
MULTICAST
ROUTER
Host Membership Report
HOST
22
Host Membership Query
HOST HOST
HOST
Protocolli di Instradamento (1)
I protocolli di instradamento per pacchetti multicast
gestiscono alberi di distribuzione multicast da una
sorgente verso le destinazioni attive
Originariamente sono stati definiti solo protocolli intradomain
Successivamente, sono stati pensati anche protocolli
inter-domain
Il multicast è ancora un problema insoluto
23
Ci si è accorti che un protocollo classico, intra-domain, non scala
su Internet
Ad una distanza di 20 anni rispetto alle proposte originarie
(Deering), non esiste ancora il multicast su scala geografica
Protocolli di Instradamento (2)
I protocolli intra-domain utilizzati sono
DVMRP (Distance Vector Multicast Routing Protocol)
MOSPF (Multicast OSPF)
è un protocollo di tipo link-state
PIM (Protocol Independent Multicast)
Il protocollo inter-domain proposto è
24
basato sui distance-vector
BGMP (Border Gateway Multicast Protocol)
Algoritmi di instradamento
25
Algoritmi proposti da Steve Deering
Stephen E. Deering, "Multicast routing in internetworks and
extended LANs," in SIGCOMM 88, pp. 55-64, Aug. 1988
Selective Flooding
Reverse Path Forwarding
Reverse Path Broadcasting
Truncated Reverse Path Broadcasting
Reverse Path Multicasting
Reverse Path Forwarding (1)
Migliora il Flooding
Quando un router riceve un pacchetto multicast, lo invia su tutte
le altre interfacce a patto che quella da cui è arrivato sia sul
cammino più breve tra il router e la destinazione
Funziona solo se la rete è simmetrica (calcola il costo
del reverse path)
È utilizzabile in presenza di un algoritmo di routing
unicast di tipo Distance Vector
26
Ha le distanze del router da ogni destinazione
Reverse Path Forwarding (2)
Problemi
Non tiene conto del fatto che ci siano ascoltatori o
meno (non fa pruning)
Carica la rete in modo inaccettabile: non viene
generato alcun albero di instradamento
il pacchetto viene sempre distribuito su tutti i link
Su alcuni link transitano più copie dello stesso
pacchetto
Ad esempio se X e Y hanno distanza minima da S
dall’interfaccia
superiore,
sulla
LAN
A
transiteranno 2 copie dei pacchetti emessi da S
27
S
Di conseguenza, transiteranno 2 pacchetti anche su
LAN B
Suppone la rete simmetrica
X
Y
LAN A
Z
LAN B
Reverse Path Broadcasting
Evoluzione del RPF
Si costruisce un albero di distribuzione multicast (come per
costruire lo spanning tree), e i pacchetti raggiungono tutte le
destinazioni passando sui rami di quest’albero
28
Non è più necessario trasmettere i pacchetti su tutti i link, ma
solo su quello dove ci sono le “interfacce figlie”
Viene creato un albero distinto per ogni sorgente (che si pone
come nodo radice)
RPB: Costruzione dell’albero di multicast
Ogni router deve capire la sua posizione all’interno dell’albero
di distribuzione
Non è necessario che conosca l’intero albero
Due tipi di interfacce
Interfaccia “padre”: interfaccia a distanza minore verso la sorgente
Interfaccia “figlie”: le altre interfacce del router
I pacchetti potranno essere ricevuti sia dalle interfacce
“padre”, sia da quelle figlie
Se il pacchetto arriva da un’interfaccia “padre”
Viene accettato ed eventualmente propagato
Se il pacchetto arriva da un’interfaccia “figlia”
29
Siccome RPB si appoggia su un protocollo di routing DV, questo è facile da
scoprire
Viene sempre scartato
RPB: Propagazione dei pacchetti multicast
Propagazione di pacchetti multicast
30
Tra le interfacce “figlie” che sono affacciate su una LAN, è
necessario identificare quella che ha il diritto di propagare il
pacchetto a valle
Viene selezionato il “router designato” per quel link
Per ogni link a cui il router è affacciato, il router esamina i DV che
gli sono arrivati dagli altri router presenti su quel link
Il router che ha distanza inferiore verso la sorgente diventa
“router designato” ed ha diritto a propagare i pacchetti su quella
LAN
In caso di costo uguale, viene presa l’interfaccia con IP più basso
RPB: esempio
Ogni router sceglie l’interfaccia a costo minore
31
Interfacce superiori, sia per X, che per Y e Z
Definizione del designated router
S
Definizione dell’interfaccia padre
Sulla LAN A ci sono 3 router, quindi il router “padre” è quello
con costo minore verso S (cioè X)
Propagazione dei pacchetti
X e Y ricevono i pacchetti dall’interfaccia superiore
Solo X può propagare il pacchetto sulla LAN A
Y si vede arrivare un pacchetto dall’interfaccia inferiore, che
non è un’interfaccia padre, quindi non lo propaga
Z invece propaga il pacchetto perché lo riceve dalla sua
interfaccia padre
5
6
X
Y
LAN A
6
Z
LAN B
Reverse Path Broadcasting (4)
32
Problemi: sostanzialmente gli stessi del RPF
Non tiene conto del fatto che ci siano ascoltatori o meno (non fa
pruning)
Suppone la rete simmetrica
Truncated RPB (1)
Inserisce il concetto di pruning
Gli algoritmi precedenti lasciavano agli host il compito di filtrare i
pacchetti, occupando banda inutilmente
Implica che l’albero di distribuzione dipenda dalla sorgente e dal
gruppo di multicast (con RPB dipende solo dalla sorgente)
Richiede che gli end-systems generino dei membership-reports
Non invia il multicast sulle LAN foglia qualora queste
non abbiano receivers
33
È richiesto l’uso di un protocollo che comunichi, ad ogni router,
se su quella LAN ci sono receivers
Truncated RPB (2)
LAN foglia: rete non usata da nessun altro router per
raggiungere la sorgente multicast
Determinazione di quali sono le “LAN foglie”: ogni router deve inserire nei
propri DV l’informazione del suo next hop per raggiungere ogni
destinazione
Questo è automatico in RIP con Split Horizon con Poisoning Reverse,
perché tutte le destinazioni raggiunte attraverso il link sul quale l’annuncio
è inviato vengono poste con distanza pari a infinito
34
Si supponga che il router Z propaghi la sorgente S a costo infinito verso la LAN A
Questo significa che la LAN A è un link di transito, perché i pacchetti della sorgente
S transiteranno su LAN A per andare a Z
Quindi, se la entry relativa alla sorgente in esame è propagata con distanza
infinita, quel link NON è una foglia
Questa ottimizzazione semplifica l’algoritmo, ma non impedisce che sui
nodi interni dell’albero ci sia traffico inutile
Reverse Path Multicasting (1)
Supera le limitazioni di TRPB, realizzando il pruning di
intere ramificazioni
Algoritmo
35
Primo pacchetto inviato dalla sorgente S: viene propagato
secondo l’algoritmo TRPB
Se il pacchetto raggiunger un router i cui link sono tutte foglie
prive di membri di quel gruppo, il router invia un messaggio di
No-Membership-Report (NMR) al router padre
Se il router padre riceve questi messaggi da tutti i suoi figli,
genera a sua volta un NMR verso il padre
Reverse Path Multicasting (2)
Messaggi NMR: hanno validità limitata
Quando scadono, viene adottato nuovamente l’algoritmo TRPB
Problema: ci sono dei multicast storm periodici
Messaggi Membership-Report
Servono per comunicare al nodo padre che si è aggiunto un
ascoltatore per quel gruppo
In questo caso deve essere attivato rapidamente il ramo
dell’albero, senza aspettare il timeout precedente
Scalabilità
36
Critica, perché ogni router deve tenere molte informazioni per
ogni coppia (source, group)
Link State Multicast Routing
Basa il suo funzionamento sull’esistenza di un protocollo di
routing unicast di tipo LS
Funzionamento
Ogni router ha la mappa completa della rete, quindi è in grado di calcolare,
per ogni source, l’albero di distribuzione verso ogni potenziale receiver
Viene creato un nuovo Link State Advertisement che annuncia l’esistenza
di un receiver in relazione ad un particolare host group
37
Il pacchetto viene inviato in flooding, così che tutta la rete conosce
esattamente la posizione di ogni receiver per ogni gruppo multicast
Se un router riconosce di essere su un albero di distribuzione, si attiva a
fare il forwarding degli eventuali pacchetti appartenenti a quel gruppo
Non è più necessario il “flood and prune”
LS Multicast Routing: problemi (1)
38
L’instradamento
del
primo
pacchetto
trasmissione può richiedere parecchio tempo
di
una
L’albero dei cammini minimi viene calcolato solo nel momento in
cui un utente inizia a trasmettere
Quando il primo pacchetto arriva ad un router, questo deve
calcolare l’albero di instradamento per sapere su quali link lo
deve forwardare
Per i pacchetti successivi questo calcolo non è più necessario in
quanto l’informazione si troverà in cache
LS Multicast Routing: problemi (2)
Memoria
CPU
Ogni router deve contenere una nuova entry (un nuovo LSP) per
ogni rete con un membro di quel particolare host group
Il calcolo dell’albero di instradamento va fatto per ogni sorgente
di ogni gruppo
Il numero di alberi è molto elevato
Ogni sorgente ha un albero distinto verso ogni destinazione
La tabella di routing deve mantenere, anzichè semplicemente la
destinazione (per il routing unicast), la coppia (sorgente,
destinazione)
39
Per ogni coppia è necessaria una entry distinta, in quanto ogni
router deve calcolare un percorso distinto per ogni possibile
destinazione
Core-Based Tree (1)
Prevede la creazione di un unico albero di distribuzione
multicast per tutto il gruppo G
Core router
40
È il router principale dell’albero di distribuzione
Utilizzo di “stati forti”
L’albero è indipendente dalla sorgente
Non vengono inviate periodici messaggi di refresh sullo stato dei
gruppi multicast; poco adatto a situazioni altamente variabili
Tony Ballardie, Paul Francis, and Jon Crowcroft, "Core
based trees (CBT)," in SIGCOMM 93, pp. 85-95, ACM,
Sept. 1993 (also in Computer Communication Review
23 (4), Oct. 1992)
Core-Based Tree (2)
41
Algoritmo di costruzione dell’albero
Quando un router periferico (leaf router) riconosce che un host
nella sua rete vuole agganciarsi al gruppo di multicast, invia un
messaggio particolare (Join Reques) al core router
Tutti i router che ricevono questo messaggio marcano
l’interfaccia dalla quale il messaggio arriva come una interfaccia
da usare per il forwarding dei pacchetti multicast per quel gruppo
Nel caso in cui il messaggio raggiunga un router che fa già parte
dell’albero (prima di raggiungere il core rotuer) la segnalazione si
ferma, e all’albero precedente viene aggiunto un nuovo ramo
Core-Based Tree (3)
Data Forwarding
Un membro del gruppo invia semplicemente il pacchetto in multicast
Ogni router che riceve un pacchetto lo invia su tutte le interfacce
appartenenti a quel gruppo di multicast (definite nella fase di costruzione
dell’albero) tranne quella da cui il pacchetto è arrivato
Problemi
Il core-router è un single point of failure
La posizione del core-router influenza pesantemente le performance
dell’algoritmo
42
La scelta ottimale della posizione può essere decisamente complicata
I percorsi non sono ottimizzati
Vantaggi: scalabilità (poche informazioni di stato nei routers)
Algoritmi inter-domain
Sono necessari algoritmi di tipo gerarchico
La complessità degli algoritmi tradizionali (e le informazioni di
stato da tenere) non permettono la scalabilità
In generale, gli “utenti” sono sostituiti dai “domini”
43
Routing non gerarchico: l’utente Y vuole ricevere i gruppi A, B, C
Routing gerarchico: Il dominio X vuole ricevere i gruppi A, B, C
Entrano in gioco altre politiche (come per il BGP)
Classificazione dei protocolli
Suitable
Protocols
LAN / Small
Networks
WAN /
Autonomous
System
Internet
DVMRP (RPM)
PIM-SM
BGMP (MASC)
MOSPF (linkstate)
CBT
PIM-DM
44
DVMRP (1)
45
DVMRP è definito nello RFC 1075
Protocollo Distance Vector, derivato dal RIP
Versione 1: è basato sul TRPB
Versione 3: viene adottato RPM
DVMRP ignora le informazioni di routing degli altri
protocolli
DVMRP calcola route che possono differire da quelle utilizzate per
il traffico unicast
La duplicazione nel calcolo delle route unicast (è necessario
avere, ad esempio, sia RIP che DVMRP sulla stessa rete) è dovuta
al fatto che spesso la rete unicast e multicast non coincidono
esattamente (ci possono essere router che solo solo unicast, ad
es. Mbone)
DVMRP (2)
Usa una metrica basata sul numero di hop
Il cammino che collega due neighbor DVMRP può
includere molte reti e molti router (unicast)
I tunnel sono configurati manualmente
DVMRP è attualmente usato da MBONE
46
disponibile sui router
disponibile anche sugli host (daemon mrouted)
MOSPF (1)
Protocollo Link State, estensione di OSPF
DVMRP è invece un protocollo completamente nuovo
Essendo basato su OSPF, permette ai singoli router di avere una
conoscenza completa della topologia della rete e dei costi relativi ai singoli
collegamenti
Crea una base dati che descrive la topologia dell'Autonomous System
I pacchetti multicast vengono instradati attraverso uno shortest path tree
Usa una tecnica indicata con il nome di source/destination group routing
Adatto a bassa densità di gruppi multicast
Source/Destination routing
47
In MOSPF il pacchetto multicast viene instradato sia in base all'indirizzo di
destinazione (cioè l'indirizzo multicast) sia in base all'indirizzo della
sorgente, cioè dell'host che ha generato il pacchetto
MOSPF (2)
Funzionamento
Il percorso di instradamento di un pacchetto multicast viene
effettuato “su richiesta”
48
i router intermedi, nel momento in cui si vedono arrivare il primo
pacchetto destinato da una particolare sorgente verso un certo
host group, creano, con un opportuno algoritmo, uno shortest
path tree che permette di instradare il pacchetto lungo i cammini
più brevi verso tutte le direzioni indicate dall'indirizzo multicast
Questo funziona se l’algoritmo ha raggiunto la stabilità del
database degli LSA (altrimenti lo SPT non sarebbe comune su
tutta la rete)
MOSPF (3)
MOSPF è definito nello RFC1584
Broadcast periodico delle informazioni sui gruppi
I router MOSPF possono essere mischiati con router
OSPF
I cammini scelti per i pacchetti multicast non passano
per i router solo OSPF
I router OSPF indicano di poter operare anche come
router MOSPF utilizzando un nuovo bit (MC) nel campo
Option dell’header OSPF
49
MOSPF (4)
50
È stato aggiunto un nuovo tipo di LSA
Type 6
I router MOSPF producono LSA di tipo 6 per informare gli altri router nella
loro area dei gruppi multicast attivi sulle loro reti
Gli LSA tipo 6 non sono propagati tra le aree
Gli ABR MOSPF producono LSA di tipo 6 per informare gli altri router nella
backbone area dei gruppi multicast attivi sulle loro aree non backbone
Un nuovo bit (W) è associato ai router link states
Quando W=1 il router può essere scelto come gateway verso tutti i
multicast group
Il bit W è uguale a uno per gli MOSPF ASBR e per gli MOSPF ABR
MOSPF è una buona scelta per il multicasting intra-dominio
PIM (1)
Protocol Independent Multicast
Calcolo dei cammini inversi: si basa sulle informazioni di routing
derivate dai sottostanti protocolli di routing unicast, qualunque
essi siano (DV o LS)
51
Da qui deriva il nome di Protocol Independent
Diversamente da DVMRP e MOSPF, non
meccanismi per il calcolo delle route unicast
include
pertanto
Come il DVMRP può attraversare più domini di routing
unicast
PIM (2)
Affronta due diverse
spazialità dei ricevitori
Derivato da CBT; ha un basso numero di stati generato ed è
fortemente scalabile
Reti con ricevitori molto concentrati
PIM-DM - Dense Mode (Internet Draft)
Adotta l’algoritmo RPM, quindi assomiglia a DVMRPv3
PIM-SM e PIM-DM non possono coesistere in uno stesso dominio
di routing multicast
52
alla
PIM-SM - Sparse mode (RFC 2117)
relative
Reti estese con pochi ricevitori sparsi ai quattro venti
problematiche
I router del dominio vanno configurati opportunamente
PIM: comportamenti di default
Implicit Join Protocol
PIM-DM (come DVMRP): in mancanza di indicazioni esplicite, i pacchetti
vengono inoltrati in una certa rete
È necessario generare messaggi di “Prune” per interrompere il traffico
multicast
Explicit Join Protocol
PIM-SM (come MOSPF): in mancanza di indicazioni esplicite, i pacchetti
non vengono inoltrati in una certa rete
MOSPF: richiede però che tutte le informazioni di multicast siano distribuite
a tutti i router del dominio, anche a quelli non interessati dal traffico
multicast
53
Non è in grado di limitare le informazioni solamente ai router interessati
È necessario generare messaggi di “Join” per attivare il traffico multicast
PIM-DM (1)
Adatto ad ambiti locali o metropolitani
Non particolarmente parco in termini di banda
La banda non è normalmente un problema in ambito LAN-MAN
Gestione molto semplice
Inoltra i pacchetti per la nuova coppia (src, grp) su
tutte le interfacce “figlie” fino a quando viene ricevuto
un “Prune”
54
Ci possono essere pacchetti inoltrati in zone non interessate dal
particolare gruppo multicast
Prima di inoltrare il pacchetto, controlla il reverse path per
vedere che arrivi dall’interfaccia giusta
PIM-DM (2)
È necessario confermare
esplicitamente l’esistenza di receivers
nel proprio sottoalbero
I messaggi sono pertanto inviati in
multicast
R3
1. PIM-DM Prune(grp)
2. PIM-DM Join(grp)
R1
Net1
55
R2
Net2
PIM-DM (3)
ip multicast-routing
interface ethernet 1
ip pim dense-mode
!
interface ethernet 2
ip pim dense-mode
56
PIM-SM
Nasce per rendere disponibile un protocollo sparse
mode
Pochi gruppi rispetto al numero di LAN
L’overhead introdotto dal multicast Dense Mode non è più
trascurabile
Si serve delle tabelle di unicast indipendentemente dal
protocollo unicast che le ha costruite
Si basa sul concetto di albero di
centralizzato ed è l'evoluzione del CBT
57
distribuzione
Scalabile
Adotta un approccio dinamico nella gestione delle entry di routing
PIM-SM
Non usa mai il flooding
Tre nodi speciali
Designated router (DR), che si occupa di raccogliere le richieste
degli host
Rendez-vous point (RP), un punto di raccolta dei pacchetti
destinati ad un certo gruppo multicast, che corrisponde al core
router dell'algoritmo CBT
58
Il RP dipende dal singolo gruppo di multicast
Bootstrap Router (BSR), che si occupa di distribuire a tutto il
dominio PIM-SM l’elenco dei RP
Designated Router (DR)
È uno dei router della LAN
Il router che ha
59
Percorso minore verso il RP
Interfaccia con indirizzo IP più alto sulla LAN (in caso esistano più
router sulla LAN in esame)
Si occupa di raccogliere le richieste degli host
L'aggregazione ai gruppi da parte degli host avviene in modo
esplicito
Gli alberi sono costruiti da messaggi espliciti di JOIN (no data
driven)
Invio periodico dei JOIN per adattarsi ai cambiamenti dei gruppi
BootStrap Router (BSR)
Eletto dinamicamente
Ogni router abilitato annuncia sè stesso come Candidate BSR
Vince il router che ha costo amministrativo migliore
60
A parità di questo, l’indirizzo IP maggiore
Viene eletto un set di BSR per questioni di affidabilità
Distribuisce l’RP-set a tutti i router PIM-SM
Elenco dei router che possono diventare RP
Esiste una formula che, dato un gruppo, permette di selezionare
il router che ne diventerà RP a partire dall’RP-set
PIM-SM
61
Gestisce due tipi di alberi di distribuzione
Albero condiviso con centro nel RP, detto RP-Tree (RPT) e valido
per tutti i membri del gruppo
Albero dipendente dalla sorgente, detto anche Shortest-Path Tree
(SPT), che permette una maggiore velocità di consegna dei
pacchetti, dato che il cammino sorgente-ricevitore è sempre
minimo
Utilizzo degli alberi di distribuzione
Default: si usa lo shared tree
Permette ai router di passare indipendentemente a source
specific tree se lo ritengono conveniente
Shared Tree
Non vengono usati percorsi minimi (S1-R3)
C’è concentrazione di traffico sul RP
L’albero è indipendente dalle sorgenti
R2
S2
RP
S1
R1
62
R3
Shortest Path Tree
Vengono usati percorsi minimi (S1-R3)
Il traffico è distribuito
Ad ogni sorgente corrisponde un albero
R2
S1
R1
63
S2
R3
Creare lo shared tree di G
RP
JOIN (*,G)
64
Trasmettere a G lungo lo shared tree
RP
S
I pacchetti sono inoltrati
dal DR in unicast verso il
RP, attraverso messaggi
PIM-SM Register
Non è obbligatorio
instaurare l’albero tra il
RP e il DR
REG (data,G)
65
Creare l’albero di distribuzione
RP
S
Il messaggio di JOIN è
inviato sempre da un
“ricevitore” (in questo
caso il RP) verso la
sorgente dei dati
Questo messaggio non è
obbligatorio
JOIN(S,G)
66
Creare lo shortest path tree di S
RP
S
Data(S,G)
JOIN(S,G)
67
Trasmettere lungo lo shortest path tree
RP
S
La trasmissione di S verso
RP continua fino a quando
RP emetterà un messaggio
PIM-Register-Stop verso il
DR
Questo può essere fatto:
- se non ci sono ascoltatori
per quel gruppo
- se RP ha emesso un JOIN
verso DR, pertanto non
sono necessari i
messaggi PIM-Register
Data(S,G)
Data(S,G)
68
Staccarsi dallo Shared Tree
RP
Il messaggio di PRUNE è
inviato solamente quanto
si ha la certezza che lo
SPT è stato instaurato
correttamente
Può esistere il caso di un
RP che non riceve e non
inoltra nessun pacchetto
(tutte le foglie hanno
creato uno SPT)
R
PRUNE (S,G,RP=1)
69
Unirsi allo shared tree di G
RP
JOIN (*,G)
70
Unirsi allo shortest path tree di S
RP
S
JOIN(S,G)
71
PIM-SM
Router A
!
ip multicast-routing
ip pim rp-address 10.8.0.20 1
!
interface ethernet 0
ip pim sparse-mode
!
interface ethernet 1
ip pim sparse-mode
!
access-list 1 permit 224.0.1.2
72
Router D
!
ip multicast-routing
ip pim rp-address 10.8.0.20 1
!
interface ethernet 0
ip pim sparse-mode
!
interface ethernet 1
ip pim sparse-mode
!
access-list 1 permit 224.0.1.2
Multicast Backbone
73
MBone
Il termine MBone è l'acronimo di Multicast Backbone.
MBone è una rete virtuale appoggiata su Internet
Lo scopo principale di MBone è quello di fornire agli utenti la
possibilità di sfruttare il multicast per le comunicazioni
multimediali.
MBone e l'IETF
MBone nasce agli inizi del 1992 come evoluzione degli
esperimenti multicast compiuti dall'IETF (Internet Engineering
Task Force)
Audio e video venivano inviati in diretta dai luoghi in cui si
effettuavano le conferenze IETF a tutto il resto del mondo
collegato alla rete Internet
MBone
MBone è una rete virtuale
Questo significa semplicemente che MBone per la trasmissione
utilizza la stessa struttura fisica di Internet
MBone costruisce sui collegamenti fisici di Internet una sua
topologia propria
MBone utilizza il multicasting a livello IP
Multicast significa trasmissione da una sorgente ad una o più
destinazioni contemporaneamente.
74
I router che gestiscono anche il multicast sono detti MRouters
La trasmissione broadcast (e, talvolta, anche multicast) esiste
sulle LAN. La novità di MBone è che ora la trasmissione multicast
può avvenire su tutta la rete Internet
Cosa dire di Mbone ...
Il cane parlante
Non è tanto entusiasmante sentire ciò che dice, quanto piuttosto
il fatto che lo dica
È interessante vedere come una rete connectionless possa fare
conferenze con buona qualità (se la banda lo permette)
È importante “prefigurare” l’importanza che questa innovazione
potrà avere sulle comunicazioni future, più che ciò che si riesce a
fare oggi
Prima
(e
sola)
telecomunicazioni
75
Legge
di
Tengdin
sulle
Il salto da ZERO a qualunque baud rate è il passo più importante
che tu possa compiere; dopo di allora il solo obiettivo che avrai
sarà la velocità della luce
Topologia di MBone
Collegamento tra due mrouter
remote end-point
Internet
local end-point
Mrouter
Mrouter
Tunnel
H
H
H
76
H
H
H
H
H
I tunnel
Caratteristiche
77
Ogni tunnel è univocamente definito da quattro caratteristiche:
local end-point
remote end-point
metric
threshold
local e remote end-point sono parametri statici del tunnel,
mentre
metric e threshold possono essere modificati
dinamicamente
I tunnel
Parametri
Threshold rappresenta il valore minimo del TTL che un pacchetto
deve avere per poter essere instradato attraverso il tunnel
78
Permette di definire la visibilità dei pacchetti
Ogni mrouter decrementa il TTL di 1 e non di un valore pari al
threshold
Metric è una misura del costo del tunnel
I protocolli di trasporto
UDP
79
Attualmente è il protocollo di trasporto utilizzato da tutti gli
applicativi
RTP
Real Time Protocol
Migliora la QoS fornita da IP per garantire servizi in tempo reale
Time-stamp per recuperare le variazioni di ritardo subite nella
rete
RTCP
“incluso” in RTP
Informazioni di controllo della conferenza
Report e statistiche (pacchetti ricevuto / persi da ogni utente, …)
informazioni su ogni utente (nome, locazione, mail…)
Gli applicativi (1)
SD/SDR - Session Directory
Mantiene un'elenco aggiornato delle conferenze in atto e permette di
aderirvi od abbandonarle
Indica, per ogni sessione, i medium interessati (audio, video, whiteboard)
e le loro caratteristiche (indirizzo multicast sul quale trasmettono, porta)
Tramite SDR si riescono a gestire dinamicamente in modo molto semplice
le varie conferenze
È possibile, scorrendo l’elenco visualizzato, aderire ad ognuna delle
sessioni disponibili
È possibile aggiungere una nuova sessione, distribuendo così questa
informazione agli altri utenti di Mbone
80
SDR sceglie automaticamente un indirizzo che non crea conflitti
È necessario definire un parametro scope, che coincide in pratica con il TTL (Site
16, Region 32, World 127)
Annunci mediante indirizzo multicast “riservato”
Gli applicativi (2)
VAT – Visual Audio Tool
Permette la ricezione e la trasmissione della parte audio di una conferenza
I partecipanti di una conferenza multicast hanno la possibilità di tenere
delle conversazioni private (una sorta di pettegolezzo a bassa voce),
evitando di disturbare l'intera conferenza.
RAT – Robust Audio Tool
Migliore di VAT: più formati audio, codifiche ridondate,
gerarchiche, maggiore stabilità sulle varie piattaforme
codifiche
VIC – Video Conference Tool
81
Questa possibilità viene realizzata facendo uso di una connes-sione unicast
parallela a quella multicast su cui è in atto la confe-renza.
Permette la ricezione e la trasmissione della parte video di una conferenza
Gli applicativi (3)
IMM - Image Multicaster Client
NV - Videoconferencing Tool
82
Permette la ricezione di immagini statiche
Permette di ricevere video trasmesso a basso frame rate in forma
di datagram UDP multicast
WB - WhiteBoard Tool
Permette di gestire una lavagna bianca su cui chiunque può
scrivere
Particolarmente utile nel caso di seminari
Lo stato attuale del multicast
Solamente intra-dominio
Utilizzo molto limitato, e sono all’interno di alcuni domini (es.
Fastweb) per esigenze specifiche
InternetTV, con set-top-box dedicati
Attualmente non ci sono previsioni serie di espansione
Anche gli applicativi sono particolarmente limitati agli occhi
moderni
Multicast affidabile
83
Deve gestire problematiche diverse (affidabilità)
Anche questo, gestito in reti particolari (es. per applicazioni finanziarie)
Anche in questo caso, bassa diffusione
Nuovi tentativi: attraverso il P2P (es. Joost)

Documenti analoghi

IP Multicast Routing

IP Multicast Routing Alcuni host riceveranno dei pacchetti IP che non sono destinati a loro; questi pacchetti vengono scartati a livello IP e non a livello

Dettagli

Multicast

Multicast Esistono due tipologie di gruppi (associati alle rispettive tipologie di indirizzi multicast)  Permanente: ad esso è associato un indirizzo di classe D ben noto e assegnato a priori • Esiste anche...

Dettagli

Analisi delle problematiche nelle reti multicast ipv4

Analisi delle problematiche nelle reti multicast ipv4 ingente consumo di risorse computazionali, di memoria e di banda, tutti requisiti che qualche anno fa non potevano essere alla portata di tutti. Ora che invece si dispone di tali potenzialità, biso...

Dettagli