Quando un pacchetto è destinato ad un solo destinatario è detto unicast . Quando invece un solo pacchetto viene trasmesso a più destinatari, è detto Multicast . Con il termine Multicast, nelle reti di calcolatori, si indica la distribuzione simultanea di informazione verso un gruppo di destinatari. Un pacchetto destinato a tutti i calcolatori di una rete è detto Broadcast.
Il broadcast può essere eseguito su diversi livelli del modello OSI. A livello datalink (2º Livello) l’invio del pacchetto o richiesta viene eseguito sfruttando il MAC Address (indirizzo Fisico) impostandolo al suo valore più alto (FF:FF:FF:FF:FF:FF). A livello Network (3º Livello) l’invio del pacchetto o richiesta viene eseguita sfruttando l’IP (indirizzo logico) impostandolo sempre al suo valore più alto facendo attenzione alla relativa subnet di appartenenza.
I computer che vogliono ricevere le “trasmissioni” del gruppo multicast si devono registrare per quel gruppo con qualche meccanismo, e la rete si occuperà di consegnare i pacchetti multicast a tutti quelli che si sono registrati. Spesso non c’è modo di controllare né chi trasmette su un gruppo multicast, né quali computer possono ricevere, se non in modo piuttosto grossolano.
Il servizio di multicast è stato pensato per esempio per permettere la diffusione efficiente di programmi multimediali su una rete di calcolatori; viene anche utilizzato per funzioni di gestione della rete (per risolvere problemi come “trova tutti i computer su una sottorete che implementano la funzione X o che hanno bisogno della funzione Y”); oppure per raggiungere un gruppo di routers.
Per la natura del servizio di rete multicast, risulta molto difficile usare protocolli di trasporto orientati alla connessione come TCP, per cui si usano protocolli senza connessione come UDP.
Il multicast può essere implementato a livello LAN o WAN:
- LAN: a livello 2 ISO/OSI una serie di indirizzi MAC è riservata all’uso multicast; a livello 3 ISO/OSI si utilizzano gli indirizzi IP riservati al multicast di classe D (IPv4) o gli indirizzi ff00::/8 (IPv6). I pacchetti inviati da un host in una rete locale sono trattati dagli hub/switch come se fossero broadcast, ovvero sono ritrasmessi a tutti i computer collegati alla LAN. Se un host fa parte di un gruppo multicast, la scheda di rete, che riceve il pacchetto, lo passa al sistema operativo, il quale a sua volta lo passa al processo interessato; altrimenti lo elimina. Quindi tutto il traffico multicast viene fisicamente inviato a tutti i computer collegati alla rete LAN (è un broadcast fisico), solo gli hosts interessati tratterranno ed elaboreranno il frame.
- WAN: come per le LAN il calcolatore sorgente invia una sola copia dell’informazione (indipendentemente dal numero di destinatari), ma qui particolari protocolli di routing devono individuare dove sono localizzati tutti gli hosts che vogliono ricevere quella trasmissione e trasmettere il flusso solo sulle reti interessate. Saranno gli M-Router (Multicast Router) che, utilizzando protocolli multicast, moltiplicheranno l’informazione quando necessario sulle n reti interessate.
Con questa breve spiegazione spero di aver risolto i vostri dubbi sulla differenza fra Broadcast e Multicast includendo anche una rapida spiegazione del termine unicast.