
Il multicast è un metodo di inoltro del traffico Ip a un gruppo di ricevitori con un singolo flusso. È spesso utilizzato per applicazioni video e sfrutta indirizzi Ip riservati. Alcuni service provider per erogare i canali televisivi attraverso la rete lo utilizzano al posto del poco conveniente unicast.
Come riesce a migliorare l’efficienza? Elimina la ridondanza del traffico riducendo il carico dei server. Vediamo come avviene l’inoltro del traffico multicast definito nell'rfc 4601 (PIM sparse mode), nel caso di un utente che, per esempio, desideri visionare uno streaming video erogato da una sorgente remota.
Per ottenere un ambiente multicast video, all’interno di una rete abbiamo bisogno di questi attori:
- Un rendez-vous point (RP)
- Una o più sorgenti dello streaming video
- Uno o più utenti che ricevono lo streaming
Nell’immagine il PC che vuole ricevere il flusso, manda un pacchetto di segnalazione, nello specifico chiamato IGMP join (il pacchetto blu in figura). Il primo router incontrato da questo tipo di join si chiama first-hop router e ha il compito di inviare verso l’RP un altro tipo di join, chiamata PIM join (pacchetto arancione). Poiché tutti i router della rete hanno configurato l’indirizzo dell’RP, oppure l’hanno imparato dinamicamente, questa join “risale” hop-by-hop nella rete, da un router all'altro, seguendo il percorso migliore, fino a raggiungere il Rendez-vous Point (RP).
I router che sono "attraversati" da questa join tengono traccia del passaggio di questa join e costruiscono a questo punto il ramo dello shared tree, l'albero di distribuzione del multicast condiviso (shared) da più sorgenti che permetterà al gruppo G, quello richiesto dal ricevitore, di avere un percorso dall’RP fino al ricevitore dell’utente che ha richiesto lo streaming. In altre parole, attraverso questi pacchetti denominati join, i ricevitori chiedono lo streaming multicast da qualsivoglia sorgente all’unico elemento che conoscono: il Rendez-vous Point. I router della rete che hanno imparato la strada RP-ricevitore la useranno al prossimo step.
La seconda parte dell’operazione è il processo di registrazione che può essere diviso nella sequenza di eventi che segue.
Quando la sorgente inizia ad erogare il suo flusso (1), il primo router della rete incapsula il multicast nativo della sorgente in pacchetti unicast (2), chiamati register messages, destinati all’RP.
Arrivati all’RP, questi pacchetti unicast:
· vengono decapsulati e trasmessi sullo shared tree con destinazione il ricevitore (3),
· come seconda azione, una volta ricevuti i messaggi di register message, l’RP invia verso la sorgente una join PIM (S,G) per creare un ramo dello shortest-path tree (4).
Quando la join (S,G) raggiunge il router più vicino alla sorgente, questo router inizia a trasmettere sul nuovo albero shortest-path il multicast nativo proveniente dalla sorgente (5), senza smettere di inoltrare i register messages verso l’RP. In questo periodo di tempo l’RP e il ricevitore riceve pacchetti duplicati: sia quelli unicast che, decapsulati, vengono inoltrati alla sorgente, sia quelli multicast anche loro inoltrati alla sorgente.
Appena l’RP riceve questi duplicati, manda un register-stop per fermare i messaggi unicast (6), cosa che avviene appena il router vicino alla sorgente riceve la segnalazione.
Ultimo passaggio è lo switchover del percorso sullo shared tree verso il percorso shortest tree. Il router vicino al ricevitore manda una join (S,G) verso la sorgente (7). Attraversando la rete, si costruisce a ritroso l’ultimo pezzo del percorso sorgente-ricevitore senza necessariamente passare dall’RP permettendo di fruire del flusso multicast attraverso questo percorso, in rosso(8). Ultimo, al fine di fermare il traffico non voluto proveniente dall’RP (9) verso il ricevitore e dalla sorgente verso l’RP (10), si utilizza una speciale join chiamata (S,G) RP-bit Prune message.
Riceverai settimanalmente le notizie più
interessanti sul mondo della tecnologia!