Il multicasting è l’invio di un pacchetto ad un gruppo di stazioni.
Ci deve essere un protocollo per la gestione dei gruppi; deve essere possibile creare e distruggere gruppi, unirsi a un gruppo e uscirne (un protocollo di questo tipo è IGMP).
I router devono conoscere l’elenco delle stazioni che appartengono a ciascun gruppo; le stazioni informano i router di volersi unire a un gruppo, oppure i router interrogano periodicamente le stazioni per sapere a quali gruppi appartengono.
Quando viene inviato un pacchetto a un gruppo, il router può duplicare il pacchetto e inviarlo a tutte le stazioni del gruppo.
Come per l’algoritmo di routing per il routing broadcast, si ha una maggior efficienza con l’uso degli spanning tree; ogni router calcola uno spanning tree che copre gli altri router; quando riceve un pacchetto per un gruppo, considera nello spanning tree solo i rami relativi a quel gruppo; è necessaria molta memoria per conservare gli alberi.
Uno schema alternativo calcola un singolo spanning tree per ogni gruppo (core-base tree) e considera un router radice del gruppo; ogni messaggio indirizzato al gruppo viene mandato al router radice che lo manda a tutte le stazioni usando lo spanning tree (i percorsi non sono ottimali ma si risparmia memoria).