Multicast IP Prof. Alfio Lombardo
Broadcasting Permette di inviare una copia di un pacchetto a tutte le destinazioni Hardware broadcast: meccanismi per il broadcasting all’interno di una sottorete Bus technologies realizzano trasmissioni broadcast con un unico messaggio (es. Ethernet) Switched technologies realizzano trasmissioni broadcast Rilanciando il messaggio tra gli switches Gli utenti richiedono la consegna in broadcast indirizzando il messaggio ad un indirizzo di destinazione riservato (indirizzo broadcast)
Multicasting Permette di inviare traffico contemporaneamente a più destinatari attraverso una comunicazione punto-multipunto (multicast). Hardware multicast: meccanismi per il multicasting all’interno di una sottorete Alcune tecnologie di rete permettono il multicasting Gli utenti richiedono la consegna in multicast indirizzando il messaggio ad uno tra gli indirizzi di destinazione riservati al multicast (es.: Ethernet multicast addresses 01.00.00.00.00.00) Gli utenti devono poter scegliere se partecipare o no ad un multicast
Multicast IP Astrazione dell’ hardware multicast su una internet Permette di inviare traffico contemporaneamente a più destinatari distribuiti tra sottoreti differenti L’ insieme di destinatari costituisce un gruppo multicast
Indirizzo multicast Gli ndirizzi IP di classe D sono dedicati all'identificazione di indirizzi multicast. I gruppi multicast variano da 224.0.0.0 a 239.255.255.255. Non contengono indicazioni sulla rete! La Internet Assigned Numbers Authority (IANA) mantiene una lista dei gruppi multicast IP registrati. Alcuni indirizzi multicast sono riservati (well-known). Gli indirizzi multicast non possono essere usati come indirizzo di sorgente
Indirizzo multicast 224.0.0.0 e' riservato e non puo' essere assegnato a nessun gruppo Da 224.0.0.1 a 224.0.0.255: riservato per l'uso da parte di protocolli di routing 224.0.0.1 permanentemente assegnato al gruppo “all hostes” che include tutti gli host ed i router che partecipano all’ IP multicasting sulla stessa rete locale Non è previsto alcun indirizzo che designi il gruppo di tutti gli host di Internet
Mappaggio indirizzi IP multicast – indirizzi Ethernet Indirizzo IP Multicast Indirizzo Ethernet broadcast Indirizzo Ethernet multicast
IP multicast e Ethernet multicast Occorre mappare un indirizzo in classe D su di un indirizzo MAC multicast. Questo pero’ non e’ possibile, dato il range dei multicast MAC 01:00:5e:00:00:00 01:00:5e:7f:ff:ff 01111111
IP multicast e Ethernet multicast Si e’ scelto allora di mappare solo un sottoinsieme di indirizzi 23 bit IP 1110 xxxx x yyyy yyyy yyy yyyy MAC 0000 0001 0000 0000 0101 1110 yyyy yyyy yyy yyyy E’ compito del modulo software che gestisce IP filtrare pacchetti destinati alle sottoreti “duplicate”
Multicast IP Il servizio multicast è connectionless e non affidabile . Poiche’ non sono state definite versioni multicast del protocollo di trasporto TCP, tutti gli applicativi multicast utilizzano il protocollo UDP. Non possono essere generati messaggi ICMP Affinche' la rete possa gestire comunicazioni punto-multipunto le implementazioni di Multicast IP devono: assegnare ad ogni gruppo multicast un particolare indirizzo che lo identifichi in maniera univoca; predisporre i router affinchè possano supportare un istradamento multicast.
Gestione degli Indirizzi multicast Un indirizzo multicast puo' essere permanentemente o temporaneamente allocato ad un gruppo Un host è libero in qualunque momento di agganciarsi o lasciare uno o più gruppi multicast Non ci sono restrizioni sul numero di membri né limitazioni sulla posizione degli host. In qualunque momento ogni host può inviare datagrammi ad un gruppo multicast senza "appartenervi".
Gestione degli Indirizzi multicast C’e’ qualcuno?? Io appartengo ad A! Io appartengo ad B! Io appartengo ad A! A A B
Gestione degli Indirizzi multicast IGMP (rfc 1112) L'host deve informare i router multicast (M-router) della sua appartenenza ad un gruppo; I router informati contatteranno altri router multicast passando le informazioni sull'appartenenza e stabilendo i cammini; Il protocollo IGMP è lo strumento tramite il quale l’ M-router di una rete locale viene tenuto costantemente aggiornato dei gruppi esistenti sulla stessa; Dal momento che i gruppi sono dinamici, l’ M-router interroga con una frequenza di circa una volta al minuto gli host della propria rete locale riguardo la loro appartenenza a qualche gruppo. (IGMP_vers2 usa il messaggio di “Leave” inviato dagli host)
IGMP and IP IGMP Message IP Header
IGMP messages Membership Query Message Mandato da M-router con indirizzo di destinazione 224.0.0.1 (gruppo di tutti gli host della rete locale) Membership Report Message l’ host comunica a quali gruppi è associato in quel momento. L'indirizzo di destinazione e’ qualsiasi indirizzo multicast ( l’ M-router è abilitato a ricevere tutti i datagrammi IP con indirizzo di classe D). In genere si utilizza l’indirizzo multicast di appartenenza
IGMP messages Type: 1 = Host Membership Query 2 = Host Membership Report Group address: Nella Query è zero in trasmissione e ignorato in ricezione. Nel Report contiene l'indirizzo del gruppo a cui si fa riferimento.
IGMP protocol Gli host che non appartengono ad alcun gruppo non ricevono i datagrammi multicast e quindi non generano alcuna risposta Quando un host si associa ad un gruppo non ancora presente sulla rete locale, esso invia immediatamente un Report
IGMP protocol Per evitare di congestionare una rete locale: 1. Quando un host riceve una Query non risponde immediatamente, fa partire un report delay timer per ogni gruppo a cui appartiene. Il timer parte da un valore scelto a caso tra 0 e D secondi . 2. Il messaggio di Report viene mandato con un indirizzo IP di destinazione uguale a quello del gruppo e con un TTL unitario 3. Se un altro host sente un Report dello stesso gruppo non attiva il suo messaggio di Report.
Istradamento multicast Ciscun router coinvolto nell’istradamento multicast deve costruire un albero dei percorsi minimi per ciascun gruppo B A R5 A R1 R3 A B R3,R2,R5 -, R3,R4 C R2 B R4 R2 B A C
Istradamento multicast Source-based: Conoscenza del percorso ottimo da una sorgente verso tutti i membri di un gruppo Pro: semplicità; ritardo minimo nella consegna dei pacchetti. Contro: Grafo dei cammini (Spanning Tree) per ogni coppia sorgente-gruppo di destinazione Core-based:prevede l’utilizzo di un unico albero per ogni gruppo multicast, il Core Based Tree (CBT). Pro: risparmio di memoria, minor traffico aggiuntivo Contro: percorso non ottimo
Protocolli Istradamento Source based Core based CBT DVMRP MOSPF PIM: Protocol Indipendent Multicast DM: Dense Mode SM: Sparse Mode PIM-DM PIM-SM
Multicast Link State: MOSPF OSPF + Membership LSA Membership LSA: nuovo messaggio link state che associa all’indirizzo IP del router che fa l’annuncio gli indirizzi di gruppo da questo annunciati Le informazioni sui gruppi presenti a valle sono fornite al router da IGMP
Multicast Distance Vector step 1: RPF L’albero di distribuzione viene creato attraverso l’algoritmo reverse path forwarding (RPF): . Informazioni in flooding limitato: se un pacchetto viene ricevuto su di una interfaccia che il router utilizza per mandare pacchetti a chi spedisce, solo allora il pacchetto verra’ ridistribuito sulle tutte altre interfacce, altrimenti verra’ scartato
Reverse-path forwarding) Ricevo da “A” sull’interfaccia 1 che utilizzo per inviare pacchetti destinati ad “A” (tab routing preesistente), quindi invio in flooding Reverse-path forwarding) Ricevo da “A” sull’interfaccia 2 che NON utilizzo per inviare pacchetti destinati ad “A” (tab routing preesistente), quindi NON invio in flooding 2 1 1 Ricevo da “A” sull’interfaccia 1 che utilizzo per inviare pacchetti destinati ad “A” (tab routing preesistente), quindi invio in flooding 1 A Nota: ogni link e’ attraversato al max 1 volta per direzione
Reverse path forwarding Utilizza le informazioni di routing unicast gia’ note Non tiene in considerazione i gruppi, questo lo rende piu’ un algoritmo per la costruzione di un “broadcast tree”
Multicast Distance Vector– Step 2 Reverse-path multicast protocols (Truncated broadcasting: Flood and Prone Protocols) 2 1 1 “prune” No user group 225.x.y.z! (IGMP) 1 A
Reverse-path multicast protocols with Truncated broadcasting (Flood and Prone Protocols) Esempio: Distance Vector Multicast Routing Protocol (DVMRP): Basato su RIP Protocol Independent Multicast Dense-Mode (PIM-DM): Si basa su un preesistente unicast Routing system Basato su RIP o OSPF
Multicast Distance Vector: Diffusione dei dati dal router connesso al “sender” verso tutti i router della rete. Tutti i router che non hanno a valle host appartenenti al gruppo hanno il compito di inibire la diffusione dei dati verso di loro Protocollo per diffondere le informazioni circa l’esistenza in una data rete di utenti ad un Gruppo (IGMP)
Core Based Tree (CBT) Si seleziona il router “core” e se ne fornisce IP address a tutti i router Ogni router invia al “core” un messaggio di affiliazione Ogni router che vede passare un messaggio di affiliazione individuano il router mittente e l’interfaccia da cui ricevono il messaggio
Core Based Tree (CBT) Trasferimento dati
MBONE
Mobile IPv4 Prof. Alfio Lombardo
Tunneling IP over IP
Agent Discovery 0 ……………………...16 17……………………….31 Type Lenght 0 ……………………...16 17……………………….31 Type Lenght Sequence Number R B H F M G V LifeTime Reserved Care of Address (optional)
Registration Request 1 ………..7 8 ………..13 14..15 16 ……………….31 Type Flags Rsvd LifeTime Home Address Home Agent Care of Address Identification Extension
Registration Reply 0 …………..7 8 …………..15 16 ….………31 Type Code LifeTime Home Address Home Agent Identification Extensions
L’interconnessione di reti eterogenee Macrolezione 6: L’interconnessione di reti eterogenee