跳到主要内容

4. Compatibility with IGMPv1 Routers (与 IGMPv1 路由器的兼容性)

4. 与 IGMPv1 路由器的兼容性 (Compatibility with IGMPv1 Routers)

IGMPv2 主机可能被放置在 Querier 路由器尚未升级到 IGMPv2 的子网上. 以下要求适用:

IGMPv1 路由器会发送 Max Response Time 设置为 0 的 General Query. 这 MUST 被解释为值 100 (10 秒).

IGMPv1 路由器期望收到 Version 1 Membership Report 作为对其 Query 的响应, 并且不会关注 Version 2 Membership Report. 因此, MUST 为每个接口保留一个状态变量, 描述该接口上的组播 Querier 正在运行 IGMPv1 还是 IGMPv2. 此变量 MUST 基于最近 [Version 1 Router Present Timeout] 秒内是否听到 IGMPv1 query, 并且 MUST NOT 基于最后听到的 Query 类型. 此状态变量 MUST 用于决定发送何种类型的 Membership Report, 包括 unsolicited Membership Report 以及响应 Query 的 Membership Report.

IGMPv2 主机 MAY 在 Querier 使用 IGMPv1 的网络上抑制 Leave Group 消息.

IGMPv2 路由器可能被放置在至少有一个路由器尚未升级到 IGMPv2 的子网上. 以下要求适用:

如果存在任何 IGMPv1 路由器, querier MUST 使用 IGMPv1. IGMPv1 的使用必须通过管理方式配置, 因为没有可靠方法可以动态确定网络上是否存在 IGMPv1 路由器. 实现 MAY 提供一种方式, 让系统管理员在其路由器上启用 IGMPv1; 在没有显式配置时, 配置 MUST 默认使用 IGMPv2. 在 IGMPv1 模式下, 路由器 MUST 发送 Max Response Time 为 0 的 Periodic Query, 并且 MUST 忽略 Leave Group 消息. 它们还 SHOULD 对收到 IGMPv2 query 发出警告, 但此类警告 MUST 受到速率限制.

如果路由器未显式配置为使用 IGMPv1 但听到 IGMPv1 Query, 它 SHOULD 记录警告. 这些警告 MUST 受到速率限制.