IP Multicast Routing Silvano GAI Fulvio RISSO http://staff.polito.it/fulvio.risso/ 1
Nota di Copyright 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. 2
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 Es. servizi di videoconferenza 3
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 Il multicast è visto semplicemente come un indirizzo IP un po diverso Recapito a destinazione dei pacchetti IP Multicast Il recapito di pacchetti multicast a destinazione è un problema decisamente diverso da quello dei pacchetti unicast 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 4
Host Group Concetto nuovo, alla base del multicasting Ogni singolo host può aderire ad un host group e poi abbandonarlo Host Extensions for IP Multicasting, RFC1112 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 La composizione di un host group non è nè fissa nè limitata e varia nel tempo 5
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 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 6
IP e il multicasting I Multicast Router (mrouter) instradano i pacchetti multicast La funzionalità di multicast router è integrata su un normale router IP Spesso è necessario abilitarla con un comando apposito Un mrouter ha un algoritmo di forwarding diverso per i pacchetti multicast rispetto a quelli unicast 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 7
Indirizzi multicast Indirizzi di classe D Gli indirizzi che identificano un host group sono detti indirizzi di classe D iniziano con 1110 Nella notazione standard di Internet gli indirizzi multicast sono compresi nell'intervallo: 224.0.0.0-239.255.255.255 8
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 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 9
Multicast sulle LAN 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 10
Mapping IP MAC Ad un indirizzo MAC corrispondono 2 5 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 x 27 x 26 x 25 x 24 x 23 x 22 x 21 x 20 x 19 x 18 x 17 x 16... x 0 Multicast IP address... 11 01-00-5E 0x 22 x 21 x 20 x 19 x 18 x 17 x 16... x 0 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)
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 JoinHostGroup (address, interface) LeaveHostGroup (address, interface) 12
Componenti fondamentali del multicast Trasmissione dati gli host trasmettono i dati ad un indirizzo particolare (multicast) 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 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) 13
IGMP Internet Group Management Protocol È il protocollo per la gestione e lo scambio delle informazioni di controllo tra gli host e gli mrouter 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 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 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 campoprotocoltype uguale a 2 14
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 per scoprire quali gruppi operano sulla LAN Nei report contiene l'indirizzo dell'host group a cui appartiene un host 15
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 Un pacchetto con TTL = 1 non esce dalla LAN Un multicast router è abilitato, di default, a ricevere tutti i gruppi multicast 16
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 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 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 17
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: 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 È indifferente, per un router, sapere che sulla LAN ci sono 2 piuttosto che N receivers per quel gruppo 18
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 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 Messaggio Group-Specific Query Permette ad un router multicast di interrogare un ben specifico gruppo invece che tutti i gruppi presenti sulla LAN 19
IGMP v. 2 (2) Aggiunte Messaggio Leave-Group 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 20
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 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 21
Multicast Router MULTICAST ROUTER Host Membership Report Host Membership Query HOST HOST HOST HOST 22
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 Da qualche tempo c è maggiore enfasi sui protocolli inter-domain Ci si è accorti che un protocollo classico, intra-domain, non scala su Internet Il multicast è ancora un problema insoluto Ad una distanza di più di 10 anni rispetto alle proposte originarie (Deering), non esiste ancora il multicast su scala geografica 23
Protocolli di Instradamento (2) I protocolli intra-domain utilizzati sono DVMRP (Distance Vector Multicast Routing Protocol) basato sui distance-vector MOSPF (Multicast OSPF) è un protocollo di tipo link-state PIM (Protocol Independent Multicast) Il protocollo inter-domain proposto è BGMP (Border Gateway Multicast Protocol) 24