2. IGMP Snooping Recommendations
The following sections describe the forwarding rules for control and data packets. 以下のセクションでは、制御パケットとデータパケットの転送ルールについて説明します。
2.1. Forwarding Rules
The switch must snoop on all IGMP packets and maintain a state table for each port. スイッチはすべてのIGMPパケットをスヌーピングし、各ポートの状態テーブルを維持する必要があります。
2.1.1. IGMP Membership Reports
- The switch must forward all IGMP Membership Reports to all ports that are detected as router ports. スイッチは、すべてのIGMPメンバーシップレポートを、ルーターポートとして検出されたすべてのポートに転送する必要があります。
- 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). スイッチは、IGMPメンバーシップレポートを非ルーターポートに転送すべきではありません。これにより、他のホストが自身のレポートを抑制するのを防ぎます(IGMPv1およびIGMPv2において)。
2.1.2. IGMP Leave Group
- The switch must forward IGMP Leave Group messages to all router ports. スイッチは、IGMPグループ脱退メッセージをすべてのルーターポートに転送する必要があります。
- 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. スイッチはグループ脱退メッセージを処理して、そのポートにグループの他のメンバーがいるかどうかを判断する必要があります。いない場合、そのポートへのそのグループのマルチキャストデータの転送を停止する必要があります。
- 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. スイッチは、すべての非ルーターポートに、IGMPおよびMLD仕様(IGMPv1-3およびMLDv1-2の規範的参照セクションを参照)で説明されているIGMPプロトコルのルーター側機能などのメンバーシップタイムアウトメカニズムを実装する必要があります。このタイムアウト値は設定可能であるべきです。
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. 224.0.0.Xの範囲外の宛先IPアドレスを持ち、IGMPではないパケットは、グループベースのポートメンバーシップテーブルに従って転送されるべきです。
- Packets with a destination IP address in the 224.0.0.X range which are not IGMP must be forwarded on all ports. 224.0.0.Xの範囲内の宛先IPアドレスを持ち、IGMPではないパケットは、すべてのポートで転送されなければなりません。
- 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. (G,S1,S2,...) ベースのデータ転送テーブルの実用的な実装は、本書の範囲外です。ただし、1つの可能性として、2つの(G,S)転送リストを維持することが挙げられます。1つは、転送が行われる前に特定の(G,S)の一致が必要なINCLUDEフィルター用、もう1つは、特定の(G,S)の一致が転送なしという結果になるEXCLUDEフィルター用です。