Un peu de technique...
IGMP
Le protocole IGMP
1 - Définition du protocole
Le protocole IGMP (Internet Group Management Protocol) permet de gérer les déclarations
d'appartenance à un ou plusieurs groupes auprès des routeurs Multicast. Les inscriptions sont
soit spontanées soit après requête du routeur. Pour cela, l'hôte envoi une trame IGMP
destinées à ce ou ces groupes. Il existe 2 versions du protocole IGMP.
Vous trouverez tous les détails du protocole IGMP version 1 dans la Rfc 1112.
Vous trouverez tous les détails du protocole IGMP version 2 dans la Rfc 2236.
2 - Structure de l’entête
Voici la structure de l’entête IGMP V2 basé sur 8 octets.
De la même manière qu'ICMP, IGMP est un protocole de couche 3. Il est encapsulé dans IP
afin d'être véhiculé sur un réseau IP. Le terme "Encapsulé" relate pourquoi ce protocole est en
couche 3 et non pas en niveau 4.
3 - Définition des différents champs
3.1 - Type
Le champ Type est codé sur 8 bits et détermine la nature du message IGMP. Voici les 4
types de messages existant :
- 11 - 00001011 - Requête pour identifier les groupes ayant des membres actifs.
- 12 - 00001100 - Rapport d'appartenance au groupe émis par un membre actif du groupe
(IGMP version 1)
- 16 - 00010000 - Rapport d'appartenance au groupe émis par un membre actif du groupe
(IGMP version 2)
- 17 - 00010001 - Un membre annonce son départ du groupe
3.2 - Temps de réponse max
Ce champ n'est utilisé que pour les messages de type 11. Il indique le temps d'attente
maximum pour un client avant l'émission du rapport d'appartenance. L'unité utilisée est le
1/10 de seconde. Pour les autres types, ce champ est marqué à 0.
3.3 - Checksum
Le champ Checksum est codé sur 16 bits et représente la validité du paquet de la couche 3
IGMP. Pour pouvoir calculer le Checksum, il faut positionner le champ du checksum a 0.
Ce calcul est strictement le même que celui du protocole ICMP.
3.4 - Adresse du groupe
Le champ Adresse du groupe est codé sur 32 bits et contient une adresse IP. Celle ci
représente l'adresse du groupe d'appartenance ou 0 si l'inscription n'a pas encore eu lieu. Le
type 11 place ce champ à 0 et les autres types marquent l'IP.