PIM-DM模式
以“pull”的方式进行传输数据
适合组网比较密集,规模较小,组成员较多的拓扑
具有邻居发现,扩散,剪枝,状态检测,嫁接,断言等机制
1. 邻居发现
通过发送hello包的方式发现邻居,30s发送一次,hello包以组播的方式发送(224.0.0.13),其中报文中优先级,IP地址用来选举DR(越大越好)
2. 扩散
当组播源出现后,组播报文会扩散到所有网段,并且通过反向单播路由表查询,rpf机制检查防止环路,经过的每一跳路由器都会有(S,G)的路由表
3. 剪枝
果最后一跳路由器发现下面没有组成员,就会向上游路由器发送prune的报文,将上游路由的下游接口进行剪枝,剪枝计时器=210s,意味着如果计时器超时,接口就会进入转发状态,如果下游还没有成员,那么就再进行剪枝
剪枝的报文和加入的报文从外面看是一样的,但是里面的option字段不同
4. 状态检测机制
第一跳路由器发送refresh报文,刷新计时器的状态,每60S发一次
如果接口被剪枝,那么就一直处于剪枝状态了
5. 嫁接
如果最后一条路由器下游接口收到了igmp的报告,最后一跳就会向上游发送graft报文,告诉他下游有成员出现,上游收到后会向最后一跳发送graft-ACK报文,告诉他已经收到了,下游接口处于转发状态
6. 断言
如果一个网段存在多个组播路由器,相同的报文可能会被重复发送,于是留下一个进行发送就可以了,其他的要进行断言,
通过比较路由到组播源的单播路由的优先级,优先级越好越优先,
如果相同,则比较cost,
再相同则比较下游的接口ip
配置命令:(配置比较简单)
pim dm-----在所有组播路由器接口下开启pim dm模式
注:最后一跳路由器需要在开启igmp 功能之前开启pim,否则会报错
查看命令:
dis pim routering-table :查看pim路由表
dis pim interface 接口 ver :查看接口详细信息
dis pim neighboor :查看pim邻居