Ne znam na koju "priču" misliš, pravo ti reći.
IGMP je layer 3 protokol, banalizovano, način kako se krajnji klijenti prijavljuju multicast router-u da primaju multicast saobraćaj (ne sav) iz određenog opsega IP adresa. Ne prenosi podatke, kontroliše ko prima i što prima.
Na layer 2, u mom slučaju Ethernet derivatima, postoje multicast (ethernet) adrese i koncept multicasting-a, ali ne i ekvivalent IGMP protokola (kad, ko i kako hoće da prima koji multicast saobraćaj). "Proxy" & "snooping" su funkcije layer-2 switch-eva koje slušaju layer3 protokol, pa onda na osnovu toga donose odluku gdje treba da šalju multicast pakete, a gdje ne. Formalno, to nije layer2 funkcija, ali pošto ekvivalenta nema...
Naše riješenje još nije izišlo, ne smijem premnogo da drvim o detaljima toga što će kod nas bit, ali samo da ti kažem da je i snooping i proxy do zla boga škakljiva implementacija, e su obje funkcije zamišljene da budu transparentne za layer3 opremu (da ni ruter, ni klijent, nemaju pojma što se dešava). Ono, mogu sad da se raspišem i o jednom, i o drugom, ali ću pobiti ove ostale nekim detaljima koji i nijesu od interesa širem krugu ljudi... Pitaj konkretno.
Kod IGMP-a je, generalno, veliki problem "prtljanje" čvorova kad odgovaraju na periodičnu "prozivku" rutera, štošta je po tom pitanju odrađeno u verziji 3 protokola (i linux i windows danas voze IGMPv3), ali je, onako generička (i dosta banalizovana) tvrdnja da što je manje čvorova koji trtljaju IGMP, to bolji servis i mreža.
A ima jedan domen gdje je to mnogo bitno. Danas se na multicasting gleda kao na mehanizam kako se isporučuje IPTV, a tamo je IGMP poprilično veliki problem. Banalno rečeno, ako, kad stisneš daljinski, se kanal ne promijeni u roku 1 sekunde, to je psihološki problem za krajnjeg korisnika i ekipa koja hoće da koristi IPTV da konkuriše kablu i satelitu ... puši. Grubo rečeno, što je više čvorova koji trtljaju IGMP, to je veća vjerovatnoća da će krajnji korisnik naletjeti na situaciju gdje se kanal ne promijeni za jednu sekundu. E su za IGMP timer-i poprilično veliki, a na silu ih spustiti nije baš jednostavno (povećava se protok kontrolnog saobraćaja, što je zeznutije od "običnih" podataka).
E sad, zbog takvih stvari, ja bih NAJSRETNIJI bio da niko kome ne treba IGMP ga ne pokreće.:) Nema razloga, ako si klijent, a treba ti multicasting servis, čim pokreneš IGMP protokol instant ćeš da dobiješ odziv.
Ne mogu sad da provjerim (nemam pristup kodu kernela na poslu), ali bih se zakleo da u Linux help stranici za IGMP piše nešto tipa "ako ne znaš što ova skraćenica znači, onda ti ne treba". Mada ni oni ne rade dinamičko pokretanje protokola, što bi najelegantnije riješenje bilo. Ali makar svaka uboga Linux mašina ne trtlja (što uopšte nije nezanemarljivo, ovdje "linux mašina" nije samo desktop računar, nego i embedded igračke, ruteri, printer serverčići, itd.).