跳到主要内容

2. IGMP Snooping 建议 (IGMP Snooping Recommendations)

以下章节描述 control 和 data packets 的 forwarding rules.

2.1. 转发规则 (Forwarding Rules)

switch 必须 snoop 所有 IGMP packets, 并为每个 port 维护 state table.

2.1.1. IGMP 成员关系报告 (IGMP Membership Reports)

  1. switch 必须将所有 IGMP Membership Reports 转发到所有被检测为 router ports 的 ports.
  2. switch 不应将 IGMP Membership Reports 转发到 non-router ports. 这可以防止其他 hosts 抑制自己的 reports (在 IGMPv1 和 IGMPv2 中).

2.1.2. IGMP 离开组 (IGMP Leave Group)

  1. switch 必须将 IGMP Leave Group messages 转发到所有 router ports.
  2. switch 应处理 Leave Group message, 以确定该 port 上是否还有该 group 的其他 members. 如果没有, 它应停止向该 port 转发该 group 的 multicast data.
  3. switch 应在其所有 non-router ports 上实现 membership timeout mechanism, 例如 IGMP and MLD specifications 中描述的 IGMP protocol 的 router-side functionality (IGMPv1-3 和 MLDv1-2 见 Normative Reference section). 该 timeout value 应可配置.

2.2. 数据转发规则 (Data Forwarding Rules)

  1. destination IP address 位于 224.0.0.X 之外且不是 IGMP 的 packets, 应根据 group-based port membership tables 转发.
  2. destination IP address 位于 224.0.0.X 范围内且不是 IGMP 的 packets, 必须在所有 ports 上转发.
  3. 基于 (G,S1,S2,...) 的 data forwarding tables 的实际实现不在本文档范围内. 不过, 一种可能做法是维护两个 (G,S) forwarding lists: 一个用于 INCLUDE filter, 其中必须匹配特定 (G,S) 才会发生转发; 另一个用于 EXCLUDE filter, 其中匹配特定 (G,S) 将导致不转发.