Snooping IGMP: metodo di intercettazione del traffico multicast
Le connessioni multicast rappresentano un’ottima opportunità per inoltrare a vari dispositivi di ricezione il medesimo pacchetto dati all’interno di reti IP senza dover indirizzare e fornire ciascuno di questi dispositivi separatamente. Il mittente del pacchetto distribuisce questa attività tra i diversi nodi delle sottoreti coinvolte risparmiando così risorse preziose. Soprattutto le applicazioni Internet in tempo reale, utilizzate da numerosi utenti, traggono vantaggio da questa forma di connessione multipunto, create con l’ausilio di speciali gruppi multicast.
Il protocollo IGMP, che costituisce la base per un’efficace comunicazione multicast IPv4 tra mittente, router e ricevitori, svolge un ruolo importante nell’organizzazione di questi gruppi. Inoltre il traffico multicast può essere filtrato tramite messaggi IGMP per decongestionare le singole reti di destinazione. Si parla anche in questo caso del cosiddetto Snooping IGMP.
IGMP significa “Internet Group Management Protocol” ed è il protocollo IPv4 per la gestione dei gruppi multicast. L’equivalente delle connessioni IPv6 è il protocollo “Multicast Listener Discovery” (MLD).
Cos’è lo Snooping IGMP?
I pacchetti multicast spesso passano attraverso più nodi per raggiungere gli host di destinazione. I router utilizzano inoltre la procedura Protocol Independent Multicast (PIM) per calcolare il percorso ottimale e trasmettere così il flusso di dati nel modo più efficiente possibile. Al contrario switch di rete o internet router multifunzione dell’utenza domestica hanno chiaramente maggiori difficoltà nella trasmissione di pacchetti multicast: il tentativo di associare i pacchetti come al solito in base all’indirizzo MAC specificato fallisce (funziona solo con le connessioni Unicast), e così, per mancanza di alternative, i dispositivi inoltrano i pacchetti in arrivo a tutti i dispositivi disponibili nella rispettiva sottorete.
È qui che entra in gioco lo Snooping IGMP (denominato talvolta anche “Snooping Multicast”): questa procedura, che liberamente tradotta significa “captare IGMP”, rende onore al suo nome e intercetta tutto il traffico IGMP scambiato tra router multicast e host. Switch o internet router che hanno lo Snooping IGMP attivato, sono pertanto in grado di monitorare le attività multicast dei singoli utenti di rete. In particolare ciò significa che i dispositivi rilevano quando un host si associa a un gruppo multicast (“Multicast-Query”) oppure lo lascia (“Leave-Message”; solo da IGMPv2 in poi). Sulla base di queste informazioni può pertanto essere creata o rimossa nella tabella di indirizzi MAC una voce per l’interfaccia di rete connessa all’host.
Lo Snooping IGMP è specificato nella RFC 4541, dove questa Request for Comments ha solo carattere “informativo”. Questo dipende dal fatto che sono previste ben due associazioni come organismi di normazione della tecnologia: l’Istituto IEEE (Institute of Electrical and Electronics Engineers), che standardizza gli switch Ethernet, e lo IETF (Internet Engineering Task Force), che è anche responsabile dello standard multicast IP.
Perché e quando conviene lo Snooping IGMP?
Lo Snooping Multicast aiuta switch e Internet router a fornire in modo particolarmente efficiente flussi di dati multicast alla destinazione o alle destinazioni desiderate. Quanto sia prezioso questo supporto diventa chiaro quando manca un tale metodo di filtraggio delle trasmissioni multipunto: i pacchetti multicast in arrivo sono pertanto inviati a tutti gli host della rete raggiunti dallo switch o dall’Internet router. In particolare nelle reti di maggiori dimensioni questa procedura provoca un traffico inutilmente elevato, in grado di generare persino un sovraccarico di rete. Gli hacker potrebbero addirittura approfittare della situazione e in modo mirato inondare di pacchetti multicast singoli host o l’intera rete, per metterli in ginocchio come in un classico attacco DoS/DDoS.
Con lo Snooping IGMP attivato, i problemi di sovraccarico e gli scenari di attacco non saranno più motivo di preoccupazione. Tutti gli host di rete ricevono soltanto il traffico multicast cui si sono precedentemente registrati con richiesta collettiva. L’uso di questa tecnologia di “intercettazione” è pertanto vantaggioso in ogni situazione in cui si ricorre ad applicazioni che richiedono una maggiore larghezza di banda. Ne sono un esempio il servizio IPTV e altri servizi di streaming, nonché le soluzioni per conferenze web. Le reti con pochi utenti e pochissimo traffico multicast non traggono invece vantaggio dalla procedura del filtraggio. In tal caso anche se lo switch o il router offrono la funzione Snooping Multicast, la stessa dovrebbe essere disattivata per impedire inutili attività di intercettazione.