IP Multicast Routing

Transcript

IP Multicast Routing
IP Multicast Routing
Silvano GAI
Fulvio RISSO
http://staff.polito.it/fulvio.risso/
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
3
Multicast e la multimedialità non sono la stessa cosa, ma
sono due caratteristiche estremamente correlate quando si
entra nell'ambito delle comunicazioni (si pensi a proposito
ai 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 è un
problema decisamente diverso da quello dei pacchetti
unicast
4
Il multicast è visto semplicemente come un indirizzo IP
un po’ diverso
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 (1)
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
Host Group (2)
Esistono due tipi di host group:
Il permanente che 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
Il temporaneo che 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
Gli MRouter (Multicast Router) instradano i
pacchetti multicast
7
Gli mrouter possono essere integrati con i normali router
IP, ma svolgono funzioni differenti
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
Sulle LAN il multicast di livello 3 è realizzato tramite
il multicast di livello MAC
Mappaggio degli indirizzi
10
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
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
attenzione
all'assegnazione degli indirizzi multicast
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
I driver della scheda di rete devono permettere due nuove
funzioni
12
JoinHostGroup (address, interface)
LeaveHostGroup (address, interface)
Componenti fondamentali
Trasmissione dati
Determinazione dell’esistenza di ricevitori di un
certo gruppo multicast su un particolare
segmento di LAN
Nel caso non esistano ricevitori, non è il caso di inoltrare
quei pacchetti sulla LAN
Propagazione dell’esistenza e della localizzazione
dei ricevitori
13
gli host trasmettono i dati ad un indirizzo particolare
(multicast)
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 (prune)
IGMP
Internet Group Management Protocol
È il protocollo per la gestione e lo scambio delle
informazioni di controllo tra gli host e gli mrouter
IGMP deve necessariamente essere realizzato 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
In realtà IGMP può essere utilizzato anche per lo scambio
delle informazioni di controllo tra gli mrouter.
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
15
Address
Viene impostato a zero nelle query generali
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)
Gli host rispondono alle query generando dei
report, con cui segnalano al multicast router tutti
gli host group a cui appartengono
Il router abilitato
messaggi di query
17
La risposta avviene utilizzando il gruppo multicast di
appartenenza
In particolare, gli host rispondono inviando un report per
ciascun host group a cui sono iscritti
invia
periodicamente
dei
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 intasare la rete. Per
ovviare a ciò:
Quando un host riceve una query avvia un timer per
ciascun gruppo a cui appartiene:
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
ogni timer viene fatto partire da un valore casuale scelto
tra 0 e D secondi;
allo scadere del timer si genera il report relativo.
È 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 sottorete
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 prune di alberi multicast inutili
IGMP v. 3
Attualmente un Internet Draft
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
intra-domain
Da qualche tempo c’è maggiore enfasi sui 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 più di 10 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
Algoritmi proposti da Steve Deering
25
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
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
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
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
un
albero
della
distribuzione, ma il pacchetto viene
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
Di
conseguenza,
transiteranno
pacchetti anche su LAN B
Suppone la rete simmetrica
2
S
X
Y
LAN A
Z
LAN B
Reverse Path Broadcasting (1)
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)
Reverse Path Broadcasting (2)
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
Interfaccia “padre”: è determinata dall’interfaccia da cui ha
distanza minore verso la sorgente del pacchetto
Interfaccia “figlia”: è determinata sfruttando ancora il protocollo
DV unicast
29
Siccome RPB si appoggia su un protocollo di routing DV, questo è
facile da scoprire
Se il pacchetto non arriva da quell’interfaccia, non viene propagato
Per ogni link a cui il router è affacciato, il router esamina i DV che gli
sono arrivati dagli altri router presenti su quel link
Ogni router conosce, quindi, la distanza di sé stesso e dei suoi vicini
verso la destinazione, quindi è in grado di sapere chi è il router che ha
la distanza minore verso la destinazione
Quel router viene dichiarato “padre” di quel link, quindi solo quel router
ha il diritto di inviare i pacchetti multicast su quel link
In caso di costo uguale, viene presa l’interfaccia con IP più basso
Reverse Path Broadcasting (3)
Si supponga che i router Y e Z hanno costo 6 verso la
destinazione (che è la sorgente S), mentre X ha 5
5
Supponiamo che l’indirizzo IP dell’interfaccia superiore di Y
sia più alto
X
Sulla LAN A ci sono 3 router, quindi il router “padre” è
quello con costo minore verso S (cioè X)
Propagazione dei pacchetti
LAN A
Ogni router sceglie l’interfaccia a costo minore
Definizione dell’interfaccia figlia:
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
6
Y
Definizione dell’interfaccia padre:
30
S
Esempio
6
Z
LAN B
Reverse Path Broadcasting (4)
Problemi: sostanzialmente gli stessi del RPF
31
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
Non invia il multicast sulle LAN foglia qualora
queste non abbiano receivers
32
Gli algoritmi precedenti lasciavano agli host il compito di
filtrare i pacchetti, occupando banda inutilmente
Implica che l’albero di distribuzione dipende dalla
sorgente e dal gruppo di multicast (con RPB dipende solo
dalla sorgente)
Richiede che gli end-systems generino dei membershiprepors
È richiesto l’uso di un protocollo che comunichi, ad ogni
router, se su quella LAN ci sono receivers
Truncated RPB (2)
LAN foglia: reti che nessun altro router usa per
raggiungere la sorgente
Determinazione di quali sono le “LAN foglie”: ogni router deve
inserire nei propri DV l’informazione del suo next hop per
aggiungere ogni destinazione
Questo è automatico in RIP con Split Horizon con Poisonus
Reverse, perché tutte le destinazioni raggiunte attraverso il link sul
quale l’annuncio è inviato vengono poste con distanza pari a
infinito
33
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
34
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
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à
35
Quando scadono, viene adottato nuovamente l’algoritmo
TRPB
Problema: ci sono dei multicast storm periodici
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 Packet che annuncia
l’esistenza di un receiver in relazione ad un particolare
host group
36
Il pacchetto viene inviato in flooding, così che tutta la
rete conosce quali sottoreti contengono dei receiver
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)
L’instradamento del primo pacchetto di
trasmissione può richiedere parecchio tempo
37
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 sottorete 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)
38
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
39
È 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. 8595, ACM, Sept. 1993 (also in Computer
Communication Review 23 (4), Oct. 1992)
Core-Based Tree (2)
Algoritmo di costruzione dell’albero
40
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 code 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
41
La scelta ottimale della
decisamente complicata
posizione
può
essere
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”
42
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
43
LAN / Small
Networks
WAN /
Autonomous
System
Internet
DVMRP (RPM)
MOSPF (linkstate)
PIM-DM
PIM-SM
CBT
BGMP (MASC)
DVMRP (1)
DVMRP è definito nello RFC 1075
DVMRP ignora le informazioni di routing degli altri
protocolli
44
Protocollo Distance Vector, derivato dal RIP
Versione 1: è basato sul TRPB
Versione 3: viene adottato RPM
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
45
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
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
46
Il router non dev’essere stupido da supporre che lui è il centro
dell’albero di distribuzione
MOSPF (2)
Funzionamento
Il percorso di instradamento di un pacchetto multicast viene
effettuato “su richiesta”
47
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)
48
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
MOSPF
È stato aggiunto un nuovo tipo di LSA
49
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
MOSPF
Un nuovo bit (W) è associato ai router links states
50
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 intradominio
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 include pertanto
meccanismi per il calcolo delle route unicast
Come il DVMRP può attraversare più domini di
routing unicast
PIM (2)
Affronta due diverse problematiche relative alla
spazialità dei ricevitori
Reti estese con pochi ricevitori sparsi ai quattro venti
PIM-SM - Sparse mode (RFC 2117)
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
Derivato da CBT; ha un basso numero di stati generato ed è
fortemente scalabile
I router del dominio vanno configurati opportunamente
PIM (3)
Comportamenti di default
Implicit Join Protocol
PIM-DM (come DVMRP): in mancanza di indicazioni
esplicite, i pacchetti vengono inoltrati in una certa
sottorete
È 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
sottorete
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
– Non è in grado di limitare le informazioni solamente ai router
interessati
53
È 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
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
La banda non è normalmente un problema in ambito LANMAN
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
Si serve delle tabelle di unicast indipendentemente
dal protocollo unicast che le ha costruite
Si basa sul concetto di albero di distribuzione
centralizzato ed è l'evoluzione del CBT
57
Pochi gruppi rispetto al numero di LAN
L’overhead introdotto dal multicast Dense Mode non è più
trascurabile
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
Si occupa di raccogliere le richieste degli host
59
Percorso minore verso il RP
Interfaccia con indirizzo IP più alto sulla LAN (in caso
esistano più router sulla LAN in esame)
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
Viene eletto un set di BSR per questioni di affidabilità
Distribuisce l’RP-set a tutti i router PIM-SM
60
A parità di questo, l’indirizzo IP maggiore
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’RPset
PIM-SM
Gestisce due tipi di alberi di distribuzione
Utilizzo degli alberi di distribuzione
61
Albero condiviso con centro nel RP, detto RP-Tree (RPT) e
valido per tutti i membri del gruppo
Albero dipendente dalla sorgente, detto anche ShortestPath Tree (SPT), che permette una maggiore velocità di
consegna dei pacchetti, dato che il cammino sorgentericevitore è sempre minimo
Default: si usa lo shared tree
Permette ai router di passare indipendentemente a source
specific tree se lo ritengono conveniente
Shared Tree
R2
S2
RP
S1
R1
62
Non vengono usati percorsi minimi (S1-R3)
C’è concentrazione di traffico sul RP
L’albero è indipendente dalle sorgenti
R3
Shortest Path Tree
R2
S2
S1
R1
63
Vengono usati percorsi minimi (S1-R3)
Il traffico è distribuito
Ad ogni sorgente corrisponde un albero
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
MBone
MBone e l'IETF
73
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 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
trasmissione utilizza la stessa struttura fisica di Internet
I router che gestiscono anche il multicast sono detti
MRouters
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
la
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
Prima (e sola)
telecomunicazioni
75
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
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
76
H
H
H
H
H
H
I tunnel
Caratteristiche
Ogni tunnel è
caratteristiche:
77
univocamente
definito
da
quattro
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
RTP
Attualmente è il protocollo di trasporto utilizzato da tutti
gli applicativi
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
79
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 conicide 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
Attualmente in forte sviluppo: più formati audio, codifiche
ridondate, codifiche gerarchiche, maggiore stabilità sulle varie
piattaforme
VIC – Video Conference Tool
81
Questa possibilità viene realizzata facendo uso di una connessione unicast parallela a quella multicast su cui è in atto la conferenza.
Permette la ricezione e la trasmissione della parte video di una
conferenza
Gli applicativi (3)
IMM - Image Multicaster Client
NV - Videoconferencing Tool
Permette di ricevere video trasmesso a basso frame rate in
forma di datagram UDP multicast
WB - WhiteBoard Tool
82
Permette la ricezione di immagini statiche
Permette di gestire una lavagna bianca su cui chiunque può
scrivere
Particolarmente utile nel caso di seminari