IP Multicast IP Multicast Reti II Stefano Leonardi.

45
IP Multicast -1 IP Multicast Reti II Stefano Leonardi

Transcript of IP Multicast IP Multicast Reti II Stefano Leonardi.

Page 1: IP Multicast IP Multicast Reti II Stefano Leonardi.

IP Multicast -1

IP Multicast

Reti IIStefano Leonardi

Page 2: IP Multicast 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

Page 3: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 4: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 5: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 6: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 7: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 8: IP Multicast IP Multicast Reti II Stefano Leonardi.

IP Multicast -8

Indirizzi multicast riservati

Page 9: IP Multicast IP Multicast Reti II Stefano Leonardi.

IP Multicast -9

Indirizzi multicast riservati (cont.)

Page 10: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 11: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 12: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 13: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 14: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 15: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 16: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 17: IP Multicast IP Multicast Reti II Stefano Leonardi.

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:

Page 18: IP Multicast IP Multicast Reti II Stefano Leonardi.

IP Multicast -18

Messaggi IGMP

Messaggi di 8 byte

Tipo del messaggio:

Page 19: IP Multicast IP Multicast Reti II Stefano Leonardi.

IP Multicast -19

Instradamento Multicast

Propagazione informazione di appartenenza ai gruppi

Inoltro datagram multicast su reti diverse

Nessuno standard definito

Page 20: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 21: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 22: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 23: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 24: IP Multicast IP Multicast Reti II Stefano Leonardi.

IP Multicast -24

TRPF – ricezione multipla

Host A invia un datagram Host B riceve copia sia da R3 che da R4

Page 25: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 26: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 27: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 28: IP Multicast IP Multicast Reti II Stefano Leonardi.

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)

Page 29: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 30: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 31: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 32: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 33: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 34: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 35: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 36: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 37: IP Multicast IP Multicast Reti II Stefano Leonardi.

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?

Page 38: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 39: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 40: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 41: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 42: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 43: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 44: IP Multicast IP Multicast Reti II Stefano Leonardi.

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

Page 45: IP Multicast IP Multicast Reti II Stefano Leonardi.

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