Zum Hauptinhalt springen

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. Der IEEE-Bridge-Standard [BRIDGE] legt fest, wie LAN-Pakete „gebridged“ oder, wie heute gebräuchlicher, zwischen LAN-Segmenten geswitcht werden. Der Betrieb eines Switches in Bezug auf Multicast-Pakete kann wie folgt zusammengefasst werden. Bei der Verarbeitung eines Pakets, dessen Ziel-MAC-Adresse eine Multicast-Adresse ist, leitet der Switch eine Kopie des Pakets an jede der verbleibenden Netzwerkschnittstellen weiter, die sich gemäß [BRIDGE] im Weiterleitungszustand befinden. Der Spanning-Tree-Algorithmus stellt sicher, dass die Anwendung dieser Regel auf jeden Switch im Netzwerk das Paket für alle mit dem Netzwerk verbundenen Knoten zugänglich macht.

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. Dieses Verhalten funktioniert gut für Broadcast-Pakete, die von allen verbundenen Knoten gesehen oder verarbeitet werden sollen. Bei Multicast-Paketen könnte dieser Ansatz jedoch zu einer weniger effizienten Nutzung der Netzwerkbandbreite führen, insbesondere wenn das Paket nur für eine kleine Anzahl von Knoten bestimmt ist. Pakete werden in Netzwerksegmente geflutet, in denen kein Knoten Interesse am Empfang des Pakets hat. Während Knoten selten einen Verarbeitungsaufwand für das Filtern von Paketen haben, die an nicht angeforderte Gruppenadressen gerichtet sind, können sie für den Zeitraum, in dem das Multicast-Paket geflutet wird, keine neuen Pakete auf das gemeinsame Medium übertragen. Im Allgemeinen kann durch Fluten erhebliche Bandbreite verschwendet werden.

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. In den letzten Jahren haben eine Reihe kommerzieller Anbieter Produkte auf den Markt gebracht, die als „IGMP-Snooping-Switches“ bezeichnet werden. Diese Geräte halten sich nicht an das konzeptionelle Modell, das die strikte Trennung der Funktionalität zwischen verschiedenen Kommunikationsschichten im ISO-Modell vorsieht, und nutzen stattdessen Informationen in den Protokoll-Headern der oberen Ebene als Faktoren, die bei der Verarbeitung auf den unteren Ebenen zu berücksichtigen sind. Dies ist analog zu der Art und Weise, wie ein Router als Firewall fungieren kann, indem er in den Header des Transportprotokolls schaut, bevor er die Weiterleitung eines Pakets an seine Zieladresse zulässt.

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. Im Falle von IP-Multicast-Verkehr bietet ein IGMP-Snooping-Switch den Vorteil, Bandbreite in den Segmenten des Netzwerks zu sparen, in denen kein Knoten Interesse am Empfang von Paketen bekundet hat, die an die Gruppenadresse gerichtet sind. Dies steht im Gegensatz zum normalen Switch-Verhalten, bei dem Multicast-Verkehr typischerweise auf allen Schnittstellen weitergeleitet wird.

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. Viele Switch-Datenblätter geben Unterstützung für IGMP-Snooping an, aber heute gibt es keine Empfehlungen dafür. Es ist die Hoffnung der Autoren, dass die in diesem Dokument präsentierten Informationen diese Grundlage liefern.

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. Die hier vorgestellten Empfehlungen basieren auf den folgenden Informationsquellen: Die IGMP-Spezifikationen [RFC1112], [RFC2236] und [IGMPv3], vom Hersteller bereitgestellte technische Dokumente [CISCO], Fehlerberichte [MSOFT], Diskussionen mit Personen, die am Design von IGMP-Snooping-Switches beteiligt sind, Diskussionen auf der MAGMA-Mailingliste und auf Antworten von Switch-Herstellern auf einen Implementierungsfragebogen.

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. Interoperabilitätsprobleme, die zwischen verschiedenen Versionen von IGMP auftreten, sind nicht der Schwerpunkt dieses Dokuments. Interessierte Leser werden für eine gründliche Beschreibung der Problembereiche auf [IGMPv3] verwiesen.

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. Die Vorschläge in diesem Dokument basieren auf IGMP, das nur für IPv4 gilt. Für IPv6 muss stattdessen Multicast Listener Discovery [MLD] verwendet werden. Da MLD auf IGMP basiert, wiederholen wir nicht die gesamte Beschreibung und die Empfehlungen für MLD-Snooping-Switches. Stattdessen weisen wir auf die wenigen Fälle hin, in denen es Unterschiede zu IGMP gibt.

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. Beachten Sie, dass die IGMP-Snooping-Funktion nur für IPv4-Multicasts gelten sollte. Andere Multicast-Pakete, wie z. B. IPv6, könnten durch IGMP-Snooping unterdrückt werden, wenn bei der Implementierung keine zusätzliche Sorgfalt walten gelassen wird, wie im Abschnitt Empfehlungen erwähnt.