View
232
Download
0
Category
Preview:
Citation preview
IP Multicast -1
IP Multicast
Reti IIStefano 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é ricevere1. Inviare ma non ricevere2. 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
1. Host che si unisce al gruppo invia messaggio IGMP all’indirizzo multicast dello stesso per dichiarare la propria appartenenzaRouter 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
1. 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
Recommended