跳到主要内容

5. Multicast Router 的协议描述

本节描述 MLDv2 中适用于 multicast router 的部分.

5.1. Querier 选举条件

链路上的 multicast router 必须选举一个单一 Querier 来周期性发送 General Query. 选举过程如下:

  1. 初始时, 每个 router 都以 Querier 身份开始.
  2. 如果某个 router 收到来自另一个具有更低 IP address 的 router 的 Query, 它会成为 Non-Querier.
  3. 如果 Non-Querier 在一段时间 (Other Querier Present Interval) 内未收到来自更低 IP address router 的 Query, 它会恢复 Querier 角色.

5.2. Querier 收到 Query 时的动作

当 Querier 收到 Query 时:

  • 如果 source IP address 低于自己的地址, 它停止作为 Querier.
  • 如果 source IP address 高于自己的地址, 它保持 Querier.
  • 如果 source IP address 等于自己的地址, 则忽略该 Query.

5.3. 发送 Query

Querier 周期性发送 General Query 以请求 membership information. 默认 [Query Interval] 为 125 秒.

当 Querier 收到表明 listener 正在离开 group 或阻止某个 source 的 State Change Report 时, 它还会发送 Group-Specific 或 Multicast-Address-and-Source-Specific Query. 这些 query 用于验证是否还有其他 listener 对该 group 或 source 感兴趣.

5.4. 收到 Report 时的动作

router 为每个连接链路维护状态, 跟踪受到关注的 multicast address 和 source. 当 router 收到 Report 时, 它更新该状态.

  • Current State Reports: 用于刷新现有 listener 的状态.
  • State Change Reports: 用于在 listener 的兴趣发生变化时立即更新状态.

基于该状态, router 决定是否向该链路转发特定 (S,G) 或 (*,G) 的 multicast packet.