La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Dario Maggiorini dario@dsi.unimi.it PROTOCOLLI MULTICAST Dario Maggiorini dario@dsi.unimi.it.

Presentazioni simili


Presentazione sul tema: "Dario Maggiorini dario@dsi.unimi.it PROTOCOLLI MULTICAST Dario Maggiorini dario@dsi.unimi.it."— Transcript della presentazione:

1 Dario Maggiorini dario@dsi.unimi.it
PROTOCOLLI MULTICAST Dario Maggiorini

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 Livelli ISO-OSI per il multicast
network 3 IP multicast data link 2 LAN multicast physical link 1 link layer 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 Algoritmi in dettaglio

13 Multicast routing Altre cose di cui tenere conto
La topologia di rete La distribuzione geografica degli utenti (tutti) La densita’ degli utenti sul “territorio”

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

15 Disposizione degli utenti e tecniche di distribuzione dei dati Individuiamo 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”

16 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

17 Indirizzi in classe D Contengono il valore 1110 in corrispondenza dei 4 bit piu’ significativi 1110

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

19 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:07:ff:ff

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

21 IP multicast distribuzione 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

22 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

23 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”

24 IGMP Internet 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

25 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

26 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

27 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

28 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)

29 DVMRP Distance 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

30 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

31 H-DVMRP Hierarchical DVMRP

32 MOSPF Multicast Open Shortest Path First

33 PIM Protocol 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

34 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)

35 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

36 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

37 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

38 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

39 PIM - creazione dell’albero Lato ricevente
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

40 PIM - creazione dell’albero lato sorgente
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

41 PIM - creazione dell’albero lato sorgente
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

42 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

43 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

44 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

45 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 C’e’ da scrivere almeno una slide sul routing durante la transizione

46 PIM – reti ad accesso multiplo una 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 C’e’ da scrivere almeno una slide sul routing durante la transizione

47 HPIM Hierarchical 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

48 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

49 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

50 CBT Core-Based tree

51 OCBT Ordered Core-Based tree

52 BGMP Border Gateway Multicast Protocol

53 MBone Multicast 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

54 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

55 MBone MRouter isole multicast Internet unicast tunnel ? backup tunnel

56 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

57 Mbone - topologia Si compone di un misto di topologie stellari e ad albero Le reti cosiddette “regionali” sono collegate da una ragnatela fitta e caotica di tunnel Internamente una rete regionale e’ normalmente organizzata ad albero All’interno delle reti regionali vi sono delle isole piu’ piccole delle singole organizzazioni, tipicamente organizzate con topologia stellare


Scaricare ppt "Dario Maggiorini dario@dsi.unimi.it PROTOCOLLI MULTICAST Dario Maggiorini dario@dsi.unimi.it."

Presentazioni simili


Annunci Google