IP Multicast
Reti II
Stefano Leonardi
IP Multicast -1
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 -2
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
-3
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 -4
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 -5
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 -6
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 -7
Indirizzi multicast riservati
IP Multicast -8
Indirizzi multicast riservati (cont.)
IP Multicast -9
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 -10
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 -11
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 -12
Participazione ai gruppi multicast

Un host può partecipare in tre modalità diverse ad
un gruppo multicast:
0. Né inviare né ricevere
1. Inviare ma non ricevere
2. 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 -13
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 -14
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
1.
IP Multicast -15
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 -16
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 -17
Messaggi IGMP
 Messaggi di 8 byte
 Tipo del messaggio:
IP Multicast -18
Instradamento Multicast
 Propagazione informazione di appartenenza
ai gruppi
 Inoltro datagram multicast su reti diverse
 Nessuno standard definito
IP Multicast -19
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 -20
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 -21
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 -22
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 -23
TRPF – ricezione multipla
 Host A invia un datagram
 Host B riceve copia sia da R3 che da R4
IP Multicast -24
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 -25
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 -26
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 -27
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 -28
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 -29
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 -30
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 -31
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 -32
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 -33
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 -34
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 -35
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 -36
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 -37
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 -38
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 -39
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 -40
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 -41
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 -42
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 -43
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 -44
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 -45
Scarica

Slides