Cos’è un pacchetto Multicast? Come si configura una rete per gestire il Multicast? E come approntare il suo troubleshooting? Cominciamo dal principio con IP Fabric.
Trasmissione di un pacchetto Unicast
Un pacchetto IP destinato a un terminale è detto “Unicast” quando una comunicazione è suddivisa in pacchetti IP e inviata da un unico indirizzo di origine a un solo indirizzo di destinazione, in cui il payload è estratto dalle network headers e riassemblato. Questo processo funziona per la maggior parte delle comunicazioni in cui un endpoint (laptop, tablet, telefono) deve scambiare dati con un altro endpoint. Altrimenti, potrebbe essere necessario lavorare su un file in data store, inviare un’e-mail tramite un server di messaggistica, fare una videochiamata collegata a un conference bridge. In ognuna di queste applicazioni, generalmente, la vostra macchina comunica con un solo endpoint alla volta.
Trasmissione di un pacchetto Broadcast e Multicast
Un’applicazione differente potrebbe richiedere l’invio degli stessi dati da una sola sorgente a destinatari multipli. Ad esempio:
- Trasmissione di messaggi a tutte le macchine della rete;
- Stream video per la TV IP;
- Invio di feed da diverse telecamere per visualizzare e registrare immagini in una o più centrali di controllo;
- Invio dei dati sui voli ai monitor informativi in un aeroporto.
In questo caso, la caratteristica comune è che copie identiche dei dati provenienti da un’unica sorgente vanno inviati a endpoint multipli.
Per inviare tali dati è possibile utilizzare il traffico broadcast, ma ciò comporta un flusso massiccio in tutte le porte della rete, con rischi di sovraccarico e di scarsa sicurezza, in quanto i dati possono essere ricevuti da endpoint che non ne hanno bisogno. Occorre un meccanismo in grado di selezionare dal flusso un singolo pacchetto, replicarlo e inviarlo a più destinatari.
Come funziona il Multicast?
Con la trasmissione Multicast, gli endpoint ricevitori si iscrivono a un data stream inviato da una sorgente. I nodi di rete utilizzano protocolli come l’IGMP (Internet Group Messaging Protocol) e il PIM (Protocol Independent Multicast) per gestire l’inoltro e il routing. Ciò garantisce che forniscano flussi solo ai destinatari che lo richiedono.
Per evitare loop di traffico e consumi di banda inutili, i nodi di rete formano un albero di distribuzione Multicast (MDT – Multicast Distribution Tree). Le sorgenti Multicast vengono tracciate dai nodi di rete che “ascoltano” i flussi. La rete quindi aggiunge i ricevitori all’MDT quando fanno richiesta di unirsi a un gruppo Multicast.
Configurazione
La rete identifica i flussi Multicast che utilizzano indirizzi di Classe D IPv4, compresi tra 224.0.0.0 e 239.255.255.255, denominati “gruppi Multicast”. La logica di routing per il traffico Multicast funziona quasi al contrario rispetto al normale routing Unicast: ogni router mantiene un percorso verso la sorgente iniziale per ogni gruppo.
Se vogliono unirsi a un gruppo (ovvero ricevere un particolare flusso Multicast), di norma i nodi inviano una notifica IGMP. La rete locale registra la notifica, con l’obiettivo di identificare un ricevitore per il gruppo, poi segnala alla rete Multicast più ampia che quel ricevitore deve far parte della struttura ad albero per quel gruppo. Per ottenere ciò, i router scambiano messaggi con un protocollo di routing Multicast: il più comune è il PIM.
Troubleshooting
Spesso i Network Engineer trovano il troubleshooting del Multicast molto difficile da risolvere. La logica appare capovolta, poiché il routing Multicast garantisce che un percorso sia costruito dal destinatario al mittente. Ne consegue che, se non si ha a che fare in modo frequente con questo tipo di tecnologia, diventa arduo adattare il proprio modus operandi.
Capita che il troubleshooting del Multicast diventi un mistero, le tabelle di routing qualcosa di alieno. È estremamente complesso identificare tutti i ricevitori per un flusso Multicast senza accedere a ogni nodo della rete, assicurarsi che siano presenti percorsi per tutti i possibili mittenti e assemblare un albero di distribuzione (di solito su carta) ed essere certi che ci sia continuità da tutti i mittenti a tutti i ricevitori.
Lasciatelo fare a IP Fabric
Il nostro team di sviluppo ha costruito nella piattaforma un supporto completo per la gestione del traffico Multicast.
Per prima cosa, IP Fabric crea una query su switch e router della rete, per stabilire esattamente dove si trovino i ricevitori, utilizzando i dati dell’IGMP e dell’IGMP Snooping:
È inoltre possibile rintracciare le sorgenti:
Visualizzare le adiacenze PIM che si formano tra i nodi per condividere le informazioni di routing Multicast:
Infine, visualizzare il Multicast Distribution Tree dal mittente a tutti i destinatari:
La maggior parte dei problemi di Multicast dipendono dalla configurazione, quindi dalla completezza dell’MDT: IP Fabric consente di confermarlo visivamente.
Se tutto appare configurato correttamente, ma ancora il traffico non arriva a determinati ricevitori, potrebbe esserci un altro elemento in gioco: i controlli del percorso inverso (RPF – Reverse Path Forwarding). I router assicurano che vi sia un percorso valido verso la sorgente di un flusso Multicast. Quando il routing Unicast è allineato con l’albero di distribuzione Multicast, non ci sono loop e il traffico scorrerà come previsto.
In caso ciò non avvenga, sarebbe difficile stabilire dove sorge il problema, poiché, di nuovo, dovreste ripercorrere l’intero albero. A meno che non abbiate IP Fabric! Con la nostra intent verification, possiamo sovrapporre i controlli RPF alla topologia e mostrare esattamente dove ci sono errori:
Se avete trovato utile questo articolo, continuate a seguire il nostro profilo LinkedIn o il Blog, dove pubblicheremo altri contenuti. Se desiderate vedere con i vostri occhi come IP Fabric può aiutarvi a gestire la vostra rete più efficacemente, contattateci visitando il nostro sito www.ipfabric.io.