2. IGMP Snooping Recommendations
The following sections describe the forwarding rules for control and data packets. Les sections suivantes décrivent les règles de transmission pour les paquets de contrôle et de données.
2.1. Forwarding Rules
The switch must snoop on all IGMP packets and maintain a state table for each port. Le commutateur doit surveiller tous les paquets IGMP et maintenir une table d'état pour chaque port.
2.1.1. IGMP Membership Reports
- The switch must forward all IGMP Membership Reports to all ports that are detected as router ports. Le commutateur doit transmettre tous les rapports d'appartenance IGMP (IGMP Membership Reports) à tous les ports détectés comme ports de routeur.
- The switch should not forward IGMP Membership Reports to non-router ports. This prevents other hosts from suppressing their own reports (in IGMPv1 and IGMPv2). Le commutateur ne doit pas transmettre les rapports d'appartenance IGMP aux ports non-routeurs. Cela empêche les autres hôtes de supprimer leurs propres rapports (dans IGMPv1 et IGMPv2).
2.1.2. IGMP Leave Group
- The switch must forward IGMP Leave Group messages to all router ports. Le commutateur doit transmettre les messages IGMP Leave Group à tous les ports de routeur.
- The switch should process the Leave Group message to determine if there are other members of the group on the port. If not, it should stop forwarding multicast data for that group to that port. Le commutateur doit traiter le message Leave Group pour déterminer s'il y a d'autres membres du groupe sur le port. Si ce n'est pas le cas, il doit arrêter de transmettre les données multicast pour ce groupe vers ce port.
- The switch should implement a membership timeout mechanism such as the router-side functionality of the IGMP protocol as described in the IGMP and MLD specifications (See Normative Reference section for IGMPv1-3 and MLDv1-2) on all its non-router ports. This timeout value should be configurable. Le commutateur doit implémenter un mécanisme de délai d'expiration de l'appartenance tel que la fonctionnalité côté routeur du protocole IGMP décrite dans les spécifications IGMP et MLD (voir la section Référence normative pour IGMPv1-3 et MLDv1-2) sur tous ses ports non-routeurs. Cette valeur de délai d'attente doit être configurable.
2.2. Data Forwarding Rules
- Packets with a destination IP address outside 224.0.0.X which are not IGMP should be forwarded according to group-based port membership tables. Les paquets avec une adresse IP de destination en dehors de 224.0.0.X qui ne sont pas IGMP doivent être transmis selon les tables d'appartenance de port basées sur le groupe.
- Packets with a destination IP address in the 224.0.0.X range which are not IGMP must be forwarded on all ports. Les paquets avec une adresse IP de destination dans la plage 224.0.0.X qui ne sont pas IGMP doivent être transmis sur tous les ports.
- The practical implementation of the (G,S1,S2,...) based data forwarding tables are not within the scope of this document. However, one possibility is to maintain two (G,S) forwarding lists: one for the INCLUDE filter where a match of a specific (G,S) is required before forwarding will happen, and one for the EXCLUDE filter where a match of a specific (G,S) will result in no forwarding. La mise en œuvre pratique des tables de transmission de données basées sur (G,S1,S2,...) n'entre pas dans le cadre de ce document. Cependant, une possibilité est de maintenir deux listes de transmission (G,S) : une pour le filtre INCLUDE où une correspondance d'un (G,S) spécifique est requise avant que la transmission ne se produise, et une pour le filtre EXCLUDE où une correspondance d'un (G,S) spécifique entraînera aucune transmission.