1. Introduction
The IEEE bridge standard [BRIDGE] specifies how LAN packets are 'bridged', or as is more commonly used today, switched between LAN segments. The operation of a switch with respect to multicast packets can be summarized as follows. When processing a packet whose destination MAC address is a multicast address, the switch will forward a copy of the packet into each of the remaining network interfaces that are in the forwarding state in accordance with [BRIDGE]. The spanning tree algorithm ensures that the application of this rule at every switch in the network will make the packet accessible to all nodes connected to the network. La norme de pont IEEE [BRIDGE] spécifie comment les paquets LAN sont « pontés », ou comme on le dit plus communément aujourd'hui, commutés entre les segments LAN. Le fonctionnement d'un commutateur en ce qui concerne les paquets multicast peut être résumé comme suit. Lors du traitement d'un paquet dont l'adresse MAC de destination est une adresse multicast, le commutateur transmet une copie du paquet dans chacune des interfaces réseau restantes qui sont à l'état de transmission conformément à [BRIDGE]. L'algorithme spanning tree garantit que l'application de cette règle à chaque commutateur du réseau rendra le paquet accessible à tous les nœuds connectés au réseau.
This behaviour works well for broadcast packets that are intended to be seen or processed by all connected nodes. In the case of multicast packets, however, this approach could lead to less efficient use of network bandwidth, particularly when the packet is intended for only a small number of nodes. Packets will be flooded into network segments where no node has any interest in receiving the packet. While nodes will rarely incur any processing overhead to filter packets addressed to unrequested group addresses, they are unable to transmit new packets onto the shared media for the period of time that the multicast packet is flooded. In general, significant bandwidth can be wasted by flooding. Ce comportement fonctionne bien pour les paquets de diffusion (broadcast) qui sont destinés à être vus ou traités par tous les nœuds connectés. Dans le cas des paquets multicast, cependant, cette approche pourrait conduire à une utilisation moins efficace de la bande passante du réseau, en particulier lorsque le paquet est destiné à un petit nombre de nœuds seulement. Les paquets seront inondés dans des segments de réseau où aucun nœud n'a d'intérêt à recevoir le paquet. Bien que les nœuds encourent rarement des frais de traitement pour filtrer les paquets adressés à des adresses de groupe non demandées, ils sont incapables de transmettre de nouveaux paquets sur le support partagé pendant la période où le paquet multicast est inondé. En général, une bande passante importante peut être gaspillée par l'inondation.
In recent years, a number of commercial vendors have introduced products described as "IGMP snooping switches" to the market. These devices do not adhere to the conceptual model that provides the strict separation of functionality between different communications layers in the ISO model, and instead utilize information in the upper level protocol headers as factors to be considered in processing at the lower levels. This is analogous to the manner in which a router can act as a firewall by looking into the transport protocol's header before allowing a packet to be forwarded to its destination address. Ces dernières années, un certain nombre de fournisseurs commerciaux ont introduit sur le marché des produits décrits comme des « commutateurs de snooping IGMP ». Ces dispositifs n'adhèrent pas au modèle conceptuel qui prévoit la séparation stricte des fonctionnalités entre les différentes couches de communication dans le modèle ISO, et utilisent à la place des informations dans les en-têtes de protocole de niveau supérieur comme facteurs à prendre en compte dans le traitement aux niveaux inférieurs. Ceci est analogue à la manière dont un routeur peut agir comme un pare-feu en examinant l'en-tête du protocole de transport avant d'autoriser la transmission d'un paquet vers son adresse de destination.
In the case of IP multicast traffic, an IGMP snooping switch provides the benefit of conserving bandwidth on those segments of the network where no node has expressed interest in receiving packets addressed to the group address. This is in contrast to normal switch behavior where multicast traffic is typically forwarded on all interfaces. Dans le cas du trafic IP multicast, un commutateur de snooping IGMP offre l'avantage de conserver la bande passante sur les segments du réseau où aucun nœud n'a exprimé d'intérêt pour la réception de paquets adressés à l'adresse de groupe. Ceci contraste avec le comportement normal du commutateur où le trafic multicast est généralement transmis sur toutes les interfaces.
Many switch datasheets state support for IGMP snooping, but no recommendations for this exist today. It is the authors' hope that the information presented in this document will supply this foundation. De nombreuses fiches techniques de commutateurs mentionnent la prise en charge du snooping IGMP, mais aucune recommandation à ce sujet n'existe aujourd'hui. Les auteurs espèrent que les informations présentées dans ce document fourniront cette base.
The recommendations presented here are based on the following information sources: The IGMP specifications [RFC1112], [RFC2236] and [IGMPv3], vendor-supplied technical documents [CISCO], bug reports [MSOFT], discussions with people involved in the design of IGMP snooping switches, MAGMA mailing list discussions, and on replies by switch vendors to an implementation questionnaire. Les recommandations présentées ici sont basées sur les sources d'information suivantes : les spécifications IGMP [RFC1112], [RFC2236] et [IGMPv3], les documents techniques fournis par les fournisseurs [CISCO], les rapports de bogues [MSOFT], les discussions avec les personnes impliquées dans la conception des commutateurs de snooping IGMP, les discussions de la liste de diffusion MAGMA et les réponses des fournisseurs de commutateurs à un questionnaire de mise en œuvre.
Interoperability issues that arise between different versions of IGMP are not the focus of this document. Interested readers are directed to [IGMPv3] for a thorough description of problem areas. Les problèmes d'interopérabilité qui surviennent entre différentes versions d'IGMP ne sont pas l'objet de ce document. Les lecteurs intéressés sont dirigés vers [IGMPv3] pour une description complète des domaines problématiques.
The suggestions in this document are based on IGMP, which applies only to IPv4. For IPv6, Multicast Listener Discovery [MLD] must be used instead. Because MLD is based on IGMP, we do not repeat the entire description and recommendations for MLD snooping switches. Instead, we point out the few cases where there are differences from IGMP. Les suggestions de ce document sont basées sur IGMP, qui s'applique uniquement à IPv4. Pour IPv6, Multicast Listener Discovery [MLD] doit être utilisé à la place. Comme MLD est basé sur IGMP, nous ne répétons pas la description complète et les recommandations pour les commutateurs de snooping MLD. Au lieu de cela, nous signalons les quelques cas où il existe des différences par rapport à IGMP.
Note that the IGMP snooping function should apply only to IPv4 multicasts. Other multicast packets, such as IPv6, might be suppressed by IGMP snooping if additional care is not taken in the implementation as mentioned in the recommendations section. Notez que la fonction de snooping IGMP ne doit s'appliquer qu'aux diffusions multicast IPv4. D'autres paquets multicast, tels que IPv6, pourraient être supprimés par le snooping IGMP si des précautions supplémentaires ne sont pas prises lors de la mise en œuvre, comme mentionné dans la section des recommandations.