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
Alcuni host riceveranno dei pacchetti IP che non sono destinati a
loro; questi pacchetti vengono scartati a livello IP e non a livello
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...
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...