组播_PIM协议基本概念
PIM协议基本概念
PIM协议无关组播,用于组播路由器之间(路由器和主机之间也可以)
1.RPF检查:反向路径检测
作用是防环和形成组播路由表项
检查三个表项,单播路由表,组播静态路由表,组播BGP路由表
2.组播转发
组播静态路由表,手动指定的,是做RPF检查的,不能用于指导组播数据转发,优先级最高,命令为ip rpf-route-static XXXXX
最优的选举原则:
- 最长掩码匹配原则
- 优先级最高(可以手动更改),默认组播静态路由表是1,组播BGP路由器默认是20
- 华为是默认关闭最长掩码匹配原则,可以通过命令打开[Huawei]multicast longest-match
1.如果设备不存在组播转发表项,执行RPF检查,如果RPF检查成功,生成表项。组播数据按照表项转发。如果检查不成功得话,组播数据直接丢弃。
2.如果设备上存在组播转发表项,检查接收组播数据得接口是不是就是表项里面的接口,如果是,直接转发组播数据,如果不是的话,执行RPF检查
PIM协议
- 域内组播路由协议
- PIM协议不需要维护庞大的组播数据库。
- PIM监听的地址为224.0.0.13
1.PIM报文
Hello消息
- 建立和维护PIM邻居关系;
- 在IGMPv1中选举查询者
- Holdtime 多长时间没有收到hello(3.5倍的hello时间,105s),删除掉邻居,
- DR优先级默认为1,越大越优先;如果DR优先级一样,看接口IP地址;
- Lan delay:延迟报文,剪枝报文传输的时间0.5s
- override:否决剪枝
DM----dense mode 密集模式 (模式为推的PUSH)
上游接口–RPF接口
NI—没有接口状态;
P—pruned–剪枝状态(已经向上游接口发送剪枝报文)
F-forwarding–说明下游有接收者,组播报文从上游接口收到
Ackpending-AP置位,发送了嫁接报文,等待嫁接ACK回复。
下游接口置位:
NI—接口为正常的接口,也会转发组播数据。
P—接口已经被剪除,不在转发组播数据了,查表也不会有此接口了。
PP—prune pending----剪枝延迟,或称剪枝减缓计时器。。3S
PT计时器—剪枝计时器210S
剪枝机制:下游接口为空就是触发设备向上游发送剪枝报文的条件。
为什么会有周期性的扩散剪枝?
防止有人加组播,最长需要210S
**嫁接:**减少接收者加组的等待时间,主动的,如果有没有收到确认,3S,继续发,直到回复嫁接确认。
**状态刷新机制:**剪枝的接口维护PT计时器(210S),第一跳组播路由器DR,周期性发送SR报文(60S),刷新PT定时器,永远不会超时,不会从剪枝转为转发。
**剪枝否决:**一个接口收到下游发给自身的剪枝报文。如果只有一个邻居,收到剪枝立刻剪枝;如果有多个邻居就会触发剪枝否决机制,如果下游接口有直连的接收者,永远不会剪枝。
**断言机制:**assert,收到相同组播地址的接口需要断言,第一比较单播路由协议的优先级,第二就是比较到达组播源的开销。,第三比较ip地址,越大越优先。第三就是比较到达组播源的开销。
SM----稀疏模式
1.RP
所有组播数据都需要经过RP转发,汇聚点。
- 动态RP优于静态RP
- 静态RP–手动指定的,如果有多个RP的话选择IP地址最大的。(网络变化缺点就是不能及时更新)
动态RP
选举出来的,优点就是网络变化可以自动调整。(PIMv2次采用的是BSR自举机制)
C-BSR 候选BSR ,BSR选举机制靠优先级,越大越优先,默认为0,优先级一样的话根据IP地址选举。自己称为BSR后,周期性(130)发送bootstrp,不让其超时。C-RP 候选RP,增加可靠性。
如果收到更优的BSR报文后,计时器重置,开始转发更优的BSR报文,报文有包含RP和组的映射。
CRP选举规则:交互相互信息
- 根据组范围,相同的组,组范围小的优先
- C-RP优先级,数值越小越优先默认为0
- HASH,数值大的优先。默认是30(HASH用于负载分担)
- 如果以上都相同的话,比较C-RP地址,地址大的优先。
RP通告消息,默认60S通告一次