# Progetto di reti locali/IGMP snooping

Progetto di reti locali
Copertina Tutti i moduli · Sviluppo
    CopertinaProgetto di reti locali/Copertina
* Nozioni di base sulle LAN
** Introduzione alle Local Area NetworkProgetto di reti locali/Introduzione alle Local Area Network
** EthernetProgetto di reti locali/Ethernet
** Repeater e bridgeProgetto di reti locali/Repeater e bridge
** Evoluzioni di EthernetProgetto di reti locali/Evoluzioni di Ethernet
** Funzionalità avanzate sulle reti EthernetProgetto di reti locali/Funzionalità avanzate sulle reti Ethernet
* Albero ricoprente
** Spanning Tree ProtocolProgetto di reti locali/Spanning Tree Protocol
** Rapid Spanning Tree ProtocolProgetto di reti locali/Rapid Spanning Tree Protocol
* Standard aggiuntivi per le LAN
** Qualità del servizio nelle LAN IEEE 802Progetto di reti locali/Qualità del servizio nelle LAN IEEE 802
** Link aggregation – IEEE 802.3adProgetto di reti locali/Link aggregation – IEEE 802.3ad
** IGMP snoopingProgetto di reti locali/IGMP snooping
* Configurazione e progettazione avanzate delle LAN
** Virtual LANProgetto di reti locali/Virtual LAN
** Ridondanza e bilanciamento del carico a livello 3 nelle LANProgetto di reti locali/Ridondanza e bilanciamento del carico a livello 3 nelle LAN
** Il livello rete nelle LANProgetto di reti locali/Il livello rete nelle LAN
* Argomenti aggiuntivi
** Introduzione alle Storage Area NetworkProgetto di reti locali/Introduzione alle Storage Area Network
Modifica il sommario
I bridge inoltrano le trame in modi diversi a seconda del tipo di indirizzo MAC di destinazione:
* trame unicast: sono mandate solo sulla porta verso la singola destinazione, grazie al filtering database;
* trame broadcast: sono mandate sempre in flooding su tutte le porte, poiché le destinazioni sono tutti gli host nella rete;
* trame multicast: sono mandate sempre in flooding su tutte le porte, anche se le destinazioni sono solo alcuni degli host nella rete.
Se il bridge conoscesse a quali gruppi multicast appartengono le stazioni collegate alle sue porte, il bridge potrebbe inoltrare le trame dirette a un certo gruppo multicast solo sulle porte su cui sono collegati host registrati a quel gruppo multicast, al fine di ridurre il traffico mandato in flooding.

## GMRP

Il GMRP permette a una stazione di comunicare il proprio gruppo multicast di appartenenza al bridge.
Il GMRP tuttavia è scarsamente utilizzato, poiché all'aggiunta di un nuovo protocollo di rete si preferisce sfruttare una tecnologia già esistente e comunemente utilizzata, cioè l'IGMP.

## IGMP snooping
### IGMP

L'IGMP consente a una stazione di comunicare il proprio gruppo multicast di appartenenza ai router sulla rete IP:
* messaggio Host Membership Query: il router invia a tutti gli host un messaggio IGMP chiedendo se qualcuno di essi è interessato a registrarsi ad un certo gruppo multicast;
* messaggio Host Membership Report: l'host invia in risposta un messaggio IGMP accettando la richiesta di registrazione al gruppo multicast. Il messaggio Host Membership Report arriva, oltre che al router, anche a tutte le altre stazioni sulla LAN → ogni altra stazione interessata al gruppo multicast, sapendo che almeno una stazione sulla LAN si è registrata a quel gruppo, può evitare l'invio di un messaggio Host Membership Report al router, in quanto il traffico relativo a quel gruppo multicast esce dall'interfaccia del router e si propaga a tutta la LAN.
Ogni messaggio IGMP ha:
* indirizzo IP di destinazione: è l'indirizzo IP del gruppo multicast di cui si sta effettuando la query o il report, che inizia sempre con i bit "1110";
* indirizzo MAC di destinazione: è derivato dall'indirizzo IP multicast:
| 24 | 25 | 48 |
| 01:00:5E | 0 | ultimi 23 bit dell'indirizzo IP multicast |
Gli indirizzi IP multicast del tipo "224.0.0.x" sono indirizzi "well-known" che non richiedono l'IGMP (ad es. i pacchetti multicast inviati dai protocolli di instradamento del livello rete).

### Come l'IGMP viene sfruttato

La funzione IGMP snooping permette a un bridge di apprendere a quali gruppi multicast sono registrate le stazioni collegate alle sue porte, osservando i messaggi IGMP che passano per il bridge stesso:
* messaggio Host Membership Query: il bridge registra la porta da cui è arrivato come porta verso il router, e lo manda in flooding su tutte le altre porte;
* messaggio Host Membership Report: il bridge registra la porta da cui è arrivato come porta verso una stazione interessata, e lo manda solo sulla porta verso il router (cioè quella da cui è arrivato il messaggio Host Membership Query). Il bridge non lo manda sulle altre porte, perché altrimenti gli host ricevendolo disabiliterebbero l'invio di messaggi Host Membership Report, impedendo al bridge di sapere quali host sono interessati a quel gruppo multicast;
* trama inviata in multicast: il bridge ne analizza l'indirizzo MAC di destinazione per individuare il gruppo multicast:
** se è un indirizzo multicast "well-known", la inoltra su tutte le altre porte in flooding;
** se è un indirizzo multicast dinamico, la invia solo sulle porte collegate alle stazioni registrate a quel gruppo multicast.

#### Svantaggio

L'IGMP snooping è una violazione del modello OSI: ai bridge è richiesto di riconoscere se la trama di livello data-link incapsula un pacchetto IP che a sua volta incapsula un messaggio IGMP → i bridge non operano più in modo indipendente dal livello rete: i bridge che non supportano il protocollo IPv6 potrebbero scartare i pacchetti multicast, molto utilizzati in IPv6 (ad es. nel processo di autoconfigurazione), perché non li riconoscono.

## Note

* ↑ In realtà un singolo indirizzo MAC multicast corrisponde a 2$^5$ indirizzi IP = 2$^5$ gruppi multicast.