跳到主要内容

4.3. Designated Routers (DRs) and Hello Messages (指定路由器和 Hello 消息)

PIM Hello 消息用于多个目的:

  • 发现 PIM 邻居
  • 协商功能选项
  • 选举指定路由器 (Designated Router, DR)
  • 维护邻居活跃性

4.3.1. Sending Hello Messages (发送 Hello 消息)

PIM 路由器在其每个启用 PIM 的接口上定期发送 Hello 消息.Hello 消息发送到链路本地所有 PIM 路由器组播地址 224.0.0.13.

Hello 消息内容:

  • Holdtime: 邻居应保持此路由器活跃的时间(秒)
  • DR Priority: 用于 DR 选举的优先级值(较大值优先)
  • Generation ID: 用于检测路由器重启的标识符
  • Address List: 接口的辅助地址列表(可选)
  • LAN Prune Delay: 配置的传播延迟和覆盖间隔(可选)

Hello 定时器:

  • 默认 Hello 间隔: 30 秒
  • 触发 Hello: 在接口启用时立即发送
  • Holdtime: 通常设置为 3.5 × Hello 间隔

4.3.2. DR Election (DR 选举)

在多路访问网络上, 必须选举一个指定路由器.DR 负责:

  • 代表直连主机发送 PIM Register 消息
  • 代表直连接收者发送 Join/Prune 消息

DR 选举规则:

  1. 具有最高 DR Priority 的路由器被选为 DR
  2. 如果多个路由器具有相同的最高优先级, 则选择具有最高 IP 地址的路由器
  3. 如果邻居不支持 DR Priority 选项, 则仅基于 IP 地址选举

DR 选举示例:

Router A: Priority = 100, IP = 10.1.1.1
Router B: Priority = 100, IP = 10.1.1.2
Router C: Priority = 50, IP = 10.1.1.3

选举结果: Router B (相同优先级, 更高 IP)

4.3.3. Reducing Prune Propagation Delay on LANs (减少 LAN 上的 Prune 传播延迟)

在多路访问 LAN 上, 多个下游路由器可能同时向上游路由器发送 Join 或 Prune 消息.为了避免不必要的流量中断, PIM 使用了 Prune 延迟机制.

LAN Prune Delay 选项包含:

  • Propagation_Delay: 估计的 LAN 传播延迟
  • Override_Interval: 允许其他路由器覆盖 Prune 的时间

当路由器在 LAN 上接收到 Prune 消息时, 如果它仍然需要该流量, 它会在 Override_Interval 内发送 Join 消息来覆盖 Prune.

4.3.4. Maintaining Secondary Address Lists (维护辅助地址列表)

路由器可以在其接口上配置多个 IP 地址.Hello 消息可以包含 Address List 选项来通告接口的辅助地址.这对于正确的 RPF 检查和邻居发现很重要.

备注

关于 Hello 消息的详细格式,选项编码和状态机, 请参阅 RFC 7761 第 4.3 节和第 4.9.2 节的完整规范.