1 / 45

IP Multicast

IP Multicast. Reti II Stefano Leonardi. La trasmissione Multicast. Generalizzazione di Broadcast: Multicast diretto a tutti Unicast: Multicast diretto ad un singolo Broadcast implementato sulle reti locali a livello hardware: Un solo pacchetto diretto sul bus

khuong
Download Presentation

IP Multicast

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IP Multicast Reti II Stefano Leonardi IP Multicast

  2. La trasmissione Multicast • Generalizzazione di Broadcast: Multicast diretto a tutti Unicast: Multicast diretto ad un singolo • Broadcast implementato sulle reti locali a livello hardware: • Un solo pacchetto diretto sul bus • Indirizzo riservato alla trasmissione broadcast (48 1 in Ethernet) • NIC riceve i pacchetti diretti al proprio indirizzo locale o all’indirizzo broadcast • Multicast Inter-rete: • I pacchetti devono essere inviati attraverso molti collegamenti intermedi finchè non raggiungono la destinazione • Eccessivamente dispendioso trasmettere verso tutte le reti e poi inviare in broadcast sulle reti locali • TCP/IP utilizza la trasmissione Unicast e la traduzione ARP IP Multicast

  3. Multicast Hardware • Più indirizzi di Multicast disponibili • NIC predisposte per accettare i pacchetti indirizzati ai gruppi di multicast di cui si fa parte • Tale schema può comunque essere inefficiente: • Due segmenti LAN collegati da un bridge • Il bridge deve comunque trasmettere un pacchetto indirizzato ad un indirizzo multicast all’altro segmento LAN • Questo può essere evitato se la comunicazione è tra entità sullo stesso segmento IP Multicast

  4. Multicast in Ethernet • Determinato dal bit di ordine basso dell’ottetto di ordine alto • Example in dotted decimal: 01.00.00.00.00.0016 • Remaining bits specify a multicast group • Il driver di rete accetta i pacchetti indirizzati all’indirizzo multicast configurato manualmente IP Multicast

  5. Multicast IP • Permette la trasmissione verso un sottinsieme che si può estendere a reti fisiche arbitrarie nell’Inter-rete • Caratteristiche del Multicast IP: • Indirizzo di gruppo: ogni gruppo multicast è assegnato con un unico indirizzo di classe D • Fino a 228 gruppi multicast simultanei • Appartenenza dinamica ai gruppi: un host può unirsi e lasciare un gruppo dinamicamente • Utilizza la trasmeissione multicast hardware quando è disponibile. Altrimenti utilizza la trasmissione broadcast o unicast • Inoltro sulle Inter-reti: Per inoltrare i pacchetti a più reti fisiche è necessario avere routers con funzionalità multicast da aggiungere alle finzionalità normali • Semantica di consegna Best-effort,così comne per IP • Il mittente non deve essere necessairmanete un membro del gruppo di multicast IP Multicast

  6. Requisiti per Multicast IP • Schema di Indirizzamento • Multicast globale consistente con l’autonomia locale nell’assegnazione degli indirizzi • Meccanismo di consegna e notificazione • Notifica ai router dei gruppi di multicast di cui fanno parte gli host locali • Consegna dei pacchetti sugli host locali, possibilmente attraverso multicast hardware • Strumenti efficienti di inoltro sull’Inter-rete • Selezione del percorso più breve • Scartare percorsi che non portano ad host del gruppo • Permettere la modifica dinamica dei gruppi di multicast IP Multicast

  7. Indirizzi Multicast IP • Indirizzi di classe D: • Permanenti, dedicati al mantenimento delle infrastrutture Internet, come l’instradamento multicast • Transitorio, eliminati quando i gruppi corrispondenti non contengono host • Da 224.0.0.0 a 239.255.255.255 • 224.0.0.0 riservato e mai usato – 224.0.0.1 è ‘‘all systems’’, router e host su una rete – 224.0.0.3 è ‘‘all routers’’, router su una rete – Indirizzi fino a 224.0.0.255 usati per protocolli di Multicast Routing IP Multicast

  8. Indirizzi multicast riservati IP Multicast

  9. Indirizzi multicast riservati (cont.) IP Multicast

  10. Traduzione di Multicast IP in Multicast Ethernet • Disponi i 23 bit meno significativi dell’indirizzo IP multicast nei 23 bit meno significativi dell’indirizzo multicast Ethernet: 01.00.5E.00.00.0016 • Example: L’indirizzo IP multicast 224.0.0.2 diventa l’indirizzo Ethernet multicast address: 01.00.5E.00.00.0216 • Non vi è corrispondenza univoca in quanto i gruppi multicast sono contraddistinti da 28 bit • Un host può quindi ricevere datagram multicast a lui non indirizzati • Probabilità di interferenza bassa • Utile avere l’indirizzo IP all’interno dell’indirizzo Ethernet IP Multicast

  11. Trasmissione dei datagram Multicast • Gli host non installano alcun software per il multicast routing • Gli host usano l’hardware multicast per trasmettere multicast datagrams • Se un multicast router è presente sulla rete • Il router multicast riceve il datagram • Il router multicast usa l’indirizzo di destinazione per determinare l’instradamento • I router ascoltano tutte le trasmissioni multicast IP ed instradano il traffico multicast che ricevono IP Multicast

  12. Intervallo di multicast • Un gruppo può essere limitato ad una • Rete fisica • Organizzazione • Intervallo di propagazione di un indirizzo multicast è l’insieme di reti a cui è diretto • TTL controlla l’ambito un datagram multicast: • TTL=1 per multicast di controllo intra-rete • TTL=0 per multicast tra processi sullo stesso host • Controllo amministrativo: utilizzo di indirizzi riservati per ambito locale IP Multicast

  13. Participazione ai gruppi multicast • Un host può partecipare in tre modalità diverse ad un gruppo multicast: 0. Né inviare né ricevere • Inviare ma non ricevere • Inviare e ricevere • Programma applicativo deve specificare l’indirizzo multicast come indirizzo di destinazione • Software di interfaccia di rete deve tradurre l’indirizzo IP in indirizzo multicast hardware corrispondente, oppure inviare in trasmissione broadcast IP Multicast

  14. Ricezione datagram multicast • API per consentire a programmi applicativi di dichiarare che desiderano unirsi ad un gruppo di multicast o lasciarlo • Più programmi su un host si possono unire ad un gruppo • Difficoltà: Gli host si uniscono a gruppi multicast IP su specifiche reti • Mantenere informazioni sull’adesione ai gruppi di multicast per le diverse reti a cui è collegato IP Multicast

  15. IGMP (Internet Group Management Protocol) • I router devono propagare l’informazione sulla partecipazione degli host ai gruppi multicast • Occorre prima determinare quali host della rete locale aderiscono al gruppo • IGMP permette la comunicazione tra host e router multicast • Host che si unisce al gruppo invia messaggio IGMP all’indirizzo multicast dello stesso per dichiarare la propria appartenenza Router locali ricevono il messaggio e lo propagano ad altri router multicast attraverso l’inter-rete 2. Il router multicast locale verifica periodicamente l’appartenenza di host locali al gruppo. Se nessun host locale vi appartiene interrompe il loro annuncio agli altri router multicast IP Multicast

  16. Implementazione di IGMP • Limitare il traffico di controllo IGMP • La comunicazione tra router e host multicast usa il multicast hardware. Permette di escludere gli host non interessati a multicast. Uso di indirizzo “all routers” e “all host” • Un singolo messaggio interroga gli host sull’appartenenza degli host a tutti i gruppi piuttosto che ogni gruppo singolarmente • Default polling rate is every 125 seconds • Se più router multicast sono attivi sulla stessa rete, uno è selezionato per interrogare gli host • Gli host attendono un tempi scelto casialmente in un certo intervallo per eveitare risposte simultanee. • Gli host ascoltano le altre risposte ed eliminano risposte non necessaria. Un host appartenente al gruppo è sufficiente per includere la rete nel gruppo multicast IP Multicast

  17. Transizione di stato di IGMP • Tabella memorizza l’informazione di appartenenza ai gruppi • Host appartiene ad un gruppo multicast se almeno un programma applicativo appartiene al gruppo • Attività IGMP per un singolo gruppo: IP Multicast

  18. Messaggi IGMP • Messaggi di 8 byte • Tipo del messaggio: IP Multicast

  19. Instradamento Multicast • Propagazione informazione di appartenenza ai gruppi • Inoltro datagram multicast su reti diverse • Nessuno standard definito IP Multicast

  20. Instradamento Multicast • Difficoltà: Modifiche nella struttura dei gruppi impogono modifiche nell’instradamento L’instradamento dipende dalla posizione del mittente e non solo dall’indirizzo multicast di destinazione L’invio è anche permesso a host che non appartengono al gruppo L’inoltro può attraversare reti che non hanno alcun host appartenente al gruppo • Sono necessarie informazioni aggiuntive rispetto all’indirizzo di destinazione IP Multicast

  21. Paradigmi per l’instradamento Multicast Due approcci di base • Flood-and-prune – Invia una copia del datagram a tutte le reti – Interrompi l’inoltro quando è assodato che nessun partecipante si trova oltre un certo punto 2. Multicast trees – Router interagiscono per formare un “albero” che raggiunge tutte le reti del gruppo – Copia del datagram attraversa tutti i rami dell’albero IP Multicast

  22. Reverse Path Forwarding • Router ha disponibile un instradamento ottimale unicast • Se il datagram è arrivato dall’interfaccia sul cammino ottimo verso l’indirizzo sorgente -- allora inoltra su tutte le altre interfacce -- altrimenti scarta la copia • Garantisce l’inoltro di almeno una copia ad ogni host del gruppo • Trasmette copie anche a membri non del gruppo IP Multicast

  23. Truncated Reverse Path Forwarding • Non inoltra ai percorsi che non raggiungono membri del gruppo di multicast • Occorre una tabella che indichi l’insieme dei gruppi di multicast raggiungibili da ogni interfaccia di rete • Se RPF ammette l’inoltro della copia del datagram, un ulteriore controllo è eseguito per ogni interfaccia IP Multicast

  24. TRPF – ricezione multipla • Host A invia un datagram • Host B riceve copia sia da R3 che da R4 IP Multicast

  25. Alberi di Multicast • Rappresentare in un albero tutti i percorsi che portano da una sorgente a tutti i membri di un gruppo di multicast • Il router multicast sorgente è la radice dell’albero • I router multicast corrispondono ai nodi • Una rete che connette due router corrisponde ad un lato dell’albero • Ultimo router su ciascuno dei percorsi dalla radice è detto router foglia. • Reti raggiungibili da un solo router sono dette reti foglia • A sorgenti diverse corrispondono diversi alberi di inoltro IP Multicast

  26. Instradamento Multicast • Ciascuna voce della tabella di Multicast è identificata da una coppia (gruppo multicast, sorgente) • Sorgenti discriminate sulla base della rete di appartenenza piuttosto che sulla base dell’host • Le tabelle possono avere dimensione pari a (# reti x # gruppi multicast) maggiore della dimensione dell’instradamento tradizionale IP Multicast

  27. Instradamento Multicast • L’instradamento multicast richiede la propagazione attraverso l’inter-rete delle informazioni di appartenenza ai gruppi • Le tabelle di instradamento devono essere modificate quando nuovi host abbandonano o si uniscono gruppi di multicast • Se l’informazione si propaga con ritardo le decisioni possono essere non ottimali • Se gli aggiornamenti vengono propagati continuamente, si può generare un traffico eccessivo di controllo • Occorre un compromesso tra le due esigenze IP Multicast

  28. Esempi di protocolli di instradamento Multicast • Reverse Path Multicasting (RPM) • Distance-Vector Multicast Routing Protocol (DVMRP) • Core-Based Trees (CBT) • Protocol Independent Multicast - Dense Mode (PIM-DM) • Protocol Independent Multicast - Sparse Mode (PIM-SM) IP Multicast

  29. Rverse Path Multicasting • Basato su Reverse Path Forwarding • Invia copia del datagram su tutte le reti dell’inter-rete • Contemporaneamente raccoglie informazioni dal basso verso l’alto sui percorsi che non portano a membri del gruppo • Modello guidato dai dati: • le informazioni sull’appartenenza di host sulla rete al gruppo viene inviata ad un router solo quando si ricevono dati da quel router IP Multicast

  30. Rverse Path Multicasting • Host comunicano appartenenza al gruppo al router multicast locale attraverso IGMP • Inizialmente il datagram viene inviato a tutti i router multicast dell’inter-rete • I router connessi alle reti foglia inoltrano il datagram se vi sono host del gruppo • I router connessi alle reti foglia che non ricevono alcun messaggio di appartenenza inviano un messaggio di sganciamento al router verso la radice • Un router diffonde l’informazione finchè non ottiene informazioni sufficienti a potare il percorso • Se un host si unisce successivamente, un messaggio di aggancio viene inviato sul cammino verso la radice IP Multicast

  31. Distance-Vector Multicast Routing Protocol (DVMRP) • Estensione multicast di Distance Vector • Implementa una strategia guidata dai dati • Router scambiano le informazioni su appartenenza ai gruppi e instradamento • Per ogni coppia (gruppo, sorgente) i router creano un albero di inoltro • I router inviano una copia dei datagram ai collegamenti che corrispondono all’albero di inoltro • Definisce una forma estesa di IGMP che consente ai router di aderire ai gruppi di multicast ed interrogare altri router • Messaggi IGMP trasportano informazioni di instradamento e metriche dei costi IP Multicast

  32. Implementazione di DVMRP – Mrouted (Unix) • Propagazione dell’Instradamento: Ad ogni entry (sorgente, gruppo) della tabella corrisponde un insieme di interfacce su cui inviare il datagram. Cooperazione con il software standard di instradamento • File di configurazione specifica quali gruppi è consentito annunciare su ogni interfaccia • Per ogni instradamento: • Misura: permette di assegnare un costo al percorso • Soglia: datagrams con TTL inferiore scartati IP Multicast

  33. Incapsulamento • Tunneling: non tutti i router sono abilitati all’instradamento multicast. Invio attraverso router intermedi che non partecipano all’instradamento multicast • Permette di simulare una topologia virtuale ad albero IP Multicast

  34. Incapsulamento - IP dentro IP • Multicast routers stabiliscono accordo sull’inoltro di datagram • Mrouted incapsula datagram multicast in un datagram tradizionale diretto al router multicast attraverso il tunnel • Estrae il datagram multicast quando riceve un datagram da un multicast router • TTL multicast viene decrementato per ogni salto logico IP Multicast

  35. Internet Multicast Backbone • I tunnel multicast formano il backbone multicast • I datagram multicast vengono propagati agli altri router multicast del MBONE • Router multicast connesse da reti punto-punto virtuali o fisiche • I tunnel sono considerati come singoli collegamenti nell’instradamento multicast • Ad ogni tunnel è asociato un costo di collegamento • DVMRP calcola l’instradamento unicast includendo i tunnel IP Multicast

  36. Scalabilità di DVMRP • Ogni gruppo deve memorizzare le informazioni riguardanti le coppie (sorgente, gruppo) e le informazioni per l’aggancio • Il protocollo diffonde inizialmente il traffico su tutte le reti finchè le informazioni di appartenenza non sono propagate • DV implica una propagazione lenta delle informazioni • DVMRP non può gestire reti con un grande numero di router • Proposte alternative: • CBT - Core Bsed Trees • PIM – Protocol Indipendent Multicast • MOSPF IP Multicast

  37. Core Based Trees • Orientato alle richieste - non utilizza la trasmissione multicast • Consentono di condividere lo stesso albero di inoltro per più sorgenti quando possibile • CBT non inoltra su un percorso finchè non ha ricevuto informazioni positive • Il router propaga le informazioni sull’adesione ricevute tramite IGMP da host locali • Le informazioni vengono propagate tramite l’albero di inoltro multicast • A chi inviare le informazioni? • Come costruire l’albero di Multicast? IP Multicast

  38. Alberi CBT • Inter-rete divisa in regioni • Un router del nucleo scelto in ogni regione • Gli altri router della regione devono conoscere il nucleo della regione • Un albero di Multicast condiviso è usato in ogni regione • Quando un host si unisce ad un gruppo, una richiesta di joining CBT viene trasmessa in unicast al router del nucleo • Quando un router R dell’albero condiviso viene raggiunto dalla richiesta di joining, questo restuisce una conferma di ricezione, passa la richiesta al nodo padre, ed inizia ad inoltrare il traffico del gruppo • Il messaggio di conferma permette ai router intermedi di configurare le tabelle di instradamento • Messaggi di ECHO CBT permettono di verificare se una connessione tra due router è guasta e di riconnettere l’albero IP Multicast

  39. Protocol Indipendent Multcast - PIM • Versione Densa, PIM - DM: Ambiente LAN in cui quasi tutte le reti sono parte del gruppo di Multicast • Versione Sparsa, PIM - SM: Host di un numero piccolo di reti sono parte del gruppo di Multicast IP Multicast

  40. PIM - DM • Strategia guidata dai dati simile a DVMRP • Usa inizialmente RPF per diffondere i dati ed interrompe l’invio solo quando riceve richieste di sganciamento • Non calcola i percorsi più brevi usando un protocollo unicast tradizionale • Il router esegue un loro protocollo di instradamento per calcolare i percorsi IP Multicast

  41. PIM - SM • Simile nello spirito a CBT. • Guidato dalle richieste • Identifica un nodo RP (Rendez-vous Point) • Richieste di join inviate a RP • Nodi dell’albero sul cammino rispondono così estendendo l’albero di inoltro per il gruppo • PIM – SM permette di riconfigurare l’albero in modo dinamico usando più punti RP • Quando un punto RP si guasta, l’albero si riconfigura automaticamente intorno ad un altro RP IP Multicast

  42. Ottimizzazione PIM - SM • Le trasmissioni da qualsiasi sorgente a qualsiasi destinazione passano attraverso il RP • Permette di muoversi dinamicamente su un Shortest Path Tree dalla sorgente se il traffico supera una specifica soglia • Occorre che i router cooperino nella costruzione di un albero ottimo. • I router possono far parte di alberi diversi di multicast, e quindi devono distinguere tra le due tipologie di traffico IP Multicast

  43. Multicast - OSPF • Protocolli visti finora utilizzano le informazioni dedotta dall’instradamento unicast tradizionale • MOSPF usa la conoscenza della topologia per calcolare l’albero di inoltro per ciacuna sorgente • Schema guidato dalle richieste (meno traffico ma occorre gestire la partecipazione ai gruppi) • Le informazioni relative ai gruppi sono inviate a tutti i router. Gli alberi di multicast sono così calcolati per ogni sorgente • Occorre mantenere la coerenza delle informazioni OSPF • Multicast Area Broder Router (MABR) diffondono le informazioni sui gruppi all’esterno della regione • Ogni area definisce un destinatario multicast standard che riceve il traffico multicast per l’area • MABR comunicano solo ai router della dorsale IP Multicast

  44. Multicast affidabile • Trasmissione affidabile ed ordinata in ambito multicast • Occorre gestire la proliferazione degli ACK da parte di tutti i receiver • Vengono definiti dei punti di conferma della ricezione lungo l’albero di multicast • Mantengono uno copia cache del datagram • Collezionano le conferme di ricezioni dagli host e dai router nella parte sottostante dell’albero • Inviano la copia cache se richiesta una ritrasmissione • Tutti i datagram devono avere un ordinamento sequenziale IP Multicast

  45. Gestione degli ACK • Gli host inviano NACK piuttosto che ACK • Il primo punto di conferma attraversato dal NACK ritrasmette il pacchetto • Se mancassero i punti di conferma, anche uno schema basato su NACK e’ destinato ad invadere la rete di richieste di ritrasmissione • Punti di conferma definiti manualmente • Il multicast affidabile si adatta meglio a gruppi che rimangono stabili nel tempo • In alternativa si può utilizzare ridondanza o codici a correzione di errore IP Multicast

More Related