Internet group management protocol

OSI-model

7: Toepassingslaag
6: Presentatielaag
5: Sessielaag
4: Transportlaag
3: Netwerklaag
2: Datalinklaag
1: Fysieke laag

Het Internet Group Management Protocol (IGMP) is een netwerkprotocol dat gebruikt wordt bij multicasting. Multicast streams maken gebruik van klasse-D IP-adressen en met IGMP wordt beheerd welke 'volgers' er zijn per multicast IP-adres. IGMP maakt het mogelijk voor routers om de multicast streams efficiënt te verwerken.

IGMP wordt gebruikt op de netwerklaag van het OSI-model en wordt alleen gebruikt op IPv4 netwerken.

Versies

Er bestaan momenteel drie versies van IGMP. Deze staan elk beschreven in een Request for Comments (RFC) document van de Internet Engineering Task Force (IETF).

Bij IPv6 netwerken wordt er gebruikgemaakt van Multicast Listener Discovery (MLD). Dit werkt met ICMPv6 berichten in plaats van IGMP-berichten.

Multicast versus unicast en broadcast

IGMP is inherent verbonden aan multicast. Multicast-datastromen maken gebruik van 'doeladressen' in klasse D. Dit zijn IP-adressen in het bereik van 224.0.0.0 tot 239.255.255.255, zoals 224.2.25.69. Bij unicast daarentegen wordt gecommuniceerd met een IP-adres van een geldige host op het netwerk. Bij broadcast worden specifieke broadcastadressen gebruikt, zoals 192.168.0.255.

Werking IGMP

Een gebruiker abonneert zich op een multicast stream door een IGMP-bericht te sturen met het IP-adres van de multicast stream die het wil volgen. Echter, de multicast-datastroom is eenrichtingsverkeer beginnend bij een video-server en eindigend bij een client. De multicast stream wordt over het netwerk verzonden naar de dichtstbijzijnde router. Vervolgens beslist de router of de pakketten doorgestuurd moeten worden of dat ze gedropt mogen worden op basis van de volgers van de stream. Hiervoor gaat de router eerst controleren of de multicast groep al bestaat. Indien de groep bestaat, stuurt de router de pakketten door naar de hosts van die groep. Indien de groep niet bestaat, maakt het de groep aan. Als er echter geen hosts zijn die aan de router vragen om pakketten te ontvangen van deze groep, dropt het de pakketten.

Voorbeeld

Hieronder is een voorbeeld zichtbaar van een netwerk dat gebruikmaakt van multicasting aan de hand van IGMP.

Multicast network architecture example

De video client gaat eerst een toegewijd multicast IP-adres versturen naar alle routers in zijn subnet. Dit IP-adres is een bericht dat zegt dat de client lid wil worden van een multicast groep. Als de router in het subnet de groep herkent, gaat het de datastroom afkomstig van de video server beginnen doorgeven aan de video client. Indien de router het subnet niet herkent, gaat het berichten uitsturen naar andere routers om zo de groep te vinden. De communicatie tussen de routers gebeurt via routing protocollen die zijn aangepast voor het gebruik met IGMP, zoals Protocol Independent Multicast (PIM) en Multicast Open Shortest Path First (MOSPF). Deze zorgen er ook voor dat de datastroom kan doorgegeven worden van de router naar de multicast router en zo naar meerdere multicast clients. Wanneer de multicast groep gevonden wordt door een andere router, gaat deze router zogezegd als video server dienen en de datastroom doorgeven of ze dupliceren en dan doorgeven.

Switches die uitgerust zijn met IGMP snooping gaan de IGMP conversaties tussen hosts en routers afluisteren. Hierdoor kan de switch een map bijhouden waarin staat welke verbinding welke IP multicast datastroom nodig heeft. Dit zorgt er dus voor dat multicast datastromen gefilterd kunnen worden van de verbindingen die ze niet nodig hebben en er dus gecontroleerd kan worden welke poorten specifiek multicast verkeer ontvangen.

Toepassingen

De voornaamste toepassingen die gebruikmaken van IGMP zijn:

Beide toepassingen moeten lange tijd veel en dezelfde data verzenden naar meerdere gebruikers waardoor het gebruik van multicasting via IGMP veel efficiënter is tegenover een unicast methode.

Gevaren

IGMP is kwetsbaar voor sommige netwerk aanvallen, zoals spoofing en Denial-of-Service aanvallen.

DoS aanvallen kunnen voorkomen worden indien het netwerk beschikt over switches die uitgerust zijn met IGMP snooping. Dit zorgt ervoor dat hosts geen dataverkeer kunnen ontvangen van een multicast groep waar ze niet expliciet lid van zijn geworden.

De beste manier om spoofing tegen te gaan, is door het gebruik van een firewall.

Indien er geen gebruik wordt gemaakt van IGMP of MLD in het netwerk, is het mogelijk om het netwerkverkeer hiervan te laten blokkeren door de firewall.

· · Sjabloon bewerken
Toepassingslaag:DNS · FTP · Gopher · HTTP · HTTPS · IMAP · IRC · NNTP · POP3 · RTP · SIP · SMTP · SNMP · SSH · TLS/SSL · Telnet · UUCP · XMPP
Transportlaag:DCCP · SCTP · TCP · UDP
Netwerklaag:ICMP · IGMP · IPv4 · IPv6 · RARP
Datalinklaag:ARP · ATM · Ethernet · FDDI · PPP · Token ring · Wifi