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 —— 导致网络不可能做得很大,只适用于小型,或者非生产网络