Multicast IP
Prof. Alfio Lombardo
Broadcasting
•Permette di inviare una copia di un
pacchetto a tutte le destinazioni
Hardware broadcast: meccanismi per il broadcasting
all’interno di una sottorete
•Bus technologies realizzano trasmissioni broadcast con un
unico messaggio (es. Ethernet)
•Switched technologies realizzano trasmissioni broadcast
Rilanciando il messaggio tra gli switches
Gli utenti richiedono la consegna in broadcast indirizzando
il messaggio ad un indirizzo di destinazione riservato
(indirizzo broadcast)
Multicasting
•Permette di inviare traffico contemporaneamente a
più destinatari attraverso una comunicazione
punto-multipunto (multicast).
Hardware multicast: meccanismi per il multicasting
all’interno di una sottorete
•Alcune tecnologie di rete permettono il multicasting
•Gli utenti richiedono la consegna in multicast indirizzando
il messaggio ad uno tra gli indirizzi di destinazione riservati
al multicast (es.: Ethernet multicast addresses 01.00.5e.00.00.00)
•Gli utenti devono poter scegliere se partecipare o no ad un multicast
IP Multicast IP
•Astrazione dell’ hardware multicast su una internet
•Permette di inviare traffico contemporaneamente a più
destinatari distribuiti tra sottoreti differenti
L’ insieme di destinatari costituisce
un gruppo multicast
Indirizzo multicast
• Gli ndirizzi IP di classe D sono dedicati all'identificazione di
indirizzi multicast.
•I gruppi multicast variano da 224.0.0.0 a 239.255.255.255.
Non contengono indicazioni sulla rete!
•La Internet Assigned Numbers Authority (IANA) mantiene
una lista dei gruppi multicast IP registrati.
•Alcuni indirizzi multicast sono riservati (well-known).
• Gli indirizzi multicast non possono essere usati come
indirizzo di sorgente
Indirizzo multicast
224.0.0.0 e' riservato e non
puo' essere assegnato a nessun gruppo
Da 224.0.0.1 a 224.0.0.255:
riservato per l'uso da parte di protocolli di routing
224.0.0.1 permanentemente assegnato al gruppo “all
hostes” che include tutti gli host ed i router che partecipano
all’ IP multicasting sulla stessa rete locale
Non è previsto alcun indirizzo che designi il gruppo di
tutti gli host di Internet
Mappaggio indirizzi
IP multicast – indirizzi Ethernet
Indirizzo IP Multicast
Indirizzo Ethernet broadcast
Indirizzo Ethernet multicast
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:7f:ff:ff
01111111
IP multicast e Ethernet multicast
Si e’ scelto allora di mappare solo un sottoinsieme dell’ indirizzo IP
23 bit
IP
1110 xxxx
x
yyy yyyy
yyyy yyyy
yyyy yyyy
0000 0000
0101 1110
0
yyy yyyy
yyyy yyyy
yyyy yyyy
MAC
0000 0001
E’ compito del modulo software che gestisce IP filtrare
pacchetti destinati alle sottoreti “duplicate”
Multicast IP
•Il servizio multicast è connectionless e non affidabile .
• Poiche’ non sono state definite versioni multicast del protocollo
di trasporto TCP, tutti gli applicativi multicast utilizzano il
protocollo UDP.
•Non possono essere generati messaggi ICMP
Affinche' la rete possa gestire comunicazioni punto-multipunto
le implementazioni di Multicast IP devono:
•
•
assegnare ad ogni gruppo multicast un particolare
indirizzo che lo identifichi in maniera univoca;
predisporre i router affinchè possano supportare un
istradamento multicast.
Gestione degli Indirizzi multicast
•Un indirizzo multicast puo' essere permanentemente o
temporaneamente allocato ad un gruppo
•Un host è libero in qualunque momento di agganciarsi o
lasciare uno o più gruppi multicast
•Non ci sono restrizioni sul numero di membri né
limitazioni sulla posizione degli host.
•In qualunque momento ogni host può inviare datagrammi ad
un gruppo multicast senza "appartenervi".
Gestione degli Indirizzi multicast
Io appartengo
ad A!
A
C’e’ qualcuno??
Io appartengo
ad B!
Io appartengo
ad A!
B
A
Gestione degli Indirizzi multicast
IGMP (rfc 1112)
• L'host deve informare i router multicast (M-router) della sua
appartenenza ad un gruppo;
•I router informati contatteranno altri router multicast passando
le informazioni sull'appartenenza e stabilendo i cammini;
•Il protocollo IGMP è lo strumento tramite il quale l’ M-router
di una rete locale viene tenuto costantemente aggiornato dei
gruppi esistenti sulla stessa;
•Dal momento che i gruppi sono dinamici, l’ M-router interroga
con una frequenza di circa una volta al minuto gli host della
propria rete locale riguardo la loro appartenenza a qualche gruppo.
(IGMP_vers2 usa il messaggio di “Leave” inviato dagli host)
IGMP and IP
IGMP Message
IP Header
IGMP messages
Membership Query Message
Mandato da M-router all’interno di pacchetti IP con
con indirizzo di destinazione
224.0.0.1 (gruppo di tutti gli host della rete locale)
Membership Report Message
l’ host comunica a quali gruppi è associato in quel momento.
L'indirizzo di destinazione del pacchetto IP e’ qualsiasi
indirizzo multicast
( l’ M-router è abilitato a ricevere tutti i datagrammi IP
con indirizzo di classe D). In genere si utilizza l’indirizzo
multicast di appartenenza
IGMP messages
Type:
1 = Host Membership Query
2 = Host Membership Report
Group address:
Nella Query è zero in trasmissione e ignorato in ricezione.
Nel Report contiene l'indirizzo del gruppo a cui si fa riferimento.
IGMP protocol
•Gli host che non appartengono ad alcun gruppo non ricevono
i datagrammi multicast e quindi non generano alcuna risposta
•Quando un host si associa ad un gruppo non ancora presente
sulla rete locale, esso invia immediatamente un Report
IGMP protocol
Per evitare di congestionare una rete locale:
1. Quando un host riceve una Query non risponde immediatamente,
fa partire un report delay timer per ogni gruppo a cui appartiene.
Il timer parte da un valore scelto a caso tra 0 e D secondi .
2. Il messaggio di Report viene mandato con un indirizzo IP
di destinazione uguale a quello del gruppo e con un TTL unitario
3. Se un altro host sente un Report dello stesso gruppo non attiva
il suo messaggio di Report.
Istradamento multicast
Ciscun router coinvolto nell’istradamento multicast deve costruire
un albero dei percorsi minimi per ciascun gruppo
B
A
R5
R1
R3
A
B
C
B
R3,R2,R5
-, R3,R4
R2
R4
R2
B
A
C
A
Istradamento multicast
•Source-based: Conoscenza del percorso ottimo da una sorgente
verso tutti i membri di un gruppo
Pro: semplicità; ritardo minimo nella consegna dei pacchetti.
Contro: Grafo dei cammini (Spanning Tree) per ogni coppia
sorgente-gruppo di destinazione
• Core-based:prevede l’utilizzo di un unico albero per ogni gruppo
multicast, il Core Based Tree (CBT).
Pro: risparmio di memoria, minor traffico aggiuntivo
Contro: percorso non ottimo
Protocolli Istradamento
Source based
MOSPF
Core based
CBT
DVMRP
PIM-DM
PIM-SM
Multicast Link State: MOSPF
• OSPF + Membership LSA
• Membership LSA: nuovo messaggio link
state che associa all’indirizzo IP del router
che fa l’annuncio gli indirizzi di gruppo
da questo annunciati
• Le informazioni sui gruppi presenti a valle
sono fornite al router da IGMP
Multicast Distance Vector
step 1: RPF
L’albero di distribuzione viene creato attraverso
l’algoritmo reverse path forwarding (RPF):
.
Informazioni in flooding limitato:
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
Ricevo da “A”
sull’interfaccia 1
che utilizzo per inviare
pacchetti destinati
ad “A” (tab routing
preesistente),
quindi
invio in flooding
Ricevo da “A”
sull’interfaccia 2
che NON utilizzo
per inviare
pacchetti destinati
ad “A” (tab routing
preesistente),
quindi
NON invio in flooding
Reverse-path forwarding)
2
1
1
1
A
Ricevo da “A”
sull’interfaccia 1
che utilizzo per inviare
pacchetti destinati
ad “A” (tab routing
preesistente),
Nota: ogni link e’ attraversato al max 1
quindi
volta
per direzione
invio
in flooding
Reverse path forwarding
Utilizza le informazioni di routing unicast gia’
note
Non tiene in considerazione i gruppi, questo lo
rende piu’ un algoritmo per la costruzione di un
“broadcast tree”
Multicast Distance Vector– Step 2
Reverse-path multicast protocols (Truncated
broadcasting: Flood and Prone Protocols)
2
1
1
“prune”
1
A
No user
group 225.x.y.z!
(IGMP)
Reverse-path multicast protocols with
Truncated broadcasting (Flood and Prone
Protocols)
Esempio:
Distance Vector Multicast
Routing Protocol (DVMRP):
Basato su RIP
Protocol Independent Multicast
Dense-Mode (PIM-DM):
Si basa su un preesistente unicast
Routing system
Basato su RIP o OSPF
Multicast Distance Vector:
Diffusione dei dati dal router
connesso al “sender” verso
tutti i router della rete.
Tutti i router che non hanno a
valle host appartenenti al gruppo
hanno il compito di inibire la
diffusione dei dati verso di loro
Protocollo per diffondere le
informazioni circa l’esistenza
in una data rete di utenti ad un
Gruppo (IGMP)
Core Based Tree (CBT)
• Si seleziona il router “core” e se ne fornisce IP address a tutti i router
• Ogni router invia al “core” un messaggio di affiliazione
• Ogni router che vede passare un messaggio di affiliazione individua
il router mittente, il gruppo, e l’interfaccia da cui ricevono il messaggio
(Group A)
Core Based Tree (CBT)
Trasferimento dati
MBONE
Scarica

Lezione 6