1 / 51

PROTOCOLLI MULTICAST

PROTOCOLLI MULTICAST. Dario Maggiorini dario@dsi.unimi.it. MULTICAST. Nuovo modello di comunicazione Trasmissione di dati punto-multipunto Definisce gruppi dinamici. Nuove tipologie di comunicazione. Diffusione dati “ pubblici ” Video broadcasting Radio su Internet Teleconferenza.

kerri
Download Presentation

PROTOCOLLI 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. PROTOCOLLIMULTICAST Dario Maggiorini dario@dsi.unimi.it

  2. MULTICAST • Nuovo modello di comunicazione • Trasmissione di dati punto-multipunto • Definisce gruppi dinamici

  3. Nuove tipologie di comunicazione • Diffusione dati “pubblici” • Video broadcasting • Radio su Internet • Teleconferenza

  4. Comunicazione punto-multipunto Molti … ma non tutti

  5. Gruppi dinamici • Si introduce la nozione di “gruppo multicast” • E’ possibile aggiungersi o togliersi in qualunque momento dal gruppo • Questa dinamicita’ permette di continuare ad operare anche con interruzioni del servizio di rete

  6. Cosa deve fare un protocollo multicast • Costruire un albero di distribuzione dei dati (routing) • Garantire l’arrivo delle informazioni a destinazione • Gestire i gruppi

  7. network 3 IP multicast data link 2 LAN multicast physical link 1 link layer multicast Livelli ISO-OSIper il multicast

  8. Tecnologie di rete e multicast nativo • Alcune tecnologie supportano multicast in maniera nativa • Ethernet • Altre invece non lo supportano affatto • Token ring • FDDI • Altre ancora hanno bisogno di supporti esterni • ATM

  9. Diventa compito del livello di routing multicast mascherare queste situazioni in maniera trasparente ethernet token ring ATM Multicast Server

  10. Multicast routing • Vuol dire costruire l’albero piu’ “conveniente” per la distribuzione dei dati nella rete data la sorgente e i destinatari da raggiungere • Esistono algoritmi specializzati • Shortest path • Minimum cost • Constrained tree

  11. Multicast routing • Shortest path tree • Distant vector • Link state • Minimum cost tree • Minimum spanning tree • Minimum steiner tree • Constrained tree

  12. Multicast routingAltre cose di cui tenere conto • La topologia di rete • La distribuzione geografica degli utenti (tutti) • La densita’ degli utenti sul “territorio”

  13. La tecnologia di rete e la distribuzione degli utenti influenzano pesantemente le strategie utilizzate per la sua costruzione ?

  14. Disposizione degli utenti e tecniche di distribuzione dei datiIndividuiamo due tecniche • Data replication su un punto di distribuzione “replico” i dati e mando un pacchetto separato ad ogni destinatario • Flooding mando pacchetti broadcast per servire tutti gli utenti in “un colpo solo”

  15. IP multicast • Si definisce una classe di indirizzi virtuali detta “classe D” • Ad ogni indirizzo in classe D corrisponde un multicast group • E’ compito di chi riceve richiedere l’iscrizione ad un gruppo • Il managing dei gruppi e degli alberi viene fatto con un protocollo esterno: IGMP

  16. 1110 1110 0000 1110 1111 0000 0000 1111 1111 0000 0000 1111 1111 0000 0000 1111 1111 1110 Indirizzi in classe D Contengono il valore 1110 in corrispondenza dei 4 bit piu’ significativi

  17. Distribuzione locale di IP multicast • Ci si appogga su frame Ethernet • E’ possibile utilizzare questi ultimi sia in modalita’ broadcast the multicast

  18. 01:00:5e:00:00:00 01:00:5e:07:ff:ff 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

  19. 1110 xxxx x yyy yyyy yyy yyyy yyyy yyyy yyyy yyyy yyyy yyyy yyyy yyyy 0 0000 0001 0000 0000 0101 1110 IP multicast e Ethernet multicast Si e’ scelto allora di mappare solo un sottoinsieme di indirizzi IP MAC E’ compito del modulo software che gestisce IP filtrare pacchetti destinati alle sottoreti “duplicate”

  20. IP multicastdistribuzione su piu’ sottoreti • L’albero di distribuzione viene creato attraverso un algoritmo chiamato reverse path forwarding (RPF) • La distribuzione su ogni singola sottorete viene fatta secondo criteri locali. • Nel caso di Ethernet multicast sono i vari router che si occupano di riassegnare gli accoppiamenti di indirizzi MAC-IP

  21. Reverse path forwarding Si punta a costruire un albero dove la distanza in termini di hop tra sorgente e destinazione sia minima Per fare questo si ricorre al flooding e lo si limita applicando la seguente regola su ogni router 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

  22. Reverse path forwarding • Utilizza le informazioni di routing unicast gia’ note • Costruisce un nuovo albero ad ogni pacchetto (si adatta alle interruzioni di rete) • Non tiene in considerazione i gruppi, questo lo rende piu’ un algoritmo per la costruzione di un “broadcast tree”

  23. IGMPInternet Group Management Protocol • E’ un protocollo di contrattazione usato tra un host ed il suo router • Un host informa il router di voler far parte di un certo multicast group • Il router memorizza solo informazioni locali alla sua sottorete • In tale modo il router diventa responsabile del gruppo all’interno della sottorete

  24. IGMP • Il router manda periodicamente dei broadcast sulla rete IGMP Host-membership Query • Se ci sono host iscritti ad un qualsiasi gruppo questi aspettano un tempo casuale e poi mandano un messaggio IGMP Host-membership Report al loro gruppo

  25. IGMP • Questo ha due finalita’: • Il router (che e’ iscritto a tutti i gruppi) sa che ci sono degli iscritti a un certo gruppo • Gli altri host appartenenti allo stesso gruppo resettano i loro timer riducendo il carico di rete

  26. Truncated broadcasting Utilizza le informazioni di raccolte da IGMP e migliora le prestazioni di RPF introducendo la nozione di gruppo nel flooding controllato Un pacchetto viene trasmesso su di una sottorete se e solo se vi sono host appartenenti a quel gruppo

  27. Algoritmi di routing a livello di rete • Distance vector Multicast Routing Protocol (DVMRP) • Hierarchical DVMRP (H-DVMRP) • Multicast Open Shortest Path First (MOSPF) • Protocol Independent Multicast (PIM) • Hierarchical PIM (H-PIM) • Core-Based Tree (CBT) • Ordered CBT (OCBT) • Border Gateway Multicast Protocol (BGMP) • Multicast Backbone of the Internet (MBONE)

  28. DVMRPDistance Vector Multicast Routing Protocol • Si basa sul concetto di “distance vector” come il RIP (Routing Information Protocol) • Implementa truncated broadcasting utilizzando un meccanismo detto pruning

  29. DVMRP Siccome ogni router ha informazioni sulle appartenenze ai vari gruppi e’ in grado di determinare se un pacchetto in arrivo e’ utile o meno alla sua sottorete Se non ci sono iscrizioni al gruppo indicato viene mandato un messaggio prune ai router limitrofi Tale messaggio non viene mandato sull’interfaccia corrispondente al percorso verso la sorgente, a meno che lo stesso messaggio non venga ricevuto su tutte le altre interfacce

  30. PIMProtocol Independent Multicast • E’ in grado di funzionare utilizzando un qualunque protocollo di routing unicast come supporto • Puo’ essere utilizzato per routing sia inter-domain che extra-domain • Se usato come extra-domain allora riesce ad interoperare con qualsiasi altro protocollo usato inter-domain

  31. PIM • Distingue tra nodi a sola ricezione e nodi a solo invio • Prevede due modalita’ di funzionamento: • Sparse Mode (PIM-SM) • Dense Mode (PIM-DM)

  32. PIM: DM e SM • DM: progettato ed ottimizzato per reti densamente popolate da utenti di un certo gruppo, viene fatto uso di flooding • SM: progettato per reti scarsamente popolate, si utilizza data-replication • La modalita’ di funzionamento e’ impostata al setup della rete, non esistono ancora metodi per passare dinamicamente da una all’altra

  33. PIM – elementi costitutivi • Randezvous point (RP) • E’ il punto di ingresso all’albero di distribuzione, sia per iscriversi a un gruppo che per inviare dati • E’ relativo a uno specifico gruppo multicast • Esiste solo in SM • Ridistribuisce i dati tramite un albero monodirezionale • Designed router (DR) • E’ il router direttamente connesso con l’host che invia dati • Generalmente, e’ comune a tutta la sottorete

  34. PIM – elementi costitutivi • Last Hop Router (LHR) • Il router direttamente connesso con l’host che riceve i dati • Si occupa della distribuzione multicast sulla sottorete di destinazione • In generale per le LAN DR coincide con LHR, ma questo non e’ necessariamente sempre vero • Boot Strap Router (BSR) • Il router rsponsabile della creazione dei DR e dei RP

  35. PIM – elementi costitutivi BSR r0 multicast s1 DR1 LHR1 r1 s2 DR2 RP LHR2 r2 s3 DR3 r3 LHR3 s4 DR4 r4 r6 r5 s5 unicast

  36. PIM - creazione dell’alberoLatoricevente • Un host notifica al suo DR che intende partecipare a un certo gruppo • Il DR rintraccia il RP opportuno per quel gruppo • Il DR manda un messaggio di Join al RP • Il percorso effettuato dal messaggio di join nei router intermedi determina il ramo dell’albero di distribuzione dal RP alla sottorete (LHR) di cui fa parte l’host che si e’ iscritto

  37. PIM - creazione dell’alberolatosorgente • Un host notifica al suo DR che intende partecipare a un certo gruppo • Il DR rintraccia il RP opportuno per quel gruppo • Il DR forwarda il messaggio di Register dell’host al RP • Il RP riceve il messaggio e valuta se esiste gia’ un albero di distribuzione per il gruppo a cui fa riferimento l’host che vuole trasmettere

  38. PIM - creazione dell’alberolatosorgente • Se tale albero non esiste • viene creato un albero avente come radice il RP e come foglie tutti gli host in ascolto • Viene forwardato su tutto l’albero il pacchetto di Request • I router per cui il pacchetto transita creano all’interno delle loro tabelle delle entry di collegamento diretto tra LHR del ricevente e DR della sorgente • Alla creazione di tale entry i riceventi mandano un messaggio di Join verso la sorgente • Il risultato di questo e’ la “trasformazione” dell’albero avente radice il RP con un albero a cammino minimo tra il DR e gli LHR

  39. PIM - gestione dell’albero • L’albero di distribuzione di un certo gruppo deve rimanere stabile anche in caso di: • Cambiamenti della topologia di rete • Cambiamenti di stato di un host improvvisi (crash e reboot) • Cambiamenti di stato di un router • Timeout

  40. PIM - gestione dell’albero Per garanire questo PIM basa il suo funzionamento su stati software sui router Periodicamente vengono inviati messaggi di Join e Prune per evitare timeout sulle tabelle Allo scadere di un timeout un ramo dell’albero che non si e’ mai “fatto sentire” viene eliminato dalle tabelle di distribuzione

  41. PIM – distribuzione dei dati • Quando un pacchetto contenente informazioni arriva ad un router (DR) questo cerca nell’ordine una delle seguenti corrispondenze all’interno delle sue tabelle: • Una entry con riferimento alla sorgente e al gruppo • Una entry con riferimento al gruppo e una qualsiasi sorgente • Una entry con riferimento ad un RP corrispondente all’indirizzo di destinazione e qualsiasi sorgente e gruppo • In caso di esito negativo il pacchetto viene scartato

  42. PIM – distribuzione dei dati • In caso di esito positivo • Viene presa in considerazione la entry trovata • Se l’interfaccia dalla quale ci si aspettava i dati corrisponde con quella da cui effettivamente il pacchetto e’ arrivato questo viene instradato sull’interfaccia di uscita in tabella • In caso contrario viene scartato NOTA: le cose si complicano parecchio se un pacchetto viene instradato mentre si compie la transizione di stato dell’albero

  43. PIM – reti ad accesso multiplouna serie di accorgimenti deve essere presa se esistono piu’ accessi concorrenti alla rete • Elezione esplicita del DR responsabile per una sottorete • Un sistema per la determinazione di cammini unici quando piu’ di un percorso e’ disponibile • Soppressione di messaggi Join e Prune nel caso vi siano messaggi di controllo duplicati

  44. HPIMHierarchical PIM • Viene utilizzato per sopperire a problemi di cui PIM e’ affetto in caso distribuzione non ottimale dei RP • Nel caso di utenti molto sparsi il PIM potrebbe scegliere RP non ottimali • I dati seguono lo stesso percorso dei pacchetti di controllo, nel caso di percorsi non ottimali tra RP questo peggiora le performances anche nel trasferimento dei dati

  45. HPIM I RP vengono organizzati in una gerarchia attribuendo ad ognuno un numero (livello). Piu’ alto il livello e piu’ grande e’ l’area competente ad un RP I DR sono considerati essere RP di livello 0

  46. HPIM Nel momento in cui un host chiede di far parte di un certo gruppo vi richiesta di Join viene fatta risalire fino al RP di livello massimo, dopo di che si instaura tra i RP intermedi un sistema come quello tra DR e LHR per la creazione di percorso ottimale dei dati

  47. MBoneMulticast Backbone of the Internet E’ una rete vituale che affronta il problema di fare multicast su Internet in un momento in cui non tutti i router installati sono in grado di supportare multicast

  48. MBone Vengono costruite delle “isole” periferiche dove multicast viene supportato con un qualsiasi protocollo noto La comunicazione tra le varie isole avviene attraverso dei collegamenti (tunnel) nei quali viene fatto circolare multicast IP incapsulato in IP classico L’accoppiamento piu’ utilizzato e’ multicast IP o DVMRP per isole piccole e PIM-SM per isole medio-grandi

  49. MBone MRouter isole multicast Internet unicast tunnel ? backup tunnel

  50. Mbone - MRouter • E’ il punto terminale di un tunnel • Si occupa di decapsulare il protocollo multicast da IP unicast e distribuirlo sulla rete locale • Puo’ essere realizzato in due modi • Un host su cui gira un software chiamato mrouted • Un apparecchiatura di rete in grado di gestire tunnel di Mbone tramite software interno

More Related