IGMP staat voor “Internet Group Management Protocol” en wordt gebruikt binnen IP-netwerken om multicast-groepen te beheren. Het protocol laat netwerkapparaten (zoals computers, IPTV-decoders of routers) aangeven dat ze geïnteresseerd zijn in het ontvangen van multicast-verkeer van een bepaalde groep. IGMP werkt uitsluitend in IPv4-netwerken en is essentieel voor toepassingen die gebruikmaken van live video, audiostreaming of andere datastromen die naar meerdere ontvangers tegelijk moeten worden verzonden.
Hoe werkt IGMP in multicast-netwerken?
Multicast en IGMP-rol
Multicast is een netwerkverzending waarbij een zender een enkel pakket naar meerdere ontvangers stuurt, zonder het voor elk apparaat afzonderlijk te hoeven dupliceren. IGMP coördineert wie deze multicast-pakketten wil ontvangen door groepslidmaatschappen te beheren.
IGMP werkt op laag 3 van het OSI-model (netwerklaag) en helpt routers beslissen naar welke apparaten multicast-pakketten moeten worden doorgestuurd.
IGMP-berichten en hun werking
IGMP gebruikt drie hoofdtypen berichten:
- Membership Report: Een apparaat stuurt dit bericht om zich aan te melden bij een specifieke multicastgroep (bijv. een live televisie-uitzending via IPTV).
- Leave Group: Een apparaat gebruikt dit bericht om aan te geven dat het geen interesse meer heeft in de multicastgroep.
- Membership Query: De router stuurt deze periodiek om te vragen of er nog leden zijn van een bepaalde groep.
Op basis van deze communicatie weet de router welke multicastgroepen nog actief zijn en op welke interfaces de pakketten doorgestuurd moeten worden.
IGMP-versies
Er bestaan drie versies van IGMP:
- IGMPv1: Basisfunctionaliteit, alleen ondersteuning voor aan- en afmelding.
- IGMPv2: Introduceerde Leave Group-berichten en snellere detectie van verlaten groepen.
- IGMPv3: Voegt bronfiltering toe, waardoor apparaten kunnen specificeren van welke bronnen ze willen ontvangen.
De meeste moderne routers en switches ondersteunen IGMPv2 of v3.
Praktisch gebruik van IGMP
Een klassiek voorbeeld van IGMP-gebruik is IPTV. Wanneer een gebruiker op een kanaal klikt, stuurt het apparaat een IGMP Membership Report naar de router met het multicastadres van dat kanaal. De router zorgt ervoor dat de multicaststroom via de juiste poort naar het apparaat wordt gestuurd.
IGMP werkt samen met protocollen als PIM (Protocol Independent Multicast) op routers om multicastverkeer efficiënt over grotere netwerken te verspreiden.
In lokale netwerken (LAN’s) wordt IGMP vaak ondersteund door IGMP Snooping in switches. Deze functie zorgt ervoor dat alleen de poorten met een actieve kijker het multicastverkeer ontvangen, in plaats van dat het verkeer naar alle poorten wordt verzonden. Hierdoor wordt bandbreedte bespaard en netwerkbelasting verminderd.
IGMP is niet bruikbaar in IPv6-netwerken. Daar wordt MLD (Multicast Listener Discovery) gebruikt als alternatief protocol voor het beheren van multicastgroepen.