Protokół IGMP lub IGMPv2 definiuje zasady przyłączania i odłączania komputerów od internetowych grup adresowych, czyli grup multicastowych. Uczestnictwo w grupie musi być potwierdzone, ale jest dynamiczne – do wstąpienia lub rezygnacji wystarczy, ażeby dowolny API rozesłał stosowną wiadomość. Listy adresatów, którzy zarejestrowali się w określonej grupie, przechowują rutery. Dzięki tym listom pakiety rozgłaszania grupowego będą przesłane tylko pod odpowiednimi adresami.
Do grupy wchodzi w istocie proces z określonym interfejsem komputera. Proces jest tu programem uruchomionym przez system operacyjny. Do określonej grupy proces może wejść z różnych interfejsów. Dlatego identyfikatorem komputera w grupie jest adres grupowy oraz interfejs. Komputer musi utrzymywać tablicę wszystkich grup, do których został przypisany przynajmniej przez jeden proces.
IGMP został stworzony dla zapewnienia skuteczności w optymalnym wykorzystywaniu pasma (zasobów sieciowych). W większości przypadków ruch IGMP polega na okresowym wysyłaniu komunikatów przez interfejs zarządzający wielopunktem i odbieraniu jednej odpowiedzi – membership report – od dowolnego komputera z grupy urządzeń w podsieci. Jeśli ruter nie otrzyma żadnej odpowiedzi, to odłączy się od grupy. Wiadomości IGMP są przesyłane w datagramach IP. Pole Protokół datagramu IPv4 zawiera wtedy liczbę 2. Długość wiadomości IGMPv1 jest stała – 8 bajtów. Formaty wiadomości IGMPv1 i v2 widnieją na rysunku.
IGMP ma 4 wersje: v0 (już bez statusu) – RFC 988, v1 – RFC 1112 Appendix I, v2 – RFC 2236, v3 - RFC3376. Wersja druga uzupełnia pierwszą, która zastąpiła zerową. Formaty wiadomości IGMPv1 i 2 różnią się w szczegółach, ale jest zachowana wsteczna kompatybilność. Pole Maks. czas odpowiedzi MRT (Max. Response Time) nie było używane w v1. W IGMPv2 ma ono znaczenie tylko dla wiadomości Membership Query – jest to czas zadawany liczbą taktów 100 ms, którego urządzenie wysyłające raport nie może przekroczyć. W wersji pierwszej wiadomość rozpoczynała się 4-bitowym polem wersji, po którym występował również 4-bitowy Typ IGMP. Teraz (v2) nie ma już pola wersji, a pole Typ jest ośmiobitowe. Ponadto długość wiadomości IGMPv2 może przekraczać 8 bajtów.
Na IGMP opiera się również inicjowanie sesji grupowej RSVP. W trybie unicast do protokołu IGMP dochodzi jeszcze protokół PIM (Protocol Independent Multicast). Gdyby pakiet typu multicast trafił do zwykłego przełącznika warstwy drugiej, to byłby powielony na jego wszystkie porty i rozesłany (niepotrzebnie) do każdego użytkownika w domenie. Funkcja o nazwie IGMP Snooping, wbudowana do przełącznika, zapobiega takim skutkom. Przełącznik może wtedy śledzić pakiety rejestracji stacji i na ich podstawie kierować ruch rozgłoszeniowy do portów, na których stacje zostały zarejestrowane. Pozostałe porty zostaną wyłączone.