2. Introduction
2. Introduction
L'Internet Group Management Protocol (Protocole de gestion de groupe Internet, IGMP) est utilisé par les hôtes IP pour signaler leurs appartenances à des groupes de multidiffusion à tout routeur de multidiffusion immédiatement voisin. Ce mémo décrit uniquement l'utilisation d'IGMP entre les hôtes et les routeurs pour déterminer l'appartenance au groupe. Les routeurs qui sont membres de groupes de multidiffusion sont censés se comporter comme des hôtes ainsi que comme des routeurs, et peuvent même répondre à leurs propres requêtes. IGMP peut également être utilisé entre les routeurs, mais une telle utilisation n'est pas spécifiée ici.
Comme ICMP, IGMP fait partie intégrante d'IP. Il doit être mis en œuvre par tous les hôtes souhaitant recevoir des multidiffusions IP. Les messages IGMP sont encapsulés dans des datagrammes IP, avec un numéro de protocole IP de 2. Tous les messages IGMP décrits dans ce document sont envoyés avec un IP TTL de 1, et contiennent l'option IP Router Alert (Alerte routeur IP) [RFC 2113] dans leur en-tête IP. Tous les messages IGMP concernant les hôtes ont le format suivant :
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Max Resp Time | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Group Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2.1. Type
Il existe trois types de messages IGMP concernant l'interaction hôte-routeur :
0x11 = Membership Query (Requête d'appartenance)
Il existe deux sous-types de messages Membership Query (Requête d'appartenance) :
- General Query (Requête générale), utilisée pour savoir quels groupes ont des membres sur un réseau attaché.
- Group-Specific Query (Requête spécifique au groupe), utilisée pour savoir si un groupe particulier a des membres sur un réseau attaché.
Ces deux messages sont différenciés par la Group Address (Adresse de groupe), comme décrit dans la section 1.4. Les messages Membership Query sont appelés simplement messages "Query" (Requête).
0x16 = Version 2 Membership Report (Rapport d'appartenance version 2)
0x17 = Leave Group (Quitter le groupe)
Il existe un type de message supplémentaire, pour la rétrocompatibilité avec IGMPv1 :
0x12 = Version 1 Membership Report (Rapport d'appartenance version 1)
Ce document fait référence aux Membership Reports simplement comme "Reports" (Rapports). Lorsqu'aucune version n'est spécifiée, l'énoncé s'applique également aux deux versions.
Les types de messages non reconnus doivent être ignorés silencieusement. De nouveaux types de messages peuvent être utilisés par des versions plus récentes d'IGMP, par des protocoles de routage multicast, ou d'autres utilisations.
2.2. Max Response Time (Temps de réponse maximal)
Le champ Max Response Time (Temps de réponse maximal) n'est significatif que dans les messages Membership Query, et spécifie le temps maximal autorisé avant d'envoyer un rapport de réponse en unités de 1/10 de seconde. Dans tous les autres messages, il est mis à zéro par l'expéditeur et ignoré par les destinataires.
La variation de ce paramètre permet aux routeurs IGMPv2 de régler la "leave latency" (latence de départ) (le temps entre le moment où le dernier hôte quitte un groupe et le moment où le protocole de routage est notifié qu'il n'y a plus de membres), comme discuté dans la section 7.8. Cela permet également de régler la rafale du trafic IGMP sur un sous-réseau, comme discuté dans la section 7.3.
2.3. Checksum (Somme de contrôle)
La somme de contrôle est le complément à un sur 16 bits de la somme des compléments à un de l'ensemble du message IGMP (la charge utile IP entière). Pour calculer la somme de contrôle, le champ de somme de contrôle est mis à zéro. Lors de la transmission de paquets, la somme de contrôle DOIT être calculée et insérée dans ce champ. Lors de la réception de paquets, la somme de contrôle DOIT être vérifiée avant de traiter un paquet.
2.4. Group Address (Adresse de groupe)
Dans un message Membership Query, le champ d'adresse de groupe est mis à zéro lors de l'envoi d'une General Query, et mis à l'adresse de groupe interrogée lors de l'envoi d'une Group-Specific Query.
Dans un message Membership Report ou Leave Group, le champ d'adresse de groupe contient l'adresse de groupe multicast IP du groupe signalé ou quitté.
2.5. Other fields (Autres champs)
Notez que les messages IGMP peuvent être plus longs que 8 octets, en particulier les futures versions rétrocompatibles d'IGMP. Tant que le Type est reconnu, une implémentation IGMPv2 DOIT ignorer tout ce qui dépasse les 8 premiers octets lors du traitement du paquet. Cependant, la somme de contrôle IGMP est toujours calculée sur l'ensemble de la charge utile IP, et pas seulement sur les 8 premiers octets.