跳到主要内容

6. 与 MLDv1 的互操作

MLDv2 host 和 router 可与尚未升级到 MLDv2 的 host 和 router 互操作. 这种兼容性通过 Querier 发送的周期性 Multicast Listener Query message, 以及较旧 host 发送的 MLDv1 Multicast Listener Report message 来维持.

6.1. MLDv2 Host 操作

MLDv2 host 的行为取决于网络上的 Querier 使用 MLDv2 还是 MLDv1.

  • 存在 MLDv1 Querier: 如果 MLDv2 host 收到 MLDv1 Query, 它必须用 MLDv1 Report 响应. 此模式不支持 source filtering.
  • 存在 MLDv2 Querier: 如果 MLDv2 host 收到 MLDv2 Query, 它用 MLDv2 Report 响应. 此模式支持 source filtering.

host 为每个 interface 维护一个 compatibility mode 变量. 如果收到 MLDv1 Query, host 切换到 MLDv1 compatibility mode 并设置 timer. 当 timer 过期时, host 切回 MLDv2 mode.

6.2. MLDv2 Router 操作

MLDv2 router 的行为取决于网络上是否存在较旧的 host 或 router.

6.2.1. 存在 MLDv1 Host

MLDv2 router 可能从较旧 host 收到 MLDv1 Report.

  • 收到 MLDv1 Report: router 的行为如同收到该 group 的 MLDv2 IS_EX({}) report. 这意味着该 group 处于 EXCLUDE mode, 且 source list 为空 (即对所有 source 感兴趣).

当存在 MLDv1 host 时, router 必须对受影响 group 抑制 MLDv2-specific processing (例如 source-specific query), 以确保兼容性.

6.2.2. 存在 MLDv1 Router

如果 MLDv2 router 位于存在 MLDv1 router 的网络上, Querier election process 会决定哪个 router 成为 Querier.

  • 如果 MLDv1 router 成为 Querier, 所有 router (包括 MLDv2 router) 都必须按 MLDv1 router 行为.
  • 如果 MLDv2 router 成为 Querier, 它发送 MLDv2 Query. 然而, 如果存在 MLDv1 host, 它必须配置为支持这些 host.