PIM Operating Mode

  • Dense PIM-DM
  • Sparse PIM-SM
  • Sparse Dense
  • Soure Specific Multicast (PIM-SSM)
  • Birectional Mode (Bidir-PIM)
  • PIM-DM 和 PIM-SM 统称为 Any-Source Multicast (ASM)

PIM Control Message

  • IP 协议,号码103
  • PIM 不同 Mode,支持不同的消息种类
  • Control Message 的组播地址是 224.0.0.13 ,所有开启了PIM的 Router
  • 除了Register 和 Resigter stop 是 Unicast 之外,其他消息类型都是组播(TTL=1)
  • Hello message 默认每隔30s 发送,在每个开启PIM的接口,用来发现邻居和选举DR
  • 所有的PIM Router 都必须记录从邻居收到的 Hello message

Reverse path Forwarding (RPF)

  • 用来防环的1种算法,确保在正确的接口上收到组播
  • 单播路由表中用来到达 sender 的接口,就会被认为是 RPF 接口
  • 数据包到达 RPF接口后,Router会把他转发到 OIL(Outing Interface List )
  • 到达非RPF接口的(组播)数据包,会被丢弃(只是接收方丢弃,不是发送方不发,发送方还是会发)
  • RPF 在 Source Tree 和 Shared Tree 中的检测机制有所不同
    • MROUTE 表中包含(S,G) 的 PIM,会将S 取出,在单播路由表中查询
    • (*,G) 的PIM,对RP 地址进行查询

PIM Dense Mode (PIM DM)

  • 每个子网中都存在需要接收数据的receiver
  • 反过来,只要配置了Dense Mode,即使Subnet 中没有了Receiver,也会被发送数据包

PIM DM Flood and Prune Operation

  • Prune 用来停止不需要的traffic
    • 将 non-RPF 接口从 tree 中裁剪掉,对上游接口发送通知
    • 没有Receiver的网络,对上游发送通知,将RPF 接口裁剪掉
  • Prune 默认会在3分钟后失效,3分钟过后,上游会重新开始 flood —— 导致网络不可能做得很大,只适用于小型,或者非生产网络